Как организовать учет уникальной несерийной продукции в 1С без раздувания справочников?

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

При автоматизации предприятий, выпускающих несерийную (позаказную) продукцию — такую как пластиковые окна, металлические двери, натяжные потолки или индивидуальную мебель, — ИТ-специалисты неизбежно сталкиваются с архитектурной дилеммой. Каждое изделие обладает уникальным набором параметров (высота, ширина, цвет профиля, тип стеклопакета, фурнитура), которые практически никогда не повторяются.

Если создавать под каждое уникальное изделие новый элемент в справочнике Номенклатура, система быстро начнет деградировать. Справочник раздуется до миллионов записей, механизмы полнотекстового поиска станут бесполезными, отчеты по продажам потеряют аналитичность, а обмены данными в распределенных информационных базах (РИБ) начнут вызывать критические задержки. В этой статье мы подробно разберем, как правильно организовать хранение данных о несерийной продукции в 1С, взвесим все «за» и «против» типовых подходов и выберем оптимальные проектные решения.

Метод 1. Использование характеристик и параметрических спецификаций

Это классический подход, заложенный в методологию современных ERP-решений от 1С (таких как 1С:ERP, 1С:Комплексная автоматизация и 1С:Управление нашей фирмой). Мы создаем одну общую номенклатурную позицию (например, «Окно ПВХ двустворчатое»), а все изменяемые параметры выносим в механизм характеристик.

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

Рассмотрим пример логики расчета расхода профиля в параметрической спецификации:


// Формула для расчета расхода основного профиля (в метрах)
РасходПрофиля = ((Характеристика.Высота * 2) + (Характеристика.Ширина * 2)) / 1000 + ТехнологическийЗапас;

Однако при всей логичности этого подхода мы обязаны учитывать его существенные недостатки, которые часто всплывают на реальных внедрениях:

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

Метод 2. Использование серий номенклатуры для кодирования параметров

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

При этом подходе серия выступает в роли уникального идентификатора паспорта изделия. В наименование или номер серии можно зашивать закодированную строку параметров или привязывать серию напрямую к конкретному заказу клиента.

Посмотрим на пример структуры кодирования серии:


// Формат серии: [НомерЗаказа]-[Высота]х[Ширина]-[КодПрофиля]-[КодЦвета]
// Пример: ЗК-04812-1450х1300-REH60-MAH

Применение серий позволяет гибко рассчитывать индивидуальную себестоимость каждого окна (поскольку серии поддерживают партионный учет и обособление затрат). При этом справочник Номенклатура и справочник Характеристики остаются компактными и удобными для анализа укрупненных продаж.

Метод 3. Комбинированный подход: разделение параметров

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

Метод 4. Хранение уникальных параметров в документах и регистрах

Если мы хотим полностью защитить нормативно-справочную информацию от засорения, отличным решением станет хранение параметров непосредственно в документах движения (Заказ клиента, Заказ на производство) с трансляцией данных в специальный регистр сведений.

Разберем, как это реализовать технически. Мы создаем независимый регистр сведений ПараметрыУникальныхИзделий со следующей структурой:

При проведении заказа менеджером параметры записываются в этот регистр. При создании цепочки документов (например, на основании Заказа клиента создается Заказ на производство) система программно переносит эти параметры, исключая ручной ввод. Печатные формы нарядов на производство и спецификаций для клиентов получают геометрические размеры напрямую из этого регистра.

Проанализируем пример кода для программного копирования параметров изделия по цепочке документов:


Процедура ЗаполнитьПараметрыИзделияНаОсновании(ДокументИсточник, ДокументПриемник) Экспорт
    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |	Параметры.НомерСтроки КАК НомерСтроки,
        |	Параметры.Высота КАК Высота,
        |	Параметры.Ширина КАК Ширина,
        |	Параметры.СпецификацияТекстом КАК СпецификацияТекстом
        |ИЗ
        |	РегистрСведений.ПараметрыУникальныхИзделий КАК Параметры
        |ГДЕ
        |	Параметры.ДокументСсылка = &ДокументИсточник";
        
    Запрос.УстановитьПараметр("ДокументИсточник", ДокументИсточник);
    РезультатЗапроса = Запрос.Выполнить();
    
    Если Не РезультатЗапроса.Пустой() Тогда
        Выборка = РезультатЗапроса.Выбрать();
        Пока Выборка.Следующий() Цикл
            // Записываем параметры для нового документа-приемника
            МенеджерЗаписи = РегистрыСведений.ПараметрыУникальныхИзделий.СоздатьМенеджерЗаписи();
            МенеджерЗаписи.ДокументСсылка = ДокументПриемник;
            МенеджерЗаписи.НомерСтроки    = Выборка.НомерСтроки;
            МенеджерЗаписи.Высота         = Выборка.Высота;
            МенеджерЗаписи.Ширина          = Выборка.Ширина;
            МенеджерЗаписи.СпецификацияТекстом = Выборка.СпецификацияТекстом;
            МенеджерЗаписи.Записать();
        КонецЦикла;
    КонецЕсли;
    
КонецПроцедуры

Метод 5. Двухконтурная архитектура (1С + Специализированный CAD)

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

  1. Технический контур (CAD): Все точные расчеты, построение эскизов, расчет ветровых нагрузок и генерация заданий для станков с ЧПУ происходят в специализированном софте (например, «СуперОкна», «IT Окна», «OptimaWin»).
  2. Учетный контур (1С): В 1С менеджер заводит только коммерческие данные (укрупненная позиция «Окно ПВХ по индивидуальному проекту» с согласованной стоимостью). После расчета в CAD-системе готовая материальная спецификация (точные длины профилей, штапиков, площади стекла, артикулы фурнитуры) автоматически загружается в документ производства 1С через интеграционные шлюзы (XML, JSON или прямое API).

В результате такой интеграции 1С не перегружается сложными геометрическими расчетами, но получает абсолютно точные данные для списания материалов со склада и калькуляции реальной себестоимости каждого заказа.

Резюме и рекомендации

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

← На главную