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

动态单据框架使用总结(3)

来源:网络收集 时间:2026-04-11
导读: 'xfhd9HkOdrfgeYd654dI1e','Opd9Kxfhdg3dqC7P0oL','ehuPVk6hrwejfhjXeId','yw3g4hjYah055Zh64j',4) ; INSERT INTO T_BAS_BarItemLink(FID,FMenuID,FBarItemID,FParentID,FIndex) VALUES ( 'xfhd9HkOdrfgeYd654dI1f'

'xfhd9HkOdrfgeYd654dI1e','Opd9Kxfhdg3dqC7P0oL','ehuPVk6hrwejfhjXeId','yw3g4hjYah055Zh64j',4) ; INSERT INTO T_BAS_BarItemLink(FID,FMenuID,FBarItemID,FParentID,FIndex) VALUES (

'xfhd9HkOdrfgeYd654dI1f','Opd9Kxfhdg3dqC7P0oL','3yku6Ceq0k56gfhfi73s','yw3g4hjYah055Zh64j',5) ;

/****** 最后,在T_BAS_FormActionList表中定义按钮功能,我们在这调用了序时簿的删除、编辑和刷新功能,调用了单据的保存,提交和关闭功能 ******/

DELETE T_BAS_FormActionList WHERE FFormID='svlnODODSJOEAYSjEzgWzpp+rpI=';

INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('58r8iss5oUqzjHdfgnTopHeI0khw','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','mnuEditDelete',5,28,0,'ClickActions','[Delete]',N' ',0) ; INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('CRp+NUTCSj64nAizbMr4Fpp+rpI=','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','FbtnSubmit',3,23,0,'ClickActions','[\INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('gj64whs5oUqzjHdfghkFJ56I0kd4','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','mnuEditModify',5,28,0,'ClickActions','[Edit]',N' ',0) ; INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('hjk644k5oUqzjHdfhhkFJ56t7od3','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','mnuDataRefesh',5,28,0,'ClickActions','[Refresh]',N' ',0) ; INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('IfHxJ2scTpmOPPaPjcfviJp+rpI=','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','FbtnSave',3,23,0,'ClickActions','[\INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('wF1Lr9wcTi+0fVENvrNHtZp+rpI=','svlnODODSJOEAYSjEzgWzpp+rpI=', 'TNI5T/hQQZugRZCaiziSKZp+rpI=','FbtnClose',3,23,0,'ClickActions','[\

下面还给出了添加打开弹出窗口的调用自定义功能的SQL语句 INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('hr9ZuT4yt83rror9tyu68dy+rpI=','kSdMyUmYQKC7tzo9xr0XV5p+rpI=',

'NUjG3OnGQ9a8fP5andTIS5p+rpI=','mnuFlowMap',5,30,0,'ClickActions',N'[\easweb/workflow/approveHistory.jsf\审批意见\INSERT INTO T_BAS_FormActionList

(FID,FFormID,FLayoutID,FObjectKey,FObjectType,FActionID,FDefineType,FActionType,FParaments,FExpression,FSeq) VALUES ('Eujv7yIOT6WHZx/f4+OXMJp+rpI=','kSdMyUmYQKC7tzo9xr0XV5p+rpI=', 'NUjG3OnGQ9a8fP5andTIS5p+rpI=','mnuFilePrint',5,36,0,'ClickActions','[\打印','L2':'打印','L3':'打印'}\ 相信有了上面对表结构的认识和示例,我们对工具条应该已经用得得心应手了。

2)、为序时簿和编辑页面注册插件

通过上面的配置,我们已经看到了一个比较完整的序时簿和单据编辑(或查看)页面了,其间我们没

有写过一行代码,我们要做的只是使用设计器设计单据,再对数据库做相应配置即可,动态单据框图架是不是很强大?但是我们的单据目前还只有系统内置的功能,如保存,删除,打开弹出窗口等。假如我们要在序时簿中对单据做导入导出成Excel文件,在编辑页面发邮件,那我们刚刚配出来的单据就无法完成了,别担心,框架早已考虑到了这些,并为我们提供了相应的支持。 前面提到了,当在T_BAS_FormActionList表中将FActionID配置为36时,是调用的自定义功能,自定义功能的扩展性比较强,能实现相当复杂的操作,当然这个得我们自己来写代码实现,框架只是给我们提供了一个调用的接口,插件就给我们提供了这样一种通用的手段。 编写插件并不复杂,我们只需要写一个类从相应的基类派生即可。一般有2种插件,序时簿插件和编辑页面插件,编辑页插件从AbstractBillPlugin派生,序时簿插件从ListPlugin派生,这里强调一下命名规范,编辑页面插件一般以***Plugin的形式命名,序时簿插件则一般以***ListPlugin的形式命名。如下示例:

public class BillMessagePlugin extends com.kingdee.eas.base.form.plugin。AbstractBillPlugin {}

public class BillQueryListPlugin extends

com.kingdee.eas.base.form.model.list.ListPlugin {}

这样就写好插件了,当然这个插件并不具备什么功能,我们将在下面介绍如何写插件以实现功能。但是这样写好插件,框架并不知道我们这个插件是为哪个Form写的,我们还需要为Form注册插件才行,只有注册之后的插件,在运行时才会被框架调用,才能起作用。 注册插件要用到T_BAS_FormPlugin表,表的主要字段如下: FFormID 插件对应的formID FDesc 描述 FClassName 插件对应的类名,要有包名 FSeq 插件顺序,一个Form可以有多个插件,按这个顺序调用,从0开始 FType 插件类型,1为单据插件,2为序时簿插件,跟之前的工具条表一样 清楚了表结构,我们也就知道该如何注册插件了,以下给出一个示例SQL:

DELETE T_BAS_FormPlugin WHERE FFormID='kSdMyUmYQKC7tzo9xr0XV5p+rpI=';

/**********注册一个编辑页面插件**********/

INSERT INTO T_BAS_FormPlugin(FID,FFormID,FDesc,FClassName,FSeq,FType) VALUES (

'HU6GJi6XROulKc14mbVix5p+rpI=','kSdMyUmYQKC7tzo9xr0XV5p+rpI=',null,'com.kingdee.eas.cp.wfm.plugins.BillMessagePlugin',0,1) ;

/**********注册一个序时簿插件***********/

INSERT INTO T_BAS_FormPlugin(FID,FFormID,FDesc,FClassName,FSeq,FType) VALUES (

'r76GJi6XROulKc14mbVix5p+rpI=','kSdMyUmYQKC7tzo9xr0XV5p+rpI=',null,'com.kingdee.eas.cp.wfm.plugins.BillQueryListPlugin',0,2) ;

3)、如何编写插件

[1]编辑页面插件

插件也是使用事件驱动的方式来编程,AbstractBillPlugin中定义了很多方法,分别会在不同的事件发生时执行。如onLoad方法会在页面加载时被调用,dataChanged会在页面控件数据发生改变时被调用。比方说我们要在页面加载时给某个控件设一个默认值,除了前面说的在设计时配置外,还可以在onLoad方法中写上这么一句:

application.setValue(\, getCompany(), 0);

其中,basedataCompany是设计时该控件的标识,ge …… 此处隐藏:6344字,全部文档内容请下载后查看。喜欢就下载吧 ……

动态单据框架使用总结(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412375.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)