logo资料库

金蝶EAS DEP开发实战.docx

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
EAS DEP开发实操练习指导
一、实操练习指导说明
二、DEP开发练习说明
1.DEP基础开发
1.1.1新建方案
1)新建DEP方案
1.1.2导入元数据
1)导入采购入库单
1.1.3字段设置
1)可用性
2)显示名称
1.1.4新增字段
1)数字字段
2)文本字段
3)F7字段
1.1.5个性化布局方案
1)创建个性化布局方案
2)个性化布局方案设置
2.DEP脚本开发案例
1.2.1控件属性脚本
1)设置可见性
2)设置可用性
1.2.2必录逻辑脚本
1)设置必录属性脚本
2)特殊条件必录脚本
1.2.3监听脚本
1)字段带出脚本
1.2.4调用系统API
1)查询F7对象
三、实操练习结果提交说明
1.截图
2.开发包
EAS DEP 开发实操练习指导
一、 实操练习指导说明 本文档用于描述《EAS DEP 开发》课程相关的实操练习案例场景及指导。学员请按照案 例场景说明完成所要求的开发练习,并将结果发送到邮箱:duihua_liu@kingdee.com。请在 完成线上的理论考试后,按照本文档的要求完成实操练习,经审核通过后,可以在线申请 DEP 开发特训营的合格证书。 二、 DEP 开发练习说明 1. DEP 基础开发 1.1.1 新建方案 1) 新建 DEP 方案 新建 DEP 方案取名”课程练习方案”。 1.1.2 导入元数据 1) 导入采购入库单 将供应链模块的采购入库单导入新建的 DEP 方案。 1.1.3 字段设置 1) 可用性 将采购入库单编辑界面表头的”业务日期”字段设置为-不可见。 2) 显示名称 将采购入库单编辑界面表头的”币别”字段的名称设置为-”币别 DEP”。 1.1.4 新增字段 1) 数字字段 在采购入库单编辑界面表头添加 3 个数字类型字段:”单据” ”数量” ”总和”。 2) 文本字段 在采购入库单编辑界面表头添加文本类型字段:”币别编码”。 3) F7 字段 在采购入库单编辑界面表头添加 F7 类型字段:”供应商”。 1.1.5 个性化布局方案 1) 创建个性化布局方案 为采购入库单编辑界面创建个性化布局方案:”采购入库方案 A”。 2) 个性化布局方案设置 在”采购入库方案 A”中,将”付款方式”字段的名称设置为-” 付款方式个性化”。
在”采购入库方案 A”中,为”币别 DEP”字段设置更新事件,将其编码属性带到”币别编码” 字段。 在”采购入库方案 A”中,为”单据” ”数量”字段设置更新事件,设置计算公式:总和=单 据*数量,使得总和能自动计算。 2. DEP 脚本开发案例 1.2.1 控件属性脚本 1) 设置可见性 表头控件隐藏: pluginCtx.getKDTextField("txtDescription").setVisible(false); 分录列隐藏: pluginCtx.getKDTable("kdtEntries").getColumn("mat").getStyleAttributes().setHid ed(true); 注意:这段脚本可以写在 onLoad 扩展点的后置脚本,但不能保证控件最终状态如脚本所写, 因为部分业务代码可能会重新设置控件的状态。 2) 设置可用性 表头控件锁定: pluginCtx.getKDBizPromptBox("prmtMat").setEnabled(false); 分录列锁定: pluginCtx.getKDTable("kdtEntries").getColumn("amount").getStyleAttributes().set Locked(true); 注意:这段脚本可以写在 onLoad 扩展点的后置脚本,但不能保证控件最终状态如脚本所写, 因为部分业务代码可能会重新设置控件的状态。 1.2.2 必录逻辑脚本 1) 设置必录属性脚本 可在 onload()方法添加扩展脚本 pluginCtx.getKDTextField("txtDescription").setRequired(true);
2) 特殊条件必录脚本 根据条件决定必录,特殊条件判断,以及自定义提示。可在保存值、保存、提交扩展节点添 加以下前置脚本实现。 //根据条件决定必录 if(pluginCtx.getKDTextField("txtstatus").getText().startsWith("0101")){ //状态为 0101 时,NBA 字段为必录 var value=pluginCtx.getKDBizPromptBox("prmtNBA").getValue(); if(value==null){ com.kingdee.eas.util.client.MsgBox.showInfo("NBA 字段不能为空!"); com.kingdee.eas.util.SysUtil.abort(); } } 1.2.3 监听脚本 1) 字段带出脚本 选择职员后,将职员名称带出 //F7 控件增加值改变监听 pluginCtx.getKDBizPromptBox("prmtPerson").addDataChangeListener(function (event)
{ //获取职员 F7 信息 var personInfo=pluginCtx.getKDBizPromptBox("prmtPerson ").getValue(); var name=personInfo.get("name"));//获取职员名称 //将职员名称赋值到名称控件。 pluginCtx.getKDTextField("txtName").setStringValue(name); }); 1.2.4 调用系统 API 1) 查询 F7 对象 设置默认值 可在界面的 onload 扩展点后置脚本中添加过滤,参考实现。 //如果是新增界面,则设置默认值 if(pluginCtx.getOprtState().equals("ADDNEW")){ var id="EadXbj&HCHIz "; //根据 id 获取 F7 值对象 var fkfsInterface = com.kingdee.bos.BOSObjectFactory.createRemoteCommonBOSObject (new com.kingdee.bos.metadata.MetaDataPK("com.kingdee.eas.custom.app.Currency")); var fkfsOPK = new com.kingdee.bos.dao.ormapping.ObjectUuidPK(com.kingdee.bos.util.BOSUuid.read(id)); var fkfsOBJ = fkfsInterface.getValue(fkfsOPK); pluginCtx.getKDBizPromptBox("prmtcurrency").setValue(fkfsOBJ); }
三、 实操练习结果提交说明 1. 截图 每个操作点完成后,请截取相关操作结果截图,如,新建 DEP 方案完成后,请截取对应 的方案管理界面截图,附在题后保存后提供。 2. 开发包 导出并提供对应的 DEP 方案。
分享到:
收藏