Программное изменение заголовка отчета СКД

04.08.25

Разработка - СКД

Иногда нужно сделать пустой программный заголовок, но стандартными средствами СКД это сделать не получится. Решение проблемы в статье

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
(только для физ. лиц)
Заголовок СКД программно
.dt 41,55Kb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Всем добрый день. Иногда бывает необходимо поменять в СКД преогромно заголовок.

Прямых инструкций я не встречал. Поэтому предполагаю, что данная информация может быть вам полезна.

Создадим отчет с группировкой Период и подчиненной ей группировкой Сотрудник и ресурс Начисление.

 

 

 

Также у группировки период сделаем синоним Месяц

 

Сформируем отчет

 

 

Чтобы перехватить программное заполнение заголовка, нужно в модуле отчета создать процедуру. ПриКомпоновкеРезультата.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	
КонецПроцедуры

И заполнить ее стандартным образом (если ее так не заполнять, то будет выполняться то же самое, но если мы ее заполним, то у нас появится возможность перехватывать обработку данных на любом этапе, в этом смысл ее заполнения)

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; 
	ЭлементыНастроек = Настройки.Выбор.Элементы;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать( МакетКомпоновки, , ДанныеРасшифровки);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Затем необходимо найти в настройках нужные нам поля и поменять нужный нам заголовок поля.

	ЭлементыНастроек = Настройки.Выбор.Элементы;

		Для Каждого Элемент Из ЭлементыНастроек Цикл		
			Если Строка(Элемент.Поле) = "Период" Тогда
				Элемент.Заголовок = "Дата"
			КонецЕсли; 
		КонецЦикла;
	
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

Результат теперь будет выглядеть так:

 

 

Как видим, у группировки Периода заголовок Месяц поменялся на заголовок Дата.

Данный метод также позволяет решать проблему пустого заголовка. Сделать заголовок пустым через настройки не получится, максимум – можно поставить точку.

 Совсем пустым СКД сделать ее не даст, но программным образом это можно сделать.

	ЭлементыНастроек = Настройки.Выбор.Элементы;

	Для Каждого Элемент Из ЭлементыНастроек Цикл
		Если Строка(Элемент.Поле) = "Период" Тогда
			Элемент.Заголовок = " "
		КонецЕсли; 
	КонецЦикла;
	
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;

То есть делаем то же самое, но в заголовке пишем пробел.

Сформируем отчет

 

 

Теперь видим, что  у группировки Периода заголовок Месяц поменялся на пустой заголовок.

Дополнительная информация, как мы видим, что параметры находятся в данном случае через преобразование к строке:

Если Строка(Элемент.Поле) = "Период" Тогда

Но это не совсем правильный способ.  Для более корректного способа нужно создать новую переменную:

	ПараметрКомпоновкиДанныхПериод = Новый ПолеКомпоновкиДанных("Период");

	Для Каждого Элемент Из ЭлементыНастроек Цикл		
		Если Элемент.Поле = ПараметрКомпоновкиДанныхПериод Тогда
			Элемент.Заголовок = " "
		КонецЕсли; 
	КонецЦикла;

 

Конечный код будет выглядит так:


Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; 
	ЭлементыНастроек = Настройки.Выбор.Элементы;
	ПараметрКомпоновкиДанныхПериод = Новый ПолеКомпоновкиДанных("Период");

	Для Каждого Элемент Из ЭлементыНастроек Цикл
		
		Если Элемент.Поле = ПараметрКомпоновкиДанныхПериод Тогда
			Элемент.Заголовок = " "
		КонецЕсли; 
		
	КонецЦикла;
	
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать( МакетКомпоновки, , ДанныеРасшифровки);
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

 

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом КОРП, редакция 3.1, релизы 3.1.25.40

Вступайте в нашу телеграмм-группу Инфостарт

СКД заголовок Отчет программное пустой пустой заголовок программное изменение сравнение параметров СКД параметры СКД

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    202839    1116    410    

1022

СКД Программист Система компоновки данных Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    3161    krasnoshchekovpavel    3    

58

СКД Программист 1С v8.3 Система компоновки данных Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    11701    ovetgana    50    

89

СКД Программист 1С v8.3 Система компоновки данных Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    8948    Akcium    13    

46

Запросы СКД Программист Стажер Система компоновки данных Россия Бесплатно (free)

Часто при разработке отчетов в СКД возникает ситуация, когда не совсем понятно, почему отчет выводит не те данные, которые нужны, либо не выводит вовсе. Возникает потребность увидеть конечный запрос, который формирует СКД. Как это сделать, рассмотрим в этой статье.

15.05.2024    16543    implecs    8    

52

Инструментарий разработчика СКД Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

По выбранной схеме компоновки данных генерирует программный код, который генерирует СКД, аналогичную исходной схеме. Есть дополнительные инструменты для просмотра дерева схемы, сравнение исходной схемы и полученной по коду, а также сравнение изменений в сгенерированном коде для исходной схемы и для измененной.

3 стартмани

05.02.2024    10393    72    obmailok    21    

84

Запросы СКД Программист 1С v8.3 Управляемые формы 1C:Бухгалтерия Абонемент ($m)

Есть список полей в виде текста, или запрос - закидываем в набор СКД.

1 стартмани

31.01.2024    4063    7    Yashazz    2    

34
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Slaughter93 04.08.25 15:23 Сейчас в теме
Хороший материал, можно использовать как шпаргалку
2. ixijixi 2034 04.08.25 16:21 Сейчас в теме
3. Slaughter93 05.08.25 00:31 Сейчас в теме
(2) вы не согласны с постом?
Оставьте свое сообщение