1

我有一个 InfoPath 2010 表单,它使用户能够创建休假请求并将其存储在 SharePoint 2010 表单库中。

当用户提交表单时,Vacation Status库中列的值设置为Pending,触发向用户经理发送电子邮件的工作流。

经理单击电子邮件中的链接,在浏览器中打开表单,然后单击批准。这会将Vacation Status列的值更改为Approved,从而触发一个工作流,该工作流向用户发送一封电子邮件,说明请求已被批准。

问题是,表格出了点问题。当经理单击 Approve 时,它​​应该触发 InfoPath 表单规则,该规则将列的值设置Vacation StatusApproved,但未更新该列。该列也未更新,这表明单击该按钮Modified时没有将任何内容上传到 SharePoint 。Approve

InfoPath 表单有一个在Approve单击按钮时运行的规则,其操作是将VacationStatus字段的值设置为Approved; 然后在提交时将此字段提升到 SharePoint 库。

事件查看器中不会产生错误。我已启用 ULS 日志记录并在下面附上了摘录。我希望这已经足够了——我不想用太多细节来堵塞帖子。

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

我希望我已经清楚地解释了这一点。我绝不是 InfoPath 专家。这是由不再可用的承包商开发的代码。它已经工作了很长一段时间,然后就停止了。我不知道任何可能影响它的配置更改、权限等。但是,我已经重新部署了几次表格。这并没有解决问题,但也没有破坏任何东西,因为最初将表单数据提交到 SharePoint 是有效的。

4

1 回答 1

0

请检查您的数据连接。Approve 规则使用的(并且失败)可能与主要的提交数据连接不同。

于 2013-03-05T13:37:59.717 回答