Справка по надстройке InfoPath - сохранение копии активного шаблона формы, отображение пользовательской кнопки в режиме разработки, вызов метода в решении формы

StackOverflow https://stackoverflow.com/questions/936426

  •  06-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь создать надстройку InfoPath, позволяющую редакторам шаблонов (в отличие от конечных пользователей) просматривать форму с заполненными образцами данных.

Сначала немного о нашем окружении.У нас есть пользовательский процесс, который подключается к MOSS, загружает соответствующие сборки источников данных для данной формы и вызывает их для загрузки данных из базы данных в форму (например, информации об адресе получателя в шаблоне письма).Этот процесс запускается, когда форма загружается и передаются параметры (через URL) для извлечения данных.Я могу приблизить это поведение, передав параметры локально сохраненному шаблону формы через командную строку.

Вооружившись этими знаниями, я приступил к созданию надстройки InfoPath, которая выполняла бы следующее:

  1. Отобразите пользовательскую кнопку панели инструментов в режиме разработки, которую редактор шаблонов может нажать, чтобы заполнить форму образцами данных (требуется передача параметров).
  2. Когда кнопка будет нажата, сохраните копию активного шаблона во временной папке и используйте команду Shell() для передачи параметров форме.Затем копия формы будет запущена в отдельном окне InfoPath.

Я ссылался на различные онлайн-руководства и Apress 'Pro InfoPath 2007 для получения рекомендаций на этом пути и, как и в предыдущих публикациях здесь, обнаружил, что доступная информация очень ограничена.Я уже на полпути к этому, но столкнулся с несколькими проблемами:

  1. Мне удалось заставить кнопку пользовательской панели инструментов отображаться, но только в режиме предварительного просмотра.Мне нужно, чтобы кнопка отображалась в режиме разработки.
  2. Приложение.ActiveWindow.XDocument.Метод SaveAs(), по-видимому, сохраняет только форму, а не весь шаблон.Возможно, это потому, что я нахожусь в режиме предварительного просмотра, а не в режиме разработки?Возможно, решение первой проблемы решит и эту проблему.
  3. Стремясь избежать двух вышеуказанных проблем, я рассмотрел, как я мог бы вызвать обработчик FormEvents_Loading в моем решении шаблона формы.Это позволило бы мне передать ему тестовые параметры, не прибегая к сохранению копии и запуску ее через командную строку.Я не мог понять, как это сделать.

Есть какие-нибудь идеи или предложения?Заранее спасибо за вашу помощь!

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top