BOS新功能开发——编码规则

首先,进行一下概念的定义。

编码:对于业务管理中的基础资料和业务单据,我们都会用一个唯一的、有意义的标识符来表示,而这个标识符就是编码。

编码规则:对于同一类型的基础资料和业务单据,我们必须采用统一的编码生成策略来管理编码,而这个生成策略就是编码规则。

在第一次新增编码规则之前,我们必须先生成子系统树,否则我们找不到我们要生成编码规则的目录。生成子系统树之后,我们开始新建编码规则模板。

1.企业建模->业务规则->编码规则->模板设置


2.然后进到我们要新增编码规则模板的目录,点击新增按钮。


以上标红的为必填项,有几个概率需要解释一下。


新增显示:点击新增时,编码即生成好了,但是该编码不一定会入库。

不允许断号:点击保存才会将编码入库,而且不断号。

3.编码规则模板设置好之后,我们需要将刚刚定义好的模板启用,使编码规则生效。

进入企业建模->业务规则->编码规则->规则定义,进到自己的目录,新建编码规则(也可以导入刚刚的模板),点击启用即可完成编码规则的配置。


4.编码规则配置完之后,点击实体,还需要设置几个扩展属性。


5.在编辑页面的onload方法中加上下面这个方法,将编码规则生成的编码显示到编辑页面中。至此,编码规则的功能实现了。

protected void setAutoNumberByOrg() {
		if (this.editData == null) {
			return;
		}

		if (this.editData.getNumber() == null) {
			SysContext sysContext = SysContext.getSysContext();
			if (sysContext.getCurrentOrgUnit() != null) {
				String companyID = sysContext.getCurrentOrgUnit().getString("id");
				try {
					ICodingRuleManager iCodingRuleManager = CodingRuleManagerFactory
							.getRemoteInstance();
					if (iCodingRuleManager.isExist(this.editData, companyID)) {
						this.editData.setNumber(iCodingRuleManager.getNumber(this.editData,
								companyID));
						this.txtNumber.setText(this.editData.getNumber());
					}

				} catch (Exception e) {
					handUIException(e);
					this.oldData = this.editData;
					e.printStackTrace();
				}
			}
		}
	}

  0  

  •   0

猜你喜欢

转载自blog.csdn.net/weixin_42386685/article/details/80684558