Проблема «двойного» или параллельного учета (в международной практике известного как Catch Weight) является классической для металлургии, метизного производства и пищевой промышленности. Суть задачи заключается в том, что одна и та же единица продукции должна учитываться одновременно в двух независимых измерениях (например, в штуках и в килограммах), при этом коэффициент пересчета между ними не является постоянным. Рассмотрим подробнее, почему стандартные механизмы 1С (базовые единицы и коэффициенты) не всегда подходят, и разберем по шагам доступные способы решения этой задачи.
В типовых конфигурациях 1С (УТ, КА, ERP) учет строится на понятии Базовая единица измерения. Все остальные единицы измерения рассчитываются через жесткий коэффициент. Например, если 1 труба весит 10 кг, то при поступлении 5 труб система всегда будет считать, что их вес — 50 кг. Однако в реальном производстве метизов или труб вес каждой единицы может варьироваться из-за допусков ГОСТа, влажности или особенностей литья. Если мы продаем 1 штуку, которая фактически весит 9.8 кг, а система списывает 10 кг по коэффициенту, у нас возникают «хвосты» и расхождения на складе. Проанализируем, как можно обойти это ограничение.
Рассмотрим самый радикальный, но эффективный метод — изменение структуры метаданных. Этот путь требует внесения изменений в конфигурацию, что усложнит дальнейшие обновления, но позволит вести полноценный количественный учет по двум шкалам. Выясним, что именно нужно сделать:
Количество2 (или ВесФактический).ЗапасыНаСкладах или ТоварыНаСкладах). В них нужно добавить второй Ресурс — КоличествоВторойЕд.Важный нюанс: Как отмечалось в обсуждении, начинать доработку стоит с документа «Реализация товаров и услуг». Если вы сможете корректно реализовать списание себестоимости по двум независимым ресурсам, остальные документы (складские ордера, перемещения) внедрить будет легче. Пример логики в модуле проведения:
Движение = Движения.ЗапасыНаСкладах.Добавить();
Движение.Номенклатура = СтрокаТЧ.Номенклатура;
Движение.Количество = СтрокаТЧ.КоличествоШт; // Основной ресурс
Движение.КоличествоВторойЕд = СтрокаТЧ.КоличествоКг; // Независимый ресурс
Посмотрим на более «чистый» способ, который не требует внесения изменений в структуру регистров. Мы можем использовать механизм Серий. В 1С серии могут идентифицировать не просто партию, а конкретный экземпляр или группу товаров с уникальными характеристиками. Рассмотрим алгоритм реализации:
ВесЕдиницы.Проанализируем плюсы: мы всегда знаем, сколько штук какого веса лежит на складе. В отчетах можно вывести остатки в разрезе серий и через вычисляемые поля в СКД получить суммарный вес. Минус метода — высокая трудоемкость для сотрудников склада, так как им придется выбирать нужную серию при каждой отгрузке.
Современные версии 1С:ERP уже содержат зачатки параллельного учета. Разберем, как работает функционал «Мерные товары». В карточке номенклатуры можно указать, что товар является мерным, и задать допустимое отклонение. При отгрузке система позволит указать фактический вес, отличный от теоретического. Например:
Однако помните, что это все равно «умный пересчет». Если вам нужно видеть в остатках две абсолютно независимые цифры, которые никогда не схлопываются по коэффициенту, этот метод может не подойти.
Выясним, как проблема решена в готовых продуктах. В конфигурации «1С:Мясопереработка» реализован полноценный механизм Параллельных единиц измерения. Там в регистрах действительно присутствуют ресурсы Количество и Количество2. Если ваше производство масштабное и требует максимальной точности, имеет смысл рассмотреть интеграцию модулей из этих решений в вашу конфигурацию. Это позволит использовать уже готовые отчеты по отклонениям веса от количества.
При использовании любого метода двойного учета вы неизбежно столкнетесь с проблемой округления или «хвостов». Рассмотрим ситуацию: по регистру «Штуки» числится 0, а по регистру «Килограммы» осталось 0.005 кг из-за погрешности весов.
Для решения этой задачи необходимо разработать регламентную операцию или документ «Корректировка независимых единиц». Разберем логику его работы: программа анализирует остатки, и если один из ресурсов равен нулю, она автоматически списывает микро-остаток по второму ресурсу. Без этого ваши складские отчеты быстро заполнятся неликвидным «мусором».
Подводя итог, выберем оптимальный путь:
Помните, что двойной учет — это не только техническая задача, но и организационная. Кладовщики должны быть готовы к двойному вводу данных, а система — к регулярным инвентаризациям для выравнивания независимых показателей.