locked
Infopathで作成したファイルのワークフローとアイテムのコピー RRS feed

  • 質問

  • Sharepoint2007でInfopathのフォームライブラリを作成し、そのテンプレートファイルを入力後、承認フローが走り、承認済みになったファイルを別のフォームライブラリに移動するというワークフローを作成しているつもりです。
    1.最初の承認ワークフローはSharePointSeveの承認フローを利用
    2.承認済みのフラグが立ったら、別の承認済みフォルダにアイテムをコピーするというワークフローはSharepointデザイナーで作成したつもり。
    3.承認済みのワークフローが手動で動作させるようにしています。ワークフローはエラーが無く、完了。ただし、アイテムのコピーは実行されていない。

    お聞きしたいのは、そもそもこの考え方でファイルの移動が出来るかのかということであります。
    よろしくお願いします

    2009年7月28日 8:33

回答

  • 可能なはずです。

    >3.承認済みのワークフローが手動で動作させるようにしています。
    > ワークフローはエラーが無く、完了。
    >ただし、アイテムのコピーは実行されていない。

    確認ですが、
    1.「承認されていたら移動する」WFは手動でキックする仕様なのですね?(自動実行ではない)
    2.WFはエラーがなく完了、ということですが、「完了」というメッセージがWFの履歴に残っているということですか?(エラーがない、ではなく)

    もしそうであれば、Designer で設計した WF に何か誤りがあると思われます。
    よろしければ設定内容(起動条件、ステップ、条件、アクション)を書いてみてください。


    saruhiko
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月28日 9:03
  • ああ、判りました。

    非常に不思議な仕様ではありますが、Designer による WF は「WFの状態」を拾えません。

    >条件:承認済みアイテムが置かれているワークフロー承認の列(開発終了WF)が承認済みに等しい。

    表示上「承認/承認済み」となっていても、実際にアイテムは「承認済み」という値を持っていないため、
    Designer によるコピーWF はこの条件に False を返して、WFを終了(完了)させてしまっています。

    ご要望の動作をさせるためには、「(WFの)承認」列ではなく、
    リストの設定→バージョン設定→送信されたアイテムに対してコンテンツの承認を必須にする を「はい」
    にした上で、Designer WF の条件として 「承認の状況」 が「0;#承認済み」に等しい を設定する
    必要があります。 


    saruhiko
    • 回答としてマーク hiroz42 2009年7月30日 7:50
    • 回答としてマークされていない hiroz42 2009年7月30日 7:50
    • 回答としてマーク hiroz42 2009年7月30日 7:54
    • 回答としてマークされていない hiroz42 2009年7月30日 7:55
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月28日 23:00
  • 不思議ですね…
    いま、私の環境でまったく同じWFを作成して実行してみましたが、
    フォームライブラリ→フォームライブラリで問題なく動きました。
    アクションは「現在のアイテム」で正しい筈です。

    障害以外であと考えられる原因としては

    ○移動先ライブラリで承認機能をONにしていないか?
    コピーは実際にはアイテムの「新規作成」なので、状態は「承認待ち」になります。
    「承認待ち」のファイルは設定によってはWFを実行したユーザおよびシステムアカウント以外には見えなくなります。

    ○移動先ライブラリのビューに、何かフィルタがかかっていないか?
    ファイルは存在するが、見えない、というケースです。

    どちらも普通にテストする限り、あまり考えにくいのですが…。
    ご確認ください。

    ちなみに、私の環境は MOSS2007 SP1です。
    saruhiko
    • 回答としてマーク hiroz42 2009年7月30日 7:49
    • 回答としてマークされていない hiroz42 2009年7月30日 7:50
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月30日 6:28

