Microsoft Office InfoPath 2007 — один из наименее известных инструментов в комплекте приложений Microsoft Office. В данной статье я объясню, что может предложить InfoPath, и подробно расскажу о том, как использовать его с Microsoft Office SharePoint Server (MOSS) 2007. Для иллюстрации преимуществ InfoPath возьмем общепринятый отчет по расходам. Возросшая популярность SharePoint делает InfoPath полезным инструментом, в который компании несомненно стоит вкладывать деньги.

Основы InfoPath

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

InfoPath представляет собой набор связанных друг с другом файлов. В приложении имеется файл на XML, который представляет собой источник данных для собранных внутри формы данных. Такой гибкий формат чрезвычайно полезен для других приложений, предназначенных для чтения и переработки данных формы. Конструктор или внешнее представление — это простой XSL с несколькими дополнительными файлами для управления правилами, соединениями данных и т. д. Если вы переименуете свой шаблон InfoPath с расширением XSN в CAB-файл, вы сможете извлекать и просматривать индивидуальные компоненты, такие как текстовые файлы, и легко увидите, как они связаны.

InfoPath имеет встроенные возможности соединения с Microsoft SQL Server, Access, SharePoint и Web Services для того, чтобы читать и записывать данные для значительного числа приложений и хранилищ данных. Эти свойства делают InfoPath хорошей площадкой для создания небольших приложений, которые соединяют несколько систем выбора и изменения данных. Более того, InfoPath далее может собирать и пересылать данные в легко читаемых форматах по электронной почте и в SharePoint. Большинство из этих задач могут быть выполнены без компиляции кода.

Две важные функции для развертывания InfoPath — это детальные правила и компоненты проверки, которые пользователи могут создавать без необходимости написания кода. Приложение позволяет конструктору форм просматривать общие элементы управления интерфейса и работать с ними. Базовый источник данных можно просмотреть и им можно управлять при помощи интуитивной функции XPath, не зависящей от конструктора. Например, у вас может быть набор правил для проверки; эти правила проверяют контент или любые другие элементы управления, выполняют вычисления и сразу же дают вам знать, какие правила выполнены, а какие нет. Правила могут быть объединены для выполнения сложной проверки данных и особых операций управления при выводе.

Вы можете сохранить части форм в виде шаблонов для повторного использования в нескольких формах. Этот подход устраняет необходимость в копировании и вставке и дает организациям возможность создавать компоненты с особыми функциями или нужными элементами схемы для совместного использования из конструкторов форм.

Интеграция с SharePoint

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

Forms Services

Дополнительную мощь использованию InfoPath с SharePoint придают службы InfoPath Forms Services, которая является корпоративной функцией SharePoint, динамично транслирующей форму InfoPath в веб-страницу через особые серверные технологии. Рассмотрим предыдущий пример, в котором форма InfoPath используется как шаблон для типа контента. Веб-активные формы позволяют создавать и публиковать формы прямо в SharePoint и использовать их для немедленного начала сбора данных XML без обращения к дополнительному клиентскому программному модулю вне веб-браузера.

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

Предусмотрены специальные возможности для проектирования форм и сбора данных. InfoPath настроен так, чтобы посылать выбранные поля в поля SharePoint как метаданные, используя встроенные функции и требуя от пользователя минимум усилий. Затем эти данные можно найти при помощи компонентов индексирования и поиска SharePoint или они могут применяться для запуска процессов обработки документов, бизнес-логики или пользовательских приложений, которые уже существуют в корпоративной среде.

InfoPath обладает важными усовершенствованиями про сравнению со стандартной коллекцией данных SharePoint со встроенными списками. Обычно при работе со списками SharePoint возможности конструктора вносить какие-либо изменения во встроенные формы new forms или edit forms, которые сгенерированы на всех списках SharePoint, ограничены. Этим стандартным формам не хватает определенной гибкости, например возможности ограничивать доступ к определенным полям при редактировании элементов списка SharePoint или обеспечивать динамический доступ к элементам управления или источникам дополнительных данных вне традиционных столбцов поиска SharePoint. Встроенный механизм хранения элементов списков SharePoint ограничивает потенциал для экспорта и доступа к данным списков, что свободно может делать XML-форма InfoPath. С этими проблемами можно без труда справиться, если вы выбираете InfoPath как форму для сбора данных. Кроме того, InfoPath очень легко настроить.

