База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как сделать доработку в 1С для автоматизации создания заказов на производство из
- В этой теме 1 ответ, 2 участника, последнее обновление 9 часов, 5 минут назад сделано
Odin — Одинэсник.
-
АвторЗаписи
-
-
7 октября 2026 в 9:17 #38814
у меня есть прописанное дерево спецификаций от полуфабрикатов к готовой продукции
как мне сделать доработку что бы из заказа покупателя делать заказ на производство, оно автоматически видело все дерево спецификаций и распределяло по подразделениям заказы на производство согласно спецификаций на полуфабрикат
надеюсь я ясно все описала, если непоятно, то задавай вопросы -
7 октября 2026 в 9:17 #38815
Вы описали задачу понятно. Но здесь есть важный архитектурный момент:
> В 1С обычно не создают отдельный заказ на производство на каждый цех. Правильнее создать один заказ на производство готового изделия, а внутри него сформировать этапы производства по подразделениям и связать выпуск полуфабрикатов с потребностями следующего этапа.
Отдельные заказы на производство по подразделениям тоже можно сделать, но это уже будет доработка с дополнительной логикой связей между заказами.
## Какой вариант лучше выбрать
Есть два возможных варианта.
### Вариант 1. Стандартный для ERP
Из заказа покупателя создается один заказ на производство готовой продукции:
1С (Код)1234567Заказ покупателя↓Заказ на производство готовой продукции↓Этапы производства по подразделениям↓Выпуск полуфабрикатов и готовой продукцииНапример:
1С (Код)1234567891011Готовое изделие↓Сборочный цех↓Полуфабрикат 2↓Алюминиевый цех↓Полуфабрикат 1↓Заготовительный цехВ одном заказе на производство будут этапы:
1С (Код)12345678910111. Изготовление заготовкиПодразделение: Заготовительный цех2. Обработка полуфабриката 1Подразделение: Алюминиевый цех3. Сборка полуфабриката 2Подразделение: Сборочный цех4. Выпуск готового изделияПодразделение: Сборочный цехЭто наиболее правильная схема для планирования, расчета себестоимости, резервирования материалов и контроля выполнения.
### Вариант 2. Отдельный заказ на производство по каждому подразделению
Из заказа покупателя автоматически формируется дерево заказов:
1С (Код)1234567891011Заказ покупателя↓Заказ на производство готового изделия├── Заказ на производство полуфабриката 1│ └── Подразделение: Заготовительный цех│├── Заказ на производство полуфабриката 2│ └── Подразделение: Алюминиевый цех│└── Заказ на производство готового изделия└── Подразделение: Сборочный цехТакую схему можно реализовать, но нужно программировать:
— обход дерева спецификаций;
— создание заказов на производство;
— расчет количества полуфабрикатов;
— расчет дат потребности;
— определение подразделения;
— установку взаимосвязей между заказами;
— передачу потребности от верхнего заказа к нижнему;
— защиту от повторного создания заказов;
— перепроведение при изменении заказа покупателя.Если вы только строите учет производства, я бы не начинал с отдельных заказов по каждому цеху. Сначала нужно настроить стандартную модель с одним заказом и этапами.
—
# 1. Как должна быть настроена спецификация
Для каждого изделия и полуфабриката должна быть ресурсная спецификация.
Например:
1С (Код)12Готовое изделиеСпецификация: Сборка готового изделияВ составе:
1С (Код)123Полуфабрикат 2Материал 1Материал 2Для полуфабриката 2:
1С (Код)12Полуфабрикат 2Спецификация: Изготовление полуфабриката 2В составе:
1С (Код)12Полуфабрикат 1Материал 3Для полуфабриката 1:
1С (Код)12Полуфабрикат 1Спецификация: Изготовление полуфабриката 1В составе:
1С (Код)12Материал 4Материал 5У каждой спецификации должны быть правильно настроены:
— выходная продукция;
— количество выхода;
— материалы;
— этапы производства;
— подразделение-исполнитель;
— длительность;
— вид работ;
— способ обеспечения;
— признак, что материал производится или приобретается;
— связь с нижестоящей спецификацией.—
# 2. Ключевой вопрос: как настроить производство полуфабрикатов
Для каждого полуфабриката нужно определить, как он будет производиться.
Обычно используются два способа.
## Способ 1. Полуфабрикат производится в процессе
В этом случае полуфабрикат является частью технологического процесса изготовления готового изделия.
Например:
1С (Код)1234Готовое изделиеЭтап 1: Изготовить полуфабрикат 1Этап 2: Изготовить полуфабрикат 2Этап 3: Собрать готовое изделиеПолуфабрикат не обязательно оформляется отдельным самостоятельным заказом. Он выпускается внутри общего производственного процесса.
Этот вариант подходит, если полуфабрикат:
— используется только для конкретного изделия;
— не хранится отдельно;
— не продается;
— не планируется самостоятельно;
— не нужен другим заказам.В таком случае в спецификации готового изделия у входного полуфабриката должен быть включен признак типа:
1С (Код)1Производится в процессеТочное название зависит от конфигурации и версии.
## Способ 2. Полуфабрикат производится отдельным заказом
Этот вариант нужен, если полуфабрикат:
— хранится на складе;
— используется в нескольких готовых изделиях;
— производится заранее;
— планируется отдельными партиями;
— имеет собственный производственный участок;
— должен иметь отдельный заказ и отдельный контроль выполнения.Тогда полуфабрикат должен быть самостоятельной потребностью.
Для него указывается способ обеспечения:
1С (Код)1Производствои подразделение-диспетчер, которое отвечает за его обеспечение.
Система по потребности готового изделия должна сформировать отдельный заказ на производство полуфабриката или предложение на его создание.
—
# 3. Что я рекомендую для вашего случая
Если у вас много полуфабрикатов и несколько производственных подразделений, лучше разделить их на два типа.
## Полуфабрикаты, которые всегда изготавливаются внутри заказа
Например:
1С (Код)123Внутренняя заготовкаВнутренняя сварная конструкцияВнутренняя операция обработкиДля них:
1С (Код)1Производится в процессеОни входят в единый заказ на производство готового изделия.
## Полуфабрикаты, которые являются самостоятельной продукцией
Например:
1С (Код)1234Корпус изделияСварная рамаОкрашенная детальКомплект узловДля них:
1С (Код)1Способ обеспечения: ПроизводствоОни могут формироваться отдельными заказами на производство и резервироваться под заказ готового изделия.
Не стоит делать отдельный заказ на каждый этап только потому, что этап выполняется другим цехом. Подразделение и заказ на производство, это разные вещи.
—
# 4. Как должно работать создание заказа из заказа покупателя
Правильная схема выглядит так.
## Шаг 1. Заказ покупателя
В заказе покупателя указывается:
1С (Код)12345Готовое изделиеКоличествоЖелаемая дата отгрузкиСклад отгрузкиСпособ обеспеченияВ заказе покупателя не нужно вручную перечислять все полуфабрикаты. Они должны определяться спецификацией.
## Шаг 2. Определяется спецификация готового изделия
Для строки заказа выбирается:
1С (Код)12Номенклатура: Готовое изделиеСпецификация: Спецификация готового изделияЕсли спецификация основная и действующая, ее можно подставлять автоматически.
## Шаг 3. Формируется заказ на производство
Создается:
1С (Код)1Заказ на производство готового изделияВ нем должны быть:
— заказ покупателя;
— готовая продукция;
— количество;
— дата выпуска;
— склад;
— подразделение-диспетчер;
— спецификация;
— статус «К производству».## Шаг 4. Система разворачивает спецификацию
При подготовке заказа к производству система должна получить дерево:
1С (Код)1234567Готовое изделие├── Полуфабрикат 2│ └── Полуфабрикат 1│ └── Материалы│├── Материал 1└── Материал 2Затем она должна определить:
— что является покупным материалом;
— что является производимым полуфабрикатом;
— что производится в процессе;
— что должно быть отдельной потребностью;
— какое подразделение выпускает каждый объект;
— в какой последовательности должны выполняться этапы.## Шаг 5. Формируются производственные этапы
Например:
1С (Код)1234567891011Этап 1Выпуск полуфабриката 1Подразделение: Заготовительный цехЭтап 2Выпуск полуфабриката 2Подразделение: Алюминиевый цехЭтап 3Выпуск готового изделияПодразделение: Сборочный цехДля каждого этапа должна быть указана связь:
1С (Код)123Результат предыдущего этапа↓Материал следующего этапаИначе программа увидит этапы просто как независимые операции.
—
# 5. Что именно должна делать доработка
Если стандартной настройки недостаточно и вы хотите отдельные заказы по цехам, обработка должна работать примерно так.
## Входные данные
Обработка получает:
1С (Код)123456Заказ покупателяСтрока заказаГотовая продукцияКоличествоДата выпускаСпецификация## Алгоритм
### Шаг 1. Проверка заказа
Проверяется:
— заказ покупателя проведен;
— есть готовая продукция;
— заполнено количество;
— указана дата;
— выбрана действующая спецификация;
— нет уже созданного заказа на производство.### Шаг 2. Чтение верхней спецификации
Обработка получает:
1С (Код)123Готовое изделиеКоличествоСпецификация готового изделияНапример:
1С (Код)1Количество готовой продукции: 10 штук### Шаг 3. Разворачивание дерева
Из спецификации читаются все входящие полуфабрикаты и материалы.
Для каждого элемента определяются:
1С (Код)12345678НоменклатураКоличествоЕдиница измеренияСпецификацияПодразделение-исполнительСрок изготовленияПризнак производстваУровень вложенностиНапример:
1С (Код)1234Уровень 0: Готовое изделиеУровень 1: Полуфабрикат 2Уровень 2: Полуфабрикат 1Уровень 3: Материалы### Шаг 4. Расчет количества
Количество должно рассчитываться с учетом нормы расхода и выхода продукции.
Например, если на одно готовое изделие требуется:
1С (Код)12 полуфабриката 2а заказано:
1С (Код)110 готовых изделийто потребность составит:
1С (Код)120 полуфабрикатов 2Если для одного полуфабриката 2 требуется:
1С (Код)13 полуфабриката 1то потребность составит:
1С (Код)160 полуфабрикатов 1При этом нужно учитывать:
— коэффициент выхода;
— процент брака;
— мерные остатки;
— кратность выпуска;
— минимальную партию;
— единицу хранения;
— уже имеющиеся остатки;
— существующие заказы;
— ранее созданные полуфабрикаты.### Шаг 5. Определение подразделения
Подразделение нельзя надежно определять только по названию номенклатуры.
Лучше хранить его в настройке спецификации или этапа:
1С (Код)12Спецификация полуфабриката 1Подразделение: Заготовительный цех1С (Код)12Спецификация полуфабриката 2Подразделение: Алюминиевый цех1С (Код)12Спецификация готового изделияПодразделение: Сборочный цехЕсли один и тот же полуфабрикат может изготавливаться в разных цехах, одного постоянного подразделения недостаточно. Тогда потребуется отдельный вариант спецификации или выбор маршрута.
### Шаг 6. Создание заказов снизу вверх
Создавать заказы лучше не сверху вниз, а от нижнего уровня к верхнему.
Сначала:
1С (Код)1Заказ на производство полуфабриката 1Потом:
1С (Код)1Заказ на производство полуфабриката 2Потом:
1С (Код)1Заказ на производство готового изделияТак проще сформировать связи потребности.
Для каждого заказа нужно сохранить:
1С (Код)12345678Родительский заказЗаказ-основаниеСтрока заказа покупателяНоменклатураКоличествоПодразделениеСпецификацияДата потребности### Шаг 7. Установка связей
Должно быть видно:
1С (Код)123Заказ на производство готового изделияпотребность в полуфабрикате 2обеспечивается заказом на производство полуфабриката 2И дальше:
1С (Код)123Заказ на производство полуфабриката 2потребность в полуфабрикате 1обеспечивается заказом на производство полуфабриката 1Без таких связей вы получите просто несколько независимых заказов. В этом случае система не будет понимать, какой полуфабрикат предназначен для какого готового изделия.
—
# 6. Как рассчитывать даты заказов
Если готовое изделие должно быть выпущено 30 числа, полуфабрикаты должны быть готовы раньше.
Например:
1С (Код)12345678Готовое изделие:Дата выпуска: 30 августаПолуфабрикат 2:Дата потребности: 28 августаПолуфабрикат 1:Дата потребности: 25 августаРасчет должен идти от даты готового изделия назад:
1С (Код)1234Дата готового изделияминус длительность сборкиминус длительность обработкиминус длительность заготовкиПоэтому в спецификациях или этапах нужны:
— длительность производства;
— межоперационный запас;
— время транспортировки;
— рабочий календарь;
— график работы подразделения;
— выходные и праздничные дни.Если просто ставить всем заказам одну дату, подразделения будут получать нереалистичный план.
—
# 7. Почему не стоит сразу делать отдельные заказы по всем подразделениям
Такая доработка быстро становится сложной. Нужно учитывать ситуации:
### Один полуфабрикат используется в нескольких изделиях
Например:
1С (Код)123Полуфабрикат 1используется в Изделии Аиспользуется в Изделии БНужно решить:
— создавать один общий заказ;
— создавать отдельный заказ под каждую строку заказа покупателя;
— объединять одинаковые потребности за период;
— как распределять выпуск между заказами.### Полуфабрикат уже есть на складе
Тогда новый заказ нужно создавать не на полное количество, а только на дефицит.
### Полуфабрикат уже производится
Нужно проверить существующие заказы в работе и не создать дубликат.
### Спецификация изменена
Нужно решить:
— перепроводить существующие заказы;
— отменять старые;
— создавать корректирующие заказы;
— фиксировать версию спецификации в заказе.### Один полуфабрикат изготавливается в разных цехах
Тогда подразделение выбирается не по номенклатуре, а по маршруту или варианту спецификации.
### Один цех производит несколько уровней дерева
Например:
1С (Код)123Алюминиевый цех:полуфабрикат 1полуфабрикат 2Нужно решить, создавать два заказа или один заказ с несколькими строками.
—
# 8. Какую схему я бы заложил для вашего предприятия
Для начала я бы сделал так:
## Вариант настройки
1С (Код)1234567Заказ покупателя↓Заказ на производство готового изделия↓Автоматическое развертывание спецификации↓Единый заказ с этапами по подразделениямВнутри заказа:
1С (Код)1234567891011Этап 1:Производство полуфабриката 1Заготовительный цехЭтап 2:Производство полуфабриката 2Алюминиевый цехЭтап 3:Производство готового изделияСборочный цехЕсли полуфабрикаты должны быть самостоятельными объектами учета:
1С (Код)123456Заказ покупателя↓Обеспечение потребности├── Заказ на производство полуфабриката 1├── Заказ на производство полуфабриката 2└── Заказ на производство готового изделияНо в этом случае я бы сначала проверил, может ли типовая конфигурация сформировать такие заказы через:
— обеспечение потребностей;
— заказ в заказ;
— план производства;
— планирование по спецификациям;
— автоматическое планирование полуфабрикатов;
— рабочее место управления очередью заказов на производство.И только если типовая логика не подходит, писать обработку.
—
# 9. Что нужно заложить в доработку обязательно
Если всё-таки делать собственную обработку, в ней должны быть отдельные регистры или реквизиты для хранения связей.
Минимально нужно хранить:
1С (Код)1234567891011Заказ покупателяСтрока заказа покупателяЗаказ на производствоРодительский заказ на производствоПроизводимая номенклатураСпецификацияКоличествоПодразделениеДата потребностиУровень дереваСтатусТакже нужны проверки:
1С (Код)1234567Спецификация действуетСпецификация не зацикленаПодразделение заполненоКоличество больше нуляЕсть единица измеренияНоменклатура не является самой собойНе создан дубль заказаОбязательно нужна защита от циклических спецификаций:
1С (Код)1234Полуфабрикат 1входит в Полуфабрикат 2Полуфабрикат 2входит в Полуфабрикат 1Иначе рекурсивный обход дерева никогда не закончится.
—
# 10. Что необходимо уточнить перед разработкой
Чтобы выбрать между стандартной настройкой и доработкой, нужны ответы на следующие вопросы.
1. Какая у вас конфигурация:
— 1С:ERP Управление предприятием 2;
— КА 2;
— УПП;
— УНФ;
— другая?2. Какая версия конфигурации и платформы?
3. Полуфабрикаты должны:
— выпускаться внутри одного заказа на производство;
— или обязательно иметь отдельные документы и отдельные заказы на производство?4. Полуфабрикаты хранятся на складе между переделами или сразу передаются из одного цеха в другой?
5. Один и тот же полуфабрикат может производиться разными подразделениями?
6. Один полуфабрикат может использоваться в нескольких готовых изделиях?
7. Нужно ли учитывать остатки полуфабрикатов на складе перед созданием новых заказов?
8. Должен ли каждый заказ на производство быть связан с конкретным заказом покупателя?
9. Нужно ли объединять потребность по нескольким заказам покупателей в один производственный заказ?
10. Заказ покупателя должен сразу создавать заказы на производство или сначала формировать потребность, которую диспетчер проверяет и подтверждает?
Наиболее безопасная начальная схема для вашей задачи:
1С (Код)12345678910111213Заказ покупателя↓Заказ на производство↓Разворачивание дерева спецификаций↓Этапы производства↓Подразделения-исполнители↓Выпуск полуфабрикатов↓Выпуск готовой продукцииА отдельные заказы на производство по цехам стоит вводить только в том случае, если вам действительно нужны независимое планирование, отдельные сроки, отдельное резервирование и самостоятельный контроль полуфабрикатов.
-
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.