Как эффективно учитывать листовой материал с произвольными размерами в 1С:ERP 2.5?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← К списку

Мы с вами столкнулись с распространенной, но непростой задачей: как организовать учет листового металла в 1С:ERP 2.5, когда листы имеют произвольную длину и ширину, а также различаются по цвету, покрытию и производителю? Дополнительную сложность добавляет необходимость продавать материал в квадратных метрах, закупать его в штуках определенных размеров и учитывать планы по запуску собственного производства. Давайте вместе разберем эту ситуацию и найдем оптимальные решения.

Решение 1: Оптимизация номенклатуры с использованием характеристик

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

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

  1. Создаем общую номенклатурную позицию: Заведем в справочнике Номенклатура одну общую позицию, например, "Лист металлический" или "Лист кровельный".
  2. Настраиваем характеристики: К этой номенклатурной позиции привязываем характеристики. Именно в характеристиках мы будем указывать все переменные параметры:
    • Цвет (например, "RAL 7024")
    • Покрытие (например, "Полиэстер", "Пурал")
    • Производитель (например, "Северсталь")
    • Толщина (например, "0.5 мм")

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

  3. Используем Виды номенклатуры: Для удобства управления наборами характеристик, рекомендуем использовать Виды номенклатуры. Мы можем создать вид номенклатуры "Листовой металл" и настроить, какие именно характеристики будут доступны для товаров этого вида. Это упрощает ввод данных и предотвращает ошибки.

Таким образом, вместо тысяч или миллионов позиций, у нас будет одна номенклатурная позиция "Лист металлический" с разнообразными характеристиками, покрывающими все типовые признаки.

Решение 2: Настройка единиц измерения и расчет площади

Одной из ключевых сложностей является необходимость продавать материал в квадратных метрах (м²), но при этом учитывать его физически как листы определенной длины и ширины. Стандартные коэффициенты пересчета в карточке номенклатуры, которые предполагают фиксированное соотношение между единицами (например, 1 лист = 2,5 м²), здесь не подходят, так как размеры листов произвольны.

Давайте рассмотрим, как правильно настроить единицы измерения:

  1. Единица хранения: Для основной единицы складского учета, инвентаризации и отпуска в производство, мы рекомендуем использовать "штуки" (листы). Это наиболее удобно для физического контроля и пересчета на складе.
  2. Единица для отчетов: Для аналитики и формирования сводных данных, а также для ценообразования, мы можем настроить "м²" (квадратные метры) как дополнительную "единицу для отчетов". Однако, она не будет использоваться напрямую в документах для ввода количества, поскольку мы еще не знаем площадь каждого конкретного листа.
  3. Метрические характеристики (в карточке номенклатуры): В самой карточке номенклатуры, в ее описании, мы можем указать общие метрические параметры, которые не меняются (например, толщину). Но для произвольной длины и ширины, как мы уже выяснили, нам потребуется динамический расчет.

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

Решение 3: Динамический расчет площади в документах через доработки

