Вход | Регистрация
 

Вывод группировок в колонки через внешнюю обработку

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

    Настройки   = Схема.НастройкиПоУмолчанию;   
    
    СвойствоОбщаяПлощадь = Настройки.ПараметрыДанных.Элементы.Найти("СвойствоОбщаяПлощадь"); 
    СвойствоОбщаяПлощадь.Использование = Истина;
    СвойствоОбщаяПлощадь.Значение = Константы.ркХарактеристикаОбщаяПлощадь.Получить();   
    
    СвойствоЖилаяПлощадь = Настройки.ПараметрыДанных.Элементы.Найти("СвойствоЖилаяПлощадь"); 
    СвойствоЖилаяПлощадь.Использование = Истина;
    СвойствоЖилаяПлощадь.Значение = Константы.ркХарактеристикаЖилаяПлощадь.Получить();
    
    СвойствоСтатусПроживает = Настройки.ПараметрыДанных.Элементы.Найти("СтатусПроживает"); 
    СвойствоСтатусПроживает.Использование = Истина;
    СвойствоСтатусПроживает.Значение = Константы.ркСтатусПроживает.Получить();
    
    СвойствоСтатусПрописан = Настройки.ПараметрыДанных.Элементы.Найти("СтатусПрописан"); 
    СвойствоСтатусПрописан.Использование = Истина;
    СвойствоСтатусПрописан.Значение = Константы.ркСтатусПрописан.Получить();
    
    СвойствоНачалоПериода = Настройки.ПараметрыДанных.Элементы.Найти("НачалоПериода"); 
    СвойствоНачалоПериода.Использование = Истина;
    СвойствоНачалоПериода.Значение = Период.ДатаНачала;
    
    СвойствоКонецПериода = Настройки.ПараметрыДанных.Элементы.Найти("КонецПериода"); 
    СвойствоКонецПериода.Использование = Истина;
    СвойствоКонецПериода.Значение = Период.ДатаОкончания;
    
    
    ПолеОтбораДом = Новый ПолеКомпоновкиДанных("Дом");
    ОтборПоДом = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборПоДом.ЛевоеЗначение    = ПолеОтбораДом;
    ОтборПоДом.ВидСравнения     = ВидСравненияКомпоновкиДанных.НеРавно;
    ОтборПоДом.ПравоеЗначение   = Справочники.ркДома.НайтиПоКоду("000000002");
    ОтборПоДом.Использование    = Истина;
    
    ПолеОтбораВидРасчета = Новый ПолеКомпоновкиДанных("ВидРасчета");
    ОтборПоВидРасчета = Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборПоВидРасчета.ЛевоеЗначение    = ПолеОтбораВидРасчета;
    ОтборПоВидРасчета.ВидСравнения     = ВидСравненияКомпоновкиДанных.ВСписке;
    ОтборПоВидРасчета.ПравоеЗначение   = ВидыРасчетов.Выгрузить();
    ОтборПоВидРасчета.Использование    = Истина;
    
    Макет       = КомпоновщикМакета.Выполнить(Схема, Настройки);    
    ПроцессорКомпоновки.Инициализировать(Макет,,,Истина); 
    ПроцессорВывода.УстановитьДокумент(ТабДок); 
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);  
КонецПроцедуры
   FreeWay
 
13 - 29.02.20 - 18:34
хотя через УправлениеПечатьюКлиент веселее интерфейс будет

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.