УстановитьДействие в обработке (обычная форма) не работает
☑
0
Анцеранана
25.03.14
✎
13:26
Странно где-то туплю перед открытием формы обработки(не внешней) не отрабатывает этот метод почему-то.
Процедура _ПередОткрытием()
Если //тут написано условие// Тогда
Отказ = Истина;
Иначе
Отказ = Ложь;
КонецЕсли;
ПередОткрытием(Отказ,Истина);
КонецПроцедуры
_ПередОткрытием = Новый Действие("ПередОткрытием");
ЭтаФорма.УстановитьДействие("ПередОткрытием", _ПередОткрытием);
В _ПередОткрытием не попадает отладчик, что-то наверное не так делаю.
Хотя в ПередОткрытием попадает замечательно.
1
Maxus43
25.03.14
✎
13:28
нельзя переопределять предопределённые процедуры
2
zladenuw
25.03.14
✎
13:28
Примечание:
Процедура должна быть экспортируемой и располагаться в модуле формы, при этом количество параметров должно совпадать с необходимым количеством параметров события, инициирующего вызов действия.
3
zladenuw
25.03.14
✎
13:29
(1) почему
ДействиеПриЗакрытииФормы = Новый Действие("ПриЗакрытииФормы");
УстановитьДействие("ПриЗакрытии", ДействиеПриЗакрытииФормы);
4
Maxus43
25.03.14
✎
13:29
Процедура ПередОткрытием() //Нормальная процедура
Если //тут написано условие// Тогда
Отказ = Истина;
Иначе
Отказ = Ложь;
КонецЕсли;
_ПередОткрытием(Отказ,Истина); //непонятная процедура
КонецПроцедуры
5
Maxus43
25.03.14
✎
13:30
(3) может быть конечно... но всё равно это бред помоему, логика не в ту сторону
6
zladenuw
25.03.14
✎
13:31
(5) не спорю. потом кто то другой будет ломать голову. что за пляски с бубном :)
7
EugeniaK
25.03.14
✎
13:37
(0) Нужно
_ПередОткрытием = Новый Действие("_ПередОткрытием");
Смысл переопределять на саму себя
8
Анцеранана
25.03.14
✎
13:41
(2) (7) Спасибо. Отработало.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший