一、业务背景
希望其他出库单,单据类型为“研发领料”时,“费用项目”字段必录且只能选择“029 材料”。
设置的需求组织为100,且包含跨组织(库存组织101,领用组织100)。
二、关键步骤
1、解析:
“组织100,且包含跨组织,库存组织101,领用组织100”即为“领用组织100,库存组织100或101”,所以设置条件的时候设置领用组织即可。
2、难点:
设置必录且只能选特定值。难点解析:可以拆分成必录和高级过滤。
3、步骤:
BOS-其他出库单-批量编辑字段属性。
a.必录通过实体服务规则实现。
1)在“费用项目”对应的上一级“基本信息”里,选择“基本信息”,点击“实体服务规则”,点击新增。
2)填写规则描述“研发领料,费用项目必录且为029,含跨组织”。设置规则条件, FPickOrgId.FNumber = '100' AND FBillTypeID.FNumber = 'YFQTCK'(领用组织编码='100'且单据类型编码等于'YFQTCK(研发其他出库)',这里推荐使用编码,因为名称可能会后期有细微变动,编码变动可能性较小)。
3)当规则条件成立时,执行以下服务:新增,服务类型选择“设置字段必录”,勾选需要设置必录的字段,此处勾选“费用项目”。
b.只能选特定值通过高级过滤实现。
1)在“费用项目”处,打开“高级过滤”,新增,填写过滤描述,“领用组织1且单据类型为研发领料,含跨组织”。打开前置条件,前置条件描述“领用组织为100且单据类型为研发领料”。设置前置条件, FPickOrgId.FNumber = '100' AND FBillTypeID.FNumber = 'YFQTCK',确定。
2)设置过滤条件,当前置条件成立时,执行以下过滤:单据头.编码等于029。
三:小结
1)考虑过只能选特定值也在实体服务规则里实现,用“计算定义公式的值并填写到指定列”,设置“费用项目”的值为029,系统报错;改为通过高级过滤实现。
2)在限定条件下的必录通过该字段上一级(所在大类位置,如此处是“基本信息”)的“实体服务规则”实现。
3)限定能选到的值通过“高级过滤”实现,在该字段处设置。
4)最终效果是:领用组织为100,库存组织为100或101,单据类型为研发领料,“费用项目”会出现必录标识,红色星号;如果领用组织不是100,或领用组织是100 但是单据类型不是研发领料,“费用项目”为非必录。
推荐阅读