В некоторых случаях необходимо, для увеличении скорости приемки партионного товара, автоматически

проводить оприходование товара по сериям (партиям) с указанием срока годности товара.

Делается это так:

1. Создается кнопка

2. Добавляется код в модуль формы

&НаКлиенте
Процедура РаспределитьПоПартиям(Команда)
    Для каждого ТекСтрока из Объект.Товары цикл
        
         Структура=Новый Структура;
         Структура.Вставить("Номенклатура",ТекСтрока.Номенклатура);
         Структура.Вставить("Характеристика",ТекСтрока.Характеристика);
         Структура.Вставить("Количество",ТекСтрока.Количество);
         Массив=Объект.Серии.НайтиСтроки(Структура);
         Если Массив.Количество()>0 тогда
             Продолжить;
         Иначе  
    Серия=ЗаписатьПартииВРегистр(Объект.Дата,ТекСтрока.Цена,Объект.Контрагент,ТекСтрока.Номенклатура);

    ТекСтрока.Серия=Серия;
    
    НовСтрокаСерий=Объект.Серии.Добавить();
    НовСтрокаСерий.Серия=Серия;
    НовСтрокаСерий.Количество=ТекСтрока.Количество;
    НовСтрокаСерий.Номенклатура=ТекСтрока.Номенклатура;
    НовСтрокаСерий.Характеристика=ТекСтрока.Характеристика;
    НовСтрокаСерий.Склад=Объект.Склад;          
    ПодготовитьЗаполнитьУстановитьВидимостьСерий();
    КонецЕсли;    
    КонецЦикла;

КонецПроцедуры
    &НаСервере
    Функция ЗаписатьПартииВРегистр(ДатаПоставки,ЦенаПоставки,Поставщик,Номенклатура)
        
    ЗапросНом=Новый Запрос;
    ЗапросНом.Текст="ВЫБРАТЬ
                    |    Номенклатура.ВидНоменклатуры.Ссылка КАК ВидНоменклатуры
                    |ИЗ
                    |    Справочник.Номенклатура КАК Номенклатура
                    |ГДЕ
                    |    Номенклатура.Ссылка = &Номенклатура
                    |
                    |СГРУППИРОВАТЬ ПО
                    |    Номенклатура.ВидНоменклатуры.Ссылка"
                    ;
                    ЗапросНом.Параметры.Вставить("Номенклатура",Номенклатура);
                    ВыборкаНом=ЗапросНом.Выполнить().Выбрать();
                    
                    Пока ВыборкаНом.Следующий() цикл
                        ВидНоменклатуры=ВыборкаНом.ВидНоменклатуры;
                        
                        КонецЦикла;
    
    МаксимальныйНомерИзСправочника = Справочники.СерииНоменклатуры.ВычислитьМаксимальныйНомерСерии(ВидНоменклатуры);    
    НомерСерии=МаксимальныйНомерИзСправочника+1;
    СерииНоменклатуры=Справочники.СерииНоменклатуры.СоздатьЭлемент();
    СерииНоменклатуры.ВидНоменклатуры=ВидНоменклатуры;
    СерииНоменклатуры.ГоденДо=ДатаПоставки;
    СерииНоменклатуры.Номер=Формат(НомерСерии, "ЧЦ=8; ЧВН=; ЧГ=");
    СерииНоменклатуры.Наименование=Строка(НомерСерии)+" до "+ДатаПоставки+" (Серия номенклатуры)";
    Запрос=Новый Запрос;
    Запрос.Текст="ВЫБРАТЬ
|    ДополнительныеРеквизитыИСведения.Ссылка,
|    ДополнительныеРеквизитыИСведения.Наименование
|ИЗ
|    ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения КАК ДополнительныеРеквизитыИСведения
|ГДЕ
|    ДополнительныеРеквизитыИСведения.Наименование ПОДОБНО ""%"" + &ВидНоменклатуры + ""%""
|
|СГРУППИРОВАТЬ ПО
|    ДополнительныеРеквизитыИСведения.Ссылка,
|    ДополнительныеРеквизитыИСведения.Наименование"
;
Запрос.Параметры.Вставить("ВидНоменклатуры",ВидНоменклатуры.Наименование);
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() цикл
НовСтрока=СерииНоменклатуры.ДополнительныеРеквизиты.Добавить();    
Если Найти(Выборка.Наименование,"Дата")>0 Тогда    
    НовСтрока.Свойство=Выборка.Ссылка;
    НовСтрока.Значение=ДатаПоставки;
ИначеЕсли    Найти(Выборка.Наименование,"Поставщик")>0 Тогда    
    НовСтрока.Свойство=Выборка.Ссылка;
    НовСтрока.Значение=Поставщик;
ИначеЕсли    Найти(Выборка.Наименование,"Цена")>0 Тогда    
    НовСтрока.Свойство=Выборка.Ссылка;
    НовСтрока.Значение=ЦенаПоставки;
КонецЕсли;    
    КонецЦикла;
СерииНоменклатуры.Записать();    
    
    
         Возврат СерииНоменклатуры.Ссылка;
     КонецФункции


3. И всё. Работает.