一些BOTP配置的小技巧

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

一些BOTP配置的小技巧

1.       当需要修改一个标准流程的BOTP时,不要创造,尽量复制标准的,如何区分标准的BOTP和非标准的BOTP呢? 一般看规则配置的管理单元,标准的BOTP一般是默认创建在管理单元下的。并且命名相对统一。

2.       如果想要这条规则只能够被指定单位的数据选择到,则可以使用规则过滤的功能,比如只有收款状态的收款单才能选择生成凭证的规则。可以做如下图配置:

 

3.       如果遇到一些自定义配置的字段或者DEP增加的字段在关联生成后值无法正常携带到下游的问题,可以先尝试检查一下对应规则设置界面的【源单属性设置】,该设置决定了参与转换的源单有哪些属性会被查询出来,如果遗漏会导致对应字段未被正常取出。【PS:一般在规则设置完以后,源单属性是会被自动设置的,一般发生异常是自动设置失效了。】详细效果见下图:

4.       如果遇到线上环境单据转换后字段没有正常携带的问题,在分析问题没有日志辅助的时候,可以暂时打开BOTP的日志开关,打开后,重新执行生成的动作,此时会在服务端对应实例的日志目录下生成一个名为BotpTrace.log日志文件,打开这个文件就可以辅助分析,这里记录了详细的源单和目标单的字段值数据,对应操作见下图

5.       在规则配置的时候,如果需要用到源单的ID字段,这时候在源单属性列表是选取不到的,此时可以使用公式实现。点击脚本编辑按钮,按公式设置。

6.       当遇到源单属性只是一个ID字符串,却需要携带实体对象到下游的时候,此时不能直接使用id字符串的值去对应下游关联字段的值,否则会报类型转换异常。如下图场景:

付款申请单的分录核心单据类型是字符串

付款单分录的核心单据类型是对象

在付款申请单生成付款单的时候,如果直接配置付款单的核心单据类型取值付款申请单的核心单据类型,那么就会报类型转换异常,此时就需要使用到 弱关联函数 __BOTgetObjectFromID,使用方式见下图

【tips:弱关联函数可以解决问题,但不能滥用,因为一次弱关联就意味着一次完整的数据库请求,过多使用会导致关联生成慢,甚至卡死。】

7.       在处理单据关联生成的时候,我们通常还会遇到另外的场景,比如取出上游单据的附件数量携带到下游单据上,因为附件数量不是单据自有的字段,因此我们无法直接取到,这种情况下该如何取值呢?那就是使用sql取值的结果作为公式结果,sql写法 :

#sql_val("你要的拼接的sql")

例如上面的例子

使用公式可以写成#sql_val("SELECT COUNT(bill.FID) FROM T_AP_PAYREQUESTBILL BILL INNER JOIN T_BAS_BOATTCHASSO REL ON BILL.FID = REL.FBOID where bill.fid = 'rq0AAAAXYGLQAQGa'");具体用法见下图:

 

8.           在单据转换的时候,避免不了会遇到有空值的情况,例如下游单据的结果需要当前字段参与运算得出,如果此时出现空值,会导致报错,针对此种情况就可以使用公司配置中的空处理函数,具体位置如下图

 

一些BOTP配置的小技巧

1. 当需要修改一个标准流程的BOTP时,不要创造,尽量复制标准的,如何区分标准的BOTP和非标准的BOTP呢? 一般看规则配置的管理单元...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息