--- title: Программное указание серий в документе "Перемещение товаров" slug: primery-snippety-bsp-i-tipovye-erp-serii-nomenklatury/programmnoe-ukazanie-seriy-v-dokumente-peremeschenie-tovarov --- Для программного заполнения документа номенклатурой, оприходованной по сериям, нужно в документе `ПеремещениеТоваров` заполнить 2 табличные части - `Товары` и `Серии`. После заполнения этих табличных частей необходимо их согласовать. Для этого выполняются следующие методы: ```bsl ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(НовыйДокумент, Документы.ПеремещениеТоваров); НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(НовыйДокумент, ПараметрыУказанияСерий); ``` ### Пример ```bsl &НаСервереБезКонтекста Процедура СоздатьДокументПеремещенияНаСервере(СписаниеТоваров, ДокументПеремещение = Неопределено) СписаниеОбъект = СписаниеТоваров.ПолучитьОбъект(); НовыйДокумент = Документы.ПеремещениеТоваров.СоздатьДокумент(); ... // Инициализация ... // Заполняем номенклатуру Для Каждого Строка Из СписаниеОбъект.СписокНоменклатуры Цикл СтрокаТовары = НовыйДокумент.Товары.Добавить(); СтрокаТовары.Номенклатура = Строка.Номенклатура; СтрокаТовары.Количество = Строка.Количество; СтрокаТовары.КоличествоУпаковок = Строка.Количество; КонецЦикла; // заполняем серии Для Каждого Строка Из СписаниеОбъект.СписокНоменклатуры Цикл Если ЗначениеЗаполнено(Строка.Серия) Тогда ПараметрыОтбора = Новый Структура; ПараметрыОтбора.Вставить("Серия", Строка.Серия); ПараметрыОтбора.Вставить("Номенклатура", Строка.Номенклатура); ПараметрыОтбора.Вставить("Характеристика", Строка.Характеристика); ПараметрыОтбора.Вставить("Назначение", Строка.Назначение); НайденныеСтроки = НовыйДокумент.Серии.НайтиСтроки(ПараметрыОтбора); Если НайденныеСтроки.Количество() > 0 Тогда СтрокаСерии = НайденныеСтроки.Получить(0); СтрокаСерии.Количество = СтрокаСерии.Количество + Строка.Количество; Иначе СтрокаСерии = НовыйДокумент.Серии.Добавить(); ЗаполнитьЗначенияСвойств(СтрокаСерии, ПараметрыОтбора); СтрокаСерии.НазначениеОтправителя = Строка.Назначение; СтрокаСерии.Количество = Строка.Количество; КонецЕсли; КонецЕсли; КонецЦикла; // волшебство ПараметрыУказанияСерий = НоменклатураСервер.ПараметрыУказанияСерий(НовыйДокумент, Документы, ПеремещениеТоваров); НоменклатураСервер.ЗаполнитьСтатусыУказанияСерий(НовыйДокумент, ПараметрыУказанияСерий); НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение); КонецПроцедуры ```