Pergunta

I have an InfoPath 2010 form that enables users to create vacation requests and store them in a SharePoint 2010 form library.

When a user submits the form, the value of the Vacation Status column in the library is set to Pending, triggering a workflow that sends an email to the user's manager.

The manager clicks a link in the email, which opens the form in a browser, and clicks Approve. This changes the value of the Vacation Status column to Approved, triggering a workflow that sends an email back to the user to say the request has been approved.

The problem is, something has gone wrong with the form. When the manager clicks Approve, it should trigger an InfoPath form rule that sets the value of the Vacation Status column to Approved, but the column is not being updated. The Modified column is not updated either, which sugggests nothing is being uploaded to SharePoint when the Approve button is clicked.

The InfoPath form has a rule that runs when the Approve button is clicked, and its action is to set the value of the VacationStatus field to Approved; this field is then promoted to the SharePoint library on submission.

No error is generated in the Event Viewer. I have enabled ULS logging and have attached an extract below. I hope this is enough - I didn't want to clog up the post with too much detail.

Calling GlobalStorage.SetItem with index IsConversionInProgress value type Boolean.
XmlFormView: Entering OnInit
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
XmlFormView: Leaving OnInit
FormServerPage OnInit Enter: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1
GlobalStorage.Enter: New context - {F888E1A1-20CA-470d-A2F4-498A9ECD1C67}   Total contexts - 1
GlobalStorage.Leave: Old context - {F888E1A1-20CA-470d-A2F4-498A9ECD1C67}   Total contexts after Leave - 0
Calling GlobalStorage.SetItem with index IsConversionInProgress value type Boolean.
Calling GlobalStorage.SetItem with index SiteAndWebCache value type SiteAndWebCache.
XmlFormView: Entering OnDataBinding
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
Calling GlobalStorage.SetItem with index BusinessLogicAssemblies value type Dictionary`2.
Calling GlobalStorage.SetItem with index EditingSessionId value type String.
Creating document with editingSessionId: 1cff78abc351429e8df5c5733d481407_90175d3f7fa04d9384760909b98c30a6
Calling GlobalStorage.SetItem with index TimeZoneId value type UInt16.
DataObject.Deserialize.Load for XML name: finished in:00:00:00.0005151.
Calling GlobalStorage.SetItem with index CultureData value type RequestCultureData.
Calling GlobalStorage.SetItem with index FormState value type FormStateBag.
Calling GlobalStorage.SetItem with index XmlForm value type XmlFormHost.
XmlForm.PlayEventLog: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1 finished in:00:00:00.0003444.
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
XmlFormView: Leaving OnDataBinding
FormServerPage OnInit Leave: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1
FormServerPage CreateChildControls Enter: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1
FormServerPage CreateChildControls Leave: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
XmlFormView: Entering Render
Calling GlobalStorage.SetItem with index GlobalPageObjectsRendered value type Boolean.
DataObject.Serialize.Save for XML name: finished in:00:00:00.0009733.
Disposing all cached sites.
XmlFormView: Leaving Render
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
Calling GlobalStorage.RemoveAllDecumentOnly!
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
Calling GlobalStorage.RemoveAll!
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0
FormServerPage EndProcessRequest: http://intranet/_layouts/FormServer.aspx?XmlLocation=/apps/Vacation/INTRANET_FHenry - 20130227003027.xml&ClientInstalled=true&Source=http://intranet/apps/Vacation/Forms/Temporary%2520view.aspx&DefaultItemOpen=1
Request: Posting back to the Postback Page (XmlHttp).
Calling GlobalStorage.SetItem with index GlobalPageObjectsRendered value type Boolean.
GlobalStorage.Enter: New context - FormControl   Total contexts - 1
Calling GlobalStorage.SetItem with index IsConversionInProgress value type Boolean.
Calling GlobalStorage.SetItem with index SiteAndWebCache value type SiteAndWebCache.
Calling GlobalStorage.SetItem with index CultureData value type RequestCultureData.
Calling GlobalStorage.SetItem with index TimeZoneId value type UInt16.
Calling GlobalStorage.SetItem with index BusinessLogicAssemblies value type Dictionary`2.
Calling GlobalStorage.SetItem with index EditingSessionId value type String.
Creating document with editingSessionId: 1cff78abc351429e8df5c5733d481407_90175d3f7fa04d9384760909b98c30a6
DataObject.Deserialize.Load for XML name: finished in:00:00:00.0005092.
Calling GlobalStorage.SetItem with index FormState value type FormStateBag.
Calling GlobalStorage.SetItem with index XmlForm value type XmlFormHost.
PostbackPage.PlayEventLog:http://intranet/_layouts/Postback.FormServer.aspx finished in:00:00:00.0002112.
Abandoning state for request. Form Template: urn:schemas-microsoft-com:office:infopath:Vacation-Form:-myXSD-2012-06-28T00-57-45
Not persisting state for request due to previous errors. Form Template: urn:schemas-microsoft-com:office:infopath:Vacation-Form:-myXSD-2012-06-28T00-57-45
Disposing all cached sites.
Calling GlobalStorage.RemoveAll!
GlobalStorage.Leave: Old context - FormControl   Total contexts after Leave - 0

I hope I have explained this clearly. I am by no means an InfoPath expert. This is code that was developed by a contractor who is no longer available. It had been working fine for quite a while and then it stopped. I am not aware of any configuration changes, permissions, etc. that might have affected it. However, I have redeployed the form a few times. This has not fixed the problem but neither has it broken anything because the initial submission of the form data to SharePoint works.

Foi útil?

Solução

Please check your data connections. The one used by the Approve rule (and fails) is probably different from the main submit data connection.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top