trad писал(а) 23. Августа 2012 :: 11:27:мне одному кажется что состав этой таблички будет равен выборке из журнала с условием ismark=0 and closed=0 ?
Ну, не сказано же, что делают с записью таблицы после последующего повторного проведения?
И если после этого второй раз распроведут и не удалят.
varelchik писал(а) 23. Августа 2012 :: 10:28:Смысл следующий.
1.Если документ проведен и его Помечают на удаление то ни каких действий делать не надо.
2.Если документ проведен и делать только его распроведение надо выполнить определенные действия в системе (скажем записать в промежуточную таблицу информацию).
3.Если документ не проведен и его помечают на удаления то требуется удалить из промежуточной таблицы информацию если таковая имеется.
Если ПриУдалении() возникает раньше, чем ОбработкаОтменыПроведения() - то можно действовать так:
делаем глобальную переменную сзДокументыВОчередиУдаления ( = СоздатьОбъект("СписокЗначений")).
В ПриУдалении() добавляем в этот список ссылку.
В ОбработкаУдаленияПроведения() смотрим в этот СЗ. Если там есть ссылка на себя - значит ничего не делаем, удаляем из него ссылку на себя.
Если там ссылки на себя не было - значит пишем в табличку, что "это только отмена проведения".
Если же наоборот - то вообще не париться и всегда в ОбработкаУдаленияПроведения() писать в табличку "это отмена проведения".
В ПриУдалении() - вычищать из таблички.
Кстати, лично у меня есть дурная привычка распроводить документы методом "Del, Enter, Del".
Ты это тоже учитывай.