在EAS系统中是唯一的,其编码方式是Base64Encoder。
如果是44位,最后8位一定是entity的bosType,如果是28位的,最后一位一定是=号。否则,这个id就是非法的。
设置初始数据时,如何获取一个ID,在查询分析器执行以下语句:
select newbosid('A881F3E7') from t_Bd_Currency
在代码中直接写插入数据的语句时,插入一个ID,也可以只直接用newbosid('A881F3E7')。'A881F3E7'为业务对象的bosType。
在编码中获取bosType的三种方法:
(1)(new CurrrencyInfo).getBosType()
(2)BosUuid.read(currencyID). getType ()
(3) CurrencyFactory.getRemoteInstance().getType()
不知道ID用第一种,知道ID用第二种。不建议用第三种,第三种会发起一个远程访问
if not exists(select * from T_SYS_Checkers where FChecker = 'com.kingdee.eas.fdc.finance.app.ProjectPeriodChecks')
Insert Into T_SYS_Checkers(FBosType,FObjectName,FInterface,FChecker)
Values('9A9C39D2','SystemStatusCtrol','com.kingdee.eas.common.app.IBizHasDeal','com.kingdee.eas.fdc.finance.app.ProjectPeriodChecks')
Uuid 和BOSUuid 区别:BOSUuid 加入了BOSType的概念,这个唯一码跟 BOSType有关,里面包含了BOSType的信息。 根据BOSType可以生产BOSUuid,同样,根据BOSUuid也可以找到BOSType.
BOSUuid 与ObjectUuidPK : BOSUuid表示数据库分录的ID,可以理解为数据库行的ID, 数据库行对应一个java对象,所以就用ObjectUuidPK表示java对象的ID. 本质上,两者是一致的。只是在理解的角度不一样,一个从数据库的角度,一个从java对象的角度