Имя: Пароль:
1C
1С v8
Как добавить процедуру в обработчик подписки на событие
0 askharlov
 
18.08.11
17:57
1. Создал процедуру в общем модуле (Экспорт ей указал)
2. В подписке на события не могу подключить ее как обработчик, ее нет в появляющейся форме выбора.

Где необходимо объявить эту процедуру, чтоб она стала доступна как обработчик подписки на события?
Заранее спасибо.
1 Живой Ископаемый
 
18.08.11
18:00
у модуля какие галки стоят?
2 Guk
 
18.08.11
18:02
(0)  наверное параметры процедуры не те...
3 Guk
 
18.08.11
18:03
+(2) параметров должно быть стандартные + 1...
4 askharlov
 
18.08.11
18:04
(1)  у модуля стоит одна галка "Клиент (обычное приложение)"
5 Живой Ископаемый
 
18.08.11
18:04
а событие какое?
6 askharlov
 
18.08.11
18:05
ОбработкаПроведения
7 Ахиллес
 
18.08.11
18:08
(3) В смысле? Что это за стандартные параметры + 1? По моему достаточно экспортной процедуру сделать.
8 Guk
 
18.08.11
18:10
(7) у процедуры, которая будет использоваться как обработчик подписки на событие, должны быть параметры стандартной процедуры обработки события + один параметр на ссылку на объект. кажется так в описании...
9 askharlov
 
18.08.11
18:11
Интересен тот момент, что если у одной и той же подписки поменять событие и открыть форму выбора обработчика то состав предложенных процедур меняется.

Делаю вывод что где-то еще прописываются процедуры под каждое событие. Вопрос гда?!
10 Живой Ископаемый
 
18.08.11
18:14
2(9) нет, нигде, просто сравнивается количество параметров
11 Живой Ископаемый
 
18.08.11
18:15
вот ради прикола нажми на кнопку не с тремя точками, а на кнопку с увеличительным стеклом и выбери потом cdqj модуль.. и потом почитай количество параметров в свой первой процедуре и той, которая создалась
12 Ахиллес
 
18.08.11
18:18
(8) Ссылка на объект это понятно... желательно нам знать с каким объектом мы работаем :-) А вот "параметры стандартной процедуры обработки события" это что за хрень? Как то так создавал и всё работает без всяких параметров. Колись давай.
13 Живой Ископаемый
 
18.08.11
18:20
2(12) например РежимЗаписи, РежимПроведения, Отказ... зависит от события... ты чего?
14 Guk
 
18.08.11
18:21
(12) коли описание языка, я то тут причем? ;) параметров должно быть на один больше, чем в стандартной процедуре события. сам в свое время с этим парился пока мануал не почитал...
15 Ахиллес
 
18.08.11
18:23
(14) Фигня какая то. У меня процедура только с Источник. И всё работает. Отказ, РежимЗаписи, РежимПроведения не обязательны по моему.
16 Живой Ископаемый
 
18.08.11
18:24
2(15) очисти поле, и нажми на кнопку с тремя точками - твоя процыдурка появится среди предложенных?
17 Ахиллес
 
18.08.11
18:32
Шайтан! Показывает только если не меньше 3 параметров в процедуре. Значит, я попутал что то.
18 Живой Ископаемый
 
18.08.11
18:34
но на самом деле если уберешь параметр, она все равно будет вызываться потом...
19 Necessitudo
 
18.08.11
18:58
Зачем ссылки-то? Подписка на событие вызывается из модуля обзекта документа - следовательно, в подписке должен быть и доступен контекст объекта)
20 Живой Ископаемый
 
18.08.11
18:59
2(19) "Подписка на событие вызывается из модуля обзекта документа" - кто сказал?
21 Necessitudo
 
18.08.11
19:07
(20) Про обзект - я) Про подписку - ну на самом деле предположение) Не могу просто сейчас в отладчике посмотреть.
22 Живой Ископаемый
 
18.08.11
19:09
"предположение" было лажовым.
23 Живой Ископаемый
 
18.08.11
19:10
не вызывается подписка ни из какого модуля. Оно вызывается движком.
24 Necessitudo
 
18.08.11
19:16
Ну зато теперь я знаю как оно работает. проффффффит)
25 Живой Ископаемый
 
18.08.11
19:17
я наврал.
26 Живой Ископаемый
 
18.08.11
19:17
а теперь знаешь?
27 askharlov
 
19.08.11
09:31
Guk, спасибо. Действительно написал:
Процедура ПриПроведенииДокументаПроверкаВремениНеПозднее_23_00_00(Источник, Отказ, ТретийПараметр =  Неопределено) Экспорт
и процедура появилась. ТретийПараметр задал только ради появления в списке.

Но остался еще один вопрос: если я прописываю процедуру-обработчик в стандартном модуле, то она появляется в форме выбора. А если в созданном мною модуле, то не появляется. Где это поправить?
28 askharlov
 
19.08.11
09:35
(27) Нашел. Поставил у своего модуля галки "Сервер", "Внешнее соединение" и "Вызов сервера" - появилась процедура
29 Живой Ископаемый
 
19.08.11
17:44
2(28) сразу же ж про галки спрашивал, ну...