02.06.2014, 14:02 | #1 |
Участник
|
Внутрихолдинговое планирование
Имеем ситуацию:
1. Компания A производитель 2. Компания B поставляет комплектацию для компании A, которую закупает у поставщика П1. 3. Учет A и B ведется в DAX2012. 4. Используется внутрихолдинговое планирование Результаты планирования вызывают сомнения в корректности работы системы. Ниже описание (будет 3 поста) |
|
02.06.2014, 14:06 | #2 |
Участник
|
Вопрос №1 – формирование даты потребности в компании B
Имеем: 1. В компании A возникает потребность в материале М1 на 30.05.2012 2. Принято решение, что материал М1 должен быть доставлен в компанию A за 5 дней до потребности. Для этих целей в группе покрытия материала М1 указан резерв прихода 5 дней. 3. При планировании получаем: a. В компании А:Получается, что поставь мы хоть 1000 в резерв прихода в компании A для материала M1 это никак не отразится на планировании в компании B. Как результат срываем сроки поставки материала М1. Мне кажется, что для корректной работы системы необходимо, чтобы дата потребности в Компании B = дата поставки в компании A, т.е. 25.05.2014. Я внес следующие изменения в метод convertReqDate ReqIntercompanyConversionUtil класса: X++: public ReqDate convertReqDate(ReqPO _reqPO) { SalesLine salesLineTemp; SalesCalcAvailableDlvDates salesCalcAvailableDlvDates; InventDim inventDim; salesLineTemp.DlvMode = this.convertDeliveryMode(_reqPO); if (!salesLineTemp.DlvMode) { return _reqPO.ReqDate; } inventDim.InventSiteId = this.convertSiteId(_reqPO); inventDim.InventLocationId = this.convertWarehouseId(_reqPO); inventDim = InventDim::findOrCreate(inventDim); salesLineTemp.InventDimId = inventDim.InventDimId; //Ошибка определения даты потребности--> //salesLineTemp.ReceiptDateRequested = _reqPO.ReqDate; salesLineTemp.ReceiptDateRequested = _reqPO.ReqDateDlv; //<-- salesLineTemp.DeliveryPostalAddress = this.findDeliveryAddress(_reqPO); salesCalcAvailableDlvDates = SalesCalcAvailableDlvDates::newCommonSalesDlvDateType(salesLineTemp); salesCalcAvailableDlvDates.createPossibleShippingAndReceiptDates(true); return salesCalcAvailableDlvDates.parmSalesAvailableDlvDatesTmp().AvailableShippingDate; } |
|
|
За это сообщение автора поблагодарили: Мартынов Дмитрий (1). |
02.06.2014, 14:14 | #3 |
Участник
|
Вопрос №2 – учет времени транспортировки в компании B
Стандартная функциональность предполагает, что время транспортировки продукции при планировании рассчитывается на основании настройки УЗиС \ Настройка \ Распределение \ Транспортировка. Пи внутрихолдинговом планировании этой настройка вступает в силу только при условии, что в карточке клиента указан Способ поставки. При этом сама настройка в форме Транспортировка позволяет указать время без привязки к Способу поставки. Получается не стыковка, с одной стороны система позволяет не учитывать параметр Способ поставки с другой стороны без него не работает. Тот же метод тот же класс X++: public ReqDate convertReqDate(ReqPO _reqPO) { SalesLine salesLineTemp; SalesCalcAvailableDlvDates salesCalcAvailableDlvDates; InventDim inventDim; salesLineTemp.DlvMode = this.convertDeliveryMode(_reqPO); //Ошибка - Способ поставки не является обязательным --> //if (!salesLineTemp.DlvMode) //{ // return _reqPO.ReqDate; //} //<-- inventDim.InventSiteId = this.convertSiteId(_reqPO); inventDim.InventLocationId = this.convertWarehouseId(_reqPO); inventDim = InventDim::findOrCreate(inventDim); salesLineTemp.InventDimId = inventDim.InventDimId; //Ошибка определения даты потребности--> //salesLineTemp.ReceiptDateRequested = _reqPO.ReqDate; salesLineTemp.ReceiptDateRequested = _reqPO.ReqDateDlv; //<-- salesLineTemp.DeliveryPostalAddress = this.findDeliveryAddress(_reqPO); salesCalcAvailableDlvDates = SalesCalcAvailableDlvDates::newCommonSalesDlvDateType(salesLineTemp); salesCalcAvailableDlvDates.createPossibleShippingAndReceiptDates(true); return salesCalcAvailableDlvDates.parmSalesAvailableDlvDatesTmp().AvailableShippingDate; } |
|
02.06.2014, 14:20 | #4 |
Участник
|
Вопрос №3 – синхронизация времени транспортировки в A и В
Вопрос скорее риторический, но тем не менее. Получается, что в компании A для отражения времени транспортировки используется время упреждения по закупке. В компании В используется время транспортировки. Соответственно если эти настройки не синхронизированы, то результаты планирования в A и B отличаются. В идеале хотелось бы как-то указать, на чем основывается планирование, т.е. всегда использовать время упреждения из A или время транспортировки из B. |
|
|
|