Добрый день. Есть документ в которого реквизитом табличной части есть Контрагент. Подскажте. как на печать вывести данные по каждому контрагенту оттельно, тоесть если три контрагента, то три печатных формы. Пробую делать через Таблицу значений, не получаеться скопировать в разные таблицы значений с отбором.
Может это можно сделать без Таблицы значений?
kostya77 @ Сегодня, 11:51
,
выгрузите ТЧ в таблицу значений. Потом проверяйте, если сменился контрагент и выводите на печать
kostya77 @ Сегодня, 11:04
,
Не нужно в разные таблицы выгружать. Достаточно в одну ТЗ выгрузить. Отсортировать ТЗ по контрагенту. Потом обходить и когда контагент изменился выводить подвал по первой печатной форме и создавать новую печатную форму (или новую страницу в той же печатной форме). После цикла по таблице значений не забыть вывести последний подвал. Нужные итоги для подвала также сумировать до момента измененения контрагента. И потом обнулять.
Или есть хороший метод "Свернуть" для таблицы значений. Но тогда небудет детализации по строкам табличной части.
kostya77 @ Сегодня, 11:51
,
типа такого кода .
выгрузите ТЧ в таблицу значений, а потом:
ТЗ.Свернуть("Контрагент,,",""); //указываете реквизиты, которые нужны на печати
ТЗ.Сортировать("+1");
Сч = 0;
Итого = 0;
Состояние("Заполнение выходной таблицы...");
Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
Таб.ВывестиСекцию("Шапка");
ТЗ.ВыбратьСтроки();
ТекКонтрагент = "Начало";
СуммаКонтрагент = 0;
Пока ТЗ.ПолучитьСтроку() = 1 Цикл
Сч=Сч+1;
Контрагент = ТЗ.Контрагент;
..........
//указываете реквизиты, которые нужны на печати
СуммаВсего = ТЗ.Контрагент.Итог("Сумма");
Если ТекКонтрагент<>ТЗ.Контрагент Тогда
Если СуммаКонтрагент<>0 Тогда
Таб.ВывестиСекцию("ИтогоКлиент");
КонецЕсли;
ТекКонтрагент = ТЗ.Контрагент;
СуммаКонтрагент = 0;
КонецЕсли;
Итого = Итого + СуммаВсего;
Таб.ВывестиСекцию("Строка");
СуммаКонтрагент = СуммаКонтрагент + СуммаВсего;
ТекстВсего = "РАЗОМ ПО контрагенту: " + Контрагент;
КонецЦикла;
Таб.ВывестиСекцию("ИтогоКлиент");
Таб.ВывестиСекцию("Подвал");
Таб.ТолькоПросмотр(1);
Таб.Показать("Моя таблица", "");
Запросом и обходом по групиировкам не?
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua