需求:目前需要对不良品物料进行管控,需要实现以下功能
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.