Вопрос №1 – формирование даты потребности в компании B
Имеем:
1. В компании A возникает потребность в материале М1 на 30.05.2012
2. Принято решение, что материал М1 должен быть доставлен в компанию A за 5 дней до потребности. Для этих целей в группе покрытия материала М1 указан резерв прихода 5 дней.
3. При планировании получаем:
a. В компании А:
i. Дата потребности = 30.05.2014.
ii. Дата поставки = 25.05.2014
b. В компании B:i. Дата потребности = 30.05.2014
ii. И именно от этой даты система начинает планирование в компании B.
Получается, что поставь мы хоть 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;
}
Что вы думаете по этому поводу?