NCV61-编码规则红皮书.docVIP

  • 10
  • 0
  • 约7.51千字
  • 约 12页
  • 2019-04-19 发布于江西
  • 举报
编码规则红皮书 前言 在nc中常常会有需要给新生成的单据一个单据编码,或某档案需要一个档案编码的情况,为了免除手工输入编码的情况,nc提供了自动生成单据号的功能。在nc中,用户可以按照需要,来为单据类型定义单据号编码规则,然后在生成单据号时,按照定义的编码规则来自动生成单据号,本文档就是对致力于解决这方面的需求的功能的说明。 功能介绍 2.1 基本概念 单据编码通常包含固定的字符串、分隔符、单据相关的数据项的值、时间和编号构成,在编码规则中用四种编码元素来描述上述的编码项: 固定值:来表示固定字符串和分隔符; 编码实体:来表示与单据相关的数据项的值(客商,人员),而这些值通常不是简单的使用其编码名称等,通过编码映射功能(见2.3),将这些值映射为最终展现到编码段中的值。 时间项:来表示时间属性,包含系统时间(取值为服务器时间)和业务时间(取值为单据上的相关时间项,如制单日期等); 流水号:用来顺序记录单据编号的定长号; 编码对象注册 NC老版本编码规则是基于单据类型来定义的,在新版本中将解除这个以来,编码规则适用于任何注册过的编码对象(pub_bcr_nbcr),提供编码规则注册节点,该节点在开发平台——开发配置工具——编码对象注册,如下如所示: 可以看到,编码对象需要注册的主要信息包括: 编码对象编码:对该对象的唯一标识,在代码中作为参数来识别编码对象; 编码规则范围:定义了该编码对象上定义的编码规则使用的范围,共有三个参数值(1)集团—编码规则只能定义到集团级(2)全局—只能定义全局级的编码规则(3)皆可—该对象即可定义全局级编码规则,又可定义集团级编码规则; 编码方式:用来限制为该编码对象定义编码规则时编码方式的选择范围,包括前编码,后编码和都支持编码方式的含义可以参看后面的描述(2.4编码方式); 编码长度:用来限制为该编码对象定义编码规则时最大的编码长度; 关联组织类型:编码规则定义后可对组织进行分配,该参数指定了,可供分配的组织的组织类型; 编码对象元数据:制定了该编码对象关联的元数据; 候选属性:编码规则中可使用的属性,包括实体和枚举 编码映射 这个功能是为了定义单据编码中能够使用的参与编码的实体的具体值转换为编码中出现的编码值的转换关系。下图就是编码映射节点: 左侧树上的节点,就是可供编码规则定义使用的业务实体。在编码对象和编码实体关联表中注册了编码对象需要使用的编码实体,为编码实体定义映射规则有几个关键属性: 映射值长度:最终要体现在编码中的值的长度,一旦设置不能改变; 补位方式:即如果通过转换规则的到的映射值长度不够,那么需要进行补位,补位 可以在映射值的左边,也可以在右边; 补位符号:用什么占位符来为映射值补位; 把实体值转换为映射值有两种方式: 通过公式定义默认的转换规则:编码实体的大多数值通过该方式定义,首先为编辑公式定义变量,这里最多支持两个变量,然后点击默认规则按钮,调用公式编辑器来定义公式即可。后台生成编码时,会根据定义的变量和公式自动算出映射值拼到编码中。 离散的为特定的编码实体值定义映射值:可以直接为特定的编码实体值定义要显示的编码值。后台生成编码时,直接到离散值定义表中查出值即可。 在实体引用页签里面会列出引用了该编码实体的编码规则,以便在进行修改映射规则时可以了解对那些编码规则产生了影响。 编码规则定义 首先介绍一下这个功能节点下的最基本的功能规则定义,一个完整的编码规则包含了基本信息和编码元素各部分,下面分别解释之。 下图是编码规则定义页面: 编码规则的基本信息包含如下几项: 规则编码,规则名称:左侧树上显示的是规则的名称; 编码方式:前编码方式即在用户新增单据时即生成编码,此时新增单据很多相关项 还没有赋值,所以前编码方式不能支持在编码中出现业务实体和业务时间,后编码方式是在用户新增单据后,保存时生成单据编码,没有什么特殊限制; 编码是否可编辑:对于前编码方式可用,控制单据编码的可编辑性; 是否断码补码:如果删除一个单据,或者申请一个单据出错,那么它们所使用的单据号是否要再被使用。编码的可编辑性和断码补码是互斥的。 按组织归零:流水号是否随着组织的改变而重新计数,注意:如果按组织归零,且编码元素中不含有组织字段,那么编码唯一性校验范围就只能是组织级的。 是否集团默认规则:集团默认使用的规则,如果组织没有分配编码规则那么就使用这个默认规则,一个集团只能有一个默认规则。 前文提到,编码元素包括固定值,编码实体,时间属性,流水号。编码规则由上述四种或其中几种组成,每种元素可以在编码规则中多次出现(当然流水好多次出现会看起来有点怪,但是如果喜欢也没问题)。对于每一个编码元素,有如下四种属性: 元素类型:固定值,编码实体,时间属性,流水号; 元素值:固定值就是用户自定义的字符串;如果编码对象

文档评论(0)

1亿VIP精品文档

相关文档