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

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    209221    1146    413    

1040

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

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

01.07.2025    3884    krasnoshchekovpavel    3    

61

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

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

27.02.2025    12242    ovetgana    50    

91

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

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

24.12.2024    9571    Akcium    17    

46

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

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

15.05.2024    17399    implecs    8    

52

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

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

3 стартмани

05.02.2024    10811    73    obmailok    21    

85

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

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

1 стартмани

31.01.2024    4291    7    Yashazz    2    

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

пустой программный заголовок, но стандартными средствами СКД это сделать не получится
Прекрасно все делается стандартными средствами
Прикрепленные файлы:
ВнешнийОтчет3.erf
6. user1800683 05.08.25 11:15 Сейчас в теме
(4)
стой программный заголовок, но стандартными средствами СКД это сделать не получится
Прекрасно все делается
.

Название поправлю и очевидно вам не понятно когда имеет смысл програмно менять заголовок. Это приходится делать в 2 случаях. Наверное стоит мне тоже описать их. Чуть позже добавлю в статью примеры.
5. Slaughter93 05.08.25 10:32 Сейчас в теме
(4) Согласен, конечно заголовок группировки можно поменять стандартными средствами.
Но бывают моменты когда не рекомендуется изменять схему компоновки данных типовых отчетов с помощью расширения. Можно расширить в модуле объекта при компоновки результата и поставить такую заплатку.
7. user625107_barabambler1s 07.08.25 09:55 Сейчас в теме
А макеты для кого придумали? Что вообще тут происходит?
Для отправки сообщения требуется регистрация/авторизация