Система компоновки данных (СКД). Часть 4.

Здравствуйте, уважаемый читатель! У нас очередной урок по основам системы компоновки. В третьей части вы познакомились с функциями языка выражений СКД, увидели особенности работы системы компоновки, а также разобрались с основными настройками полей компоновки.  А сейчас мы рассмотрим новый материал. Поехали!

  1. Дополнительные настройки полей СКД.
  2. Вычисляемые поля
  3. Как передавать параметры и отборы в отчет, построенный на СКД без создания формы отчета?
  4. Как выровнять заголовки столбцов по центру в отчете СКД?

Дополнительные настройки полей СКД.

Колонка «Тип значения» позволяет указать тип данных для поля компоновки. Зачем указывать тип, например для поля «Номенклатура», если итак известно какого он типа? Это необходимо в случае, если поле компоновки составного типа. Можно выбрать определенный тип, тогда при отборе по этому полю будут выбираться значения данного типа.

Колонка «Доступные значения» позволяет указать доступные для выбора значения и ограничить выбор пользователя определёнными рамками.

Колонка «Оформление» позволяет задавать оформление полю компоновки, не используя макеты. Можно указать цвет шрифта, цвет рамки, ориентацию текста и т.д.

Колонка «Параметры редактирования» позволяет указать, как редактировать поле компоновки. Например, можно указать быстрый выбор элементов из списка в отборе. По умолчанию поле компоновки все параметры редактирования наследует от объекта метаданных.

Вычисляемые поля

На закладке «Вычисляемые поля» компоновки данных можно создавать свои вычисляемые поля.

Зачем нужны вычисляемые поля, если их можно создавать на уровне запроса? Не все поля можно описать с помощью запроса. Если нужно составить сложное поле из разных наборов данных, например типа запрос и объект, тогда без вычисляемых полей не обойтись. Добавить поле компоновки данных нельзя, если источником данных является запрос и стоит автозаполнение, а с помощью вычисляемых можно добавить сколько угодно полей.

В колонке вычисляемого поля «Выражение» нужно написать произвольное выражение, которое использует поля компоновки данных, обращаясь по их пути (колонка «Путь» на закладке «Наборы данных»). Либо можно использовать функции математического преобразования, либо обращаться к функциям общих модулей. Например, запишем в колонке «Путь к данным» название вычисляемого поля «Отклонение», а в поле «Выражение» следующее:

Сумма - Цена*Количество

Посмотрите ещё один пример с применением функций СКД Массив и СоединитьСтроки, а ещё можно скачать отчёт по ГТД с использованием этих функций.

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

Как передавать параметры и отборы в отчет, построенный на СКД без создания формы отчета?

&НаКлиенте // Передача параметров в отчет СКД
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	Отбор = Новый Структура("Номенклатура", ПараметрКоманды);
	ФиксированныеНастройки = ПолучитьФиксированныеНастройки();
	ПараметрыФормы = Новый Структура("СформироватьПриОткрытии, 
	Отбор, КлючВарианта, ФиксированныеНастройки", Истина, Отбор,
	"ВариантОтчетаПоПродажам", ФиксированныеНастройки);
	ОткрытьФорму("Отчет.ОтчетПоПродажам.Форма", ПараметрыФормы);
КонецПроцедуры
&НаСервере
Функция ПолучитьФиксированныеНастройки()
	ОтчетПоПродажам = Отчеты.ОтчетПоПродажам.Создать();
	СКД = ОтчетПоПродажам.СхемаКомпоновкиДанных;
	Настройки = СКД.НастройкиПоУмолчанию;

	НачалоПериода = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(
	Новый ПараметрКомпоновкиДанных("НачалоПериода"));
	НачалоПериода.Значение = НачалоМесяца(ТекущаяДата());
	НачалоПериода.Использование = Истина;

	НачалоПериода = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(
	Новый ПараметрКомпоновкиДанных("КонецПериода"));
	КонецПериода.Значение = КонецМесяца(ТекущаяДата());
	КонецПериода.Использование = Истина;

	Возврат Настройки;
КонецФункции // ПолучитьФиксированныеНастройки()

Как выровнять заголовки столбцов по центру в отчете СКД?

Нужно задать два параметра в поле «Оформление» на закладке «Наборы данных»:

Горизонтальное положение: Центрировать
Вертикальное положение: Центрировать


Также на закладке «Настройки» внизу вы найдете еще одну закладку: «Условное оформление». Там для каждой группировки, параметра и т.д. можно задать оформление, какое вы хотите.

Кажется, все рассказал! Как вы помните у вас есть возможность задавать вопросы, если возникли таковые. Постараюсь ответить. В будущем планирую написать еще статьи по этой теме, поэтому не забудьте подписаться на обновления нашего сайта, чтобы не пропустить! Также, обязательно составлю тест для закрепления материала из этого урока.


Также у вас есть возможность скачать книгу по основам СКД

ПОДПИСКА