Мы с вами столкнулись с распространенной, но непростой задачей: как организовать учет листового металла в 1С:ERP 2.5, когда листы имеют произвольную длину и ширину, а также различаются по цвету, покрытию и производителю? Дополнительную сложность добавляет необходимость продавать материал в квадратных метрах, закупать его в штуках определенных размеров и учитывать планы по запуску собственного производства. Давайте вместе разберем эту ситуацию и найдем оптимальные решения.
Представьте себе, что длина и ширина могут варьироваться от 30 мм до 5000 мм с шагом в 1 мм, плюс еще цвет, покрытие и производитель. Если мы будем создавать отдельную позицию номенклатуры для каждого такого сочетания, наш справочник разрастется до невероятных размеров, потенциально до миллиарда вариантов. Это, очевидно, неприемлемо для удобной работы и эффективного учета.
Вместо того чтобы плодить номенклатуру, мы предлагаем использовать стандартный механизм 1С:ERP — Характеристики номенклатуры. Этот подход позволяет значительно сократить количество элементов в справочнике и при этом сохранить всю необходимую информацию о каждом листе.
Номенклатура одну общую позицию, например, "Лист металлический" или "Лист кровельный".Цвет (например, "RAL 7024")Покрытие (например, "Полиэстер", "Пурал")Производитель (например, "Северсталь")Толщина (например, "0.5 мм")Важный момент: Длину и ширину листа мы пока не включаем в характеристики, потому что они произвольные и будут задаваться непосредственно в документах.
Виды номенклатуры: Для удобства управления наборами характеристик, рекомендуем использовать Виды номенклатуры. Мы можем создать вид номенклатуры "Листовой металл" и настроить, какие именно характеристики будут доступны для товаров этого вида. Это упрощает ввод данных и предотвращает ошибки.Таким образом, вместо тысяч или миллионов позиций, у нас будет одна номенклатурная позиция "Лист металлический" с разнообразными характеристиками, покрывающими все типовые признаки.
Одной из ключевых сложностей является необходимость продавать материал в квадратных метрах (м²), но при этом учитывать его физически как листы определенной длины и ширины. Стандартные коэффициенты пересчета в карточке номенклатуры, которые предполагают фиксированное соотношение между единицами (например, 1 лист = 2,5 м²), здесь не подходят, так как размеры листов произвольны.
Давайте рассмотрим, как правильно настроить единицы измерения:
Единица хранения: Для основной единицы складского учета, инвентаризации и отпуска в производство, мы рекомендуем использовать "штуки" (листы). Это наиболее удобно для физического контроля и пересчета на складе.Единица для отчетов: Для аналитики и формирования сводных данных, а также для ценообразования, мы можем настроить "м²" (квадратные метры) как дополнительную "единицу для отчетов". Однако, она не будет использоваться напрямую в документах для ввода количества, поскольку мы еще не знаем площадь каждого конкретного листа.Поскольку стандартные коэффициенты пересчета не работают с произвольными размерами, нам потребуется доработка системы для автоматического расчета площади непосредственно в документах.
Самое практичное и часто применяемое решение для учета произвольных размеров — это доработка табличных частей документов. Мы с вами добавим необходимые поля для ввода длины и ширины, а система будет автоматически рассчитывать площадь.
Мы предлагаем добавить в табличные части основных документов, таких как Заказ клиента, Заказ поставщику и Реализация товаров и услуг, следующие колонки:
ДлинаЛиста (тип число, например, с точностью до миллиметров)ШиринаЛиста (тип число, например, с точностью до миллиметров)Площадь (тип число, будет рассчитываться автоматически)Эти колонки позволят менеджерам указывать требуемые размеры листов непосредственно при оформлении заказа или отгрузки.
Для автоматического расчета площади нам потребуется небольшая программная доработка. Мы реализуем обработчик события, который будет срабатывать при изменении значений в колонках ДлинаЛиста или ШиринаЛиста. Этот обработчик будет пересчитывать значение в колонке Площадь.
Как это будет работать:
Заказе клиента менеджер указывает, например, "Лист металлический" (с нужными характеристиками), а затем в дополнительных колонках вводит "Длина: 2500 мм", "Ширина: 1250 мм". Система автоматически рассчитывает площадь (2.5 * 1.25 = 3.125 м²) и использует ее для расчета стоимости по цене за м².Заказе поставщику мы будем указывать конкретные длины и ширины листов, которые нам необходимо изготовить или закупить, а также требуемое количество штук.Давайте посмотрим на пример концептуального кода, который можно использовать в расширении или доработанном модуле формы документа:
// Предположим, что мы находимся в модуле формы документа
// и работаем с табличной частью "Товары"
// и у нас есть колонки "ДлинаЛиста", "ШиринаЛиста", "Площадь"
// Обработчик события "ПриИзменении" для полей "ДлинаЛиста" или "ШиринаЛиста"
Процедура ТоварыДлинаЛистаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено Тогда
РассчитатьПлощадьСтроки(ТекущаяСтрока);
КонецЕсли;
КонецПроцедуры
Процедура ТоварыШиринаЛистаПриИзменении(Элемент)
ТекущаяСтрока = Элементы.Товары.ТекущиеДанные;
Если ТекущаяСтрока <> Неопределено Тогда
РассчитатьПлощадьСтроки(ТекущаяСтрока);
КонецЕсли;
КонецПроцедуры
Процедура РассчитатьПлощадьСтроки(СтрокаТабличнойЧасти)
Если СтрокаТабличнойЧасти.ДлинаЛиста > 0 И СтрокаТабличнойЧасти.ШиринаЛиста > 0 Тогда
// Делим на 1000000, чтобы перевести мм в м2 (Длина * Ширина / 1000 / 1000)
СтрокаТабличнойЧасти.Площадь = СтрокаТабличнойЧасти.ДлинаЛиста * СтрокаТабличнойЧасти.ШиринаЛиста / 1000000;
Иначе
СтрокаТабличнойЧасти.Площадь = 0;
КонецЕсли;
КонецПроцедуры
Такая доработка позволит гибко работать с произвольными размерами, обеспечивая при этом автоматический расчет площади для ценообразования и учета.
Мы выяснили, что ваше предприятие планирует запуск собственного производства. В этом случае, особо важным становится учет раскроя листового материала. Это не просто списание материала, а сложный процесс оптимизации использования сырья и учета деловых отходов.
Для эффективного управления раскроем, стандартными средствами 1С:ERP часто бывает недостаточно. Мы можем рассмотреть интеграцию со специализированными внешними обработками или модулями, предназначенными для оптимизации раскроя листового металла. Такие решения позволяют:
Это критически важно для сокращения издержек и повышения эффективности производства.
При раскрое листового металла часто остаются так называемые "деловые обрезки" (reusable scraps) — куски, которые слишком малы для текущего заказа, но достаточно велики, чтобы быть использованными в будущем. Мы можем организовать их учет следующим образом:
Серий, если это применимо, для учета каждой конкретной обрезки с ее уникальными параметрами.Такой подход позволяет не выбрасывать ценные остатки, а эффективно использовать их в последующем производстве.
При работе с листовым металлом часто возникает вопрос: в чем вести учет — в штуках или килограммах? Компания "1С" обычно рекомендует вести учет листов в штуках, а при необходимости пересчитывать их в килограммы.
Однако, мы должны проанализировать ситуацию: фактический вес листов может варьироваться от партии к партии и даже внутри одной партии из-за допусков по толщине и плотности материала. Это может приводить к расхождениям при попытке вести строгий учет в килограммах.
Наш вывод: Учет в штуках (листах) обычно более точен для физического контроля и инвентаризации на складе. Но при этом нам потребуется разработать дополнительные механизмы для:
В целом, для эффективного учета листового материала в 1С:ERP 2.5 при наличии произвольных размеров и планов по запуску производства, нам необходимо комбинировать стандартный функционал (характеристики, единицы измерения) с грамотными доработками для динамического расчета площади и, возможно, интеграцией со специализированными модулями для раскроя и учета отходов. Такой комплексный подход позволит нам построить гибкую и точную систему учета.
← К списку