diamond АШ Tlg

Статус указания серий в 1С ERP и его заполнение программно

Шпаргалка (1С ERP версия 2.5.17)

Возможные статусы указания серий перечислены и описаны в длинном комментарии в общем модуле НоменклатураСервер:

Статус Описание
Количество по сериям не совпадает с количеством товаров или серии не указаны (красная картинка) Количество по сериям совпадает с количеством товаров (зеленая картинка) Cерии не указаны, их можно указывать, а можно и не указывать (синяя картинка)
-1 серии указаны в таблице уточнения (нет картинки)
0 серии указывать не требуется (нет картинки)
1 2 21 Cерии указываются справочно
3 4 23 По сериям учитываются остатки, серии указываются по факту отбора
5 6 25 по сериям учитываются остатки, серии указываются при планировании отбора
Заполняются по FEFO (используются только в документах отгрузки товаров):
7 8 27 По сериям учитываются остатки, серии указываются при планировании отбора
9 10 11 По сериям учитываются остатки, серии указываются при планировании отгрузки
По сериям формируются движения по регистру "ТоварыКОтгрузке" (как при приходе, так и при расходе):
13 14 15 Учитываются также, как 9, 10, 11 + по сериям учитывается себестоимость
17 18 28 По сериям учитываются товары у партнеров (товары в пути, неотфактурованные поставки)
19 20 22 По сериям учитываются товары у партнеров (товары в пути, неотфактурованные поставки) (в чём разница со строкой выше не разъясняется)

Неправильно: изобретать велосипед и вычислять статусы самостоятельно, используя таблицу выше. Для одного и того же товара этот статус может иметь различные значения, причём не только в разных видах документов, но и в разных табличных частях одного и того же документа!

Правильно: воспользоваться готовым решением из типовой конфигурации:

// Пример заполнения ТЧ "ОбеспечениеМатериаламиИРаботами" документа "Этап производства"
ДокументОбъект = СсылкаНаЭтап.ПолучитьОбъект();
ПараметрыУказанияСерий  = НоменклатураСервер.ПараметрыУказанияСерий(ДокументОбъект, Документы.ЭтапПроизводства2_2);

// Если в документе есть несколько ТЧ, требующих заполнения статусов указания серий (например, "Этап Производства"),
// то "ПараметрыУказанияСерий" дополнительно разбивается на структуру с именами табличных частей, т.к. как писалось
// выше, статус указания серий может быть различным даже внутри одного документа в разных таблицах:

НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокументОбъект, ПараметрыУказанияСерий.ОбеспечениеМатериаламиИРаботами);

// Для видов документов с единственной ТЧ, требующей указания серий, параметры указания не разбиваются на структуру.
// Пример ниже для ТЧ "Товары" документа "Движение продукции и материалов":

ДокументОбъект = СсылкаНаДвижениеПродукцииИМатериалов.ПолучитьОбъект();
ПараметрыУказанияСерий  = НоменклатураСервер.ПараметрыУказанияСерий(ДокументОбъект, Документы.ДвижениеПродукцииИМатериалов);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокументОбъект, ПараметрыУказанияСерий);