Інвентаризація в магазині чи на складі — це процес порівняння фактичної наявності товару з даними в комп'ютерному обліку для виявлення та усунення розбіжностей. Завершальним режимом є закриття відомості інвентаризації, під час якого програма фіксує результати підрахунку, розраховує фінансові підсумки та приводить залишки у програмі до відповідності з фактичними залишками.
Підприємці найчастіше ставлять такі питання: чому сума нестачі у відомості відрізняється від суми в акті списання або взагалі дорівнює нулю; що означає статус відомості «Необхідно перерахувати суми»; чому закриття відомості триває годинами, призводячи до блокування роботи програми; та як діяти, якщо під час закриття виникають системні помилки бази даних.
Автоматичні складські документи та розрахунок собівартості
Після підрахунку фактичної кількості товару відомість інвентаризації необхідно закрити. У цей момент програма Торгсофт автоматично створює документ приходу для товарів, за якими зафіксовано надлишок, та документ списання для товарів, за якими зафіксовано нестачу. Кількість товару на складі автоматично коригується.
У прибутковій накладній від інвентаризації ціна на товар проставляється як остання собівартість закупівлі, що складається з ціни закупівлі та додаткової вартості товару. Підприємці іноді помічають, що сума в створеному документі списання не збігається з сумою у звіті про нестачу товару у відомості. Це абсолютно нормальна логіка роботи: у звіті відомості інвентаризації використовується собівартість за поточним станом складу, тоді як у документі списання фіксується реальна собівартість товару за принципом FIFO (перший прийшов — перший пішов).
Формування сум нестачі, надлишку та пересортиці
Поширене питання від користувачів — чому в підсумках відомості сума нестачі відображається як нуль, хоча фактично акти списання за товарами були сформовані.
Це відбувається через механізм заліку пересортиці. Програма визначає пересортицю як одночасний надлишок і нестачу однієї моделі товару, але різного сорту, кольору чи розміру. Торгсофт автоматично проводить взаємний залік таких надлишків і нестач. Сума нестачі розраховується за формулою: сума всіх списань мінус сума пересортиці. Відповідно, сума нестачі стає позитивною лише в тому випадку, коли сума за списаннями перевищує суму за приходами. Якщо отримане в результаті розрахунку число менше нуля, то сума нестачі в інвентаризації встановлюється рівною нулю.
Вузький технічний випадок: статус «Необхідно перерахувати суми»
Окремої уваги потребує ситуація, коли процес закриття відомості інвентаризації з певних причин переривається. Під час закриття відомості система виконує складні обчислення, зокрема перерахунок собівартості товарів акту ліквідації.
Якщо користувач скасує цей процес, закриє програму через диспетчер завдань, або відбудеться аварійне завершення роботи, відомість інвентаризації набуде статусу «Необхідно перерахувати суми». У колонці «Номер» таблиці відомостей з'явиться відповідна іконка, а в панелі станів користувачу буде виведено інформаційне повідомлення про те, що процес був перерваний.
Ігнорувати цей статус не бажано, оскільки це безпосередньо впливає на фінансову аналітику бізнесу. Наслідки перерваного розрахунку:
-
Прибуток за період може розраховуватися некоректно і бути завищеним.
-
Автоматично створене списання від інвентаризації на формі «Аналіз - Період» буде розпізнаватися системою як звичайне ручне списання, що спотворить розшифровку формули розрахунку товарного прибутку.
Щоб виправити цю ситуацію, необхідно обрати таку відомість і натиснути на панелі кнопку «Перерахувати суми». Після успішного перерахунку програма змінить статус документа, і попереджувальна іконка зникне. Для оптимізації цього процесу існує додатковий механізм захисту: якщо розрахунок підсумків інвентаризації був перерваний, програма автоматично розрахує ці підсумки під час наступного нічного (або ручного) розрахунку собівартості за всіма товарами бази даних.

