代码动态创建表单时,如何给基础资料字段赋值?报错求助
金蝶云社区-zhouyi5362
zhouyi5362
0人赞赏了该文章 1,995次浏览 未经作者许可,禁止转载编辑于2014年10月27日 15:10:27

var bussnessInfo = MetaDataServiceHelper.GetFormMetaData(this.Context, "ZHY_TEST1").BusinessInfo;
var billDynamicObjectType = bussnessInfo.GetDynamicObjectType();
DynamicObject billobj = new DynamicObject(billDynamicObjectType);

//文本字段赋值OK
bussnessInfo.GetField("FItemClass").DynamicProperty.SetValue(billobj,"JCZL1" );

//供应商基础资料字段赋值,根据供应商名称取得FSupplierId,然后赋值。报int转DynamicObject错误。
var qbp = new QueryBuilderParemeter();
qbp.FormId = "BD_Supplier";
qbp.SelectItems = SelectorItemInfo.CreateItems("FSupplierId", "FName");
qbp.FilterClauseWihtKey = "FName='" + name+"'";
DynamicObjectCollection ret = QueryServiceHelper.GetDynamicObjectCollection(this.Context, qbp);
if(ret.Count>0)
{
bussnessInfo.GetField("FSupplier").DynamicProperty.SetValue(billobj,ret[0]["FSupplierId"] );
}