1 功能概述
【单据取值配置】核心的功能是通过可灵活定义的映射找到合适数据,然后返回到业务单据,准确高效录入业务单据,此功能适用于二开业务单据。
2 关键字段
序号 | 字段名称 | 字段说明 | 必录性 |
一、基本信息 |
1 | 编号 | 配置编号,由系统根据编码规则自动产生,不能重复,不能为空,不可编辑。 | 必录 |
2 | 名称 | 配置的名称,手工录入。 | 必录 |
3 | 目标实体 | 要取值的实体,通常为业务单据,手工录入。 | 必录 |
4 | 来源实体 | 数据来源的实体,通常为基础资料,手工录入。 | 必录 |
5 | 来源实体过滤条件 | 设置数据来源的过滤条件,用于清洗掉不符合条件的数据 |
|
6 | 系统预设 | 系统预设了9个单据物料默认仓库的配置,系统预设的数据不允许编辑。如需对系统预设的数据进行调整,可复制生成1条新的数据后,禁用系统预设的数据。 |
|
7 | 使用状态 | 新增的数据默认为可用状态,只有可用状态的数据才允许被引用;可通过禁用按钮将使用状态修改为禁用。 |
|
二、规则启用条件 |
1 | 启用方式 | 启用方式用于确认有哪种方式判断是否启用规则,提供了2种方式:目标实体过滤条件、插件处理。目标实体过滤条件:同1目标实体可以设置多条取数规则,通过目标实体过滤条件判断执行哪条取数规则。插件处理:当无法通过目标实体直接判断要执行哪条取数规则时,如需读取参数,可通过客制化插件进行判断。默认值为目标实体过滤条件,目前不允许编辑。 | 必录 |
2 | 目标实体过滤条件 | 通过设置目标实体的过滤条件,判断能否执行此规则。打开弹窗,录入过滤条件。若为空,则目标实体均可执行此规则。 |
|
3 | 服务触发时机 | 根据设定的事件触发取值服务,系统提供了2种触发时机,包括点击按钮时、字段值改变,默认为:字段值改变。 | 必录 |
4 | 单据字段/操作 | 当服务触发时机为“点击按钮时”,选择目标实体的操作按钮;当服务触发时机为“字段值改变”,选择目标实体的字段。 | 必录 |
三、字段映射 |
1 | 匹配类型 | 系统提供了2种匹配类型,包括直接匹配、分组匹配,默认为:直接匹配。直接匹配是指目标实体通过字段映射,找到合适的来源实体的数据。分组匹配是先通过字段找到分组(如:通过物料找到物料分类),再找到来源实体的数据。 | 必录 |
2 | 匹配分组 | 当匹配类型为“分组匹配”时,才允许编辑且必填,弹窗选择数据分组关系。系统预置了5种数据分组关系,包括客户-客户分类,库存事务-事务分组,物料-物料分类信息,供应商-供应商分类,仓库-仓库分组。 | 必录 |
3 | 目标实体 | 目标实体的维度字段,用于匹配来源实体。 | 必录 |
4 | 来源实体 | 来源实体的维度字段,用于匹配目标实体。 | 必录 |
四、字段赋值 |
1 | 目标实体 | 目标实体要取值的字段,服务执行成功后,系统将取到的值赋予该字段。 | 必录 |
2 | 来源实体 | 来源实体的字段,将该字段的值赋值给目标实体字段 | 必录 |
3 业务场景
序号 | 场景名称 | 应用场景 | 关键要点 |
1 | 直接匹配 |
|
|
2 | 分组匹配 | 用户在采购收货单录入物料时,根据物料携带【物料默认仓设置】自动携带默认的仓库,且允许修改。在物料默认仓设置中,按物料分类设置默认仓库。 | 匹配类型:分组匹配 匹配分组:选择“物料-物料分类信息” 目标实体:物料 来源实体:物料分类
|
3 | 字段值改变 | 用户在采购收货单录入物料时,根据物料携带【物料默认仓设置】自动携带默认的仓库,且允许修改。 | 服务触发时机:字段值改变 单据字段/操作:选择物料编码字段 |
4 | 点击按钮时 | 用户在提交完工入库单时,根据生产部门批量携带成本中心,避免人为修改。 | 服务触发时机:点击按钮时 单据字段/操作:选择“物料编码”字段 |
5 | 来源实体过滤条件 | 用户在采购收货单录入物料时,根据物料携带【物料默认仓设置】自动携带默认的仓库,且允许修改。在物料默认仓设置中,不同的场景(如:采购收,采购入,调拨入,领料出,完工入,销售出)默认的仓库不一样。 | 来源实体过滤条件:增加“业务场景=采购收”的过滤条件 |
4 关键操作
4.1 单据关键操作
序号 | 操作名称 | 应用场景 | 操作影响及数据改变 | 操作路径 |
1 | 适用组织 | 同1目标实体,因组织不同,而配置不同。 | 相当于在目标实体过滤条件快速增加了组织的条件 | “单据取值配置”界面→工具栏→适用组织 |
4.2 行关键操作
不涉及
5 使用约束
1)规则启用条件:同1目标实体同1触发时机,确保只有1条使用的配置,否则系统将执行最近修改时间的配置。
2)不允许配置无限循环取值:如A字段值改变时,触发给B字段赋值;而B字段值改变时,触发给A字段赋值。
3)服务触发时机-点击按钮时:对于分应用部署的形式,触发的业务单据容器需包含单据取值配置的代码包,即容器的innerAppIds需要配置msbd,bizlibs需要配置mpscmm-msbd,另外还需配置操作后刷新字段。
4)服务触发时机-字段值改变:值改变触发方式需要通过代码触发,调用方调用kd.mpscmm.msbd.assigncfg.business.helper.AssignCfgHelper#triggerByField()可获取需要更新值的Map结构,按照对应的key对数据对象赋值即可。
6 常见问题
6.1 问题:点击按钮时取值,为什么需要刷新界面后才展示
1、产生原因
通过点击按钮取值,属于服务端的事件,系统直接将数据写入到数据库中,刷新界面时重新从数据库取数并展示到界面中。
2、解决方法
在开发平台中,将取值字段配置到对应按钮的“操作后刷新字段”的清单中。