Переход с устаревших систем, таких как 1С:Комплексная автоматизация 1.1, на современные решения вроде 1С:ERP Управление предприятием 2.4/2.5 — это сложный процесс, требующий особого внимания к деталям учета. Одной из наиболее острых проблем является перенос остатков номенклатуры, по которой ведется серийный учет. Часто специалисты сталкиваются с ситуацией: данные выгружены стандартной обработкой ВыгрузкаДанных.epf, загружены через помощник перехода, документы Ввод остатков созданы, но серии в них имеют статус «Требуется указать». Это означает, что система «видит» необходимость серии, но сами данные (номер, срок годности) в табличную часть не попали.
В этой статье мы подробно разберем причины возникновения данной ошибки, проанализируем механизмы работы помощника перехода и рассмотрим несколько способов решения проблемы — от корректировки правил выгрузки до альтернативных методов заполнения данных.
Разберем ситуацию, которая часто встречается при миграции. В КА 1.1 учет серий реализован достаточно просто, в то время как в ERP за это отвечает сложный механизм Политика учета серий. Проанализируем настройки: если в ERP для вида номенклатуры установлена политика «Учет остатков по сериям», система ожидает, что каждая единица товара будет жестко привязана к конкретному объекту справочника Серии номенклатуры уже в момент проведения документа ввода остатков.
Однако при загрузке данных через помощник перехода часто происходит «сброс» настроек. Выясним причину: если в процессе обмена загружаются и сами Виды номенклатуры, они могут перезаписывать уже настроенные вами политики. Если в исходном файле обмена информация о политике серий неполная или некорректная, ERP может по умолчанию установить политику «Справочное указание серий» или вовсе не подхватить нужные настройки. В результате, даже если объекты «Серии» созданы в справочнике, они не подставляются в табличные части документов, так как логика программы на момент загрузки считает их необязательными или не знает, как их сопоставить.
Стандартная обработка выгрузки использует внутренние макеты правил обмена. Посмотрим на техническую сторону вопроса: правила могут быть жестко ориентированы на определенные реквизиты. Если в КА 1.1 серия идентифицируется, например, только по Серийному номеру, а в ERP в настройках вида номенклатуры указано, что серия должна содержать и Номер, и Срок годности, то при загрузке произойдет конфликт. Система не сможет создать полноценный объект серии, отвечающий требованиям новой политики, и оставит поле пустым.
Рассмотрим порядок действий для проверки правил:
ВыгрузкаДанных.epf (обычно они хранятся в макетах).Товары на складах или Партии товаров (в зависимости от метода учета в КА 1.1).ПередВыгрузкой отсутствует заполнение структуры серии, данные просто не попадут в файл.Чтобы избежать «затирания» настроек, выполним следующие шаги:
Виды номенклатуры вручную.Политику учета серий как «Учет остатков по сериям».Помощника перехода или Универсального обмена установите флаг «Не замещать существующие объекты» для справочника Виды номенклатуры.Это позволит сохранить ваши настройки политики серий в целостности при загрузке самих товаров и их остатков.
Если стандартный помощник перехода продолжает выдавать пустые серии, а объем данных велик (более 100 строк в документе), наиболее эффективным методом будет использование механизма «Заполнить из внешнего файла». Это позволит нам полностью контролировать процесс сопоставления.
Разберем этот метод по шагам:
Ведомость по товарам на складах в разрезе Номенклатуры, Склада и Серии.Ввод остатков номенклатуры.Товары).Номенклатура, Количество, Серия, Номер серии, Срок годности.Преимущество этого способа в том, что ERP при загрузке из файла сама создаст недостающие объекты серий, основываясь на текстовых данных (номер, дата), и сразу подставит их в документ с правильным статусом. Это избавляет от необходимости копаться в коде правил обмена XML.
Проанализируем ситуацию, когда склады в ERP настроены как ордерные. В этом случае ввод остатков имеет свои особенности. Если политика учета серий подразумевает указание серий «При приемке», то в самом документе Ввод остатков поля для серий могут быть недоступны или требовать особого статуса.
Выясним причину: при использовании ордерной схемы остатки на склад (в количественном выражении) фактически приходуются документом Приходный ордер на товары. Однако при вводе начальных остатков система обычно использует упрощенный режим. Убедитесь, что в настройках склада для вида номенклатуры использование серий включено именно для операции «Ввод остатков». Если флаг стоит только на отгрузку или приемку, при вводе остатков поле серии может блокироваться.
Если серии в базе ERP уже созданы (как объекты справочника), но не привязаны к строкам документа Ввод остатков, программист может воспользоваться небольшой обработкой. Рассмотрим пример логики на встроенном языке 1С для заполнения табличной части:
// Пример логики обхода табличной части документа
Для Каждого СтрокаТЧ Из ОбъектДокумента.Товары Цикл
Если СтрокаТЧ.Серия.Пустая() Тогда
// Поиск подходящей серии по номеру, переданному в дополнительном реквизите или комментарии
НайденнаяСерия = Справочники.СерииНоменклатуры.НайтиПоНаименованию(СтрокаТЧ.НомерСерииТекст);
Если ЗначениеЗаполнено(НайденнаяСерия) Тогда
СтрокаТЧ.Серия = НайденнаяСерия;
СтрокаТЧ.СтатусУказанияСерий = 0; // Сброс статуса "Требуется указать"
КонецЕсли;
КонецЕсли;
КонецЦикла;
Этот код — лишь схематичный пример. В реальности необходимо учитывать, что в ERP 2.4/2.5 работа с сериями в табличных частях часто вынесена в отдельные коллекции (например, если используется разбиение по сериям через команду «Указать серии»), и прямое редактирование колонки Серия в основной табличной части может быть недостаточно — потребуется работа с формой или использование серверных процедур модуля менеджера для пересчета статусов серий.
Подводя итог, можно сказать, что проблема «пустых серий» — это чаще всего вопрос настройки соответствия Политик учета серий и Видов номенклатуры. Для быстрого результата мы рекомендуем:
ВыгрузкаДанных.epf из дистрибутива обновления ERP (папка Convert), так как разработчики 1С постоянно уточняют правила сопоставления серийных данных.Соблюдение этих шагов позволит корректно перенести остатки и сохранить преемственность серийного учета при переходе на новую систему.