金蝶K3单据新增页面在单据体体现物料即时库存数据
默认单据新增或查询中,单据体没有物料的即时库存数据,如果业务部门希望在新增单据的时候希望能够实时查看该物料的库存数据情况,可以采取如下方式增加:
1、在物料数据增加库存字段,类型为实数,保存;
2、K3字段描述查询工具查询刚才添加的字段在数据库中的列名;物料新增列名在t_ICITEMCUSTOM表中,本例查到是字段列名称为F_106;
3、返回SQL,在表ICInventory中创建触发器,触发器代码如下(本例库存字段为F_106):
CREATE TRIGGER [dbo].[icinventoryupdate] ON [dbo].[ICInventory]
FOR INSERT, UPDATE, DELETE
AS
update t_ICItemCustom set f_106 =
isnull((select sum(fqty) from ICInventory where ICInventory.fitemid=t_ICItemCustom.fitemid
--and ICInventory.fstockid in (select fitemid from t_stock where fnumber in ('01','02','03','04'))--如果要限制统计某几个仓库的库存,可以启用本条目
),0)
where fitemid in (select fitemid from inserted)
update t_ICItemCustom set f_106 =
isnull((select sum(fqty) from ICInventory where ICInventory.fitemid=t_ICItemCustom.fitemid
--and ICInventory.fstockid in (select fitemid from t_stock where fnumber in ('01','02','03','04'))--如果要限制统计某几个仓库的库存,可以启用本条目
),0)
where fitemid in (select fitemid from deleted)
如上触发器一旦库存表数据ICInventory有变动,会自动将实时库存合计数据反写到对应的物料表库存字段中。自此物料主数据实时库存数据已经创建;
请注意,首次部署需要对库存数据进行初始化:
update t_ICItemCustom set f_106 =
isnull((select sum(fqty) from ICInventory where ICInventory.fitemid=t_ICItemCustom.fitemid
--and ICInventory.fstockid in (select fitemid from t_stock where fnumber in ('01','02','03','04'))--如果要限制统计某几个仓库的库存,可以启用本条目
),0)
4、在需要添加物料实时库存的表单中添加物料实时库存字段,本例以销售订单为例,使用BOS集成开发工具打开销售订单,使用如下方法在销售订单表体中增加一列即时库存,关联物料库存数据;
5、保存后,在销售订单新增页面即可看到物料对应默认仓库实时库存数据
6、验证结果:查看该物料的库存信息,可以看到上方带出来的是单据行物料对应默认仓库的即时库存。
赞 (0)