При разработке отчетов в системе компоновки данных (СКД) часто возникает задача вывести числовое значение вместе с обозначением валюты или единицы измерения, например 121,44 руб. вместо обычного 121,44. При этом разработчики часто пытаются решить задачу через стандартное свойство Оформление (параметр Формат), однако стандартная форматная строка 1С предназначена исключительно для форматирования числовых параметров (разрядность дроби, группировка, разделители) и не поддерживает произвольные текстовые суффиксы внутри формата ячейки.
Разберем основные практические способы добавления обозначения руб. к числовым полям в СКД без необходимости рисовать весь макет отчета вручную, а также проанализируем нюансы каждого подхода.
Выясним причину, почему стандартный конструктор формата не позволяет просто дописать текст:
ЧДЦ, ЧРД, ЧГ, ЧН) управляют исключительно числовым представлением.Рассмотрим наиболее быстрый способ настройки отображения поля прямо в наборе данных схемы компоновки данных. На вкладке Наборы данных у каждого поля доступна колонка Выражение представления.
Если мы просто напишем конкатенацию со строкой вида Строка(Поле) + " руб.", то число потеряет форматирование незначащих нулей (например, число 120,50 превратится в 120,5 руб.) и разделители групп. Поэтому правильнее использовать функцию Формат():
Формат(ПрайсДИСТР, "ЧДЦ=2; ЧРД=,; ЧГ=3,0") + " руб."
Разберем по шагам, как применить этот способ:
Сумма или Цена).Формат() и добавлением суффикса.
Формат(Сумма(СуммаОборот), "ЧДЦ=2; ЧРД=,; ЧГ=3,0") + " руб."
Проанализируем альтернативный подход, который сохраняет числовую природу значения в ячейках и позволяет выводить валюту рядом с числом без слияния в одну текстовую строку.
Если в наборе данных присутствует реквизит валюты (из регистра или документа), либо если валюта постоянна, выполним следующие действия:
ВалютаПредставление с выражением "руб.".Сумма) и строковое поле валюты (ВалютаПредставление).ЧДЦ=2).В результате СКД выведет оба значения в пределах одной визуальной колонки, сохранив возможность работы со структурированными данными.
Если требуется строго настроить визуальное отображение конкретной колонки без создания общего макета всего отчета, воспользуемся макетом отдельного поля:
[Сумма] руб..Сумма укажем требуемый числовой формат (например, ЧДЦ=2; ЧГ=3,0).Посмотрим на практические последствия выбора каждого способа при дальнейшей работе пользователей с отчетом:
руб..Число, благодаря чему выгрузка в сторонние форматы сохраняет исходные данные доступными для математической обработки.