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));
    }

  • 相关阅读:
    排版字号对应多少pt
    C# 定义常量 两种实现方法
    HttpApplication 类,HttpApplicationState 类
    [ASP.net教程]ASP.NET保存信息总结(Application、Session、Cookie、ViewState和Cache等)
    sqlserver 汉字转拼音(转载)
    几个不错的echarts +百度地图 案例
    ECharts 实现地图散点图上(转载)
    ECharts 散点图+百度地图(案例转载)
    SQL统计部门人数,人数为0的部门也要显示出来
    待看文档
  • 原文地址:https://www.cnblogs.com/fogfog/p/6135141.html
Copyright © 2011-2022 走看看