问题:请问用代码生成单据时,怎么获取编码规则的最新编码?
解决:
ICodingRuleManager codeMrgr = CodingRuleManagerFactory.getRemoteInstance();
String billNo = codeMrgr.getNumber(IObjectValue caller, String org); // caller为单据的值对象, org为组织ID
说明:
readNumber(IObjectValue caller, String org)是只读的,即调用一次后获得一编码,再调时还是同一编码,只要两次调用中间没被别人修改。
getNumber(IObjectValue caller, String org)是调用一次后编码会往下走。
ICodingRuleManager.isUseIntermitNumber()的返回值会影响getNumber(IObjectValue caller, String org),如果为true,则getNumber()返回的是不断号的编码,如果是false则是断号的。
假如规则里需要取属性值,则caller里必须含有该值