供应商协同开发案例 —— 企业端单据调用原创
4人赞赏了该文章
988次浏览
编辑于2020年08月03日 17:27:10
案例背景:
供应商协同开发的时候,我们需要对送货单进行审核、订单等进行提交操作。
错误解读:
但是仅仅把协同端单据配置提交、审核按钮,是完成不行的。协同表单和企业端同名单据是不同元数据,提交审核只会针对当前元数据流程生效,导致企业端无法进入审批流、审核不反写等情况。示例代码:
其实最终思想还是调用了BusinessDataServiceHelper里面的方法,去触发企业端FormId进行相应操作,BusinessDataServiceHelper里面有Submit,Delete方法,对应传ids即可。
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List.PlugIn; using Kingdee.BOS.Orm; using Kingdee.BOS.ServiceHelper; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace BHR.K3.PSPB.BusinessPlugIn { public class SCPReciveBillList : AbstractListPlugIn { public override void AfterDoOperation(AfterDoOperationEventArgs e) { base.AfterDoOperation(e); switch (e.Operation.Operation.ToUpperInvariant()) { case "BARITEMKEY": if (e.OperationResult.IsSuccess) { if (this.ListView.SelectedRowsInfo.Count == 0) { this.View.ShowErrMessage("请至少选择一条分录"); return; } List<object> fids = new List<object>(); for (int i = 0; i < this.ListView.SelectedRowsInfo.Count; i++) { fids.Add(this.ListView.SelectedRowsInfo[i].PrimaryKeyValue); } OperateOption option = OperateOption.Create(); var result = BusinessDataServiceHelper.Delete(this.Context, "企业端对应FormId", fids.ToArray(), option, ""); if (result.IsSuccess) { this.View.ShowMessage("删除成功"); this.View.Refresh(); } else { this.View.ShowMessage("删除失败"); //result.ValidationErrors可以自行拼接error结果显示 } } break; default: break; } } } }
推荐阅读