DEP 增加F7默认字段(组织单元),测试新增显示在列表原创
金蝶云社区-Heaven
Heaven
2人赞赏了该文章 293次浏览 未经作者许可,禁止转载编辑于2023年06月08日 11:53:46

需求:获取组织,新增字段,在列表页展示

image.png


这里就不介绍如何新增基础资料和单据了,社区里可以查到。

1.选择F7控件,关联的实体是组织单元。

image.png

2.在业务数据源中设置:在自己创建的单据下,引入组织单元,进行实体配置(我这里是通过id来关联的实体,下面说为啥通过id来关联),进行字段配置(这里拉入自己想要的即可)


image.png

image.png

image.png

3.绑定实体:来到列表界面,进行实体的绑定(这里选择名称,这里实体绑定是给列表查询页赋值)

image.png

4.编写脚本:这里我默认前端显示的是id,与刚才业务数据源配置实体时,通过id进行关联就对应上了

image.png

注意点: 

    业务数据源:是引入实体,相当于Java中引入实体,创建实体对象那一步;还做了数据库中左右链接表查询的工作。

    绑定实体:绑定的是新增页面,text文本框与列表查询页显示的值(我上面绑定的name,所以在列表显示时是name)。相当于Vue文本组件,向后端传id值,并查询数据库中name,返回给列表页显示name的操作。


脚本:

/**

* 判断是不是新增页面

**/

if(pluginCtx.getOprtState().equals("ADDNEW")) {

// 引入包

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);

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

with(easImporter){

//通过客户端上下文获取组织名称

var organize = pluginCtx.getUIContext().get("sysContext").getCurrentFIUnit();

com.kingdee.eas.util.client.MsgBox.showInfo(organize);

//通过客户端上下文获取组织id

var id = pluginCtx.getUIContext().get("sysContext").getCurrentFIUnit().get("id");

com.kingdee.eas.util.client.MsgBox.showInfo(id);

//客户端设置F7默认值(组织机构)

var prmtCurrency = pluginCtx.getKDBizPromptBox("prmtOrganize");

var cur = new CurrencyInfo();

cur.setId(BOSUuid.create("8f82686e5bbf45e68095fb5717a8c85f"));//组织的BOSType

cur.setNumber("PRE001");

cur.setName(id);

/*将币别值赋值给控件*/

prmtCurrency.setValue(cur);

/*

获取登录用户

*/

var userName = pluginCtx.getUIContext().get("sysContext").getCurrentUser()

pluginCtx.getKDTextField("txtuserName").setStringValue(userName)


}    

}



赞 2