金蝶EAS BOS开发平台培训体系_第1页
金蝶EAS BOS开发平台培训体系_第2页
金蝶EAS BOS开发平台培训体系_第3页
金蝶EAS BOS开发平台培训体系_第4页
金蝶EAS BOS开发平台培训体系_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、EAS BOS开发平台培训体系1 EAS BOS框架结构简介1.1学习内容概述什么是金蝶EAS BOSBOS, Business Operation System,业务操作系统,是金蝶融合多年的企业应用软件的经验以及MDA 理念研发新一代技术平台,是金蝶公司全新的管理软件开发工具和管理集成平台。金蝶BOS提供了基于模 型驱动架构(MDA)的开发模式和相关的工具,成功的解决了企业应用软件在开发、实施和维护过程中的 质量、周期、成本、风险等方面的问题,并使企业应用软件能够满足企业管理行业特性、企业个性化和持 续完善的要求,对于企业应用软件在行业应用开发和维护、实施带来了全新的应用模式和革命。金蝶E

2、AS BOS提供的集成管理平台,使企业应用可以集企业门户(Portal)、办公自动化(OA)、企 业资源管理(ERP)、工作流(Workflow)以及业务重组(BPR)于一体,对于企业的团队协作、业务支持、 管理控制、决策分析、商务智能以及企业信息实时化提供全面的支持。金蝶EAS BOS,集中体现了金蝶公司对中国特色化企业管理和国际先进管理思想领域的孜孜不倦 的探索和追求,融合了金蝶公司在企业应用软件领域十多年的行业经验和软件开发经验,对产品不断的发 展与完善,为企业用户带来高效、灵活、柔性以及功能强大的企业管理系统,帮助企业用户在激烈的市场 竞争中赢得先机并获得前所未有的高回报。金蝶EAS

