Поделиться через


Создание шаблонов форм InfoPath, работающих со службами Forms Services

Формы с поддержкой веб-обозревателя, развернутые в Microsoft Office Forms Server 2007 и Microsoft Office SharePoint Server 2007 с Служба InfoPath Forms Services, поддерживают функции и элементы управления, охватывающие большинство сценариев использования форм InfoPath. Однако формы с поддержкой веб-обозревателя, предоставляемые Служба InfoPath Forms Services, поддерживают не все функции InfoPath. Некоторые функции и элементы управления не реализованы на сервере. Другие функции не имеют адекватного представления на сервере.

В следующих разделах указано, какие функции поддерживаются в формах с поддержкой веб-обозревателя, какие функции нельзя использовать в таких формах, а какие функции можно указать для форм с поддержкой веб-обозревателя, но работать в веб-обозревателе они не будут.

Функции, поддерживаемые и в приложении InfoPath, и в службах InfoPath Forms Services

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

Элементы управления

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

  • Текстовое поле

  • Форматированный текст (доступно для редактирования только в Microsoft Internet Explorer)

  • Раскрывающийся список

  • Список

  • Выбор даты (в веб-обозревателях, отличных от Internet Explorer, обрабатывается как текстовое поле)

  • Флажок

  • Переключатель

  • Кнопка

  • Раздел

  • Дополнительный раздел

  • Повторяющийся раздел

  • Повторяющаяся таблица

  • Вложенный файл

  • Гиперссылка

  • Поле выражения

Описательные функции

Прочие описательные функции, работающие как в InfoPath, так и в веб-обозревателе:

  • Правила

  • Вычисления

  • Проверка

ЗаметкаЗаметка

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

Программа

Код бизнес-логики должен основываться на объектной модели InfoPath с управляемым кодом, предоставляемой пространством имен Microsoft.Office.InfoPath. На запускаемый на сервере код бизнес-логики накладываются следующие ограничения:

  • Поскольку разные серверные запросы могут обрабатываться разными интерфейсными серверами, а также в связи с тем, что Служба InfoPath Forms Services может загружать только один экземпляр бизнес-логики, программистам нельзя полагаться на данные, хранящиеся в глобальных или статических переменных. Чтобы устранить эту проблему, бизнес-логика должна сохранять состояние в контейнер свойств, доступ к которому предоставляется свойством FormState.

  • Подмножество элементов пространства имен Microsoft.Office.InfoPath предоставляет ряд функций, таких как управление правами на доступ к данным (IRM), которые не поддерживаются на сервере. Дополнительные сведения о том, какие элементы объектной модели поддерживаются, а какие нет, см. в разделах "Элементы объектной модели, работающие в приложении InfoPath и в службах InfoPath Forms Services" и "Элементы объектной модели, работающие только в приложении InfoPath" далее в этой теме.

  • Бизнес-логика, написанная с помощью VBScript, JScript и объектной модели, совместимой с InfoPath 2003, которая предоставляется пространством имен Microsoft.Office.Interop.InfoPath.SemiTrust, на сервере не поддерживается.

Функции, не поддерживаемые службами InfoPath Forms Services

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

При использовании функции Проверка макета в режиме конструктора InfoPath для подтверждения совместимости с Служба InfoPath Forms Services неподдерживаемые функции будут приводить к выводу ошибок либо сообщений. Функции, вызывающие ошибки, не позволят публиковать шаблон формы в качестве формы с поддержкой веб-обозревателя. Функции, приводящие к выводу сообщений, допустимы, но при открытии формы в веб-обозревателе эти функции не будут запускаться.

Элементы управления

Следующие элементы управления и функции элементов управления не поддерживаются в шаблонах форм, доступных для открытия как в InfoPath, так и в веб-обозревателе.

  • Фильтр повторяющихся элементов управления

  • Основной/подробности

  • Вертикальная надпись

  • Горизонтальная повторяющаяся таблица

  • Поле со списком

  • Список с множественным выбором

  • Рисунок

  • Рисунок от руки

  • Простой список

  • Маркированный список

  • Раздел выбора

  • Группа выбора

  • Повторяющаяся группа выбора

  • Повторяющийся рекурсивный раздел

