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(); dyn["ReceiverName"] = user["Name"].GetString(); dyn["ReceiverType"] = "user";//用户类型 dyn[fieldFCBView] = true; dyn[fieldFCBBrowserPDF] = true; dyn["AuthInfo"] = PLMPermissionItem.Release_View.GetName(PLMContext); dyn["PermissionItems"] = PLMPermissionItem.Release_View.GetItem(this.PLMContext) + "," + PLMPermissionItem.Release_BrowserPDF.GetItem(this.PLMContext); receiverCol.Add(dyn); } this.View.UpdateView(strReceiverEntity); break; } base.EntryBarItemClick(e); } } }
<4>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<5>BOSIDE扩展发布单,注册表单插件,保存元数据,开发完毕。
【功能验证】
登录业务站点,打开发布单新增界面,动态获取自定义字段到接收人
【知识点】
【汇总】星空PLM二开指南(持续更新)https://vip.kingdee.com/article/329914697153905408?productLineId=1&isKnowledge=2
【合辑】金蝶云.星空 PLM知识合辑(持续更新) https://vip.kingdee.com/article/329662872047302912?productLineId=1&isKnowledge=2
二次开发扩展程序开发之插件模式 https://vip.kingdee.com/article/83591896433330944?productLineId=1
PLM云 -- 基于BOS平台的二次开发扩展 https://vip.kingdee.com/article/10875?productLineId=1
PLM云 -- 基于配置系统的二次开发扩展(对象属性扩展)https://vip.kingdee.com/article/10887?productLineId=1
PLM云 -- 基于标准业务系统的二次开发扩展 https://vip.kingdee.com/article/10901?productLineId=1
金蝶云星空BOS二次开发指南 https://vip.kingdee.com/article/94751030918525696?productLineId=1&isKnowledge=2
金蝶云星空数据字典V7.6 https://open.kingdee.com/K3Cloud/WenKu/DocumentView.aspx?docId=102613
PLM.发布单接收人增加自定义用户
本文2024-09-23 02:59:37发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-156004.html
- 鼎捷EAI整合規範文件V3.1.07 (集團).pdf
- 鼎捷OpenAPI應用場景說明_基礎資料.pdf
- 鼎捷OpenAPI應用場景說明_財務管理.pdf
- 鼎捷T100 API設計器使用手冊T100 APIDesigner(V1.0).docx
- 鼎新e-GoB2雲端ERP B2 線上課程E6-2應付票據整批郵寄 領取.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A4使用者建立權限設定.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程C3會計開帳與會計傳票.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程E6-1應付票據.pdf
- 鼎新e-GoB2雲端ERP B2 線上課程A5-1進銷存參數設定(初階篇).pdf
- 鼎新e-GoB2雲端ERP B2 線上課程D2帳款開帳與票據開帳.pdf