Многие пользователи и начинающие специалисты при работе в конфигурации 1С:Управление торговлей 10.3 сталкиваются с ситуацией, которая на первый взгляд кажется логической ошибкой программы. Выглядит она следующим образом: мы берем объем закупок за период, вычитаем из него объем продаж и ожидаем увидеть остаток на складе. Однако цифры в отчетах упорно не желают подчиняться простой арифметике.
Например, мы закупили 100 единиц товара, продали 30 единиц. Логика подсказывает, что на складе должно остаться 70 единиц. Но отчет Ведомость по товарам на складах показывает нам всего 20. Куда делись еще 50 штук? В этой статье мы подробно разберем, почему формула "Закупки - Продажи = Остаток" практически никогда не работает в 1С и как правильно найти «потерянный» товар.
Первое, что нам необходимо усвоить: регистры Закупки и Продажи — это регистры оборотов. Они хранят информацию о событиях (фактах купли-продажи), но не знают ничего о том, сколько товара лежит на полке в данный момент. Регистр Товары на складах — это регистр остатков. Это принципиально разные таблицы в базе данных.
Проанализируем ситуацию: регистр накопления Закупки фиксирует стоимость и количество товара, который мы приобрели у внешнего поставщика. Регистр Продажи фиксирует выручку, количество и себестоимость товара, реализованного покупателю. Но складской учет гораздо шире, чем просто торговля.
Выясним причину, почему складской остаток может уменьшаться или увеличиваться без участия торговых регистров. Существует целый пласт документов, которые делают движения по регистру Товары на складах, но не делают записей в Закупки или Продажи:
Списание товаров уменьшает физический остаток (порча, брак, инвентаризационная недостача). В продажи этот товар не попадает, так как реализации не было. Это и есть одна из самых частых причин «пропажи» товара из формулы.Рассмотрим подробнее, как 1С:УТ 10.3 обрабатывает возвраты. В этой конфигурации возврат от покупателя фиксируется в регистре Продажи как отрицательный приход (сторно).
Представьте: вы продали 10 штук и получили возврат 2 штук. В оборотах по продажам будет значиться "8". На склад при этом вернулось 2 штуки. Если ваша формула не учитывает знаки внутри регистров, вы получите ошибку в расчетах. Аналогично работают возвраты поставщикам в регистре Закупки.
Проанализируем ситуацию, когда включена ордерная схема. В УТ 10.3 складской и финансовый учет могут быть разделены во времени. Рассмотрим шаги:
Поступление товаров и услуг. В этот момент в регистр Закупки попадает «+100». Однако на складе товара все еще 0.Приходный ордер на товары. Только в этот момент в регистре Товары на складах появляется «+100».Если между этими событиями прошел день или неделя (или один из документов забыли провести), ваши отчеты по закупкам и остаткам никогда не сойдутся.
Вместо того чтобы пытаться вычитать одни отчеты из других, воспользуемся проверенным методом диагностики «от документа».
Перейдем в отчет Ведомость по товарам на складах. Настроим его следующим образом:
Теперь мы увидим каждый документ, который влиял на остаток. Прокрутив список, мы быстро обнаружим документы типа Списание товаров или Требование-накладная, которые уменьшили склад, но не являются продажами.
В УТ 10.3 параллельно со складским учетом идет партионный учет. Иногда товар на складе есть (в регистре Товары на складах), но он не списывается при продаже, так как закончились партии в регистре Партии товаров на складах. Это происходит, если в настройках разрешено «Списание при отсутствии партий».
Посмотрим на пример логической проверки через Универсальный отчет по регистру накопления ПартииТоваровНаСкладах. Если остатки там не соответствуют остаткам в ТоварыНаСкладах, значит, была нарушена последовательность проведения документов или использовались ручные корректировки.
Выясним, не является ли склад розничным. В УТ 10.3 для розницы существует отдельный регистр Товары в рознице. Если товар был перемещен со склада (оптового) в торговый зал (розничный), он пропадет из регистра Товары на складах и «переедет» в другой регистр. В отчете без объединения этих данных вы увидите недостачу.
Никогда не сравнивайте обороты разных по смыслу регистров. Если вам нужно понять, почему остаток именно такой:
Если после анализа всех документов расхождение остается и выглядит как техническая ошибка (например, сумма строк не равна итогу), выполните процедуру Пересчет итогов в конфигураторе или через обработку Управление итогами. В старых базах УТ 10.3 итоги иногда могут «разъезжаться» из-за сбоев питания или некорректного завершения работы сервера.