Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна" (число прочтений - 2664 )
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
17. Августа 2009 :: 06:43
Печать  
Наблюдается некорректная работа метода "АктивизироватьОбъект" в предопределенной процедуре "ПриОктрытии" в случае, если определена предопределенная процедура "ПриИзменениееРазмераОкна".

Выкладываю тестовую конфигурацию. У справочника две формы списка, только поведение их разное в части обработки события "ПриОткрытии".

Вопрос к АЛьФ-у: возможно ли исправление данного поведения или это затруднительно и стоит поискать обходные пути.
(Артур в общем то уже сказал мне, что там есть некоторые грабли..)
  

Bug_6.rar ( 13 KB | Загрузки )
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #1 - 21. Августа 2009 :: 11:07
Печать  
судя по тому, что ответа нет, надо искать обходной путь...
  
Наверх
 
IP записан
 
Kolhoznik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 32
Зарегистрирован: 11. Февраля 2008
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #2 - 28. Июля 2011 :: 21:24
Печать  
Интересно, появилось ли решение этой проблемы?
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #3 - 29. Июля 2011 :: 05:00
Печать  
Хм.. тоже мне баг, наслаждайся:

Код
Выбрать все
//Процедура ПриОткрытии()
Процедура ПослеОткрытия() 

  
Наверх
 
IP записан
 
CaBaT
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 718
Местоположение: Санкт-Петербург
Зарегистрирован: 26. Октября 2007
Пол: Мужской
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #4 - 29. Июля 2011 :: 05:15
Печать  
Eprst писал(а) 29. Июля 2011 :: 05:00:
Хм.. тоже мне баг, наслаждайся:

Скачал (а то уже и  не помню, где оно у меня лежит  Круглые глаза), посмотрел - баг то все таки есть Улыбка
Понятно, что можно обойти, но когда меняется поведение кода при изменении в другом месте, особенно когда не сразу это замечаешь  - это неприятно..
  
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #5 - 29. Июля 2011 :: 05:21
Печать  
turbomd спасёт в таких случаях..для правки мелких недоразумений.
  
Наверх
 
IP записан
 
Kolhoznik
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 32
Зарегистрирован: 11. Февраля 2008
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #6 - 29. Июля 2011 :: 06:30
Печать  
Eprst писал(а) 29. Июля 2011 :: 05:00:
Хм.. тоже мне баг, наслаждайся:
Код
Выбрать все
//Процедура ПриОткрытии()
Процедура ПослеОткрытия() 



Это горю не поможет. Ситуация следующая:
в форме списка справочника, в ПриОткрытии() делаю (упрощенно) АктивизироватьОбъект(ВосстановитьЗначение(Вид());
Соответственно, в ПриЗакрытии(), СохранитьЗначение(Вид(), ТекущийЭлемент());
Эта штука упрощает жизнь пользователям, восстанавливая курсор в той же позиции, где он был при закрытии формы.

Решил переписать этот код на Перехватчик. И возникла проблема с subj.
Просто так заменить на ПослеОткрытия здесь нельзя, т.к. при вызове формы справочника в момент выбора значения реквизита, курсор будет прыгать на сохраненное значение, а не на текущее значение реквизита.

Обходными путями удалось решить эту проблему.
Вкратце, в ПриОткрытии проверяем ТекущийЭлемент() - если он не пустой, значит форма открыта для выбора из заполненного реквизита и ничего не делаем. Если ТекущийЭлемент() пустой, устанавливаем флаг того что можно ВосстановитьЗначение и делаем АктивизироватьОбъект в ПослеСозданияФормы().

Если кому нужен код - см. вложение.
  

_____________________________________.txt ( 2 KB | Загрузки )
Наверх
 
IP записан
 
Eprst
God Member
*****
Отсутствует



Сообщений: 3397
Зарегистрирован: 08. Октября 2007
Re: конфликт "ПриОткрытии" и "ПриИзмененииРазмераОкна"
Ответ #7 - 29. Июля 2011 :: 09:13
Печать  
Ошибаешься, для выложенного автором выше примера это работает железобетонно.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать