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

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

Как добавить знаки после запятой в 1С

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

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

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

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

Где в 1С задаётся количество знаков после запятой

В 1С:Предприятии точность числа контролируется на трёх уровнях. Первый — метаданные: у каждого числового реквизита в конфигураторе заданы длина и точность (число разрядов дробной части). Это физическое ограничение: если у реквизита точность 2, значение 10,123 будет храниться как 10,12 независимо от настроек отображения.

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

Третий уровень — прикладная логика конфигурации. В типовых решениях (УТ, ERP, Бухгалтерия) есть собственные настройки округления цен, скидок и сумм документов. Например, в управленческих конфигурациях количество знаков в ценах может определяться настройками валюты или параметрами учёта, а не только метаданными.

Как изменить отображение знаков без изменения данных

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

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

Форматная строка для числа выглядит так: ЧДЦ=3 — три знака после запятой, ЧДЦ=4; ЧРД=, — четыре знака с запятой в качестве разделителя. Конструктор форматной строки доступен по кнопке выбора в свойстве «Формат» элемента формы или ячейки макета.

Как изменить формат числа в отчёте СКД
  1. 1
    Откройте отчёт и перейдите в «Ещё» → «Изменить вариант» или «Настройки»
  2. 2
    Найдите вкладку с оформлением полей (обычно «Поля» или «Оформление»)
  3. 3
    Для нужного числового поля задайте формат, например ЧДЦ=3
  4. 4
    Сохраните вариант отчёта и сформируйте его заново
  5. 5
    Проверьте, что количество знаков изменилось и итоги не «поплыли»

Как изменить точность реквизита в конфигураторе

Когда нужно не просто показывать, а хранить и использовать в расчётах больше знаков (например, цены с точностью до тысячных при работе с валютными пересчётами), изменения вносятся в конфигураторе. Откройте конфигурацию, найдите нужный объект — справочник, документ или регистр — и перейдите к свойствам числового реквизита.

В свойствах реквизита задайте новые значения: «Длина» — общее количество разрядов, «Точность» — количество разрядов дробной части. Например, длина 15 и точность 3 позволяют хранить числа вида 999 999 999 999,999. Помните, что увеличивая точность, при необходимости увеличивайте и длину, иначе сократится диапазон целой части.

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

Особенности типовых конфигураций

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

В конфигурациях линейки «Управление торговлей» и ERP точность цен и сумм частично регулируется настройками в разделе учётных параметров. В «1С:Бухгалтерии» количество знаков в ценах и суммах документов в основном определено метаданными, но отображение в отчётах настраивается пользователем. В «1С:ЗУП» точность расчётных показателей задана разработчиками и менять её самостоятельно крайне не рекомендуется — это влияет на расчёт зарплаты и налогов.

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

Способы добавить знаки после запятой

Формат отображения

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

Изменение точности в конфигураторе

Полноценное решение для хранения и расчётов. Ограничение: реструктуризация базы, риск для типовой поддержки, нужна резервная копия.

Дополнительный реквизит

Сохраняет типовую поддержку. Ограничение: не участвует в типовых расчётах и проведении документов.

Знаки после запятой в печатных формах и макетах

В печатных формах количество знаков определяется макетом и кодом вывода. Если цена в документе хранится с тремя знаками, а на печати отображается два — причина почти всегда в форматной строке в модуле менеджера печати или в свойствах параметра макета.

Для внешних печатных форм формат задаётся в коде функции Формат(Значение, "ЧДЦ=2") — замените число на нужное. Для встроенных макетов проверьте свойства параметра в табличном документе: у параметра есть свойство «Формат», которое работает так же, как форматная строка.

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

bsl
// Форматирование числа с тремя знаками после запятой
СтрокаЦены = Формат(Цена, "ЧДЦ=3; ЧРД=,; ЧН=0,000");
// В запросе — приведение к нужной точности
ВЫБРАТЬ ВЫРАЗИТЬ(Цена КАК ЧИСЛО(15, 3)) КАК Цена

Проверка результата и типичные ошибки

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

Частая ошибка — увеличение точности только у части связанных реквизитов. Например, точность цены подняли до трёх знаков, а сумма строки документа осталась с двумя. В результате произведение «цена × количество» не сходится с суммой, и в учёте копятся копеечные расхождения, которые потом сложно объяснить.

Вторая типичная ошибка — забыть про ресурсы регистров. Документ хранит цену с новой точностью, но регистр, в который он делает движения, имеет старую. При проведении значения округляются, и отчёты по регистрам расходятся с документами.

Типичные ошибки
01
Изменили точность реквизита документа, но не изменили связанные ресурсы регистров — отчёты расходятся с документами на копейки
02
Увеличили точность цены, но не суммы — произведение цены на количество не сходится с итогом строки
03
Уменьшили точность без анализа — хранящиеся значения округлены безвозвратно
04
Изменили формат в форме и решили, что изменились расчёты — отображение не влияет на хранимые данные
05
Сняли типовой объект с поддержки ради мелкой правки — усложнили все последующие обновления
Контрольные точки

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

Значение в форме документа
Норма

Отображается нужное число знаков, ввод лишних разрядов либо принимается, либо корректно округляется

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

Введённые разряды обрезаются при записи — точность реквизита ниже ожидаемой

Сумма строки и итог документа
Норма

Цена × количество сходится с суммой с учётом заявленной точности

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

Расхождения в копейках между строками и итогом

Отчёт по регистрам
Норма

Обороты по документу совпадают с данными самого документа

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

В отчёте значения округлены сильнее, чем в документе — у ресурса регистра старая точность

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

Почему я ввожу три знака после запятой, а сохраняется два?

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

Изменится ли точность уже введённых документов после правки конфигуратора?

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

Можно ли задать разное число знаков для разных валют?

В типовых конфигурациях отображение сумм в валюте может зависеть от настроек валюты в справочнике валют. Однако хранимая точность реквизитов едина для всех валют — различия достигаются только форматированием при выводе.

Опасно ли менять точность в рабочей базе?

Сама операция штатная, но требует монопольного доступа и реструктуризации таблиц, которая на объёмных базах занимает время. Риски связаны с прерыванием процесса и с уменьшением точности (потеря разрядов). Резервная копия перед операцией обязательна.

Как вывести больше знаков в отчёте без доступа к конфигуратору?

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

Итог

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

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