Как ЗаписатьПроводки (ноу-хау)
25.04.2003
05:24
#1
"В документах создающих операцию из большого количества проводок,
например, ЗакрытиеМесяца,
могут возникнуть ошибки при выполнении команд:
Операция.ЗаписатьПроводки(); или
Операция.Записать();
Например, "Счет не может корреспондировать с пустым счетом (проводка NN)".
В таких случаях бухгалтера обычно зовут программиста-эникейщика и
начинают приставать со своими никчемными вопросами типа:
"Что это за проводка NN?".
Это не есть хорошо.
Чтобы избавиться от такого сщастья, предлагаю следующее ноу-хау.
Находим процедуру глПечатьОпераций(Конт)
копируем ее в модуль документа,
переименовываем, например, в ЗаписатьПроводки(Конт),
добавляем в окончание процедуры команды:
Операция.ЗаписатьПроводки();
Таб.Показать(,,-1);
В модуле документа все другие команды:
Операция.ЗаписатьПроводки();
заменяем на вызов процедуры
ЗаписатьПроводки(Контекст);
Ее же вставляем перед командой:
Операция.Записать();
Если не лень можно убрать из процедуры лишние операторы,
например, передача контекста, в данном случае, есть излишество.
Если не страшно портить глобальный модуль,
можно просто модифицировав процедуру глПечатьОпераций(Конт),
вызывать ее вместо Операция.ЗаписатьПроводки();
(в этом случае, ИМХО, придется добавить еще один параметр с дефолтовым значением)
И будет вам счастие.
(небольшое мельтешение экрана при проведении документа действует уже на бухгалтеров, а не на Вас)
PS. IMHO, надо еще убрать проверку СуществуетОперация()"
например, ЗакрытиеМесяца,
могут возникнуть ошибки при выполнении команд:
Операция.ЗаписатьПроводки(); или
Операция.Записать();
Например, "Счет не может корреспондировать с пустым счетом (проводка NN)".
В таких случаях бухгалтера обычно зовут программиста-эникейщика и
начинают приставать со своими никчемными вопросами типа:
"Что это за проводка NN?".
Это не есть хорошо.
Чтобы избавиться от такого сщастья, предлагаю следующее ноу-хау.
Находим процедуру глПечатьОпераций(Конт)
копируем ее в модуль документа,
переименовываем, например, в ЗаписатьПроводки(Конт),
добавляем в окончание процедуры команды:
Операция.ЗаписатьПроводки();
Таб.Показать(,,-1);
В модуле документа все другие команды:
Операция.ЗаписатьПроводки();
заменяем на вызов процедуры
ЗаписатьПроводки(Контекст);
Ее же вставляем перед командой:
Операция.Записать();
Если не лень можно убрать из процедуры лишние операторы,
например, передача контекста, в данном случае, есть излишество.
Если не страшно портить глобальный модуль,
можно просто модифицировав процедуру глПечатьОпераций(Конт),
вызывать ее вместо Операция.ЗаписатьПроводки();
(в этом случае, ИМХО, придется добавить еще один параметр с дефолтовым значением)
И будет вам счастие.
(небольшое мельтешение экрана при проведении документа действует уже на бухгалтеров, а не на Вас)
PS. IMHO, надо еще убрать проверку СуществуетОперация()"
Читают тему
(гостей: 2)