二开案例.表单插件.获取用户绑定的员工的任岗信息
【应用场景】
获取用户绑定的员工的任岗信息。
【案例演示】
采购订单,打开界面的时候,通过插件,自动获取当前用户绑定的员工的任岗信息。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
namespace Jac.XkDemo.BOS.Business.PlugIn
{
/// <summary>
/// 【表单插件】获取用户绑定的员工的任岗信息
/// </summary>
[Description("【表单插件】获取用户绑定的员工的任岗信息"), HotUpdate]
public class GetUserPostFormPlugIn : AbstractDynamicFormPlugIn
{
public override void AfterBindData(EventArgs e)
{
base.AfterBindData(e);
this.View.Model.SetValue("F_Jac_Base", GetUserPost());
this.View.UpdateView("F_Jac_Base");
this.View.InvokeFieldUpdateService("F_Jac_Base", 0);
}
private int GetUserPost()
{
var org = this.View.Model.GetValue("FPurchaseOrgId") as DynamicObject;
if (org == null)
{
// 还没有设置主业务组织
return 0;
}
var orgId = org["Id"];
var sql = string.Format(@"SELECT TOP 1 T1.FSTAFFID FROM T_BD_STAFF T1
INNER JOIN T_SEC_USER T2 ON T1.FPERSONID = T2.FLINKOBJECT AND T2.FTYPE='1'
WHERE T1.FDOCUMENTSTATUS='C' AND T1.FFORBIDSTATUS='A' AND T1.FUSEORGID={0} AND T2.FUSERID={1} ", orgId, this.Context.UserId);
return DBServiceHelper.ExecuteScalar(this.Context, sql, 0);
}
}
}
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增基础资料字段【采购人】,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,采购人已自动绑定当前登录用户demo所绑定的员工的员工任岗信息。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.获取用户绑定的员工的任岗信息
本文2024-09-23 04:08:02发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-163351.html