Расширенная функциональность
02
Янв
13

CRM 2013 или найди 10 отличий… Функционал, эпизод II

Bing Maps

CRM 2013 имеют нативную интеграию с картами Bing Maps. Bing Maps динамически показывают карту для Адреса основной записи. Список объектов для которых доступна данная фича ограничен следующими объектами:

  • Интерес;
  • Организация;
  • Контакты;
  • Предложение;
  • Заказ;
  • Счет;
  • Конкурент;
  • Пользователь.

Интеграция в основном базовая: на карте просто отображается адрес и Вы можете перемещать расположение карты и менять масштаб. Никакие дополнительные данные не могут быть наложены на карту.

Для настройки необходимо выполнить следующие шаги:

  • Глобально Bing Maps включается в системных настройках (нужно поставить галку в Да, в секции Включить карты Bing). Тут же Вам нужно указать Bing Maps API Key – специальный ключь, который позволит работать с API карт. Чтобы получит его:
    • Откройте https://www.bingmapsportal.com и залогинтесь под Вашим Live ID;
    • Щелкните по ссылке Create or View Links – откроется форма создания нового ключа;
    • Есть несколько вариантов оплаты, включая бесплатную демо-версию на 90 дней. Решите. Выберите подходящую Вам. Введите требуемую информацию и щелкните по кнопке Submit – сгенерируется новый ключ.

    Более подробно про получение ключа смотрите http://msdn.microsoft.com/en-us/library/ff428642.aspx

  • Для объектов с новым интерфейсом, у которых есть поле адреса (Address), в редакторе форм на вкладке Вставить есть кнопка, которая позволяет выносить карты Bing на форму. Соответственно, вынесите карты на форму.

У данного контрола есть параметр (в свойствах), в котором перечислены все возможные адреса текущего объекта (например, адрес доставки или адрес отправки счета), которые карты Bing могут использовать.

А теперь пичалька: по каким-то причинам (возможно из-за лицензии) карты Bing не отображаются на форме для некоторых языкаов (в том числе и Русском).



Социальная панель

В 2013 появилась Социальная панель, которая расположена на форме и включает в себя три уже знакомых нам инструмента:

  • Yammer;
  • Новостная лента (Activity Feed);
  • Действия;
  • Примечания.

И выглядит это все как единый компонент, разделенный на соответствующие вкладки. В стандартной поставке эта панель вынесена в центр форм основных объектов CRM.

А чтобы добавить ее на кастомные объекты, необходимо вынести панель Примечаний на форму (как это делалось в CRM 2011). При этом в настройках панели Вы можете выбрать какая из трех вкладок будет открываться по умолчанию.


Рассмотрим их поподробнее…

Yammer

Вкладка Yammer появляется после того как настроена интеграция с Yammer (при этом она замещает собой вкладку Activity Feed). Делается это в Параметры – Администрирование – Конфигурация Yammer (на данный момент поддерживается интеграция только с английским языком).

Пользователи могут постить сообщения из CRM в Yammer и наоборот, позволяя коллегам сотрудничать друг с другом и делиться знаниями о клиентах и продажах. И все это в рамках интерфейса CRM или Yammer.

Activity Feed

Функционально не изменилась. Разве что функционал Activity Feed теперь встроен в CRM (а не поставляется в виде отдельного аддона). Кнопка Подписаться (и Отписаться) расположена на Командной панели.

Аналогичная панель вынесена на много Панели мониторинга. Только там она отображает информацию по все системе, а не конкретной записи. При этом Вам доступен довольно мощный механизм фильтрации…


Действия

Вкладка с Действиями обладает следующим функционалом:

  • Оперативно создать новые Действия:
    • Звонок;
    • Задача;
    •  Электронная почта;
    •  Встреча.

    При этом прямо внутри Социальной панели раскрывается своя собственная форма быстрого создания, в которую Вы можете ввести ограниченную информацию. Эта форма не поддается настройке или кодированию. Также Вы не сможете расширить список Действий, которые Вы сможете создавать через эту мини-форму;

  • По умолчанию, в списке отображается 10 последних связанных Действий. Чтобы просмотреть остальные нужно щелкнуть по кнопке Дополнительно;
  • Предварительный просмотр – если щелкнуть по Действию в Социальной панели, то оно раскроется (тут же) и покажет чуть более подробную информацию (например, получателей и описание);
  • Сохранять как завершенное;
  • Действия можно фильтровать – Вы можете отобрать либо Выполняющиеся, либо Просроченным, либо и то и другое;
  • Системные Действия, такие как Закрытие Возможной сделки или Квалификация Интереса закрашены более темным серым фоном.