Использование InfoPath

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

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

Я пробегусь по верхам этого процесса, чтобы объяснить, какие кусочки должны быть встроены и как они собираются. Вероятно, наши проекты о расходах распадутся на следующие шаги:

  • конвертирование существующих форм в InfoPath;
  • утверждение;
  • соединение с внешними приложениями.

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

Конвертирование существующих форм в InfoPath. Существующие бумажные формы, наряду с файлами Word и Excel, могут быть занесены в каталог и конвертированы в подходящие формы InfoPath либо сгруппированы в одну гибкую форму. Например, форма о расходах, конвертированная в InfoPath и собирающая данные о расходах у индивидуальных пользователей, будет сохранена в библиотеке форм.

На экране 1 показана форма о расходах InfoPath, которая может выводить текущие курсы обмена, суточные при командировках и т. д., затем подсчитывать их и автоматически вводить в качестве элементов строк. Форма также может вести поиск по информации пользователя, затребовать исключительного использования и т. д.

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

Утверждение. Имеющийся изначально или прикладной процесс обработки документов создается для привязки к форме менеджера пользователя для утверждения, а затем и для общего подсчета. Прикладной процесс может заменить формы редактирования существующего задания собственными формами InfoPath. Прикладные формы ценны тем, что способны собирать и обрабатывать данные по мере того, как пользователи выполняют задачи для утверждения отчетов о расходах. Данные могут быть такими же простыми, как и установка флажков на запросе дополнительной проверки (см. экран 2), либо сложными, с запросом других систем для поиска и включения этих данных в локальный отчет о расходах.

Задача на получение утверждения от менеджера для отчета о расходах

Для получения дополнительной функциональности вы можете легко построить свою веб-часть, которая позволяет пользователям прикреплять цифровые квитанции и подтверждать расходы, указанные в отчете. Эти файлы могут быть присоединены к особым элементам в отчете о расходах, как показано на экране 3. Бухгалтеры играют важную роль в управлении данными и могут извлекать выгоду из панели индикаторов, которая выводит все данные о расходах в виде индивидуальных элементов с нужными вложениями, распределенными по категориям в соответствии с кодами бухгалтерского учета для более легкого управления и экспорта.

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

Попробовать стоит

Комбинирование InfoPath и Share­Point дает обычным пользователям ряд возможностей для сбора и управления данными, а не просто применения списков и метаданных SharePoint для создания стандартных форм из коллекций списков — и все это без написания кода! Разработчикам стоит опробовать свойства и возможности InfoPath, перед тем как начать использовать Visual Studio для написания веб-форм или полностью нового приложения на ASP.NET. Вы просто можете добавить код в InfoPath, чтобы адаптировать приложение под свои нужды.

Изучение InfoPath не является слишком сложной задачей, поэтому можно начать использовать его прямо сейчас. Основная функциональность так же проста в изучении, как и Word с Excel. Продвижение Microsoft в сторону улучшения функций совместной работы и серверных предложений в комплекте Office, в сочетании с функциями SharePoint, делает InfoPath весьма полезным инструментом. SharePoint 2010 и InfoPath 2010 будут в дальнейшем предлагать еще более широкую функциональность и давать гибкость в работе с деталями при конвертировании существующих форм списков в прикладные документы InfoPath.

Райан Томас (rthomas@syrinx.com) — директор департамента SharePoint Practice в Syrinx Consulting. Имеет сертификаты Microsoft Certified Professional Developer и Microsoft Certified Application Developer 

Форма InfoPath для сбора информации при составлении отчета о расходах

Прикладная веб-часть с вложением подтверждения о расходах