Статус указания серий в 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);
// Если в документе есть несколько ТЧ, требующих заполнения статусов указания серий (например, "Этап Производства"),
// то "ПараметрыУказанияСерий" дополнительно разбивается на структуру с именами табличных частей, т.к. как писалось
// выше, статус указания серий может быть различным даже внутри одного документа в разных таблицах:
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокументОбъект, ПараметрыУказанияСерий.ОбеспечениеМатериаламиИРаботами);
// Для видов документов с единственной ТЧ, требующей указания серий, параметры указания не разбиваются на структуру.
// Пример ниже для ТЧ "Товары" документа "Движение продукции и материалов":
ДокументОбъект = СсылкаНаДвижениеПродукцииИМатериалов.ПолучитьОбъект();
ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(ДокументОбъект, Документы.ДвижениеПродукцииИМатериалов);
НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(ДокументОбъект, ПараметрыУказанияСерий);