编码规则常见问题汇总

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

编码规则常见问题汇总

说明:

本汇总贴根据各项目顾问、实施老师和客户老师反馈问题持续更新。

 

1. 多个编码规则的执行优先级是什么?

答:

优先级1: 查找创建组织等于受控组织中, 且存在适用条件或启动条件的规则

优先级2: 查找创建组织等于受控组织中, 但不存在适用条件或启动条件的规则

优先级3: 查找创建组织等于受控组织中的下级组织, 且存在适用条件或启动条件的规则 

优先级4: 查找创建组织等于受控组织中的下级组织, 但不存在适用条件或启动条件的规则 

优先级5: 查询无受控组织, 存在适用条件或启动条件的规则

优先级6: 查询无受控组织, 且无适用条件或启动条件的规则

 

2. 怎样保证编码规则生成”单据编号“的唯一性?

答:

(1)编码规则关闭【允许修改】开关

(2)单据的【保存】【提交】等操作开启”单据编号“唯一性校验

 

3. 如何配置包含流水号的编码规则?

答:参考文档《配置包含流水号的编码规则》

 

4. 如何分析未生成编码?

答:参考文档《如何分析未生成编码》


5. 如何分析生成重复编码?

答:参考文档《如何分析生成重复编码》  

 

6. 如何调整最大号?

答:参考文档《如何维护最大号表》

 

7. 什么情况下会回收断号?

答:参考文档《回收断号的场景说明》  

 

8. 为什么业务规则配置单据编号赋值给其他字段,复制操作业务规则未生效

答:进行新增状态的单据页面,预读单据编号时机是在操作后(afterCopyData事件),所以配置的业务规则是生效的,只是执行业务规则时并未预读编号,导致没有进行赋值。

 

9. 为什么升级系统后出现单据编码的最大号表更新为1000?

答:

1)是因为我们之前的版本会区分是高性能还是高可靠模式,需要开启流水号的断号补偿才会变成高可靠模式,现在新的版本所有的编码规则都是高可靠模式。

2)系统消耗编码是分批的,第一批是1-1000,下一批是从1000开始 。

3)升级的时候,从高性能模式升级为高可靠模式,由于高性能模式不记录消耗的编码,系统就不知道第一批次的编码是否消耗过,为了防止编号的混乱,就直接从下一批次,也就是1000开始 。

4)解决这个最大号的问题,可以手动修改最大号表为1,就会从1开始编号了。

 

10. 高性能模式和高可靠模式有什么区别?

答:高性能和高可靠的区别在于,高性能不会记录编码的消耗,高可靠会记录编码的消耗,高可靠能解决系统泵机时编码会跳号的问题,取记录的号的下一个号进行编号。

 

11. 配置了适用条件,编码规则界面为什么选不到?

答:

(1)检查关联的单据是否为扩展单,需要关联原单才生效

(2)检查配置适用条件属性的时候,有没有正确填写编码,前后编码前后是否存在空格

 

12. 打开单据显示的编码如何与保存时的编码保持一致

答:暂不支持。编码规则标准功能是在新增状态的单据页面显示的单据编号,只是预读的下一个即将生成的编号,在进行保存/提交时才是实际生成编号。

 

13. 打开单据显示的编码和保存时的编码不一致的原因是什么,哪些情况下会不一致?

答:单据上显示的是预读的号,和实际保存时的不一致是正常现象,因为我们在新增单据的时候,存在两种情况:第一,在新增单据的时候,其他人也在新增单据,把这个预读的号给占用了。第二,保存操作开了编码唯一性校验,如果预读的号和已经存在的单据编码一样的话,会跳过这个号。

 

14. 修改时重新编码这个参数在什么情况下才会生效?

答:首先是要编码规则开启修改时重新编码的开关,如果单据上修改了和编码规则配置的编码段相关的字段(包括影响流水号的依据字段),就会重新编码。

 

15. 未开启断号补偿,不存在断号表记录断号,如何填补断号?

答:方法一:开启断号补偿按钮,往断号表填写该断号;方法二:开启允许修改按钮,新增一张单据,手动修改该编码为断号。


16. 如何手动调整最大号?

答:

步骤1:找到需要调整最大号的编码规则,禁用该编码规则;

步骤2:进入最大号表中,根据流水号依据找到需要调整的最大号;

步骤3:点击超链接进入最大号调整界面,手动输入需要修改的最大号;

步骤4:启用编码规则。

 

17. 删除最大号表中的记录会有什么影响?

答:最大号表中的最大号数据并不是数据库中的数据,最大号表中的最大号数据是从Redis缓存中加载的,删除最大号表中的数据可能会导致用户无法根据流水号依据来修改最大号,且最大号会从编码规则设置的初始号开始。

 

18. 单据在保存/提交之后会有一个指定工作流的事件时(例:单据提交之后有个指定人员审批的操作,选择人员之后点击确认),为什么单据编码会自动跳一号?

答:用户在配置了工作流之后,点击保存/提交操作后会弹出工作流的弹窗后点击确认会再次执行一遍保存/提交操作。由于第一次的数据没有入库,编码规则生成的编号作废,如果用户没有开启断号补偿,那么该编号不会回收利用,在第二次保存/提交时编码规则会再次发号,导致用户看到的现象是跳号。

 

