金蝶K3出入库单据针对特定仓库进行过滤的实现逻辑

需求:目前需要对不良品物料进行管控,需要实现以下功能

1、不良品隔离后,销售出库不允许领用;
2、品质或者研发可以领用不良品进行分析(其它出库);
3、生产领料不能领用不良品原料,可以领用不良品成品进行返工;
4、仓库可以根据质量判定,将不良品调拨隔离或者复原;

实现方法:
1、创建2个不良品仓库,用于区分来料及成品,为后边生产领料过滤仓库做准备;
2、系统所有出入库单据只对501待检仓/502赠品仓/503代管仓进行屏蔽,其余仓库默认不做筛选屏蔽,如果需要对销售出库和生产领料进行特定仓库过滤,需要对筛选条件进行调整;
3、隔离操作采取调拨单方式进行操作即可。

开发步骤:
1、仓库增加2个仓库:成品不良品仓、来料不良品仓。用于区别不合格的原材料和成品;

2、数据库对销售出库出货仓库筛选条件进行调整:

update ICTemplate set FFilter='FTypeID not in (501,502,503) and Fproperty<>12' where FID='B01' and FFieldName='FDCStockID'--销售出库表头
update ICTemplateEntry set FFilter='FTypeID not in (501,502,503) and Fproperty<>12' where FID='B01' and FFieldName='FDCStockID'--销售出库表体

3、销售出库单前台测试:
 
可以看到4001和4002已经选不到了:

4、数据库对生产领料出货仓库筛选条件进行调整:由于只需要对来料不良品仓进行屏蔽,所以我们先查看数据库这个仓库的内码是3582:

所以sql语句调整如下:

update ICTemplate set FFilter='FTypeID not in (501,502,503) and b.FItemID<>3582' where FID='B04' and FFieldName='FSCStockID'--生产领料表头
update ICTemplateEntry set FFilter='FTypeID not in (501,502,503) and b.FItemID<>3582' where FID='B04' and FFieldName='FSCStockID'--生产领料表体

5、生产领料单前台测试:

4001屏蔽了,4002可选:

OVER.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值