Разработка
28
Окт
8

Квалификация интереса почти как в CRM 2011

В CRM 2011 при квалификации интереса появлялось диалоговое окно, в котором Вы могли выбрать какие записи при этом хотите создать: Организации, Контакта или Возможной.

В CRM 2013 этого окна больше нет. Вместо этого в форме Интереса имеется два поля – Определить контакт и Существующая учетная запись, в которых Вам, соответственно, нужно указать Контакт и/или Организацию, если они уже существуют. Если Вы не укажите существующие Контакт и Организацию, система предупредит Вас о возможном наличии дубликатов и попросит указать их в отдельном диалоговом окне. При этом всегда создается запись Возможной сделке.

Но не всем подходит такая логика. И чтобы хоть как-то повлиять на этот процесс запилим небольшой плагин:

  • Создайте плагин с таким кодом:
    using System;
    using System.Collections.Generic;
    using System.Xml;
    using Microsoft.Xrm.Sdk;
    using Microsoft.Xrm.Sdk.Client;
    
    namespace LeadQualification
    {
        public class LeadQualification : IPlugin
        {
            IOrganizationService service;
    
            public void Execute(IServiceProvider serviceProvider)
            {
                IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
                IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
                service = serviceFactory.CreateOrganizationService(context.UserId);
    
                try
                { 
                    context.InputParameters["CreateAccount"] = false;
                    context.InputParameters["CreateContact"] = true;
                    context.InputParameters["CreateOpportunity"] = false;
                    context.InputParameters["SuppressDuplicateDetection"] = true;
                }
                catch (Exception ex)
                {
                    throw new InvalidPluginExecutionException("An error occurred in the Plugin." + ex, ex);
                }
            }
        }
    }
    

    Здесь (для примера) не представлена никакая бизнес-логика – просто в специальных входящих параметрах разрешается создание Кондака и запрещается создание Организации и Возможной сделки. Также с помощью параметра SuppressDuplicateDetection подавляется вызов диалогового окна с предупреждением о возможных дублях;

  • Зарегистрируйте плагин в CRM для сообщения QualifyLead, на стадию Пре;
  • Также создайте такой JS Веб-ресурс и повесьте его на сохранение Интереса (вызов функции OnSave и передача контекста первым параметром):
    function OnSave(pContext) {
        var SaveMode, SaveEventVal;
        SaveEventVal = 16; // 16 - код квалификации Интереса
    
        if (pContext != null && pContext.getEventArgs() != null) {
            SaveMode = pContext.getEventArgs().getSaveMode();
            if (SaveMode == SaveEventVal) {
                setTimeout(
                  function () {
                      window.location.reload(true);
                      window.top.parent.document.location.reload(true);
                  },
                  2000);
            }
        }
    }
    

    После того мы поменяем процесс квалификации Интереса, перестанет создаваться Возможная сделка и соответственно переход к ней. После квалификации ничего не будет происходить – страница просто не обновится (хотя Интерес уже будет неактивен). Соответственно, данная функция после квалификации ждет 2 секунды и обновляет страницу.



Комментарии (8)
  • Света 28.10.2014

    Спасибо) то, что нужно было))

  • slivka_83 28.10.2014

    🙂

  • Михаил 28.10.2014

    добрый день,
    скажите а есть ли в crm 2011 стандартный функционал для создания поля — уникального идентификатора записи(сделки в данном случае)
    чтобы при заведении новой сделки ей присваивался какой либо ID который не повторяется в других сделках?
    как при квалификации так и при заведении вручную.

  • slivka_83 28.10.2014

    Добрый 🙂
    Если Вы про Возможные сделки, то в стандартном функционале нет такого идентификатора (разве что GUID записи). Но в интернетах (в т.ч. на этом сайте) полно готовых решений (бесплатных) позволяющим присваивать такие уникальные номера любым объектам CRM 🙂

  • Михаил 28.10.2014

    а можно пример такого решения?

  • Михаил 28.10.2014

    здравствуйте, а вы случайно тренинги не проводите? как для админов CRM так и для отдела продаж? 2011 и 2015 версии инртересуют

  • slivka_83 28.10.2014

    Добрый день.

    Пока не доводилось 🙂 иногда вебинары провожу, но они имеют маркетинговую/сейловую направленность и мало полезны админам и пользователям.

*

code