如何二开支持从委外发出的工序转移单下推委外接收的工序转移单
【应用场景】
委外发出的工序转移单审核之后可以支持从委外发出的工序转移单下推委外接收的工序转移单
【实现步骤】
<1>需要二开工序转移单的元数据,在工序转移单上菜单新增一个按钮用来下推转移单
<2>需要新增二开插件用来处理下推逻辑,如图所示
需要继承插件(OperationTransferEdit)然后重写BarItemClick的方法
代码示例如下:实现的场景是在工序委外发出的工序转移单编辑界面点击下推生成委外接收的工序转移单,并且提交和审核。
public override void BarItemClick(BarItemClickEventArgs e) { base.BarItemClick(e); switch (e.BarItemKey) { case "tbButton_1"://下推 DynamicObject transBill = PushToSingleTrans(Convert.ToString(this.View.Model.DataObject["SrcOptPlanId"]), Convert.ToString(this.View.Model.DataObject["InOperId"]), 1); FormMetadata metadata = MetaDataServiceHelper.Load(this.Context, MFGFormIdConst.SubSys_SFC.OperationTransfer) as FormMetadata; List<DynamicObject> lstObj = new List<DynamicObject>(); lstObj.Add(transBill); IOperationResult result =BillOperationUtil.SaveBillDatasByService(Context, metadata.BusinessInfo, lstObj.ToArray(), null); break; default: break; } } private DynamicObject PushToSingleTrans(string opId, string opDetailId, int rowIndex) { ListSelectedRow row = new ListSelectedRow(opId, opDetailId, rowIndex, MFGFormIdConst.SubSys_SFC.OperationPlanning); row.EntryEntityKey = CONST_SFC_OperationPlanning.CONST_FSubEntity.ENTITY_FSubEntity; row.FieldValues.Add(CONST_SFC_OperationPlanning.CONST_FSubEntity.ENTITY_FSubEntity, opDetailId); ListSelectedRow[] selectedRows = new ListSelectedRow[] { row }; List<ConvertRuleElement> rules = ConvertServiceHelper.GetConvertRules(this.Context, "SFC_OperationPlanning", "SFC_OperationTransfer"); ConvertRuleElement rule = new ConvertRuleElement(); if (rules != null && rules.Count > 1) { // 单据转换标识 string ruleNumber = "SFC_OPTPLAN2OPTTRANSFER(OPEROUT)"; rule = rules.Find(f => ruleNumber.Equals(f.Id)); } else { rule = null; } if (rule == null) { this.View.ShowMessage("操作失败!没有找到工序转出单据转换规则!"); return null; } PushArgs pushArgs = new PushArgs(rule, selectedRows) { // 设定目标单据单据类型:工序转移单据转移类型 TargetBillTypeId = "005056a03950b50f11e3b629519a94c7" }; ConvertOperationResult operationResult = null; try { operationResult = ConvertServiceHelper.Push(this.Context, pushArgs, false); } catch (Exception e) { this.View.ShowErrMessage(e.Message); return null; } if (!operationResult.IsSuccess) { string errMsg = string.Join(",", operationResult.ValidationErrors.Select(s => s.Message)); this.View.ShowMessage("失败!" + errMsg); return null; } return operationResult.TargetDataEntities.Select(o => o.DataEntity).FirstOrDefault(); }
<3>BOSIDE扩展,注册表单插件,保存元数据,开发完毕。
【参考资料】
【二开案例.基础资料.联动查询(GetValue)】
https://vip.kingdee.com/article/127710528226504960
【金蝶云星空BOS二次开发案例演示】
https://vip.kingdee.com/article/94751030918525696
如何二开支持从委外发出的工序转移单下推委外接收的工序转移单
【应用场景】委外发出的工序转移单审核之后可以支持从委外发出的工序转移单下推委外接收的工序转移单【实现步骤】<1>需要二开工序转移单的...
点击下载文档
本文2024-09-23 03:29:30发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-159199.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章