3、BOS应用框架企业用户决策房 管理房 加亍屋7EAS应用系条匪略途业甘审XM企业IT人 员-觌国曾建-而售平台一业界关联一初始化骨在龄敏配置金蝶EAS BOS技术特性全面的模型驱动架构金蝶EAS BOS在面向业务分析的基础上提炼出一个业务元数据描述的抽象层(对象构造模型九这 个抽象层是整个系统运行的基础,包括了业务对象结构、数据结构、交互界面、系统部署、系统接口等全 方位的信息。并且通过内置的集成开发环境,可以不断地将获取及更新的业务知识补充到这个模型中,支 持业务能力的持续改进。BeoLKt +Till VI ,7EiiLgdee TAS Bnn_t zleBOS Het&data r En

4、gineBnsiikEsEeportGeneratorKepositvryBusi meeRulesB-nsiiLesEObj e ctBusinessD&t ftbaseData Acc essCowles Accee模型驱动的伸系架构通过灵活的架构及专业的工具,业务专业人员可以专心于业务的分析及业务的逻辑处理,然后通过集成开发环境将其专业能力分析的内容轻松地加入到系统中,迅速提升系统的业务处理能力,大大降低了实 施成本。示例:基于模型技术实现的IDE开发平台功能Eingdee BOS元数据定义工具Eincdee EAS用户盘作羿面模型驱动的开发及应用场景平台级的技术控制能力Apusic应用

5、服务器Apusic应用服务器是严格遵循J2EE等工业技术标准的企业应用平台,是国内第一个商业J2EE应用 服务器产品。通过对应用服务器平台技术的自主控制,金蝶EAS BOS能够充分挖掘平台技术潜力,提供给用户高效、高可靠的产品。应用部署孱答建工具Irtrsjis.丁血昭财C+Apus i c架构示意图多技术平台支持在基于Internet的企业级应用软件的技术领域中,国际上主流的技术平台存在着Microsoft.NET和 J2EE两大技术架构。这两种技术架构代表着平台架构技术的最新发展,两者互有优势,目前巳经部署或将 要部署的企业信息平台绝大多数都从两者中选择其一。金蝶本着帮助顾客成功的产品研发

6、理念,凭借多年 积累的技术实力,通过金蝶BOS平台无关性的设计,实现了对.NET和J2EE这两种技术架构的支持。使得 顾客在平台选择上有了完全的自主能力,用户可以根据企业自身信息化发展的状况来决定如何部署技术平 台,充分保障了既有投资及未来的发展。而且,基于金蝶EAS BOS的技术平台,为客户提供了一种途径, 使得企业原有分属于不同技术架构体系的应用系统可以实现整合。通过对Web Service的广泛支持,异种技 术平台间可以自由通信,相互集成。多种数据库支持翻译引擎支持多种大型数据库,业务系统可自由选择任意数据库产品作为数据承载平台,基于BOS 开发的业务系统如果需要运行于新的数据库平台上,

7、只需要在BOS上扩展新的数据库翻译引擎子集即可, 原有业务系统无需重新开发。金蝶EAS BOS的数据库翻译引擎提供了两个子功能层,分别实现多种SQL版本的语义翻译和异种数据库访问连接。EAS企业应用系统KSQL (SQL语文翻译引擎)SQL语义翻译引擎虽然所有大型数据库都支持大部分的标准SQL语法,但是每个厂商提供的数据库产品都有各自 特性的SQL语法子集,这些特性子集的存在造成了业务系统不能够直接在多个数据库产品之间迁移的障碍。 金蝶EAS BOS提供的SQL语义翻译引擎,可以使不同的数据库产品都能够正确理解和处理来自业务系统 发出的操作请求。异种数据库访问引擎每一种数据库都有各自的访问处理

8、方式从数据库支持的网络协议库到数据库访问的授权到数据库 连接的建立都各自不尽相同。金蝶EAS BOS提供的异种数据库访问引擎,可以使业务系统透明的访问任何 一种数据库,而无需了解数据库的产品厂商差异以及所运行的平台差异。EAS BOS开发B/S结构EAB BOS开发B/S程序时,产生的后台代码EJB,前台代码是JSF和EXT;后台的EJB代码发布 在Apusic这个应用服务器上,前台JSF和EXT代码也是运行在apusic应用服务器上。JSF操作数据时,就 需要访问EJB的方法来对数据进行增、删、改和查。EAS BOS开发C/S结构EAB BOS开发C/S程序时,产生的后台代码EJB,前台代码

9、是swing;后台的EJB代码发布在Apusic 这个应用服务器上,前台swing代码也是运行在客户机上。swing操作数据时,就需要访问EJB的方法来 对数据进行增、删、改和查。EAS BOS访问流程参考资料资料BOS框架BOS开发指南 应用框架.doc 资料BOS框架EASBOS框架入门.pptx 资料BOS框架应用框架编程指南.doc1.2学习目标2 EAS BOS开发环境学习2.1学习内容概述BOSModular 是什么BOS Modular是一个在eclipse上的一个插件,在bos Modular中,可以直接托拉控件生成界面。i!麻11独11貌11酬11幽I I,,Brofipl.

10、Bokla无生时问即1迁05月网日单指日朋河L迁05月网日用 CxnliBt恂kt渝idlAti rT iwub容明研|i-j P-indPi7*Tn*TQjijwLsMtrA 1 bhji!e?扩明5忡FPfCrtJ-tBoKirf Pmm ./T.4 I ITS r:t7oo2E-ir tlgLflut 1 V函 lid =3 coailJiillnte (Lab d.Coniainei ccoitHmdlAr (LaI AlCdTit-airiAi立(Nzglrgo.)白 -=-J c cotte ar Kthi (LitclC iiitw Zl pYttc-arbhiri Ptrori

11、p LBoz)田 Ui 4:H.tr-At4Typ4 LibqlJCrait 应攻 ijl ccaitoccurl in e (Lbh tlC:ni-3i 中m cont womit CLateLC dclI: ainer -L3 contcuLJact (LAlalCdiitwiriAiIDO胃亳 CarLaieBjeci s tcrEdCarB.isl. j-KecL3l:i:rEd tlT LO新即口 制胃市的嗣Ll:i :通;qrr显示视图四上门路说匹7稀蹙视阁另喜为m.田谚丑跟_17数据排定 国图片祝图 广i .Q K其柚鱼) Mt+aLft+Q, Q导肮首旬砂碗酬W语言础我有痢辑x

12、Mialg式赫式|FrwiplEoM 田f发 日凸|2:再选择“其它”菜单,弹出如下窗口,我们可以在窗口中选择随意窗口:BOS BIM视图虞妙调试 金蝶E%设.一磐丁g 岳金蝶眺业.J咯资源1:如上图点“金蝶BOS业务建模”,在BOSModular中就会显示业务建模视图如下:包业罟单元管理沮吕王大纲口 口 :cqlztc:iTLew :由订十 I& t5十 5 crri-tnT7 cp-I- 二 erri十&叩十吧即十 I& fdc十 125 na十 l2 FTiTi-I- 二 ricm-i- . / qm+rp1-2十serri由B 3t十顿+ &财冬系藐+蹬供应链+ &基础系场十&基础资料

13、中 &人力资濯-象用户自定义-必开投+浙安全运营管理+ B安全运营数据驹集t於领导日程+ &资金管理在业务建模视图中,我们主要是建业务单据,发布业务单据。BOS设计视图唐格调试耗金喋BUS设.|财 E 卷金蝶E页业.邕包斜类 应暨大思片 了廿 4 - qk t ci :=ltl e wGT m etadata:EI J -:LTl0- | kingiiee0 easi i-=F) mE| IHapp:cli ent L57:web :=-jE|a C:it_KatqRegist er. bjj i + W gm+ 3 cije t oni路: lim pei-mi55:。以cp_leaiiei

14、_5. p ermi szi un i+ baEsmetaz在设计视图下,主要是设计界面,给界面控件邦定数据,修改各种元数据大纲窗口视图E 蹈包隹基传甘 u 宜 |目 筮UIj 0-三 1 继承 E.liiltt l:Ro口 tP 纯 e:l W ebLayont - 0 4谜承)m.t.Fi- eeP =me 1 (Fr eeP:duel)巴篇口:nLJLJLJ十 + + + 十+一- 0 省承)rout Form (Jorm) Smart I roo tTu ulBar (T u ulBar) T 北: 己-:iTLtE i iDat 电 (Lib sLC c-nt 乏i n& c i:i

15、TLtH:TLlL e r I. Lit e_C cmt a i nei m s gAr e a (M s gAr e mJ匚 qxl* c H 口ti (L:xb 1C cut ai nei- c ontrit wTjtp e CL:ib elC ont :ii m c out oc curT i m q (Lab elCcin t ai c utlt :=jti ciimt l.L:d_b elC uTL-taiTier. contsiibj ec t I.LaLeLC ont aine ccxiti-egisti_=iti ctlFecple .LprfTitregi stratiurJ

16、eop 1 eA|谜承)iruiu FiY i rLiiowlJ crT a g CU z qfT s4Act i :tlzE-Q DataUbj e rls:冒 Stitses数据邦定窗口视图邙拉曰K 摭皿担 巨屈性 才数据邮定 w .J巳路畦国袖湖引用:S称对甄名称包:ST是衡It认属性窗口视图车牌号?romp +1! ox能撤销重傲费用类型PrijTlp tliOK经办人Promp +U okX删除但)1复制馈粘贴口金额单据E登记人FrumptBqx合并单元格抵命单元格插入行添加行插入列添加列.耳会语言编辑状态编辑xhtml模式册1除行删除列.属性日基本3 新建Act i on|g=新建

17、姑tUM1.赣设置焦点顺序昌尾性 bindingCLinztriirLtjsv:fn;uri e.异性1佰bimdl.K C-33U tr hi DL匕 J 1VU n-une1pt nlreci a Lt- 4ti ocJe spit=1 ; 2ani f-?rcromjLiuii L产H i si , nuia=D l bJ dx. x tj-1 小口,n e a=93行为12 ILavlviJL 田Ll ralrTttr-a.9 田Csnvsirttfcan.r*r tvcIHe asd.! HpLiyFam !di Sitled物5 W田41L lFotna.t. nv c? u-4k

18、Jt slLl p filst重Q 田F4nd.4Kwd r-i quLX-* rt 44 Y-lli dtxtvEllll S3 h-lvi nlfrl噌U.i Li HrlnFavrTvn咽有 M1P.BOS JAVA 视图酎妙调试盈金蝶处设.-皇丁皿a金蝶邮业.启资源1:如上图点“java视图”,在BOSModular中就会显示java视图如下:E包资源管理器-膏丁-fjT?已 qkttjaiL 纫 uEerlibnB湾& &-0 & &waaBB回ffiEBaB国EaaBB .田:ffl-S:-0田田;:,!:s“;0:r-i-0 .M::,“”“”sr c理整医、ghasemetas

19、 cache deploy iiHjpli:iyb!il_nifc!t:E lib1爪手neiiMetaz rimt irne srct UFTlp terrip or:=ii-y web:diLt_log. t BlfilFi-LjH: t.c qkt o ;ne w_1 i b. xml daticenterz. xmlste. wnJ. b:&Il epl O5rAg:HiLt. xnl depl uyeil. jirc-p erti es depl uyRe c oril. 2:iTli g. 3-rrril SubS yzte m_b c- e . xml SubS j/三 t e

20、m_e . xmlSubS v三 t e rriCh:WLar erit. xrrilSbSys t s mJ1 i 11 er.:iitiL在JAVA视图中,我们修改JAVA代码,新增逻辑。211.1行业版开发环境搭建导入解决方案。选择方案-转换为行业解决方案(业务建模视图中)删除工程中basemetas文件夹中(除bos eas bim_templates.zip)的文件和文件夹开发完成后选择基线化行业解决方案(设计开发工具中)5在工程目录下 将exporttemp文件夹中的 内容复制到 deployed_metas文件夹中参考资料资料环境4.安装 bosmodular安装 bosmodu

21、lar.swf资料环境5.导入license 及解决方案导入license 及解决方案.swf2.2学习目标3 EAS BOS开发一个完整的业务单据3.1学习内容概述开发流程(业务建模方式):倒入解决方案。新建业务单元。菜单管理。发布业务单据。编写java代码。开发流程(设计工具方式):倒入解决方案,或者自己新建项目。新建元数据。发布元数据。编写java代码。客户端.一服务端客户端:1,获取界面数据。(EditUI可以通过框架自动将界面控件中的值绑定到editData中); 也可以通过控件直接获取值。获取远程调用接口。XXXFactory.getRemoteInstance()。Icurren

22、cy icurrency = Icurrency Factory.getRemoteInstance(); 获取币别的远程调用接口通过接口调用后台组件(方法)。icurrency.save(editData); 调用服务端保存方法服务端:获取客户端的数据,实现业务逻辑。根据需要,通过对象或者直接写KSQL操作数据库。界面控制一般在界面的onLoad方法或者onShow方法中控制界面一些属性。 例如:隐藏一个控件。public void onShow()(txtName. setVisible(false); /设置 txtName 控件不可见参考资料资料开发流程旧。、V6.2开发指南Studi

23、o.pdf资料开发流程人$开发流程且。资料开发流程视频6.BIM 币别Currency.swf3.2目标4 BOS元数据及代码结构4.1学习内容概述一:关系(一)实体和实体关系实体(Entity)与实体之间存在联系时,需要建立关系(Relation)o实体可以导出数据表(Table)。新建查询(Query )必须选择实体。ListUI (UI)界面需要绑定查询,其显示的数据要是通过查询获得。EditeUI (UI)界面需要绑定实体,界面中的空间和实体的属性绑定进行值传递。(二)实体和代码关系实体和UI发布会生成对应的Java代码 1.实体ZTTest (Entity)发布生成的类皂祢作用郭容位

24、置ZTTistid ORM-RPC访问 .有客 户皤为冼程奇慈.IZ.TTestBu或n耘兮早 客户辟使用 廖口暮尸建及服务寤Ab slracLZTTeslInfo数据催谗的伉对象抽盘笑富户端匿服舞器ETTestlnfo以Ab sb-acLZTTe3tIi以继承,用户在此斐础户讶 作整由.潺尖再次生底时正强色“舂户端彦班资器ZTTsstC&llection数据枝逸的面对嘉集合客户端及服务监ZTTestFactoiyZTTsst&fJ生成壁客户品及服务器ZlTesLController生观蛆件旅口Ab stractZTTestContro Llej-Beain组件生现开发中的补充:逻辑也花该类上

25、缝承 后谊竺一漆务器ZTTeEtCoin. trail erBean从 Ab Ftrs ctZTTeEtControl lerBean 继承,用 户在 业矗石出F洪有福曲. 技生再寿出成时不转罟.服咎8&2,用户界面(UI)发布生成的类名称作用部署位置Ab?ha otz iiestli stUIUI发布生成的抽鬼类,在该类中定义了控 件,事件等.客户端zrreListn从AbstiacrZTTffitLjstn继承,用户在此基 础上进行修改,氓美再次生成时不祖盖* 客户端的违辑.主要是在该类炭观。客户端二:在什么地方加代码来实现一些功能所有的抽象类我们不能修改。在开发中我们需要修改的java类

26、主要包括*ControllerBean,*EidteUI,*ListUI 结 尾的非抽象类。*ControllerBean主要是编写服务端的代码逻辑(新增,修改,删除等功能)。例如:在该类中我们可以重写_save()方法。这个方法主要是实现保存,我们就可以在该方法中 添加自己代码逻辑。*EditeUI类是客户端编辑界面对应的类。方法名称-描述界面初始仕事件.可以在此;-L获取切的上下文和初始化数据=L设置控件风格;3、设置界面组件的状态;/将业务数据装载到控件 散据绑定代码在烈y 中。刀队控件中获得最新的业务数据-数据绑定代码在sup 就 storeF i 己Id $ 中刀W.Wf.f-UJW

27、 W在客户端检查业务翌辑合法性,不合法时抛出异常。4 此壮的检查罪噩代替服务粼的橙验,战是为了在业务数据非 法时尽量少地提交服务端_ 口创建一个新业务对家,在新噌时被调用- 可以在此处为业务对象的属性赋默认值.2获取列表射应实体的业务接口,以便倜用业务方法Q5.*ListUI类是客户端叙事簿界面对应的类。方法客称秒描述p界面初始化事件。可以在此;L荻取UI的上下文和初始化数据;# x设宣控件风格;h设菅界面组件的状态;a获取选择行的18检查选取的对彖是否为空指示关联的编辑in对象名萩取列表对应卖体的业务接口,以便调用业务方法。p参考资料资料BOS V6.2开发指南_元数据介绍.pdf 资料通用

28、 Query 杳询开发指南.doc资料BOS Studio 开发指南(元数据).ppt4.2目标5 EAS BOS常用功能5.1学习内容常用功能总结客户端环境工具类工具类: 作 用:静态存储用户当前登录信息,登录的当前组织信息(C ontextUtil在服务端使用)SysContext.getSysContext().getCurrentFIUnit() 获得财务组织SysContext.getSysContext().getCurrentUserInfo() /取得用户信息获取菜单参数作 用:该方法返回的是一个Map,里面存放菜单的一些参数。例如菜单名称,路径等。 getUIContext(

29、).get(UIClassParam)获取当前组织的常用方法。CompanyOrgUnitInfo company = ContextUtil.getCurrentFIUnit(ctx); /服艮务端CompanyOrgUnitInfo company =ContextHelperFactory.getLocalInstance(ctx).getCurrentCompany(); /服务端CompanyOrgUnitInfocompanyContextHelperFactory.getRemoteInstance().getCurrentCompany();/客 户端接口方法的访问方式客户端访

30、问ICurrency c = CurrencyFactory.getRemoteInstance();/健立实体对象c. getCurrencyCollection();/方法调用服务端访问ICurrency c = CurrencyFactory. getLocalInstance (ctx);/健立实体对象c. getCurrencyCollection();/方法调用5115数据库工具用法总结DbUtil 用法。 查询操作StringBuffer sql = new StringBuffer();sql.append(select fid from t_cas_ztdemo);/返回结果

31、集,结果集的取值和JAVA ResultSet相同IRowSet rowSet = DbUtil.executeQuery(ctx, sql.toString();增加、删除、修改操作调用DbUtil. Execute().IFMIsqlFacade 用法 。 mon.IFMIsqlFacade;IFMIsqlFacade fMIsqlFacade =FMIsqlFacadeFactory. getRemotelnstance ();客户端IFMIsqlFacadefMIsqlFacade=FMIsqlFacadeFactory. getLocalInstance (ctx);服务端Strin

32、gBuffer sql = new StringBuffer();sb.append( select a.fid from T_BD_Acct_Contorl a);sb.append( inner join t_org_company c on a.FDestCompanyID = c.fid);sb.append( where a.FAccountTableID = ? and a.FIsDefaultForRefer =0);/其中new Object 传递的参数,可以是多个用逗号分开IRowSet rs = fMIsqlFacade.executeQuery(sb.toString()

33、, new Object accountTableld);期间工具工具类:作用:该工具类中包含很多关于期间处理的方法,涉及到关于期间的问题可以在该类中查 找相应的方法。提供静态方法可获取期间,进行期间运算、比较等功能例:根据日期、组织获得期间对象。/date为日期,companyinfo为组织Periodinfo periodinfo = PeriodUtils.getPeriodInfo(date, companyinfo);/根据期间ID获得期间对象periodId为期间IDPeriodInfo periodinfo =PeriodFactory.getLocallnstance(ctx)

34、.getPeriodInfo(newObjectUuidPK(BOSUuid.read(periodId);根据期间ID获得对应期间的下一期间 periodId为期间IDPeriodInfo periodinfo = PeriodUtils. getNextPeriodInfo (ctx, new ObjectUuidPK(BOSUuid.read(periodId);判断该期间是否为调整期periodinfo.isisAdjustPeriod()获取期间对应的开始日期、结束日期。Date endDate = periodinfo .getEndDate();Date beginDate =

35、periodinfo.getBeginDate();/日期转换public static Timestamp getTime() Timestamp createtime; Date date = new Date(); long time = date.getTime(); Calendar d = Calendar.getInstance(); d.setTime(new Timestamp(time); d.set(Calendar. MILLISECOND, 0); createtime = new Timestamp(d.getTime().getTime(); return cre

36、atetime; t_pm_mainmenuitem 菜单表5117日期帮助工具工具类:作 用:日期帮助类,主要提供与日期相关的方法,例如计算指定日期的前一天、日期所在月的第一 天等例:DateHelper.getFirstDayOfCurMonth() /获取当前月的第一天 DateHelper.getEndDayOfCurMonth() /获取当前月的最后一天对象查询IAccount_Control acctCtrl =Account_ControlFactory.getLocallnstance(ctx);EntityViewInfo evi=new EntityViewInfo();F

37、ilterinfo filter=new FilterInfo();evi.setFilter(filter);/添加所需要查询的对象evi.getSelector().add(accountTablelD);evi.getSelector().add(availDataFrom);evi.getSelector().add(availDataTo);evi.getSelector().add(accountPeriodType);/设置过滤条件/ Filterlteminfo参数含义FilterItemInfo(arg1 arg2,arg3);/ argl:过滤对象名/ arg2:值(和过滤

38、对象做比较)/ arg3:对象与值的比较方式.值为空时,默认为等于CompareType获取比较方式 filter.getFilterItems().add(new FilterItemInfo(accountTablelD, QkvFqwEXEADgAD1sChkaBhdpjm0=);filter.getFilterItems().add(new FilterItemInfo(isDefaultForRefer, new Integer(0);根据EntityViewInfo对象为条件获取查询结果,返回的值是一个集合 Account_ControlCollection acctCtrlCol

39、s = acctCtrl.getAccount_ControlCollection(evi);根据主键(id)查询查询主键对应的所有数据。IAccount_Control acctCtrl =Account_ControlFactory.getLocallnstance(ctx);String id = 123; / 要查询对象的 idAccount_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id);查询主键对应的指定的数据。IAccount_Control acctCtrl =Acco

40、unt_ControlFactory.getLocallnstance(ctx);String id = 123; / 要查询对象的 id/添加所需要查询的对象SelectorltemCollection selector = new SelectorItemCollection();selector.add(accountTablelD);selector.add(accountPeriodType);Account_ControlInfo acctCtrInfo = acctCtrl.getAccount_ControlInfo(new ObjectUuidPK(id), selector

41、);51110消息提示框工具类: 该工具类拥有多个方法,根据不同的需要调用方法,只能在客户端使用。例子:1. MsgBox.showInfo(YES);2. MsgBox.showConfirm2(YES);3. MsgBox.showConfirm3(YES);MsgBox.showConnectionError(YES);MsgBox.showConfirm3a(YES, error);资源文件引用工具类: 常用方法:EASResource. getString(String resClassName, String resName) resClassName:资源文件 resName:资

42、源文件中的属性名例:MsgBox. showinfo (this , EASResource. getString ( com.kingdee.eas.fi.cas.CasResources, CheckAccount);ResourceBase.getString( com.kingdee.eas.fi.gl.GLAutoGenerateResource, 974_GLAccountRefContrastProcess, ctx.getLocale();2 BigDecimal类型的使用方式工具类: 作用:金额、单价的值需要付值为BigDecimal类型BigDecimal amounts!

43、 = new BigDecimal(String.valueOf(3.00);BigDecimal amounts2 = new BigDecimal(String.valueOf(2.00);/相加amounts1.add(amounts2);/相减amounts1.subtract(amounts2);3 F7控件付值public void initF7Acct(lUIObject owner,KDBizPromptBox f7,CompanyOrgUnitInfo company) ( if(company.getAccountTable()=null)( return;/为F7控件设置

44、Queryf7.setQueryInfo(com.kingdee.eas.basedata.master.account.app.F7 AccountViewQuery);EntityViewInfo evi =new EntityViewInfo(); FilterInfo filterInfo =new FilterInfo();/设置过滤条件 evi.setFilter(filterInfo); filterInfo.getFilterItems().addnew FilterItemInfo(isLeaf, 1);filterInfo.getFilterItems().addnew F

45、ilterItemInfo(companyID.id, company.getId().toString();filterInfo.getFilterItems().addnewFilterItemInfo(accountTableID.id, company.getAccountTable().getId().toString(); f7.setEntityViewInfo(evi); f7.setDisplayFormat$number$-$name$); f7.setEditFormat$number$); f7.setCommitFormat$number$); f7.setEdita

46、bletrue);/f7Acct.setSelector(newAccountPromptBox(owner, company, filter,false, true);/此句不增加,将在第一次查询设置的条件不生效 f7.getQueryAgent().resetRuntimeEntityView();通用过滤ListUI界面中的几个方法。可以设置通用过滤所包含的界面protected CommonQueryDialog getQueryDlg() throws Exception ( CommonQueryDialog dialog = super.getQueryDlg(); dialog

47、.setShowFilter( false); /是否显示自定义页签 dialog.setShowSorter( true); /是否显示排序页签 return dialog;/获取用户自定义界面(条件页签)public FMFilterBaseUI getFilterUI() throws Exception ( if (filterUI = null) (filterUI = new FundsMoveBillFilterUI(); return filterUI;/添加自定义界面public CommonQueryDialog initCommonQueryDialog()( Commo

48、nQueryDialog conditionDialog = super.initCommonQueryDialog();/设置固定查询界面try (CustomerQueryPanel userPanel = getFilterUI(); if(userPanel != null)( conditionDialog.addUserPanel(userPanel); catch (Exception e) ( super.handUIException(e);return (conditionDialog);处理自定义查询页签界面protected CommonQueryProcessor g

49、etQueryProcessor() ( /FundsMoveBillProcess 要继承monquery.client.CommonQueryProcessor return new FundsMoveBillProcess(this);在CommonQueryProcessor (查询界面自定义查询页签中属性的处理类)及其子类中,获取 CommonQueryPanel,以及用户自定义界面(*FilterUI.java)。方 法: CommonQueryPanel commonQueryPanel =(CommonQueryPanel)get(COMMON_QUERY_PANEL);com

50、monQueryPanel.getCustomerQueryPanel().get(i);/获取用户自定义界面(条件页 签)。Object editor = get(CURRENT_EDITOR); /获取自定义页签比较值对应的控件。String field = (String) get(CURRENT_FIELD_PROP); 获取自定义页签过滤条件属 性名SysUtil.abort 方法工具类: com.kingdee.eas.util.SysUtil;作用:停止当前UI的所有操作,或终止服务端方法SysUtil. abort()常用 F7 Query科目F7科目表客户F7供应商F7客商统

51、一码F7物料F7辅助核算F7币别F79辅助核算类型F710汇率F711银行账户F712银行F713用户F714银行F7If not exists (select * from KSQL_USERCOLUMNS where KSQL_COL_NAME =FTransportTypeIDand KSQL_COL_TABNAME=T_ST_BalanceBaseType)alter table T_ST_BalanceBaseType add FTransportTypeID VARCHAR(44);获取状态1.主要是获取该EditUI的状态public static final String ST

52、ATUS_ADDNEW = ADDNEW”;新增public static final String STATUS_EDIT = EDIT; 修改public static final String STATUS_VIEW = VIEW; 查看 public String getOprtState()(return this .oprtState; / 获取状态public void setOprtState(String oprtType)(this.oprtState = oprtType;this.uiParam.put(oprtState, oprtType);手动调用BOTPIBTP

53、Manager iBTPManager = BTPManagerFactory.getLocallnstance(ctx);IBOTMapping botMapping = BOTMappingFactory.getLocallnstance(ctx);/查询是否存在此botp规则EntityViewInfo ev = new EntityViewInfo();Filterinfo filter = new FilterInfo(); ev.setFilter(filter);filter.getFilterItems().add(newFilterItemInfo(name,ST_Weigh

54、-Sample(Pur);BOTMappingCollection/获取对应的botp规则botMappingCollection=botMapping.getBOTMappingCollection(ev);String idList = new StringweighCollection.size();if(weighCollection=null|weighCollection.size()=0)( return null;/构建idList参数原对象的IDfor(int i=0;iweighCollection.size();i+)idListi = weighCollection.g

55、et(i).getId().toString();/目标对象SampleBillInfo destBillInfo=new SampleBillInfo();List list=new ArrayList();SelectorItemCollection selectors=null;/生成单据BTPTransformResultbtpResult=iBTPManager.transformForBotp(idList, new String1 ,list, selectors, destBillInfo.getBOSType().toString(), new ObjectUuidPK(bo

56、tMappingCollection.get(0).getId().toString(),weig hCollection.get(0).getBOSType().toString();SampleBillCollection destBillColls =(SampleBillCollection)btpResult.getBills();BOTRelationCollection botRelationCols = btpResult.getBOTRelationCollection();destBillInfo = (SampleBillInfo)destBillColls.getObject(0);51119叙事簿枚举自动转换与排序解决方案主要用途:一般情况下叙事簿上的枚举是自动转换的,排序也可以在Qurey元数据中配置。这个主要是用在出现特殊情况下处理枚举自动转换和排序。protected IQueryExecutor getQueryExecutor(IMetaDataPK queryPK,EntityViewInfo viewInfo)IQueryExecu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论