【房地产预算集成二次开发指导】
金蝶云社区-云社区用户f25k1234
云社区用户f25k1234
0人赞赏了该文章 1,792次浏览 未经作者许可,禁止转载编辑于2014年03月26日 10:19:02

房地产预算集成(7.01, 705局部补丁),本身功能上除支持预置的四种单据外,还支持其他的单据类型。

二次开发过程:
1. 确定单据是否能够满足要求,如项目要素币别期间(时间)等相关信息以供预算抽取组成项目公式用;
2. 添加到支持列表中
1.1 确定二次开发实现类(可以先建一个空实现类,继承 DefaultBgBillIntegrate、AbstractBgBillIntegrate或IBgBillIntegrateInterface;
1.2 修改配置文件com\kingdee\eas\ma\view\common\BgShowSourceBillSupportBill.properties(单据元数据名 = 抽取实现类),具体可以参考已经配置好的文件);
3. 调试修改实现类。

三个继承类说明:
1. IBgBillIntegrateInterface:最初始的接口,定义了几个方法,具体可以集成环境下看该接口的备注说明。
2. AbstractBgBillIntegrate:对EAS的单据基本实现抽取功能,但数据状态同步功能未实现。
方法: convertCurrencyNumber,如果单据无币别字段,也可以通过复写该方法,强制指定一个币别编码。
checkAfterExtract,数据抽取完后进行检查(需要做检查才重写)
checkBeforeExtract,批量抽数前进行的检查(需要做检查才重写)
convertBgItemNumber,单据项目转换为预算项目时,自动进行项目编码的特殊处理(一般不重写)
getDataProvider,取得OQL转换SQL接口,默认使用EntityExecutor,该功能使用entity转换,需要Entity中配置defaultF7Query,如果抽取中出现该方法中断,需要配置。
buildDefaultFilter, 构建默认的过滤条件,如果有特殊的单据过滤条件,无法写在集成配置分录的适用条件中,可以写在这里(不建议)。
isNeedExtractData,检查是否需抽取数据(期间判断),一般不重写。
getBillIdField,单据ID字段,默认id,主要用于保存单据抽取记录,如果非“ID”,需重写。一般不用重写。
getEntryIdField,单据分录字段,默认为空,表示不记录分录ID,如果需要记录,则重写。
3. DefaultBgBillIntegrate :一个无任何实现,但是非抽像的类。
主要方法
buildDefaultFilter,同AbstractBgBillIntegrate;
synPlan:数据状态同步方法,该方法默认空实现,即不实现数据状态同步。如果有同步需求,由要重写该方法,具体代码由业务决定。
4. FDCBgBillDefaultIntegrate:已经支持的几个房地产单据的实现类,其他单据应该不能使用它。