首先,进行一下概念的定义。
编码:对于业务管理中的基础资料和业务单据,我们都会用一个唯一的、有意义的标识符来表示,而这个标识符就是编码。
编码规则:对于同一类型的基础资料和业务单据,我们必须采用统一的编码生成策略来管理编码,而这个生成策略就是编码规则。
在第一次新增编码规则之前,我们必须先生成子系统树,否则我们找不到我们要生成编码规则的目录。生成子系统树之后,我们开始新建编码规则模板。
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();
}
}
}
}