Как ЗаписатьПроводки (ноу-хау)

Новая тема
"В документах создающих операцию из большого количества проводок,

например, ЗакрытиеМесяца,

могут возникнуть ошибки при выполнении команд:

Операция.ЗаписатьПроводки(); или

Операция.Записать();

Например, "Счет не может корреспондировать с пустым счетом (проводка NN)".

В таких случаях бухгалтера обычно зовут программиста-эникейщика и

начинают приставать со своими никчемными вопросами типа:

"Что это за проводка NN?".

Это не есть хорошо.

Чтобы избавиться от такого сщастья, предлагаю следующее ноу-хау.

Находим процедуру глПечатьОпераций(Конт)

копируем ее в модуль документа,

переименовываем, например, в ЗаписатьПроводки(Конт),

добавляем в окончание процедуры команды:

Операция.ЗаписатьПроводки();

Таб.Показать(,,-1);

В модуле документа все другие команды:

Операция.ЗаписатьПроводки();

заменяем на вызов процедуры

ЗаписатьПроводки(Контекст);

Ее же вставляем перед командой:

Операция.Записать();        

Если не лень можно убрать из процедуры лишние операторы,

например, передача контекста, в данном случае, есть излишество.

Если не страшно портить глобальный модуль,

можно просто модифицировав процедуру глПечатьОпераций(Конт),

вызывать ее вместо Операция.ЗаписатьПроводки();

(в этом случае, ИМХО, придется добавить еще один параметр с дефолтовым значением)

И будет вам счастие.

(небольшое мельтешение экрана при проведении документа действует уже на бухгалтеров, а не на Вас)

PS. IMHO, надо еще убрать проверку СуществуетОперация()"
К сожалению это способ скрыть проблемму, а не решить её :(
А как можно решить её :( ?
По нормальному, надо пропатчить бухгалтеров, чтоб умели разумно всё заносить. =:)

(Хотя у самого такая проблемма :)
ИМХО, надо, чтобы программа при ошибке выдавала не абстрактный номер проводки, а всю проводку (Дт,Кт,все субк.).
Читают тему
(гостей: 2)

Быстрый переход