0
totparen
23.12.15
✎
08:01
|
Имеется документ, с движением по двум регистрам, запись движений при проведении ВЫБРАННЫЕ. В модуле проведения
Движения.ОстаткиТоваров.Записывать = Истина;
Движения.Продажи.Записывать = Истина;
Созданы две подписки на события "ПередЗаписью", для первого и второго регистра.
Вопрос - от чего зависит последовательность событий перед записью?
Если сперва идёт запись Регистр1, затем Регистр2, то как сделать запись регистра2, а потом регистр1?
|
|
1
Лефмихалыч
23.12.15
✎
08:25
|
При наступлении указанного события выполняется следующая последовательность действий:
? сначала отрабатывается событие в самом объекте и вызывается обработчик события, определенный в модуле объекта или набора записей;
? если в процессе выполнения обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается;
? затем в произвольном порядке вызываются внешние обработчики, назначенные для данного события;
? если в процессе выполнения назначенного обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается.
В качестве источника в назначенный обработчик передается сам объект (набор записей), вызвавший событие.
|
|
2
Лефмихалыч
23.12.15
✎
08:29
|
ю-ху! Внезапно открыл для себя ДобавитьОбработчик и УдалитьОбработчик!
Оно оказывается таки добавляет обработчики событий и теперь наконец-то можно обрабатывать события всяких activeX-объектов!
msword = Новый COMОбъект("Word.Application");
ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента;
Процедура ПриИзмененииДокумента()
Сообщить("Документ изменен");
КонецПроцедуры
|
|