0
如何在使用代碼更新packingSlip後關閉採購訂單?如何使用代碼更新packingSlip後關閉採購訂單
我知道我可以在每個purchLine的purchLine.receivedNow中有不同的數量,我需要發佈裝箱單並關閉採購訂單,無論交付多少物品。
我想在AX 2009中通過x ++發佈packingSlip,它工作正常。 但是,我需要同時關閉採購訂單。
我基本上需要:
purchParmline.closed = true;
就如何落實這一任何想法?我已經搜索並找到很多不同的方式來發布採購訂單,但沒有什麼能夠完全回答我的問題。
void postPackingSlip(purchId _purchId, num _packingSlipId)
{
PurchFormLetter PurchFormLetter;
PurchTable PurchTable;
;
PurchTable = PurchTable::find(_purchId,true);
purchFormLetter = purchFormLetter::construct(DocumentStatus::PackingSlip);
PurchFormLetter.update(PurchTable, _packingSlipId , today(), PurchUpdate::ReceiveNow ,AccountOrder::None,NoYes::No,NoYes::No);
}
我也試圖做這種方式,但沒有成功
void postPackingSlipOld(purchId _purchId, num _packingSlipId)
{
PurchFormLetter purchFormLetter;
PurchTable purchTable;
purchparmtable purchParmtable;
ParmId parmId;
PurchLine purchLine;
purchparmline purchparmline;
;
purchTable=PurchTable::find(_purchId);
purchFormLetter = PurchFormLetter::construct(DocumentStatus::PackingSlip);
purchFormLetter.createParmUpdate();
purchParmtable = purchParmtable::find(_purchid, _packingSlipId);
purchFormLetter.createParmTable(purchParmTable,purchTable);
purchParmTable.Num = _packingSlipId;
purchParmTable.insert();
while select purchLine
where purchLine.PurchId == purchTable.purchId
{
purchParmLine.ParmId = purchParmTable.ParmId;
purchParmLine.InitFromPurchLine(purchLine);
purchParmLine.ReceiveNow = PurchLine.PurchReceivedNow;
purchParmLine.TableRefId = purchParmTable.TableRefId ;
purchParmLine.closed = true;
purchParmLine.setQty(DocumentStatus::PackingSlip,false, true);
purchParmLine.setLineAmount();
purchParmLine.insert();
}
purchFormLetter.proforma (false);
purchFormLetter.specQty (PurchUpdate::ReceiveNow);
purchFormLetter.transDate (today());
purchFormLetter.run();
}
謝謝你的亞歷克斯。它一開始並不奏效,因爲我不得不刷新PurchTable來查看更改。 – AlexanderTh