想实现通过物料信息变更的一张单据,实现所有组织...
金蝶云社区-相遇辉辉
相遇辉辉
4人赞赏了该文章 946次浏览 未经作者许可,禁止转载编辑于2018年02月08日 16:12:01

///


/// 审核前
///

///
public override void BeforeExecuteOperationTransaction(Kingdee.BOS.Core.DynamicForm.PlugIn.Args.BeforeExecuteOperationTransaction e)
{
base.BeforeExecuteOperationTransaction(e);
//此处想实现通过物料信息变更的一张单据,实现所有组织下的物料的信息同步更改,现只能当前组织。
foreach (var item in e.SelectedRows.Select(s => s.DataEntity))
{
DynamicObject billTypeObj = item["FBillTypeId"] as DynamicObject;
string billTypeName = billTypeObj["Name"].ToString();//单据类型名称
string billTypeNumber = billTypeObj["Number"].ToString();//单据类型编码
if (billTypeName == "物料信息变更")
{
//BillHead
string RmrkBZ = item["FRmrkBZ"].ToString();
//Bill
DynamicObjectCollection WLobjc = item["FEntity"] as DynamicObjectCollection;
BusinessInfo businessInfo = ((FormMetadata)MetaDataServiceHelper.Load(base.Context, "BD_MATERIAL", true)).BusinessInfo;//物料
DynamicObject obj = WLobjc[1]["FCOLWL"] as DynamicObject;
if (obj == null)
{
return;
}
DynamicObject WLobj = BusinessDataServiceHelper.LoadSingle(this.Context, long.Parse(obj["msterID"].ToString()), businessInfo, null);//msterIDid
WLobj["Name"] = WLobjc[1]["FCOLMC"].ToString();

BusinessDataServiceHelper.Save(this.Context, WLobj);//保存
}

}

}