Оптимізація тривалого закриття відомості інвентаризації
Іноді підприємці стикаються з тим, що відомість інвентаризації закривається занадто довго (від кількох хвилин до багатьох годин), що призводить до блокування таблиць бази даних та зупинки роботи касирів у всій торговій мережі. Основний час закриття витрачається на отримання останніх закупівельних цін та розрахунок собівартості.
Щоб пришвидшити закриття відомості, застосовуються такі інструменти оптимізації:
-
Реорганізація індексів та статистик. Перед закриттям великих відомостей критично важливо виконати дію «Відновити та реорганізувати індекси та оновити статистики» (в меню Файл або Налаштування - Параметри - Сервіс).
-
Зняття навантаження в робочий час. Розробники оптимізували процес так, що за замовчуванням під час закриття відомості інвентаризації більше не виконується повний розрахунок собівартості акту ліквідації. Ці підсумки будуть розраховані пізніше. Рекомендується налаштувати автоматичний розрахунок собівартості вночі через «Завдання за розкладом», щоб не перевантажувати систему вдень.
-
Оптимізація алгоритмів. У новіших версіях програми Торгсофт отримання закупівельних цін оптимізовано: ціни тепер запитуються не для всіх товарів у відомості, а лише для тих, за якими буде сформована прибуткова накладна (де фактична кількість виявилася більшою за облікову). Також у момент отримання цін прибрано повне блокування таблиць товарів, що дозволяє іншим користувачам продовжувати роботу.
Системні помилки під час закриття
Інколи закриття відомості переривається повідомленням про помилку SQL Server. Дві найчастіші причини:
-
Помилка перетворення типу даних (Arithmetic overflow error converting expression to data type int). Виникає, якщо в минулих періодах у складських документах (прибуткових накладних тощо) користувач випадково відсканував штрихкод товару в поле «Кількість». Програма намагається списати або опрацювати мільярдні значення кількості, що викликає збій. Вирішення: за допомогою технічної підтримки знайти документ з аномальною кількістю та виправити його.
-
Помилка ділення на нуль (Divide by zero error encountered). Виникає під час закриття відомості, якщо в налаштуваннях встановлено розрахунок останньої закупівельної ціни за центрами обліку, а в історії руху товарів присутні прибуткові накладні початкових залишків із від'ємною кількістю, які потім були виведені в нуль. Вирішення полягає у тимчасовому виведенні такої проблемної прибуткової накладної з дії на час закриття відомості.
Порівняльна таблиця: типові ситуації, логіка системи та рішення під час закриття інвентаризації
|
Ситуація (Запит підприємця) |
Причина (Логіка Торгсофт) |
Рішення та наслідки |
|
Сума в акті списання не збігається зі звітом про нестачу |
У звіті відомості використовується собівартість за поточним станом складу, а в акті списання фіксується реальна собівартість за принципом FIFO. |
Це штатна логіка роботи програми. Розбіжність є фінансово обґрунтованою, додаткових виправлень не потрібно. |
|
Сума нестачі дорівнює нулю, хоча акти списання сформовані |
Спрацював автоматичний залік пересортиці. Програма провела взаємозалік надлишків і нестач, і сума за приходами перекрила суму за списаннями. |
Нормальна робота механізму заліку. Нестача встановлюється рівною нулю, оскільки вона фінансово перекрита знайденим надлишком. |
|
Поява статусу «Необхідно перерахувати суми» |
Процес закриття відомості (розрахунок підсумків та собівартості) був примусово перерваний користувачем або стався збій системи. |
Наслідок: спотворення фінансової аналітики та завищений прибуток. Рішення: виділити відомість і натиснути «Перерахувати суми» вручну, або дочекатися автоматичного нічного розрахунку собівартості. |
|
Відомість закривається годинами, блокується робота кас |
Неактуальні індекси та статистики бази даних. Також причиною може бути виконання повного розрахунку собівартості в робочий час при великому обсязі даних. |
Рішення: регулярно виконувати сервісну дію «Відновити та реорганізувати індекси та оновити статистики». Налаштувати розрахунок собівартості на нічний час через «Завдання за розкладом». |
|
Помилка бази даних: Arithmetic overflow error converting... |
У попередніх документах (наприклад, прибуткових накладних) користувач випадково відсканував штрихкод товару безпосередньо в поле «Кількість». |
Рішення: звернутися до технічної підтримки для пошуку складського документа з аномальними (мільярдними) значеннями кількості та виправити його або знайти його самостійно за рухом товару та виправити в ньому кількість. |
|
Помилка бази даних: Divide by zero error encountered |
Налаштовано розрахунок останньої закупівельної ціни за центрами обліку, а в історії є прибуткові накладні початкових залишків із від'ємною кількістю, виведені в нуль. |
Рішення: тимчасово вивести проблемну прибуткову накладну з від'ємною кількістю з дії на час закриття відомості інвентаризації. |









Повернутися до попереднього кроку