教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

EAS-BOS应用框架编程指南(2)

来源:网络收集 时间:2026-02-13
导读: 状态配置表 下表列出了所有已知的数据状态属性,这些属性将作为基础的状态属性供定义具体的业务对象时选择使用。 状态名 生效状态 状态描述 0:暂存 状态枚举类型 EffectedStatusEnum 属性名 字段名 说明 要进行数

状态配置表

下表列出了所有已知的数据状态属性,这些属性将作为基础的状态属性供定义具体的业务对象时选择使用。

状态名 生效状态 状态描述 0:暂存 状态枚举类型 EffectedStatusEnum 属性名 字段名 说明 要进行数据合法性检查,不参与统计报表和结账结算处理 作废状态 1:生效 0:普通 DeletedStatusEnum DeletedStatus FDeletedStatus 作废的业务数据不参与统计报表和结账结算处理 审核状态 冻结状态 1:作废 CheckedStatus BlockedStatus FCheckedStatus FBlockedStatus 冻结的业务对象禁止参与新的业务活动,但已经存在的业务活动不受影响。有的业务对象的冻结状态可能会进一步细分,如“客户”的冻结可能会包含:Posting block、Order block、Delivery block、Invoicing block 下达状态 预算审批状态 交付状态 1:审批未通过 2:审批已通过 0:未交付 DeliveredStatusEnum 1:部分交付 2:全部交付 DeliveredStatus FDeliveredStatus 1:已冻结 0:未下达 ReleasedStatusEnum 1:已下达 0:未审批 BudgetAuditedStatusEnum 有下达状态 BudgetAuditedStatus FBudgetAuditedStatus ReleasedStatus FReleasedStatus 订单类的单据一般会0:未审核 CheckedStatusEnum 1:已审核 0:未冻结 BlockedStatusEnum EffectedStatus FEffectedStatus 暂存的业务数据不需FI记账状态 MA记账状态 关闭(结清)状态 0:未记账 FIPostedStatusEnum 1:已记账 0:未记账 MAPostdStatusEnum 1:已记账 0:未关闭 ClosedStatusEnum 1:已关闭 FIPostedStatus FFIPostedStatus MAPostdStatus ClosedStatus FMAPostdStatus FClosedStatus 说明:

1、 属性对应的数据类型都是相应的枚举类型,类型为Int。字段的数据类型也使用Int。 2、 在com.kingdee.eas.framework包中定义了枚举类型供使用。 使用方法

所有基础的状态属性被定义于配置表中,已集成于BOS Studio中。如果业务对象要使用某个状态属性,可方便地选取即可。 单据状态

单据状态往往是由多个基础状态属性组合后对外的统一表现形式。以订单处理为例,可能表现为六种状态:

在内部处理中,实际上选择了三个基础的状态属性来实现控制逻辑:作废状态、完成状态和关闭状态。控制逻辑的规则是:

单据状态 取消 关闭 计划 下达 进行中 完成

从编程的方便性考虑,推荐为单据状态定义自己的枚举,并为值对象增加一个getBillStatus方法。该方法通过计算基本属性的取值而得到对应的单据状态。需要注意的是,设置单据状态的操作仍将操作基本状

状态判断 只要作废状态为1 单据不是取消状态且关闭状态为1 单据不是取消状态也不是关闭状态,且完成状态为0(未下达) 单据不是取消状态也不是关闭状态,且完成状态为1(下达) 单据不是取消状态也不是关闭状态,且完成状态为2(进行中) 单据不是取消状态也不是关闭状态,且完成状态为3(完成) 操作控制 若单据进入取消状态,则只有恢复后才能进行其它所有单据操作 禁止除与取消相关外的其它操作 允许下达操作 允许撤消操作 允许关闭操作 态属性,并且在设置某个状态属性时可能需要根据控制逻辑同时设置其它属性。

2. UI层 UI层提供数据的展现方式与客户端控制逻辑。 2.1. 通用设计方法 2.1.1. 数据绑定

数据绑定主要分为两种类型:查询类界面的数据绑定和编辑类界面的数据绑定。