Возможность смотреть Действия через связанные Представления никуда не делась – Вы по-прежнему можете смотреть/создавать связанные Действия оттуда.


Примечания

Примечания также функционально остались почти такими же. Добавилась только возможность отменять удаление Примечаний и вложенных файлов. Т.е. вы щелкаете на кнопке удалить, после чего на ее месте появляется кнопка Отмена. Доступна она будет не долго – всего несколько секунд, после чего Примечание или вложенный файл уже будет не вернуть 🙂


Процессы

Процессы (Business Process Flow) это новая функциональность, которая представляется собой новый визуальный интерфейс, в виде пошаговой панели для объектов, с помощью которой можно определять и контролировать выполнение определенных шагов на каждом этапе процесса. Основные отличительные черты нового функционала:

  • Могут существовать различные Процессы для различных Ролей безопасности;
  • Можно запрещать перемещение между шагами процесса, если не выполнены какие-либо действия;
  • Функциональность Процессов кросс-объектная.

Настройка

Для начала создадим новый кастомный объект Проект, над которым будем экспериментировать. Помимо прочего, в его свойствах Поставьте галку Последовательность операций бизнес-процесса – только объекты с этой настройкой могут быть добавлены в Процесс. Включение этой опции добавляет к объекту два служебных поля – Process Id и Stage Id – с их помощью система управляет процессом. Также для разнообразия добавьте на него несколько полей (включая пиклист).

Обычный Процесс

Настроем обычный Процесс в рамках одного объекта:

  • Откройте Параметры – Процессы;
  • Создайте новый Процесс с типом Последовательность операций бизнес-процесса. При этом Вам необходимо указать основной объект, от которого будет отталкиваться вся работа;
  • Используя кнопку + в заголовке столбца Этапы, добавьте нужное количество Этапов – это укрупненные шаги работы над Прцессом. На форме представляют собой колонку с набором полей;
  • В каждый Этап включите Шаги (по кнопке + в заголовке столбца Шаги) – по сути, нужно выбрать поля и дать каждому название (отображаемое в панели Процесса – может отличаться от родного имени поля). При этом определите какие Шаги являются обязательными для заполнения;
  • Сохраните и активируйте Процесс.

Примечания:

  •  В одном Процессе может быть максимум:
    • 5 объектов (в крособъектном Процессе);
    • 30 Этапов;
    • 30 Шагов.
  • • Не все атрибуты могут участвовать в процессе:
    • Составные поля (такие как address1_composite или billto_composite);
    • Поля изображений;
    • Многострочные поля;
    • Поле уникальный идентификатор записи;
    • Любой другой атрибут, который не может быть вынесен на форму.
  • Столбец Stage Category, который используется как описательное поле при настройке Шагов, представляет собой общий пиклист, значения которого могут быть изменены.


Кросс-объектный Процесс

Теперь рассмотрим, как создать Процесс, который кросс-объектно проходит через Интерес, Возможную сделку и Проект (кастомный объект). Т.к. Процессы для Интереса и Возможной сделки уже настроены (поставляются в коробке), то нам необходимо просто подключить к этой цепочке работу над Проектами (которая будет следовать за Возможной сделкой).

  • Создайте в объекте Проект лукап на Возможную сделку;
  • Для начала деактивируйте Процесс Преобразование возможной сделки в продажу и откройте его;
  • Добавьте в конец цепочки новый объект Проект – щелкните по кнопке «+/- Параметры» и выберите Проект. В этом списке представлены только объекты из связи 1:N для текущего объекта (и для которых был включен функционал Процессов);
  • Настройте Этапы и Шаги как и для одиночного Процесса;
  • Сохраните и опубликуйте Процесс.

У кросс-объектных Процессов есть один недостаток – не существует автоматической генерации записей, участвующих в кросс-объектном Процессе. Процесс не создаст Проект, как только завершится последний Этап в Возможной сделки. Поэтому у Вас есть 2 варианта:

  • Можно использовать Бизнес-процессы, JS или Плагины, чтобы программно создать запись Проекта;
  • Пользователь может вручную создать следующую запись при достижении «пограничного» Этапа.


Закрытие цикла процесса

