Как в СКД вывести число с суффиксом валюты или единицы измерения

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

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

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

Ограничения стандартного форматирования чисел

Выясним причину, почему стандартный конструктор формата не позволяет просто дописать текст:

  1. Параметры языка форматных строк 1С (такие как ЧДЦ, ЧРД, ЧГ, ЧН) управляют исключительно числовым представлением.
  2. Попытка вписать произвольный текст прямо в строку формата приведет либо к ошибке формата, либо к некорректному отображению.
  3. Любое прямое преобразование числа в строку до вывода в отчет меняет тип значения ячейки результирующего табличного документа на текстовый, что препятствует последующим математическим операциям при выгрузке отчета в сторонние табличные процессоры.

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

Рассмотрим наиболее быстрый способ настройки отображения поля прямо в наборе данных схемы компоновки данных. На вкладке Наборы данных у каждого поля доступна колонка Выражение представления.

Если мы просто напишем конкатенацию со строкой вида Строка(Поле) + " руб.", то число потеряет форматирование незначащих нулей (например, число 120,50 превратится в 120,5 руб.) и разделители групп. Поэтому правильнее использовать функцию Формат():

Формат(ПрайсДИСТР, "ЧДЦ=2; ЧРД=,; ЧГ=3,0") + " руб."

Разберем по шагам, как применить этот способ:

  1. Открываем схему компоновки данных и переходим на вкладку Наборы данных.
  2. Находим числовое поле (например, Сумма или Цена).
  3. В колонке Выражение представления прописываем выражение с вызовом функции Формат() и добавлением суффикса.
  4. Если поле является ресурсом отчета и его итоги в группировках также должны выводиться с суффиксом, на вкладке Ресурсы для поля указываем выражение расчета с аналогичным представлением: Формат(Сумма(СуммаОборот), "ЧДЦ=2; ЧРД=,; ЧГ=3,0") + " руб."

Способ 2. Вывод числа и валюты отдельными полями в группе «Вместе»

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

Если в наборе данных присутствует реквизит валюты (из регистра или документа), либо если валюта постоянна, выполним следующие действия:

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

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

Способ 3. Использование точечного макета поля

Если требуется строго настроить визуальное отображение конкретной колонки без создания общего макета всего отчета, воспользуемся макетом отдельного поля:

  1. Перейдем на вкладку Макеты в СКД.
  2. Нажмем кнопку Добавить макет поля и выберем целевое поле отчета.
  3. В появившейся ячейке макета установим тип заполнения Шаблон.
  4. Введем текст шаблона: [Сумма] руб..
  5. В свойствах параметра ячейки Сумма укажем требуемый числовой формат (например, ЧДЦ=2; ЧГ=3,0).

Влияние вариантов на экспорт в Excel

Посмотрим на практические последствия выбора каждого способа при дальнейшей работе пользователей с отчетом:

  1. Строковое представление: При использовании выражений представления со сложением строк или шаблонов макета ячейка в табличном документе получает строковый тип. Пользователи, выгрузившие отчет в Excel, не смогут сразу применить формулы автосуммирования или среднего значения без предварительной очистки данных от текста руб..
  2. Раздельные поля в группе: Числовое поле сохраняет тип Число, благодаря чему выгрузка в сторонние форматы сохраняет исходные данные доступными для математической обработки.
← На главную