カテゴリーアーカイブ: InfoPath 2007 // フォーム サーバー

InfoPath での大文字小文字の区別の比較

記事を書いた SharePointBriefing.com 彼ら今日を入れてライブと.

ここでは、お誘い:

image

それをチェック アウト.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

クイック ヒット: SharePoint で SPListItem から直接 InfoPath XML の読み取り

私私は InfoPath フォームから添付ファイルを抽出する必要があるプロジェクトに取り組んで. InfoPath フォームを解析するためのいくつかの良いリソースがあります。 (XML ファイルだけが, 実際には非常に簡単です。).

プロジェクトを構築中, InfoPath フォームをダウンロードし、自分のローカル ハード ドライブに保存することから始めました. C# コードのインスタンスから直接読んでいた. ただし, InfoPath フォームを SharePoint フォーム ライブラリの中生きている本当に. 私は少し中途半端は、ライブラリから直接それを読む方法を見つけるための検索を行なったし、ほとんどを与えた, その場合私だろうローカルの一時ディレクトリに、フォームを保存し、そこから読む. ただし, ライブラリから直接それを読むことができますこれらのフープを介して移動する必要はありません。. この小さなスニペットを示していますどのように:

/// クラスの定義はここもの, 含む:
プライベート SPFile mySharePointFile; /* SPList の一部 */
// 多くのコードをここに、我々 が持っているクラスのメソッドの内部:
XmlTextReader textReader;
textReader = 新機能 XmlTextReader(mySharePointFile.OpenBinaryStream());

textReader.WhitespaceHandling = WhitespaceHandling.なし;

textReader.Read();

// ノードの値を持つ場合

