
金蝶BOS
公子旭
暮春之江南过客,月夜时灯下书生。
展开
-
金蝶OSF接口(s-HR系统)调用示例
金蝶OSF接口调用示例(金蝶s-HR系统接口):①封装OSF接口参数Map;②调用OSF接口;以下示例仅演示了在Java环境中调用OSF接口,还有其它方式进行调用(例如使用单点登录的方式调用OSF接口等),这里未列举。package com.kingdee.eas.si.test.osf;import java.util.Map;import com.kingdee.eas.si.util.OsfUtil;/** * 获取工作流已办列表 * @author 郭旭 * */原创 2021-03-20 17:17:12 · 3683 阅读 · 0 评论 -
金蝶EAS8.5.0(s-HR8.5 SP1)单点登录实现
基于金蝶EAS8.5.0(s-HR8.5 SP1),生成OTP一次性密钥,拼接单点登录链接,用于单点登录到金蝶EAS(s-HR)系统;其中,配置文件(SSC_LTP)为LtpaToken.properties,需要从金蝶EAS服务器获取实际的文件;LtpaTokenManager工具类,需要向金蝶开发人员索取对应的jar包。以下代码用法:基于配置文件和金蝶提供的工具类,生成单点登录链接,可直接跳转到金蝶系统,实现单点登录。package com.kingdee.eas.si.util;原创 2021-03-20 16:58:50 · 2372 阅读 · 0 评论 -
金蝶EAS·BOS 如何修改解决方案(工程)名称 、工作空间路径
使用场景:使用BOS导出解决方案之后,需要修改工作空间的路径、解决方案(工程)的名称,可以采用如下方式:修改解决方案名称或者工作空间之后,需要改动的配置文件如下所示;其中,最后一项easWebConfig.xml(key="metadatapath"部分)可以不改动;①解决方案目录下.project文件中<name>标签;②解决方案目录下,方案名_lib.xml文件中,包路径修改,文件名也改成;③解决方案目录下,runtime\server\profiles\server1\conf原创 2020-10-21 16:05:30 · 1202 阅读 · 0 评论 -
基础资料、业务单据,新增时默认值设置,初始值设定
业务单据或者基础资料的编辑界面EditUI中,在createNewDate()方法中赋值,即可实现页面默认值设置。该设置,只在新增状态下生效。某些枚举类型字段,在该方法中设定可能无效,需要在onload()方法中补救。/** * 默认值设置 */protected com.kingdee.bos.dao.IObjectValue createNewData() { Re原创 2017-06-02 11:49:46 · 3496 阅读 · 0 评论 -
调用EAS单据转换规则(BOTP),生成下游单据
代码调用单据转换规则,生成下游单据。/** * 调用BOTP生成下游单据,用于后台 * @param ctx 上下文 * @param sourceType 源单类型 * @param destType 目标单据类型 * @param sourceColl 源单集合 * @param botpId 单据转换规则 * */public static void botp原创 2017-06-02 13:46:31 · 7327 阅读 · 1 评论 -
金蝶EAS,扩展报表,Java数据集代码示例
业务场景:业务相对复杂时,无法直接通过SQL直接查询出相应的数据集。可以使用Java数据集实现。Java数据集可以针对查询结果进行相应的加工,向前端扩展报表提供符合要求的结果集。package com.kingdee.eas.custom.sdic.rpt;import java.util.Map;import java.awt.Window;import com.kingdee.原创 2017-06-07 12:29:32 · 2718 阅读 · 0 评论 -
金蝶EAS,代码创建临时表,参考代码
临时表创建之后,系统会自动回收。建表语句中的表名可以随意指定,创建临时表成功之后,返回的表名才是真实的,与建表语句中的表名无关。/** * 创建临时表,用于后台 * 建表语句中的表名可随意指定,方法会返回真实的临时表表名 * @param ctx 上下文 * @param createSql 建表语句 * */public static String temp(Contex原创 2017-06-07 14:13:26 · 1598 阅读 · 0 评论 -
金蝶EAS,数据中心密码翻译,数据库密码获取
数据中心(数据库)密码翻译:例如,在datacenters.xml中看到数据库密码为:ksqle:Eo9XVXjby/9CVAe8lwOLvFNqxcRI6wMO(实际为:sql123)1、管理控制台执行(运行服务端脚本)decodepassword ksqle:Eo9XVXjby/9CVAe8lwOLvFNqxcRI6wMO2.代码执行String passw原创 2017-06-07 14:22:21 · 4493 阅读 · 0 评论 -
金蝶BOS,服务端执行SQL语句参考
执行SQL语句需要在服务端(app目录下,*ControllerBean)进行,常用的工具类为:com.kingdee.eas.util.app.DbUtil。通常情况下,EntityViewInfo无法实现的复杂查询,才建议使用SQL去查询。/** * 获取该方案对应的组织范围 * 返回EAS系统组织单元编码(含合并单元编码);同时,初始化组织映射缓存 * @param c原创 2017-06-02 12:11:16 · 5141 阅读 · 0 评论 -
金蝶EAS,代码实现窗口最大化,按钮可用,图标设置
编辑界面字段过多时,需要打开窗口就实现页面最大化。二次开发新增加的按钮,可以设置可用并且为按钮设定图标。public void initUIContentLayout() { super.initUIContentLayout(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); th原创 2017-06-02 11:57:00 · 2505 阅读 · 0 评论 -
金蝶EAS8.2,二次开发单据关联费用预算,新预算接口
EAS8.2版本中,可以通过后台插入数据的方式实现二次开发单据关联费用预算。二次开发单据关联费用预算之后,相应的预算扣减、返还、查询等操作可以通过调用新预算接口来实现,以下代码仅供参考。文末附加了如何通过插入数据的方式实现二次开发单据参与费用预算,数据库脚本Sql语句供参考。package com.kingdee.eas.custom.cnodc.util;import j原创 2017-06-02 11:09:28 · 2763 阅读 · 0 评论 -
调用金蝶EAS系统标准凭证接口,封装凭证对象,调用业务接口前需先登录
第三方系统与金蝶EAS系统凭证集成时,调用金蝶EAS系统标准凭证接口WSGLWebServiceFacade,下载对应的wsdl文件,生成客户端代码之后,可参考以下接口调用方式。与EAS系统进行凭证集成时,最大的工作量部分在于基础数据的同步,基础数据一致的情况下,考虑凭证集成。package com.sdic.services.test;import com.sdic.serv原创 2017-06-02 10:59:06 · 8395 阅读 · 4 评论 -
金蝶EAS,调用标准产品登录接口,EASLogin接口调用
调用金蝶EAS系统提供的标准WebService接口或者二次开发提供的接口之前,都需要先调用登录接口。下载登录接口对应的wsdl文件,生成客户端代码之后,调用实例如下(包路径根据实际情况修改):package com.sdic.services.util;import java.net.URL;import com.sdic.services.login.EASLoginProxyS原创 2017-06-02 10:46:38 · 15831 阅读 · 7 评论 -
金蝶EAS,代码删除单据对应的所有附件
删除单据对应的所有附件。附件是通过产品标准功能:附件管理所添加的附件。/** * 删除单据对应的所有附件,操作成功时返回ture,用于后台 * @param billId 单据主键 */public static boolean delete(Context ctx, String billId) throws BOSException, EASBizException{原创 2017-06-02 10:32:52 · 2181 阅读 · 0 评论 -
金蝶EAS,获取单据对应的所有附件(附件集合)
根据业务单据ID,获取该单据对应附件管理中的附件集合(多个附件)。以下示例方法用于前端调用,如需用于后端,需要添加上下文ctx参数以及改变接口实例的获取方式。/** * 获取单据对应的所有附件,用于前台 * @param billId 单据主键 */public static AttachmentCollection getAttachments(String billId原创 2017-06-02 10:28:07 · 3620 阅读 · 0 评论 -
金蝶EAS,设置界面大小、窗口标题、按钮可用
设定编辑界面大小,设置窗口标题,设置按钮可用等。@Overridepublic void onLoad() throws Exception { super.onLoad(); Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); screenSize.setSize(290, 80); this.原创 2017-06-06 18:17:20 · 9427 阅读 · 1 评论 -
金蝶EAS,列表界面ListUI数据过滤,按照财务组织数据隔离
列表界面数据按照财务组织数据隔离。getQueryExecutor为框架提供的方法。/** * 数据按照财务组织进行数据隔离 */@Overrideprotected IQueryExecutor getQueryExecutor(IMetaDataPK pk, EntityViewInfo view) { FilterInfo filter = view.getFilt原创 2017-06-06 18:11:49 · 2754 阅读 · 0 评论 -
金蝶EAS,消息中心,即时消息,发送通知
业务场景:用于在金蝶EAS客户端消息中心中的即时消息。通过代码可以给特定用户发送通知消息,用户登录系统后在消息中心可以查看到。/** * 系统通知,用于后台 * @param ctx 上下文 * @param sender 发送人(用户名称) * @param title 消息标题 * @param body 消息内容 * @param receiver 接收人(用户主键,多个原创 2017-06-07 14:32:58 · 2696 阅读 · 0 评论 -
金蝶EAS,编辑界面EditUI必录校验,业务校验,单据头及分录必输校验
业务单据、基础资料,在编辑界面EditUI中进行必录校验时,可以直接从界面绑定的数据对象editData中获取值,无需通过界面控件取值。对于单据头中的属性值,通过editData可以直接通过get方法获取到属性值。对于分录中的数据,可以先获取分录集合,然后遍历分录集合,进行非空校验。在暂存、保存、提交时,框架会自动调用verifyInput必录校验方法。此时,界面控件中的值已经封装到界面对原创 2017-06-07 15:18:45 · 4226 阅读 · 0 评论 -
金蝶EAS,分录表格数据唯一性校验,不允许录入重复值
业务场景:业务单据包含分录,单据编辑界面上有分录表格,分录表格录入数据时,校验其中的某一列数据不允许出现重复。本例中,单据实体名称为ReverseBill,分录实体名称为ReverseBillEntry。业务校验verifyInput时,界面控件数据已经封装到界面所绑定的数据对象editData。分录表格中每行数据为一条分录对象ReverseBillEntryInfo、多行数据为分录集原创 2017-06-10 12:31:14 · 1849 阅读 · 0 评论 -
金蝶EAS,附件管理,附件上传,单据对应附件相关代码
金蝶EAS,附件上传/查询/删除等操作。package com.kingdee.eas.custom.jinmao.util;import java.io.File;import java.io.FileInputStream;import com.kingdee.bos.Context;import com.kingdee.bos.BOSException;import com...原创 2019-09-11 17:05:34 · 4462 阅读 · 2 评论 -
金蝶EAS,实体视图(EntityViewInfo)使用,数据查询无需编写SQL
对于绝大多数的业务,都可以用实体视图的方式获取数据,无需编写SQL语句,而且实体视图通用于前端、后台;代码的可维护性胜过直接在后台(APP端、服务端)执行SQL语句;以下内容为业务举例。数据查询,限定条件:组织编码,1001;性别,男;工资水平,大于5000;按照人员编码倒序排列;职员实体(Person)包含属性:编码(number)、组织(orgUnit)、性别(gender)、工资(s...原创 2018-12-24 17:38:16 · 3545 阅读 · 3 评论 -
金蝶EAS系统,凭证接口,凭证重复,系统已经引入过凭证
金蝶凭证接口提示:3100||null||0||0||凭证重复,系统已经引入过,EAS凭证号:0001问题原因:凭证单据头参考信息(description)字段不能与历史重复;科目、金额等信息一致的情况下,会根据参考信息去判断凭证是否重复,如果凭证生成之后,需要删除,然后重新生成,尽量保持参考信息与历史不一致。voucher.setDescription(desc); //参考信息字段,例如...原创 2018-12-24 13:27:17 · 3686 阅读 · 0 评论 -
金蝶EAS系统,员工、职员、人员、用户、职位等基础数据查询
金蝶EAS职员信息查询,又称员工、人员等;职员与用户为不同的实体,一个职员可以对应多个用户;用户也可以不对应职员;职位关联行政组织,任职情况关联职位,职员兼职时,会在任职情况表中有多行记录,其中主职位仅有一条;详细表间关系请参考以下脚本,如果需要以用户为主去筛选数据,需要修改脚本;/*以职员为主表筛选数据,部分职员不对应用户*/select distinct org.FNumber...原创 2018-12-21 11:10:49 · 8373 阅读 · 2 评论 -
金蝶EAS系统,供应链,即时库存查询,库存查询SQL脚本
从金蝶EAS系统库存台账中查询即时库存数据,包含信息:物料编码、物料名称、基本单位、基本数量、库存组织编码、库存组织名称。 /** * 拼接库存查询脚本(物料表别名mater) * @param orgNumber 库存组织编码 * @param filters 查询条件部分(where) * @return 返回完整的查询语句 * */private String getI...原创 2018-08-29 15:26:10 · 5144 阅读 · 0 评论 -
金蝶EAS,BOS框架中保存客户主数据,代码示例
客户通常会做为总账凭证的辅助核算项目,以下代码演示了如何通过代码保存客户数据。示例代码中仅包含了基本信息和CRM信息,未涉及财务资料和销售资料。/** * 客户主数据保存,代码示例 */@Overrideprotected String _test(Context ctx) throws BOSException, EASBizException { //客户基本信息:编码...原创 2018-08-15 16:29:37 · 1728 阅读 · 0 评论 -
通过反射,金蝶EAS·BOS中根据实体全路径获取实体对象及数据库表名
/* * 已知实体路径,如何获取该实体对应的数据库表名? * 以下尝试通过反射获取 */String entityPath = "com.kingdee.eas.custom.test.app.Test"; //实体路径//对象路径:com.kingdee.eas.custom.test.TestInfoString infoPath = entityPath.replace(".a...原创 2018-05-05 17:17:51 · 2725 阅读 · 1 评论 -
金蝶EAS,BOS,前端Client代码执行SQL查询
// 以下代码演示了如何在前端执行SQL查询// 缺少上下文Context,无法在前端直接使用com.kingdee.eas.util.app.DbUtilString sql = "select FNumber number, FName_L2 name from T_PM_User";// 前端需要执行SQL时,可以调用以下功能// com.kingdee.bos.dao.query原创 2017-10-24 18:03:39 · 3769 阅读 · 0 评论 -
金蝶EAS,验证用户在某个组织下有无特定权限项
业务场景,用于查询某个用户在某个组织下有无特定的权限。例如,打开菜单时进行权限校验、点击功能按钮时进行权限校验等。package com.kingdee.eas.custom.cnodc.util;import com.kingdee.bos.Context;import com.kingdee.bos.util.BOSUuid;import com.kingdee.eas.bas原创 2017-07-19 10:08:34 · 2009 阅读 · 1 评论 -
EAS8.2,WAF2,打开菜单(列表界面)时进行权限/业务校验
业务场景:登录门户Portal之后,打开业务单据的列表界面,如果当前用户没有相应权限或者不符合某项业务要求时,不允许打开列表界面。可在Web扩展开发平台中,插入后台功能。例如在标准产品界面加载PageOnLoad之前插入Handler,进行业务校验。抛出WafException异常时,会中断操作。package com.kingdee.eas.custom.test.good.hand原创 2017-07-19 09:39:41 · 1946 阅读 · 0 评论 -
金蝶EAS·BOS,Java代码新增职位信息
金蝶EAS·BOS中,通过Java代码新增职位,参考代码如下(代码片段摘自后台,注意上下文Context):/** * 新增职位 */public void addPosition(Context ctx) throws BOSException,EASBizException { PositionInfo position = new PositionInfo(); pos原创 2017-06-26 19:27:06 · 1197 阅读 · 1 评论 -
金蝶EAS,BOS,BOTP,源单据与目标单据关联关系
以下代码片段适用于通过BOTP生成下游单据时,获取上下游单据相关信息。名词:源单据(上游单据)、目标单据(下游单据)。/** * 业务单据是否已经通过BOTP生成指定下游单据 * 如果已生成下游单据,返回true * @param billId 源单ID * @param bosType 下游单据类型 * */public static boolean hasDownriv原创 2017-06-13 10:37:28 · 6922 阅读 · 0 评论 -
金蝶EAS,BOS,KDTable表格增加普通行、合计行,需先解析表格
业务场景:界面上含有KDTable表格控件时,可以通过代码为表格填充数据。填充数据之前需先解析表格,以下代码示例中,演示了如何为属性名称为tblMain的表格增加十行记录,并且添加合计行。/** * 向页面表格中填充数据 * 本示例方法中表格名称tblMain */private void fillData() { // 表格操作之前需重新解析 tblMain.checkP原创 2017-06-10 19:35:30 · 2762 阅读 · 0 评论 -
EAS,BOS,校验业务单据是否已经通过BOTP生成指定下游单据
业务场景:业务单据通过BOTP(单据转换规则)生成下游单据之后,会在单据转换关联关系中存在一条记录。因此,可以通过查询单据转换关联关系校验原始单据是否已经生成指定下游单据。示例方法中要求传入目标单据的单据类型,单据类型可以通过该单据Info实例的getBOSType()方法获取。/** * 业务单据是否已经通过BOTP生成指定下游单据 * 如果已生成下游单据,返回true * @原创 2017-06-10 18:19:08 · 1482 阅读 · 0 评论 -
金蝶EAS,打开新页面,传递参数,KDTable表格数据填充
业务场景:打开新页面,并在新页面填充数据。可以在新页面的onLoad方法中获取前一页面提供的参数,然后解析当前页面的表格,填充数据。/** * 加载界面时,填充拆分明细数据 */@Overridepublic void onLoad() throws Exception { super.onLoad(); setUITitle("拆分明细"); SplitBillInfo原创 2017-06-06 17:55:05 · 1861 阅读 · 0 评论 -
金蝶EAS,分录表格中必录项设置背景颜色
分录表格含有必录字段时,对应的列设置必录标记,以下代码仅标记出背景颜色,并不能实现必录校验。如需必录校验,还需在verifyInput(ActionEvent e)中编写业务校验逻辑。// 为分录表格中必录项设置颜色String[] columns = {"profession","degree","recruitMethod","gradName"};for(int i =原创 2017-06-06 16:27:00 · 3682 阅读 · 0 评论 -
金蝶EAS,分录表格中F7字段实现数据过滤,FilterInfo多条件关系设置
金蝶EAS,分录表格中F7字段实现数据过滤,FilterInfo多条件关系设置。原创 2017-06-01 14:36:28 · 5755 阅读 · 2 评论 -
金蝶BOS框架,EntityViewInfo的使用
金蝶BOS框架,EntityViewInfo的使用,视图,过滤,查询。原创 2017-06-01 14:07:57 · 3119 阅读 · 1 评论 -
金蝶EAS,分录监听,新增分录行时设置默认值
带分录的业务单据,编辑界面添加分录行时,实现默认值设置。用于EAS客户端,前端代码。/** * 添加分录监听事件,实现分录表格默认值 * 该方法被onLoad()调用 */private void addKdtEntryDetailPanelListener() {IDetailPanelListener listener = new DetailPanel原创 2017-06-01 15:38:19 · 6360 阅读 · 0 评论 -
金蝶EAS·BOS,客户端操作添加进度栏,进度条
金蝶EAS客户端中,数据导入等操作,需要等待较长时间时,添加进度栏相关代码。仅供参考。/** * 引入模板 * 将科目余额数据从电子表格中读取到序时簿 */public void actionExcelImport_actionPerformed(ActionEvent e) throws Exception {JFileChooser chooser =原创 2017-06-01 15:31:07 · 2784 阅读 · 0 评论