金蝶ERP二次开发笔记(二)----ID相关处理

本文介绍了EAS系统中单据和基础资料数据的唯一标识ID及其类型BosObjectType的生成和使用方法。详细阐述了ID的创建过程以及不同类型的ID之间的转换方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    ID是单据基础资料数据的唯一标识,EAS系统里的所有数据都具有ID,都是通过ID进行识别。ID在把数据保存到数据库的时候生成,开发者也可以调用生成id的方法提取为单据生成ID。

    BosObjectType是单据类型的唯一标识,是在BIM或BOS Studio建立模型时,BOS自动计算固化下来。一般的单据ID里会包含BosObjectType信息,可以根据单据ID获取相应的BosObjectType。

    系统提供了BOSUuid、IObjectPK用于描述单据的ID,IObjectPK是一个Interface,对应的常用实现类是ObjectUuidPK。

BOSUuid、ObjectUuidPK及String间的相互转化方法如下:

源类型

目标类型

方   法

String

ObjectUuidPK/IObjectPK

new ObjectUuidPK(String)

BOSUuid

ObjectUuidPK/IObjectPK

new ObjectUuidPK(BOSUuid)

String

BOSUuid

BOSUuid.read(String)

ObjectUuidPK/IObjectPK

BOSUuid

ObjectUuidPK .getKeyValue()

BOSUuid.read(ObjectUuidPK.toString())

BOSUuid

String

BOSUuid.toString()

ObjectUuidPK/IObjectPK

String

ObjectUuidPK.toString()

    BOSObjectType是单据类型标识,8位字符串,每个entity和facade都有唯一的BOSObjectType,BOS根据元数据的包路径和名称生成,发布时会分别在entity_pkmapping.properties和facade_pkmapping.properties这两个文件中注册,部署时也需要同步部署到EAS服务器,保存BOSObjectType和元数据包路径和名称的对应关系,如果丢失这种关系,系统运行时会提示找不到XXXXXXXX对应的元数据。。

    系统提供BOSObjectType对象描述单据类型标识,代码获取BOSObjectType,以及从BOSObjectTypeID创建单据ID的方法如下:

源类型

目标类型

方   法

ObjectUuidPK

BOSObjectType

ObjectUuidPK .getObjectType()

BOSUuid

BOSObjectType

BOSUuid.getType()

BOSObjectType

ObjectUuidPK

BOSUuid.create(BOSObjectType)

BOSObjectType

BOSUuid

new ObjectUuidPK (BOSObjectType)

Java代码生成ID:

1.  id字符串转换为IObjectPK/ObjectUuidPK:ObjectUuid pk = new ObjectUuidPK(String);

2.  已有BOSObjectType,创建BOSUuid:info.setId(BOSUuid.create(BOSObjectType));

3.  已有BOSUuid转为IObjectPK:ObjectUuid pk = new ObjectUuidPK(BOSUuid.toString());

4.  已有IObjectPK转为BOSUuid:BOSUuid.read(IObjectPK.toString)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值