设置自定义员工任岗信息基础资料为当前用户绑定的联系对象

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

设置自定义员工任岗信息基础资料为当前用户绑定的联系对象

## 一、新增基础资料字段 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; ``` **其他更多文章入口:**[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)

这样做完保存会提示序列化的问题

设置自定义员工任岗信息基础资料为当前用户绑定的联系对象

## 一、新增基础资料字段1. 在BOS上拖拽基础资料控件到任意位置,并维护有效的标识、字段名、绑定实体属性2. 设置这个基础资料字段的基...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息