销售出库单调用服务保存,但是FSTOCKORGID赋值了也取不到
金蝶云社区-朱黎东
朱黎东
0人赞赏了该文章 1,521次浏览 未经作者许可,禁止转载编辑于2015年06月05日 14:58:01

销售出库单调用服务保存,但是FSTOCKORGID赋值了也取不到,也就是其实是赋值了,但是没有取到FSTOCKORGID,所以报错
下面是销售出库单的保存过程
public IOperationResult OutStock_Save()
{
////参考代码,未实际运行,注意按需要修改
//获取销售订单的元数据
FormMetadata meta = MetaDataServiceHelper.Load(this.Context, "SAL_OutStock") as FormMetadata;
//业务元数据BusinessInfo
BusinessInfo info = meta.BusinessInfo;
//获取表单服务商
IResourceServiceProvider formServiceProvider = meta.BusinessInfo.GetForm().GetFormServiceProvider(true);
IBillWebService billWebService = formServiceProvider.GetService(typeof(IDynamicFormView)) as IBillWebService;

/******创建单据打开参数*************/
Form form = meta.BusinessInfo.GetForm();
BillOpenParameter billOpenParameter = new BillOpenParameter(form.Id, meta.GetLayoutInfo().Id);
billOpenParameter = new BillOpenParameter(form.Id, string.Empty);
billOpenParameter.Context = this.Context;
billOpenParameter.ServiceName = form.FormServiceName;
billOpenParameter.PageId = Guid.NewGuid().ToString();
billOpenParameter.FormMetaData = meta;
billOpenParameter.LayoutId = meta.GetLayoutInfo().Id;
billOpenParameter.Status = OperationStatus.ADDNEW;
billOpenParameter.PkValue = null;
billOpenParameter.CreateFrom = CreateFrom.Default;
billOpenParameter.ParentId = 0;
billOpenParameter.GroupId = "";
billOpenParameter.DefaultBillTypeId = null;
billOpenParameter.DefaultBusinessFlowId = null;
billOpenParameter.SetCustomParameter("ShowConfirmDialogWhenChangeOrg", false);
List value = form.CreateFormPlugIns();
billOpenParameter.SetCustomParameter(FormConst.PlugIns, value);

//初始化视图
((IDynamicFormViewService)billWebService).Initialize(billOpenParameter, formServiceProvider);

//表单视图
IBillView bill_view = (IBillView)billWebService;
bill_view.CreateNewModelData();
//给各字段赋值
bill_view.Model.SetValue("FOwnerTypeIdHead", "BD_OwnerOrg");
bill_view.Model.SetValue("FOwnerIdHead", 100892);
bill_view.Model.SetValue("FSTOCKORGID", 100892);
bill_view.Model.SetValue("FSALEORGID", 100892);
bill_view.Model.SetValue("FCUSTOMERID", 873825);
//bill_view.Model.CreateNewEntryRow("FEntity");
bill_view.Model.SetValue("FMATERIALID", 769107, 0);
bill_view.Model.SetValue("FBASEUNITID", 10101, 0);
bill_view.Model.SetValue("FUNITID", 10101, 0);
bill_view.Model.SetValue("FAUXPROPID", 100021, 0);
bill_view.Model.SetValue("FLOT", 1439283, 0);
bill_view.Model.SetValue("FREALQTY", 1, 0);
bill_view.Model.SetValue("FSTOCKID", 145485, 0);
IOperationResult save_result = bill_view.Model.Save();
return save_result;
}