しばらくの間 (textReader.Read())
{

・・・などのように.

ビットをキー上記、OpenBinaryStream を介して直接 InfoPath を読み取ることができるです() XmlTextReader コンス トラクターへのパラメーターとして、SPFile に対するメソッド呼び出し. それは素晴らしい作品します。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

プログラムによって InfoPath フォームから添付ファイルを抽出 (自分の名前を含む!)

InfoPath とワークフローを活用するクライアントの費用エントリー ソリューションをあります。. 承認プロセス中に 1 つの時点, それは良い InfoPath データとして添付ファイル自体のすべてがメールを生成する必要がありますように (ため息をつく) 誰かがそのデータを手動で再 Oracle データベース ・ アプリケーションにキー.

それはで取得または InfoPath フォームを解析することは非常に困難ではないです。. 添付ファイルを処理する方法を知っていません。, ただし. 1 時間または 2 つのインターネットの周り突っつい後 (永遠!) この記事を見つけた: http://support.microsoft.com/kb/892730

フォーム内のノードから添付ファイルを抽出するいくつかの便利なコードを提供します。. (まだノードとすべてのことを見つける必要があります。, しかし、それはちょうど XML 解析).

私は base64 でエンコードされた添付ファイルは、もともと行っただけを抽出するパスを知っている、base64 データ, それを復号化し、保存すること. ただし, すぐに前述の資料を発見するまで、ファイル名自体を取得する方法を知っていないに気づいた.

私は実際にかなり早くことを発見しました。, しかし、その二重人格によって延期されました。. 1 つの手, 記事 * 言う * それは InfoPath が適して 2007. まだ, すべての Visual Studio については、コードおよび手順です。 2003 InfoPath を参照 2003.

一番下の行, 記事提供コードは私のためによく働いてください。 (これまでのところ). 私のフォームを得ることができます。, それを解析することができます。, その名前を知っていると私は見つけることができ、添付ファイルをデコード. 何が 1 つできる一生のお願い?

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,,

SharePoint 環境内で可能性があります少し健康であることを心配している場合, 私はそれを修正に役立ちます 健康チェック.

InfoPath 環境では FBA と承認グループの管理

私は InfoPath でのフォーム ベース認証を使用して実装する必要のある、経費の承認プロセスがあります。 (FBA) フォームのサービスを使用する環境 (web ベースの InfoPath).

2 つの承認グループがあるし、プロセスはこのような作品:

  • ユーザーが経費明細書を満たし、承認のため送信.
  • 最初のレベルの承認者グループにメールをトリガーします。.
  • 最初のレベルの承認者がレビューおよび承認またはレポートを拒否.
  • 最初のレベルの人がそれを承認した場合, システムは 2 番目のレベルの承認者に通知します。.

物事の InfoPath 側で, 私は、ユーザーがそれらの承認グループのメンバーを使用するかどうかに基づく非表示/表示される別のセクションがあります。.

Fba の処理環境では、ユーザー名() 関数は、常に空白を返します, 悲しいことに. やったがセットアップ、カスタム リストという「承認グループ」.

私は任意の追加の列をリストに追加しません。.

フォームを開いたとき, このようなルールをが:

image

「フィールド値の設定」はここにあります。:

image

これは基本的に言っています。: 承認グループのカスタム リストのクエリとフィルターのいずれかを見ることによってクエリの行がタイトルの値 =「北欧」.

場合は、任意の値を返します, その後、現在のユーザーがそのグループのメンバー. 私はその値が含まれる文字列の長さが 0 より大きいので知っています。.

承認グループ リストの個々 のアイテムを保護することによって、ループを閉じる. 実行時に, 現在のユーザーがあるない場合は適切なセキュリティには、アイテムにアクセスし、クエリはそれを返すことはありません。, 文字列の長さが 0 になります、現在のユーザーを知っている今はそのグループの一部ではないです。. フォームで、必要に応じてその事実を使用することができます。.

これは超簡単な書き込み. 時間が迫っているまたはより多くの詳細を提供します。.

それは FBA 環境で私はどのように関連するのかわからない. これはおそらく非 FBA の環境でうまく動作するが、場合役に立つことを想像することができます。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ: ,

InfoPath // 「フォーム System.Xml.XmlException をレンダリングすると未処理の例外の 1 つの説明: 予期しないファイルの終端名を解析中が発生しました. “

今日、InfPath フォームでの作業だったし、古くからの友人に対してを実行, 「フォーム System.Xml.XmlException をレンダリングすると未処理の例外: 予期しないファイルの終端名を解析中発生しました。"

これは長い時間前に私に起こったし、私は正確に私はそれを解決するかわからない. 正直なところ, 私は、新しいプロジェクトに移行されていたし、この 1 つの解決を見たことがないと思う (私の交換、頭痛の種に対処しなければならなかった). 私は問題の悪魔だった覚えてください。. 私はそれを取扱う失敗した数日を過ごした. それ以来、, この MSDN フォーラムで少なくとも 1 回、最後の 1 年間しては本当に答えはそれを見たを見てきました.

私は、今日、幸いにも今回ヒットします。 , フォームに変更を行った. 私はその変更をバックアップし、問題が去っていきました. 作成することが可能だと分かった、フェンスのフォーム サーバー側で解析エラーが生成されるような方法で InfoPath デザイナーを使用してテンプレートから.

私の場合, これらの手順によって、問題の原因だった:

  1. テキスト フィールドとして、データ ソースに新しい要素を追加します。.
  2. それをフォームにドロップします。.
  3. ドロップ ダウン リストには表示を変更します。.
  4. ドロップ ダウン リストを SharePoint のカスタム リストから値を引くことを言う.

これらの手順は問題が発生するかどうかを知っていないか, か、リストのデータをそれ自体が問題です。. Downt を爪ができるかどうかを参照してくださいビットを試してみるつもりこれ以上の詳細をこのパラメーター.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

開発者のノート、InfoPath フォームの内側を埋め込む

私はまだ InfoPath フォームの世界で生きている、それらの「小さな」変更の 1 つをフォームにするために必要なこと, 残念なことに, それと 2 週間前を採用した名前付け規則を改します。. 自分自身に考えた, 「誰かこのことは年間これと言うから見に行くです, ' 何ポール考えていた? ゼウスによって, 彼の名前付け規則には意味がないです。!”

フォーム ビューを作成でしたを実現し、, もう 1 回お願いします, ということをやっているすべてに沿ってこのような何かを実現. InfoPath フォームなどに「開発者ノート」の表示を追加:

image

ユーザーがそのビューを得ることができないように、フォームを構成したため, デザイン ビューで InfoPath クライアントと表示されるだけです。. 今私は感じる私のフォームと私の悪い思いを考えて見ていくつかの将来の未知の開発者に対して少し接種. あー!

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

InfoPath のビューの管理

InfoPath の段階を経るようで, 青, フォームの束をクラフト午前. 私の指はよくツールを使用する方法を学ぶと、私は 9 ヶ月の干ばつを介して移動し、それを再び最初から学習する必要があります。.

InfoPath フェーズ中、多くの回で InfoPath フォームを作成しています. あなたはおそらく、InfoPath は気づく 1 つの事 2007 クライアントがアルファベット順に表示します。. これは本当の迷惑をいくつかの回は. 私の最高の技術に常に目的の順序で表示できるように、ビュー名に番号を付加するこれらの日です。, ここに示すように、:

image

私はすべてに沿ってこれを行うされていた希望します。.

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

InfoPath フォームのサーヴィス, フォーム ベースの認証 (FBA) 一意のファイル名

私はいくつかの InfoPath フォーム今週の MOSS 環境では FBA に取り組んで学んだきた, 展開に行ったらフォーム、FBA を使用の運用環境には、ゾーンのユーザー名() 関数機能が動作しません。. 一意のファイル名を生成するために使用していた.

よく, 関数は、fba の処理環境では動作しません (少なくとも, アウト ボックスのないです。). と, 時の反射, 私は予定していた方法でユーザー名を使用して一意のファイル名は任意のイベントで保証がないです。.

私の解決策は、今を使用していた() 関数と、フォームの読み込みで発生するルール. 空白の場合のデータ要素に名前を割り当てる:

image

image

このアプローチの利点は、ファイル名を一度だけ設定されています。. (私はそれのスクリーン ショットを表示しません。, しかし、"myFilename"が空白の場合にのみ、ルールに条件を置く). データ ソース レベルでファイル名を設定するために使用. 通常, 何をか (悪い) このように:

image

問題はユーザー A が月曜日に、フォームを開き、ユーザー B が火曜日に変更する場合は, 2 つの異なるユーザーが異なるユーザー名を保存から、2 つの異なるフォームになるぞ.

だから, FBA 一般と InfoPath を特にすることができます迷惑として, それは私は小さいが本当に重要な技術の詳細とそれ以外の場合たろうアプローチを再考しました。!

</終了>

私のブログを購読します。.

私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin

Technorati のタグ:

迅速かつ簡単な: InfoPath フォームの読み取りのみを行う (InfoPath Forms Services では、MOSS)

このような一般的なビジネス シナリオがあります。:

  • ユーザーが InfoPath フォームに入力します。.
  • フォームを送信します。.
  • 実行時間の長いワークフロー プロセスで開幕します。.
  • ワークフローの実行中, 私たちは誰にも、フォームの内容を変更するにはしたくないです。.

この [office.microsoft.com] の例 別の「ビューを作成する方法について説明します。" 読み取り専用ビュー全体をマーク. これは実行可能なアプローチが効果的に同じフォームの 2 つの全体のバージョンを作成する必要があります今すぐ同期を保つの手動での欠点を. 編集可能なビューにフィールドを追加する場合, 非編集可能なビューを同様にそれを追加します。. 時間をかけて, 別の開発者と, いくつかの分岐があります。.

この方法はより良いいくつかのケースで動作可能性があります。:

  • 「IsEditable」と呼ばれるフォームに新しいフィールドをを追加します。.
  • その既定値を true に設定します。.
  • MOSS に発行するときを促進するため.
  • ワークフローで, IsEditble の値を false に設定します。.
  • フォームに戻る.
  • 規則を追加、」の時に、フォームを開いた」, 保存ボタン IsEditable が false の場合に無効にします。.

この方法の欠点は、すべてのフィールドはまだ画面に編集可能. ユーザーは、彼らは実際にコンテンツを変更することができます。 印象を得ることができます。. フォームが無効ですいくつかのテキストに置くことによってそれを軽減できます。, おそらく大きな赤文字で、ページの上部.

1 つのプロジェクトで, 「ワークフローの状態をを作成" ビュー. ワークフローの向上に伴って, フォームから昇格されていた特定のステータス フィールドを更新します。. ユーザーがフォームを開いたとき, フォームを開いて」" ルールに自動的にするビューと、ユーザーは良い小さなサマリー ・ ステータスが切り替え.

</終了>

私のブログを購読します。.

InfoPath フォームでのユーザー ID に基づいてビューを切り替える

我々 が開発した、新しい雇用をサポートするために複数のビューを InfoPath フォーム / オンボーディング プロセス. 会社が新しい人を採用するとき, IT 部門や他のグループは、アクションを取る必要があります。 (給与を設定します。, 適切なアプリケーションへのアクセスを有効にします。, 机を見つけます, など). 我々 はこれらの関数の各フォームが、フォームの別のビューに使用します。.

この会社で, IT に精通したビジネス プロセスに関与する人々 のほとんどをします。, だからときに、フォームへのアクセス, 彼らのデフォルト眺め」メニューです。" 特定の機能に直接ボタンで表示します。. ただし, 新入社員の直属の上司の物事を簡素化する必要があります。. この人では、it 関連のものは表示されないはず. 実際, 彼女はする必要があります、フォームを 1 つだけに表示しても、他のビューを参照するためのオプション.

我々 の場合に, 直接マネージャーのアカウントの直接な関係は、礼儀の形にします。 連絡先の選択 (これは常に「人の選択を呼び出すしたいです" 何らかの理由で).

手順は次のとおりです。:

1. デザイン モードで, ツールに行って下さい-> フォームのオプション-> 開き保存.

2. 「ルール」を選択.

3. アクション「スイッチを表示する新しいルールを作成します。" 条件を活用して、ユーザー名() 関数.

ユーザー名() 「シンプルをを返します" ドメインなしのユーザー名. 資格情報"domainpagalvin"を持つ SharePoint をログインする場合, ユーザー名() 「pagalvin」を返します.

連絡先の選択は、連絡先の情報の 3 つのビットを提供します。. 」に accountid の変更" 部分がこのシナリオで最も有用です. これを少しでも唯一のもの、連絡先の選択課題の (私の環境でとにかく) ドメインとユーザー ID を返します, "domainpagalvin"のように. これに accountid の変更以来のストレートな等号条件を行うことから私たちを防ぎます (「domainpagalvin」) ユーザー名が等しくなることはありません。() (「pagalvin」).

私たちを使用してこの回避を得ることができる、"が含まれています" 演算子: AccountID にはユーザー名が含まれています。().

我々、さらに、事前ペンド、ハード コーディングされたドメイン、ユーザー名の前に取ることができます。() 私たちの等価性のチェックを得るし、誤検知のリスクを排除するのには、関数、演算子を含む.

私たちが本当のような AD セキュリティ グループのメンバーシップに基づいてその他のユーザーのビューを自動的に切り替える. たとえば, ときに、「それ解析のメンバー" フォームのグループをアクセスします。, IT 分析ビューに自動的に切り替える. それを実装する時間がなかった, しかし、私が最初に考えた「IsMemberOfActiveDirectorySecurityGroup」のようなメソッドが web サービスを作成するのには, ユーザー名を渡す() 戻る true または false を返すと. 誰もがその他, 他の巧妙なアイデア? 決定を行うには、InfoPath から活用できる任意の SharePoint 機能はあります。?

</終了>

Technorati のタグ: