
# 需求
- 销售订单根据销售员得名字自动赋值销售员基础资料

# 代码
``` python
#项目: 销售员名称 赋值销售员
#作者: 老李头(Dean)
import clr
clr.AddReference("System")
clr.AddReference("System.Core")
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.App")
clr.AddReference("Kingdee.BOS.Core")
clr.AddReference("Kingdee.BOS.DataEntity")
clr.AddReference("Kingdee.BOS.ServiceHelper")
#引入命名空间
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.Args import *
from Kingdee.BOS.Core.Metadata import *
from Kingdee.BOS.Core.Metadata.FormElement import *
from Kingdee.BOS.Core.SqlBuilder import *
from Kingdee.BOS.Orm.DataEntity import *
from Kingdee.BOS.ServiceHelper import *
from Kingdee.BOS.Util import *
#在执行保存操作前触发
def BeforeDoSaveExecute(e):
obj = e.DataEntities;
text = obj[0]["F_XSY"].ToString();#获取销售员名称
formId = "BD_Saler";
meta = MetaDataServiceHelper.Load(this.Context, formId);
para = QueryBuilderParemeter();
para.BusinessInfo = meta.BusinessInfo;
para.FormId = formId;
para.FilterClauseWihtKey = " FDocumentStatus = '{0}' And FName='{1}' ".format("C", text);#匹配名称
cust_objs = BusinessDataServiceHelper.Load(this.Context, meta.BusinessInfo.GetDynamicObjectType(), para);
if cust_objs is not None and cust_objs.Count > 0:
obj[0]["SalerId_Id"] = cust_objs[0]["Id"];
obj[0]["SalerId"] = cust_objs[0];
else:#如果不存在数据则设置为空
obj[0]["SalerId_Id"] = 0;
obj[0]["SalerId"] = None;
```
# 部署

- 再配置一个保存后刷新字段

# 效果
- 只有一个销售员

- 存在赋值
![image.webp](/download/010032f71fbc20274e058b5ad1f5d78d3