Имя: Пароль:
1C
 
Действие - вызов процедуры общего модуля
0 serg_k
 
30.09.10
09:14
Общие интерфейсные объекты, Действие:
Описание:
Предназначен для получения действия, которое можно назначить в качестве обработчика события элемента управления или команды пользовательского интерфейса.
Для обработки события может быть вызвана процедура или функция модуля формы, МОДУЛЯ ПРИЛОЖЕНИЯ ИЛИ ОБЩЕГО МОДУЛЯ, имя которой задано в конструкторе.
Недоступен на сервере 1С:Предприятие. Не используется в модуле внешнего соединения. Сериализуется.
// В модуле описана процедура Сформировать(), выполнение которой
// назначим кнопке "Сформировать" в качестве действия при нажатии
ОбработкаНажатия = Новый Действие("Сформировать");
.............

С модулем формы все понятно, а как вызвать процедуру Общего модуля? Через точку не работает, а как по другому - не пойму...
1 Megas
 
30.09.10
09:16
(0) Работает.
МойМодуль.МояПроцедура();

Только не забудь что в "МойМодуль" процедура должна быть "Экспортная"
2 Ненавижу 1С
 
гуру
30.09.10
09:17
странно, у меня так написано:


Для обработки события может быть вызвана процедура или функция модуля формы или модуля приложения, имя которой задано в конструкторе.
3 serg_k
 
30.09.10
09:30
(2) да, точно, описало видно у меня старое...
(1) не понял, как это применить к описаной проблеме???
4 Сергей Д
 
30.09.10
09:31
А параметры этой процедуры у вас правильно описаны? Как нужно для этого обработчика?
5 Megas
 
30.09.10
09:32
(3) Да я читать  не умею не обращай внимания ...
6 serg_k
 
30.09.10
09:41
(4) не понял вопроса? какие параметры какой процедуры? я хочу кнопке на форме программно задать исполнение процедуры не формы этого модуля - например модуля приложения
7 hhhh
 
30.09.10
09:51
(6) а если просто имя процедуры задать - не оно?
8 Defender aka LINN
 
30.09.10
09:58
(6) Параметры какой-нибудь другой процедуры. Не той, что вызывается, понятное дело.
9 Рэйв
 
30.09.10
10:07
(0)Можно обернуть.
В контексте текущего модуля:

Процедура МоёПроцедуро()
 ОбщийМодульТакойТо.ПроцедуравотЭта();
КонецПроцедуры

+
ОбработкаНажатия = Новый Действие("МоёПроцедуро");
10 serg_k
 
30.09.10
10:18
(7) не оно....
(8) да так то не вопрос, но хотелось чтоб меньше писать, тем более такая возможность прописана в справке, но похоже она не работает...
11 serg_k
 
30.09.10
15:13
таки не работает.... надо синтакс-помощник менять
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.