Как я понимаю, к учетной записи в Dyanimcs CRM прикреплены две дочерние привычные адреса.В форме учетной записи, когда вы редактируете информацию об адресе и нажимаете кнопку Сохранить, я ожидаю, что обновление будет зарегистрировано на объекте customeraddress.
Я работаю над плагином, который поможет синхронизировать наши адреса по всем нашимпредприятия, и когда редактирование происходит на сервере CRM, ему необходимо убедиться, что оно распространяется на другие наши системы.
При написании некоторого диагностического кода я написал быстрый wcf-сервер, который позволит мне проверять сущностикак они существуют при исполнении.Однако этот плагин срабатывает только в том случае, если для редактирования используется фактическая форма адреса, а не при редактировании формы учетной записи.
public void Execute(IServiceProvider serviceProvider)
{
if (serviceProvider == null)
{
throw new ArgumentNullException("serviceProvider");
}
// Construct the Local plug-in context.
ITracingService localcontext = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
localcontext.Trace(string.Format(CultureInfo.InvariantCulture, "Entered {0}.Execute()", "AuditAddressChange"));
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
var WCFDebug = ChannelFactory<IService1>.CreateChannel(new BasicHttpBinding(),
new EndpointAddress("http://localhost:8732/WcfDebug"));
try
{
Entity e = context.InputParameters["Target"] as Entity;
if (e != null)
{
foreach (var attribute in e.Attributes)
{
WCFDebug.WriteLine(string.Format("{0} ==> {1}", attribute.Key, attribute.Value.ToString()));
}
}
}
catch (FaultException<OrganizationServiceFault> e)
{
localcontext.Trace(string.Format(CultureInfo.InvariantCulture, "Exception: {0}", e.ToString()));
// Handle the exception.
throw;
}
finally
{
localcontext.Trace(string.Format(CultureInfo.InvariantCulture, "Exiting {0}.Execute()", "AuditAddressChange"));
}
}
Этот плагин зарегистрирован для запуска на этапе обновления на обычном адресе.
Учитывая, что этот плагин выполняется правильно, когда редактирование происходит из формы адреса, почему не срабатывает, когда редактирование происходит из формы учетной записи?