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

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

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

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

Задача увеличить количество знаков после запятой в количестве возникает, когда типовая точность реквизита перестаёт устраивать: например, нужно учитывать метраж, вес или объём с тремя-четырьмя знаками, а документы округляют значение до двух. В 1С точность числового реквизита задаётся в конфигураторе через свойство «Точность» квалификатора числа, и изменить её из пользовательского режима без доработки конфигурации нельзя.

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

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

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

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

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

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

Значение обрезается при записи документаНизкая точность реквизита

Свойство «Точность» квалификатора числа в конфигураторе

Хранится точно, на экране округленоНастройка формата поля формы

Свойство «Формат» поля ввода или параметры формы

Округление только в печатной формеФормат в макете или коде вывода

Функция Формат() в модуле менеджера печати

Округление в отчётеФормат в настройках СКД

Вкладка «Наборы данных» или оформление поля отчёта

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

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

В диалоге для типа «Число» задаются два параметра: длина (общее количество цифр, включая знак и разделитель) и точность (количество знаков дробной части). Увеличьте точность, например с 2 до 3 или 4, при необходимости увеличьте и общую длину, чтобы целая часть не обрезалась. Сохраните изменения и обновите конфигурацию базы данных (F7).

Учтите, что в типовых конфигурациях реквизит «Количество» часто используется в десятках документов и регистров. Менять точность нужно согласованно: если документ хранит 4 знака, а регистр накопления — 2, остатки будут округляться при проведении, и в учёте появятся расхождения и «висячие» остатки вида 0,0001.

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

Настройка формата отображения без изменения конфигурации

Если точность хранения достаточна, проблему решает формат отображения. В форме документа откройте свойства поля ввода количества и задайте «Формат» в виде строки, например ЧДЦ=3 (число десятичных знаков — 3) или комбинированно: ЧЦ=15; ЧДЦ=4. Это не меняет данные, а только их визуальное представление.

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

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

1c
Формат(Количество, "ЧЦ=15; ЧДЦ=4")  // вывод числа с 4 знаками после запятой

Изменение через расширение конфигурации

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

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

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

Последствия для данных и обменов

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

Обратите внимание на обмены. Если база участвует в синхронизации (РИБ, обмен с другой учётной системой, выгрузка в ЕГАИС, маркировку, ЭДО), точность в приёмнике должна быть не ниже, чем в источнике. Иначе при переносе значения округлятся, и суммы документов в двух системах разойдутся на копейки.

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

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

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

Третья группа ошибок — работа без копии и без учёта поддержки. Реструктуризация большой таблицы на рабочей базе может занять заметное время и заблокировать пользователей; внесение изменений в типовой объект без фиксации в хранилище или без комментария усложнит будущие обновления.

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

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

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

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

Ввод и запись документа
Норма

Значение 1,2345 сохраняется без округления

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

После записи остаётся 1,23

Движения по регистрам
Норма

В регистре то же количество знаков, что в документе

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

В движениях значение округлено

Отчёты и печатные формы
Норма

Отображается заданное число знаков

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

На экране точно, в печати округлено

Обмен данными
Норма

В базе-приёмнике значения совпадают

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

В приёмнике копеечные расхождения

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

Можно ли увеличить знаки после запятой без конфигуратора?

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

Что будет со старыми документами после увеличения точности?

Ничего: существующие значения останутся как были, перепроводить документы не требуется. Новые документы смогут хранить больше знаков. Уменьшение точности, напротив, округлит хранимые значения при реструктуризации.

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

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

Безопасно ли менять точность в типовой конфигурации?

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

Нужно ли менять точность во всех документах сразу?

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

От чего зависит максимальная точность числа в 1С?

Точность ограничена заданной длиной числа: сумма знаков целой и дробной части не может превышать общую длину. Практический предел точности числа в 1С — порядка 10 знаков дробной части при достаточной общей длине, но для количества обычно достаточно 3–4 знаков.

Итог

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

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