При работе с номенклатурой в конфигурации 1С:Управление торговлей 11 пользователи часто сталкиваются с жестким ограничением системы: невозможностью указать вес или коэффициент единицы измерения меньше единицы. Особенно остро эта проблема проявляется при торговле листовыми материалами (металл, стекло), где учет ведется в квадратных метрах, а вес одного метра может быть крайне мал, либо наоборот — когда единица хранения весит меньше одного килограмма. В данной статье мы проанализируем, почему возникает это ограничение, к каким последствиям приведет его «взлом» в конфигураторе и как правильно настроить учет, используя методологические приемы.
Прежде чем искать пути обхода, давайте выясним причину такого поведения программы. В типовых решениях на платформе 1С:Предприятие 8.3, таких как УТ 11, ERP или КА, архитектура хранения данных в регистрах накопления опирается на принцип целостности базовой единицы. Рассмотрим основные факторы:
Единицу хранения (базовую единицу) минимально возможной и неделимой точкой учета. Все остальные единицы (упаковки, весовые характеристики) должны быть кратны ей или соотноситься через целые числа или понятные дроби.Проанализируем самый простой и эффективный способ, предложенный в обсуждении. Если система не позволяет ввести 0.936 кв.м = 7.53 кг, мы можем применить математическое масштабирование. Вместо того чтобы пытаться втиснуть дробное значение меньше единицы в поле коэффициента, мы увеличим порядок обеих величин.
Разберем по шагам, как это реализовать:
Как отмечалось в сообщениях форума, что мешает нам умножить показатели на 1000? Например, запись 9.36 кв.м. = 75.3 кг полностью решает проблему валидации в 1С, так как все значения становятся больше единицы, при этом пропорция (удельный вес) сохраняется идеально точной.
Рассмотрим ситуацию с точки зрения методологии учета. Если ваш товар настолько легкий, что его вес постоянно оказывается меньше 1 кг за единицу хранения, возможно, стоит пересмотреть саму Базовую единицу.
Посмотрим на пример: если вы торгуете мелкими деталями, где 1 штука весит 5 грамм, логично использовать в качестве единицы веса в настройках системы не «Килограмм», а «Грамм». В этом случае коэффициент всегда будет целым числом (5 вместо 0.005), что исключит ошибки в отчетах и при обмене данными.
Важно: Выбор единиц измерения веса и объема настраивается в разделе НСИ и администрирование — Настройка НСИ и разделов — Номенклатура — Единицы измерения.
В современных версиях 1С:УТ 11 (начиная с 11.5) и ERP механизм упаковок и единиц измерения был существенно переработан. Рассмотрим механизм дробных коэффициентов. Теперь связь между единицами часто задается не одним числом, а парой Числитель и Знаменатель.
Это позволяет обойти ограничение «Минимальное значение = 1» на уровне интерфейса. Например, чтобы задать коэффициент 0.5, мы указываем:
Такой подход позволяет платформе выполнять вычисления с высокой точностью, не прибегая к хранению бесконечных десятичных дробей в базе данных.
Выясним, что произойдет, если программист все же решит убрать проверку Минимальное значение = 1 в конфигураторе (в свойствах поля или в коде модуля). Рассмотрим возможные негативные последствия:
Синхронизацию данных документы с «незаконными» коэффициентами могут просто не загрузиться, вызвав ошибку маппинга единиц измерения.Проанализируем ситуацию из сообщения 13: лист металла имеет площадь, толщину и вес. В стандартной УТ 11 мы имеем дело со статичными коэффициентами. Если вам нужно, чтобы система сама считала вес исходя из площади и плотности, стандартного поля «Вес» может быть недостаточно, так как оно не учитывает динамические параметры партии.
В таком случае рекомендуется:
Дополнительный реквизит для номенклатуры «Удельный вес (кг/м2)».Для решения проблемы веса меньше единицы в 1С:УТ 11 не нужно менять код конфигурации. Наиболее безопасным и корректным способом является масштабирование (увеличение базиса расчета до 10, 100 или 1000 единиц) или переход на более мелкие единицы веса (граммы вместо килограмм). Это гарантирует точность складских остатков, корректность работы отчетов и беспроблемную синхронизацию с бухгалтерскими программами.