Сообщение от
fed
В последнем DAX2009RU8 наткнулся на замечательный кусочек кода в reqTrans.findCommon():
X++:
if (reqTrans.RefType == ReqRefType::TransferDemand)
{
select firstonly reqTrans
index hint RefIdx
where reqTrans.ReqPlanId == reqTrans.ReqPlanId &&
reqTrans.RefType == ReqRefType::TransferPlannedOrder &&
reqTrans.RefId == reqTrans.RefId;
}
Конечно можно понять, что автор просто хотел найти приходную половинку спланированного заказа на перенос. Но учитывая что условия reqTrans.refId==reqTrans.refiId и reqTrans.reqPlanId==reqTrans.reqPlanId выполняются автоматически, на самом деле, он нашел первую попавшуюся чистую потребность типа "Спланированный заказ на перенос" в первом попавшемся плане. В результате - посмотреть развертывание заказа на перенос из формы "Профиль потребностей", приводит к развертыванию первого попавшегося заказа на перенос.
Можно починить примерно вот так:
X++:
reqTransCaller=reqTrans;
select firstonly reqTrans
index hint RefIdx
where reqTrans.ReqPlanId == reqTransCaller.ReqPlanId &&
reqTrans.RefType == ReqRefType::TransferPlannedOrder &&
reqTrans.RefId == reqTransCaller.RefId;