DynamicObject集合怎么转换为数组?
金蝶云社区-nmgzjf
nmgzjf
1人赞赏了该文章 2,354次浏览 未经作者许可,禁止转载编辑于2016年08月18日 00:28:24

需求场景是:
销售合同保存时,更新装修合同(自定义两个BOS单据)相关字段。

编写单据插件,保存前事件即可(不考虑事务等其他情况)

保存时,根据销售合同的房屋编号,去装修合同里搜索,日期最近的该房屋编号,因为有排序问题,所以采用如下代码:
//查找装修合同
FormMetadata meta = MetaDataServiceHelper.Load(this.Context, "ZJG_DecorateContract") as FormMetadata;
QueryBuilderParemeter querypara = new QueryBuilderParemeter
{
FormId = "ZJG_DecorateContract",
FilterClauseWihtKey = string.Format(" FHouseLocation='{0}' AND FCLOSESTATUS='A'", (this.View.Model.GetValue("FHouseLocation") as DynamicObject)["FNumber"].ToString()),
OrderByClauseWihtKey = " FDate DESC",
SelectItems = SelectorItemInfo.CreateItems("FID")
};
DynamicObjectCollection dyhtBills = QueryServiceHelper.GetDynamicObjectCollection(this.Context, querypara);
if (dyhtBills.Count <= 0) return;

得到的结果是集合DynamicObjectCollection

随后要进行字段赋值等操作后保存,但保存调用的
OperateOption saveoption = OperateOption.Create();
ISaveService savefunc = ServiceHelper.GetService();

IOperationResult saveResult;
saveResult = savefunc.Save(this.Context, meta.BusinessInfo, htBills, saveoption); //.ToArray()
这里的htBills,是DynamicObject[],我不确定是不是数组

就是不知道如何能将DynamicObjectCollection类型转换为DynamicObject[]呢?
求具体 代码,谢谢各位大神!