Работа с номенклатурой, требующей высокой точности измерений, часто сталкивается с ограничениями по умолчанию в конфигурациях 1С. Стандартные настройки платформы и типовых решений, таких как 1С:Бухгалтерия или 1С:Управление торговлей, обычно отводят под поле «Количество» всего два знака после запятой. Этого может быть недостаточно для таких единиц измерения, как килограммы, литры, метры или караты, где критична каждая тысячная доля.

Некорректная настройка разрядности приводит к накоплению ошибок пересчета, расхождению остатков на складах и проблемам при закрытии периодов. Если вы торгуете сыпучими материалами или жидкостями, округление до сотых может вылиться в существенные финансовые потери в масштабах года. Изменение этой настройки требует понимания архитектуры данных 1С, так как влияет не только на отображение, но и на математические вычисления внутри двигателя базы данных.

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

Причины ограничений точности в типовых решениях

По умолчанию в большинстве конфигураций 1С поле количества имеет тип «Число» с фиксированной длиной и точностью. Разработчики типовых решений закладывают два знака после запятой, опираясь на общепринятые стандарты бухгалтерского учета, где копейки являются минимальной расчетной единицей. Однако для складского учета это ограничение часто становится узким местом.

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

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

Существует миф, что точность зависит только от формата вывода на экран. На самом деле, если в метаданных задана точность в 2 знака, то число 1.125 будет физически сохранено в базе как 1.12 или 1.13 (в зависимости от режима округления), и восстановить исходное значение будет невозможно. Поэтому важно различать визуальное отображение и реальную точность хранения.

📊 С какой точностью вы обычно работаете в 1С?
2 знака (стандарт)
3 знака
4 знака и более
Зависит от товара

Настройка разрядности через справочник Номенклатура

В современных версиях конфигураций, таких как 1С:ERP или новые релизы УТ 11, предусмотрена возможность гибкой настройки точности для отдельных позиций номенклатуры. Это наиболее безопасный способ, не требующий вмешательства в код программы. Вам необходимо открыть карточку конкретного товара.

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

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

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

  • 🔍 Проверьте версию конфигурации — в старых релизах функция гибкой точности может отсутствовать.
  • 📦 Убедитесь, что для товара выбрана правильная Единица измерения, так как точность часто привязана к классу единицы.
  • 💾 Сохраните изменения и проведите тестовое создание документа поступления.
💡

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

Изменение метаданных в режиме Конфигуратор

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

Откройте дерево метаданных и найдите раздел «Регистры накопления». Именно здесь хранятся остатки товаров. Вам потребуется найти регистр, например, ОстаткиТоваров или аналогичный, и перейти к его измерениям и ресурсам. Ресурс, отвечающий за количество, обычно имеет имя Количество или Quantity.

В свойствах этого ресурса измените параметр «Длина» и «Точность». Стандартное значение часто выглядит как 15, 2 (15 знаков всего, 2 после запятой). Измените его на 15, 4 или 15, 5, в зависимости от ваших потребностей. После сохранения конфигурации система предложит обновить базу данных.

Конфигурация -> Обновить конфигурацию базы данных

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

⚠️ Внимание: Интерфейс и названия объектов метаданных могут отличаться в зависимости от конкретной конфигурации (Бухгалтерия, УТ, КА, ERP). Всегда сверяйтесь с технической документацией к вашей версии перед редактированием.

☑️ Подготовка к изменению метаданных

Выполнено: 0 / 4

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

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

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

Также стоит обратить внимание на алгоритмы расчета в самих документах. Некоторые обработки проводят промежуточные вычисления с округлением до копеек или до стандартной точности количества перед записью в регистр. Это поведение зашито в модуле объекта и требует правки кода.

Объект 1С Где меняется точность Влияние на данные
Справочник Номенклатура Карточка товара / Метаданные Влияет на ввод новых данных
Регистры накопления Конфигуратор (Ресурсы) Влияет на хранение остатков
Печатные формы Макеты / Табличный документ Только визуальное отображение
Планы видов характеристик Настройки свойств Влияет на дополнительные реквизиты

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

Влияние на производительность и целостность данных

Увеличение количества знаков после запятой неизбежно ведет к росту объема занимаемой памяти. Число с точностью до 5 знаков занимает больше места на диске и в оперативной памяти сервера 1С, чем число с 2 знаками. В базах с десятками миллионов документов это может замедлить выполнение запросов.

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

Еще один аспект — это совместимость с внешними системами. При выгрузке данных в XML, JSON или обмене с сайтом, убедитесь, что принимающая сторона корректно обрабатывает дробные числа с высокой разрядностью. Некоторые веб-скрипты могут автоматически округлять полученные значения до 2 знаков.

Технические детали хранения чисел

В 1С числа хранятся в формате 128-битного десятичного числа. Увеличение точности не меняет тип данных кардинально, но увеличивает вес записи в таблице SQL.

Рекомендуется проводить нагрузочное тестирование после внесения изменений. Запустите проведение типовой партии документов и замерьте время выполнения. Если замедление критично, возможно, стоит увеличить точность только для конкретных видов номенклатуры, а не глобально.

Альтернативные решения без изменения конфигурации

Если у вас нет прав на изменение конфигурации или вы работаете в арендованном сервисе (SaaS), где доступ в конфигуратор закрыт, существуют обходные пути. Один из них — использование дополнительных реквизитов.

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

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

  • 🛠 Используйте дополнительные реквизиты для хранения точных значений в SaaS-версиях.
  • 📊 Настройте отчеты на вывод данных из дополнительного поля.
  • 🔄 Автоматизируйте заполнение дополнительного поля через расширение конфигурации.
⚠️ Внимание: Использование дополнительных реквизитов не изменит логику работы стандартных механизмов 1С (расчет себестоимости, резервирование). Это решение подходит только для учета и отображения.
💡

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

Частые вопросы по настройке точности в 1С

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

Да, это возможно через использование планов видов характеристик или дополнительных реквизитов, привязанных к определенным видам номенклатуры. Глобальное изменение метаданных затронет все товары, поэтому для точечной настройки лучше использовать расширения или допреквизиты.

Что делать, если после изменения точности «поехали» остатки?

Необходимо провести перепроведение документов за период, начиная с момента появления расхождений. Чаще всего проблема возникает из-за того, что старые данные были округлены, а новые записываются с высокой точностью. Используйте обработку «Пересчет итогов».

Влияет ли изменение точности на работу с кассой и эквайрингом?

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

Нужно ли останавливать сервер 1С при обновлении конфигурации?

Да, настоятельно рекомендуется. Обновление конфигурации базы данных требует монопольного доступа. Если в момент изменения структуры таблиц кто-то будет работать в базе, это может привести к блокировкам и ошибкам соединения.

Как вернуть все обратно, если новая точность не подошла?

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