想实现物料清单保存时,更新所有组织物料相关属性
金蝶云社区-无知小青年
无知小青年
0人赞赏了该文章 820次浏览 未经作者许可,禁止转载编辑于2017年02月04日 16:31:50

各位老师,我想实现在物料清单在保存时,反写物料清单上的父项物料的相关属性对物料上,此处说明,是所有组织的物料的属性值都发生变动.因为我们的物料是集中管理,分配到其它组织.

现只能实现当前组织下的物料发生变动 代码如下:
///


/// 物料清单保存时,返写物料上的下料信息.
///

///
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.EqualsIgnoreCase("tbSave") || e.BarItemKey.EqualsIgnoreCase("tbSplitSave"))
{
////方法一
//BusinessInfo businessInfo = ((FormMetadata)MetaDataServiceHelper.Load(base.Context, "BD_MATERIAL", true)).BusinessInfo;
//DynamicObject obj = this.View.Model.GetValue("FMATERIALID") as DynamicObject;
//DynamicObject MaterialObj = BusinessDataServiceHelper.LoadSingle(this.Context, long.Parse(obj["msterID"].ToString()), businessInfo, null);
//MaterialObj["FDECMaxOutDiameter"] = this.View.Model.GetValue("FDECMaxOutDiameter");//最大外径
//MaterialObj["FDECMinInnerDiameter"] = this.View.Model.GetValue("FDECMinInnerDiameter");//最小内径
//MaterialObj["FDECNetLength"] = this.View.Model.GetValue("FDECNetLength");//净长度
//BusinessDataServiceHelper.Save(this.Context, MaterialObj);//保存
////方法二
DynamicObject dobj = this.View.Model.GetValue("FMATERIALID") as DynamicObject;//基础资料_物料
string materNumber = dobj["Number"].ToString();//物料编码
double MaxOutDiameter = Convert.ToDouble(this.View.Model.GetValue("FDECMaxOutDiameter"));//最大外径
double MinInnerDiameter=Convert.ToDouble(this.View.Model.GetValue("FDECMinInnerDiameter"));//最小内径
double NetLength = Convert.ToDouble(this.View.Model.GetValue("FDECNetLength"));//净长度
string sSQL = string.Format(@"Update T_BD_MATERIAL set FDECMaxOutDiameter='{1}',FDECMinInnerDiameter='{2}', FDECNetLength='{3}'
where FNumber ='{0}' ", materNumber, MaxOutDiameter, MinInnerDiameter, NetLength);
Kingdee.BOS.ServiceHelper.DBServiceHelper.ExecuteDynamicObject(this.Context, sSQL);
}
}

其中,就想用方法一的功能进行实现.请老师们帮忙.谢谢!