因为要将预测单上的批号携带至生产订单中,所以增加了2个服务插件,计划订单提交时获取 预测单批号,生产订单提交时获取计划订单批号。
预测单和计划订单字段都是使用的文本字段。
目前遇见一个问题,生产订单第一次提交的时候,表单只写入了Lot_Text字段,没有生成批号主档。
然后再反审核再提交才会生成批号主档。这个问题怎么解决。生产订单生产批号主档的时机是什么?
已经试过了在提交和审核上增加保存并更新批号主档服务,但是没有效果。
客户操作习惯是投放后直接提交保存,所以无法触发保存事件的更新批号主档服务。
public override void BeginOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BeginOperationTransactionArgs e)
{
base.BeginOperationTransaction(e);
foreach (var item in e.DataEntitys)
{
var Obj = ToolsClass.ToolsClass.GetItem(this.Context, "PRD_MO", item["ID"].ToString());//获取DynamciObject实体
var ObjEntry = item["TreeEntity"];
foreach (var itemEntry in ObjEntry as DynamicObjectCollection)
{
if (!itemEntry["SrcBillType"].IsNullOrEmpty())
{
var FBillNo = itemEntry["SrcBillNo"];
var FLot = ToolsClass.ToolsClass.ItemConvert(this.Context, "PLN_PLANORDER", string.Format("FBillNo = '{0}'", FBillNo), "F_batch");//执行获取批号文本。
itemEntry["Lot_Text"] = FLot;
}
}
ToolsClass.ToolsClass.SaveData(Obj, this.Context, "PRD_MO");//执行保存事件
}
}
推荐阅读