正如前文所说的,AX的很多功能与窗体绑定了,需要剥离出来,有一些类提供了供其他代码直接调用的方法,比如PurchFormLetter及SalesFormLetter的Update方法,它们就帮忙处理了Parm*等一系列的表,并自动过账,于是客户段代码可以很方便地调用它们。但也有一些类没有提供类似的方法,就需要我们自己去处理Parm*表,比如转移单的装运和收货,本文仿照PurchFormLetter的方式给转移单对应的类添加方法,以期实现类似的效果,供客户端类调用。
1.给类InventTransferUpdate添加构造方法:
转移单的装运和收货static InventTransferUpd construct(InventTransferUpdateType _InventTransferUpdateType)
}


2.给类InventTransferUpdate添加updateShip和updateReceive方法:
发货:

转移单的装运和收货void updateShip(InventTransferId                _inventTransferId,                  //InventTransfer Order Number
转移单的装运和收货
            InventTransferShipUpdateQty     _inventTransferShipUpdateQty,       //Ship Qty the value is Enum:InventTransferShipUpdateQty
转移单的装运和收货
            InventTransferEditLines         _editLines      = NoYes::No,
转移单的装运和收货            InventTransferAutoReceiveQty    _autoReceiveQty 
= NoYes::No,
转移单的装运和收货            NoYes                           _printTransferPickingList 
= NoYes::No,//print pick list
转移单的装运和收货
            NoYes                           _printTransferReceipt     = NoYes::No,//print transfer receipt
转移单的装运和收货
            NoYes                           _printTransferShip        = NoYes::No,//print transfer ship
转移单的装运和收货
            TransDate                       _transDate      = SystemDateGet())
}

收货:

 NoYes::No,
            InventTransferAutoReceiveQty    _autoReceiveQty = NoYes::No,
            NoYes                           _printTransferPickingList 
= NoYes::No,//print pick list
            NoYes                           _printTransferReceipt     = NoYes::No,//print transfer receipt
            NoYes                           _printTransferShip        = NoYes::No,//print transfer ship
            TransDate                       _transDate      = SystemDateGet())
{
    InventTransferParmTable     localInventTransferParmTable;
    ;
    localInventTransferParmTable.skipTTSCheck(
true);
    localInventTransferParmTable.TransferId                 
= _inventTransferId;
    localInventTransferParmTable.AutoReceiveQty             
= _autoReceiveQty;
    localInventTransferParmTable.ReceiveUpdateQty           
= _inventTransferReceiveUpdateQty;
    localInventTransferParmTable.EditLines                  
= _editLines;
    localInventTransferParmTable.TransDate                  
= _transDate;
    localInventTransferParmTable.PrintTransferPickingList   
= _printTransferPickingList;
    localInventTransferParmTable.PrintTransferReceipt       
= _printTransferReceipt;
    localInventTransferParmTable.PrintTransferShipment      
= _printTransferShip;
    localInventTransferParmTable.ParmBuffer::initParmId();
    localInventTransferParmTable.write();

    
this.parmParmBuffer(localInventTransferParmTable);

    
this.run();

}

 

3.调用示例:

发货:

转移单的装运和收货InventTransferUpd       inventTransferUpd = InventTransferUpd::construct(InventTransferUpdateType::Shipment);
转移单的装运和收货inventTransferUpd.update(
'00031_080',InventTransferShipUpdateQty::PickedQty);
收货:
 InventTransferUpd::construct(InventTransferUpdateType::Receive);
            inventTransferUpd.updateReceive(transferId,InventTransferReceiveUpdateQty::Registered);

相关文章:

  • 2021-08-21
  • 2022-02-01
  • 2021-07-19
  • 2021-10-02
  • 2021-12-18
  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-09-02
  • 2022-12-23
  • 2021-08-28
  • 2021-09-16
  • 2022-12-23
相关资源
相似解决方案