#星空云诊所#:云诊所-如何在自动下推中触发单据写的各种值更新事件
在项目开发过程中,经常会出现调用标准单据的保存方法,为啥值更新事件没触发呢?曾经在有一个销售订单下推销售出库单时,里面有个实际发货量里写了很多值更新事件,如果不触发会造成保存的单据很多地方是有问题的,首先发现的问题是明显库存,提示负库存,查原因是发货量这边会根据单位进行换算,写了大量的值更新事件,好了,找到原因了,又要如何解决呢?
解决方案如下:
一、首先需要构建一个视图,在视图里跟实际发货量赋值,并触发值更新事件,可是这个字段下推后各数据包都有了,先讲这些数据保存后,根据产生的主键,构建视图,实现过程如下:
string number = saveResult.OperateResult[0].Number.ToString();
//获取元数据服务和构建视图,更新出货量,并触发值更新事件
FormMetadata meta = (FormMetadata)Kingdee.BOS.ServiceHelper.MetaDataServiceHelper.Load(this.Context, "SAL_OUTSTOCK");
IDynamicFormView OUTSTOCKview = CreateBillView(this.Context, "SAL_OUTSTOCK", meta, fid);
二、给视图赋值,并触发值更新事件
OUTSTOCKview.Model.SetValue("FRealQty", outStockQty, 0);//含税单价字段赋值,row为具体行号
OUTSTOCKview.InvokeFieldUpdateService("FRealQty", 0);//联动触发含税单价值更新事件,row为具体行号
注意:OUTSTOCKview.InvokeFieldUpdateService("FRealQty", 0);这段代码才会去触发实际发货量的值更新事件,这样才能保证生成的销售出库单是正确的。否则不会去触发值更新事件的。
三、调保存、提交和审核方法
OUTSTOCKview.InvokeFormOperation(Kingdee.BOS.Core.DynamicForm.FormOperationEnum.Save);
OUTSTOCKview.InvokeFormOperation(Kingdee.BOS.Core.DynamicForm.FormOperationEnum.Submit); //自动提交
OUTSTOCKview.InvokeFormOperation(Kingdee.BOS.Core.DynamicForm.FormOperationEnum.Audit); //自动提交和审核
#星空云诊所#:云诊所-如何在自动下推中触发单据写的各种值更新事件
本文2024-09-16 18:34:11发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23006.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