Администрирование · 10 мин
Как сделать в 1С цену с 4 знаками после запятой
Пошаговая инструкция: как в 1С установить цену с 4 знаками после запятой через настройку разрядности, типы цен и доработку конфигурации.
В типовых конфигурациях 1С (Управление торговлей, Комплексная автоматизация, ERP, Розница) цены номенклатуры по умолчанию хранятся и отображаются с двумя знаками после запятой. Этого достаточно для большинства розничных операций, но не для оптовой торговли с большими объёмами, расчётов в валюте с пересчётом курса, работы с ГСМ, металлопрокатом или расценками за единицу при фасовке. В таких случаях округление до копеек даёт заметную погрешность в итоговой сумме документа.
Задача решается двумя путями. Первый — штатная настройка разрядности цен, доступная в пользовательском режиме без изменения конфигурации. Второй — изменение метаданных (точности числовых реквизитов) через конфигуратор, что требует снятия конфигурации с полной поддержки и аккуратного тестирования. Выбор зависит от того, где именно нужны четыре знака: только в отображении и печати или в хранении и расчётах.
Ниже разобраны оба подхода, их ограничения и способы проверить, что округление действительно работает так, как ожидается.
Где в 1С задаётся разрядность цен
В конфигурациях на базе Библиотеки стандартных подсистем и типовых торговых решениях точность цен вынесена в пользовательские настройки. В «Управлении торговлей 11» и «Комплексной автоматизации 2» путь выглядит так: НСИ и администрирование → Настройка НСИ и разделов → Номенклатура, где находится блок, отвечающий за цены. Там устанавливается количество знаков после запятой для цен продажи и в некоторых случаях отдельно для цен закупки.
В «1С:Рознице» аналогичная настройка находится в разделе администрирования, в параметрах, связанных с ценообразованием. В «Бухгалтерии предприятия» отдельной настройки разрядности цен обычно нет — там точность цен определяется метаданными конфигурации, и для четырёх знаков потребуется доработка.
Важно понимать, что настройка влияет на ввод, хранение и отображение цен в документах установки цен и продажных документах. Суммы документов при этом по-прежнему округляются до копеек — это корректно, поскольку денежные расчёты ведутся в минимальных денежных единицах.
Настройка четырёх знаков без доработки конфигурации
Штатный сценарий занимает несколько минут и не требует прав администратора базы данных — достаточно права изменять настройки учёта. Порядок действий для типовых торговых конфигураций:
- 1Откройте раздел «НСИ и администрирование»
- 2Перейдите в «Настройка НСИ и разделов» → «Номенклатура»
- 3Найдите параметр разрядности (точности) цен и установите значение 4
- 4Сохраните настройку и перезапустите сеанс при необходимости
- 5Откройте документ установки цен и введите цену с 4 знаками для проверки
- 6Создайте тестовый документ продажи и проверьте расчёт суммы
После сохранения настройки поля цен в документах начнут принимать четыре знака. Ранее введённые цены не изменятся — они хранятся с той точностью, с которой были записаны, и при необходимости их можно переустановить новым документом.
Обратите внимание: если в списке доступных значений максимум два знака, значит, конфигурация ограничивает точность на уровне метаданных, и штатной настройкой задачу не решить — потребуется доработка, описанная ниже.
Изменение точности через конфигуратор
Если штатной настройки нет или она ограничена, точность меняется в метаданных. Это относится к реквизитам типа «Цена» в документах («Установка цен номенклатуры», «Реализация товаров и услуг», «Заказ клиента»), регистрам сведений с ценами и, при необходимости, к ресурсам регистров накопления.
Порядок работы в конфигураторе: найти нужный реквизит, открыть его свойства и в поле «Точность» типа «Число» установить значение 4. Длина числа (общее количество разрядов) должна быть достаточной, чтобы вместить целую часть — например, при длине 15 и точности 4 под целую часть остаётся 11 разрядов.
Критически важный момент: изменение точности числового реквизита регистра сведений или документа может потребовать реструктуризации данных при обновлении конфигурации базы. На больших таблицах этот процесс занимает заметное время, и база в этот момент недоступна для пользователей.
Влияние на расчёты, печать и обмены
Четыре знака в цене меняют не только отображение. При умножении цены на количество промежуточный результат получается точнее, а итоговая сумма строки округляется до копеек по правилам конфигурации. Из-за этого возможна ситуация: сумма по документу, посчитанная «вручную» от округлённой цены, расходится на копейки с суммой, которую вывела программа. Это не ошибка, а следствие расчёта от более точного значения.
Печатные формы (ТОРГ-12, счета, УПД) обычно выводят цену с той точностью, которая задана в данных, но в некоторых макетах формат жёстко прописан в коде. Если на печати цена «обрезается» до двух знаков, при этом в документе четыре — потребуется правка макета или форматной строки в модуле формирования печатной формы.
Отдельно проверьте обмены: выгрузка цен на сайт, в кассовое ПО, в системы ЭДО. Не все приёмники корректно обрабатывают четыре знака — некоторые форматы и кассы принимают только два. В таких случаях на стороне обмена настраивают округление при выгрузке, оставляя в 1С полную точность.
Как проверить результат
Цена 12,3456 сохраняется и отображается полностью
Значение обрезается до 12,35 после записи
Сумма строки считается от точной цены и округляется до копеек
Сумма расходится с ожидаемой без объяснимых причин
Цена выводится с заданной точностью
На печати два знака при четырёх в документе
Приёмник получает цену в ожидаемом формате
Ошибки загрузки или обрезание значений на стороне приёмника
Альтернативы: когда четыре знака не нужны
Прежде чем менять точность, стоит рассмотреть обходные варианты — часто они проще и не трогают конфигурацию. Типовой приём — изменение единицы измерения цены: вместо цены за штуку указывается цена за 100 или 1000 единиц. Точность сохраняется, а поле цены остаётся двухзначным.
Другой вариант — использование скидок и наценок вместо дробной цены: базовая цена задаётся с двумя знаками, а требуемая точность достигается процентной корректировкой. Это работает, когда дробная часть возникает из-за пересчёта валюты или формульного ценообразования.
Сравнение вариантов
Подходит для типовых торговых конфигураций; быстро и без рисков, но доступна не везде и действует на всю базу.
Даёт полный контроль над точностью любых реквизитов; требует копии базы, тестирования и усложняет обновления.
Обходное решение без изменений; неудобно при печати документов и может запутать покупателей.
Подходит, когда дробность возникает из пересчётов; не решает задачу хранения точной цены напрямую.
Типичные ошибки и их последствия
Наиболее коварная ошибка — частичная доработка. Точность должна быть согласована по всей цепочке: регистр цен, документ установки цен, документы продажи, отчёты и печатные формы. Разрыв в любом звене даёт расхождения, которые сложно диагностировать.
Что важно запомнить
Сначала проверьте штатную настройку разрядности цен — в типовых торговых конфигурациях она решает задачу без доработок. Если настройки нет, точность меняют в конфигураторе, но только после теста на копии и с проверкой печатных форм, отчётов и обменов. Суммы документов всегда округляются до копеек — четыре знака относятся только к ценам.
Частые вопросы
Почему после настройки четырёх знаков суммы в документе не совпадают с расчётом на калькуляторе?
Программа считает сумму от точной цены с четырьмя знаками и округляет результат до копеек. Если вы умножаете округлённую до двух знаков цену на количество, результат будет отличаться на доли копейки, которые после округления превращаются в копейки. Это нормальное поведение, а не ошибка.
Можно ли задать разную точность для разных видов цен?
В типовых конфигурациях настройка разрядности обычно общая. Разная точность по видам цен достигается только доработкой: например, свойством точности отдельных реквизитов или программным округлением в механизмах ценообразования.
Повлияет ли изменение точности на уже проведённые документы?
Нет, старые документы и записи регистров останутся с прежними значениями. Изменится только отображение и точность новых данных. Если нужна «историческая» точность, цены придётся переустановить новыми документами с корректной датой.
Что делать, если касса или сайт не принимает цены с четырьмя знаками?
Оставьте в 1С полную точность, а в настройках обмена включите округление цены до двух знаков при выгрузке. Если штатной опции округления в обмене нет, её добавляют в правила конвертации или в код выгрузки.
Нужно ли снимать конфигурацию с поддержки для штатной настройки разрядности?
Нет. Пользовательская настройка разрядности не затрагивает метаданные и не влияет на поддержку. Снятие с поддержки (или работа через расширение) требуется только при изменении точности реквизитов в конфигураторе.
Подойдёт ли расширение конфигурации вместо изменения основной конфигурации?
Частично. Через расширение можно изменить некоторые свойства объектов и переопределить формы и печатные макеты, но изменение точности существующих реквизитов хранения имеет ограничения. Для регистров и ключевых реквизитов часто всё же требуется правка основной конфигурации — это стоит проверить на тестовой копии.