Доза плагина не сработает на ассоциированном 1:N в CRM 2011
У меня есть два системных объекта: счет-фактура и invicedetail.
В системе существует ассоциация 1:N - invoice_details (родитель: invoice, потомок: invoicedetail).
Я перехожу к деталям счета-фактуры, затем иду в раздел "Товары" (invoicedetail) и добавляю новый продукт. Теперь этот продукт и счет связаны, но мой плагин не сработал;/
Я зарегистрировал свой плагин на ассоциированном (родительский и дочерний объект пуст в инструменте регистрации плагинов, выполнение - POST-Operation).
Код:
if(context.Message == "Associate")
{
//but plugin not go here - it's not trigger on associate ;/
if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is EntityReference)
{
entityRef = (EntityReference)context.InputParameters["Target"];
entity = service.Retrieve("invoice", entityRef.Id, new Microsoft.Xrm.Sdk.Query.ColumnSet("invoiceid", "numberOfSomething"));
}
else
{
throw new Exception("excep");
}
}
1 ответ
Я считаю, что партнер используется для многих ко многим. Попробуйте зарегистрировать свой плагин на обновление и создать invoicedetail. Возможно, вы захотите добавить атрибуты фильтрации в обновление, чтобы оно срабатывало только при изменении поиска в счете-фактуре. Затем добавьте проверку, чтобы выполнять свою логику только тогда, когда установлен поиск по счету.