DEP常用脚本集2013

更新时间:2023-12-10 01:51:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

<常用

DEP脚本集2013>

说明 作者 袁健、刘立 君、杨晓江 审阅 修订历史

日期 2013-03-29 版本 1.0 创建和整理

1 / 24

目 录

1. 扩展脚本界面说明 .............................................................................................................. 3 2. 客户端常用脚本 .................................................................................................................. 4

2.1. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9.

控件必录 .............................................................................................................................................. 4 控件隐藏(可见)、锁定(可用) .................................................................................................. 4 设置最大可输入长度 .......................................................................................................................... 4 label文字修改 ..................................................................................................................................... 4 弹出界面 .............................................................................................................................................. 5 F7控件设置过滤条件 ......................................................................................................................... 5 控件(复选框)添加监听器 .............................................................................................................. 5 F7控件增加监听器 ............................................................................................................................. 6 设置F7默认值 .................................................................................................................................... 6

2.10. 客户端调用服务端方法 ...................................................................................................................... 8 2.11. 设置表格列的显示格式 ...................................................................................................................... 9 2.12. 客户端设置编码规则脚本 .................................................................................................................. 9 2.13. 设置分录列背景色为红色、控件字体属性....................................................................................... 9 2.14. 建滔替换物料验证 ............................................................................................................................ 10 2.15. ***** .................................................................................................................................................. 12 2.16. 客户端抛出异常 ................................................................................................................................ 13 2.17. 设置数字控件精度 ............................................................................................................................ 14 2.18. KDTable加入监听器 ........................................................................................................................ 14 2.19. 设置Tab健控件焦点顺序 ................................................................................................................ 16 2.20. 调用界面 ............................................................................................................................................ 16 2.21. 用DEP扩展脚本调用套打 ............................................................................................................... 18 2.22. 计算两个日期类型相隔几天 ............................................................................................................ 19 2.23. 常见的脚本语法错误实例 ................................................................................................................ 20 2.24. 设置分录F7列的显示名称 .............................................................................................................. 21

3. 服务端常用脚本 ................................................................................................................ 21

3.1. 3.2. 3.3. 3.4.

服务端更新单据状态 ........................................................................................................................ 21 服务端检查编码重复 ........................................................................................................................ 22 服务端根据物料计划页签检查项目号与跟踪号 ............................................................................. 22 传递数组参数 .................................................................................................................................... 23

2 / 24

1. 扩展脚本界面说明

3 / 24

2. 客户端常用脚本 2.1. 控件必录

new com.kingdee.eas.ep.client.util.NullVerifier([comp0,comp1],table,[column0,column1]).verify(); 空值校验器,将需要校验的控件放入即可; NullVerifier()中有3个参数;

第一个参数是控件,是数组形式,可以填入多个控件,用英文逗号分隔; 第二个参数是分录控件Table;

第三个是分录中的列名,也是数组形式,可以填入多个列名,用英文逗号分隔。 注意:参数可通过双击【上下文】控件树获得,无需手写。

2.2. 控件隐藏(可见)、锁定(可用)

表头控件隐藏:

