При подготовке к аттестации, да и просто в типовых конфигурациях используется следующий код в обработчике перед записью:
Если (НЕ ПроводкиДокумента.Модифицированность()) И (НЕ ПроводкиДокумента.Выбран()) И (НЕ ЭтоНовыйДокумент) Тогда
ПроводкиДокумента.Прочитать();
КонецЕсли;
Он выполняется в случае изменения ПометкиУдаления.
Модифицированность якобы проверяем чтобы не затереть измененный набор, но каким образом набор может быть модифицирован при пометке на удаление? Зачем тогда это условие??
(2) там еще обработчики выполняются, не только этот, вдруг они модифицируют. Поэтому на всякий случай надо проверить.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший