Как выбрать данные любого объекта CRM в бизнес-процессе

Очень порадовали разработчики Битрикс24 своих партнеров и клиентов новым активити "Выбор данных crm" для бизнес-процессов! :-)

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

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

Настройка активити и пара примеров использования по ссылке "Подробнее" :-)

Настраивается активити очень просто:


Главное - это знать идентификатор той сущности, из которой нужно получить данные.
Итоговые значения будут доступны в разделе "Дополнительные результаты".

Придумывать примеры нет смысла: опишу несколько из моих текущих задач.


Форматирование названия сделки по данным контакта/компании

Многим удобно название сделки формировать по данным контакта/компании, чтобы все сделки были названы в едином стиле.

Например, при создании и любом обновлении сделки можно с помощью бизнес-процесса в название сделки записывать  "{Контакт.Фамилия} {Контакт.Имя}, {Контакт.Телефон} - {Сделка.Тип}".

Данные контакта можно легко получить с помощью нового активити.


Выгрузка сделок с контактными данными клиента

Классический вопрос от пользователей Битрикс24: как выгружать данные по сделкам вместе с контактными данными клиента для email/sms-рассылок

Из списка сделок этого сделать на данный момент нельзя: максимум, что можно выгрузить - это ФИО клиента.

Как это ограничение можно обойти сейчас:
  1. Добавить в сделку пользовательские поля "Email контакта" и "Телефон контакта"
  2. Настроить бизнес-процесс на создание и изменение сделок, который будет записывать в эти поля актуальные данные из контакта.
  3. В выгрузку из списка сделок добавить пользовательские поля.
Есть один недостаток такого метода: если данные изменились в контакте, а сделка после этого не редактировалась, то в ней будет устаревшая информация по контактным данным клиента. Но если это некритично для конкретной ситуации, то этот метод вполне подойдет.


Актуальный адрес клиента в сделке

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

Для этой задачи новый активити также отлично подходит.


В общем, вариантов использования активити "Выбор данных crm" множество.
Что нового ожидается в ближайшее время - узнаем сегодня из презентации от Битрикс24 :-)


