获取流程实例所有驳回意见的示例代码
需求说明: 用户需要在单据中显示所有驳回的审批意见。
二开分析: 虽然流程节点审核后可以反写审批意见到单据字段,但是只能反写到固定字段,所以只能看到最后一次的审批意见。
次之,反写审批意见不会触发单据的值更新,所以不能用配置实现。
二开时,尽量使用系统提供的函数来实现自己的功能,尽量不要直接读写数据库。
代码说明:
1. 根据formId和单据内码获取运行中的流程。
2. 根据流程实例Id获取审批路线,并筛选符合条件的记录。
3. 完整代码
[HotUpdate] public class AuditDispositionPlugIn : AbstractBillPlugIn { public override void BarItemClick(BarItemClickEventArgs e) { if (e.BarItemKey.EqualsIgnoreCase("btnDisposition")) { this.View.Model.SetValue("FNote", GetAllDisposition()); } } /// <summary> /// 获取单据运行中的流程实例Id /// </summary> /// <param name="formId">单据FormId</param> /// <param name="keyValue">单据内码</param> /// <returns></returns> private string GetProcInstId(string formId, string keyValue) { string sql = @"select T0.FPROCINSTID from t_wf_pibimap T0 inner join T_WF_PROCINST T1 on T0.FPROCINSTID =T1.FPROCINSTID where (ISNULL(T1.FSTATUS,'0') not in ('1','4')) and T0.FOBJECTTYPEID=@FOBJECTTYPEID and T0.FKEYVALUE=@FKEYVALUE"; return Kingdee.BOS.ServiceHelper.DBServiceHelper.ExecuteScalar<string>(this.Context, sql, string.Empty, new[] { new SqlParam("FOBJECTTYPEID", KDDbType.AnsiString, formId), new SqlParam("FKEYVALUE", KDDbType.AnsiString, keyValue) }); } private string GetAllDisposition() { StringBuilder str = new StringBuilder(); string formId = this.View.BillBusinessInfo.GetForm().Id; string keyValue = ObjectUtils.Object2String(this.View.Model.GetPKValue()); string procInstId = GetProcInstId(formId, keyValue); if (string.IsNullOrWhiteSpace(procInstId)) return string.Empty; //获取审批路线 var activityInfos = Kingdee.BOS.Workflow.ServiceHelper.WorkflowChartServiceHelper.GetProcessRouter(this.View.Context, procInstId); int rowIndex = 0; foreach (Kingdee.BOS.Workflow.Models.Chart.ChartActivityInfo activityDetail in activityInfos) { for (int j = 0; j < activityDetail.ActionDetails.Count; j++) { if (activityDetail.ActivityStateType != Kingdee.BOS.Workflow.Kernel.MapStateResult.Idled && !activityDetail.ActionDetails[j].IsCompleted) { continue;//过滤不需要的数据 } Kingdee.BOS.Workflow.Models.Chart.ChartActionInfo action = activityDetail.ActionDetails[j]; if (action.ActionResultId == "Reject") { str.AppendLine(action.DisPosition); } } rowIndex++; } return str.ToString(); } }
获取流程实例所有驳回意见的示例代码
需求说明: 用户需要在单据中显示所有驳回的审批意见。二开分析: 虽然流程节点审核后可以反写审批意见到单据字段,但是只能反写到固定字...
点击下载文档
本文2024-09-23 03:32:09发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-159482.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
热门文章