При разработке отчетов в системе компоновки данных (СКД) часто возникает задача визуального представления числовых данных в виде процентов. Например, при расчете доходности, маржинальности или выполнения плана. Существует несколько способов реализации этой задачи: от простого изменения заголовка до использования сложных макетов. В данной статье мы подробно разберем каждый из них, проанализируем их плюсы и минусы, а также выясним, как сохранить возможность дальнейшей обработки данных в Excel.
Самый простой и зачастую самый эффективный способ — вынести информацию о единицах измерения в заголовок отчета. Рассмотрим ситуацию, когда в колонке выводится много строк данных. Постоянное повторение знака % в каждой ячейке может создавать визуальный шум («рябить»), что затрудняет восприятие цифр.
Разберем, как это реализовать:
Доходность установим свойство Заголовок, указав значение «Доходность, %».Важно помнить про системную настройку Автопозиция ресурсов. Если она включена, платформа может автоматически изменять заголовки. Чтобы заголовок оставался статичным, рекомендуется задавать его непосредственно в настройках конкретного варианта отчета на вкладке Выбранные поля.
Этот метод считается наиболее профессиональным, так как он позволяет добавить символ процента визуально, сохраняя при этом тип данных Число. Это критически важно для корректного отображения итогов по группировкам и последующей работы с отчетом в формате Excel.
Проанализируем настройку форматной строки:
ЧЦ=10; ЧДЦ=2; ЧФ='Ч %'.Разберем подробнее, что означает этот код. Символ Ч в кавычках внутри форматной строки является служебным — он указывает системе, куда именно подставить само число. Преимущество в том, что для 1С это значение остается числом 15.5, а пользователь видит 15.5 %.
Если требуется нестандартное оформление или сложный шаблон вывода, мы можем прибегнуть к созданию макета. Этот способ дает полную гибкость в визуализации.
Выполним следующие шаги для настройки макета:
Доходность).
[Доходность] %
Доходность. Убедимся, что в колонке Выражение указано соответствующее поле ресурса.Важное замечание: При использовании макета или строковых функций (как в следующем методе) число превращается в строку. Если вы планируете экспорт данных в Excel, вы не сможете суммировать эти значения или строить по ним диаграммы, так как для Excel это будет обычный текст.
Иногда разработчики пытаются добавить знак процента прямо в формулу ресурса. Посмотрим на пример такой конструкции:
Формат(Сумма(Доходность), "ЧДЗ=2") + " %"
Хотя этот способ кажется быстрым, мы не рекомендуем его использовать для основных данных отчета. Превращение числа в строку на уровне расчета ресурсов может привести к тому, что СКД «сойдет с ума» при попытке рассчитать общие итоги по иерархии или применить другие правила оформления. Используйте этот метод только для специфических информационных полей.
Часто в базе данных доходность хранится не в целых числах (15), а в долях единицы (0.15). Если применить формат ЧФ='Ч %' к числу 0.15, мы получим некорректное отображение 0.15 %. Чтобы исправить это, воспользуемся механизмом вычисляемых полей.
Рассмотрим порядок действий:
ДоходностьПроцент.
ПолеДоходность * 100
Существует «золотая середина» между числом и строкой — свойство Выражение представления. Это позволяет хранить в поле число (для сортировки и расчетов), но показывать пользователю любой текст.
Проанализируем ситуацию:
Строка(ПолеДоходность) + " %".При выводе процентов отчет может выглядеть перегруженным, если в нем много нулевых значений вида 0.00 %. Выясним, как сделать отчет чище. В настройках Условного оформления можно добавить дополнительное условие: если значение равно 0, то в параметре Текст указать прочерк - или оставить поле пустым. Это позволит акцентировать внимание пользователя только на значимых данных.
Подводя итог, можно сказать, что для большинства бизнес-задач оптимальным выбором будет Условное оформление с использованием форматной строки. Это сохраняет техническую целостность данных и обеспечивает профессиональный вид отчета как в интерфейсе 1С, так и при экспорте в сторонние приложения.