2009-08-13 7 views
3

ドキュメントライブラリでワークフローを実行しているときに問題が見つかった。新しい文書をクリックすると、この例ではMicrosoft Wordが開きます。あなたはドキュメントにいくつかのものを書いて、それをライブラリに保存します。ライブラリに関連付けられたワークフロー。この場合、リスト項目が作成されたので、自宅で承認されたワークフローが実行されます。しかし問題は、文書がまだ開いていて、ユーザーが単語を閉じるまでチェックアウトされていることです。ワークフローが最初に行うことは、承認ステータスを「保留中」に設定するなど、このリスト項目の他のフィールドのいくつかを設定することです。ドキュメントがチェックアウトされているため、エラーです。ワークフローの開始時にSharePointでドキュメントがチェックアウトされる

文書をチェックインするまでワークフローを取得しようとしましたが、これは失敗しています。私はOnWorkflowItemChangedアクティビティを試しています。その変更のコードがチェックインされていることを確認するコードで、この後、私は残りのワークフローを続行できます。問題は、このアクティビティがイベントとしてのチェックを変更として受け取っていないように見えることです。このようなことは、自動的にチェックインする文書を閉じることによって実際には項目フィールドが変更されないので意味があります。

イベントのチェックを検出するために私のワークフローの中で何か方法を見つける必要がありますが、それまでは私がどこにいるかを待ってください。これに

答えて

1

修正は、ワークフローのチェックアウトに文書を持っている任意の変更を行い、その後でそれを戻ってチェックすることです。

コードでは、カスタムイベントハンドラでこれを行うだろう。オブジェクトモデルに関する情報については、SharePoint SDKまたはMSDNを参照してください。

チェック「新しい項目が作成されたときに自動的にこのワークフローを開始」または「自動的に新しい項目が作成されたときにこのワークフローを開始する」、または両方のオプションを選択します。SharePointデザイナで

は次のように見えるようにワークフローを設定します。

次はヒットします。

次のページでは、条件セクションを空白のままにします。ワークフローは次のようになりためのアクションの設定のセットアップで

は:

 
Check out item in <Current Item> 
    then Wait for <Whatever fields you need to be set or actions you need> 
    then Check in item in <Current Item> with comment: <Comment> 

あなたは、同様の手順にこれを破ることができます。たとえば:

 
Step One - Check out current item 
Step Two - Custom stuff you need to do 
Step Three - Check in current item
+0

"新しいアイテムが作成されました"ではなく "アイテムが更新されました"と言っていたのかもしれません。私はそれを編集するだろうが、ひどくフォーマットされたコードについて不平を言って、それを提出することができませんでした。 – xdhmoore

関連する問題