1、使用管理员账号登录系统,用户添加联系对象类型为员工,增加联系对象,使员工与用户相关联
3、在表单中新增插件
4、
以下为脚本插件(最后的"F_PAPB_Base"为员工字段标识):
#参考代码
#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *
#重载cloud插件模型的主菜单按钮点击事件
empId = 0;
def OnInitialize(e):
userID=str(this.Context.UserId);
sqlGetEmpId = (""" select E.FID, E_L.FNAME, P.FPERSONID, U.FUSERID, U.FNAME
from T_SEC_USER U
inner join t_BD_Person P ON (u.FLINKOBJECT = P.FPERSONID)
inner join T_HR_EmpInfo E ON (P.FPERSONID = E.FPERSONID)
left join T_HR_EmpInfo_L E_L ON (E.FID = E_L.FID AND E_L.FLOCALEID = 2052)
where U.FUserId ={0} """).format(userID);
global empId;
ds = DBServiceHelper.ExecuteDataSet(this.Context,sqlGetEmpId);
tab = ds.Tables[0];
empId=tab.Rows[0]["FID"] if tab.Rows.Count>0 else 0;
def AfterCreateNewData(e):
global empId,deptId,stuffID;
this.Model.SetItemValueByID("F_PAPB_Base", empId, 0);#根据实际情况在此修改员工字段标识
推荐阅读