Имеется документ Учет техотхода.
По этому документу. Мне нужно сравнить все строки в табличной части, и если у некоторых строк будет одинаковая Номенклатура и Характеристика Номенклатуры, то тогда эти строки нужно объединить в одну, в которой будут суммироваться данные, и после чего добавить получившуюся одну строку в макет.
Я пробовал выгружать в таблицу значений, но в макете заполняется только поле Номенклатура, а остальные поля пустые. И в ТЧ очищаются данные по которым я не сворачиваю. Может лучше в запросе делать ГРУППИРОВАТЬ?
ЗапросШапка = Новый Запрос;
ЗапросШапка.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
ЗапросШапка.Текст =
"ВЫБРАТЬ
| УчетБрака.Номер,
| УчетБрака.Дата,
| УчетБрака.ПричинаСписанияБрака,
| УчетБрака.Виновник,
| УчетБрака.ХарактерБрака,
| УчетБрака.Операция,
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.ПроцентУдержания,
| УчетБрака.ПодразделениеОрганизации.Номер КАК НомерЦеха,
| УчетБрака.Организация,
| УчетБрака.ПодразделениеОрганизации,
| УчетБрака.Подразделение,
| УчетБрака.ПериодРегистрации,
| ВложенныйЗапрос.ДопИнформация,
| УчетБрака.ПериодРегистрации КАК ПериодРегистрации1
|ИЗ
| Документ.УчетБрака КАК УчетБрака
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ РАЗЛИЧНЫЕ
| УчетБракаЗатраты.Номенклатура КАК Номенклатура,
| УчетБракаЗатраты.Количество КАК Количество,
| УчетБракаЗатраты.ПроцентУдержания КАК ПроцентУдержания,
| УчетБракаЗатраты.Ссылка КАК Ссылка,
| УчетБракаЗатраты.СтатьяЗатрат КАК СтатьяЗатрат,
| УчетБракаЗатраты.ДопИнформация КАК ДопИнформация
| ИЗ
| Документ.УчетБрака.Затраты КАК УчетБракаЗатраты) КАК ВложенныйЗапрос
| ПО УчетБрака.Ссылка = ВложенныйЗапрос.Ссылка
|ГДЕ
| УчетБрака.Ссылка = &ТекущийДокумент";
Шапка = ЗапросШапка.Выполнить().Выбрать();
Шапка.Следующий();
ЗапросЗатраты = Новый Запрос;
ЗапросЗатраты.Текст = "ВЫБРАТЬ
| УчетБракаЗатраты.Ссылка,
| УчетБракаЗатраты.НомерСтроки,
| УчетБракаЗатраты.ДанныеПоНоменклатуре КАК ДанныеПоНоменклатуре,
| УчетБракаЗатраты.Номенклатура,
| УчетБракаЗатраты.ДопИнформация,
| УчетБракаЗатраты.ХарактеристикаНоменклатуры,
| УчетБракаЗатраты.СерияНоменклатуры,
| УчетБракаЗатраты.НоменклатурнаяГруппа,
| УчетБракаЗатраты.СтатьяЗатрат КАК СтатьяЗатрат,
| УчетБракаЗатраты.СчетЗатратПолучатель,
| УчетБракаЗатраты.Цена,
| УчетБракаЗатраты.Сумма
|ИЗ
| Документ.УчетБрака.Затраты КАК УчетБракаЗатраты
|ГДЕ
| УчетБракаЗатраты.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| Номенклатура";
/////////////////////////
/////////////////////////
ОбластьЗатраты = Макет.ПолучитьОбласть("Затраты");
ТЗ=Затраты.Выгрузить();
ТЗ.Свернуть("ДанныеПоНоменклатуре, Номенклатура, ДопИнформация, ХарактеристикаНоменклатуры, СубконтоПолучатель2","Сумма");
Затраты.Загрузить(ТЗ);
Для Каждого ТекСтрокаЗатраты Из Затраты Цикл
ОбластьЗатраты.Параметры.Заполнить(ТекСтрокаЗатраты);
//Хоть я и указываю, но заполнение не идет, т.к. ТЧ очищена
ОбластьЗатраты.Параметры.Субконто2=Лев(ТекСтрокаЗатраты.Субконто2,6);
ТабДок.Вывести(ОбластьЗатраты);
КонецЦикла;
Вот так выглядит ТЧ:
s014.radikal.ru
А вот так должен выглядеть макет:
s42.radikal.ru