Напомним суть проблемы. 1C:ERP при планировании графика производства учитывает обеспеченность этапа материалами, в том числе если материала нет на складе, то учитывается срок исполнения заказа на закупку у поставщика.
Программа разместит Этап производства не раньше даты ожидаемого поступления материала, который потребляется при выполнении этапа.
Однако если материалы передаются в производство не напрямую со склада, на который оформляется приход от поставщика, а с предварительным перемещением между складами – тогда дата ожидаемого поступления материала не переносится по цепочке перемещений. И, соответственно, эта дата не будет учитываться при планировании выполнения Этапа производства.
Вероятно, в обозримом (или же в более отдаленном) будущем задача будет решена в типовом 1C:ERP при развитии разработчиками функционала динамического планирования. Однако заказчикам «уже вчера» нужно планировать производство с учетом дат ожидаемых поставок материалов, поэтому проанализируем варианты доработок программы.
При планировании графика производства, в частности, при определении даты начала этапа производства в случае обеспечения производства перемещением 1C:ERP ориентируется на дату отгрузки в документе перемещения материалов:
Эта дата не актуализируется системой автоматически при проведении обеспечивающего Заказа поставщику.
А почему бы тогда ее не актуализировать?..
Казалось бы, самое простое решение — доработка типовой функции распределения запасов, так чтобы в случае, если перемещение обеспечивается заказом поставщику, прописывать ожидаемую дату поставки из регистра Распределение запасов в реквизит Дата отгрузки документа перемещения. Однако главный недостаток внесения данных непосредственно в документ заключается в необходимости последующего перепроведения документов, при этом выполняется запись самого документа, запись всех движений, контроль остатков, наложение соответствующих блокировок до конца транзакции и т.д. Это может существенно повлиять на производительность функционирования системы, не говоря о прочих ограничениях…
Минимизировать этот технический недостаток можно, разделив запись документа и запись его движений. Документ перемещения следует записывать с режимом записи «Запись», а движения формировать только по регистру Распределение запасов. При записи движений регистра будет запущен типовой расчет записей регистра сведений Распределение запасов. Таким образом, работоспособность доработки будет существенно оптимизирована.
Более сложная доработка: в функции распределения запасов дополнительно актуализировать плановые даты отгрузки в регистре Распределение запасов по Заказу на перемещение и по Этапу производства, записывая в них дату ожидаемого поступления по обеспечивающему Заказу поставщику. При этом в функции планирования графика производства для определения возможной даты начала этапа в контексте обеспеченности — обращаться к дате не в документе, а в регистре Распределение запасов. Недостатком этого способа является нарушение логической целостности данных, т.е. расхождение данных в документе и в регистре. Кроме того, дополнительной проблемой будет неустойчивость доработки при развитии программы: изменения от фирмы 1С в новых релизах типового решения в подсистеме обеспечения и в подсистеме планирования графика производства могут повлиять на функционирование доработки.
Соответственно, первый из предложенных вариантов с внесением данных в документ и разделением записи документа и записи его движений представляется более оптимальным.