私は数日前にMS CRM開発を開始しました。この非常に簡単な基本操作で今日は時間を費やしています。 。フォームロード時のMiddleNameフィールドの更新 - MS CRM 2011プラグイン
レコードの作成時に連絡先エンティティのミドルネームを更新したいとします。そして、私は次のコードで行うことができます。
しかし、私は連絡先レコードを開くときに同じことをしたいと思います。私は連絡先のEntityの下でRetrieve Messageに新しいステップを登録しました。しかし、それは動作しません..例外はスローされません。
public class IzzyPlugin : IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
try
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(context.UserId);
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
{
Entity currentEntity = (Entity)context.InputParameters["Target"];
if (currentEntity.Attributes.Contains("middlename"))
{
currentEntity.Attributes["middlename"] = "Middle name changed";
}
else
{
currentEntity.Attributes.Add("middlename", "Middle name changed");
}
service.Update(currentEntity);
}
}
catch (Exception f)
{
throw new InvalidPluginExecutionException(f.ToString());
}
}
}
プラグインが起動していますか?それは私には大丈夫です。コードを単純な例外Exception()に置き換え、UIを使用して連絡先を作成しようとすると操作がキャンセルされることを確認します。 – glosrob
私はこれをしました。予想通りに例外がスローされます。しかし、更新された質問に答えることができますか? – Shank