При разработке отчетов в системе компоновки данных (СКД) часто возникает задача компактного представления информации: например, объединить Номер документа и Дату документа в одну колонку вида № 123 от 15.05.2024 или вывести ссылку с настраиваемым представлением. Рассмотрим детально все рабочие способы реализации этой задачи в платформе 1С:Предприятие, проанализируем их преимущества, ограничения и влияние на сортировку и расшифровку данных.
Этот способ является самым простым и не требует изменения схемы данных или написания выражений. Платформа 1С предоставляет встроенный механизм группировки колонок.
Разберем по шагам порядок настройки:
Номер и Дата).— Вместе: поля будут отображаться в одной ячейке таблицы через разделитель (запятую или пробел).
— В отдельной колонке: поля будут выведены в рамках одной общей колонки, но друг под другом в отдельных строках.
Авто или Не использовать, а в поле Заголовок введем понятное наименование колонки, например Документ.Главные плюсы способа: сохраняется оригинальный тип данных каждого поля, работает стандартное форматирование даты и чисел, а также полностью сохраняется встроенный механизм расшифровки значений (drill-down).
Если требуется получить строго определенный шаблон строки (например, добавить префикс № и предлог от), наиболее гибким инструментом является создание вычисляемого поля на уровне языка выражений СКД.
Разберем настройку по шагам:
ДокументПредставление.Документ.Строка() и Формат():
"№ " + Строка(Номер) + " от " + Формат(Дата, "ДФ=dd.MM.yyyy")
Посмотрим на особенности этого решения: функция Формат() в СКД позволяет гибко управлять представлением даты (например, ДЛФ=DD выведет дату прописью с месяцем словом, а ДФ=dd.MM.yyyy сформирует стандартный вид 01.01.2024).
После создания поля перейдем на вкладку Настройки и добавим ДокументПредставление в список Выбранные поля.
Бывают ситуации, когда поле Номер должно участвовать в отборах и группировках именно как самостоятельное поле, но визуально в отчете пользователь должен видеть и номер, и дату.
Проанализируем, как настроить выражение представления:
Номер.
Строка(Номер) + " от " + Формат(Дата, "ДФ=dd.MM.yyyy")
В этом случае значением поля для платформы остается исходный номер документа, но в отчет и печатные формы выводится сформированная строка. Это позволяет избежать дублирования колонок и сохраняет корректную типизацию данных.
Если требуется тонкое визуальное оформление ячейки (шрифты, цвета, объединение ячеек нестандартным образом), применим механизм макетов схемы компоновки данных.
Разберем порядок создания макета:
Ссылка или Номер).[Номер] от [Дата].Дата, указав нужный формат даты.Ссылка), чтобы при двойном клике пользователь переходил в документ.Если отчет уже работает в рабочей базе, а пользователю или аналитику нужно объединить поля без изменения конфигурации и открытия конфигуратора, разберем решение через пользовательские поля:
Выясним частые проблемы, возникающие при объединении полей, и пути их решения:
+ приводит к ошибкам или громоздким конструкциям, так как в языке запросов 1С отсутствует функция Формат(). Склеивание строк рекомендуется выполнять на уровне СКД (в вычисляемых полях или выражениях представления), а не в запросе.Дата.Ссылка, настроив для него Выражение представления.