19. 编码规则开启了断号补偿,为什么单据的编码出现了不连续的情况(跳号)?

答:参考文档《如何分析出现断号/跳号》

 

20. 编码规则在同时配了适用条件、启动条件的情况下,为什么适用条件不生效?

答:启动条件和适用条件的功能效果是一致的,但适用条件配置较为复杂,不建议使用。所以编码规则同时配置了启动条件和适用条件时,适用条件不会生效,推荐使用启动条件,可以达到一样的效果。

 

21. 为什么有时候新增单据界面上的编码和保存之后的不一致?

答:在新增单据的时候,会根据编码规则生成一个编码示例在单据界面。因为用户在新增单据时,无法感知到其他用户是否同样新增或删除单据,而消耗编码,所以在保存时会再次根据编码规则生成一个编码作为单据真正的编码。

 

22. 如果一个单据上存在多个单据编号字段时,用户新增为什么在最开始的单据编号字段上看不到编码?

答:编码规则赋值如果存在多个单据编号字段,会赋值在最新的字段上面,所以用户新增时在旧的单据编号字段上看不到值。(另:基础资料编码字段可以在设计器中选择任意文本字段作为这个基础资料的编码)。


23. 单据编号中编码段的值和单据对应字段值为什么不一致?

答:检查编码规则是否开启“修改时重新编码”参数,如未开启参数,保存单据后再修改字段值,单据编号不会同步更新。参考文档《修改时重新编码使用说明》


24. 编码规则“修改时重新编码”参数什么场景下生效?

答:单据保存后,再修改单据上的编码规则相关字段(编码段、适用条件、启动条件中单据字段)后,进行保存或提交,当“修改时重新编码”参数开启时,单据编号会重新根据编码规则生成。


25. 编码规则开启“修改时重新编码”后,单据上编码规则相关字段值未变动,但是保存或提交时流水号出现变化?

答:修改时重新编码的判断依据是保存或提交时,单据对应数据包中标记的变动字段中是否包含编码规则相关字段,如果包含的话,则重新生成编号。在保存或提交前后,单据中编码规则相关字段值未看到变化,但重新生成了编号,这种情况请排查对应单据的插件中是否存在对编码规则相关字段做了设值操作(包括设置相同值)。


26. 编码规则配置数据被修改(启用/禁用、出现多余编码规则等)?

答:

1)查看操作日志,检查近期是否有用户改动了编码规则,如从操作日志未发现用户修改过配置,说明配置数据变动非用户在系统界面修改。

2)检查是否存在执行SQL脚本直接改动数据的情况。可以按以下两个方式排查:

①检查编码规则是否当前单据预置的,近期进行升级执行了SQL脚本有可能会出现数据变化(请找单据对应业务领域老师排查)。

②检查近期是否进行元数据部署或者开发平台导入应用,查看元数据包中是否存在编码规则SQL脚本。编码规则SQL脚本文件名规则是:单据标识\_4个随机字符\_日期(yyyyMMddHHmmssSSS),如:


上传图片


27. 编码规则如何进行导入导出?

答:【开发平台】→【单据所在应用】→【导出向导】→【编码规则】选择编码规则后导出对应的sql脚本,可直接使用该应用包部署或导入。


上传图片


28. 如何配置不同组织使用不同的编码规则?

答:参考文档《受控组织的使用说明》


29. 如何在单据字段改变时更新单据编号?

答:参考文档《修改时重新编码使用说明》


30. 如何配置不同组织生成的编号的流水号都从1(起始值)开始?

答:业务对象字段编码段中,选择“组织”为编码来源,流水号依据选择“设为依据”或“设为依据但不显示”。

“设为依据“的作用是:不同编码来源的字段(如组织)值,流水号都是从起始值开始生成。

“设为依据但不显示”的作用是:不同编码来源的字段(如组织)值,流水号都是从起始值开始生成,但编码来源的字段(如组织)值不展示在编号中。


上传图片


以编码来源为组织编码为例(其他字段同理):编码为A、B的组织


”非依据“:A、B组织共用流水号,生成的编号是:A-00000001、B-00000002、B-00000003...


“设为依据”:A组织生成的编号是:A-00000001、A-00000002...,B组织生成的编号是:B-00000001、B-00000002...


“设为依据但不显示”:A组织生成的编号是:00000001、00000002...,B组织生成的编号是:00000001、00000002...


注:“设为依据但不显示”会出现相同的编号,请注意使用场景是否有要求编号唯一性。


可参考文档《流水号配置说明》


31.数据校验不通过未保存成功,但是单据上的流水号自动+1,为什么?


答:编码规则生成编码是在保存操作的插件中进行的,保存成功与否不影响最大号的递增。此时可以给对应单据的对应编码规则开启“断号补偿”来处理该场景,“断号补偿”将在保存失败时,将该编码存入断号表中,后续录单将优先使用断号表中的编码。


32.流水号用完怎么处理

答:可设置流水号不足时自动升位,详见文档https://vip.kingdee.com/article/606495786632831744?productLineId=29&isKnowledge=2&lang=zh-CN


编码规则常见问题汇总

说明:本汇总贴根据各项目顾问、实施老师和客户老师反馈问题持续更新。 1. 多个编码规则的执行优先级是什么?答:优先级1: 查找创建组织等...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息