复制整张单据并保存

现需要通过插件在点击按钮时,实现:复制当前整张单据(包括单据头以及所有单据体),更改其中部分字段后保存生成新的单据。
通过Clone复制单据信息,更该字段后再通过ISaveService进行保存;
public override void EndOperationTransaction(EndOperationTransactionArgs e)
{
base.EndOperationTransaction(e);
if (e.DataEntitys.Length > 0)
{
for (int i = 0; i < e.DataEntitys.Length; i++)
{
string billno = e.DataEntitys[i]["BillNO"].ToString();
//e.DataEntitys[i].Clone();
IViewService ivs = Kingdee.BOS.App.ServiceHelper.GetService();
MetaDataService metaService = new MetaDataService();
FormMetadata formmeta = metaService.Load(this.Context, "YL_T_TMS_ForwardInfo") as FormMetadata;
DynamicObjectType dt = formmeta.BusinessInfo.GetDynamicObjectType();
DynamicObject[] dyos = ivs.Load(this.Context, new object[] {e.DataEntitys[i]["Id"]}, dt);
if (dyos.Length > 0)
{
DynamicObject[] dyosclon = dyos.Clone() as DynamicObject[];
if (dyosclon != null)
{
IEnumerable infopk =ServiceHelper.GetService().GetSequenceInt64(this.Context, "YL_T_TMS_ForwardInfo", 1);
dyosclon[0]["Id"] = infopk.ElementAt(0);
dyosclon[0]["BillNo"] = dyosclon[0]["BillNo"] + "QC";
//dyosclon[0][""]
DynamicObjectCollection forwardInfoForw =dyosclon[0]["YL_T_TMS_ForwardInfoForw"] as DynamicObjectCollection;
if (forwardInfoForw.Count > 0)
{
//int[] forwpk = ServiceHelper.GetService().GetSequenceInt32(this.Context, "YL_T_TMS_ForwardInfoForw", forwardInfoForw.Count);
//for (int j = 0; j < forwardInfoForw.Count; j++)
//{
// forwardInfoForw[j]["Id"] = forwpk[j];
//}
forwardInfoForw.Clear();
}
DynamicObjectCollection dyocmat = dyosclon[0]["YL_T_TMS_ForwardInfoMAT"] as DynamicObjectCollection;
if (dyocmat.Count > 0)
{
//int[] matpk = ServiceHelper.GetService().GetSequenceInt32(this.Context, "YL_T_TMS_ForwardInfoMAT", dyocmat.Count);
for (int j = 0; j < dyocmat.Count; j++)
{
dyocmat[j]["Id"] = infopk.ElementAt(0);
}
}
ISaveService ise = Kingdee.BOS.App.ServiceHelper.GetService();
ise.Save(this.Context, formmeta.BusinessInfo, dyosclon);
}
}
}
}
}①先根据单据ID调用Load方法加载出完整的数据包:
formID="PUR_PurchaseO
复制整张单据并保存
现需要通过插件在点击按钮时,实现:复制当前整张单据(包括单据头以及所有单据体),更改其中部分字段后保存生成新的单据。 通过Clone复...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



