![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
EAS BOS
giianhui
航运物流软件研发
基于金蝶BOS的ERP软件二次开发
展开
-
kingdee bos常用方法(自己用)
下面的记录只对自己有用(以作备用)。/*********查询*******************************************************/ EntityViewInfo evi = new EntityViewInfo(); FilterInfo filterInfo = new FilterInfo(); // 建立过滤条件 filterInfo.ge原创 2010-03-11 18:39:00 · 7830 阅读 · 1 评论 -
更改金蝶相关图标
<br />客户端logo替换方法:<br />1、用rar打开文件<br />server/deploy/fileserver.ear/easWebClient/classloader/patch/exetools.jar,直接把需要替换的对应图片替换如下图片(拖入即可)<br />exetools.jar/com/kingdee/eas/exetools/pic_login_update*.png<br />2、更改登陆界面左上角金蝶EAS标志:(安装目录下)<br />D:/Kingdee/eas/c原创 2010-11-13 10:39:00 · 5138 阅读 · 1 评论 -
KDTable常用处理代码
<br />转自http://121.32.28.234:8800/kdwiki/index.php?edition-view-36-4.html<br />如何使得KDTable支持多行文本的显示:<br />只需要给KDTable的列设置一个多行显示的属性即可。设置的方法: <br />col.getStyleAttributes().setWrapText(true); <br /><br />如何设置KDTable向下键自动新增行<br />KDTableHelper里面的方法 <br />1. /原创 2010-11-13 10:43:00 · 2470 阅读 · 0 评论 -
kdtable 树形结构
/*** output package name*/package com.kingdee.eas.fdc.aimcost.client;import java.awt.Color;import java.io.ByteArrayInputStream;import java.math.BigDecimal;import java.math.RoundingMode;import转载 2012-06-08 17:22:53 · 2846 阅读 · 0 评论 -
BOS中如何扩展标准产品的功能
如何扩展标准产品的功能:1. 服务端controllerbean扩展方式:服务端需要进行标准产品的扩展需要修改两处内容:在实体上增加扩展属性并重新发布、新增扩展类并从controlbean实现类继承。a. 修改实体或façade需要在实体或façade的元数据中手工添加如下部分内容,添加完成后需要发布此实体元数据 com.kingdee.eas.scm.sm.原创 2012-06-10 20:43:25 · 2005 阅读 · 0 评论 -
EAS-BOS 应用框架编程指南
1. 业务对象层 应用框架在业务对象层建立了一些典型业务对象,可用做设计人员建立自己的业务对象的超类。这些用 做超类的业务对象,既定义了对象属性,也提供了业务方法。例如,层次数据的超类 TreeBase 在数据保存时 会自动维护 level、isLeaf 和 longNumber 的正确性。 1.1. 类体系 类体系 CoreBase |- ObjectBase |- DataBase |-转载 2012-06-16 22:34:30 · 5220 阅读 · 0 评论 -
后台事务自动跳转工作流节点
在facade增加方法jumpWF4PaymentOrder,然后在后台事务定义增加.示例:流程名称为 付款单HTH 有个时间等待节点,该节点执行日期为9999年12月12日(意思是让流程永远停留在时间等待节点),当发现外部环境变化,需要跳转到时间等待节点的下一个节点时,采用如下代码----- /** * 跳转 */ protected v转载 2012-06-16 23:37:44 · 1673 阅读 · 0 评论 -
通过BOS新建的UI,挂到EAS菜单中打开报错
问题描述:通过BOS新建的UI,如果是继承自:com.kingdee.eas.framework.client.BillEditUI。关联到菜单后,从客户端的菜单中打开时报错。解决方法:1、客户化菜单编辑界面中,必录将“界面状态”设置为:ADDNEW2、UI的实现类中,必须重写父类getBizInterface() 方法。如下:protected ICoreBase getBi转载 2012-06-16 23:47:02 · 1662 阅读 · 0 评论 -
如果在单据上查或下查的“单据关联”界面添加功能
问题:有时候需要在单据上查或下查出来的“单据关联”界面添加一下通用的功通,以方便用户的操作,提搞系统效率。实现方法:1、找到以下UI元数据:com.kingdee.eas.base.btp.client.BTPRelationNavUI 加上面添加按钮和相关的action。发布此元数据。2、实现BTPRelationNavUICTEx类。并重写相关的Action方法。(以上示例代转载 2012-06-17 15:37:37 · 2307 阅读 · 0 评论 -
BOTP生成模式——单据级生成和分录级生成
在ListUI上,选中单据BOTP生成目标单可以有两种生成模式:场景描述:ListUI上有一张单据(三行分录),ListUI会将此单据显示成三行。1.单据级生成。用户选中这张单的任意一行,点“关联生成”,系统将整张单(3行分录)生成目标单;2.分录级生成。系统只按选中的分录生成目标单;对应以上两种生成模式,可以在ListUI的“关联生成”事件里写相应的代码实现,具体如下:转载 2012-06-17 15:44:42 · 1739 阅读 · 0 评论 -
怎么添加系统页签,怎么实现客户登录的时候运行代码逻辑
有的时候我们想添加例如功能菜单或者消息中心这样的系统页签,或者是想在用户登录的时候去运行某些逻辑,框架为我们提供配置文件;eas\server\deploy\fileserver.ear\easWebClient\deploy\client\config.xml配置文件里面有对每一下配置提供比较详细的说明。附件EAS60的config.xml<!--key的格式为"AA转载 2012-06-17 15:51:13 · 1490 阅读 · 1 评论 -
EAS 非windows到windows环境迁移过程
EAS Server 非windows到windows环境迁移过程:第一步:将非windows环境(通常是AIX、Linux或Solaris)下的EAS服务停止,并将EAS安装目录tar成一个包,命令:tar -cvf 文件名.tar EAS安装目录名 (使用tar包,一容量较少减少网络传输时间,二减少异构系统之间文件转换造成内容丢失风险,更安全)第二步:将ta转载 2012-06-17 15:52:24 · 1434 阅读 · 0 评论 -
Bos启动测试,服务端就绪,客户端不会启动
Bos导入解决方案后,启动测试时,服务端就绪,可是客户端不会出来。如下图 请查看E:\workspace\BTEHotel\runtime\apusic\config\server.xml文件中的配置是否正常。比文件是配置示例如下: 请根据具体的情况修改其中的3个路径。转载 2012-06-17 15:53:36 · 3147 阅读 · 0 评论 -
UI (CTEx 、PIEx)扩展方法分析
总部给我们提供一个可以扩展ui类的方法,就是我们可以建一个后缀为CTEx或者PIEx的类,继承原来的UI类,扩展就会自动先运行我们的扩展类,从而达到功能扩展的目的,下面对该方法进行一个代码分析:我们在框架里面是通过UIFactory.create来生成IUIWindow 接口的实现,所以我们直接跟踪到一个具体的UIFactory里面去,例如:UIModelDialogFactory 我转载 2012-06-17 15:54:56 · 2629 阅读 · 1 评论 -
在EditUI类里面刷新单据数据
在EditUI类里面刷新单据数据:/** * 重新刷新数据 * */ public void refreshSelf() { try { ObjectUuidPK pk = new ObjectUuidPK(editData.getId()); IObjectValue objValue = getValue(pk); setDataObject(o原创 2012-06-17 15:59:11 · 1246 阅读 · 0 评论 -
收付款单提交时分录自动清空
问题:标准产品收付款单加字段后,提交时分录自动清空。必须在EditUI增加以下代码方能解决:public void storeFields() { // TODO Auto-generated method stub super.storeFields(); for(int i = editData.getEntries().size() - 1; i >= 0原创 2012-06-17 16:00:15 · 1167 阅读 · 1 评论 -
server服务端一启动,就一直处于“获取EAS服务器列表”状态
server服务端一启动,就一直处于“获取EAS服务器列表”状态错误状态 解决方法:删掉文件:eas安装目录\admin\config\domain.xmlps:删除时候,请注意备份此文件。原创 2012-06-17 16:00:57 · 2116 阅读 · 0 评论 -
EAS-BOS解决方案路径变更的方法
拷贝工作区的时候,会出现目录变更,在发布项目是,会出现启动ear失败情况,如下错误: [apusic.service.J2EEDeployer] 启动应用 'eas.ear' 失败。com.apusic.deploy.runtime.InvalidModuleException: 模块文件 'D:\zgh\Project\gz\eTianxia\workspace\EWorld\runti原创 2012-06-17 16:02:32 · 3099 阅读 · 0 评论 -
客户端调用服务器端代码的方式(非entity、facade方式)
实EAS中开发中,在client端调用server端代码是再平常不过的事,比如我们要更新数据,或者进行数据库查询等~~方法大家也都知道,利用entity或是facade发布生成的 XXXXFactory 或是 XXXXFacadeFactory 去调用。。 但是,不知道大家有没有发现,无论哪种方式,都是在一个前提下才能调用:User已经login了,就是用户已经登陆了。那么没有登录之前,转载 2012-06-16 21:37:12 · 1502 阅读 · 0 评论 -
没有实体的单据界面如何控制查看权限
问题:在有些业务场情下,我们需要做一个UI,不绑定任何实体。然后在UI上开发一些特定的功能。那如何控制这个UI的查看权限呢?解决方法:1、我们需要为这个UI单独定义一个权限项。权限项的路径自己定。2、需要为这个权限项绑定一个实体(不然同步权限项时会报错,随便找个没用的实体绑定的就。实在没有就自己建个没用的实体)。3、发布后,同步权限项。然后在客户化菜单管理中,配置菜单,并选中功能对转载 2012-06-16 23:26:49 · 847 阅读 · 0 评论 -
如何扩展标准产品F7弹出窗口的功能
如何扩展标准产品F7弹出窗口的功能第一步:编写扩展类,继承自com.kingdee.bos.ctrl.extendcontrols.KDCommonPromptDialog如下示例:package com.kingdee.eas.custom.medianterface.client;import java.awt.event.ActionEvent;import java转载 2012-06-16 23:41:34 · 1327 阅读 · 0 评论 -
获取在线用户
//获取在线用户 UserInfo userInfo = SysContext.getSysContext().getCurrentUserInfo(); IObjectPK userPK = new ObjectUuidPK(userInfo.getId());//根据组织范围获取在线用户 List orgList = OrgRangeService.getCU转载 2012-06-16 23:44:23 · 1142 阅读 · 0 评论 -
代码获取编码规则的最新编码
问题:请问用代码生成单据时,怎么获取编码规则的最新编码? 解决:ICodingRuleManager codeMrgr = CodingRuleManagerFactory.getRemoteInstance();String billNo = codeMrgr.getNumber(IObjectValue caller, String org); // caller为单据的值对象,转载 2012-06-16 23:53:02 · 1320 阅读 · 0 评论 -
如何通过代码终止工作流实例
// 终止工作流 String cID = "***************";单据ID Context ctx = application.getContext();//获取BOS上下文 IEnactmentService wfService = EnactmentServiceProxy.getEnacementService(ctx); //Proc转载 2012-06-16 23:53:56 · 2208 阅读 · 0 评论 -
二次开发单据在“特殊数据权限”的业务对象授权列表中不显示
问题:二次开发的单据,想进行特殊数据权限授权时。有时会发现即使在EAS_PermissionConfiguration.xml文件中添加了二次开发的实体定义后,在特殊数据权限的业务对象列表中依然还是不出现,或者是单据出现了,但是权限项没出来。(还有一种情况:某些业务单据能看到,某些业务单据看不到)。此时,可通过以下方法解决。 解决方案:原理:特殊数据权限 中的 业务对象列表 和 权限项列表转载 2012-06-16 23:55:26 · 1693 阅读 · 0 评论 -
序时簿显示分录字后,查询结果不准确
问题:费用报销单 标准产品不是显单据分录的字段,当二次开发需要将分录的字段的序时簿上显示时,需要必相应该的Query,将分录的字段增加到Query中。此时序时簿的查询结果会有两个问题:1、跨月份查询时,查询结果条数不准确。2、在序时簿上点击列名进行排序后,排序后的结果条数与排序前的结果条数不相等。解决方法:以上两个问题,是由于二次开发修改Query导致的。在Query中添加分录的字转载 2012-06-16 23:57:08 · 814 阅读 · 0 评论 -
BOTP自定义公式解决方案
v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}原来的BOTP自定义公式解决方案只介绍了绑定目标实体的BOTP公式开发方法,现已加入面向所有实体(单据)的转载 2012-06-17 00:05:56 · 13404 阅读 · 0 评论 -
EditUI函数调用顺序
1.UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW); A.传递UIContext() B设置 setOprtState().2..EditUI()a.Super。构造函数b.jbInit()调用registerBi转载 2012-06-17 00:06:32 · 1236 阅读 · 0 评论 -
ListUI函数调用顺序
1.UIFactory.createUIFactory(UIFactoryName.MODEL).create(getEditUIName(), uiContext, null,OprtState.VIEW); A.传递UIContext() B设置 setOprtState().2..ListUI()a.Super。构造函数b.jbInit()调用registerBi转载 2012-06-17 00:07:05 · 1157 阅读 · 0 评论 -
后台调用编码规则
// 如果单据编码为空,则调用编码规则生成一个编码,否则不能通过verifyNumber方法的校验 if (com.kingdee.util.StringUtils.isEmpty(billInfo.getNumber())) { IMetaDataLoader imeataLoader = MetaDataLoaderFactory.getLoca原创 2012-06-16 21:48:23 · 1664 阅读 · 0 评论 -
自动提交工作流
应用场景一:从外部系统传数据到EAS,EAS对这些单据需要自动提交工作流建facade->增加方法-->后台事务protected void _autoRunWF4PaymentOrder(Context ctx) throws BOSException,EASBizException { //因为服务端Context默认为administrator,必须设置为职员,这里设置ca转载 2012-06-16 23:39:04 · 2067 阅读 · 1 评论 -
默认查询方案,出错解决方法
通过查询框提供保存默认查询方案的功能,设置后下次执行时系统直接以默认条件查出记录,不再弹出查询框。有时该功能设置后会报错,导致用户无法再执行功能,也无法清除默认查询方案,此时可以使用以下SQL语句从数据库直接删除: --删除默认查询方案 delete from t_query_querysolution where fid in (sele转载 2012-06-16 23:59:56 · 723 阅读 · 0 评论 -
DEP开发入门
DEP开发入门一、产品编 金蝶EAS动态扩展平台是一个通过整合原有界面配置工具、动态查询以及插件机制等运行期定制能力,提供一体化的,动态的业务定制工具。其主要解决在不需EAS应用重新构建以及重启服务器的情况下,可以由最终用户(End User)、客户的IT专业人员、产品实施人员、二次开发人员对应用系统进行结构和行为调整,开发多套基于核心应用的特性包,以达到行业和个性化特性定制的转载 2012-06-17 00:00:35 · 1102 阅读 · 0 评论 -
单据上查报错,提示"获取关联关系出错!"
偶尔会出现下游单据在上查或修改、查看、删除的时候报错,系统提示“获取关联关系出错”。这种情况在凭证身上出现得最多。原因是BOTP关联的源单太多造成的。可以通过修改以下参数解决。请调整exceptionCellNumber参数1、备份eas\Server\admin\config\admin.vmoptions 文件 2、修改eas\Server\admin\config\admin转载 2012-06-17 00:01:35 · 1230 阅读 · 0 评论 -
打开ListUI时先弹出过滤框
覆盖ListUI的方法initDefaultFilter(),返回true。代码如下: protected boolean initDefaultFilter() { return true; }原创 2012-06-17 15:57:44 · 1917 阅读 · 1 评论 -
服务端缓存设置
昨天一同事碰到一个比较怪异的问题,在Facade中增加一个查找某个用户是否有权限的方法。当把用户对应的权限删除后,如果不重启服务器,那么该用户还是拥有权限(注:用web方式调用没有问题,客户端调用就不行)。经初步判断应该是客户端缓存的问题,那么怎么设置不让客户端缓存呢?以下是我同事的解决方法(仅供参考):找到eas\server\profiles\server1\config\cach原创 2012-07-06 11:13:18 · 1838 阅读 · 0 评论 -
在BOS中启动客户端报license过期提示,而客户端正常的问题
问题是由于BIM业务建模工具附带的运行时许可过期导致。 解决办法:找到干净未使用的使用许可覆盖已经过期的即可。 540版本 找到BOS工具的安装目录,将此目录BOSModular\bim\eclipse\plugins\com.kingdee.bos.bim_5.4.0\configTemplet\licenses 下的license文件拷贝覆盖到BIM当前工作空间解决方案的d原创 2012-06-23 21:01:38 · 3796 阅读 · 1 评论 -
EAS BOS MsgBox使用大全
EAS BOS开发程中,不管是调试还是系统逻辑提示,都会使用到信息提示、信息确认框,但在网上找不到比较全面的Messagebox使用说明;对于内部开发员来说,相当的不便,我用了一天的时间试了MsgBox的用法,由于没法上传图片,所以每个函数的结果就略了;如对其他人有帮助,那花时间整也是值得的,如需更详的情况发邮件给我EvensQiu@Gmail.com1.showInfo(String inf转载 2012-06-26 10:08:31 · 3241 阅读 · 0 评论 -
在EAS中使用代码发送消息
// 以下是发送一个消息的核心片断,如果针对的是某组织批量发送, //自己的需要取得组织的用户ID集合,然后构造receiver //SenderAgent senderAgent = SenderAgent.getSenderAgent(); Sender senderAgent = MessageSender.getInstance(); Message message;原创 2012-06-27 10:02:59 · 2008 阅读 · 0 评论 -
友情连接----百度空间Ж 卍 Ж
http://hi.baidu.com/base_software/home原创 2012-06-27 13:16:01 · 692 阅读 · 0 评论