1. 程式人生 > >過賬采購發票

過賬采購發票

commit update from public validate clear mit spec pda

大多數場景下,開票前一般都會跟供應商進行收貨單的對賬,準確無誤後,根據協商的金額將所對賬的采購訂單開一個發票。
在PurchFormLetter中增加一個方法用於根據對賬單明細生成對應的Parm表記錄(AX2009)。

public void ERM_CreateParmByStatement(ERM_VendStatementTable _statementTable)
{
    ERM_PurchTableInvoice           purchTableInvoice;
    ERM_PurchInvoice                purchInvoice;
    PurchLine                       purchLineLocal;
    ;

    ttsbegin;

    
select firstonly purchTableInvoice where purchTableInvoice.StatementId == _statementTable.StatementId; select firstonly purchInvoice where purchInvoice.StatementId == _statementTable.StatementId; this.createParmUpdate(); purchParmUpdate.SpecQty = PurchUpdate::ReceiveNow; purchParmUpdate.SumBy
= AccountOrder::Order; purchParmUpdate.SumNum = _statementTable.StatementId; purchParmUpdate.SumPurchId = purchTableInvoice.PurchId; purchParmUpdate.update(); while select purchTableInvoice where purchTableInvoice.StatementId == _statementTable.StatementId {
//info(purchTableInvoice.PurchId); purchParmTable.clear(); purchParmTable.ParmId = purchParmUpdate.ParmId; purchParmTable.PurchId = purchTableInvoice.PurchId; purchParmTable.initFromPurchTable(PurchTable::find(purchParmTable.PurchId)); purchParmTable.Approved = NoYes::Yes; purchParmTable.Num = _statementTable.StatementId; purchParmTable.TransDate = purchInvoice.InvoiceDate; purchParmTable.insert(); while select purchLineLocal where purchLineLocal.PurchId == purchTableInvoice.PurchId { if(purchLineLocal.receivedInTotalServer()) { purchParmLine.clear(); purchParmLine.ParmId = purchParmTable.ParmId; purchParmLine.TableRefId = purchParmTable.TableRefId; purchParmLine.initFromPurchLine(purchLineLocal); purchParmLine.ReceiveNow = purchLineLocal.receivedInTotalServer(); purchParmLine.InventNow = purchLineLocal.receivedInventInTotal(); purchParmLine.RemainAfter = 0; purchParmLine.RemainAfterInvent = 0; purchParmLine.RemainBefore = purchParmLine.ReceiveNow; purchParmLine.RemainBeforeInvent = purchParmLine.InventNow; purchParmLine.LineAmount = purchParmLine.calcLineAmountForced(); purchParmLine.insert(); } } } this.initParameters(); this.editLinesChanged(false); this.reArrangeNow(true); this.validateAll(false); this.reArrange(true); this.validateAll(true); ttscommit; }

放在這裏做備份。

過賬采購發票