Имя: Пароль:
1C
1С v8
УстановитьДействие в обработке (обычная форма) не работает
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) Спасибо. Отработало.