Имя: Пароль:
1C
 
Подписка на событие записи набора записей. От чего зависит последовательность?
0 totparen
 
23.12.15
08:01
Имеется документ, с движением по двум регистрам, запись движений при проведении ВЫБРАННЫЕ. В модуле проведения

    Движения.ОстаткиТоваров.Записывать = Истина;
    Движения.Продажи.Записывать = Истина;

Созданы две подписки на события "ПередЗаписью", для первого и второго регистра.

Вопрос - от чего зависит последовательность событий перед записью?
Если сперва идёт запись Регистр1, затем Регистр2, то как сделать запись регистра2, а потом регистр1?
1 Лефмихалыч
 
23.12.15
08:25
http://its.1c.ru/db/v837doc#bookmark:dev:TI000000213
При наступлении указанного события выполняется следующая последовательность действий:

? сначала отрабатывается событие в самом объекте и вызывается обработчик события, определенный в модуле объекта или набора записей;

? если в процессе выполнения обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается;

? затем в произвольном порядке вызываются внешние обработчики, назначенные для данного события;

? если в процессе выполнения назначенного обработчика параметр Отказ установлен в значение Истина или вызвано исключение, действие прерывается.

В качестве источника в назначенный обработчик передается сам объект (набор записей), вызвавший событие.
2 Лефмихалыч
 
23.12.15
08:29
ю-ху! Внезапно открыл для себя ДобавитьОбработчик и УдалитьОбработчик!
Оно оказывается таки добавляет обработчики событий и теперь наконец-то можно обрабатывать события всяких activeX-объектов!


msword = Новый COMОбъект("Word.Application");
ДобавитьОбработчик msword.DocumentChange, ПриИзмененииДокумента;
Процедура ПриИзмененииДокумента()
    Сообщить("Документ изменен");
КонецПроцедуры