物料启用辅助属性,单据添加必录校验原创
金蝶云社区-勤劳的小蜜蜂
勤劳的小蜜蜂
13人赞赏了该文章 2,203次浏览 未经作者许可,禁止转载编辑于2020年10月15日 10:44:25

通过如下公式,检验等级(FF100005)必录但未录(其他各维度,参照此公式单独配置):

FMaterialID !=null  and len(filter(lambda x: (x.AuxPropertyId_Id == 100009 and  x.IsEnable1==true), FMaterialID.MaterialAuxPty))>0 and (FAuxPropId.ActiveObject = @null  or FAuxPropId.ActiveObject['F100009'] = 0)

公式说明:1. FMaterialID !=null 物料已经录入

2. len(filter(lambda x: (x.AuxPropertyId_Id == 100009 and  x.IsEnable1==true), FMaterialID.MaterialAuxPty))>0 对物料的MaterialAuxPty单据体进行循环,找到内码为100009的辅助属性,判断其是否启用,如果启用,则满足条件

3. (FAuxPropId.ActiveObject = @null  or FAuxPropId.ActiveObject['F100009'] = 0)辅助属性未录入,或者是辅助属性维度F100009未录入

特别说明:上述公式,并不是通用的公式,因为其中使用辅助属性维度F100009,在其他数据中心,可能根本不存在,或者代表的含义不同。请勿照搬,必须在理解了公式之后,在本地数据中心进行适当调整,以适用于本数据中心。

应用案例:物料启用EPE宽度的辅助属性,在销售订单EPE宽度字段必录

---1.查找物料辅助属性对应标示

select  p.* from  T_BD_MATERIAL m

left  join  t_BD_MaterialAuxPty p on p.FMATERIALID=m.FMATERIALID

where m.FNUMBER=' 16254100A01701' and m.FUSEORGID=276234

--100005    EPE长度(mm)

--100006    EPE厚度(mm)

--100007    EPE宽度(mm)

--100002    纸度(英寸)

--100003    纸度

--100004    纸长(英寸)

2.在销售订单保存操作添加校验

FMaterialID !=null  and len(filter(lambda x: (x.AuxPropertyId_Id == 100005 and  x.IsEnable1==true), FMaterialID.MaterialAuxPty))>0 and (FAuxPropId.ActiveObject = @null  or FAuxPropId.ActiveObject['F100005'] = 0)


3:利用辅助属性进行计算

 FSecCountQty  =   FCountQty   * (float(str( FAuxPropId.ActiveObject['F100002']))) *  (float(str( FAuxPropId.ActiveObject['F100004'])))  * 25.4*25.4 / 1000000








赞 13