Имя: Пароль:
1C
 
Вывод группировок в колонки через внешнюю обработку
0 FreeWay
 
29.02.20
11:57
Количество колонок в отчете не постоянно. С Внешним отчетом решается аж бегом, а через внешнюю обработку реально сделать?
Очень интересно каким образом это сделать?
Таблица итоговая типа следующей: по горизонтали тип валюты, а в строках значения на дату.
1 ДенисЧ
 
29.02.20
12:02
Как связаны колонки, отчёт и обработка?
Же не компренде
2 FreeWay
 
29.02.20
12:10
(1) по горизонтали тип валюты, а в строках значения на дату.
3 FreeWay
 
29.02.20
12:12
в колонках рубль, гривна, доллар и т.д.
в строка курс на дату
4 ДенисЧ
 
29.02.20
12:14
5 FreeWay
 
29.02.20
12:18
типа такого https://img.profinance.ru/news/555005-2
только здесь перевертышь, тип валюты в строках
но сути не меняет
6 acht
 
29.02.20
12:40
(4) Мальчик считает, что наборы букв отчет и скд означают одно и то же.
(0) Точно также, как в составе конфигурации.
7 FreeWay
 
29.02.20
13:08
(6) мне интересен вариант реализации отчета через внешнюю обработку: запрос с группировкой и итогами с последующим выводом через макет в табличный документ.
8 FreeWay
 
29.02.20
13:09
запрос я реализую, а вывод через макет пока не представляю как
9 ДенисЧ
 
29.02.20
13:09
(7) Чем отличается в твоём понимании обработка от отчёта?
10 FreeWay
 
29.02.20
13:53
(9) функционал урезаный, то что на скд отчета я зделаю без строчки когда, в обработке придется писать хоть пару строчек но всё же
11 FreeWay
 
29.02.20
13:58
..ляя, какой я внимательный...
там ...
всё понятно
12 FreeWay
 
29.02.20
18:00
всё сраслось
Процедура СформироватьНаСервере()
    Отчет               = РеквизитФормыВЗначение("Объект");
    Схема               = Отчет.ПолучитьМакет("Макет");
    КомпоновщикМакета   = Новый КомпоновщикМакетаКомпоновкиДанных;  
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорВывода     = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;    
    ТабДок              = Новый ТабличныйДокумент;  
    
    ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема);
    КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек);
    
    // --- установка параметров
    Настройки   = Схема.НастройкиПоУмолчанию;  
    
    СвойствоОбщаяПлощадь = Настройки.ПараметрыДанных.Элементы.Найти("СвойствоОбщаяПлощадь");
    СвойствоОбщаяПлощадь.Использование = Истина;
    СвойствоОбщаяПлощадь.Значение = Константы.ркХарактеристикаОбщаяПлощадь.Получить();  
    
    СвойствоЖилаяПлощадь = Настройки.ПараметрыДанных.Элементы.Найти("СвойствоЖилаяПлощадь");
    СвойствоЖилаяПлощадь.Использование = Истина;
    СвойствоЖилаяПлощадь.Значение = Константы.ркХарактеристикаЖилаяПлощадь.Получить();
    
    СвойствоСтатусПроживает = Настройки.ПараметрыДанных.Элементы.Найти("СтатусПроживает");
    СвойствоСтатусПроживает.Использование = Истина;
    СвойствоСтатусПроживает.Значение = Константы.ркСтатусПроживает.Получить();
    
    СвойствоСтатусПрописан = Настройки.ПараметрыДанных.Элементы.Найти("СтатусПрописан");
    СвойствоСтатусПрописан.Использование = Истина;
    СвойствоСтатусПрописан.Значение = Константы.ркСтатусПрописан.Получить();
    
    СвойствоНачалоПериода = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода");
    СвойствоНачалоПериода.Использование = Истина;
    СвойствоНачалоПериода.Значение = Период.ДатаНачала;
    
    СвойствоКонецПериода = Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода");
    СвойствоКонецПериода.Использование = Истина;
    СвойствоКонецПериода.Значение = Период.ДатаОкончания;
    
    
    ПолеОтбораДом = Новый ПолеКомпоновкиДанных("Дом");
    ОтборПоДом = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборПоДом.ЛевоеЗначение    = ПолеОтбораДом;
    ОтборПоДом.ВидСравнения     = ВидСравненияКомпоновкиДанных.НеРавно;
    ОтборПоДом.ПравоеЗначение   = Справочники.ркДома.НайтиПоКоду("000000002");
    ОтборПоДом.Использование    = Истина;
    
    ПолеОтбораВидРасчета = Новый ПолеКомпоновкиДанных("ВидРасчета");
    ОтборПоВидРасчета = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборПоВидРасчета.ЛевоеЗначение    = ПолеОтбораВидРасчета;
    ОтборПоВидРасчета.ВидСравнения     = ВидСравненияКомпоновкиДанных.ВСписке;
    ОтборПоВидРасчета.ПравоеЗначение   = ВидыРасчетов.Выгрузить();
    ОтборПоВидРасчета.Использование    = Истина;
    
    Макет       = КомпоновщикМакета.Выполнить(Схема, Настройки);    
    ПроцессорКомпоновки.Инициализировать(Макет,,,Истина);
    ПроцессорВывода.УстановитьДокумент(ТабДок);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);  
КонецПроцедуры
13 FreeWay
 
29.02.20
18:34
хотя через УправлениеПечатьюКлиент веселее интерфейс будет