なぜ私sharepointワークフローの常停止等を利用する場合はこのコードについて教えてください。

StackOverflow https://stackoverflow.com/questions/1104111

質問

だユーザーリスト設定にassignedtoタスクィには、これらの情報は、リストを作成します。を使用していますのでこの方法:

public static SPUser GetSPUser(SPListItem item, string key){ 
    SPFieldUser field = item.Fields[key] as SPFieldUser;

    if (field != null)
    {
        SPFieldUserValue fieldValue = field.GetFieldValue(item[key].ToString()) as SPFieldUserValue;
        if (fieldValue != null)
        {
            return fieldValue.User;
         }
     }
     return null;
 }

問題はご利用する場合は、この方法又はこの部分のコード、ワークフローの停止言わずものです。ここでは、exempleのコードがして使用します:

using (SPSite site = new SPSite(adress_of_my_site))
{                
    using (SPWeb web = site.OpenWeb())
   {
        SPList list = web.Lists["Acteurs du projet"];
        SPView view = cobj_ListeDesActeursDuProjet.DefaultView;
        SPListItemCollection itemcollection = list.GetItems(view);
        foreach (SPListItem item in itemcollection)
        {                       
            SPUser lobj_acteur = Utilities.GetSPUser(item,"acteur");
            // Dictionary<string,class>
            ActeursDuProjet[item["Rôle"].ToString()] = 
                new ActeursDuProjet()
                { 
                 Login = lobj_acteur.LoginName, 
                 Email = lobj_acteur.Email 
                };
        }

    }


}

だいてわかりやすく解説しているコンテンツのforeachの私のワークフローを継続して...

れば誰でもいい、という考えます。

について Loïc

編集:問題のコード

役に立ちましたか?

解決

ここではデバッグのヒントもいただけま

ULSグ

除できないことがありますのでこちらの一部です。

するデバッグです。純コード

これにより、デバッガの休憩場に例外が発生しSharePointとのコードです。の下振れは、デバッガまで"非常に例外の原因となる副作用はありません。さいご質問、ご相談などお気軽!

る:くのデバッグ、例外と目盛りの共通言語ランタイム例外をスローしました。またツール、オプション、デバッグチェックを外すようコードです。その後に添付するw3wp.exe.

コメントコード

すべてのコメントすべてのコードです。の場合はワークフローのステップに失敗した場合、い問題があります。の場合はワークフローのステップ通過しuncommentingコードまで失敗した-いことが多いです。

他のヒント

私はこれ以上のコメントしようとしたが、それはので、ここでそれがうまくフォーマットしませんでした。

これはおそらく大丈夫ですが、これは私には魚に見えます:

// Dictionary<string,class>
ActeursDuProjet[item["Rôle"].ToString()] = 
    new ActeursDuProjet()
    { 
     Login = lobj_acteur.LoginName, 
     Email = lobj_acteur.Email 
    };

私はそれはようなものになるだろうと思うだろう

// dictionary declared somewhere earlier
Dictionary<string,ActeursDuProjet> roles = new Dictionary<string,ActeursDuProjet>();

// inside the foreach
string role = item["Rôle"].ToString();
if (!roles.ContainsKey(role))
{
    ActeursDuProjet foo = new ActeursDuProjet();
    foo.Login = lobj_acteur.LoginName;
    foo.Email = lobj_acteur.Email;
    roles.Add(role, foo);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top