金蝶EAS_BOS工作笔记
- 格式:doc
- 大小:270.50 KB
- 文档页数:30
BOS开发单据重要笔记.txt一、EditUI必须实现及很重要的方法:1、通过Factory返回月度付款计划接口(必须)protected ICoreBase getBizInterface() throws Exception { // TODO Auto-generated method stubreturn MonthlyPayPlanFactory.getRemoteInstance();}2、返回月度付款计划对象(非必须)Protected IObjectValue createNewData(){MonthlyPayPlanInfo info = new MonthlyPayPlanInfo();return info;}3、返回单据分录(必须)protected KDTable getDetailTable() {// TODO Auto-generated method stubreturn this.kdtEntries;}4、是否允许连续新增,框架默认为true(非必须)protected boolean isContinueAddNew() {return false;}二、ListUI必须实现及很重要的方法:1、通过Factory返回月度付款计划接口(必须)protected ICoreBase getBizInterface() throws Exception { // TODO Auto-generated method stubreturn MonthlyPayPlanFactory.getRemoteInstance();}2、返回编辑界面名称全路径,新增、查看数据时使用getEditUIName(必须)protected String getEditUIName(){return MonthlyPayPlanEditUI.class.getName();}3、初始化查询条件过滤界面(可修改界面)protected CommonQueryDialog initCommonQueryDialog() { CommonQueryDialog dialog =super.initCommonQueryDialog();try{dialog.setTitle("月度付款计划查询");}catch(Exception e){handUIException(e);}return dialog;}4、初始化时,是否进入查询条件过滤界面(默认false,当需要过滤界面时,重写,返回true)protected boolean initDefaultFilter() {// TODO Auto-generated method stubreturn true;}5、查询时,执行查询SQL前,自定义条件protected void beforeExcutQuery(EntityViewInfo ev) { SorterItemCollection coll=new SorterItemCollection();coll.add(new SorterItemInfo("number"));coll.add(new SorterItemInfo("entries.seq"));coll.addObjectCollection(ev.getSorter());ev.setSorter(coll);super.beforeExcutQuery(ev);}6、通用条件过滤界面增加自定义页签protected CommonQueryDialog initCommonQueryDialog(){dialog = super.initCommonQueryDialog();try{dialog.addUserPanel(getUsierPanel());dialog.setShowFilter(true);dialog.setShowSorter(true);dialog.setHeight(380);dialog.setWidth(500);dialog.setTitle(‘客户自定义过滤框’);}catch (Exception e){handUIException(e);}return dialog;}protected CustomerQueryPanel getUserPanel() throws Exception{if (erPanel == null)erPanel = new PurOrderQueryUI();userPanel.onLoad();return erPanel;}三、典型客户端代码1、动态调用UI界面private void makePurOrderUI(PurOrderInfo srcBillInfo) throws EASBizException, UIException,BOSException, Exception {String destBillEditUIClassName =“com.kingdee….PurOrderEditUI”;Map map = new UIContext(this);map.put("srcBillID", srcBillInfo.getId().toString());map.put(UIContext.OWNER, this);map.put("srcBillBOSTypeString",destBillInfo.getBOSType());IUIWindow uiWindow = null ;// UIFactoryName.MODEL 为弹出模式uiWindow =UIFactory.createUIFactory(UIFactoryName.MODEL).create(destBillEditUIClassName, map,null,OprtState.ADDNEW);//可对创建的ui进行操作//((CoreBillEditUI).uiWindow.getUIObject()).//setMakeRelations(btpResult.getBOTRelationCollection()) ;//开始展现UIuiWindow.show();}四、KDTABLE 隐藏其组件里自带的按钮//隐藏kdtable的按钮private void hidePanelButtons(KDTable table){Component c = table.getParent().getParent();if (c instanceof DetailPanel){DetailPanel panel = (DetailPanel) c;//获取btnComponent[] components = panel.getComponents();for(int i = 0; i < components.length; i++){Component component = components[i];if (component instanceof KDPanel){KDPanel kdPanel = (KDPanel) component;if("controlPanel".equals(kdPanel.getName())){panel.remove(kdPanel);}if("entryPanel".equals(kdPanel.getName())){Rectangle entryRect = new Rectangle(0, 0, table.getWidth(), table.getHeight() + 29);kdPanel.setBounds(entryRect);kdPanel.putClientProperty("OriginalBounds",entryRect);panel.add(kdPanel, newKDLayout.Constraints(KDLayout.Constraints.ANCHOR_TOP| KDLayout.Constraints.ANCHOR_RIGHT | KDLayout.Constraints.ANCHOR_LEFT|KDLayout.Constraints.ANCHOR_BOTTOM , entryRect));}}}}}1、如何获得当前单据的所有组织、用户信息;// 获得当前财务组织SysContext sys = SysContext.getSysContext();CompanyOrgUnitInfo orgUnit = sys.getCurrentFIUnit();boolean isBizUnit = orgUnit.isIsBizUnit();// 获得当前用户SysContext sys = SysContext.getSysContext();user = (UserInfo) sys.getCurrentUser();if(user!=null){this.prmtAuditor.setValue(user);}2、bos中如何将F7的控件的背景颜色设置为黄色import com.kingdee.bos.ctrl.swing.KDTextField;((KDTextField)PromptSupportedObj.getEditor()).setCustomBackground Color(new Color(16579551));3、其他控件设置背景色:1.// 文本框,类:com.kingdee.bos.ctrl.swing.KDFormattedTextField2.txtTest.setCustomBackgroundColor(newColor(220,255,255));3.4.// F7控件,类:com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox5.((KDTextField)prmTest.getEditor()).setCustomBackground Color(new Color(220,255,255));6.7.// 日期控件,类:com.kingdee.bos.ctrl.swing.KDDatePicker8.((BasicFormattedTextField)pkTest.getEditor().getEditor Component())<BR> .setCustomBackgroundColor(new Color(220,255,255));<BR>// 文本框,类:com.kingdee.bos.ctrl.swing.KDFormattedTextFieldtxtTest.setCustomBackgroundColor(newColor(220,255,255));// F7控件,类:com.kingdee.bos.ctrl.extendcontrols.KDBizPromptBox((KDTextField)prmTest.getEditor()).setCustomBackgroundCo lor(new Color(220,255,255));// 日期控件,类:com.kingdee.bos.ctrl.swing.KDDatePicker((BasicFormattedTextField)pkTest.getEditor().getEditorCo mponent()) .setCustomBackgroundColor(newColor(220,255,255));下拉列表框与它们不同,需要特殊处理Java代码1.// 要先写一个内部类,其中实现了ListCellRenderer接口。
金蝶EAS BOS开发学习笔记一.环境准备先把需要用到的透视图和相应的视图打开,在后面的练习中需要用到。
导入eas包后的结构如上图所示。
BOS透视图下常用到的窗口如上图所示,这些必须打开。
项目属性配置如下图所示:下面是Java透视图中的配置。
EAS 项目的配置数据中心配置调试Config二.需要用到的热键CTRL+SHIFT+R 打开资源CTRL+SHIFT+T 打开类型三.制作第一个列表查询界面打开“金蝶BOS设计开发工具”透视图1.打开eas/metadata/com/kingdee/eas/demo 节点说明:app目录下一般存放实体、表、查询等元数据;Client目录下一般存放ui,即界面数据;其他公共对象,如枚举、异常等通常放在与app、client同级目录中。
2.在app文件夹下新建实体XueLi(学历),父实体选择com.kingdee.eas.framework.app.DataBase3.右击XueLi.entity,在弹出菜单中选择“实体导出表”,保留默认值,名称为T_DE_XueLi4.打开T_DE_XueLi.table,修改主键名称,避免因为重名导致建表错误5.右击T_DE_XueLi.table,选择“导出...”,在弹出窗口中选择“导出数据表”6.打开管理控制台,在“数据中心”选择使用的数据中心,再打开“数据库管理”,把生成的CreateTable.sql中的内容COPY进去,点击工具栏的“执行(F5)”,最后“提交”。
7.在app文件夹下新建查询XueLiQuery,实体选择XueLi.entity8.打开查询XueLiQuery,选择字段标签页,选择“导入”,将要查询的字段添加进来,并调整各字段顺序。
还应该在“其它”页中定义排序和主键字段。
9.在client文件夹下新建UI,父对象选择com.kingdee.eas.framework.client.ListUI(列表界面),BO对象选择XueLiQuery.query,其他用默认值即可。
六和集团金蝶EAS系统初始化培训笔记初始化步骤维护组织单位---建部门---建职位---建职员---权限维护(即建用户)---细化科目---辅助项目---金额录入---正常使用管理单元(即组织单元):先用管理员进入系统,维护组织单位、建部、建职位、建职员、赋权限,维护以上内容必须是管理员才有权限;维护组织单元时先维护“行政属性”和“财务属性”。
行政属性中维护“上级行政组织”、“组织单元类型”、“库存委托组织”行政组织中的组织单元类型选公司(此为针对公司组织单元架构的,当定义部门组织单元架构时此选项就选部门了);财务属性中行业为零售行业,财务实体组织打勾,本位币核算;采购属性中“实体库存组织”添加、“采购实体组织”打勾、“上级采购组织”维护、“记账委托组织”维护、“行政组织”中添加公司所有部门(此操作需要在建部门后再回来添加);销售属性同上;库存属性中注意“业务状态”为正常使用;“成本中心”和“利润中心”为虚体组织,注意“实体组织”栏不打勾;HR组织默认不维护;以上所有部门都设“行政组织”;建部门:建部门时只定义“行政组织”和“责任中心-成本中心”、“责任中心-利润中心”三个项目,“行政组织”属性中“组织单元类型”选为“部门”(在此就可以看到与公司组织单元架构的区别了),“责任中心-成本中心”属性中的“类型”根据单元属性选择;部门流水号建议用公司编码+部门编码(流水号,两位即可);建职位、职员、用户:职位编码用:公司编码+部门编码+流水号;注意要在各个部门下建设职位,即鼠标点部门图标后再点新增;各部门首次建的职位为本部门的“负责人职位”,此选项会自动打勾,本部再建人员的上级职位为本部门主管,注:各部门只有一个“负责人职位”选项可打勾;建职员时候选中该职员所属职位在点击新增进行,注:定义职员时“编码”不用填,为自动形成;EAS有两类用户:“管理员”和“普通用户”。
“管理员”负责维护管理单元、建立用户和设置权限,管理员不能做业务操作;“普通用户”可以维护组织单元、基础数据以及执行各项业务操作。
/new_detail.asp?newsid=67KIS专业版如何改变单据上面的数量列的小数位,把小数点的小数位变成两位?在物料属性中修改数量和单价的精度。
KIS专业版固定资产清理产生的变动是可以删除的KIS迷你版年节后新增凭证默认日期是1月1日,要先录入一张凭证,录入第二张就是当天的日期了。
K3删除初始化固定资产反初始化后,进入固定资产管理------业务处理----新增卡片,进入后会弹出个新增卡片的界面点取消后,刷新,初始化时候录入的卡片就可以看到了,做相应的修改删除就可以了。
K3数据导入导出开始所有程序金蝶K3 RISE K3工具K3工具包BOS平台BOS 数据交换平台登陆进去点基础资料新建任务下一步导入基础资料数据连接选择帐套KIS专业版V11.0安装完成后,在使用过程中经常自动弹出错误提示,kis back process 运行时错误‘-8880(ffffdd50)’:从字符串转换为datetime时发生语法错误请高人详细指点,如有相关补丁,请告知。
谢谢!控制面板中--短日期改为2011-04-29格式财务数据的备份是财务信息化管理工作中重要的一个环节,让我们立即进入金蝶系列财务数据备份专题:一、备份前的准备工作:数据的存放规划:内容版本建议路径(不是C 盘) 金蝶软件文件目录金蝶KIS D:\金蝶软件数据库文件目录金蝶KIS D:\金蝶账套数据库备份目录金蝶KIS E:\金蝶备份注意:1、金蝶KIS数据库文件的扩展名为.AIS;2、金蝶KIS软件默认安装路径在C盘,在安装时应事先调整。
3、金蝶KIS软件数据存放目录默认为金蝶KIS软件安装路径;在新建账套时建议单独设立专用文件夹。
4、新建账套名应为公司全称二、备份的最佳时机:1、月结备份:每月结账前作好备份,保存每月财务数据,同时避免在结账时出现错误。
2、年底备份:作为财务资料的年底归档保存,同时以防年结时出现错误可及时恢复。
3、特殊备份:当录入大量资料后,可不必等到下班或月底年底,因工作量大可及时备份,避免重复大量工作。
金蝶EAS BOS开发学习笔记一.环境准备先把需要用到的透视图和相应的视图打开,在后面的练习中需要用到。
导入eas包后的结构如上图所示。
BOS透视图下常用到的窗口如上图所示,这些必须打开。
项目属性配置如下图所示:下面是Java透视图中的配置。
EAS 项目的配置数据中心配置调试Config二.需要用到的热键CTRL+SHIFT+R 打开资源CTRL+SHIFT+T 打开类型三.制作第一个列表查询界面打开“金蝶BOS设计开发工具”透视图1.打开eas/metadata/com/kingdee/eas/demo 节点说明:app目录下一般存放实体、表、查询等元数据;Client目录下一般存放ui,即界面数据;其他公共对象,如枚举、异常等通常放在与app、client同级目录中。
2.在app文件夹下新建实体XueLi(学历),父实体选择com.kingdee.eas.framework.app.DataBase3.右击XueLi.entity,在弹出菜单中选择“实体导出表”,保留默认值,名称为T_DE_XueLi4.打开T_DE_XueLi.table,修改主键名称,避免因为重名导致建表错误5.右击T_DE_XueLi.table,选择“导出...”,在弹出窗口中选择“导出数据表”6.打开管理控制台,在“数据中心”选择使用的数据中心,再打开“数据库管理”,把生成的CreateTable.sql中的内容COPY进去,点击工具栏的“执行(F5)”,最后“提交”。
7.在app文件夹下新建查询XueLiQuery,实体选择XueLi.entity8.打开查询XueLiQuery,选择字段标签页,选择“导入”,将要查询的字段添加进来,并调整各字段顺序。
还应该在“其它”页中定义排序和主键字段。
9.在client文件夹下新建UI,父对象选择com.kingdee.eas.framework.client.ListUI(列表界面),BO对象选择XueLiQuery.query,其他用默认值即可。
金蝶EAS BOS开发学习笔记一.环境准备用需习的后,打视应和视的用需先把要到透图相的图开在面练中要到。
导入eas包后的结构如上图所示。
须打开些所口窗如上图示,这必的用下视BOS透图常到示:所下置性目项属配如图置。
配中视Java面下是透图的置配目EAS 项的数据中心配置Config 调试二.需要用到的热键CTRL+SHIFT+R 打开资源打CTRL+SHIFT+T 开类型制作第一个列表查询界面三.图透视开计发工具”打开“金蝶BOS设节点打开eas/metadata/com/kingdee/eas/demo 1.下目录据;Client体、表、查询等元数实app说明:目录下一般存放放常等通枚举、异常,据界面数;其他公共对象如即存一般放ui,中。
同client级目录在与app、择体选父XueLi(学历),实建件2.在app文夹下新实体com.kingdee.eas.framework.app.DataBase默留”表,保出体“选单出在XueLi.entity右3.击,弹菜中择实导T_DE_XueLi为称名,值认.表建名导致称名,避免因为重改打4.开T_DE_XueLi.table,修主键误错导择口中选“窗弹,...导择,击5.右T_DE_XueLi.table选“出”在出表数出据”开再打据中心,心”选择使用的数,6.打开管理控制台在“数据中,去容COPY 进的生成CreateTable.sql中的内库“数据管理”,把。
交”,最后“提“点击工具栏的执行(F5)”XueLi.entity 体选择新夹下建查询XueLiQuery,实文7.在app件询要查将导,标签页选择“入”,段择XueLiQuery,查打8.开询选字。
序顺段字各整调并,来进加添段字的.。
段键和排定页它“该还应在其”中义序主字9.在client文件夹下新建UI,父对象选择com.kingdee.eas.framework.client.ListUI(列表界面),BO对象选择XueLiQuery.query,其他用默认值即可。
种类 名称 说明 例子CombBox addItem 将枚举的值加入下拉列表选项 dataType.removeAllItems();dataType.addItem(DataTypeEnum.SUMDATA);dataType.addItem(DataTypeEnum.ELIMDATA);dataType.setSelectedItem(DataTypeEnum.SUMDATA); txtDataType.setText(DataTypeEnum.SUMDATA.getAlias());CombBox removeAllItems 删除下拉列表的所有选项 this.listOrgBound.removeAllItems();CombBox setModel 使用值对象集合给ComboBox控件赋值DefaultComboBoxModel model = newDefaultComboBoxModel();ICsAccountTable iAccountTable =CsAccountTableFactory.getRemoteInstance();CsAccountTableCollection tableInfos =iAccountTable.getCsAccountTableCollection();Iterator ter = tableInfos.iterator();while (ter.hasNext()){CsAccountTableInfo tableInfo = (CsAccountTableInfo) ter.next();model.addElement(tableInfo);}this.cbxMain.setModel(model);CombBox setSelectedItem 动态设置下拉列表选择项的值 this.listCurrency.getModel().setSelectedItem(currency1);ComboTreeDetailListUI buildTreeFilter 构造查询子节点(右表)数据的过滤条件,默认实现为在EntityViewInfo中添加一个getQueryFieldName()=treeNodeInfo的过滤条件,即查询对象的某个属性关联到Tree节点所代表的对象。
EAS集团财务学习总结基础数据与组织架构具体步骤:1、管理单元2、组织单元3、基础数据:会计期间、币别、汇率(汇率表)4、组织类型维护(行政组织、财务组织、成本中心)注:①其中财务组织维护时,一定要将是否为实体财务组织的选项选择正确,否则会影响后续工作,如客户的建立时,其中内部客户中需要选择,若此项出错,则无法选择到对应的内部客户)②这个步骤完成后,用administrator登陆,进行组织批量维护和批量授权5、职位管理——>员工注:对于其中特殊职能的员工,需要进行组织批量维护批量授权(业务组织、行政组织)6、基础数据:核算项目、科目(科目表)、客户、供应商、计量单位、物料、金融机构、银行账户总账具体步骤:1、财务会计→总账→基础设置:凭证类型(设置完后需要批量分配),现金流量项目(引入2007年新会计规则的现金流量项目),启用期间(系统平台→系统配置→系统状态控制),系统参数(启用总账往来业务等参数),凭证编码规则(编码规则→规则定义),科目自定义属性维护(总账→基础设置)。
2、初始化:科目初始余额录入;辅助账科目初始余额录入;往来账科目初始余额录入;现金流量初始余额录入。
注:①以上余额录入后,都应调节左上角为综合本位币,然后试算平衡,若平衡则全部结束初始化才能开始下一步操作。
②在录入辅助账初始余额时要注意,左上角辅助账的选项,若选择不正确则会导致下面选不到对应的会计科目。
③在录入辅助账初始余额时还要注意,在选择客户时会发现选不到客户,所以需要确认几点:客户是否分配、核准;客户的财务资料是否维护好。
(供应商,物料同理)④带有核算项目的科目就需要将对应的数据录入辅助账初始余额表中;应收票据、应收账款、应付票据、应付账款中对应的数据应录入往来账初始余额表中。
3、凭证处理:新增→暂存(此步就涉及到之前所设置的凭证编码规则中暂存规则的应用)→提交(此步就涉及到之前所设置的凭证编码规则中提交规则的应用)→复核(涉及到现金流就会有这一步骤)→审核→过账注:①在正常业务中,凭证的复核到审核是有不同工作人员在系统中通过各自不同的权限所完成的,练习中,我是通过禁用了工作流从而由同一账号完成所有步骤的。
BOS工具常见问题集功能点使用问题解答 (2)环境使用类问题解答 (3)事件类问题解答 (8)发布类问题解答 (8)部署类问题解答 ............................................................................................... 错误!未定义书签。
集成模块----单据转换问题 .. (13)集成模块——--权限问题 (14)集成模块—--—工作流问题 (15)集成模块—---预警平台问题 (57)集成模块-——-报表问题 (65)集成模块----组织架构 (65)代码应用问题 (68)升级参考步骤 (71)版本遗留缺陷 (74)一、功能点使用问题解答1、业务建模工具所定义的单据是怎么调整顺序的?在业务建模工具视图选中该单据,菜单【业务单元】→【录入顺序】用来调整编辑界面的输入顺序,也可以调整分录字段的显示顺序;菜单【业务单元】→【查询顺序】用来调整序时簿界面的显示顺序.2、目前字段修改能修改什么属性?业务建模工具里不能修改系统定义字段(可以切换到studio视图修改),只能修改自定义字段;如果想要修改系统定义字段的显示标题,可通过属性里的“标签文字”进行修改;在自定义字段未保存前,该字段所对应的所有属性都可以修改;在自定义字段保存后,该字段只能修改字段标题,出现需要修改字段除了别名以外的属性的问题,比较快速的变通处理方法是删掉此字段再重建。
3、BIM中建的枚举只有整型吗?可不可以定义其他类型的枚举?目前都默认为String类型处理4、在运行时,EditUI界面中点击复制并新增时,单据编号(已配置编码规则)同时也会复制过去,而不会产生新的单据编号,如何解决?请重载setFieldsNull()方法,然后把你不想复制的字段set一个null值在里面就可以了5、在我们开发单据中,每个单据都自定义了一个审核的字段(并没有使用框架的审核功能),每张单都需要用户手工审核操作的。
金蝶EAS BOS 开发学习笔记环境准备先把需要用到的透视图和相应的视图打开,在后面的练习中需要用 文件Q 編辑① 浏览理 搜索迅)项目(E)运行迟)窗口働 服务◎ 帮羽®戸”回色繆EJE) /也<V倉包幷类 虻\塁大纲 O口]〔日协调试 直鎌BOS 设… 聖斯如 牡资族baseJ w 曲 j i 虫 metadata SVTI •拶曲血H s a a由曲.w kiri 田田$卜a :p :卜S 曲t - 田 A信用View:, R FS nuj rce Nbs墙辑器JlVi编译蛊血畦輕Ja^dac ffcKSDldtioi^^iS e I H.S© Mio谐布左荚后息So I jfi o n^^ *S H斛冼方耒测区说苴项目弓峥运暫f调试RS更构厅罗导入eas包后的结构如上图所示◎控制皆[,V已终止、宗布TE^S : (2C1L-0戎、” ◎校验信息孑数折郭定n Jits=曰|-玖&J. BOS透视图下常用到的窗口如上图所示,这些必须打开项目属性配置如下图所示:Java构證聲轻3 il«U<s)| “项目专]魁岸柑]%悴库聃卑出◎ 槪2踊径中的妙件爭辿;j 凸tas/iTt妙色括:<±S)•带暢除:r馭w鑒奉机库用肓:彳叶〔无)□州干搐嗡±X收月杵涌克件凫D 吐背输岀文忡夹①:;aj r ck?5t;JA Q £>.5vn '&匚恂営寄 'L_'- clientH ® deploy"耳deployed.tTietas ::匚上«xportt*mp> 「&刖'7 metadata](zj? runtime》LJ &src('■ w?b也庭新立件夹理•”Java构建路径0 -3源代码⑸:迂T项BfP)] F库(L)丨切計呼和导出g—vti・rrrtin r—,・urrvti・ i—i ・nr^-s»构建踌径上所必需的项昌®:爵加C4选择齊立1半夹③:⑦| 确定][ 班消Java^SS®&i®代码(S) I 0攻目(P)| m 库街 玄排序和导出(Q) 齿逢踣径上的」AR 和类左件夹:凱国而US 廨涎S 葉]] > limiirr miir■»■■■ mm miamm■■■«»■■ irmiimamir 鼎访1可规则:投有走义现飓 謬本机库ES :[咔(无) :-mi db2jcc.jar - W;\«AServei \5crvciVib\dientAtrd 兰 ikeycom.jar - W;\e a ASe rve r\s erve r\ 1 i b\c 1 i e nrt\trd 凰 ^eruletjar - 41/:\e a s \Se ive r\se rver\l i b\cl i &nt\trd Dia exizeption.jar — WiXe^s^SeiverXserver^lib\client\trd 麵 ctrl-spreadapplicatidrtjar- W:\e3s\Server\se rver\l i b\c 1 i & -Ctrl *d ata-wizard .jar - W:\e a s\Se rv e r\s erve rM i b\c 11 e nt\b o : __!■>Ctrl -kingdee l^mj ar 一 W:\es A Ser/e r\?e ryer^lib\匚lient'bos 爲 Ctrl-Icdformjar - Wi\eas\Server\seiverMib\clienftbos frni -□叫 ctrl-report.jar - W:\ta?\$erver\?eiver\lib\c 1 ieritSboi (mis ■■^5 ctrl-extendcontrols ja r — W:\eas\ServeAsen/erMib\cl ierit\ >5 formuh-client.jar- W:\taj\Servtr\5tiver\lib\dicntYboj • h ctrl -etLjar — W:\e a s\Se rve r\se r/e r\l i b\cl i ent\b o 5 ctrl^Ibibench.jar « W:\eas\Server\s etveAl ib\cl ientXbos :.■品 Ctrl *-ana lysis.jar- W:\e a ;\Se rver\st rve r\l i b\d i tnt\b o i eio license-cliientjnir — a s\Se rve r\5eive r\hb\匚h 已门 "I 卜恭加学R” 渤[]夕卜制以RQS- 歸加發是 睡加摩固“, 蠡切买文件夹◎“ Add ExternaJ 口小 FQlder llh ggg^ Java 匚▼ O 册码⑸| e 项目(P)■库(0 %排序和塑0 构锂&轻上的」缨和菱文件夹:^B I M KO'KSSS']'! ■ 1Arei nirr mi IBL ■•■■mwiiri -Biiimiia■■ jiaamiursmu J ・URE 乗皤胆灯卫詆访问规则:没有走文规贝U 毬本机库位畳;口:(无) n [S 件血r 一 p ,遢 Jjse.jar - t>-A t>“; W;\B 0SM9dul«^dkL5\jre\l ib W:\BOSModulflr\jcik L5\jre\l ib jce.j^r — W:\D0SModwlar\jdkl.5\jrE\Jib chars ets jar — W:\9DSModu lar\jdkl.5\jre\|ib dnsns.pr - W:\B0SMadukr\jdkl.5\jre\lib\ext locale data Jar - W :\BOSModul^r\jdkl,5\jreSliL\ext 3unjce_provider.jar - W:\BO SMo du la r\j d k 1.5\jr e\l i b\ert ;unpkc;Ll.jar — W:\BO SMo du I a r\jd kl. 5 \j r eM i b Vext断s代丽莎["ST亦库和显丽i______________________________________ "■__________________________________________ ________________________________ I、pIHVH F^HV'!E UBI■■■UBI■ ■■ &■■.■ ■■■ Mi■■■um ■ ■■ ■;■■ ■ f构建类酩径的顺序"及导出的条目©; (导岀的孫貝湎加到風属顼目)a(^eas/src二BiiJRE 系筑璋[Jdkl.5]Z鼻汁IM亲蜒库[解决方聚]O+出〒。
使用EAS BOS过程中常见问题BOS工具常见问题集一、功能点使用问题解答2二、环境使用类问题解答3三、事件类问题解答8四、发布类问题解答8五、部署类问题解答12六、集成模块----单据转换问题13七、集成模块----权限问题14八、集成模块----工作流问题15九、工作流使用问题解答16I、工作流快速入门部分16II、工作流常见问题解答30III、现场常见流程配置31IV、现场常见问题解决方案38十、集成模块----预警平台问题65十一、集成模块----报表问题65十二、集成模块----组织架构66十三、代码应用问题68十四、升级参考步骤71十五、版本遗留缺陷74一、功能点使用问题解答1、业务建模工具所定义的单据是怎么调整顺序的,在业务建模工具视图选中该单据,菜单【业务单元】,【录入顺序】用来调整编辑界面的输入顺序,也可以调整分录字段的显示顺序;菜单【业务单元】,【查询顺序】用来调整序时簿界面的显示顺序。
2、目前字段修改能修改什么属性,业务建模工具里不能修改系统定义字段(可以切换到studio视图修改),只能修改自定义字段;如果想要修改系统定义字段的显示标题,可通过属性里的“标签文字”进行修改; 在自定义字段未保存前,该字段所对应的所有属性都可以修改;在自定义字段保存后,该字段只能修改字段标题,出现需要修改字段除了别名以外的属性的问题,比较快速的变通处理方法是删掉此字段再重建。
3、,,,中建的枚举只有整型吗,可不可以定义其他类型的枚举,目前都默认为String类型处理4、在运行时,EditUI界面中点击复制并新增时,单据编号(已配置编码规则)同时也会复制过去,而不会产生新的单据编号,如何解决,请重载setFieldsNull()方法,然后把你不想复制的字段set一个null值在里面就可以了5、在我们开发单据中,每个单据都自定义了一个审核的字段(并没有使用框架的审核功能),每张单都需要用户手工审核操作的。
金蝶EAS BOS工作流开发1. 流程配置基本知识及示例1.1. 重要概念1.1.1.流程变量流程变量是工作流引擎和业务系统的数据交互的桥梁。
工作流承载业务,驱动业务流程,但是不会执行业务。
工作流中的业务执行,全部都会委托给具体的业务模块执行。
那么,这些被工作流分割的业务功能,在工作流中被调用执行的时候,如何保证做操作的数据的一致性?通过流程变量,在每一步的业务功能执行的过程中,将业务数据保存在流程变量中,那么整个流程的后续活动中,都可以引用该流程变量,来完成业务功能,保证业务数据的一致性。
例如:在凭证的审批流程中,新增凭证审批,审批的时候为什么可以正确定为到刚刚提交的那张凭证,而不是别的凭证?流程变量起到了重要的作用。
在凭证新增之后,将可唯一标示凭证的ID保存到流程变量中,在审批的时候将流程变量中的值传递给凭证,就可以根据这个ID获取到一张凭证了。
流程变量在流程实例的生命周期内都是有效的。
1.1.2.任务输入输出任务输入:在业务发生之前,有工作流传递给业务的数据。
以凭证的过账为例,某个用户收到一条凭证过账的消息,双击消息处理。
在双击之后、凭证的界面弹出之前,工作流会把定义的入口参数变量中的值传递给凭证,凭证根据这个值来展现特定的单据,展现特定的功能。
任务输出:在业务发生之后,由业务系统传递给工作流,需要保存在流程变量中的数据。
仍以凭证过账为例,在用户操作完凭证过账之后,工作流继续流转之前,如果流程定义中定义了任务的输出,那么,就会将凭证对应的属性的数据,保存在流程变量中。
已备在后续的流程活动中使用。
1.2. 注意事项l 绘画工作流图之前一定要先将业务流整理清楚,分析业务流的特性,提取可以抽象出来公用的东西,分析是否可以进行优化等,好的业务流程可以直接映射为工作流流程。
l 利用“流程变量”的威力,建立单据和流程之间数据交换的桥梁。
输入输出参数用来在流程和单据之间进行数据的传递。
输入输出参数和流程变量搭建了流程和单据之间的数据联系通道。
金蝶EAS_BOS工作笔记1. 发布元数据没看到代码,可能有以下原因:1。
发布方案路径(src,deploy,metadate)不对 2. eas 5.4 更新数据中心报文件找不到错误:到项目目录下的runtime 下config 下的 datasources.xml 删除版本检查代码---第二段代码3. 在eclipse中加入反编译插件,1。
jad.exe 加入到C:\\WINDOWS\\system322. jadclipse_3.1.0.jar 加入到E:\\kingdeeEAS\\eas\\bos\\BOSModular\\platform\\eclipse\\plugins 4. 继承ListUI 的界面,必须有个id字段5. 加载onLoad方法出错,有可能是onLoad()方法,调用其他方法里面有错误代码6. Invalid column name : 1. rowSet.getString(“xxx”); xxx不是有效的列名2. 还有就是table的列名无效7. 应用服务配置不正确:可能是:1.启动的服务器与运行的项目方案不一致2.数据库服务没有启动 3.数据中心没有设置正确8. BOS 中实体Entity 的ID 是通过oracle的Functions 功能实现ID自动变化,通过entity_pkmapping.properties 这个找到每个实体的对应BOSTYPE的值。
9. 使用BOS 界面,弹出‘客户端配置错误,找不到第三方类’,可能是:1.客户端代码有错误;2.类不存在10. 在单据里,得到各分录的记录:1.通过界面得到:ProposalDefinedInfo pdInfo ; //单据Info pdInfo.ProposalDefinedEntry1Collection();//返回ProposalDefinedEntry1Collection集合pdInfo. ProposalDefinedEntry2Collection();//返回ProposalDefinedEntry2Collection集合2.通过实体关系得到:this.kdtEntry1 //得到kdtEntry1 这个表格的对象 this.kdtEntry2 //得到kdtEntry2 这个表格的对象 this.kdtEntry3 //得到kdtEntry3 这个表格的对象 11. 你想引用某个界面上所有功能: 1. 可以通过继承这个界面2. 可以通过复制这个界面,再反编译实现类12. 如果你得到一个实体的Info对象,再取到实体各字段的值 1. Info.getString(“这里写字段的名称”);2. Info.get()方法――得到各属性的值13.发布BIM 或者是 BOS下的文件之前,最好是先校验下,如果校验不通过,那么发布肯定过不了。
1. 发布元数据没看到代码,可能有以下原因:1。
发布方案路径(src,deploy,metadate)不对2. eas 5.4 更新数据中心报文件找不到错误:到项目目录下的runtime 下config 下的datasources.xml 删除版本检查代码---第二段代码3. 在eclipse中加入反编译插件,1。
jad.exe 加入到C:\WINDOWS\system322. jadclipse_3.1.0.jar 加入到E:\kingdeeEAS\eas\bos\BOSModular\platform\eclipse\plugins4. 继承ListUI的界面,必须有个id字段5. 加载onLoad方法出错,有可能是onLoad()方法,调用其他方法里面有错误代码6. Invalid column name : 1. rowSet.getString(“xxx”); xxx不是有效的列名2. 还有就是table的列名无效7. 应用服务配置不正确:可能是:1.启动的服务器与运行的项目方案不一致2.数据库服务没有启动3.数据中心没有设置正确8. BOS 中实体Entity 的ID 是通过oracle的Functions 功能实现ID自动变化,通过entity_pkmapping.properties 这个找到每个实体的对应BOSTYPE的值。
9. 使用BOS界面,弹出‘客户端配置错误,找不到第三方类’,可能是:1.客户端代码有错误;2.类不存在10. 在单据里,得到各分录的记录:1.通过界面得到:ProposalDefinedInfo pdInfo ; //单据InfopdInfo.ProposalDefinedEntry1Collection();//返回ProposalDefinedEntry1Collection集合pdInfo.ProposalDefinedEntry2Collection();//返回ProposalDefinedEntry2Collection集合2.通过实体关系得到:this.kdtEntry1 //得到kdtEntry1 这个表格的对象this.kdtEntry2 //得到kdtEntry2 这个表格的对象this.kdtEntry3 //得到kdtEntry3 这个表格的对象11. 你想引用某个界面上所有功能:1. 可以通过继承这个界面2. 可以通过复制这个界面,再反编译实现类12. 如果你得到一个实体的Info对象,再取到实体各字段的值1. Info.getString(“这里写字段的名称”);2. Info.get()方法——得到各属性的值13.发布BIM 或者是 BOS下的文件之前,最好是先校验下,如果校验不通过,那么发布肯定过不了。
14.BIM 发布不成功,有可能是:1. 元数据缓存空间,有脏数据,清理下2. 数据中心不对3. 数据库服务器没启动4.源代码有错误15. 当功能运行结果跟你想象中有不一致的地方,但是你的操作认为没有什么问题,这种情况可以是服务器读取文件没有更新:解决方法有:1. 你需要涮新下源文件src2. 重新启动服务器16. 得到记录集合的方式:1. 通过实体工厂(xxxEntryFactory)2. 通过查询(xxxQuery)以下是具体实现代码:1. 通过实体工厂(xxxEntryFactory)EntityViewInfo avevi = new EntityViewInfo();FilterInfo avfilter = new FilterInfo();avfilter.getFilterItems().add(new FilterItemInfo("id",accountId));avevi.setFilter(avfilter);AccountViewCollection myavc = AccountViewFactory.getRemoteInstance().getAccountViewCollection(avevi);2. 通过查询(xxxQuery)IQueryExecutor iqec = QueryExecutorFactory.getRemoteInstance(new MetaDataPK("com.kingdee.eas.custom.proposal.app", "AsstActTypeQuery"));i qec.option().isAutoIgnoreZero = false;i qec.option().isAutoTranslateBoolean = true;i qec.option().isAutoTranslateEnum = true;E ntityViewInfo vv = new EntityViewInfo();F ilterInfo ff = new FilterInfo();f f.getFilterItems().add(newFilterItemInfo("name",row.getCell("accoutView").getValue().toString()));v v.setFilter(ff);i qec.setObjectView(vv);I RowSet rowSet = iqec.executeQuery();w hile (rowSet.next()) {}3. 通过执行sql语句FDCSQLBuilder builder = new FDCSQLBuilder();builder.appendSql("select sum(famount) as amount from T_CON_GuerdonBill where fcontractid =? AND fstate = ? AND fisGuerdoned = 1");builder.addParam(contractId);builder.addParam("4AUDITTED");IRowSet rowSet = builder.executeQuery();if(rowSet.size() == 1){rowSet.next();guerdonAmt = FDCHelper.toBigDecimal(rowSet.getBigDecimal("amount"));}builder.clear();17. 删除界面中的字段要注意:1.如果这个字段是在BIM下新建的,就要在BIM下去删除如果这个字段是在BOS下新建的,就要在BOS下去删除18.自定义F7实现步骤:1. 在BOS界面,先拖入kDLabelContainer,再拖入一个F7:kDBizPromptBox调整F7大小:boundLabelLength:1002. 在F7控件绑定query 在F7属性里queryInfo com.kingdee.eas.custom.proposal.app.AsstActTypeQuery3. 建立一个BOS界面实体与F7 的实体关系RelationShipsAssociation com.kingdee.eas.custom.nj.app.R_F7_AsstType_FA1 --------0..14.在BOS界面实体,加入一个连接属性:projectPlace,并选好对应关系并在BOS界面实体对应表中加入F7实体ID,到相应表加入UI控件对应的字段,4.1到BOS界面,对F7字段进行数据绑定5. 在query里,增加关联的子对象,并将属性导入到query里去,然后发布6. 将实体绑定到F77. 发布UI18.1 制作自定义辅助核算项目F7select * from T_BD_GeneralAsstActType t wheret.fgroupid='iXhSqAEUEADgAWe2wKgA0gXSzQw='select * from T_BD_GeneralAsstActTypeGroup19. 弹出界面,并把值传到界面去UIContext uiContext = new UIContext(this);uiContext.put("ID", getSelectedKeyValue());UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null, OprtState.VIEW).show();20. 得到表格table的选中行的值:getSelectedKeyValue();21. 如果你要在某列弹出某个单据query的信息,并把选中记录中的某个字段保存到数据库,并显示出来,出现内码问题?1.你所指定的保存格式不存在2.就是你指定的number,name值为空22. 界面UI弹出自定义过滤界面:1.protected CommonQueryDialog initCommonQueryDialog(){if(commonQueryDialog != null){return commonQueryDialog;} else{commonQueryDialog = super.initCommonQueryDialog();commonQueryDialog.setWidth(400);commonQueryDialog.addUserPanel(new ContractFullFilterUI(this, actionOnLoad));return commonQueryDialog;}}23. 得到外键属性的值:1. 通过主实体得到得到该外键属性的id,如:entryInfo.get外键()对象(这个对象只有id);先得到外键对象id,通过id得到外键对象2. 得到外键对象,那么就可以得到外键实体的任何属性值24. 初始化;界面public void initUIToolBarLayout(){super.initUIToolBarLayout();kDBtnVoucher.setIcon(EASResource.getIcon("imgTbtn_auditing"));}25. 点击‘table’时,提示‘你没有选中行’或者‘行的颜色没有变化’可能: 1.table里没有id字段2.tblMain.checkParsed(true);这段代码没写26.出了有关系统‘代码底层的错误’,请检查自己的代码;27.设置单元格Cell数字格式,对齐格式:table.getColumn(columnName).getStyleAttributes().setNumberFormat("#,##0.00;-#,##0.0 0");table.getColumn(columnName).getStyleAttributes().setHorizontalAlign(com.kingdee.bos .ctrl.kdf.util.style.Styles.HorizontalAlignment.RIGHT);28.设置table可排序tblMain.getSortMange().setSortAuto(true);29.设置按钮图标:kDWBtnRefresh.setIcon(EASResource.getIcon("imgTbtn_refresh"));30.按钮绑定Action时,按钮变灰,把Action的使能属性变成true就行;31.多条件查询:1.多条件合并查询:EntityViewInfo view = new EntityViewInfo();FilterInfo filter = new FilterInfo();filter.getFilterItems().add(new FilterItemInfo("state", "4AUDITTED"));filter.getFilterItems().add(new FilterItemInfo("state", "8VISA"));filter.getFilterItems().add(new FilterItemInfo("state", "7ANNOUNCE"));view.setFilter(filter);2.多条件或查询:EntityViewInfo view = new EntityViewInfo();FilterInfo filter = new FilterInfo();filter.getFilterItems().add(new FilterItemInfo("contractBill.id",contractId));filter.getFilterItems().add(new FilterItemInfo("state", "4AUDITTED"));filter.getFilterItems().add(new FilterItemInfo("state", "8VISA"));filter.getFilterItems().add(new FilterItemInfo("state", "7ANNOUNCE"));filter.setMaskString("#0 and (#1 or #2 or #3)");view.setFilter(filter);32.过滤查询排序:EntityViewInfo evi = new EntityViewInfo();FilterInfo filterInfo = new FilterInfo(); //建立过滤条件if(idSet!=null && idSet.size()>0)f ilterInfo.getFilterItems().add(newFilterItemInfo("id",idSet,CompareType.INCLUDE));SorterItemCollection siColl = evi.getSorter();siColl.add(new SorterItemInfo("longNumber")); //需要排序的字段SorterItemInfo siInfo= siColl.get(0); //第一个需要排序的字段siInfo.setSortType(SortType.ASCEND); //需要排序的字段升序evi.setFilter(filterInfo);33.设置默认第一行被选中:protected void selectFirstRow() {if(!isSelectForTable()&&tblPaymentBill.getRow(0)!=null&& tblMain.getRow(0) != null) {tblPaymentBill.getSelectManager().select(0, 0);tblMain.getSelectManager().select(0, 0);}}34. 慎重使用---在循环里去比较数值,这种情况尽量用过滤35. 发布后,找不到代码,检查下发布路径36. 用代码生成ID:BOSUuid.create(menuItemInfo.getBOSType())37. BigDecimal的加,减,乘,除加:addPayment = addPayment.add(paymentInfo.getLocalAmt());减:addPayment = addPayment.subtract(paymentInfo.getLocalAmt());乘:addPayment = addPayment.multiply(paymentInfo.getLocalAmt());除:addPayment = addPayment.divide(paymentInfo.getLocalAmt(),int);BigDecimal数据取整数:intValue();BigDecimal数据比较,取大数据:max();38. BigDecimal的初始化:BigDecimal addPayment = new BigDecimal(String.valueOf(0.00));39.在子界面获取传递下来的数据private void loadContext(){int mode = ((Integer)this.getUIContext().get("EASMode")).intValue();AccountTableInfo accountTableInfo = (AccountTableInfo) this.getUIContext().get("table");CtrlUnitInfo cuInfo = (CtrlUnitInfo) this.getUIContext().get("cu");AsstAccountInfo asstAccountInfo = (AsstAccountInfo) this.getUIContext().get("auxAccount");AuxAccountEditUI ui = (AuxAccountEditUI) this.getUIContext().get("Owner");}40.初始化按钮属性(图标,标题,可见):重写方法initWorkButton(){super.initWorkButton();actionCashflow.setEnabled(true);btnRemove.setEnabled(true);setButtonDefaultStyl(btnQuery);btnQuery.setIcon(EASResource.getIcon("imgTbtn_filter"));setButtonDefaultStyl(btnAttachment);btnSubmit.setIcon(EASResource.getIcon("imgTbtn_submit"));setButtonDefaultStyl(btnSubmit);}41.隐藏列:tblMain.getColumn("entries.originalAmount").getStyleAttributes().setHided(true);42.冻结表:tblMain.getStyleAttributes().setLocked(true);43.tblMain.getDataRequestManager().setDataRequestMode(1);tblMain.getSelectManager().setSelectMode(10);、44.对界面输入的字段进行校验:调用方法:verifyInput(ActionEvent e){VerifyInputUtil.verifyNull(this, txttitle, "主题"); //判断是否为空if (finAuditorMap == null || finAuditorMap.size() == 0) {MsgBox.showError(this, "请选择至少一位财务审批人!");SysUtil.abort();}}对界面分录输入的字段进行校验:for (int i = 0, size = this.kdtEntrys.getRowCount(); i < size; i++) {VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i,"sellApplyBillEntry");VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, "oldAmount");VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, "currency");VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, "exRate");VerifyInputUtil.verifyKDTCellNull(this, kdtEntrys, i, "amount");}45.得到当前用户iduserId = ((UserInfo)SysContext.getSysContext().getCurrentUser()).getId().toString();46./**校验表格是否被选中行**/p ublic void isSelectRow(KDTable table){if(table.getRowCount() == 0 || table.getSelectManager().size() == 0) {MsgBox.showWarning(this,EASResource.getString("com.kingdee.eas.framework.FrameWorkResource.Msg_MustSelected"));SysUtil.abort();}}47. 模块菜单图标——imgm* 按钮图标——imgTbtn*49. KDLabel kDStartupImage;设置图片javax.swing.Icon bg = EASResource.getIcon("imgGuide_pic338");kDStartupImage.setIcon(bg);50.一般控件放在Panel里就可以了,向导式数据录入,可以通过控制Panel的显示达到51. 在表格的某列放置一个checkbox:iRow.getCell("choose").setValue(Boolean.FALSE);51. 窗口关闭:getUIWindow().close();52. 获取当前活动的行的行号:int currRow = tblMain.getSelectManager().getActiveRowIndex();53. 新增分绿的图标:imgTbtn_addline,删除分录的图标:imgTbtn_deleteline54. 删除行(包括多行删除):int activeIndex[] = KDTableUtil.getSelectedRows(kDTable1);if(activeIndex.length > 0){for(int i = activeIndex.length; i > 0; i--)kDTable1.removeRow(activeIndex[i - 1]);} else{int lastRowIndex = kDTable1.getRowCount() - 1;kDTable1.removeRow(lastRowIndex);}55. 表格列设置成F7弹出可选模式:KDBizPromptBox prmtBox = new KDBizPromptBox();prmtBox.setQueryInfo("com.kingdee.eas.ma.budget.BgElementQuery");prmtBox.setDisplayFormat("name");prmtBox.setEditFormat("number");prmtBox.setCommitFormat("number");EntityViewInfo contractEVInfo = new EntityViewInfo();FilterInfo contractFilter = new FilterInfo();contractFilter.getFilterItems().add(newFilterItemInfo("",getCurrentCompany()));contractEVInfo.setFilter(contractFilter);prmtBox.setEntityViewInfo(contractEVInfo);kDTable1.getColumn("bgelement").setEditor(new KDTDefaultCellEditor(prmtBox));56. 表格列设置成下拉可选模式:KDComboBox combox = new KDComboBox();for(Iteratoriter = ValueTypeEnum.iterator();iter.hasNext();combox.addItem(iter.next()));kDTable1.getColumn("getDataType").setEditor(newKDTDefaultCellEditor(combox));57.弹出模式:1. 弹出一个新界面:UIFactoryName.Model2. 弹出一个页签界面:UIFactoryName.NEWTAB3. 弹出一个页签界面关闭上一个界面:UIFactoryName.FixTAB58. 如何指定选择模式table.getSelectManager().setSelectMode(KDTSelectManager.CELL_SELECT);59. 获取所选中的行数:Int selectCount = tblMain.getSelectManager().size();60. 获取所选中的多行的各行的行号:int[] selectRows = KDTableUtil.getSelectedRows(tblMain);61. 获取树节点对象selectedPathObject = getSelectedTreeNode().getUserObjectPath();62. 新增需要查询的属性SelectorItemCollection sic = new SelectorItemCollection();s ic.add(new SelectorItemInfo("description"));s ic.add(new SelectorItemInfo("number"));s ic.add(new SelectorItemInfo("contractProCost"));s ic = evi.getSelector();62. portal1.设置可信站点2. 下载kdjdk1.63. 下载kdtool.cad4.设置自定义级别5. Internet选项——常规——设置——查看对象中删除kingdee 文件63. 多值过滤,通过集合setHashSet set = new HashSet();OrgStructureInfo company;for(Iterator iter = list.iterator(); iter.hasNext();set.add(company.getUnit().getId().toString()))company = (OrgStructureInfo)iter.next();if(set.size() > 0)filter.getFilterItems().add(new FilterItemInfo("orgUnit.id", set,CompareType.INCLUDE));64. 工作流5.4 5.3版本的BOS工具在EAS安装了一些补丁之后,出现工作流不能连接,提示服务器无法连接,服务器不能启动的原因与EAS服务器所使用的BOS .jar包和BOS设计工具中使用的 .jar包不一致有关系可以使用下面的步骤来手工同步把eas服务器安装路径下的几个jar包复制到bos工具安装目录的对应的几个文件下面例如eas服务器安装在 f:\kingdeebos工具安装在 d:\easbos\从 F:\Kingdee\eas\server\lib\common\bos复制common.jar metadata.jar ormrpc.jar workflowcommon.jar bosframework.jar 到 D:\EASBOS\eas\bos\BOSModular\boscommon\eclipse\plugins注意在bos里面这几个文件都有单独的文件夹来存放如mon_5.4.0,com.kingdee.bos.ormrpc_5.4.0,....不能只把几个jar文件都复制到bos工具的plugin文件夹需要逐个文件替换具体如下F:\Kingdee\eas\server\lib\common\bos\ormrpc.jar替换D:\EASBOS\eas\bos\BOSModular\boscommon\eclipse\plugins\com.kingdee.bos.ormrpc_5 .4.0\ormrpc.jar其他依此类推共3个文件(workflowcommon.jar 的位置在D:\EASBOS\eas\bos\BOSModular\wfdesigner\eclipse\plugins\com.kingdee.bos.workflo wcommon_5.4.0bosframework.jar的位置在D:\EASBOS\eas\bos\BOSModular\bosruntime\eclipse\plugins\com.kingdee.bos.bosfram ework_5.4.0这两个的位置与其他3个不同)另外5.4版本的BOS工具不能使用其内置的服务器(5.3版本可以这样使用),必须连接EAS 服务器,所以EAS服务器必须启动,连接的时候直接填写EAS服务器的IP地址即可还要注意EAS服务器在打了补丁之后BOS工具也需要单独打补丁方法是在BOS工具里面的帮助菜单里面的"更新BOSIDE补丁",然后选择对应的补丁ZIP包就可以了例如PTM12603.ZIP最后运行一下D:\EASBOS\eas\bos\BOSModular\clear_bosmodular_env.batBOS 工作流设计过程中出现异常错误信息可以先按照这个步骤来检查65. 工作流登陆,提示jar不存在将E:\EAS54_BOS\eas\bos\BOSModular\540initflow\eas540_initial.jar包添加66. KDSpinner 数字微调器获取值方法:Integer accountLevel = (Integer)spnAccountLevel.getValue();Calendar calendar = GregorianCalendar.getInstance();calendar.setTimeInMillis(System.currentTimeMillis());int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH)+1;SpinnerNumberModel yearLevelModel = new SpinnerNumberModel(1, 1,2100, 1);spnYear.setModel(yearLevelModel);spnYear.setValue(new Integer(year));67. KDComboBox 下拉选框获取值方法:Object objectCurrency = cmbCurrency.getSelectedItem();CurrencyInfo currencyInfo = (CurrencyInfo)cmbCurrency.getSelectedItem();customCondition.setCurrencyID(currencyInfo.getId().toString());customCondition.setCurrencyName(currencyInfo.getName());68. 命名规范KDCheckBox chk****KDLabel lbl****KDLabelContainer lblc****KDSpinner spn****KDComboBox cmb****KDBizPromptBox prmt****KDButton btn****KDTextField txt*****KDRadioBox rb*****kDWorkButton wbtn****69. 1. /update eclipse 中加入svn插件2. 安装svn 和 TortoiseSVN3. 然后把 SVNService.exe 复制到 svn 安装路径下的bin目录下去4. 创建文件仓库:svnadmin create D:\SVNStore5. 启动服务器:SVNService -install -d -r d:\ SVNStore修改服务器目录:SVNService -setup -d -r c:\otherplace\ SVNStore删除服务器目录:SVNService - remove -d -r d:\ SVNStore6. SVNStore\conf:文件仓库的conf下配置文件修改:Authz:[groups]project = wp,dy,sg,wy,xsq[SVNStore:/]@project = rw* = r[njnf:/]@project = rw* = r[/]@project = rw# * = r70. 表格列值的加减乘除UIRuleUtil.getBigDecimalValue(table.getCell(i-1,1).getValue())-UIRuleUtil.getBi gDecimalValue(table.getCell(i-2,1).getValue())71.部署问题1. q:部署后,登陆服务器,报‘登陆应用服务器失败’。