Последняя вещь, которую следует упомянуть – Вы можете «закрыть» цикл процесса – т.е. вернуть процесс к одному из предыдущих объектов. Например, если Ваш процесс начинается с Организации, продолжается на Интересе, а затем переходит к Возможной сделки, Вам может понадобиться вернуться Организации и оставить некоторые комментарии о конечно результате. Для этого находясь на последнем объекте в редакторе Процесса, щелкните по кнопке добавления нового объекта в Процесс и в самом низу списка, в области Закрытый цикл обработки, выберите объект, на котором нужно замкнуть цикл.


Несколько Процессов

В системе для одних и тех же объектов может существовать несколько Процессов. Причем доступность каждого из них может зависеть от Ролей безопасности, назначенных Пользователю. Чтобы назначить Процессу определенные Роли, щелкните по со соответствующей кнопке в окне настройке Процесса и выберите нужные Роли.

Переключение Процесса для записи осуществляется в диалоговом окне, вызываемого по кнопке Переключить Процесс. Причем Вы можете переключить Процесс на любом Этапе текущего процесса.


Работа с Процессом

  • Переключение между Этапами осуществляется по кнопке Следующий этап (а возврат к предыдущей стадии осуществляется по кнопке со стрелкой назад), а текущий Этап обозначается флажком;
  • Вы можете щелкнуть по заголовку любого Этапа, чтобы (только) посмотреть введенные для нее значения (или которые еще предстоит ввести), при этом перехода к самому Этапу не произойдет (флажок не изменит своего положения);
  • Ввод данных в полях, выведенных в Процессе автоматически заполняет их аналоги вынесенные на форму (по сути это копии полей);
  • Когда пользователь на пограничном между двумя объектами Этапе нажмет перейти к следующему, система запросит выбрать следующую (по процессу) запись (в маленьком окошке под кнопкой Следующий этап). В этом списке отобразятся все записи, которые ссылаются на текущую по через определенный лукап (который выбран при настройке Процесса). Если Вы не создали такую программно, то в списке для выбора не будет никаких записей и нужно будет создать новую налету (нажав кнопку Создать в маленьком окошке рядом с кнопкой Следующий этап).


Группы доступа

Группа доступа это новый вид Рабочей группы, которая не владеет записью как таковой, но участники которой, имеют определенный доступ к записи. В отличие от классической Рабочей группы «единолично» владеющей записью, Вы можете создать несколько Групп доступа, чтобы работать над одной и той же записью. При этом участники каждой из Групп доступа могут иметь различные права по отношению к записи.

Группы доступа, намного проще и быстрее формировать, чем Рабочие группы:

  • Пользователи могут быть добавлены/удалены из Команд доступа непосредственно от формы записи, что значительно упрощает формирование команды;
  • Группы доступа не имеют никаких Ролей безопасности.

Используйте Группы доступа, когда:

  • Команды, работающие над конкретной записью, формируются динамически;
  • Число команд не известно на момент проектирования CRM системы;
  • Члены команд должны иметь различные права доступа. Например, одна команда может иметь право только на чтение записи, а вторая на чтение/запись и общий доступ.

Настраиваются Группы доступа следующим образом:

  • Переместитесь к настройкам объекта и поставьте галку Группа доступа;
  • По умолчанию Вы можете включать Группы доступа максимум для 5 объектов. Данное ограничение задается в свойстве MaxEntitiesEnabledForAutoCreatedAccessTeams в параметрах развертывания и может быть изменено через SDK/PowerShell;
  • Перейдите параметры – Администрирование – Шаблоны групп доступа и создайте новый шаблон. Шаблоны групп доступа это преднастроенные права, которые будут выдаваться определенной Группе доступа.
    В шаблоне Вам нужно указать:

    • o Объект, для которого настраивается шаблон (в списке присутствуют только те, у которых установлена галка Группа доступа);
    • o Права пользователей, которые буду выданы участникам Команды доступа. Вы можете создать множество Шаблонов для любого объекта. И выбирать нужный шаблон в редакторе формы объекта;

    Примечание: CRM по умолчанию позволяет Вам создавать только 2 Шаблона Команды для каждого объекта.

  • Добавьте вложенное Представление Групп доступа на форму нужного объекта:
    • Записи: Все типы записей;
    • Объект: Пользователи;
    • Представление по умолчанию: Участники рабочей группы связанной записи;
    • Шаблон рабочей группы: <имя созданного шаблона>
      Все пользователи, добавленные в Группу доступа через это Представление, будут иметь права в соответсветствии с выбранным шаблоном.

