![]() |
#8 |
Участник
|
Цитата:
Сообщение от tyrex
Пока есть такие идеи:
1) лезем в 12 кодюнит, заводим там временную таблицу, в которую скидываем проводки, в триггере FinishCodeunit пишем ERROR('') для отката транзакций. Перед еррором выводим форму с будущими проводками - недостаток: если в таблицу 17 у нас попадут записи не из 12 кодюнита, а из какого-нибудь друго, то этих проводок мы не отследим Только получившиеся проводки копируются, транзакция откатывается, форма показывается. Минусы - вероятность блокировок возрастает. Цитата:
Сообщение от tyrex
2) лезем в 17 таблицу, вешаем на триггер OnInsert заполнение своей собственной таблицы (дублера таблицы 17). в кодюните 12 заменяем INSERT на INSERT(TRUE). В триггер FinishCodeunit добавляем ERROR('').
Перед еррором выводим форму с будущими проводками. - недостаток: после того как сработает еррор, транзакция откатится и соотственно наша собственная таблица тоже подчистится Где-то в глубинах Навижина может быть создание проводок на основании текущей в этой или в других таблицах. Например, создание проводки округления возможно только после создание всех проводок с данным номером документа. Поэтому вариант 2 не годится в общем случае. |
|