0 0,00 

Есть вопрос? Звоните!

+7 923 192-46-05

Сопоставление полей типа “Список” в бизнес-процессах

25.10.2020
1
Списки

На днях мне понадобилось настроить автозаполнение полей сделки на основе полей Компании. Я создала процесс при создании Сделки, настроила проверку заполненности полей и при пустом значении заполнила их из Компании. Вроде все просто, но вот поля типа Список заполняться отказались 🙁 

Пришлось искать варианты. Что же я сделала?

Рассмотрим на примере поля “Условия оплаты” со значениями: 

  • 100% предоплата 
  • Отсрочка 100% 
  • Частичная предоплата
Поле условия оплаты

Это поле создано как в Сделке, так и в Компании. Т.е. когда создается сделка, проверяем заполнено ли значение свойства и если оно пустое, смотрим аналогичное поле в Компании и устанавливаем такое же значение.

Содержание

Для начала создадим Бизнес-процесс при создании сделки. CRM – Настройки – Роботы и бизнес-процессы – Бизнес-процессы – Сделки – Список шаблонов – Добавить шаблон

БП в настройках
Список сущностей БП
Список шаблонов

Бизнес-процесс по заполнению поля "Условия оплаты" в Сделке из Компании

БП

Создание переменной

Создадим переменную с тем же названием и типом Список. Для это зайдем в Параметры шаблона, перейдем на вкладку Переменные и нажмем кнопку Добавить переменную.

Параметры
Добавить переменную
Переменная
  • Идентификатор – Название поля на английском или латинице;
  • Название – Условия оплаты;
  • Описание – Можете добавить на свое усмотрение;
  • Тип – Список;
  • Варианты значений – это самое интересное, рассмотрим ниже, пока оставляем пустым;
  • Значение по умолчанию – Не установлено.

Действия бизнес-процесса

Условия оплаты заполнены?

Выбираем конструкцию Условие и указываем в каком случае Условия оплаты заполнены, а в каком нет.

Условия оплаты заполнены
Условие да
Условие "Да"
  • Заголовок – Да 
  • Тип условия – Поле документа 
  • Поле документа – Условия оплаты 
  • Условие – заполнено
Условие "Нет"
  • Заголовок – Нет 
  • Тип условия – Истина 

 Т.к. условия проверяются слева направо, то в условии Нет можно просто выбрать истину.

Условие нет
Разветвление да

Разветвление. Заполнено

Логируем результат разветвления по условию. 

  • Заголовок – Разветвление 
  • Текст – Условия оплаты заполнены; {{Условия оплаты}}; {{Условия оплаты > select}} 
  • Загрузить отчет для доступа из бизнес-процесса – устанавливаем галочку
Разветвление. Не заполнено
  • Заголовок – Разветвление 
  • Текст – Условия оплаты не заполнены; В компании: {{Компания: Условия оплаты}}; {{Компания: Условия оплаты > select}} 
  • Загрузить отчет для доступа из бизнес-процесса – устанавливаем галочку
Разветвление нет

Эти логи как раз и помогут нам в заполнении значений переменной. Нам нужно определить идентификаторы значений списков полей Условия оплаты в Сделке и в Компании. Запускаем процесс в сделке, открываем вкладку Бизнес-процессы и смотрим журнал. Если запущенных процессов несколько, то определяем по названию и времени запуска.

Вкладка журнала
Журнал БП

3519fa98840a8b3a6c9ffecf5800529e — это и есть идентификатор значения “Частичная оплата” в поле “Условия оплаты” в Компании. Так нам нужно определить все идентификаторы в обоих списках.

Вот что получилось:

Компания

100% предоплата: bf86af927607e0eff8a54695236fd74f 

Отсрочка 100%: bab7184d8f5d3e7c197e79c3a571396c 

Частичная предоплата: 3519fa98840a8b3a6c9ffecf5800529e

 

Сделка 

100% предоплата: ea7d6da2d9158bbb31f02f24b9c76308 

Отсрочка 100%: 0908d72fe7fcf676e656b36ce9468eb8 

Частичная предоплата: 929f4e57547c4ef1e99f8f252a5e420b

Теперь возвращаемся к нашей переменной и заполняем значения списка в таком виде:

[Идентификатор Компании]Идентификатор Сделки

Например, значение “100% предоплата” будет выглядеть так:

[bf86af927607e0eff8a54695236fd74f] ea7d6da2d9158bbb31f02f24b9c76308

Итого:

[bf86af927607e0eff8a54695236fd74f] ea7d6da2d9158bbb31f02f24b9c76308 [bab7184d8f5d3e7c197e79c3a571396c] 0908d72fe7fcf676e656b36ce9468eb8 [3519fa98840a8b3a6c9ffecf5800529e] 929f4e57547c4ef1e99f8f252a5e420b

Вставляем эти варианты значений в переменную.

Переменная
Изменение переменной

Изменение переменных

Присвоим переменной список значение аналогичного поля из Компании. Возьмем действие “Изменение переменных”.

  • Заголовок – Изменение переменных
  • Переменная – Условия оплаты
  • Значение – {{Компания: Условия оплаты > select}} 

Параметр select указывает на идентификатор.

Переменная

  • Заголовок – Переменная 
  • Текст – {=Variable:UslOpl}; {=Variable:UslOpl_printable} 
  • Загрузить отчет для доступа из бизнес-процесса – устанавливаем галочку

Посмотрим обновилась ли переменная и что в ней записано.

Лог переменной
Изменение поля

Внесение условий оплаты

  • Заголовок – Внесение условий оплаты
  • Поле документа – Условия оплаты
  • Значение – {=Variable:UslOpl_printable}
  • Изменять от имени – устанавливаем администратора или конкретного сотрудника

В значении указываем переменную с параметром printable.

Наш процесс готов! И поле типа Список теперь заполняется, главное не напутать с идентификаторами и их порядком 🙂

4 3 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
1 Комментарий
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Eugene

господи, какая дичь. А если значений у списка не 3, а 30? Не зря это одна и та же контора с 1с…

1
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
0
    0
    Корзина
    Корзина пустаВернуться в магазин