По сути, Группы доступа это форма Общего доступа, вынесенная на форму записи, с преднастроенными правами для участников, которые будут в них добавлены. Как только Вы добавляете кого-то в Группу доступа, CRM создает в фоне Рабочую группу (с типом Доступ), добавляет в нее соответствующего Пользователя и расшаривает запись на эту Рабочую группу. По умолчанию такие Рабочие группы не видны в Представлениях – их нужно искать через Расширенный поиск. Название таких Рабочих групп генерируется автоматически: GUID’ы записи и Шаблона группы доступа (который используется для этой Рабочей группы).
Группы доступа негласно используют расшаривание, поэтому потенциально возможна потеря производительности из-за разрастания таблицы Principal Object Access (POA). Особенно если вы используете каскадное предоставление доступа. Поэтому внимательно подходите к использованию этого функционала.



Вводный тур

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

Чтобы глобально выключить эту фичу, нужно подредактирвоать реестр на сервер CRM:

  • Откройте ветку \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSCRM;
  • Создайте DWORD32 ключ с именем DisableNavTour и значением 1;
  • Удалите сookies в ослике.

А если задубите как пользоваться CRM Вы всегда сможете вручную запустить тур из меню личных параметров.


Вложенные Представления

Добавление

При щелчке на кнопке + теперь не открывается окно поиска записей. Вместо этого, либо прямо во вложенном Представлении появляется контрол лукапа, работа с которым осуществляется по аналогии с обычным лукапом: ввод значения, поиск, недавно используемые записи и т.д. Либо откроется форма быстрого создания, если она имеется для добавляемой сущности.


Редактирование

Некоторые стандартные вложенные Представления (например, Продукты для Возможной сделки, Заказов и Счетов) обзавелись возможностью редактирования записей прямо в Представлении. Но не всех полей, а лишь некоторых (например, нельзя редактировать основной атрибут и т.д.).


Правила поиска дубликатов

MS решило частично отключить функционал поиска дубликатов. Теперь они больше не будут срабатывать для следующих событий:

  • Создание;
  • Обновление;
  • Слияние двух записей;
  • Квалификация Интереса;
  • Активация/деактивация записей;
  • Сохранение как завершенных (для Действий).

При этом Вы по-прежнему можете создавать Правила поиска дубликатов – просто они не будут срабатывать для выше описанных событий. Скоп применения Правил поиска дубликатов ограничен следующими сценариями:

  • Ручной поиск дубликатов (с помощью стандартного Мастера поиска дубликатов);
  • Переход Outlook из офлайна в онлайн (т.е. при синхронизации);
  • Импорт.

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

При этом появился быстрый ручной поиск дубликатов: в Командной панели выберите Поиск повторяющихся данных. Откроется уже привычное окно формирования задания на поиск дубликатов.


Есть два способа вернуть потерянную функциональность:

  • Нарисовать свой функционал с использованием методов BulkDetectDuplicatesRequest и RetrieveDuplicatesRequest;
  • Использовать готовое решение от MS:
    • >Скачайте и распакуйте CRM SDK 2013 http://www.microsoft.com/en-us/download/details.aspx?id=40321
    • Импортируйте в CRM Решение \SampleCode\JS\DuplicateDetection\DuplicateDetectionSample_1_0_0_0_managed.zip
    • Подключите к форме нужно объекта JS-библиотеку sample_/duplicateDetection/scripts/SDK.DuplicateDetection.js и повесьте на событие onSave функцию SDK.Sample.DuplicateDetection.onSave. При этом:
      • Поставьте галку Передача контекста выполнения;
      • Передайте в функцию через запятую следующие параметры:
        • Булево значение, которое определяет, необходимо ли игнорировать функционал автосохранения;
        • Имя объекта;
        • Имя поля, содержащего GUID записи;
        • Массив полей, среди которых должны быть:
          • Основной атрибут;
          • Поля, участвующие в правилах поиска дубликатов;
          • Поля которые необходимо вывести в Представлении диалога;
        • Путь у Веб-ресурсу, содержащему HTML-страницу к диалогом;
        • Параметры открываемого окна.

        Например, так:

        false,
        "lead", 
        "leadid", 
        ["subject","fullname", "firstname", "lastname","emailaddress1","address1_city"],
        "sample_/duplicateDetection/ShowDuplicateLeads.html",
        "dialogHeight: 250px; dialogWidth: 650px; resizable: yes; status: no;"
        
  • Сохраните и опубликуйте изменения.

