Доза плагина не сработает на ассоциированном 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. Возможно, вы захотите добавить атрибуты фильтрации в обновление, чтобы оно срабатывало только при изменении поиска в счете-фактуре. Затем добавьте проверку, чтобы выполнять свою логику только тогда, когда установлен поиск по счету.

Другие вопросы по тегам