设置自定义员工任岗信息基础资料为当前用户绑定的联系对象
## 一、新增基础资料字段
1. 在BOS上拖拽基础资料控件到任意位置,并维护有效的标识、字段名、绑定实体属性
2. 设置这个基础资料字段的基础资料类型为“员工任岗信息”
## 二、编写python脚本使得新增的字段自动带出当前用户关联的联系人信息
大致思路是:首先将`T_BD_STAFF`员工任岗信息表和`T_SEC_USER`用户表通过`FPERSONID`员工信息内码与`FLINKOBJECT`联系对象内码进行匹配连接,再利用当前登录的用户`id`和当前采购组织`id`进行过滤,最终可以得到当前用户绑定的联系对象的员工任岗信息内码。最后将内码`id`设置给新增的基础资料。
## 三、示例代码
```python
import clr
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')
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 *
def AfterCreateNewData(e):
this.View.Model.SetValue("FnewRoleId", SetRole());
this.View.UpdateView("FnewRoleId");
this.View.InvokeFieldUpdateService("FnewRoleId", 0);
def SetRole():
userID=str(this.Context.UserId);
orgID=this.View.Model.GetValue("FPurchaseOrgId")["Id"];
sqlGetEmpId = ("""SELECT T1.FSTAFFID FROM T_BD_STAFF T1
INNER JOIN T_SEC_USER T2 ON T1.FPERSONID = T2.FLINKOBJECT
WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORBIDSTATUS='A' AND T2.FUSERID = {0} and T1.fuseorgid={1} """).format(userID,orgID);
ds = DBServiceHelper.ExecuteDataSet(this.Context,sqlGetEmpId);
tab = ds.Tables[0];
empId=tab.Rows[0]["FSTAFFID"] if tab.Rows.Count>0 else 0;
return empId;
```
设置自定义员工任岗信息基础资料为当前用户绑定的联系对象
## 一、新增基础资料字段1. 在BOS上拖拽基础资料控件到任意位置,并维护有效的标识、字段名、绑定实体属性2. 设置这个基础资料字段的基...
点击下载文档
本文2024-09-23 03:42:30发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-160583.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章