Appearance
金蝶 EAS BOS 核心架构与业务建模开发指南
本文系统梳理金蝶 EAS BOS 开发平台的核心架构、IDE 工具组成、业务单据与基础资料建模原理、代码继承扩展规范以及解决方案的导入部署流程。
1. BOS IDE 工具组成
金蝶 BOS 安装完成后,可以通过启动安装目录下的工具文件进入集成开发环境: bos/BOSModular/BOSModular.bat
标准轻量级二次开发主要包含三大核心部分:
[ 1. 金蝶 BOS 业务建模工具 ] ──> [ 2. 金蝶 BOS 设计开发工具 ] ──> [ 3. Java 扩展逻辑开发 ]- 金蝶 BOS 业务建模工具:负责新建业务单元、定义元数据并与后台数据库结构进行刷盘同步。
- 金蝶 BOS 设计开发工具:对模型的“UI 零件”进行图形化编辑与细节调整(如调整界面控件坐标、样式等)。
- Java 底层代码扩展:基于框架自动生成的代码进行二次业务开发。
2. 业务单元分类
在 BOS 建模工具中,业务单元主要划分为以下两大类:
| 业务单元类型 | 特性描述 | 分录支持 | F7 参照支持 |
|---|---|---|---|
| 业务单据 (Bill) | 包含普通增删改查功能的业务主表及子表单据 | 支持主从分录 | 不直接作为参照对象 |
| 基础资料 (Data) | 基础主数据,常用于被其他业务单据关联参照 | 不带从表分录 | 支持 F7 弹窗参照选择 |
3. 模型组成零件解构
一个标准的 BOS 模型在底层拆解为以下五大零件:
entity(实体):数据模型定义,包含属性、校验规则与字段映射。table(数据表):映射在物理数据库中的实际数据表。relation(关系):定义当前实体字段与其他实体之间的主外键与引用依赖关系。query(查询):SQL/EQL 数据库结果集定义,用于序时簿列表与 F7 弹窗展示。ui(界面):分为两类:list(序时簿列表):展示多条单据记录的列表表格界面。edit(编辑窗体):单据新增、修改与查看的详情界面。
4. Java 代码继承与逻辑覆盖规范
每次在 BOS IDE 中发布业务单元或更新元数据时,平台会自动生成/覆盖 Java 抽象基类代码:
⚠️ 核心规范: 严禁直接修改抽象基类 (
Abstract*.java)!因为每次重新发布元数据都会彻底覆盖抽象类。所有的控件事件、初始化逻辑与业务扩展必须在非抽象子类中进行方法重写(Override)!
java
// 1. 自动生成的抽象基类(包含控件坐标、实体的基本属性,重新发布会被覆盖)
public abstract class AbstractCustomerEditUI extends CoreUI {
// 自动构建页面控件...
}
// 2. 开发者编写的实现子类(业务代码存放处,重新发布不会被覆盖)
public class CustomerEditUI extends AbstractCustomerEditUI {
@Override
public void onLoad() throws Exception {
super.onLoad();
// 在此处书写 UI 加载时的初始化业务代码
}
}5. 导入解决方案全流程
在多人协同或接手旧项目时,需要从 EAS 服务器导入已有的业务解决方案:
步骤 1:启动服务器端的 BIM 控制台
- 登录 EAS 后台 Linux 服务器。
- 进入安装目录:
cd /home/kingdee/eas/admin/ - 执行脚本
./admin.sh打开 BOS 管理控制台,并启动 BIM 服务器。
步骤 2:IDE 导入向导操作
- 打开 BOS 业务建模工具,在空白处右键选择 导入业务解决方案。
- 配置本地工程名称、别名与磁盘物理存放路径。
- 输入 EAS 服务器 IP 地址、端口与管理员鉴权信息(默认管理账号:
admin/admin)。 - 勾选对应的目标账套信息,点击完成,等待 IDE 自动从服务器同步并下载依赖 Jar 包与资源文件。