Юлия Насонова, Если через КД делать, то в обработчике Правила конвертации группы свойств-Перед обработкой код типа:
Код |
---|
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть.НоваяКолонка("Количество");
ТабличнаяЧасть.НоваяКолонка("Коэффициент");
ТабличнаяЧасть.НоваяКолонка("Сумма");
ТабличнаяЧасть.НоваяКолонка("СуммаВсего");
ТабличнаяЧасть.НоваяКолонка("Цена");
ТабличнаяЧасть.НоваяКолонка("Работа");
ТабличнаяЧасть.НоваяКолонка("Нормочас");
ТабличнаяЧасть.НоваяКолонка("СтавкаНДС");
ТабличнаяЧасть.НоваяКолонка("ИдентификаторРаботы");
ТабличнаяЧасть.НоваяКолонка("ПримечаниеРаботыПечать");
ТабличнаяЧасть2 = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть2.НоваяКолонка("Исполнитель");
ТабличнаяЧасть2.НоваяКолонка("Цех");
ТабличнаяЧасть2.НоваяКолонка("Процент");
ТабличнаяЧасть2.НоваяКолонка("ИдентификаторРаботы");
Инфо = СоздатьОбъект("AddIn.V7SysInfo");
ИсходнаяТаблица=СоздатьОбъект("ТаблицаЗначений");
Источник.ВыгрузитьТабличнуюЧасть(ИсходнаяТаблица, "НомерСтроки,Наличие,Номенклатура,Единица, Количество, Кратность,Цена, Сумма, НП,НДС,Исполнитель1,Исполнитель2,Исполнитель3,Исполнитель4,Исполнитель5,Процент1,Процент2,Процент3,Процент4,Процент5,Цех,ФактическоеВремя,Склад");
Для КолСтр=1 по ИсходнаяТаблица.КоличествоСтрок() Цикл
ИсходнаяТаблица.ПолучитьСтрокуПоНомеру(КолСтр);
Если ИсходнаяТаблица.Номенклатура.Вид()="ПереченьРабот" Тогда
ТабличнаяЧасть.НоваяСтрока();
ТабличнаяЧасть.Количество = ИсходнаяТаблица.Количество;
ТабличнаяЧасть.Коэффициент = ИсходнаяТаблица.Кратность;
ТабличнаяЧасть.Сумма = ИсходнаяТаблица.Сумма;
ТабличнаяЧасть.СуммаВсего = ИсходнаяТаблица.Сумма;
ТабличнаяЧасть.Цена = ИсходнаяТаблица.Цена;
ТабличнаяЧасть.Работа = ИсходнаяТаблица.Номенклатура;
ТабличнаяЧасть.Нормочас = "Рубль";
ТабличнаяЧасть.СтавкаНДС = "БезНДС";
ТабличнаяЧасть.ИдентификаторРаботы = Инфо.СоздатьGUID();
Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель1)=0 Тогда
ТабличнаяЧасть2.НоваяСтрока();
ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель1;
ТабличнаяЧасть2.Цех="ЦБ000001";
ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент1;
ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
КонецЕсли;
Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель2)=0 Тогда
ТабличнаяЧасть2.НоваяСтрока();
ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель2;
ТабличнаяЧасть2.Цех="ЦБ000001";
ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент2;
ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
КонецЕсли;
Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель3)=0 Тогда
ТабличнаяЧасть2.НоваяСтрока();
ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель3;
ТабличнаяЧасть2.Цех="ЦБ000001";
ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент3;
ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
КонецЕсли;
Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель4)=0 Тогда
ТабличнаяЧасть2.НоваяСтрока();
ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель4;
ТабличнаяЧасть2.Цех="ЦБ000001";
ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент4;
ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
КонецЕсли;
Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель5)=0 Тогда
ТабличнаяЧасть2.НоваяСтрока();
ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель5;
ТабличнаяЧасть2.Цех="ЦБ000001";
ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент5;
ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
КонецЕсли;
КонецЕсли;
КонецЦикла;
ВходящиеДанные = СоздатьОбъект("СписокЗначений");
ВходящиеДанные.ДобавитьЗначение(ТабличнаяЧасть, "Работы");
ВходящиеДанные.ДобавитьЗначение(ТабличнаяЧасть2, "Исполнители"); |
а таблицы Работы и Исполнители получать из внешних данных.