Microsoft InfoPathを介した電子フォーム

こんにちは、habravchane!

画像
あらゆる組織のビジネスプロセスとワークフローには、多くのフォームとフォームの完成が必要です。 これらのプロセスを自動化するタスクには、とりわけ、前代紙のフォームを電子版に置き換えることが含まれます。 同時に、Excelドキュメントに基づくフォーム、Accessに基づくフォーム、asp.netアプリケーションのWebフォーム、企業のデスクトップアプリケーションなど、非常に多くの非常に異なるツールとテクノロジが使用されます。

MS Officeパッケージの一部として、電子フォームを作成するために特別に設計されたプログラムがあります-これはMicrosoft Office InfoPathです。

InfoPathフォームの開発の基本について説明します。 主な焦点は基本的なものにありますが、最終的には、データ接続、InfoPathフォームでのプログラミング、Sharepointとの統合など、より深い側面のいくつかに言及します。



コンセプト


InfoPathフォームの基本原則は、フォームテンプレートとそのデータの分離です。

この部門に従って、InfoPathは2つの方法で動作します。テンプレートを開発するデザイナーと、テンプレートに基づいてフォームを開いて入力するクライアントです。 InfoPath 2007まで、この機能は1つのアプリケーションに統合されていました。 Office 2010では、アプリケーションは2つの独立したコンポーネントに分かれています。テンプレート開発用に設計されたInfoPath Designer(フォームデザイナー)と、テンプレートに基づいて特定のフォームに入力するInfoPath Fillerです。 この記事の例は、InfoPath 2007用です。
通常、フォームテンプレートは、ユーザーがアクセスできる有名な場所で公開されます。 ユーザーがテンプレートを開き、フォームに入力します。 さらにアクションが異なる場合があります:完成したフォームを.xmlファイルとして保存し、どこかに情報を送信します。
.xmlファイルとして保存されたフォームを開いて変更できます。 フォームの構造とデザインはテンプレートで定義されているため、対応するフォームテンプレートの場所を.xmlファイルが「認識」する必要があることは明らかです。 テンプレートが利用できない場合、InfoPathはキャッシュからテンプレートを取得し、変更されている場合は、更新されたテンプレートをダウンロードする機会が与えられます。 フォームテンプレートとそのデータ間のリンクを提供するために、InfoPathにはフォームテンプレートを公開するための高度なアーキテクチャがあります。

簡単な例


それを理解する最良の方法は、手で触ることです。 手始めに、プログラムに付属しているフォームの既製のサンプルを試すことができます。 Microsoft Office InfoPath 2007を開きます。「Getting Started」ウィンドウが表示されたら、左側の「Customize the sample」を選択し、表示されない場合は、「File」メニューに移動し、「Form Template Designer ...」を選択して、再び開くウィンドウで、 「サンプルのカスタマイズ...」を左クリックします。 たとえば、「資産会計」のサンプルをご覧ください。

画像

サンプルをダブルクリックすると、InfoPathはデザインモードで開きます。 フォームテンプレートの編集、不要なフィールドの削除、新しいフィールドの追加などを行うことができます。使用可能なコンポーネント(入力フィールド、チェックボックス、ドロップダウンリスト)を含むパネルは、ウィンドウの右側のタスクバーの[コントロール]リンクで開きます。

画像

テンプレートを「Asset Accounting.xsn」ファイルとして便利な場所に保存します。 おそらく同時に、InfoPathはそれを公開するのはいいと思いますが、今のところは行いません。

画像

これで、テンプレートを開いてフォームに入力できます。

記入後、保存できます。 これは、拡張子が.xmlのファイル(テンプレートに基づくデータファイル)になります。 これにより、1つのテンプレートに基づいて多くのフォームに入力できます。

画像

転記


既に述べたように、InfoPathにはフォームテンプレートを発行するための複雑なアーキテクチャがあります。 コンピューターのどこかに保存した資産会計フォームのテンプレートは、現在私たちだけが利用できます。 幅広いユーザーが利用できるようにしたいと思います。

まず、デザインモードでフォームテンプレートを開きます(ファイルのコンテキストメニューの[デザイナー]アイテム)。
公開ウィザードは、[ファイル]メニューの[公開...]コマンドで起動します。

InfoPathには、フォームを発行するためのいくつかのオプションがあります。 この場合、テンプレートを共有フォルダーに入れましょう。

画像

次のウィザードウィンドウで、発行場所を指定する必要があります。 かつて、私はこの段階で苦しみました。 実行されたアクションの意味がよくわからないため、[参照]ボタンをクリックして、保存されたテンプレートファイルを選択しました。 これは必要ありません。 [フォームテンプレートのパスとファイル名]フィールドには、発行する場所に存在しないファイルへのパスが含まれている必要があります。 したがって、[参照]をクリックし、共有フォルダーにアクセスし、[ファイル名]フィールドで、今後公開されるテンプレートの名前を入力して、[OK]をクリックします。

画像

画像

画像