Теперь при создании записи, если будут найдены дубликаты, будет появляться диалог, который проинформирует Вас о потенциальных дублей и предложит продолжить сохранение.

Более подробную документацию по решению Вы сможете найти в \SampleCode\JS\DuplicateDetection папке в документе ReadMe.docx.



Интеграция с SharePoint

CRM List Component для SharePoint получил небольшое улучшение. Имена папок, создаваемые в шарике, теперь состоят не только из имени записи, но теперь имеют суфикс в виде GUID’а записи. Как Вы понимаете, это сделано для уникальной идентификации записи, на случай, если две записи будут иметь одинаковое имя.

Комментарии (13)
  • Вадим 02.01.2014

    Подскажите как убрать(изменить) дефолтный процесс в возможной сделке (квалифицировать, развить, предложить и т.д.). В списке процессов его нет. Где его найти? Спасибо.

  • Вадим 02.01.2014

    Уже нашел.
    Другой вопрос, вы не нашли где настроить полное отображение меток поле на формах? Обрезанная версия названий очень не есть хорошо.

  • Кирилл 02.01.2014

    Добрый день, извините за оффтопик, но я не смог найти контактных данных администратора сайта. Почему-то IP адрес компании, в которой я работаю, заблокирован у вас и приходится постоянно использовать прокси для доступа к вам. Можно как-то решить эту проблему, куда мне написать?

  • slivka_83 02.01.2014

    2Вадим
    Пока не сталкивался с такой проблемой (хотя о ней и знаю).

    2Кирилл
    Ко мне однажды обращались с такой проблемой. Дело было в том что Билайн (которы был провайдером у товарища) по непонятной причине заблокировал IP сервера, где хостится мой блог. В результате мой хостер перенес мой сайт на другой сервер (с дроугим IP) и все стало нормуль.

  • Анатолий 02.01.2014

    Я могу создавать ветвистые процессы. Что бы с этапа «Квалификация» были переходы на переквалификацию, отклонение, доп требования

    Все мои бизнес-примеры имеют ветвисты примеры НИ один четко линейный

  • Борис Богданов 02.01.2014

    Вадим:»Другой вопрос, вы не нашли где настроить полное отображение меток поле на формах? Обрезанная версия названий очень не есть хорошо.»
    Секция в которой отображаются поля по умолчанию стоит 115 если поменять до 200 и более то решит вашу проблему с метками поля.

  • slivka_83 02.01.2014

    2Анатолий
    Условные переходы явно в настройках не представлены. На вскидку предположу что это можно реализовать посредством либо нескольких Процессов, либо програмным переключением шагов (или тех же Процессов).

  • Елена 02.01.2014

    Насколько я знаю, js больще не поддерживается в CRM2013, а какой тогда фцнкционал реализации событий OnChange? Например, автоматический пересчет цен с НДС/без НДС?

  • slivka_83 02.01.2014

    Это не так. JS целиком и полностью поддерживается (как и раньше) и даже оброс дополнительными интересными функциями 🙂

  • Михаил 02.01.2014

    Добрый день, создавая процесс для Возможной сделки у нас получается только графическое его отображение. т.е. в отчет я не смогу выгрузить какая сделка на каком этапе. есть ли какой то встроенные функционал подобной выгрузки или есть ли пример бизнес процесса который будет заполнять поле на форме сделки согласно её этапу?

  • slivka_83 02.01.2014

    Добрый день.
    Про отчет не понял? О каком отчете речь?
    Если про SQL отчет — то думаю, что вполне возможно. Информация о процессе и его стадии хранятся в полях Procesid и Stageid каждой записи. А уже подробную информацию о процессе можно вытащить из таблицы ProcessStage.

  • dmitry 02.01.2014

    А есть возможность переносить шаблон группы доступа вместе с решением или как то мигрировать? Столкнулся с тем, что грид на форме сущности, при переносе решения на другую среду перестает корректно работать, приходится после каждого переноса, пересоздавать его вручную.

  • slivka_83 02.01.2014

    Вроде как по нормальному их не перенести. По крайней мере в 2013 версии.
    Вот имеется запрос на добавление такой возможности:
    https://connect.microsoft.com/dynamicssuggestions/feedback/details/1040938

    Но есть такая тулзень http://www.xrmtoolbox.com/index.html и плагин к ней https://github.com/lucasalexander/Crm-Sample-Code/releases/tag/AlexanderDevelopment.AccessTeamTemplateMover-v1.0
    который позволяет переносить Группы доступа. Но сам не пользовался.

*

code