Почему 1С подставляет серию товара в документ реализации, если её остаток на складе равен нулю?

Бухгалтер 1С v8.3 (Обычные формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Ситуация, когда программа автоматически выбирает серию номенклатуры (например, номер ГТД или срок годности), которой по логике вещей уже нет на складе, является распространенной проблемой в конфигурации Управление торговлей, редакция 10.3. Для бухгалтера или оператора это выглядит как ошибка: «Остаток ноль, почему программа тянет эту серию?». Однако с точки зрения внутренней логики 1С, причины такого поведения часто кроются в настройках учета или скрытых движениях по регистрам.

В этом материале мы подробно разберем, как устроен механизм подбора серий, чем серия отличается от партии, и какие шаги необходимо предпринять для диагностики и исправления этой ситуации.

Различие понятий: Серия и Партия

Первое, что нам необходимо уяснить для решения проблемы — это фундаментальное различие между понятиями «Серия» и «Партия» в управленческом учете 1С.

Часто пользователи считают эти понятия синонимами, особенно если серия используется для учета ГТД (Грузовой Таможенной Декларации). Давайте проанализируем, как это видит система:

  1. Серия номенклатуры — это характеристика товара, которая может обозначать срок годности, серийный номер или номер ГТД. Это аналитический разрез, который может учитываться на складах.
  2. Партия товаров — это документ поступления (документ, образовавший себестоимость), который формирует запись в регистре партий для расчета списания (например, по методу ФИФО или ЛИФО).

Важный нюанс заключается в настройках учета. Если мы откроем Настройка параметров учета, мы увидим два разных флага:

Если у вас включен только складской учет по сериям, но отключен партионный учет по сериям, возникает ситуация, когда:

В регистре ТоварыНаСкладах (количественный учет) остаток по серии может быть, но в регистре ПартииТоваровНаСкладах (стоимостной учет) привязки к серии может не быть или она будет иной. При проведении документа программа может подставить серию, основываясь на справочных данных, но не сможет списать себестоимость, так как не найдет соответствующую партию.

Проблема «Грязных» остатков (Плюс и Минус)

Одной из самых частых причин, почему программа видит серию при «нулевом» остатке, является наличие развернутого сальдо в регистрах накопления. Давайте рассмотрим это подробнее.

В отчетах (например, «Ведомость по товарам на складах») мы обычно видим свернутый остаток. Если пришло 5 штук товара с серией «А» и ушло 5 штук товара с серией «А», остаток равен 0. Все верно.

Однако в регистре накопления ПартииТоваровНаСкладах (или ТоварыНаСкладах) записи могут «разъехаться» по измерениям. Например:

Математически: +1 + (-1) = 0. В отчете вы увидите ноль. Но физически в базе данных существуют записи, ссылающиеся на эту серию. Алгоритм автоподбора 1С может наткнуться на положительную запись и попытаться использовать её, игнорируя тот факт, что она компенсируется отрицательной записью в другом разрезе аналитики.

Чтобы проверить это, нам нужно использовать Универсальный отчет (или отчет «Остатки и обороты») по регистру накопления ПартииТоваровНаСкладах (управленческий учет). Обязательно добавьте группировки по всем измерениям регистра (Документ оприходования, Статус партии, Качество).

Влияние резервов и заказов покупателей

Еще один сценарий, который мы должны рассмотреть — это жесткое резервирование. Если вы оформляете документ РеализацияТоваровУслуг на основании ЗаказаПокупателя, механизм работы меняется.

Если в ЗаказеПокупателя была указана конкретная серия и товар был зарезервирован (регистр ТоварыВРезервеНаСкладах), то реализация будет требовать именно эту серию, даже если свободный остаток на складе уже изменился или равен нулю. Программа считает, что этот товар «отложен» под конкретную сделку.

Проверьте регистр ТоварыВРезервеНаСкладах с отбором по вашей проблемной номенклатуре и серии.

Диагностика и решение проблемы

Давайте систематизируем шаги, которые помогут нам выявить причину и устранить некорректную подстановку серий.

Шаг 1. Проверка настроек учета

Убедимся, как именно ведется учет серий в вашей базе.

  1. Зайдем в меню Сервис — Настройка учета — Настройка параметров учета.
  2. Перейдем на вкладку, отвечающую за запасы или номенклатуру.
  3. Посмотрим, стоит ли галочка Вести партионный учет по сериям.

Если эта галочка снята, а галочка Вести учет по сериям стоит, то серии используются «справочно» (как метка на товаре), но не участвуют в расчете себестоимости. В этом случае подстановка серии в документ не гарантирует списание партии. Если вы используете серии для ГТД, это допустимо, но требует внимательного контроля остатков.

Шаг 2. Анализ регистра партий

Нам необходимо увидеть «сырые» данные регистра, чтобы исключить ситуацию с «плюсами и минусами».

  1. Откроем отчет Отчеты — Универсальный — Остатки и обороты.
  2. Выберите раздел учета (регистр накопления): Партии товаров на складах (управленческий учет).
  3. В настройках отчета в группировках строк добавьте: Номенклатура, Серия номенклатуры, Документ оприходования.
  4. Сделайте отбор по проблемной номенклатуре и проблемной серии.
  5. Сформируйте отчет.

Если вы увидите строки, где есть положительный конечный остаток по одному документу партии и отрицательный по другому — это причина проблемы. Серия «висит» в базе. Это состояние называется «развернутым сальдо».

Шаг 3. Восстановление последовательности

Самый действенный способ «вылечить» учет в Управление торговлей 10.3 — это восстановление последовательности партионного учета. Эта процедура перепроводит документы в хронологическом порядке, выстраивая правильные цепочки списания партий (ФИФО).

Для этого:

  1. Убедитесь, что все пользователи вышли из базы (или делайте это в монопольном режиме).
  2. Зайдите в меню Документы — Дополнительно — Проведение по партиям.
  3. Либо используйте обработку Восстановление состояния расчетов (если проблема касается и взаиморасчетов).
  4. Запустите процесс восстановления с даты, когда предположительно начались ошибки (или с начала года/квартала).

Внимание: Эта процедура может занять длительное время при больших объемах данных и изменить себестоимость в уже закрытых периодах. Рекомендуется сначала выполнить это на копии базы.

Шаг 4. Тестирование и исправление (ТиИ)

Если предыдущие шаги не выявили логических ошибок учета, возможно наличие физических ошибок в таблицах базы данных (ссылочная целостность). В теме упоминалось, что процедура не проводилась несколько лет.

В режиме Конфигуратор:

  1. Сделайте резервную копию базы данных.
  2. Перейдите в меню Администрирование — Тестирование и исправление.
  3. Выберите пункты:
    • Реиндексация таблиц.
    • Проверка логической целостности.
    • Пересчет итогов.
  4. Запустите процедуру.

Пересчет итогов особенно важен, так как программа быстрого доступа к остаткам (таблица итогов) может содержать устаревшие данные, отличные от реальных движений документов. Именно из таблицы итогов документ реализации часто «узнает», что серия якобы доступна.

Автоматический подбор по FEFO

Также стоит рассмотреть алгоритм FEFO (First Expired, First Out — первый истекает, первый уходит). Если у номенклатуры задан учет по срокам годности, 1С при подборе будет стараться подставить серию с наименьшим сроком годности.

Если в системе «зависли» остатки старых серий (из-за описанной выше проблемы с партиями), алгоритм FEFO будет упорно подставлять именно их, так как их срок годности истек раньше, чем у свежих поступлений.

Чтобы отключить это поведение, проверьте настройки пользователя или настройки автоподбора в документе реализации. Но правильным решением будет не отключение механизма, а устранение «зависших» остатков через корректировку записей регистров или восстановление последовательности.

← На главную