ЗаполнитьСериюИСрокУпаковок(Дерево.Строки);
ЗначениеВРеквизитФормы(Дерево, "ДеревоНомераТранспортныхУпаковок");
КонецПроцедуры
// Серия и срок годности транспортной упаковки в дереве - если у всех ее КИЗ они одинаковые, иначе пусто.
&НаСервере
Процедура ЗаполнитьСериюИСрокУпаковок(Строки)
Для Каждого СтрокаДерева Из Строки Цикл
Если СтрокаДерева.НаименованиеТЧ = "СоставКИЗТранспортныхУпаковок" Тогда
Продолжить;
КонецЕсли;
ЗаполнитьСериюИСрокУпаковок(СтрокаДерева.Строки);
Серии = Новый Массив;
Сроки = Новый Массив;
СобратьСерииИСрокиКИЗ(СтрокаДерева, Серии, Сроки);
Если Серии.Количество() = 1 Тогда
СтрокаДерева.Серия = Серии[0];
КонецЕсли;
Если Сроки.Количество() = 1 Тогда
СтрокаДерева.ГоденДо = Сроки[0];
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура СобратьСерииИСрокиКИЗ(СтрокаДерева, Серии, Сроки)
Для Каждого Стр Из СтрокаДерева.Строки Цикл
Если Стр.НаименованиеТЧ = "СоставКИЗТранспортныхУпаковок" Тогда
Если Серии.Найти(Стр.Серия) = Неопределено Тогда
Серии.Добавить(Стр.Серия);
КонецЕсли;
Если Сроки.Найти(Стр.ГоденДо) = Неопределено Тогда
Сроки.Добавить(Стр.ГоденДо);
КонецЕсли;
Иначе
СобратьСерииИСрокиКИЗ(Стр, Серии, Сроки);
КонецЕсли;
КонецЦикла;
КонецПроцедуры