Свертка таблицы значений

1. SpartakM 71 04.11.12 23:01 Сейчас в теме
Есть табличная часть документа. В ней могут повторяться следующие данные:
- дата отгрузки
- контрагент
- адрес доставки
Поэтому задача такая: при печати, в печатную форму должны попасть итоговые данные по каждому контрагенту (сумма доставки, сумма заказов, вес заказов), но в поля состояние сборки, примечание, комментарий, должны попасть комментарии из всех строк. например состояние сборки должно будет выглядеть так: отгрузка/отгрузка/не собран. в случае если по контрагенту было 3 заказа. тоже самое должно быть и с примечаниями и комментариями.) как можно это реализовать?
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
2. YNik 05.11.12 01:08 Сейчас в теме
ТЗ = ТЧДокумента.Выгрузить();
ТЗ.Свернуть("ДатаОтгрузки,Контрагент,АдресДоставки", "СуммаДоставки,СуммаЗаказов,ВесЗаказов");
Для Каждого СтрокаТЗ Из ТЗ Цикл
    СостояниеОбщ = "";
    ПримечаниеОбщ = "";
    КомментарийОбщ = "";
    НайдСтроки = ТЧДокумента.НайтиСтроки(Новый Структура("ДатаОтгрузки,Контрагент,АдресДоставки", 
                 СтрокаТЗ.ДатаОтгрузки, СтрокаТЗ.Контрагент, СтрокаТЗ.АдресДоставки));
    Для Каждого НайдСтрока Из НайдСтроки Цикл
        СостояниеОбщ = СостояниеОбщ + "/" + НайдСтрока.Состояние;
        ПримечаниеОбщ = ПримечаниеОбщ + "/" + НайдСтрока.Примечание;
        КомментарийОбщ = КомментарийОбщ + "/" + НайдСтрока.Комментарий;
    КонецЦикла;
    СостояниеОбщ = Сред(СостояниеОбщ,2);
    ПримечаниеОбщ = Сред(ПримечаниеОбщ,2);
    КомментарийОбщ = Сред(КомментарийОбщ,2);
    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    ОбластьМакета.Параметры.Заполнить(СтрокаТЗ);
    ОбластьМакета.Параметры.Состояние = СостояниеОбщ;
    ОбластьМакета.Параметры.Примечание = ПримечаниеОбщ;
    ОбластьМакета.Параметры.Комментарий = КомментарийОбщ;
    ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. YNik 05.11.12 01:08 Сейчас в теме
ТЗ = ТЧДокумента.Выгрузить();
ТЗ.Свернуть("ДатаОтгрузки,Контрагент,АдресДоставки", "СуммаДоставки,СуммаЗаказов,ВесЗаказов");
Для Каждого СтрокаТЗ Из ТЗ Цикл
    СостояниеОбщ = "";
    ПримечаниеОбщ = "";
    КомментарийОбщ = "";
    НайдСтроки = ТЧДокумента.НайтиСтроки(Новый Структура("ДатаОтгрузки,Контрагент,АдресДоставки", 
                 СтрокаТЗ.ДатаОтгрузки, СтрокаТЗ.Контрагент, СтрокаТЗ.АдресДоставки));
    Для Каждого НайдСтрока Из НайдСтроки Цикл
        СостояниеОбщ = СостояниеОбщ + "/" + НайдСтрока.Состояние;
        ПримечаниеОбщ = ПримечаниеОбщ + "/" + НайдСтрока.Примечание;
        КомментарийОбщ = КомментарийОбщ + "/" + НайдСтрока.Комментарий;
    КонецЦикла;
    СостояниеОбщ = Сред(СостояниеОбщ,2);
    ПримечаниеОбщ = Сред(ПримечаниеОбщ,2);
    КомментарийОбщ = Сред(КомментарийОбщ,2);
    ОбластьМакета = Макет.ПолучитьОбласть("Строка");
    ОбластьМакета.Параметры.Заполнить(СтрокаТЗ);
    ОбластьМакета.Параметры.Состояние = СостояниеОбщ;
    ОбластьМакета.Параметры.Примечание = ПримечаниеОбщ;
    ОбластьМакета.Параметры.Комментарий = КомментарийОбщ;
    ТабДокумент.Вывести(ОбластьМакета);
КонецЦикла;
Показать
3. SpartakM 71 05.11.12 01:44 Сейчас в теме
(2)да, спс. то что нужно..
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот