Как во всех отчетах УТ 11.4 убрать отображение нулей после запятой в количестве?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Вопрос о приведении формата вывода чисел к единому виду — частая задача при настройке интерфейса для пользователей. Нередко возникает желание «одной кнопкой» изменить отображение дробной части для всех отчетов в системе. Давайте разберем, почему в типовых конфигурациях, таких как УТ 11.4, не существует глобального переключателя для этого параметра, и как правильно решить задачу, не нарушая целостность системы.

Почему нельзя просто «отключить» нули для всех отчетов?

Прежде всего, важно понимать, что архитектура 1С:Предприятие и типовых решений предполагает независимость объектов метаданных. Отчеты — это самостоятельные объекты, каждый из которых имеет свои уникальные наборы данных, поля и правила вывода. Попытка внесения изменений в общие модули или глобальные формы для принудительного округления всех чисел приведет к ряду критических проблем:

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

Метод 1: Настройка через «Условное оформление» в конкретном отчете

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

Рассмотрим пошагово, как это сделать:

  1. Откройте нужный отчет и нажмите кнопку Настройки.
  2. Переключитесь в Расширенный режим, если он еще не активен.
  3. Перейдите на вкладку Оформление.
  4. Нажмите кнопку Добавить, чтобы создать новое правило.
  5. В поле Оформление найдите параметр Формат.
  6. В значении формата укажите строку типа ЧДЦ=0 (что означает число, дробная часть = 0).
  7. Нажмите кнопку Выбрать поле и укажите те поля, которые должны подчиняться этому правилу (например, Количество, КоличествоОстаток и т.д.).

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

Метод 2: Использование Вариантов отчетов

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

Почему это лучше:

Технический взгляд: Что делать разработчику?

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


// Пример программного добавления формата через СКД (в модуле отчета)
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Настройки = КомпоновщикНастроек.ПолучитьНастройки();
    ЭлементОформления = Настройки.УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Формат", "ЧДЦ=0");
    // Указываем поле, к которому применяем формат
    ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("Количество");
КонецПроцедуры

Однако помните, что даже этот метод требует тестирования, так как при обновлении конфигурации структура метаданных может измениться, и программные обращения к полям могут стать неактуальными. Лучшим подходом всегда остается обучение пользователей работе с функционалом Настройки отчетов, который является мощным и гибким инструментом в руках подготовленного специалиста.

← На главную