НоваяСтрока = КоллекцияСтрок.Добавить();
НоваяСтрока.Группа=ПолучитьНаименованиеНоменклатуры(ТекНоменклатура);
НоваяСтрока.ИдГруппы = Строка(Новый УникальныйИдентификатор);
НоваяСтрока.Номенклатура.Добавить(ТекНоменклатура);
ГрупыГруппы = ПолучитьГруппуГруппы(ТекНоменклатура);
Для Каждого Група Из ГрупыГруппы Цикл
ДобавитьРекусивноГруппуВДерево(НоваяСтрока.ПолучитьЭлементы(),Група);
КонецЦикла;КонецПроцедуры
&НаКлиентеПроцедура СкопироватьВДеревоНаКлиенте(КоллекцияСтрок,ВыделенныеСтроки) Для Каждого
ТекНоменклатура Из ВыделенныеСтроки Цикл
Если НЕ ЗначениеЗаполнено(ТекНоменклатура) Тогда
Продолжить;
КонецЕсли;
Если НоменклатураОтбор.Количество() > 0 Тогда
Если НоменклатураОтбор.НайтиПоЗначению(ТекНоменклатура) = НеОпределено Тогда
Предупреждение(«Номенклатура «»» + ТекНоменклатура + «»» не соответствует отбору.»);
Возврат;
КонецЕсли;
КонецЕсли;
ДобавитьРекусивноГруппуВДерево(КоллекцияСтрок,ТекНоменклатура);
КонецЦикла;КонецПроцедуры
&НаКлиентеПроцедура СкопироватьВДерево(Команда) Если
Элементы.ДеревоГрупп.ТекущиеДанные = НеОпределено Тогда
КоллекцияСтрок = ДеревоГрупп.ПолучитьЭлементы();
Иначе
КоллекцияСтрок = Элементы.ДеревоГрупп.ТекущиеДанные.ПолучитьЭлементы();
КонецЕсли;
СкопироватьВДеревоНаКлиенте(КоллекцияСтрок,Элементы.Номенклатура.ВыделенныеСтроки);КонецПроцедуры
&НаКлиентеПроцедура ДеревоГруппПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка, Строка, Поле) Если
Строка = Неопределено Тогда
КоллекцияСтрок = ДеревоГрупп.ПолучитьЭлементы();
Иначе
КоллекцияСтрок = ДеревоГрупп.НайтиПоИдентификатору(Строка).ПолучитьЭлементы();
КонецЕсли;
СкопироватьВДеревоНаКлиенте(КоллекцияСтрок,ПараметрыПеретаскивания.Значение);
СтандартнаяОбработка = Ложь;КонецПроцедуры
&НаСервереФункция ПолучитьНаименованиеНоменклатуры(Номенклатура)
Возврат Номенклатура.Наименование;
КонецФункции