Прочие функции, которые не поддерживаются или не полностью поддерживаются службами InfoPath Forms Services

Другие функции, которые не поддерживаются в Служба InfoPath Forms Services:

  • Элементы управления ActiveX

  • Области задач HTML

  • Замещающий текст в элементах управления. Например, "Введите текст" (в веб-обозревателе этот текст не отображается)

  • Подключения к данным баз данных ограничены доступом только для чтения к базам данных сервера SQL

  • Роли пользователей

  • Расширяемость цифровых подписей посредством объектной модели. Цифровые подписи на сервере поддерживаются посредством элемента управления ActiveX, который запускается только в веб-обозревателе Microsoft Internet Explorer.

  • Интеграция службы HWS. Служба HWS не рекомендуется сервером BizTalk

  • Переопределения сообщения об ошибке схемы XML. Эта редко используемая функция позволяет разработчику формы предоставить сообщение, отличное от предоставляемого службой MSXML или System.Xml, когда документ не проходит проверку (как правило, в связи с несовпадением типов). Эта функция не поддерживается в пользовательском интерфейсе конструктора и требует ручного редактирования файла определения формы (.xsf).

Функции, не имеющие прямых аналогов в службах InfoPath Forms Services

Другие возможности, которые не поддерживаются в Служба InfoPath Forms Services:

  • Всплывающие диалоговые окна при немодальной проверке

  • Интеграция с Outlook

  • Надстройки COM

  • Объединение форм

  • Автосохранение, обнаружение сбоев и восстановление после сбоев

  • Почтовый конверт

  • Экспорт в Excel

  • Функции планшета и рукописного ввода, включая элемент управления Рисунок от руки

  • Отменить или повторить

  • Управление правами на доступ к данным.

  • Модальные диалоговые окна из бизнес-логики

  • Расширяемость XSLT (блоки xd:preserve)

  • Внешняя автоматизация

  • Автономное кэширование запросов

  • Проверка правописания

  • Режим безопасности "Ограниченный"

ЗаметкаЗаметка

Эти функции не приводят к ошибкам или уведомлениям при использовании функции Проверка макета в режиме конструктора InfoPath.

Элементы объектной модели, работающие как в приложении InfoPath, так и в службах InfoPath Forms Services

Приложение InfoPath предоставляет новую объектную модель с управляемым кодом, использующую базовый набор возможностей для создания настраиваемой бизнес-логики в шаблонах форм. При развертывании в Microsoft Office Forms Server 2007 или в Office SharePoint Server 2007 с Служба InfoPath Forms Services бизнес-логика, созданная с помощью новой объектной модели, будет запускаться как в веб-обозревателе, так и в InfoPath. При необходимости можно написать бизнес-логику, использующую дополнительные возможности объектной модели, которые будут запускаться только в шаблонах форм, открытых для редактирования в Office InfoPath 2007.

Чтобы написать бизнес-логику, которая будет запускаться при открытии формы как в веб-обозревателе, так и в InfoPath, установите флажок Включить только возможности, совместимые с веб-обозревателем в диалоговом окне Создание шаблона формы при создании нового шаблона формы. Чтобы написать бизнес-логику, которая будет использовать дополнительные возможности только при открытии в InfoPath, снимите флажок Включить только возможности, совместимые с веб-обозревателем при создании нового шаблона формы. Также можно изменить этот параметр после создания шаблона формы, щелкнув Изменить параметры совместимости в области задач Проверка макета, а затем установив или сняв флажок Макет шаблона формы, который можно открыть в веб-обозревателе или в InfoPath. Если требуется создать шаблон формы с поддержкой веб-обозревателя, то компилятор отобразит ошибку в случае использования любых классов или элементов, несовместимых с Служба InfoPath Forms Services.

ЗаметкаЗаметка

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

Следующие классы и элементы объектной модели InfoPath с управляемым кодом, предоставляемые пространством имен Microsoft.Office.InfoPath, поддерживаются как в InfoPath, так и в Служба InfoPath Forms Services.

Родительский класс Элементы

AdoQueryConnection

