powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Отчет СКД (Таблица): вывести параметры в колонки
7 сообщений из 7, страница 1 из 1
Отчет СКД (Таблица): вывести параметры в колонки
    #39441415
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Подскажите, как в отчет СКД вида Таблица вывести значения параметров как колонки (на рисунке выделено красным как должно получиться):
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39441429
vanechka_ivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в смысле затолкать вместо надписей значения?

через объектную модель скд, там можно перед выводом отчета получить уже готовый макет, найти нужную область и вписать что угодно
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39441480
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А проще никак нельзя?
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39441496
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я добавил группы полей, но при программном обращении к списку полей СКД (СхемаКомпоновкиДанных.НаборыДанных.НаборДанных1.Поля) их не видно.
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39441966
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделал следующим образом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
		
    СтандартнаяОбработка = Ложь;
	
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
	ПараметрыДанных = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы;
	
	МойПараметр = ПараметрыДанных.Найти("СтандартныйПериод");	
	ДатаГод = Формат(МойПараметр.Значение.ДатаНачала, "ДЛФ=Д") + " - " + Формат(МойПараметр.Значение.ДатаОкончания, "ДЛФ=Д");
	МойПараметр = ПараметрыДанных.Найти("СтандартныйПериодМесяц");
	ДатаМесяц = Формат(МойПараметр.Значение.ДатаНачала, "ДЛФ=Д") + " - " + Формат(МойПараметр.Значение.ДатаОкончания, "ДЛФ=Д");
	МойПараметр = ПараметрыДанных.Найти("СтандартныйПериодДень");
	ДатаДень = Формат(МойПараметр.Значение.ДатаНачала, "ДЛФ=Д");
	
   
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	
	Для Каждого ЭлементВыбора Из Настройки.Выбор.Элементы Цикл
		
		Если ЭлементВыбора.Заголовок = "Период Год" Тогда			
			ЭлементВыбора.Заголовок = ДатаГод;			
		ИначеЕсли ЭлементВыбора.Заголовок = "Период Месяц" Тогда
			ЭлементВыбора.Заголовок = ДатаМесяц;	
		ИначеЕсли ЭлементВыбора.Заголовок = "Период День" Тогда
			ЭлементВыбора.Заголовок = ДатаДень;
		КонецЕсли;
		
	КонецЦикла;
	
	КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
	
             
    //Помещаем в переменную данные о расшифровке данных
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
     
    //Формируем макет, с помощью компоновщика макета
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
     
    //Передаем в макет компоновки схему, настройки и данные расшифровки
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
		
    //Выполним компоновку с помощью процессора компоновки
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    //Передаем внешний набор данных
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
     
    //Очищаем поле табличного документа
    ДокументРезультат.Очистить();
     
    //Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
     
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	
КонецПроцедуры



В результате получилось так:
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39441968
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Теперь проблема эти поля группы отцентрировать и задать нужный шрифт и фон. Через условное оформление не удаётся, т.к. эти поля группы там отсутствуют в списке оформляемых полей.
...
Рейтинг: 0 / 0
Отчет СКД (Таблица): вывести параметры в колонки
    #39442094
Rudge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отформатировал добавленные мной колонки в выводимом табличном документе:

Код: sql
1.
2.
3.
4.
5.
6.
ДиапазонЯчеек = ДокументРезультат.Область("R11C3:R11C11");
Если ДиапазонЯчеек <> Неопределено Тогда
	ДиапазонЯчеек.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
	ДиапазонЯчеек.ЦветФона = Новый Цвет(155, 194, 230);
	ДиапазонЯчеек.Шрифт = Новый Шрифт("Arial", 8, Истина);
КонецЕсли;



Такой геморрой с этим отчетом, на запрос уходит час, на оформление 3.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Отчет СКД (Таблица): вывести параметры в колонки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]