すべての返信

  • 可能なはずです。

    >3.承認済みのワークフローが手動で動作させるようにしています。
    > ワークフローはエラーが無く、完了。
    >ただし、アイテムのコピーは実行されていない。

    確認ですが、
    1.「承認されていたら移動する」WFは手動でキックする仕様なのですね?(自動実行ではない)
    2.WFはエラーがなく完了、ということですが、「完了」というメッセージがWFの履歴に残っているということですか?(エラーがない、ではなく)

    もしそうであれば、Designer で設計した WF に何か誤りがあると思われます。
    よろしければ設定内容(起動条件、ステップ、条件、アクション)を書いてみてください。


    saruhiko
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月28日 9:03
  • saruhiko様
    1.「承認されていたら移動する」WFは手動でキックする仕様なのですね?(自動実行ではない)
    開始のオプションで「このワークフローをアイテムから手動で開始できるようにする」のみにチェックを入れています。
    2.WFはエラーがなく完了、ということですが、「完了」というメッセージがWFの履歴に残っているということですか?(エラーがない、ではなく)
    完了したワークフローで状態は完了になっています。

    sharepointデザイナーで作成したファイル移動のワークフローは以下のようなステップです。
    条件:承認済みアイテムが置かれているワークフロー承認の列(開発終了WF)が承認済みに等しい。
    アクション:「承認済みのアイテムが置かれているフォームライブラリ」のアイテムを「承認済ファイル」というフォームライブラリーにコピーをする。

    という事しか書いていません。

    そのあとで、コピーしたアイテムは削除するという動作を付け足したいと考えています。

    よろしくお願いします
    2009年7月28日 9:46
  • ああ、判りました。

    非常に不思議な仕様ではありますが、Designer による WF は「WFの状態」を拾えません。

    >条件:承認済みアイテムが置かれているワークフロー承認の列(開発終了WF)が承認済みに等しい。

    表示上「承認/承認済み」となっていても、実際にアイテムは「承認済み」という値を持っていないため、
    Designer によるコピーWF はこの条件に False を返して、WFを終了(完了)させてしまっています。

    ご要望の動作をさせるためには、「(WFの)承認」列ではなく、
    リストの設定→バージョン設定→送信されたアイテムに対してコンテンツの承認を必須にする を「はい」
    にした上で、Designer WF の条件として 「承認の状況」 が「0;#承認済み」に等しい を設定する
    必要があります。 


    saruhiko
    • 回答としてマーク hiroz42 2009年7月30日 7:50
    • 回答としてマークされていない hiroz42 2009年7月30日 7:50
    • 回答としてマーク hiroz42 2009年7月30日 7:54
    • 回答としてマークされていない hiroz42 2009年7月30日 7:55
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月28日 23:00
  • saruhiko様
    おはようございます。

    リストの設定→バージョン設定→送信されたアイテムに対してコンテンツの承認を必須にする を「はい」
    にして、sharepointデザイナーのWFを以下のように変更してみました。
    条件:「承認の状況」が「0;#承認済み」に等しい
    アクション:リストアイテムを「承認済みファイル」にコピーする。ちなみに移動先は「フォームライブラリ」にしております。 

    結果はエラーもなく、完了のフラグが立つのですが、アイテムのコピーはされませんでした。
    以下の点はどうなんでしょう?
    1.アクションのリストアイテムのリストの選択は「現在のアイテム」にしています。
    2.コピー先はフォームライブラリではなく、別のアイテムの方がいいのでしょうか?

    何度も申し訳ありませんが、よろしくお願いします。
    2009年7月30日 0:31
  • 不思議ですね…
    いま、私の環境でまったく同じWFを作成して実行してみましたが、
    フォームライブラリ→フォームライブラリで問題なく動きました。
    アクションは「現在のアイテム」で正しい筈です。

    障害以外であと考えられる原因としては

    ○移動先ライブラリで承認機能をONにしていないか?
    コピーは実際にはアイテムの「新規作成」なので、状態は「承認待ち」になります。
    「承認待ち」のファイルは設定によってはWFを実行したユーザおよびシステムアカウント以外には見えなくなります。

    ○移動先ライブラリのビューに、何かフィルタがかかっていないか?
    ファイルは存在するが、見えない、というケースです。

    どちらも普通にテストする限り、あまり考えにくいのですが…。
    ご確認ください。

    ちなみに、私の環境は MOSS2007 SP1です。
    saruhiko
    • 回答としてマーク hiroz42 2009年7月30日 7:49
    • 回答としてマークされていない hiroz42 2009年7月30日 7:50
    • 回答としてマーク 服部清次 2009年9月10日 2:17
    2009年7月30日 6:28
  • sarrhiko様
    hiroz42です。

    コピー先のライブラリをエクスプロラービューやSharepointデザイナーで見るとファイルの移動は出来ていました。
    移動済ファイルの削除もOKでした。WEBブラウザからのライブラリから見えないのは別の問題ですので、調査して見ます。
    お忙しい中を有難うございました。
    これからもよろしくお願いします
    2009年7月30日 7:54
  • 自己レスです。
    別にサイトを作成して、フォームライブラリを作成して、実行してみました。
    結果は、ファイルコピーができました。有難うございます。
    2009年8月6日 0:38
  • hiroz42 さん、

    こんにちは!
    フォーラム オペレーターの服部 清次です。

    今回、saruhiko さんが 提供してくださった説明を手掛かりに hiroz42 さんの疑問が解消されたようですので、私の方で、[回答としてマーク] のチェックを付けさせていただきました。

    また何か困ったことがありましたら、ぜひ TechNet フォーラムをご利用ください。
    今後とも、よろしくお願いします。
    それでは、また! (^_^)/


    __________________________________________________
    マイクロソフト株式会社 フォーラム オペレーター 服部 清次

    2009年9月10日 2:21