BuildSqlFromXmlNodes

Command

Connection

Timeout

BuildSqlFromXmlNodes

Command

Connection

Timeout

Application

Environment

Name

User

ButtonEvent

Clicked

ClickedEventArgs

ControlId

Source

ControlEvents

Item

DataConnection

Execute

Name

DataConnectionCollection

Count

GetEnumerator

Item

Item

DataSource

CreateNavigator

GetNamedNodeProperty

Name

QueryConnection

ReadOnly

SetNamedNodeProperty

DataSourceCollection

Count

GetEnumerator

Item

Item

EmailAttachmentType

None

Xml

XmlXsn

EmailSubmitConnection

AttachmentFileName

Bcc

CC

EmailAttachmentType

Execute

Introduction

Subject

To

Environment

IsBrowser

IsMobile

EventManager

ControlEvents

FormEvents

XmlEvents

FileQueryConnection

Execute

FileLocation

FileSubmitConnection

Execute

Filename

FolderUrl

FormError

DetailedMessage

FormErrorType

Message

Name

Site

FormErrorCollection

Add

Add

Count

Delete

Delete

DeleteAll

GetEnumerator

GetErrors

GetErrors

Item

FormErrorType

SchemaValidation

SystemGenerated

UserDefined

FormEvents

Loading

Submit

VersionUpgrade

ViewSwitched

FormTemplate

Manifest

OpenFileFromPackage

Uri

Version

LoadingEventArgs

CancelableArgs

InputParameters

SetDefaultView

SetDefaultView

SharepointListQueryConnection

Execute

QueryThisFormOnly

SiteUrl

SubmitEventArgs

CancelableArgs

User

LoginName

UserName

VersionUpgradeEventArgs

CancelableArgs

DocumentVersion

FormTemplateVersion

View

ViewInfo

ViewInfo

Caption

Name

ViewInfoCollection

Count

Default

GetEnumerator

Initial

Item

Item

SwitchView

SwitchView

WebServiceConnection

Execute

GenerateDataSetDiffGram

ServiceUrl

SoapAction

Timeout

WsdlUrl

XmlEvent

Changed

RaiseUndoRedoForChanged

Validating

XmlEventArgs

Match

NewValue

OldParent

OldValue

Operation

Site

UndoRedo

XmlEvents

Item

Item

XmlForm

CurrentView

DataConnections

DataSources

Errors

FormState

MainDataSource

NamespaceManager

New

NotifyHost

QueryDataConnection

ReadOnly

Signed

Submit

Template

Uri

ViewInfos

XmlLang

XmlFormCancelEventArgs

Message

MessageDetails

XmlOperation

Delete

Insert

None

ValueChange

XmlValidatingEventArgs

ReportError

ReportError

ReportError

XPathTypedValue

Evaluate

SetStringValue

ToString

XPath

Элементы объектной модели, работающие только в приложении InfoPath

Следующие классы и элементы объектной модели InfoPath с управляемым кодом, предоставляемые пространством имен Microsoft.Office.InfoPath, поддерживаются только в Office InfoPath 2007.

ЗаметкаЗаметка

Эти элементы объектной модели можно использовать в коде шаблона формы с поддержкой веб-обозревателя при написании условной логики, которая определяет, открывается ли форма в веб-обозревателе или в Office InfoPath 2007 . Дополнительные сведения см. в статье Практическое руководство. Написание условной логики, определяющей среду выполнения.

Родительский класс Элементы

ActionType

Copy

Cut

Delete

Paste

XCollectionInsert

XCollectionInsertAfter

XCollectionInsertBefore

XCollectionRefreshFilter

XCollectionRemove

XCollectionRemoveAll

XFileAttachmentAttach

XFileAttachmentOpen

XFileAttachmentRemove

XFileAttachmentSaveAs

XOptionalInsert

XOptionalRemove

XReplaceReplace

Application

ActiveWindow

CacheFormTemplate

ComAddIns

GetFormTemplateLocation

IsDestinationReachable

LanguageSettings

MachineOnlineState

Quit

Quit

RegisterFormTemplate

RegisterFormTemplate

UnregisterFormTemplate

