В процессе автоматизации производственного учета в 1С:Управление нашей фирмой (УНФ) пользователи часто сталкиваются с проблемой разности масштабов единиц измерения. Типичная ситуация: закупка листового материала (металл, пластик, ткань) производится в квадратных метрах (м2), а фактическое списание в производство на мелкие детали происходит в квадратных миллиметрах (мм2). Стандартная разрядность количества в 1С ограничена тремя знаками после запятой, в то время как для корректного пересчета мм2 в м2 требуется как минимум шесть знаков (1 мм2 = 0,000001 м2).
Разберем подробно, почему попытка просто «добавить знаки» может привести к фатальным ошибкам в системе, и как правильно настроить учет, используя типовой функционал программы.
Проанализируем ситуацию, когда разработчик решает пойти по пути наименьшего сопротивления и меняет точность типа данных Число в регистрах и документах с 3 до 6 знаков. На первый взгляд, это решает проблему, но на практике возникают следующие критические риски:
Количество = Окр(ИсходноеЗначение, 3);. Даже если в базе данных будет храниться 6 знаков, при проведении документов или закрытии месяца система будет «отрезать» хвосты, что приведет к неконтролируемым расхождениям в остатках и копеечным разрывам в себестоимости.SQL.Рассмотрим наиболее правильный с точки зрения архитектуры 1С подход: единица хранения остатков должна быть минимально неделимой величиной, используемой в бизнес-процессах компании.
Выясним, как это реализовать на практике:
мм2. Все движения в регистрах (остатки на складах) теперь будут фиксироваться в целых числах.м2.м2 = 1 000 000 мм2.Преимущества: При оформлении закупки в м2 программа автоматически пересчитает количество в мм2 для склада. Списание в производство также будет происходить в целых числах (мм2), что полностью исключает ошибки округления.
Минусы: В отчетах остатки могут выглядеть непривычно (например, 5 000 000 мм2 вместо 5 м2). Однако в 1С:УНФ эту проблему можно решить через настройки отчетов (СКД), добавив пользовательское поле, которое будет делить общее количество на миллион для отображения в метрах.
Если учет в миллионах кажется слишком неудобным, проанализируем вариант с использованием промежуточных единиц, таких как квадратные дециметры (дм2) или сантиметры (см2).
Посмотрим на расчеты для дм2:
м2 = 100 дм2.мм2 = 0,01 дм2.При выборе дм2 в качестве базовой единицы хранения, нам достаточно двух знаков после запятой, чтобы учесть даже самый мелкий расход в 1 мм2. Стандартных трех знаков в 1С хватит с запасом. При этом складские остатки не будут выглядеть «астрономическими» числами: 5 квадратных метров превратятся в 500 дм2, что вполне читабельно для кладовщика и бухгалтера.
Рассмотрим ситуацию, когда материал хранится в листах определенного формата. В этом случае целесообразно вести учет не в метрах, а в штуках (листах), используя механизм Характеристик.
Этот метод идеально подходит, если предприятие не использует обрезки повторно или если обрезки имеют стандартные размеры и могут быть оприходованы как деловой отход.
Если проблема возникает именно при списании по спецификациям в производстве, разберем метод увеличения базы нормирования. Вместо того чтобы указывать расход 0,00045 м2 на 1 единицу продукции, укажите расход 0,45 м2 на 1000 единиц продукции. Для контроля запасов и быстрого расчета требуемых компонентов пригодится отчет для проверки остатков материалов по спецификации.
Проанализируем, как это работает в 1С:УНФ:
м2, которое уходит на эту партию.м2, данные корректно попадут в документы без потери точности.Часто звучит аргумент, что вести учет в мм2 неудобно для инвентаризации. Выясним, почему это не так. В современных версиях 1С:УНФ документ «Пересчет товаров» позволяет вводить количество в любых единицах измерения, которые заведены для данной номенклатуры. Вы можете проводить фактический замер в метрах, вводить данные в документ в м2, а система сама пересчитает их в базовые мм2 для сопоставления с учетными остатками. Для удобной работы со сличительными ведомостями при сверке остатков пригодится расширение для инвентаризации запасов.
Важный совет: Перед тем как менять структуру базы данных, всегда пробуйте методические решения. В 99% случаев переход на более мелкую базовую единицу измерения (мм2 или дм2) является более дешевым и стабильным решением, чем программирование и последующая борьба с ошибками округления в типовом коде 1С.