Как настроить вывод нулей после запятой в ценниках 1С:Розница

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

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

Метод 1. Настройка свойств ячейки в редакторе шаблонов

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

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

  1. Откроем обработку Печать этикеток и ценников.
  2. Перейдем в режим редактирования нужного шаблона ценника.
  3. Выделим ячейку, в которой должен отображаться параметр Цена.
  4. Откроем палитру свойств этой ячейки (правая кнопка мыши — Свойства).
  5. В разделе Макет найдем поле Заполнение. Крайне важно установить здесь значение Параметр. Если там стоит «Текст», никакое форматирование не применится.
  6. В поле Параметр выберем или впишем вручную Цена.
  7. Перейдем в раздел Значения и найдем поле Формат. Нажмем на кнопку выбора (три точки).
  8. В появившемся конструкторе форматной строки установим флаг «Дробная часть» и укажем значение «2». Программа автоматически сформирует строку ЧДЦ=2.

Важное замечание: Если вы используете тип заполнения Шаблон (например, чтобы вывести фразу «Цена: [Цена] руб.»), стандартное свойство Формат в нижней части палитры свойств работать не будет. В этом случае форматирование нужно прописывать внутри квадратных скобок прямо в тексте шаблона. Рассмотрим этот пример ниже.

Метод 2. Использование функции Формат внутри шаблона

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

Вместо простого упоминания параметра [Цена], пропишем следующую конструкцию:

[Формат(Цена, "ЧДЦ=2")] руб.

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

Метод 3. Программная установка формата в модуле обработки

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

Найдем участок кода, где происходит заполнение параметров области макета. Обычно это выглядит как присвоение значения переменной. Нам необходимо обернуть передаваемое число в функцию Формат. Рассмотрим пример кода:


// Пример заполнения параметра цены в коде 1С
ОбластьМакета = Макет.ПолучитьОбласть("Строка");
ВашеЧисло = Выборка.Цена; // Получаем числовое значение из базы
ОбластьМакета.Параметры.Цена = Формат(ВашеЧисло, "ЧЦ=15; ЧДЦ=2; ЧРД=,; ЧГ=0");
// Где:
// ЧЦ=15 — общее количество знаков
// ЧДЦ=2 — количество знаков после запятой
// ЧРД=, — разделитель дробной части (запятая)
// ЧГ=0 — отключение группировки разрядов (чтобы не было пробела в числе 1 000)

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

Почему формат может не применяться? Анализируем причины

Иногда, даже после установки ЧДЦ=2, нули все равно не появляются. Проанализируем возможные причины такого поведения системы:

Рекомендованная строка формата для ценников

Для максимально корректного отображения цен в российской розничной торговле мы рекомендуем использовать расширенную строку формата. Посмотрим на ее составляющие:

ЧЦ=15; ЧДЦ=2; ЧН=0,00; ЧГ=0

Разберем по шагам:

  1. ЧЦ=15 — резервирует достаточно места для больших сумм.
  2. ЧДЦ=2 — жестко задает два знака копеек.
  3. ЧН=0,00 — критически важный параметр. Он определяет, что будет выведено, если цена равна нулю. Без него в ценнике может отобразиться пустое поле, а с ним — «0,00».
  4. ЧГ=0 — убирает группировку разрядов. По стандарту в ценниках не всегда уместен пробел в тысячах (например, «1 250.00»), часто требуется слитное написание («1250.00»).

Таким образом, комбинируя правильную настройку заполнения ячейки (Параметр) и точную форматную строку, мы добьемся безупречного отображения ценников в соответствии со всеми требованиями законодательства и удобства покупателей.

← На главную