凭证导入时核算维度无法赋值
金蝶云社区-云社区用户YU2Q1234
云社区用户YU2Q1234
0人赞赏了该文章 1,539次浏览 未经作者许可,禁止转载编辑于2016年04月18日 08:00:02

最近开发一个凭证导入的功能时,其中凭证分录中的核算维度一直没法保存。

对于FDetailID的获取,我先在T_BD_FLEXITEMDETAILV表中查询是否存在核算维度明细数据,如果没有则插入FLEXITEMDETAILV和T_BD_FLEXITEM数据,然后我DEBUG发现数据都正常,最后获取的FDetailID在T_BD_FLEXITEMDETAILV表中也是存在的。

但是,我通过BusinessDataServiceHelper.Save的方法凭证时,FDetailID一直都没法保存成功,下面是粗略的代码逻辑:

private DynamicObject GenerateReceive(List entities)
{
BusinessInfo info = voucherMeta.BusinessInfo;
DynamicObject toSaveBill = new DynamicObject(info.GetDynamicObjectType());
......
var FEntity = info.GetEntryEntity("FEntity");
foreach (var item in entities)
{
......
var entry = new DynamicObject(FEntity.DynamicObjectType);
(info.GetField("FDetailID") as RelatedFlexGroupField).RefIDDynamicProperty.SetValue(entry, detailID); // DEBUG确定detailID已经正常获取
//entry["DETAILID"] = viewservice.LoadSingle(this.Context, detailID.ToString(), (info.GetField("FDetailID") as RelatedFlexGroupField).RefFormDynamicObjectType); // 这里也无效
}
return toSaveBill;
}

voucherEntities.Add(GenerateReceive(entities));
BusinessDataServiceHelper.Save(this.Context, voucherMeta.BusinessInfo, voucherEntities.ToArray(), null, "Save");

最终保存时,其他的都正常,就是核算维度一直在后台数据库中都是0,请问一下这个要怎么处理啊?

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0