查询库存时点现有量 Function

static qty availQty(ItemId itemId,
InventLocationId locationId = "",
wmsLocationid wmsLocationId = "",
InventBatchId batchId = "",
InventSerialId serialId = "",
TransDate pointDate = systemDateGet())
{
Query _Query;
QueryRun _QueryRun;
InventSum _inventsum;
InventDim _InventDim;
inventDim inventDimCriteria;
inventdimparm inventDimparmCriteria;
inventDimParm inventDimparmGroupby;
InventSumDatePhysicalDim inventSumDateDim;
Qty availQty ;
;
inventDimCriteria.clear();
if (locationId)
inventDimCriteria.InventLocationId = locationId;
if (wmsLocationid)
inventDimCriteria.wMSLocationId = wmsLocationid;
if (batchId)
inventDimCriteria.inventBatchId = batchId;
if (serialId)
inventDimCriteria.inventSerialId = serialId;
inventDimparmCriteria.clear();
inventDimparmCriteria.ItemIdFlag = Noyes::Yes;
if (locationId)
inventDimparmCriteria.InventLocationIdFlag = Noyes::Yes;
if (wmsLocationid)
inventDimParmCriteria.WMSLocationIdFlag = NoYes::Yes;
if (batchId)
inventDimParmCriteria.InventBatchIdFlag = NoYes::Yes;
if (serialId)
inventDimParmCriteria.InventSerialIdFlag = NoYes::Yes;
inventDimparmGroupby.clear();
inventDimparmGroupby.ItemIdFlag = Noyes::Yes;
if (locationId)
inventDimparmGroupby.InventLocationIdFlag = Noyes::Yes;
if (wmsLocationid)
inventDimparmGroupby.WMSLocationIdFlag = NoYes::Yes;
if (batchId)
inventDimparmGroupby.InventBatchIdFlag = NoYes::Yes;
if (serialId)
inventDimparmGroupby.InventSerialIdFlag = NoYes::Yes;
_Query = new Query();
Inventsum::newQuery(_Query,itemId,inventDimCriteria,inventDimparmCriteria,inventDimparmGroupby);
_queryRun = new QueryRun(_query);
while(_queryrun.next())
{
_inventsum = _Queryrun.get(tablenum(InventSum));
_inventDim = _QueryRun.get(tablenum(InventDim));
inventSumDateDim = InventSumDatePhysicalDim::newParameters(pointDate,_InventSum.ItemId,_inventdim,inventDimparmCriteria);
availQty = inventSumDateDim.postedQty() + inventSumDateDim.receivedQty() -
InventSumDateDim.deductedQty() + InventSumDateDim.registeredQty() - InventSumDateDim.pickedQty();
}
return availQty;
}

转载于:https://www.cnblogs.com/xtwkh1973/p/10993122.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值