电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

PLM.发布单接收人增加自定义用户

来源:金蝶云社区作者:金蝶2024-09-236

PLM.发布单接收人增加自定义用户

【应用场景】

流程中创建发布单,要将动态表单的自定义字段添加到发布单接收人


【案例演示】

将动态表单的自定义用户字段添加到接收者列表,作为接收人


【实现步骤】

<1>BOSIDE->发布单扩展,增加【获取用户字段】按钮

<2>发布单单据->发布对象,将用户字段添加到编码基础资料的引用属性


<3>编写表单插件(如何编写二开插件配置等请参考:二次开发扩展程序开发之插件模式https://vip.kingdee.com/article/83591896433330944?productLineId=1其他星空PLM开发指南也可以参考 【汇总】星空PLM二开指南(持续更新)https://vip.kingdee.com/article/329914697153905408?productLineId=1&isKnowledge=2更多详细的金蝶云星空BOS二次开发指南:https://vip.kingdee.com/article/94751030918525696?productLineId=1&isKnowledge=2 

添加引用:

代码如下:

namespace ISV.ReleaseConfigBill.Common.BusinessEntity
{
    [Description("自定义配置发布单接收人")]
    public class CustomlizeReceiver : AbstractPLMBillPlugIn
    {
        /// <summary>
        /// 发布对象
        /// </summary>
        protected string strObjectEntity = "FObjectEntity";
        /// <summary>
        /// 单据体字段:浏览
        /// </summary>
        protected string fieldFCBView = "PLM_Release_View";
        /// <summary>
        /// 单据体字段:PDF浏览
        /// </summary>
        protected string fieldFCBBrowserPDF = "PLM_Release_View";
        /// <summary>
        /// 接收者权限分配
        /// </summary>
        protected string strReceiverEntity = "FReceiverEntity";
        public override void EntryBarItemClick(BarItemClickEventArgs e)
        {
            if (OperationRefused(e)) return;
            var rowIndex = this.Model.GetEntryCurrentRowIndex(strObjectEntity);//当前行号
            var reObjCol = this.Model.GetEntityDataObject(this.View.BusinessInfo.GetEntity(strObjectEntity), rowIndex);
            DynamicObjectCollection receiverCol = (DynamicObjectCollection)this.Model.DataObject["PLMCFGReleaseReceiver"];
            switch (e.BarItemKey.ToUpper())
            {
                //获取用户字段按钮
                case "ADDCUSTOMUSER":
                    var reObjects = GridHelper.GetEntityCollection(this.View, strObjectEntity).Select(n => (DynamicObject)n["ObjectID"]).ToList();
                    var userCol = reObjects.Where(m => m["PLMUser"] != null).Select(n => (DynamicObject)n["PLMUser"]).ToList();
                    foreach (var user in userCol)
                    {
                        var dyn = receiverCol.DynamicCollectionItemPropertyType.CreateInstance().GetAsType<DynamicObject>();
                        dyn["ReceiverID"] = user["Id"].GetString();
                      

PLM.发布单接收人增加自定义用户

【应用场景】流程中创建发布单,要将动态表单的自定义字段添加到发布单接收人【案例演示】将动态表单的自定义用户字段添加到接收者列表,作...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信