对于查询类界面,数据绑定是一个从Query对象到KDTable的单向过程。通常在设计期定义完绑定关系后,不会在代码中再关注绑定问题。相关方法是:

1. 由KDTable的setFormatXML方法完成列的定义 2. 由KDTable的putBindContents传递绑定关系

3. 在KDTalbe的doRequestRowSet事件中完成数据的获取与显示

对于编辑类界面,由loadFields和storeFields方法定义了Entity对象与界面控件双向的绑定关系。如果对象是聚合类型的数据(例如单据)并选择KDTable显示单据体,则进一步由loadLineFields和storeLineFields定义了单据行与KDTable的绑定关系。如果在BOS Studio中定义绑定关系,那么这些方法会由BOS自动生成。

注意:不管是完全不使用BOS Studio来定义绑定关系,还是只有部分控件使用BOS Studio定义了绑定关系,你都需要重载这些方法,并通过手工编码来把所有绑定关系补充完整。这是因为超类依赖于这些方法来管理绑定关系。

示例:

假设币别编辑界面没有为isoCode在设计期定义绑定关系,那么需要补充定义: public void loadFields() {

public void storeFields() { }

super.storeFields();

editData.setIsoCode(txtIsoCode.getText()); }

super.loadFields();

// editData允许强类型访问

txtIsoCode.setText(editData.getIsoCode());

2.1.2. UI元素的使能控制

对UI元素进行使能控制有两种方法:一是利用setOprtState方法,二是利用checkActionStatus方法。

在BOS的UI设计器中,可以利用状态编辑视图定义各种状态下控件的使能情况。BOS会自动生成反映满足这种定义的setOprtState方法。当然,也可以不用BOS的定义能力而重载后完全自行编码,尤其是在需要定义更多逻辑时:例如控件的使能可能需要检查当OprtState处于某种状态时,某些数据是否同时符合要求。 而checkActionStatus方法会在按钮的事件响应完毕后被调用,作为一种推荐的检查控件使能的统一位置。checkActionStatus的调用频率比较高,故检查逻辑最好比较简单。

注意:这种方式与UI的OprtState没有关系,视为对OprtState机制的一种补充。 2.1.3. UILoadListener

应用框架提供一种扩展机制,允许在加载UI对象和注销UI对象时加入自定义的处理逻辑。

public interface IUILoadListener extends EventListener {

public void load(UILoadEvent e); public void unload(UILoadEvent e); }

例如,想实现用户监控功能,可以按如下步骤进行:

1. 在BOS Studio中定义UI对象的扩展属性。此处定义功能编号和功能描述。

2. 编写IUILoadListener的实现类,在load事件中访问UI元数据,获取扩展属性中定义的信息,注

册用户监控信息;在unload事件中访问UI元数据,获取扩展属性中定义的信息,注销用户监控信息。 2.2. 序时簿类UI

序时簿是EAS规范地展现数据的方式,提供查询过滤的能力,并可打开维护数据的编辑类界面。序时簿使用查询对象来执行查询,使用KDTable来展现数据。 2.2.1. 类体系

类体系 CoreUI |- ListUI 内容 EAS的UI最高超类,继承BOS定义的CoreUIObject(从KDPanel派生,这样UI可以方便地嵌入到其它UI中)。 序时簿类UI的最高超类,提供数据查询与显示,关联编辑界面的管理等。适用于小数据量的基础资料、无过滤条件的查询等。 带通用查询对话框的序时簿类UI的超类。适用于基础资料、带过滤条件的查询等。 单据序时簿类UI的超类。支持针对单据类的通用操作处理,例如结清、冻结、审核等。处理状态过滤与显示。 层次数据序时簿的UI超类。支持层次数据的展现,提供KDTree与KDTable的关联处理,支持层次分类数据本身的编辑。 带拥有者的层次数据序时簿的UI超类。适用于层次数据本身还有分类的情形,例如物料按仓 …… 此处隐藏:3062字,全部文档内容请下载后查看。喜欢就下载吧 ……

EAS-BOS应用框架编程指南(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412350.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)