К статье
Практический материал

Разработка и Конфигурация · 8 мин

Как открыть конструктор форматной строки в 1С

Как открыть конструктор форматной строки в 1С: через свойства поля, палитру свойств и код. Разбор параметров, примеры форматов чисел и дат, типичные ошибки.

Форматная строка в 1С управляет тем, как значение отображается пользователю: количеством знаков после запятой, видом даты, представлением пустого значения, разделителями групп разрядов. Чтобы не писать строку формата вручную и не запоминать синтаксис, в конфигураторе есть визуальный конструктор форматной строки — он собирает параметры через диалог и подставляет готовое выражение.

Конструктор доступен в нескольких местах: в палитре свойств у полей формы и реквизитов, в редакторе макетов, в настройках отчётов на СКД, а также при редактировании кода через меню «Текст». Ниже разобраны все способы открытия, разбор параметров конструктора и типичные ошибки при работе с форматами.

Что такое форматная строка и где она применяется

Форматная строка — это параметр, который определяет представление значения без изменения самого значения. Число 1234567,89 можно показать как «1 234 567,89», «1234567,890» или «1 234 567 руб. 89 коп.» — данные в базе при этом не меняются, меняется только отображение.

Формат задаётся в свойстве «Формат» у полей ввода, надписей, колонок таблиц, реквизитов объектов, ячеек табличных документов и полей компоновки данных. Кроме того, форматная строка передаётся параметром во встроенную функцию Формат(), которая возвращает отформатированное представление значения в виде строки.

Открытие конструктора через палитру свойств

Основной способ — через палитру свойств в конфигураторе. Откройте форму объекта, выделите нужный элемент (поле ввода, колонку таблицы, надпись) и найдите в палитре свойство «Формат». Справа от поля значения появится кнопка выбора с троеточием — нажмите её, и откроется конструктор форматной строки.

Тот же приём работает для реквизитов объектов метаданных: выделите реквизит справочника или документа в дереве конфигурации, откройте палитру свойств и найдите «Формат». Учтите, что у реквизитов это свойство влияет на представление по умолчанию во всех формах, где не задан собственный формат.

Порядок действий
  1. 1
    Откройте конфигуратор и нужную форму или объект метаданных
  2. 2
    Выделите поле, колонку или реквизит
  3. 3
    В палитре свойств найдите строку «Формат»
  4. 4
    Нажмите кнопку выбора (троеточие) справа от поля
  5. 5
    Задайте параметры в конструкторе и нажмите «ОК»
  6. 6
    Обновите конфигурацию и проверьте отображение в режиме 1С:Предприятие

Открытие конструктора в модуле и в других местах

Конструктор из редактора кода

Когда формат нужен в коде — например, для функции Формат(Сумма, "ЧЦ=15; ЧДЦ=2") — установите курсор на строковый литерал (или на место, где он должен быть) и выберите в главном меню «Текст → Конструктор форматной строки». После нажатия «ОК» сформированная строка подставится прямо в текст модуля.

Если пункт меню неактивен, убедитесь, что курсор находится внутри модуля, а не в другом окне. В толстом клиенте конструктор доступен и в режиме предприятия при отладке внешних обработок.

Макеты и табличные документы

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

Настройки СКД

В схеме компоновки данных формат задаётся на закладке «Наборы данных» (колонка «Формат» у поля) или в пользовательских настройках отчёта: «Настройки → Дополнительные настройки → Оформление». Там конструктор тоже вызывается кнопкой выбора у параметра «Формат».

Параметры конструктора: что означают ключевые настройки

Диалог конструктора адаптируется под тип значения: для числа, даты и булево набор параметров разный. Для чисел доступны общая длина, точность, разделители дробной части и групп разрядов, сдвиг разрядов и представление нуля. Для дат — формат (полный, краткий, только дата или время) и локальный формат. Для булева — строки представления «ложь» и «истина».

Ключевые параметры для чисел: ЧЦ — общее количество знаков, ЧДЦ — число знаков после запятой, ЧРД — разделитель дробной части, ЧГ — разделитель групп (0 — без разделителя), ЧН — строка вместо нулевого значения, ЧС — сдвиг разрядов (удобно для вывода сумм в тысячах).

Для дат чаще всего используют ДФ (формат даты) с шаблонами вроде dd.MM.yyyy или ДЛФ=D (локальный длинный формат даты). Параметр ДП задаёт представление пустой даты — например, чтобы вместо «01.01.0001» выводилась пустая строка.

bsl
Сообщить(Формат(1234567.89, "ЧЦ=15; ЧДЦ=2; ЧРД=,; ЧГ=3,0"));
Сообщить(Формат(ТекущаяДатаСеанса(), "ДЛФ=DD"));
Сообщить(Формат(0, "ЧН=—"));

Как проверить, что формат применился

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

Для проверки формата в коде используйте функцию Формат() в консоли кода или через «Вычислить выражение» (Shift+F9) при отладке: так видно итоговую строку без запуска всей формы.

Контрольные точки

Как проверить результат

Отображение большого числа
Норма

Разряды разделены, дробная часть обрезана до заданной точности

Тревожный признак

Число показано звёздочками или обрезано — не хватает общей длины ЧЦ

Нулевое значение
Норма

Выводится заданная строка (например, прочерк) или 0,00

Тревожный признак

Пустое поле там, где ожидался ноль, или наоборот

Пустая дата
Норма

Показывается пустая строка или заданный текст из ДП

Тревожный признак

Отображается 01.01.0001

Типичные ошибки и ограничения

Самая частая ошибка — недостаточная общая длина ЧЦ: если значение не помещается, вместо числа выводятся символы заполнения (звёздочки). Вторая типичная проблема — ожидание, что формат округлит или изменит данные: формат влияет только на отображение, при выгрузке или расчётах используется исходное значение.

Ещё одна ловушка — разный формат у реквизита и у поля формы. Свойство поля имеет приоритет, поэтому изменение формата у реквизита может не дать эффекта, если в форме задан собственный формат. Проверяйте оба места.

Типичные ошибки
01
Задан слишком малый ЧЦ — число не помещается и выводится звёздочками
02
Формат задан у поля формы, а разработчик меняет его у реквизита и не видит изменений
03
Использование формата для округления данных перед расчётом — формат меняет только представление, считать точность нужно через Окр()
04
Пустая дата без параметра ДП выводится как 01.01.0001 и путает пользователей
Итог

Что важно запомнить

Конструктор форматной строки открывается кнопкой выбора у свойства «Формат» в палитре свойств, а из модуля — через меню «Текст → Конструктор форматной строки». Формат меняет только представление значения, поэтому результат всегда проверяйте на нуле, пустой дате и больших числах.

Частые вопросы

Почему кнопка конструктора у свойства «Формат» неактивна?

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

Можно ли задать формат программно без конструктора?

Да. Свойство формата у элементов формы доступно в коде, а функция Формат() принимает строку параметров напрямую. Конструктор нужен только как помощник для сборки этой строки — итоговый текст можно писать и редактировать вручную.

Как убрать разделители разрядов в числе?

Установите параметр ЧГ=0 (ноль) — тогда группы разрядов не разделяются. В конструкторе это поле «Разделитель групп», где нужно выбрать вариант без разделения.

Как вывести сумму прописью через форматную строку?

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

Почему в отчёте на СКД формат не применяется?

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

Меняет ли формат значение в базе данных?

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