2

我有一些带有自定义代码的 InfoPath 2010 表单,可将​​信息提交到支持 SharePoint 2010 表单的库。其中一个表单有一个日期字段,由选择器选择并存储在库中的日期/时间列中。该表单几个月来一直运行良好,但有一天它刚刚开始失败并出现以下错误:

There has been an error while processing the form. 
Click OK to resume filling out the form. You may want to check 
your form data for errors. 

当我单击“显示错误详细信息”时,它会显示错误代码 5337 并提供相关 ID。

当我在事件日志中查找错误时,详细信息如下:

Business logic failed due to an exception. (User: XXX\frank, Form 
Name: Miscellaneous Form, IP: , Request:
http://intranet//apps/_layouts/FormServer.aspx
XsnLocation=/FormServerTemplates/Miscellaneous  
Form.xsn&Source=/apps/SitePages/expenses.aspx&DefaultItemOpen=1, 
Form ID: urn:schemas-microsoft-com:office:infopath:
Miscellaneous-Form:-myXSD-2012-05-14T12-19-23, 
Type: FormatException, 
Exception Message: String was not recognized as a valid DateTime.)

我完全不知道这个问题是如何出现的。在工作和停止之间没有触及解决方案的任何方面。InfoPath 表单上的日期格式与 SharePoint 列表列中的日期格式相同。系统区域设置和区域设置在所有地方都是一致的,并且没有更改。这个问题是在 1 月 20 日的一系列 Windows 更新之后出现的,所以我想知道其中一个是否可能导致了这个问题。

我计划采取的下一步是重建和重新部署表单,看看是否能解决问题。然而,这是我继承的代码,它是更大解决方案的一部分,所以我对重新部署感到紧张,以防我破坏其他东西。这就是为什么我想在这里问是否有人遇到过这个或类似的问题,并且可以指出一些我可能忽略的明显问题。

感谢您不厌其烦地阅读本文。任何建议将不胜感激。

4

1 回答 1

1

在 Windows 和/或 SharePoint 更新后,我遇到了一些 InfoPath 问题,因此您不应该排除这是问题的根本原因。我会使用更新的名称检查任何已知问题。

关于 DateTime 格式,您的自定义代码是否设置了 DateTime 值?如果答案是肯定的,请确保您使用以下日期格式。

infoPathField.SetValue(dateFieldItem.ToString("yyyy-MM-dd"));

另一件事,您可以检查 SharePoint 日志并复制异常堆栈跟踪吗?

于 2013-02-11T15:56:37.807 回答