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

Программист 1С v8.3 (Управляемые формы)
← На главную

При разработке отчетов в системе компоновки данных (СКД) часто возникает задача экономии экранного пространства. Например, когда необходимо отобразить Статью затрат, а под ней в той же ячейке вывести Количество и Сумму. Стандартными средствами настройки "Выбранные поля" система обычно размещает данные в разных столбцах, но мы можем изменить это поведение несколькими способами. Проанализируем ситуацию и разберем по шагам наиболее эффективные методы реализации этой задачи.

Способ 1. Группировка полей с вертикальным расположением

Это самый простой и "штатный" способ настройки внешнего вида отчета без написания программного кода. Он позволяет визуально объединить несколько полей в одну колонку, располагая их друг под другом.

Рассмотрим пошагово, как это настроить в конструкторе СКД:

  1. Перейдем на закладку Настройки, затем выберем нужный вариант отчета или конкретную группировку.
  2. Откроем вкладку Выбранные поля.
  3. Выделим поля, которые мы хотим объединить (например, Количество, Цена, Сумма).
  4. Нажмем правую кнопку мыши и выберем пункт Сгруппировать поля....
  5. В появившемся окне зададим заголовок группы (например, "Показатели").
  6. Важный момент: в колонке Расположение для этой группы вместо значения "Авто" выберем Вертикально.

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

Способ 2. Использование вычисляемых полей и строковых выражений

Если нам нужно не просто расположить поля друг под другом, а сформировать сложную строку (например, "Кол-во: 10 шт., Сумма: 1000 руб."), следует использовать Вычисляемые поля. Этот метод дает полный контроль над текстом внутри ячейки. Для объединения данных из нескольких строк в одну ячейку подойдёт способ сбора значений колонки из нескольких строк в СКД.

Разберем пример создания такого поля:

  1. Перейдем на закладку Вычисляемые поля в СКД.
  2. Добавим новое поле с именем КомбинированныйПоказатель.
  3. В поле "Выражение" напишем формулу преобразования данных в строку.

При написании выражения важно помнить, что простое сложение чисел и строк вызовет ошибку, поэтому нужно использовать функцию Строка() или Формат(). Рассмотрим пример выражения:


Представление(СтатьяЗатрат) + " | " + 
Формат(Количество, "ЧДЦ=2") + " шт. " + 
Символы.ПС + 
"Итого: " + Формат(Сумма, "ЧЦ=15; ЧДЦ=2")

В данном примере мы использовали системную константу Символы.ПС (перенос строки). Чтобы этот перенос корректно отобразился в отчете, в настройках Условного оформления для этого поля необходимо установить свойство Размещение в значение Переносить.

Способ 3. Использование собственных макетов оформления

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

Выясним алгоритм работы с макетами:

  1. Переходим на закладку Макеты.
  2. Нажимаем "Добавить макет поля" и выбираем наше поле (например, СтатьиЗатрат).
  3. В области макета (которая выглядит как обычный табличный документ) оформляем одну ячейку так, как она должна выглядеть в итоге.
  4. В свойствах ячейки выбираем тип Шаблон.
  5. В тексте ячейки пишем параметры в квадратных скобках, например: [Статья] (остаток: [Количество]).
  6. Ниже, в таблице параметров макета, связываем Статья и Количество с соответствующими полями набора данных.

Этот метод позволяет превратить одну колонку в полноценную информационную панель со своим форматированием для каждого элемента.

Способ 4. Настройка расположения реквизитов основного поля

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

Проанализируем, как это работает:

  1. В наборе данных (закладка Набор данных) найдем основное поле (например, СтатьяЗатрат).
  2. У этого поля есть дочерние поля (реквизиты). В колонке Оформление или через контекстное меню настройки поля можно найти параметр Расположение реквизитов.
  3. Установите значение Вместе с основным полем.
  4. Теперь в настройках "Выбранные поля" достаточно выбрать только СтатьяЗатрат, и ее реквизиты (если они выбраны) будут автоматически "приклеиваться" к ней в одну ячейку.

Важные замечания по типам данных

При объединении полей в одну колонку через строковые выражения (Способ 2) мы теряем возможность использовать стандартные агрегатные функции (Сумма, Минимум, Максимум) для этой колонки, так как она становится текстовой. Если вам нужны итоги в подвалах отчета, рекомендуется:

Таким образом, мы выяснили, что для простого визуального объединения лучше всего использовать группировку полей с вертикальным расположением, а для сложного форматирования — макеты оформления или вычисляемые поля с использованием функции Формат().

← На главную