UsableHeight

UsableWidth

Version

Windows

XmlForms

Certificate

ExpirationDate

IssuedBy

IssuedTo

Status

CertificateStatus

Error

Expired

NotTrusted

Revoked

Valid

ContextChangedEventArgs

ChangeType

Context

UndoRedo

ErrorMode

Modal

Modeless

ExportFormat

Mht

Pdf

Xps

FormError

ErrorCode

FormErrorCollection

Add

Add

FormEvents

ContextChanged

Merge

Save

Sign

FormTemplate

CacheId

HtmlTaskPane

HtmlDocument

HtmlWindow

Navigate

MachineState

IEInOfflineState

Offline

Online

MailEnvelope

Available

Bcc

CC

EmailAttachmentType

Introduction

Subject

To

Visible

MergeEventArgs

CancelableArgs

Count

Index

Rollback

Xml

Permission

ApplyPolicy

DocumentAuthor

Enabled

PermissionFromPolicy

PolicyDescription

PolicyName

RequestPermissionUrl

StoreLicenses

UserPermissions

PermissionType

Change

Edit

Extract

FullControl

ObjectModel

Print

Read

Save

View

SaveEventArgs

CancelableArgs

CloseIfSaveCancelled

Filename

IsSaveAs

PerformSaveOperation

Signature

Certificate

Comment

Sign

SignatureBlockXmlNode

Status

SignatureCollection

Count

CreateSignature

GetEnumerator

Item

SignatureRelation

Cosign

CounterSign

Single

SignatureStatus

Error

Invalid

Unsupported

Valid

SignedDataBlock

Caption

Name

Sign

SignatureContainer

SignatureRelation

Signatures

XPath

SignedDataBlockCollection

Count

GetEnumerator

Item

ShowSignatureDialog

SignEventArgs

SignatureWizard

SignedDataBlock

TaskPane

TaskPaneType

Visible

TaskPaneCollection

Count

GetEnumerator

Item

Item

TaskPaneType

BulletsNumbering

ClipArt

Find

Formatting

Html

ParagraphFormatting

Replace

Spelling

User

IsUserMemberOf

UserPermission

ExpirationDate

Permission

Remove

UserId

UserPermissionCollection

Add

Add

Add

Add

Count

GetEnumerator

Item

Item

Remove

RemoveAll

View

DisableAutoUpdate

EnableAutoUpdate

ExecuteAction

ExecuteAction

Export

ForceUpdate

GetContextNodes

GetContextNodes

GetSelectedNodes

SelectNodes

SelectNodes

SelectNodes

SelectText

SelectText

ShowMailItem

Window

ViewInfo

HideName

Window

Activate

Active

Caption

Close

Close

CommandBars

Height

Left

MailEnvelope

TaskPanes

Top

Width

WindowState

WindowType

XmlForm

WindowCollection

Count

GetEnumerator

Item

WindowState

Maximized

Minimized

Normal

WindowType

Designer

Editor

XmlChangingEventArgs

CancelableArgs

XmlEvent

Changing

XmlForm

Close

Dirty

Extension

GetWorkflowTasks

GetWorkflowTemplates

Host

Hosted

HostName

MergeForm

MergeForm

Permission

Print

Print

Recovered

Save

SaveAs

SetSaveAsDialogFilename

SetSaveAsDialogLocation

SignedDataBlocks

TaskPanes

UserRole

XmlFormCollection

Count

XmlFormCollection

GetEnumerator

Item

New

New

NewFromFormTemplate

NewFromFormTemplate

NewFromFormTemplate

NewFromFormTemplate

Open

Open

XmlFormOpenMode

XmlFormOpenMode.Default

XmlFormOpenMode.FailOnVersionMismatch

XmlFormOpenMode.FailOnVersionOlder

XmlFormOpenMode.IgnoreDataConnectionsFailure

XmlFormOpenMode.PromptIfSigned

XmlFormOpenMode.ReadOnly

XmlFormOpenMode.TransformEvenIfSigned

XmlFormOpenMode.UseExistingVersion

XmlFormOpenMode.UseFileConverter

XmlValidatingEventArgs

ReportError