2013-02-10 3 views
2

У меня есть некоторые формы InfoPath 2010 с настраиваемым кодом, который отправляет информацию в библиотеки форм с поддержкой форм 2010 2010. Одна из форм имеет поле даты, выбранное сборщиком и хранимое в столбце Дата/Время в библиотеке. Форма работала нормально в течение нескольких месяцев, но в один прекрасный день он просто начал неудачу со следующей ошибкой:Ошибка 5337, представляющая форму InfoPath для SharePoint

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 и дает корреляционный идентификатор.

Когда я смотрю на ошибку в журнале событий, детали следующим образом:

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. Локаль системы и региональные настройки согласованы повсюду и не были изменены. Проблема возникла после множества обновлений Windows 20 января, поэтому мне интересно, может ли одна из них вызвать проблему.

Следующие шаги, которые я планирую предпринять, состоят в том, чтобы перестроить и повторно развернуть форму, чтобы узнать, устраняет ли это проблемы. Однако это код, который я унаследовал, и это часть более крупного решения, поэтому я нервничаю из-за перераспределения, если я нарушаю другие вещи. Вот почему я хотел спросить здесь, есть ли у кого-то подобное или аналогичная проблема до этого и может указать на что-то очевидное, что я мог бы упустить из виду.

Спасибо, что взяли на себя труд прочитать это. Любые советы были бы очень оценены.

+0

Хммм ... Службы InfoPath Forms иногда проявляют особые проблемы ... Я бы попробовал увеличить версию формы (отредактировать форму, сохранить) и перераспределить, полностью втянув и удалив решение с сервера, а затем снова добавив и развернув. Я не знаю лучшего совета. –

ответ

1

Я столкнулся с некоторыми проблемами с InfoPath после обновлений Windows и/или SharePoint, поэтому вы не должны исключать, что это является основной причиной проблемы. Я бы проверял все известные проблемы с помощью имени обновлений.

Что касается формата DateTime, является ли ваш пользовательский код установленным значением DateTime? Если да, убедитесь, что вы используете следующий формат для даты.

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

Еще одна вещь, можете ли вы проверить SharePoint LOGS и скопировать исключение stacktrace?

+0

Благодарим вас за то, что вы меня на правильном пути. Ваш ответ заставил меня просмотреть код, который я до сих пор считал правильным. В базовом бизнес-правиле говорится, что расходы принимаются за два месяца до текущего месяца. Разработчик определил месячную часть даты отсечения с помощью 'DateTime.Today.Month - 2', которая отлично работала, когда решение было развернуто в июне, и продолжало работать нормально до января. –

+0

Привет, Франк, рад видеть, что ответ вам помог. Дайте мне знать, работает ли форматирование DateTime или нет. –

+0

Привет, Родриго, извините, что так долго нужно было подтвердить. Форматирование DateTime не было необходимым - все работало, как только я использовал более надежный алгоритм для вычисления даты отсечки. В очередной раз благодарим за помощь. –

Смежные вопросы