artbear писал(а) 17. Февраля 2011 :: 09:35:Используй асинхронный вызов нужного тебе кода, например. через посылку внешнего события или через Таймер (ФормЕкс).
Т.е. если рез = 0, то посылаешь событие с минимальным таймаутом и твой обработчик вызовется уже после отмены проведения.
ЗЫ На всякий случай проверь работу таймаута при групповом перепроведении документов.
Ухххх, блин - тогда при Рез = 0 надо будет сначала выдрать инсертнутые данные, а потом (вместо апдейта) целиком инсертнуть подготовленную строку.
На самом деле, есть еще вариант выполнять запросы отдельным соединением, а таблицу хранить в соседней базе.
Учитывая наличие "заботливо" прикрученного прошлым программистом ТойСКЛ - наверное, даже особо извращаться не придется.
Правда, кажется, в монопольном режиме Той использует родное соединение - но монопольный режим используется крайне-крайне-крайне редко (т.е. практически никогда).
Цитата:Можно через Информатор проверить, если ли реквизит Форма у Контекста. в этом случае блок Попытка не нужен.
ЗЫ а вообще, конечно, лучше классы по целям разделять, т.е. не должен один класс/один объект обрабатывать перехват как событий формы, так и событий проведения или ГМ

Про это ты уже в курсе.
Про информатор не догадался, ага.
А про классы - знаю, да. Там надо хорошенько сесть и продумать структуру классов.
Ибо а) должен быть управляющий класс, который создается как в форме, так и в модуле (в которм всякие алгоритмы проверок заполнения, ввода на основании и ты ды) и в виде
оДок = СоздатьОбъект("ТДокумент.<вид>");
оДок.НазначитьКонтекст(СоздатьОбъект("Документ.<Вид>"));
который наследует от общего ТДокумент; и б) должен быть класс-перехватчик, который на штатные события (ВводНового(), ВводНаОсновании(), ПриЗаписи()) вызывал бы соответствующие методы управляющего класса. Ну и при этом количество копипастного кода должно быть минимальным.
В целом, оно примерно понятно, как все должно быть. Но в тот момент, когда это писалось, с перехватчиком только начал разбираться... в общем - получилось так, как получилось. Ркуи дойдут - сделаю большой рефакторинг структуры классов.
PS с этой багой еще не разбирался?
http://www.1cpp.ru/bugs/show_bug.cgi?id=4524