Как в СКД добавить текст или слово к выводимому полю

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

При разработке отчетов на схеме компоновки данных (СКД) в «1С:Предприятие» часто возникает задача изменить стандартный вывод значений. Например, добавить статическое слово к группировке (превратить «Иванов» в «Итого по: Иванов»), дописать единицу измерения к числу (добавить «%» или «руб.») или полностью переопределить представление ячейки. При этом важно сделать так, чтобы оформление применялось локально — только на уровне группировок, не затрагивая детальные записи, и сохраняло стандартную расшифровку (интерактивный клик по ссылке).

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

Способ 1. Использование пользовательских полей (Быстро и без программирования)

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

Разберем процесс настройки по шагам:

  1. Откройте схему компоновки данных и перейдите на вкладку «Настройки» (вкладка в верхней части окна схемы).
  2. В нижней части экрана перейдите на вкладку «Пользовательские поля».
  3. Нажмите кнопку «Добавить» и выберите пункт «Новое поле-выражение».
  4. Задайте имя пользовательского поля, например: КонтрагентСПрефиксом.
  5. В открывшемся окне настроек заполните два ключевых поля:
    • Выражение детальных записей: укажите здесь исходное системное поле, например: Контрагент. В детальных строках имя будет выводиться в стандартном виде.
    • Выражение итогов: напишите формулу конкатенации строк:
      "Итого по: " + Строка(Контрагент)
  6. Перейдите во вкладку «Структура» вашего отчета. Для нужной группировки замените стандартное выбранное поле Контрагент на вновь созданное пользовательское поле КонтрагентСПрефиксом.

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

Способ 2. Использование макетов полей (Профессиональный метод с сохранением расшифровки)

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

Рассмотрим, как правильно настроить макет поля для группировки:

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

Теперь при формировании отчета СКД автоматически подставит нужное текстовое сопровождение, сохранив при этом стандартную навигацию по ссылкам «1С».

Способ 3. Локальное условное оформление группировки (Использование свойства «Текст»)

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

Чтобы обойти это ограничение и красиво решить задачу с помощью условного оформления, нам потребуется свойство «Текст» в комбинации с вычисляемыми полями.

Выясним алгоритм действий по шагам:

  1. Перейдите на вкладку «Вычисляемые поля» вашей схемы компоновки данных.
  2. Добавьте новое поле. Назовите его, например, ПредставлениеДляГруппировки.
  3. В колонке «Выражение» напишите формулу добавления текста:
    "Итого по: " + Строка(Контрагент)
  4. Перейдите на вкладку «Настройки» и выберите в структуре отчета конкретную группировку (например, группировку по полю Контрагент).
  5. Перейдите на вкладку «Условное оформление» именно этой группировки (а не всего отчета!).
  6. Добавьте новый элемент условного оформления:
    • В параметрах оформления найдите свойство «Текст» и нажмите кнопку выбора.
    • Вместо ввода статической строки нажмите кнопку выбора типа данных (кнопка с буквой «Т») и укажите, что значением будет Поле компоновки данных.
    • Выберите созданное ранее вычисляемое поле: ПредставлениеДляГруппировки.
  7. В оформляемых полях укажите только то поле, отображение которого мы настраиваем (в нашем случае — Контрагент).

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

Частный случай: Добавление статического суффикса (например, знака процента «%» или валюты)

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

Проанализируем пример настройки числового формата со знаком процента:

  1. Зайдите в условное оформление отчета или конкретного поля.
  2. В параметрах оформления выберите свойство «Формат».
  3. Нажмите кнопку выбора «...» для открытия конструктора форматной строки.
  4. В поле конструктора задайте нужную точность (например, 2 десятичных знака) и в поле суффикса укажите нужный символ.

Конструктор сформирует форматную строку следующего вида:


ЧДЦ=2; ЧФ='0" %"'

Обратите внимание на синтаксис: сам символ процента обязательно помещается в двойные кавычки внутри общих одинарных кавычек параметра ЧФ. Это позволяет СКД корректно интерпретировать текст как статический суффикс числового значения.

Способ 4. Использование «Выражения представления» в наборе данных

Этот способ подходит для глобального переопределения вывода поля во всем отчете. На вкладке «Наборы данных» у каждого поля есть колонка «Выражение представления». Если прописать туда формулу:


Строка(Контрагент) + " (%)"

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

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

← На главную