设置单据特定单据类型下特定字段必录且只能选特定值原创
金蝶云社区-渐娄及料
渐娄及料
4人赞赏了该文章 365次浏览 未经作者许可,禁止转载编辑于2023年10月12日 14:38:42

一、业务背景

希望其他出库单单据类型为“研发领料”时,“费用项目”字段必录且只能选择“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 但是单据类型不是研发领料,“费用项目”为非必录。



image.png


image.png


image.png


image.png


image.png

赞 4