
## 业务场景简介
目前客户在选择仓管员时只能选择当前组织或平级组织,不能选择上级组织的职员,这样造成管理上的非常不便,因为在很多情况下仓管员并不是一定是当前组织的。建议改回仓管员可以自由选择。
## 简要实现方案
在仓库编辑界面的onLoad()方法中添加后置脚本来重新设置仓管员的F7范围;
## DEP详细开发步骤
1. 新建DEP方案:点击动态扩展平台上的动态扩展方案管理,在弹出的动态扩展方案管理器里面增加一个‘仓库仓管员可跨组织选择’。

2. 导入扩展单元“仓库”:在刚刚增加的方案上面,点击鼠标右键,弹出的目录中选择“扩展单元”的“从业务单元导入”。选择仓库单元,导入到方案中。


3. 打开仓库的编辑界面。

4. 在“扩展定义”页签中选择扩展点:onLoad方法,并添加后置脚本。

5. 后置脚本如下:
```js
var whman = JavaImporter();
whman.importPackage(Packages.com.kingdee.eas.basedata.person.client);
with(whman){
var prmtwhman= pluginCtx.getKDBizPromptBox("prmtwhman");
var box = prmtwhman.setSelector();
if(box != null){
box .showAllAdmin();
}
var prmtstorageOrg = pluginCtx.getKDBizPromptBox("prmtstorageOrg ");
prmtstorageOrg.addDataChangeListener(function(e,methodName){
if("equals" == methodName){
return this == e;
}else if("dataChanged" == methodName){
var hash = new java.util.HashMap();
hash.put(PersonF7UI.EXPAND_ORG_MODEL, "1");
hash.put(PersonF7UI.DEFAULT_SHOW_ALL, "YES");
hash.put(PersonF7UI.IS_SINGLE_SELECT, new Boolean(true));
hash.put(PersonF7UI.EXPAND_ORG_MODEL, "2");
var adminUnitId = null;
if (e.getNewValue() != null) {
adminUnitId = getAdminOrgUnitInfo((e.getNewValue()).getId().toString());
}
if (adminUnitId == null && pluginCtx.getUIContext().get("sysContext"). getCurrentAdminUnit() != null) {
adminUnitId =pluginCtx.getUIContext().get("sysContext").getCurrentAdminUnit().getId().toString();
}
if (adminUnitId != null) {
hash.put(PersonF7UI.ADMIN_ID, adminUnitId);
}
var box1 = new PersonPromptBox(this, hash);
var prmtwhman1= pluginCtx.getKDBizPromptBox("prmtwhman");
box1.showAllAdmin();
prmtwhman1.setSelector(box1);
}
});
}
```