次のステップでは、公開されたテンプレートにユーザーがアクセスする別の方法を入力する必要があります。 結局のところ、ネットワークリソースのマッピングは、開発者とエンドユーザーの間で異なる場合があります。 エンドユーザーに表示されるネットワークリソースは異なる場合があります。 また、InfoPathでは、公開されたテンプレートへのアクセスも同じ方法で行う必要があります。 したがって、公開時には、2つのパスが設定されます。1つは管理者用(既に設定済み)、もう1つはエンドユーザー用です。 ユーザー側からのパスに違いがない場合は、前の手順で指定したパスを入力フィールドにコピーします。

画像

「次へ」ボタンをクリックした後、入力したデータを確認して「公開」をクリックします。
ウィザードの最後のウィンドウで、公開が成功したことに関するメッセージを楽しみ、公開されたテンプレートに基づいてフォームをすぐに開いて、すべてが正常であることを確認します。

画像

安全性


パブリケーションウィザードの最後のウィンドウに、「セキュリティレベル:ドメイン」という行があります。
フォームのセキュリティレベルによって、フォームが実行できること、フォームの信頼レベルが決まります。
これは、「ツール」メニューから同じ名前のコマンドによって開かれる「フォーム設定」ダイアログボックスの「セキュリティと信頼」タブでフォームテンプレートを開発するときに設定されます。 信頼には、制限レベル、ドメインレベル、完全信頼の3つのレベルがあります。

デフォルトでは、「セキュリティと信頼」タブで「セキュリティレベルを自動的に検出する」チェックボックスが選択されています。 経験から、私はそれが自動的に常に正しく正しく判断されるとは限らないと言うことができます。あるテンプレートに基づいてフォームを開くときのエラーの重要な部分は、テンプレートのセキュリティレベルが低いという事実によって正確に引き起こされました。

異なることについて少し


データソース

既に述べたように、InfoPathフォームは外部データソースにアクセスできます。 データベース(MS SqlまたはAccess)、Sharepointリスト、Webサービス、.xmlファイルにすることができます。 最も明らかな使用法は、さまざまなディレクトリに基づいてドロップダウンリストに記入することです。
外部データソースにアクセスするフォームテンプレートには、セキュリティレベル(ドメイン)が必要であることを思い出させてください。

実際、InfoPathフォームの構造はデータソースによって決まります。 フォームテンプレートを最初から作成した場合でも、データソースには「メイン」データソースが存在します。 フォームに要素を追加すると、対応するノードがデータソースに追加されます。 InfoPathのデータソースはすべてxmlツリーで表されるため、フォームの構造は本質的に何らかの種類のxmlツリーです。

Webサービス、データベース、事前定義されたxmlスキームなど、利用可能なデータソースに基づいてInfoPathフォームを作成することができます。 この場合、フォームの構造の基礎であるデータソースを変更できなくなり、データソースにない新しいフィールドを追加することもできなくなります。

視聴回数

フォームには複数の表現を含めることができます。 ビューは、特定のフィールドグループを含む特定の「スライス」です。 フォーム上のデータソースのすべてのフィールドを同時に表示する必要はありません。 多くのフィールドがある場合、それらの意味に従ってそれらをグループ化し、いくつかの表現に分割できます。 さらに、特定のビジネスプロセスの一部としてフォームを操作するユーザーグループごとに異なるビューを作成できます。 最後に、この特定のタスクに焦点を当てた特に美しいデザインを持つフォームを印刷するための別のプレゼンテーションを作成できます。 フォームが開いているInfoPathクライアントの[表示]メニューを使用してビューを切り替えることができます。たとえば、プログラムで、たとえばフォームのボタンをクリックして(この場合は、[表示]メニューを手動で切り替える機能を無効にできます) )

プログラミング

複雑なフォームにはプログラムコードが含まれる場合があります(最も興味深いのは、C#またはVisual Basic .Netのマネージコードです)。 そのようなフォームのセキュリティのレベルは「完全な信頼」でなければならないことを思い出させてください。 たとえば、コードでは、必要なイベント処理、入力データの複雑な制御(InfoPathコンストラクターインターフェースを介して構成できる単純な検証に加えて)を実行できます。 インターフェイスとフォーム要素の動的な変更、特定の入力フィールドの追加と非表示、ビューの切り替えが可能です。 InfoPathコンストラクター(Oracleデータベースなど)で提供されていないデータソースにプログラムで接続できます。

Sharepointの統合

InfoPathフォームとSharepointの組み合わせは、おそらくこれまでで最も有望で普及しているInfoPathフォームのアプリケーションの1つです。 たとえば、InfoPathについての私の知り合いは、Sharepointの作業プロセス(ワークフロー)の開発を研究している過程で最近発生しました。 何年も前から、InfoPathはMS Officeスイートの一部としてコンピューターに静かに住んでいましたが、それに注意を向けることはありませんでした。

それでは、InfoPathとSharepointの統合についてはどうでしょうか。


あとがき


この記事では、主にMicrosoft Office InfoPath 2007バージョンに焦点を当てて、InfoPathを使用した電子フォームの開発について話そうとしました。比較的最近形成され、それらを研究するプロセスは完全にはほど遠い。 このプロセスは、本に関する情報の主な情報源として役立った1冊の本がなければ、はるかに時間がかかる可能性があります-これは、フィロヤヌスによる「InfoPath 2007 for Professionals」です。

Source: https://habr.com/ru/post/J111333/


All Articles