移动表单提交异常,未将对象引入设置到对象的实例
金蝶云社区-云社区用户9kV62015
云社区用户9kV62015
0人赞赏了该文章 936次浏览 未经作者许可,禁止转载编辑于2016年04月12日 09:17:38

private GetFormStatePlugIn getFormStatePlugIn = new GetFormStatePlugIn();
private IBillView _sourceBillView = null;
protected IBillView SourceBillView
{
get
{
if (_sourceBillView == null)
{
_sourceBillView = OpenWebView(SourceObject["Id"]) as IBillView;
}
return _sourceBillView;
}
}
private IDynamicFormView OpenWebView(object pkid = null)
{
var meta = SourceBillMetadata;
BusinessInfo info = meta.BusinessInfo;
Form form = info.GetForm();
BillOpenParameter param = new BillOpenParameter(form.Id, null);
param.SetCustomParameter("formID", form.Id);
param.SetCustomParameter("status", (pkid != null ? "View" : "AddNew"));//有源单内码,就是修改模式,否则是新增模式
param.SetCustomParameter("PlugIns", form.CreateFormPlugIns());
param.Context = this.Context;
param.ServiceName = form.FormServiceName;
param.PageId = Guid.NewGuid().ToString();
param.FormMetaData = meta;
param.LayoutId = param.FormMetaData.GetLayoutInfo().Id;
param.Status = !IsPrimaryValueEmpty(pkid) ? OperationStatus.VIEW : OperationStatus.ADDNEW;
param.PkValue = pkid;
param.CreateFrom = CreateFrom.Default;
param.ParentId = 0;
param.GroupId = "";
param.DefaultBillTypeId = null;
param.DefaultBusinessFlowId = null;
param.SetCustomParameter("ShowConformDialogWhenChangeOrg", false);
IResourceServiceProvider provider = form.GetFormServiceProvider();
IDynamicFormView bv = provider.GetService(typeof(IDynamicFormView)) as IDynamicFormView;
(bv as IBillViewService).Initialize(param, provider);
(bv as IDynamicFormView).RegisterPlugIn(getFormStatePlugIn);
(bv as IBillView).CreateNewModelData();
if (param.Status != OperationStatus.ADDNEW)
{
(bv as IBillViewService).LoadData();
}
return bv;
}
bool bSave = SourceBillView.InvokeFormOperation(FormOperationEnum.Submit);
用户代码未处理 System.NullReferenceException
Message=未将对象引用设置到对象的实例。
Source=Kingdee.BOS.Web
StackTrace:
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.RegisterService()
在 Kingdee.BOS.Web.List.ListController.RegisterService()
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.GetFormConfig(JSONObject showParam, FormMetadata formMetadata)
在 Kingdee.BOS.Web.DynamicForm.AbstractDynamicWebFormView.ShowForm(DynamicFormShowParameter param, Action`1 action)
在 Kingdee.BOS.Business.Bill.Operation.Submit.SelectTemplate(IOperationResult fullResult)
在 Kingdee.BOS.Business.Bill.Operation.Submit.DoWorkflowSubmit(IOperationResult fullResult, String[] ids)
在 Kingdee.BOS.Business.Bill.Operation.Submit.DoSubmit(IOperationResult fullResult)
在 Kingdee.BOS.Business.Bill.Operation.Submit.ExecuteBillOperation(OperateOption option)
在 Kingdee.BOS.Business.Bill.Operation.Submit.ExecuteOperation()
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormOperation.Operation(CallBackWfAfterOperation callbackwf, IOperationResult result)
在 Kingdee.BOS.Core.DynamicForm.AbstractDynamicFormOperation.Execute(InvokeFormOperation4WfParam param, CallBackWfAfterOperation callbackwf)
在 Kingdee.BOS.Web.DynamicForm.AbstractDynamicWebFormView.InvokeFormOperation(FormOperationEnum operation)
在 MobileOfficeApply.OfficeApplyMBill.ButtonClick(ButtonClickEventArgs e)
在 Kingdee.BOS.Core.DynamicForm.PlugIn.DynamicFormViewPlugInProxy.FireButtonClick(ButtonClickEventArgs e)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormView.ButtonClick(String key, String menuKey)
在 Kingdee.BOS.Mobile.Web.MobileView.ButtonClick(String key, String menuKey)
在 Kingdee.BOS.Web.DynamicForm.DynamicWebFormController.ButtonClick(String buttonKey, String menuKey, JSONArray postDatas)
InnerException:

我调试看到, SourceBillView不是null,但是报异常。应该是代码内部报的异常。是不是参数传的有问题。我配置了一个工作流。和审批流,入口单据都是本单据。
求各位大神,专家,高手,帮助小弟,谢谢!