zoukankan      html  css  js  c++  java
  • AX 2012 CopySO_CreditNote

    static void JobCopySO()
    {
        SalesTable  salesTable = SalesTable::find('SO1-900104');
        SalesLine   salesLine;
        SalesTable  salesTableNew;
        SalesOrderCopyingContract contract = SalesOrderCopyingContract::newIsCreditNote(false);
       
        SalesCopying            salesCopying;
        TmpFrmVirtual           tmpFrmVirtualLines;
        TmpFrmVirtual           tmpFrmVirtualHeader;
       
        void writeTmpFrmVirtual(TmpFrmVirtual _tmpFrmVirtual, TableId _tableId, RecId _recId, Num _id, LineNum _lineNum = 0, TransDate _transDate = systemDateGet(), Qty _qty = 0)
        {
            _tmpFrmVirtual.clear();
            _tmpFrmVirtual.TableNum     = _tableId;
            _tmpFrmVirtual.RecordNo     = _recId;
            _tmpFrmVirtual.Id           = _id;
            _tmpFrmVirtual.LineNum      = _lineNum;
            _tmpFrmVirtual.TransDate    = _transDate;
            _tmpFrmVirtual.Qty          = _qty;

            _tmpFrmVirtual.write();
        }
       
        // Create your new sales header
        salesTableNew.SalesId = NumberSeq::newGetNum(SalesParameters::numRefSalesId()).num();
        salesTableNew.initValue();
        salesTableNew.CustAccount = salesTable.CustAccount;
        salesTableNew.initFromCustTable();
        salesTableNew.insert();
       
        // Build header virtual
        writeTmpFrmVirtual(tmpFrmVirtualHeader, salesTable.TableId, salesTable.RecId, salesTable.SalesId);
       
        while select salesLine
            where salesLine.SalesId == salesTable.SalesId
        {
            writeTmpFrmVirtual(tmpFrmVirtualLines, salesLine.TableId, salesLine.RecId, salesLine.SalesId, salesLine.LineNum, systemDateGet(), salesLine.SalesQty);
        }
       
        contract.parmSalesPurchCopy(SalesPurchCopy::CopyAllHeader);
        contract.parmCallingTableSalesId(salesTableNew.SalesId);
        contract.parmTmpFrmVirtualLines(tmpFrmVirtualLines);
        contract.parmTmpFrmVirtualHeader(tmpFrmVirtualHeader);
        contract.parmQtyFactor(1);
        contract.parmRecalculateAmount(NoYes::No);
        contract.parmReverseSign(NoYes::No);
        contract.parmCopyMarkup(NoYes::No);
        contract.parmCopyPrecisely(NoYes::No);
        contract.parmDeleteLines(NoYes::Yes);   
       
        SalesCopying::copyServer(contract.pack(), false);
          
        info(strFmt("Created %1", salesTableNew.SalesId));
    }

  • 相关阅读:
    python3监控网站状态
    暴力屏蔽80访问失败的用户
    python3爬取中国药学科学数据
    python3发邮件脚本
    OOP AOP
    lambda
    jni
    Gradle史上最详细解析
    supersocket 遇到的Failed to initialize 和 log4net用法
    在c#中利用keep-alive处理socket网络异常断开的方法
  • 原文地址:https://www.cnblogs.com/fogfog/p/6135141.html
Copyright © 2011-2022 走看看