Есть более продвинутое решение, есть проверки, есть способы решения:
http://www.infostart.ru/public/58094/
Оригинал: http://www.infostart.ru/projects/392/
Исправил некоторые ошибки и небрежности:
- не работает процедура Очистить список сотрудников
- не задан тип для выбора документа "накопленная задолженность", если выбрать документ неверного типа, возникает ошибка исполнения
- позволяет выбрать документ "накопленная задолженность" за любой период, а допустимо только за текущий расчетный период. Если выбрать документ неверного периода, он не будет проводиться, соответственно не будет исправления, хотя в таблице все действия отразятся как верные. При это начальное сальдо будет скорректировано.
Ввел переключатель, позволяющий сначала просмотреть предполагаемые исправления, а уж потом принять решение об исправлениях.
Все исправления теперь выполняются документом "Исправление". Это позволяет, во-первых, легко увидеть все исправления уже после обработки, документы имеют комментарий "Создан обработкой исправления", и во-вторых, в случае необходимости отказаться от выполненных исправлений, сделав документы "Исправление"непроведенными или удалив их.
Сам способ исправления ошибок не бесспорный, прежде всего потому, что борется с последствиями, а не с причинами. Как справедливо заметил автор, причина в неправильных выплатах по периодам, а они остаются. Например, отчет "Структура задолженности предприятия" по-прежнему будет показывать долги. Но поставленную автором задачу обработка решает более или менее корректно, не делая резких движений. Чего, к сожалению, нельзя сказать о некоторых других обработках.
Ну и, разумеется, ошибки пользователей будут повторяться в будущем.
О том, как следует решать проблему более компклексно, я попытался рассказать в статье //infostart.ru/blogs/1279/.
Такого рода обработки, я уверен, должны строго соответствовать трем принципам:
1. Пользователь должен четко представлять себе все действия, совершаемые обработкой, еще до, а не после.
2. Все действия должны подробно протоколироваться.
3. Должна быть предусмотрена возможность отказаться от выполненных действий (архивирование не предлагать).
Если автор не будет развивать свою разработку, возможно, этим займусь я. Так что следите за обновлениями.