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