|
![]() |
#1 |
Banned
|
Пожалуйста: приведенный ниже код копирует поле из SalesLine в ReqPO. Практически ваш случай.
X++: // EVGGL, PT0616 --> protected void TCHUpdatePlannedOrderSalesPoolId(ReqSetupDim _setupDim) { ReqTrans reqTrans; ReqTransCov reqTransCov; ReqTrans reqTransSettled; SalesPoolId salesPoolId, oldSalesPoolId; ReqPO reqPO; Map mapPlannedOrder; MapIterator mi_PlannedOrder; Map mapReqTransReceipts; ReqTransCache reqTransCache = reqPlanData.reqTransCache(); mapPlannedOrder = reqTransCache.mapPlannedOrder(); mapReqTransReceipts = reqTransCache.findReceipts(_setupDim); if (! mapPlannedOrder || ! mapReqTransReceipts) return; mi_PlannedOrder = new mapIterator(mapPlannedOrder); mi_PlannedOrder.begin(); while (mi_PlannedOrder.more()) { // ignore planned order coming from another cycle if (! mapReqTransReceipts.exists(mi_PlannedOrder.key())) { mi_PlannedOrder.next(); continue; } reqTrans = mapPlannedOrder.lookup(mi_PlannedOrder.key()); salesPoolId = ""; oldSalesPoolId = ""; if (reqTrans.CovQty && ! reqTrans.IsDerivedDirectly && ! reqTrans.IsForecastPurch && (reqTrans.RefType == ReqRefType::ItemPlannedOrder || reqTrans.RefType == ReqRefType::BOMPlannedOrder)) { reqTransCov = reqTrans.selectCovJoinTrans(true); reqTransSettled = reqTransCov.joinChild(); while (reqTransCov) { if (reqTransCov.Qty == 0) continue; if (! reqTransSettled.InventTransId || ! reqTransSettled.RefId || reqTransSettled.RefType != ReqRefType::Sales) { // There cannot be any common relation salesPoolId = ""; break; } salesPoolId = SalesLine::findInventTransId(reqTransSettled.InventTransId).TCHSalesPoolId; if (! salesPoolId) break; if (oldSalesPoolId && salesPoolId != oldSalesPoolId) { salesPoolId = ""; break; } oldSalesPoolId = salesPoolId; next reqTransCov; } if (salesPoolId) { reqPO = reqTrans.reqPo(true); reqPO.TCHSalesPoolId = salesPoolId; reqPO.doUpdate(); } } mi_PlannedOrder.next(); } } X++: ... } // EVGGL, PT0616 --> this.TCHUpdatePlannedOrderSalesPoolId(setupDim); // EVGGL, PT0616 <-- } ttscommit; } catch (Exception::Deadlock) ... |
|
|
За это сообщение автора поблагодарили: wojzeh (1), shogel (1). |
![]() |
#2 |
Участник
|
Цитата:
![]() Ещё раз СПАСИБО ! Римантас |
|
|
|