pluginCtx.getKDTextField(\分录列隐藏:

pluginCtx.getKDTable(\表头控件锁定:

pluginCtx.getKDBizPromptBox(\分录列锁定:

pluginCtx.getKDTable(\注意:这段脚本可以写在onLoad扩展点的后置脚本,但不能保证控件最终状态如脚本所写, 因为执行完DEP脚本后,业务代码也许又设置了控件的状态。

2.3. 设置最大可输入长度

pluginCtx.getKDTextField(\控件名\注意:这段脚本可以写在onLoad扩展点。

2.4. label文字修改

表头控件:pluginCtx.getKDLabelContainer(\编号\

分录列名:pluginCtx.getKDTable(\批次\

4 / 24

2.5. 弹出界面

var uiContext = new com.kingdee.eas.common.client.UIContext(pluginCtx.getUI()); var uiName = \

DataBaseCustomListUI\ //$$后面的为对应的模板界面

var uiWindow = com.kingdee.bos.ui.face.UIFactory.createUIFactory(com.kingdee.eas.common.

client.UIFactoryName.MODEL).create(uiName, uiContext);

uiWindow.show();

2.6. F7控件设置过滤条件

//可在界面的onload扩展点后置脚本中添加过滤,参考实现: var easImporter = JavaImporter();

easImporter.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easImporter.importPackage(Packages.com.kingdee.bos.metadata.entity); easImporter.importPackage(Packages.com.kingdee.bos.metadata.query.util); easImporter.importPackage(Packages.com.kingdee.bos.util); with(easImporter){ var prmtAssist = pluginCtx.getKDBizPromptBox(\获取F7控件 var filterInfo = new FilterInfo();

var entityViewInfo = new EntityViewInfo(); //获取当前财务组织 var company = pluginCtx.getUIContext().get(\

filterInfo.getFilterItems().add(new FilterItemInfo(\

CompareType.EQUALS)); //按财务组织过滤

entityViewInfo.setFilter(filterInfo);

prmtAssist.setEntityViewInfo(entityViewInfo);

}

2.7. 控件(复选框)添加监听器

pluginCtx.getKDCheckBox(\function(event,methodName){

5 / 24

if(pluginCtx.getKDCheckBox(\

com.kingdee.bos.ctrl.swing.ButtonStates.UNSELECTED) {

pluginCtx.getKDTextField(\

pluginCtx.getKDBizPromptBox(\

} else{

pluginCtx.getKDTextField(\

//pluginCtx.getKDTextField(\

pluginCtx.getKDTextField(\

}

});

注意:监听器可以在onLoad扩展点。

2.8. F7控件增加监听器

var easNames = JavaImporter();

easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easNames.importPackage(Packages.com.kingdee.bos); with(easNames){

var roadMap = pluginCtx.getKDBizPromptBox(\roadMap.addPreChangeListener(function(){

throw new BOSException(\路线图不允许为空!\}); }

2.9. 设置F7默认值

var easImporter = JavaImporter();

easImporter.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easImporter.importPackage(Packages.com.kingdee.eas.basedata.scm.common); easImporter.importPackage(Packages.com.kingdee.bos.util);

6 / 24

easImporter.importPackage(Packages.com.kingdee.eas.basedata.assistant); with(easImporter){

var prmtCurrency =pluginCtx.getKDBizPromptBox(\var cur = new CurrencyInfo();

cur.setId(BOSUuid.create(\cur.setNumber(\cur.setName(\prmtCurrency.setValue(cur); } 或如下:

7 / 24

if(pluginCtx.getOprtState().equals(\

var data = com.kingdee.eas.basedata.org.AdminOrgUnitFactory.getRemoteInstance()

.getAdminOrgUnitCollection(\管理单元'\

if(data.size() > 0){

pluginCtx.getKDBizPromptBox(\ } }

注意:Number和Name,根据想默认值改变

2.10. 客户端调用服务端方法

var easNames = JavaImporter();

easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easNames.importPackage(Packages.com.kingdee.bos); easNames.importPackage(Packages.com.kingdee.bos.util); easNames.importPackage(Packages.com.kingdee.bos.metadata); easNames.importPackage(Packages.com.kingdee.eas.util.client); easNames.importPackage(Packages.com.kingdee.bos.framework); with(easNames){

//pk为服务端实体的全路径,可通过DEP元数据检查获得

var pk = new MetaDataPK(\

//name为被调用实体方法的名称,可通过实体界面获取

var name = \

//params为方法参数,与被调用方法参数类型一致 var params = [BOSUuid.read(\ var result = BOClientTool.callCmethod(pk,name,params); MsgBox.showInfo(\

com.kingdee.eas.util.SysUtil.abort(); }

8 / 24

2.11. 设置表格列的显示格式

var easNames = JavaImporter();

easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easNames.importPackage(Packages.com.kingdee.eas.scm.common.util); easNames.importPackage(Packages.com.kingdee.eas.scm.common.client.helper); with(easNames){

var entry = pluginCtx.getKDTable(\var column = entry.getColumn(\var format = PrecisionUtil.getFormatString(10);

var editor = FormattedEditorFactory.getBigDecimalCellEditor(10, false); column.setEditor(editor);

column.getStyleAttributes().setNumberFormat(format); }

2.12. 客户端设置编码规则脚本

var easNames = JavaImporter();

easNames.importPackage(Packages.com.kingdee.eas.base.codingrule); with(easNames){

var editData = pluginCtx.getDataObject();

var bizOrgUnit= pluginCtx.getKDBizPromptBox(\var number = CodingRuleManagerFactory.getRemoteInstance().

getNumber(editData, bizOrgUnit.getId());

pluginCtx.getKDTextField(\}

2.13. 设置分录列背景色为红色、控件字体属性

var easNames = JavaImporter();

easNames.importPackage(Packages.com.kingdee.eas.scm.common.client); with(easNames){

var entry = pluginCtx.getKDTable(\

9 / 24

var column = entry.getColumn(\}

var font = new java.awt.Font(\pluginCtx.getKDTextField(\注意:写在后置脚本

2.14. 建滔替换物料验证

var easNames = JavaImporter();

easNames.importPackage(Packages.javax.swing); easNames.importPackage(Packages.java.awt); easNames.importPackage(Packages.java.event);

easNames.importPackage(Packages.com.kingdee.bos.ctrl.extendcontrols); easNames.importPackage(Packages.com.kingdee.eas.util);

easNames.importPackage(Packages.com.kingdee.eas.scm.common.constants); easNames.importPackage(Packages.com.kingdee.bos.ctrl.kdf.table);

with(easNames){

var editData = pluginCtx.getDataObject();

var detailTable = pluginCtx.getKDTable(\

var prmtMaterial = new KDBizPromptBox();

prmtMaterial.setQueryInfo(QueryInfoConstants.MATERIAL_INVENTORY_NO_GROUP); var labelMaterial = new JLabel(\物料\labelMaterial.setLabelFor(prmtMaterial);

var prmtAssitAttribute = new KDBizPromptBox(); var labelAssitAttribute = new JLabel(\辅助属性\labelAssitAttribute.setLabelFor(prmtAssitAttribute);

prmtAssitAttribute.setQueryInfo(\

F7AsstAttrValueQuery\

10 / 24

本文来源:https://www.bwwdw.com/article/zq95.html

Top