fbpx

1C – Єдина накладна за місяць

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