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

13.09.25

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

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

Файлы

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

Наименование Скачано Купить файл
Заголовок СКД программно
.dt 41,55Kb
0 2 500 руб. Купить

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

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

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

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

Причины программного изменения заголовка СКД - когда выполняются оба условия.
1) Когда нельзя использовать макеты ввиду запрета жесткого задания состава и порядка колонок заказчиком -  для целей предоставления возможности их изменения их состава в пользовательском режиме. (Реальный случай из практики)
2)Когда нужно менять заголовок в зависимости от каких то условий например подставлять в заголовок количество дней и текст должен каждый раз меняется при этом от каких либо условий.

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

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

 

 

 

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

 

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

 

 

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

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

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

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

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

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

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

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

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

 

 

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

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

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

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

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

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

 

 

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

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

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

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

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

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

 

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


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

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

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

 

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

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

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

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

См. также

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

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

16500 руб.

02.09.2020    246481    1353    419    

1131

Инструментарий разработчика СКД Программист 1С 8.3 Бесплатно (free)

В этой статье представлен СКДБилдер — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    5084    286    shapa_pro    25    

66

СКД Программист 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    15819    ovetgana    112    

105

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

01.07.2025    9221    krasnoshchekovpavel    5    

67

СКД Программист Стажер 1С:Предприятие 8 Россия Бесплатно (free)

Несколько способов управления формами выбора параметров и отборов СКД.

10.04.2025    8405    Neti    0    

41

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

27.02.2025    15560    ovetgana    50    

93

СКД Программист 1С:Предприятие 8 Бесплатно (free)

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

24.12.2024    13131    Akcium    17    

46

СКД Механизмы типовых конфигураций Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    9611    AlexeyPROSTO_1C    1    

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

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

Название поправлю и очевидно вам не понятно когда имеет смысл програмно менять заголовок. Это приходится делать в 2 случаях. Наверное стоит мне тоже описать их. Чуть позже добавлю в статью примеры.
9. user1800683 1 13.09.25 19:12 Сейчас в теме
добавил причины Причины программного изменения заголовка СКД - когда выполняются оба условия.
1) Когда нельзя использовать макеты ввиду запрета жесткого задания состава и порядка колонок заказчиком - для целей предоставления возможности их изменения их состава в пользовательском режиме. (Реальный случай из практики)
2)Когда нужно менять заголовок в зависимости от каких то условий например подставлять в заголовок количество дней и текст должен каждый раз меняется при этом от каких либо условий.
5. Slaughter93 05.08.25 10:32 Сейчас в теме
(4) Согласен, конечно заголовок группировки можно поменять стандартными средствами.
Но бывают моменты когда не рекомендуется изменять схему компоновки данных типовых отчетов с помощью расширения. Можно расширить в модуле объекта при компоновки результата и поставить такую заплатку.
7. user625107_barabambler1s 07.08.25 09:55 Сейчас в теме
А макеты для кого придумали? Что вообще тут происходит?
8. user1800683 1 13.09.25 19:11 Сейчас в теме
Добавил Причины программного изменения заголовка СКД - когда выполняются оба условия.
1) Когда нельзя использовать макеты ввиду запрета жесткого задания состава и порядка колонок заказчиком - для целей предоставления возможности их изменения их состава в пользовательском режиме. (Реальный случай из практики)
2)Когда нужно менять заголовок в зависимости от каких то условий например подставлять в заголовок количество дней и текст должен каждый раз меняется при этом от каких либо условий.
10. Oaifapio 30.09.25 09:06 Сейчас в теме
Если заголовок нужно изменить в зависимости от параметров отчета, то как быть? Ведь параметры заполняются в макете компоновки только после КомпоновщикМакета.Выполнить().
Для отправки сообщения требуется регистрация/авторизация