EAS-BOS应用框架编程指南(2)
状态配置表
下表列出了所有已知的数据状态属性,这些属性将作为基础的状态属性供定义具体的业务对象时选择使用。
状态名 生效状态 状态描述 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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




