1C - Единая накладная за месяц

Возьмем для примера некоторую фирму, занимающуюся торговлей ГСМ (горюче-смазочные материалы) в розницу. У фирмы имеется несколько заправок, на которых заправляются клиенты за наличный расчет (простые автомобилисты) и организации. Автомобили организаций заправляются по безналичным формам оплаты (талоны, карточки и т.д.). Данные по заправкам клиентов с АЗС поступают в офис ежедневно, где и хранятся. Первоначально вводились накладные по каждой заправке в разрезе всех видов оплаты. Наличные – клиент частное лица. Талоны, карточки и т.п. – по каждому клиенту отдельно. Соответственно для клиентов надо было готовить накладные и счета-фактуры за каждый день и по каждой АЗС. Бухгалтерия буквально взвыла от такого объема работы, даже при автоматическом создании реализаций и счетов-фактур. Для нас была сформулирована задача:
Необходимо формировать одну (или более) сводную накладную за месяц по каждому клиенту без деления на склады (АЗС) и с выбираемым периодом формирования, периоды не должны пересекаться, данные по остаткам товаров должны быть каждый день.
Для решения данной задачи было сделано следующее:
Для учета товарных остатков ГСМ, мы оставили документ реализация, то туда добавили признак ГСМ в шапку документа и перечисление «ВидТорговли» (Наличные, Талоны, Лимитно-заборные ведомости, Карты и Прочее), это перечисление необходимо для формирования отчетов по реализации ГСМ.
Изменили механизм проведения документов, для реализаций за наличный расчет механизм оставили прежним, а вот для остальных убрали все проводки и оставляли движения документа только по регистру «ОстаткиТМЦ»
В результате документы в 1С начали проводиться быстрее, и обеспечивался учет остатков товаров на складах.
Мы создали новый документ и назвали его «Сводная реализация». Для того чтобы данный документ мог агрегировать данные, поступающие с разных АЗС (Складов) и по разным видам торговли нам пришлось перенести часть данных находящихся в шапке документа «Реализация» в табличную часть документа. В итоге были перенесены в табличную часть склад и вид торговли (сразу оговорюсь, я описываю общую схему, а на самом деле помимо видов торговли у нас были задачи объединить реализации по видам – это обычные, агентские, подразделений с проводками через 79 счет и т.п.). В Шапку документа были добавлены два значения «НачДата» и «КонДата» определяющие интервал, за который будет формироваться накладная, интервалы по одному клиенту и договору, интервалы не могут пересекаться (механизм контроля интервала). Не составило труда написать процедуру по формированию такой сводной накладной автоматически из документов «Реализация» за месяц.
Самым трудным и ответственным моментом стало написание механизма проведения документа и привязка движений регистров к проводкам в обработке «НастройкаФормированияПроводок».
Вы можете сказать: «А зачем так сложно, почему не сделать документ без проводок, который будет объединять все данные, и формировать туже одну накладную, но только без всей этой писанины?»
Да мы прошли и по этому пути, но тогда в 1С при большом количестве документов время проведения документов в базе очень вырастает, если даже вы используете «Гибкие блокировки» или «Clear1C» с учетом того, что у Вас база на MS SQL. База на dbf просто сдыхает даже при использовании «Распределенной ИБ».
Конечно предложенный вариант решения не панацея, все таки задача была выполнена в 2006 году, но может натолкнуть Вас на более оригинальный путь решения проблемы. Я, глядя на сделанную работу, уже вижу ее недостатки:
Необходимо создавать новые документы по реализации, так как обновление базы становиться трудоемкой задачей.
Создать отдельно обработку настройки формирования проводок, только для «Сводной реализации», опять же из-за обновления.
Источник http://soft-art.ru
Отзывы и комментарии