PLM如何二开实现在“我接收的发布单”选中发布单批量再次发布?
【应用场景】
需要实现在“我接收的发布单”选中发布单批量再次发布。
【注意事项】
(1)发布单单据标识:PLM_CFG_RELEASE(发布单)。因为“我接收的发布单”、“我创建的发布单”等都是共用同一个单据,因此在添加二开按钮时可以先设置为不可见,后续通过代码控制按钮的可见性。
(2)这里会调用创建发布单操作,前提是对应发布对象的业务类型上拥有“创建发布单”操作、当前用户有对应权限。
(3)代码仅供参考,具体以实际开发场景为准。
【实现步骤】
<1>编写表单插件和服务插件,代码如下。
依赖:
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Orm.DataEntity; using Kingdee.K3.PLM.Business.PlugIn; using Kingdee.K3.PLM.CFG.Common.BusinessEntity.Manager.Release; using System.Collections.Generic; using System; using System.ComponentModel; using System.Linq; using Kingdee.BOS.Util;
参考代码:
[Description("发布单列表二开插件")] public class ReleaseListSD : AbstractPLMListPlugIn { private string listOpenType = ""; public override void PreOpenForm(PreOpenFormEventArgs e) { base.PreOpenForm(e); if (e.OpenParameter.GetCustomParameter("plm_param_ReleaseListOpenType") != null) { listOpenType = e.OpenParameter.GetCustomParameter("plm_param_ReleaseListOpenType").GetString(); } } public override void AfterBindData(EventArgs e) { base.AfterBindData(e); if (listOpenType == "receive")//只有我接收的发布单才显示二开按钮 { this.View.GetBarItem("", "tbReleaseAgain").Visible = true; } else { this.View.GetBarItem("", "tbReleaseAgain").Visible = false; } } public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); if (e.BarItemKey.ToUpper() == "TBRELEASEAGAIN") { //获取选中的行 var selectRows = this.ListView.SelectedRowsInfo; if (selectRows.Count != 0) { var ids = selectRows.Select(p => p.PrimaryKeyValue).ToList(); //获取所有发布单 var releases = ReleaseManager.Instance.Load(this.PLMContext, ids.ToArray()); //获取发布单中所有发布对象 List<long> objIds = new List<long>(); var PLMCFGReleaseObject = releases.Select(f => (DynamicObjectCollection)(f["PLMCFGReleaseObject"])).ToList(); foreach (var re in PLMCFGReleaseObject) { objIds.AddRange(re.Select(f => Convert.ToInt64(f["ObjectID_Id"]))); } if (objIds.Count > 0) { //调用创建发布单操作,前提是对应发布对象的业务类型上拥有“创建发布单”操作、当前用户有对应权限 CrossOperationHelper.CrossDoOperation(this, "Release", objIds.Distinct().ToList()); } } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展发布单单据,注册二开表单插件、添加二开按钮,保存元数据,开发完毕。
PLM如何二开实现在“我接收的发布单”选中发布单批量再次发布?
【应用场景】需要实现在“我接收的发布单”选中发布单批量再次发布。【注意事项】(1)发布单单据标识:PLM_CFG_RELEASE(发布单)。因为“我...
点击下载文档
本文2024-09-23 02:59:34发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-155998.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
热门文章