Самое практичное и часто применяемое решение для учета произвольных размеров — это доработка табличных частей документов. Мы с вами добавим необходимые поля для ввода длины и ширины, а система будет автоматически рассчитывать площадь.

  1. Добавление дополнительных колонок:

    Мы предлагаем добавить в табличные части основных документов, таких как Заказ клиента, Заказ поставщику и Реализация товаров и услуг, следующие колонки:

    • ДлинаЛиста (тип число, например, с точностью до миллиметров)
    • ШиринаЛиста (тип число, например, с точностью до миллиметров)
    • Площадь (тип число, будет рассчитываться автоматически)

    Эти колонки позволят менеджерам указывать требуемые размеры листов непосредственно при оформлении заказа или отгрузки.

  2. Реализация автоматического пересчета:

    Для автоматического расчета площади нам потребуется небольшая программная доработка. Мы реализуем обработчик события, который будет срабатывать при изменении значений в колонках ДлинаЛиста или ШиринаЛиста. Этот обработчик будет пересчитывать значение в колонке Площадь.

    Как это будет работать:

    • В Заказе клиента менеджер указывает, например, "Лист металлический" (с нужными характеристиками), а затем в дополнительных колонках вводит "Длина: 2500 мм", "Ширина: 1250 мм". Система автоматически рассчитывает площадь (2.5 * 1.25 = 3.125 м²) и использует ее для расчета стоимости по цене за м².
    • В Заказе поставщику мы будем указывать конкретные длины и ширины листов, которые нам необходимо изготовить или закупить, а также требуемое количество штук.

    Давайте посмотрим на пример концептуального кода, который можно использовать в расширении или доработанном модуле формы документа:

    
    // Предположим, что мы находимся в модуле формы документа
    // и работаем с табличной частью "Товары"
    // и у нас есть колонки "ДлинаЛиста", "ШиринаЛиста", "Площадь"
    
    // Обработчик события "ПриИзменении" для полей "ДлинаЛиста" или "ШиринаЛиста"
    
    Процедура ТоварыДлинаЛистаПриИзменении(Элемент)
        ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
        Если ТекущаяСтрока <> Неопределено Тогда
            РассчитатьПлощадьСтроки(ТекущаяСтрока);
        КонецЕсли;
    КонецПроцедуры
    
    Процедура ТоварыШиринаЛистаПриИзменении(Элемент)
        ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
        Если ТекущаяСтрока <> Неопределено Тогда
            РассчитатьПлощадьСтроки(ТекущаяСтрока);
        КонецЕсли;
    КонецПроцедуры
    
    Процедура РассчитатьПлощадьСтроки(СтрокаТабличнойЧасти)
        Если СтрокаТабличнойЧасти.ДлинаЛиста > 0 И СтрокаТабличнойЧасти.ШиринаЛиста > 0 Тогда
            // Делим на 1000000, чтобы перевести мм в м2 (Длина * Ширина / 1000 / 1000)
            СтрокаТабличнойЧасти.Площадь = СтрокаТабличнойЧасти.ДлинаЛиста * СтрокаТабличнойЧасти.ШиринаЛиста / 1000000; 
        Иначе
            СтрокаТабличнойЧасти.Площадь = 0;
        КонецЕсли;
    КонецПроцедуры
    

    Такая доработка позволит гибко работать с произвольными размерами, обеспечивая при этом автоматический расчет площади для ценообразования и учета.

Решение 4: Учет раскроя и планирование производства

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

  1. Специализированные решения для раскроя:

    Для эффективного управления раскроем, стандартными средствами 1С:ERP часто бывает недостаточно. Мы можем рассмотреть интеграцию со специализированными внешними обработками или модулями, предназначенными для оптимизации раскроя листового металла. Такие решения позволяют:

    • Автоматически создавать карты раскроя, минимизируя отходы.
    • Учитывать обрезки и автоматически создавать номенклатуру или характеристики для получившихся деталей.
    • Генерировать номенклатуру для деловых отходов (остатков, которые можно использовать в будущем).
    • Интегрироваться с производственными процессами, передавая данные о необходимых заготовках.

    Это критически важно для сокращения издержек и повышения эффективности производства.

  2. Учет делового остатка:

    При раскрое листового металла часто остаются так называемые "деловые обрезки" (reusable scraps) — куски, которые слишком малы для текущего заказа, но достаточно велики, чтобы быть использованными в будущем. Мы можем организовать их учет следующим образом:

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

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

Дополнительные аспекты: Учет веса (кг) и штук

При работе с листовым металлом часто возникает вопрос: в чем вести учет — в штуках или килограммах? Компания "1С" обычно рекомендует вести учет листов в штуках, а при необходимости пересчитывать их в килограммы.

Однако, мы должны проанализировать ситуацию: фактический вес листов может варьироваться от партии к партии и даже внутри одной партии из-за допусков по толщине и плотности материала. Это может приводить к расхождениям при попытке вести строгий учет в килограммах.

Наш вывод: Учет в штуках (листах) обычно более точен для физического контроля и инвентаризации на складе. Но при этом нам потребуется разработать дополнительные механизмы для:

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

← К списку