zoukankan      html  css  js  c++  java
  • Useing x++ Calculate period the on hand stock

    Useing x++ code Calculate period the on hand stock

    Remark by Jimmy July 13th 2010

    static void Jimmy_OnHandCalc(Args _args)
    {
        InventSumFinancial          InventSumFinancial;
        InventSumDatePhysical       InventSumDatePhysical = new InventSumDatePhysical();
        InventSumDateValueReport    InventSumDateValueReport;
        InventSumDateValue          InventSumDateValue    = new InventSumDateValue();
        InventSum                   InventSum;
        qty                         OnHandQty;
        Date                        PhysicalDate = MkDate(30,4,2010);
        ItemId                      ItemId  = 'BAG-1077-2';//10-1000
        InventTable                 IT      = InventTable::find(ItemId);
     ;
        InventSumDateValueReport = InventSumDateValueReport::newParameters(PhysicalDate,ItemId);
        OnHandQty =  InventSumDateValueReport.inventoryValue();
        print 'InventSumDateValueReport as below';//数量与库存价值均以物料实际交易日期为准则
        print 'Qty:',InventSumDateValueReport.physicalQuantity(),
          '   Value:',InventSumDateValueReport.inventoryValue();
    
        OnHandQty = 0;
    
        InventSumFinancial = InventSumFinancial::newInventTable(PhysicalDate,IT);
        OnHandQty = InventSumFinancial.value();
        print 'InventSumFinancial as below';//数量与库存价值均以 财务实际交易日期为准则
        print 'Qty:',InventSumFinancial.qty(),
           '   Value:',InventSumFinancial.value();
    
        InventSumDatePhysical.parmItemId(ItemId);
        InventSumDatePhysical.parmPerDate(PhysicalDate);
        InventSumDatePhysical.init();
        print 'InventSumDatePhysical as below';//没有库存价值
        print 'Qty:',InventSumDatePhysical.physicalQuantity();
    
        InventSumDateValue.parmItemId(ItemId);
        InventSumDateValue.parmPerDate(PhysicalDate);
        InventSumDateValue.init();
        print 'InventSumDateValue as below'; // 库存价值不正确
        print 'Qty:',InventSumDateValue.physicalQuantity(),'   Value:',InventSumDateValue.inventoryValue();
        print InventSumDateValue.estimatedInventValue();
        pause;
    }
    

     

    static void Jimmy_OnHandFindDim(Args _args)
    {
    /*** wrote by Jimmy on Dec. 1th 2010
    按维度显示库存
    InventSum 的newQuery 方法
    */
        query                       q;
        queryRun                    qr;
        InventSum                   inventSum;
        InventDim                   inventDim;
        InventDim                   inventDimValue;
        InventDimParm               inventDimParmCriteria;
        inventDimParm               inventDimParmGroupBy;
        inventSumDateValueReportDim inventSumDateValueReportDim;
        int             i;
        ;
        //维度(Dimension)条件
        inventDimValue.InventLocationId = "FPW";
        inventDimValue.configId         = "NZ-R";
        inventDimValue.inventBatchId    = "00000000-000000";
        //维度显示(有效)参数
        inventDimParmCriteria.ItemIdFlag            = NoYes::Yes;
        inventDimParmCriteria.InventLocationIdFlag  = NoYes::Yes;
        inventDimParmCriteria.ConfigIdFlag          = NoYes::Yes;
        inventDimParmCriteria.InventBatchIdFlag     = NoYes::Yes;
        //维度汇总参数
        inventDimParmGroupBy.ItemIdFlag             = NoYes::Yes;
        inventDimParmGroupBy.ConfigIdFlag           = NoYes::Yes;
        inventDimParmGroupBy.InventLocationIdFlag   = NoYes::Yes;
        inventDimParmGroupBy.InventBatchIdFlag      = NoYes::Yes;
        
        q = new Query();
        InventSum::newQuery(q,"10-1000",inventDimValue,inventDimParmCriteria,inventDimParmGroupBy);
    
        info(q.dataSourceNo(1).toString());
    
        qr = new QueryRun(q);
        while (qr.next())
        {
            inventDim = qr.get(tableNum(InventDim));
            inventSum = qr.get(tableNum(InventSum));
            i++;
            print inventDim.InventLocationId,'  ',inventDim.inventBatchId,inventSum.AvailPhysical,"  ",inventSum.PhysicalInvent;
        }
        print i;
        pause;
    }
    /***
    qty OnHand(ItemId       _ItemId)
    {
        qty         onHand;
        InventSum   InventSum;
        InventDim   InventDim;
    ;
        while select InventSum
                where InventSum.ItemId == _ItemId
            join InventDim
                where InventDim.InventDimId == InventSum.InventDimId
                &&    InventDim.InventLocationId != "RTV"
                &&    InventDim.InventLocationId != "REJECT"
                &&    InventDim.InventLocationId != "OBS"
                &&    InventDim.InventLocationId != "SALES"
        {
            onHand += InventSum.PhysicalInvent;
        }
        return onHand;
    }
    */
    
  • 相关阅读:
    my first blog
    iFrame 父子窗口通讯
    关于手机端横屏竖屏问题
    IE环境规定div高度必须大于字体高度的问题
    adMob的旋转方法
    影响一个UIView是否能正常显示的几个因素
    iphone编译时的注意事项
    Cocos2d的字体生成软件Hiero v2.0 Bitmap Font Tool的一些问题
    编写Web前端代码的注意事项
    Cocos2d的SpriteSheet在多层图片时出现的问题
  • 原文地址:https://www.cnblogs.com/Fandyx/p/1776494.html
Copyright © 2011-2022 走看看