ドキュメント ライブラリでワークフローを実行しているときに、少し問題があることがわかりました。新しいドキュメントをクリックすると、この例では Microsoft Word が開きます。ドキュメントに何かを書き込んでから、ライブラリに保存します。ライブラリに関連付けられたワークフロー。この場合は、リスト アイテムが作成されたので、実行を開始する独自の承認ワークフローです。ただし、問題は、ドキュメントがまだ開いているため、ユーザーが単語を閉じるまでチェックアウトされることです。ワークフローが最初に行うことは、承認ステータスを「保留中」に設定するなど、このリスト アイテムの他のフィールドのいくつかを設定することである場合、これはエラーになります。ドキュメントがチェックアウトされているため、エラーになります。
ドキュメントがチェックインされるまでワークフローを待機させようとしましたが、ここで失敗しています。私は OnWorkflowItemChanged アクティビティを試していますが、そのチェックのコードでは、変更がチェックインされているドキュメントであることを確認しているため、この後、残りのワークフローを続行できます。問題は、このアクティビティがチェックイン イベントを変更として認識していないように見えることです。自動的にチェックインするドキュメントを閉じても、実際には項目フィールドは変更されないため、この種のことは理にかなっています。
そのため、ワークフロー内でチェックイン イベントを検出する方法を見つける必要がありますが、それまでは待機します。