Не первый раз сталкиваюсь с ситуацией, когда ручное редактирование файла manifest.xsf дает более быстрое решение задачи нежели работа мышкой. Но в данном случае я, к сожалению, вообще не знаю как это сделать без редактирования XML файла.
Задача стояла следующая. Отображать собственное сообщение, если тип введенного в текстовое поле значения не соответствует типу определенному в XSD схеме. По умолчанию InfoPath показывает сообщения стандартного вида, в то время как я хотел отображать сообщения содержащие бизнес информацию для пользователя
Собственно решение (применимо как для 2003 так и для 2007 версии InfoPath)
<xsf:xDocumentClass>
...
<xsf:schemaErrorMessages>
<xsf:override match="/XPath/To/Node" >
<xsf:errorMessage type="modeless" shortMessage="Краткое сообщение (максимум 127 символов)">Подробное описание
</xsf:errorMessage>
</xsf:override>
</xsf:schemaErrorMessages>
</xsf:xDocumentClass>
Кстати, достаточно полное описание формата файла manifest.xsf можно найти тут. Хотя этот документ описывает структуру файла для InfoPath 2003, но по большей части все применимо и для 2007 версии.
Hi, very nice site! [url="http://iva.e-uni.ee/e-voti/Members/vitlab"]enchancement pill[/url][url="http://iva.e-uni.ee/e-voti/Members/vitalab"]enlargement pill[/url] <URLsWithHREF>
Владимир, здравствуйте! Только что обнаружил ваш блог, и был приятно удивлен найти несколько статей про InfoPath на русском языке!
Вы правы, к сожалению, сейчас нет хорошего пути изменить сообщение о неверном типе данных. Оно прошито в xsf, и поменять можно только вручную.
Существует много других "недоступных" для легкого редактирования полей - по существу, все эти просьбы перекликаются с темой View-side object model, в дополнение к обьектной модели, построенной на данных.