Переход со старых конфигураций («1С:Управление производственным предприятием 1.3» или «1С:Комплексная автоматизация 1.1») на современные ERP-решения («1С:ERP Управление предприятием» или «1С:Комплексная автоматизация 2») часто сопровождается трудностями в учете серий. В прежних редакциях серии представляли собой простой подчиненный справочник без жестких алгоритмов контроля. В новых конфигурациях логика кардинально изменилась: теперь за поведение серий отвечают Политики учета серий, тесно связанные с настройками складов и финансовым контуром системы.
В этой статье мы подробно разберем, почему серии могут «исчезать» из документов или заменяться системной надписью <серия указывается отдельно>, как устроен служебный реквизит СтатусУказанияСерий и как правильно настроить программу для корректной миграции данных.
При переносе данных разработчики часто пытаются вручную заполнить реквизит табличных частей СтатусУказанияСерий (например, передавая жестко значение 14). Это приводит к ошибкам, так как этот реквизит является расчетным числовым флагом, структура которого базируется на так называемых «триплетах» (группах из трех статусов). Каждому типу политики учета серий соответствует своя тройка чисел:
Рассмотрим детально классификацию этих статусов в зависимости от настроек системы:
-1 — серии вынесены в отдельную таблицу уточнения (серии заполняются отдельно).0 — серии для данной строки указывать не требуется (пиктограмма отсутствует).1, 2, 21 — серии используются исключительно в справочных целях.3, 4, 23 — ведется полноценный учет остатков, серии указываются по факту отбора.5, 6, 25 — серии указываются при планировании отбора и заполняются по алгоритму FEFO (применяется только для расходных операций).7, 8, 27 — ведется учет остатков, серии фиксируются на этапе планирования отбора.9, 10, 11 — серии указываются при планировании отгрузки, формируя движения по регистру свободных остатков.13, 14, 15 — по сериям ведется детальный сквозной учет себестоимости.17, 18, 28 — серии используются для учета товаров у партнеров (в пути, неотфактурованные поставки).Важное правило: Настоятельно не рекомендуется жестко прописывать числовые значения статусов при загрузке документов. Вместо этого следует вызывать типовые процедуры системы, которые самостоятельно рассчитают статус на основе настроек склада, номенклатуры и вида документа. Рассмотрим пример кода для обновления статусов серий в документе «Приобретение товаров и услуг»:
ПараметрыУказанияСерий = Новый ФиксированнаяСтруктура(НоменклатураСервер.ПараметрыУказанияСерий(Объект, Документы.ПриобретениеТоваровУслуг));
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(Объект, ПараметрыУказанияСерий);
Проанализируем ситуацию: в документе горит зеленый значок статуса серий, но вместо конкретного номера серии в табличной части отображается неактивная надпись <серия указывается отдельно>. При этом при нажатии кнопки «Указать серии» открывается заполненное окно с сериями.
Выясним причину такого поведения системы. Это напрямую связано с использованием ордерной схемы документооборота на складе:
Часто при попытке настроить политику учета серий для вида номенклатуры пользователи сталкиваются с тем, что в выпадающем списке доступно только «Справочное указание серий». Почему так происходит?
Дело в том, что для ведения жесткого учета («Учет остатков по сериям» или «Учет себестоимости по сериям») система должна гарантировать непрерывность партионного и складского учета. Без ордерной схемы (в частности, без ордеров на отражение излишков, недостач и порчи) программа не позволит выбрать жесткие политики. Если в вашей информационной базе есть хотя бы один склад, для которого не включена ордерная схема при отражении излишков и порчи, система заблокирует возможность применения сквозных политик учета серий для всей базы.
Решение: Чтобы использовать жесткие политики, необходимо перейти в настройки складов и включить ордерную схему документооборота для всех складских операций.
Настройка серий выполняется в карточке справочника ВидыНоменклатуры. Однако после того как объект был записан (или загружен из внешней базы), флаг «Есть индивидуальные настройки политики учета серий» и сама табличная часть политик становятся недоступными для изменения.
Чтобы разблокировать эти реквизиты, выполним следующие шаги:
Вида номенклатуры.Важное предупреждение: Изменение политики учета серий для позиций, по которым в базе уже есть движения или остатки, крайне опасно. Это приведет к рассогласованию регистров накопления, зависанию стоимостных остатков и ошибкам при закрытии месяца. Если вам нужно изменить политику учета серий, безопаснее создать новый Вид номенклатуры, новые карточки товаров и перенести остатки документов.
Рассмотрим проблему: при переносе данных из внешней системы (например, Альфа-Авто или КА 1.1) правила обмена корректно заполняют табличную часть ПолитикиУчетаСерий у объекта ВидыНоменклатуры. В обработчике ПриЗаписи() при значении ОбменДанными.Загрузка = Истина данные физически присутствуют, но после завершения транзакции записи табличная часть оказывается пустой.
Это происходит из-за жесткой валидации данных платформой на уровне модулей ERP/КА. Причины очистки табличной части:
Решение для обменов: При проектировании правил конвертации данных следите за тем, чтобы справочники складов, глобальные константы и функциональные опции переносились и активировались в базе-приемнике до начала загрузки справочника ВидыНоменклатуры. В противном случае защитные механизмы ERP будут постоянно сбрасывать загруженные настройки серий в значения по умолчанию.