Как разделить остатки одной номенклатуры по датам выпуска и срокам годности в 1С:Бухгалтерии?

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

При ведении учета медикаментов, пищевой продукции и других товаров с ограниченным сроком годности часто возникает задача: как учитывать одну и ту же номенклатурную позицию (например, аспирин) в разрезе различных дат выпуска и сроков годности. Создание отдельного элемента в справочнике Номенклатура под каждую дату («Аспирин 10.10.2023», «Аспирин 20.10.2023») — грубая ошибка. Это приводит к лавинообразному раздуванию таблиц базы данных, усложняет подбор товаров, ломает типовую отчетность и быстро исчерпывает лимиты файловой базы данных.

Разберем, как правильно организовать такой учет в типовой конфигурации 1С:Бухгалтерия, с какими ограничениями платформы придется столкнуться и какие варианты реализации существуют на практике.

Ограничения типовой конфигурации и бухгалтерского плана счетов

Прежде чем приступать к доработке, выясним причину, почему в типовой бухгалтерии серийный учет по умолчанию не разделяет проводки на счетах учета запасов (ТМЗ):

  1. Лимит количества субконто на счетах запасов. В типовом плане счетов максимальное количество субконто жестко ограничено тремя значениями. На счетах учета ТМЗ (например, 1310, 1330 в казахстанской редакции или 10, 41 в российской) эти субконто уже заняты стандартными разрезами: Номенклатура, Склады и Партии (при партионном учете ФИФО). Попытка добавить четвертое субконто (серию) потребует изменения структуры метаданных плана счетов, что приведет к масштабной реструктуризации таблиц итогов регистра бухгалтерии, существенному замедлению базы и потере типовой поддержки.
  2. Типовые алгоритмы проведения. Контроль остатков, списание себестоимости и закрытие месяца в общих модулях и модулях менеджеров документов оперируют только стандартными разрезами. Простое добавление субконто или реквизита в табличную часть приведет к тому, что движения по новому субконто придется дописывать вручную во всех документах товародвижения (поступление, реализация, перемещение, списание, отчет о розничных продажах).
  3. Несовпадение принципов списания (FIFO против FEFO). Бухгалтерский партионный учет построен по принципу FIFO (First In, First Out — первым списывается то, что раньше поступило по документам). Для фармацевтики и скоропортящихся товаров критичен принцип FEFO (First Expired, First Out — первым списывается товар с наименьшим остаточным сроком годности), чего типовая бухгалтерия автоматически не выполняет.

Как оформлять поступление по нескольким срокам годности

Рассмотрим порядок оформления первичных документов. Если в одной накладной поступает одна и та же номенклатура с разными датами производства или сроками годности, в табличную часть документа ПоступлениеТМЗиУслуг (или ПоступлениеТоваровУслуг) позиция заносится несколькими строками:

  1. Выбирается один и тот же элемент справочника Номенклатура (например, «Аспирин»).
  2. Количество и цена указываются для каждой физической партии отдельно (например, строка 1 — 10 пачек, строка 2 — 20 пачек).
  3. В каждой строке выбирается своя серия из подчиненного справочника СерииНоменклатуры, где хранятся реквизиты даты выпуска, серии производителя и срока годности.

В типовой конфигурации без доработок обе строки в проводках объединятся на счете учета ТМЗ, так как на счете нет измерения «Серия». Для разделения остатков требуется применить один из технических вариантов реализации.

Вариант 1. Реализация через отдельный регистр накопления (рекомендуемый)

Наиболее надежный и стабильный путь — не затрагивать план счетов и регистр бухгалтерии, а создать оперативный контур учета серий в отдельном регистре накопления. Разберем его структуру по шагам:

  1. Создание регистра накопления. Добавляем регистр остатков (например, ОстаткиТоваровПоСериям).
    • Измерения: Номенклатура (СправочникСсылка.Номенклатура), Склад (СправочникСсылка.Склады), Серия (СправочникСсылка.СерииНоменклатуры).
    • Ресурсы: Количество (Число 15,3).
  2. Добавление реквизита в табличные части. В документы товародвижения добавляется реквизит СерияНоменклатуры с проверкой соответствия владельцу (номенклатуре).
  3. Формирование движений. При проведении документов прихода (приходная накладная, оприходование) регистр формирует движения «Приход». При проведении документов расхода (реализация, списание, отчет о розничных продажах) выполняется контроль остатков по сериям и формируются движения «Расход».

Посмотрим на преимущества этого подхода: бухгалтерские проводки формируются по типовым правилам (по средней стоимости или ФИФО), баланс и финансовый результат сходятся штатно, а количественный учет по срокам и датам контролируется в специализированных отчетах по созданному регистру.

Вариант 2. Использование механизма расширений конфигурации

Чтобы сохранить конфигурацию на полной поддержке поставщика, функционал регистра серий и реквизитов документов следует вынести в расширение конфигурации:

  1. В расширение добавляются справочник серий (если он отсутствует в типовой конфигурации), реквизиты табличных частей документов и новый регистр накопления.
  2. С помощью директив &После или &Вместо перехватываются обработчики проведения документов (процедура ОбработкаПроведения в модулях документов или общих модулях проведения).
  3. При проведении расширение записывает движения в новый регистр накопления параллельно типовым проводкам.

Такой подход обеспечивает легкое обновление базы данных при выходе регламентированных релизов поставщика.

Вариант 3. Использование свободного субконто на счетах учета

Рассмотрим ситуацию, когда требуется видеть серии непосредственно в стандартных бухгалтерских отчетах (оборотно-сальдовая ведомость, карточка счета), но без глобального изменения метаданных:

  1. Проанализируем учетную политику организации. Если метод оценки запасов ведется «По средней стоимости», субконто Партии на счетах запасов не задействовано.
  2. Если учет по складам не ведется вовсе либо ведется только в количественном выражении без суммового, третье субконто можно настроить на использование справочника серий.
  3. Ограничение: если организация ведет учет по ФИФО, третье субконто занято документами поступления. В таком случае разделение на бухгалтерских счетах без вмешательства в структуру регистра бухгалтерии невозможно.

Архитектурная альтернатива: разделение контуров учета

В розничной и оптовой торговле фармацевтическими препаратами наилучшей практикой является использование двух контуров:

  1. Фронт-офис и складской учет. Первичный серийный учет, контроль сроков годности и продажи через рабочее место кассира (РМК) ведутся в специализированной конфигурации (например, 1С:Розница. Аптека или 1С:Управление торговлей), где механизмы серийного учета и списания по FEFO заложены архитектурно.
  2. Бухгалтерский учет. В 1С:Бухгалтерию данные выгружаются периодическим обменом в свернутом виде (сводными отчетами о розничных продажах и накладными без серий). Это полностью избавляет бухгалтерскую базу от критического роста объемов и исключает необходимость масштабных доработок учетного ядра.
← На главную