0

目標: WEB ENABLED フォームを使用して、SharePoint 2010 リストからデータを取得します。次に、セカンダリ データを含む繰り返しテーブルから目的のデータのみを抽出し、それをメイン フォーム フィールドにミラーリングします。抽出されたデータは変更され、Nintex ワークフローを使用して別の共有ポイント リストに送信されます。IT 部門がこのプロジェクトに微笑んでいる場合は、データベースを使用します。


私が試したこと:ミラーリングされたデータを保存するために、メインフォームフィールドに「TEST」という名前の繰り返しグループに「TEST_CyS」という名前のフィールドを作成しました。このフィールドのデフォルト値は次のとおりです。

xdXDocument:GetDOM("REMOVED")/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[(count(../preceding-sibling::*[local-name() = "TEST"]) + 1)]/d:Cy_Statement

これは、フォームが更新されると更新されます。

  • デフォルト値を設定すると、count(../preceding-sibling::*[local-name() = "TEST"]) + 1挿入された各グループが正確にカウントされます。
  • デフォルト値を 1 から n までの任意の値に設定するxdXDocument:GetDOM("REMOVED")/dfs:myFields/dfs:dataFields/d:SharePointListItem_RW[<INT>])]/d:Cy_Statement<INT>、インデックスが参照されているセカンダリ データ フィールドの正しい情報がフィールドに表示されます。

物事がバラバラになるのは、2つを組み合わせるときです。

メイン データ ツリー:

メインデータセット

セカンダリ データ ツリー:

セカンダリ データ セット


前提:軸がメソッドpreceding-sibling::*[local-name() = "TEST"]と共に呼び出されているため、軸が値を返していないと推測しています。GetDOM()前の兄弟をメイン フォーム フィールドの正しいグループに戻そうとしましたが、カウントを開始する場所がわからず、infopath でエラーが表示されたため、それを試みるのはばかげていると感じました。

Function 'GetDOM' did not return a value, or it returned a value that cannot be converted to an XSL data type. 

要約:これは、コードを書かなかったり、qRules のような Infopath 用の「プラグイン」を購入したりしなければ、失われた原因でしょうか? IT 部門は、コードが含まれるフォームを SharePoint サイトで実行できるようにすることに譲歩しません。また、SharePoint で入力するには Web 対応のフォームでなければならないというフォームの要件が定められています。

編集: VSTA へのアクセスもありません。VSTA をインストールできる可能性は非常に低いです。

これをやってのけるために使用できる別の方法はありますか?

4

1 に答える 1