Комментарии

  1. Вот с пользовательскими полями - ничего не выводит.

    ОтветитьУдалить
    Ответы
    1. Для контактов у меня создано пользовательское поле "Дата начала действия договора" с типом "Дата/время". Запустила БП для сделки, в котором получаю данные из этого поля контакта, значение выводится.

      У Вас пользовательское поле для какого объекта создано и какой тип поля?

      Удалить
  2. Здравствуйте, подскажите, пожалуйста, это действие доступно для процессов, запускаемых с ленты?
    Допустим есть БП на отправку заказа для экспедитора. Все данные для этого в сущности сделка.
    Хочется задать для этого минимальные требования на запуске, чтобы потом через изменения документа подставить значения CRM.
    Но, какой будет идентификатор сделки?
    У меня есть отдельное поле с привязкой к сущности crm. Но настройка идентификатором этого поля все-равно не выдает запускает автоматическое "вписывание" данных с сущности.
    Заранее спасибо.

    ОтветитьУдалить
    Ответы
    1. Добрый день!

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

      Покажите на скриншоте, как после получения данных из сделки сохраняете их в поля процесса.

      Удалить
  3. Вот БП (Самый простой)
    http://prntscr.com/gy24tf
    Выбор данных
    https://prnt.sc/gy23mb
    Изменение документа
    https://prnt.sc/gy2492

    ТТН сейчас там для проверки, что значения в поля должны вписываться.
    Тип поля Наименования товара - строка и в БП и в сущности сделки

    ОтветитьУдалить
    Ответы
    1. Настроила пример такого же БП - данные из сделки записываются в поле процесса.

      Перепроверьте все коды полей, может быть где-то опечатка или может быть в сделке, которую Вы выбираете, поле "Наименование товара" не заполнено.

      Удалить
    2. Спасибо! Наверное, дело было таки в кодах.
      В БП и в сущностях названия и коды были одинаковые и процесс, видимо поэтому, не срабатывал.

      Удалить
  4. Доброго времени суток.
    Не могу настроить аналогичный бизнес-процесс с выборкой данных.

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

    Бизнес-процесс состоит из 2 действий, выбор данных и уведомление (для подтверждения работы БП)
    Но данные не передаются.

    Пробовал из пользовательского поля и из привязанного контакта - эффекта 0.
    Настройки БП: https://prnt.sc/h5sque
    Поля в Контакте и сделке названы по разному.(Одинаковые названия не меняют результат)

    БП передает только статус и время https://prnt.sc/h5st95
    В чем может быть проблема?

    ОтветитьУдалить
    Ответы
    1. Александр, здравствуйте!)
      Потестила БП по Вашему описанию: данные из связанного со сделкой контакта без проблем посткпают в БП по сделке. Я для проверки вывожу полученное значение себе в уведомление http://joxi.ru/Dr8NW6OF49B6Y2, http://joxi.ru/KAgW78Xf4DlxxA.

      По скриншоту в настройках у Вас всё правильно. Перепроверьте только, чтобы у Вас было выбрано именно значение поля, а не его текстовое значение http://joxi.ru/4AkG0p9cyD37RA.

      Если всё так, то у меня только 2 варианта, почему не работает:
      1. в сделке в пользовательском поле не заполнен связанный контакт
      2. в связанном контакте не заполнено пользовательское поле.

      Удалить
  5. Доброго дня, Люба.

    Может не в ту ветку пишу, но все же спрошу.

    Нужно ставить задачу через БП CRM при определенном условии, например, что в поле "В работе" поставлена галка.
    Создал БП, в параметрах указал запуск при создании и изменении.
    В результате, задача ставится при любом сохранении сделки, при условии что галка уже стоит. Т.е. при каждом сохранении ставится новая задача.

    Что я делаю не так?

    ОтветитьУдалить
    Ответы
    1. Роман, здравствуйте!)

      Всё делаете правильно, но процесс настроен на автозапуск при создании и изменении сделки, соответственно, любое пересохранение сделки будет запускать бизнес-процесс.

      Чтобы определить, что было изменено именно поле "В работе" нужно создать еще одно служебное поле с тем же типом данных, например, "В работе (служебное)". В бизнес-процесс нужно добавить проверку: если значение в служебном поле не равно значению в основном, то это значит, что основное поле было изменено и нужно выполнить дальнейшую обработку (поставить задачи, отправить уведомления и т.д.), после чего в служебное поле записать значение из основного поля; если значения равны, то это значит, что сделка была пересохранена, но изменилось какое-то другое поле, и дальнейшую обработку делать не нужно.

      Может быть немного запутанное описание, но реализация несложная.

      Удалить
    2. Спасибо за ответ!!! Я в общем так и сделал, но думал, может есть способ элегантнее, т.к. полей у сделки очень много, а если часть из них дублировать еще служебными...

      Но если других вариантов нет... пойдем этим путем.
      Еще раз спасибо!!!

      Удалить
  6. И еще вопрос, можно ли при постановке задачи из БП привязывать эту задачу к сделке?

    ОтветитьУдалить
    Ответы
    1. На этот вопрос сам нашел ответ. Предыдущий актуален

      Удалить
    2. А вот еще вопрос))
      Как запускать БП при смене стадии сделки (по типу роботов)? В параметрах БП можно задать запуск "при создании" и "при изменении". Но как я понимаю, изменение стадии сделки через шкалу http://prntscr.com/hgxtst не есть "изменение".

      Удалить
    3. Любое изменение сделки: в режиме редактирования или через шкалу стадий запускает БП на изменение сделки. А проверить, что изменилась именно стадия, можно так же с помощью служебного поля.

      Удалить
  7. Этот комментарий был удален автором.

    ОтветитьУдалить
  8. Этот комментарий был удален автором.

    ОтветитьУдалить
  9. Добрый вечер Люба!
    Спасибо за Ваши стаьи, очень помогают.
    Хотел спросить можно ли из БП в ленте поменять поле в сделке зная ее ИД?

    ОтветитьУдалить
    Ответы
    1. Александр, здравствуйте!)

      Да, можно с помощью действия "Запуск бизнес-процесса". Если задача ещё актуальна - пишите, я подробнее опишу алгоритм действий.

      Удалить
  10. Люба, добрый день.
    Вопрос такого плана. У меня БП из ленты. Есть пользовательское поле "DEAL ID", в которое сообщается айдишка сделки, которую, в свою очередь, аккаунт менеджер выбирает руками из списка. Если взять "Выбор данных CRM" и в поле ай ди сущности указать это самое поле Deal ID, то в поле "Deal name" ничего не записывается. Поясню чуть глубже - столкнулся с тем, что если взять поле типа строка Deal name и записать в него {=Variable:DealName > printable}, то в следующем задании БП отобразится что-то типа [b]Наименование сделки:[/b]........ и так далее. Решил попробовать через выбор данных си эр эм, как указал выше, но не работает. Может быть это от того, что надо название сделки записывать не в поле типа строка а в тело задания БП? Если путано объяснил - простите)

    ОтветитьУдалить
    Ответы
    1. Я не поняла вопрос) Давайте по порядку)

      Нужно при запуске процесса выбрать сделку, а потом в последующих заданиях/уведомлениях выводить некоторые поля этой сделки, например "Название". И сейчас название не выводится, верно?

      Удалить
    2. Снова здравствуйте! Да, я наверное сильно замудрил. Проще - у меня записывается либо ID сделки в пользовательское поле, либо, если я использую printable или friendly, то вот так:
      [b]Сделка: [/b][url=/crm/deal/show/5472/]Bajenov - (only for tests) Test AM[/url]

      Удалить
    3. Как добиться отображения только названия сделки без этих url и прочего? Буду премного благодарен за совет)

      Удалить
    4. Потестила разные варианты - у меня не получается воспроизвести такую ситуацию)
      Я делала так:
      1. Есть поле с типом "Привязка к элементам CRM", его инициатор заполняет при старте процесса - то есть выбирает сделку.
      2. Потом получаю остальные поля сделки с помощью "Выбор данных CRM", в "ID сущности" записываю значение из п.1 без каких-либо модификаторов.
      3. Из дополнительных результатов беру "Название" сделки и вывожу в следующем задании бизнес-процесса. Пробовала предварительно записать его в переменную с типом "Строка" и вывести в задании ее значение. Результат одинаковый: выводится только название сделки, без BB-кода.

      Удалить
  11. Здравствуйте! Подскажите, есть ли возможность из полей БП в ленте передавать значения в поля связанной с ним сделки?

    ОтветитьУдалить
    Ответы
    1. Добрый день!)

      Да, нужно настроить бизнес-процесс с параметрами для сделки. В этом бизнес-процессе поля сделку будут меняться на соответствующие параметры. Запускать этот бизнес-процесс нужно из бизнес-процесса в ленте с помощью действия "Запуск бизнес-процесса". В качестве параметров передать значения полей. У меня есть статья, в ней похожий процесс описан.

      Удалить
    2. Благодарю! Попробуем настроить.

      Удалить
  12. Добрый день, Людмила. Вы написали:
    "Актуальный адрес клиента в сделке
    Из моей практики, многим клиентам требуется дублировать адрес клиента в поле сделки или использовать его в задачах/заданиях, которые автоматически ставятся из бизнес-процессов по сделке. Например, если адрес клиента - это объект для монтажа или ремонта."
    Сколько ни пытался сегодня, так и не смог вытащить адрес из стандартного поля Адрес контакта. У Вас получалось?

    ОтветитьУдалить
    Ответы
    1. Алексей, добрый день!)
      У Вас бизнес-процесс настроен в сделках?

      Удалить
  13. Добрый день, Люба!
    Имеется универсальный список с полями Компания и Контакт (у обоих полей тип - привязка к элементам CRM). Можно ли как то при заполнении элемента списка выбирать компанию и тем самым ограничивать варианты выбора контакта только из привязанных к этой компании? То есть другими словами чтобы срабатывала фильтрация и были видны только контакты, у которых есть привязка к этой компании.
    Спасибо.

    ОтветитьУдалить
    Ответы
    1. Добрый день! Думаю, что стандартными средствами так сделать не получится.

      Удалить
  14. Добрый Люба!
    Буду признателен за помощь, сделка выполняется параллельно, мы оставляем сделку 1 в основном тунеле А, создаем ее копию в тунели Б. Задача: необходимо чтобы значения поля которые заполняются в копии сделка 1 в тунеле Б, перезаписывались в сделку 1 тунели А (дургими словами синхронизировались). ID сделке 1 мы сохраняем в пользовательское поле. Дальше понимаем что надо запустить БП который запустить БП который перезапишит данные, но как это сделать не понятно, пересмотрели кучу видео и описаний, что еще больше усугубило понимание.

    ОтветитьУдалить
    Ответы
    1. Валерий, добрый день!)
      Вам нужно создать бизнес-процесс с параметрами без автозапуска. Параметры этого бизнес процесса должны соответствовать тем полям сделки воронки А, которые планируете синхронизировать. Этот бизнес-процесс нужно запускать при изменении копии сделки из воронки Б. В параметрах запуска бизнес-процесса указать ID основной сделки из воронки А и передать параметры.

      Удалить
  15. Этот комментарий был удален автором.

    ОтветитьУдалить
  16. Здравствуйте!
    Спасибо.
    Настройка параметров действия
    Как узнать ID сущности лида сделки?

    ОтветитьУдалить
  17. Здравствуйте. Я начинающий специалист. Работаю с бизнес-процессами. Есть поле Дата мероприятия(дата/время). При ее заполнении ставится задача для менеджера. Если дата мероприятия изменилась, как снова поставить новую задачу менеджеру?

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      В каком разделе настраиваете бизнес-процесс: CRM (например, для сделок) или в разделе процессов в ленте?

      Удалить
    2. Добрый день!
      Можно сделать так:
      - Для сделок создать дополнительное поле, например, "Дата мероприятия (служебное)" с типом Дата/время.
      - Создать БП, который будет запускаться при любом изменении сделки.
      - В этом БП проверять: если поле "Дата мероприятия" и "Дата мероприятия (служебное)" совпадают, значит, ничего делать не нужно.
      - Если НЕ совпадают, то поставить менеджеру новую задачу, при этом в поле "Дата мероприятия (служебное)" записать значение из "Дата мероприятия".

      Удалить
  18. Спасибо большое за предыдущий комментарий. Сделала. Все получилось, но вот снова задача. Нужно создать комментарий по невыполненной в срок задаче с контролем у руководителя. БП в сделке. Как это можно сделать?

    ОтветитьУдалить
    Ответы
    1. Добрый день!)

      Нужно добавить комментарий в задачу или в ленту сделки?

      Удалить
  19. Добрый день, подскажите пожалуйста, если в БП в ленте в поле типа "Привязка к элементам CRM" выбирается контакт, можно ли в этом же БП как то вытащить ID и другие поля этого контакта?

    ОтветитьУдалить
    Ответы
    1. Дмитрий, добрый день!)
      В самом поле будет содержаться ID контакта, остальные данные можно вытащить с помощью активити "Выбор данных CRM".

      Удалить
  20. Добрый день. подскажите пожалуйста, как в БП по дням рождениям клиентов, указать наименование компании при рассылке по манагерам ? Ставлю {Компания} = отдается только ID.

    ОтветитьУдалить
    Ответы
    1. Добрый день!

      Можно получить данные по компании, в том числе Наименование, с помощью стандартного активити "Выбор данных CRM".

      Удалить
  21. Здравствуйте! Вышел на этот пост через поиск и вижу, что вы еще отвечаете в комментариях. Подскажите, можно ли как-то подсчитать количество сделок, привязанных к контакту/компании? Чтобы потом записать это значение в пользовательское поле.
    Вроде бы банальная задача, но что-то терзают смутные сомнения :(

    ОтветитьУдалить
    Ответы
    1. Добрый день!)
      Без плагинов из Маркета или программных доработок думаю, что эту задачу не решить.

      Удалить
  22. Люба, добрый день! Спасибо огромное за Ваш труд!!! У меня к вам вопрос. Есть сделка. С привязкой к сделке формируются разного рода автоматические задачи (задачи ставятся Юристам, медикам, психологам). У задач есть поле "Дата закрытия". В карточке Сделки у меня есть поле "дата передачи Юристу" (тип поля "дата"). Как мне в БП считать "Дату завершения" именно задачи, которая ставилась Юристу?
    У меня не получается считать поля из задачи, т.к. это не сущность(лид, контакт или сделка), а задача, которая привязана к сделке. Помогите пожалуйста разобраться.

    ОтветитьУдалить
    Ответы
    1. Екатерина, добрый день!
      Дату закрытия задачи можно получить двумя способами:
      1. Если задача ставилась из бизнес-процесса, то в разделе "Дополнительные результаты" для активити "Поставить задачу" можно взять "Дату завершения задачи"
      2. Если известен ID задачи, то можно получить дополнительные данные по ней с помощью активти "Получить информацию о задаче"

      Удалить
    2. Люба, добрый вечер! Снова мучаюсь с БП. В Бизнес-процессе в какой-то момент времени формируется новая сделка (путем копирования текущей сделки) с другим направлением. Как в БП в дальнейшем можно "выцепить" дату закрытия вновь созданной сделки и проставить её в поле первоначальной сделки? В бизнес-процессе пытаюсь воспользоваться путем "Получить информацию об элементе CRM" и "выбор данных crm", но никак не могу понять как мне найти поле "дата закрытия сделки"(которая формируется путем копирования в БП), такое поле не показывается если использовать "получить информацию" / "выбор данных"

      Удалить
    3. Добрый день!
      Это значение находится в "Предполагаемая дата закрытия" активити "Выбор данных crm" и "Получить информацию об элементе CRM". Но нужно так же проверить значение "Сделка закрыта" - Да/Нет.

      Удалить
  23. Добрый день.
    Подскажите можно ли как то БП вытащить из системного поля комментарий числовое значение в пользовательские поля.?

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения

Расширение возможностей бизнес-процессов с помощью вебхуков: работа с задачами