Набор действий «Цикл». Модуль 4. Урок 7.
В этом уроке курса перейдем к самому интересному — научимся создавать свой бизнес-процесс «с нуля»
Используем «цикл» — будем повторять набор действий, пока нужное нам условие не выполнится
Познакомимся с настройками действия «цикл»
Научитесь создавать бизнес-процессы и творите чудеса автоматизации!
Смотрите весь курс: https://bit.ly/2lTzn4s
По итогу обучения вы сможете переносить бизнес-процессы в Битрикс24. Возможно, это станет новым направлением в вашей деятельности 🙂
Осваивайте новые компетенции и оказывайте востребованные услуги!
Учебный курс позволит погрузиться в тему и основательно «прокачаться»
Подписывайся на канал Битрикс24. Обучение: https://bit.ly/2MIF0hf
Основной канал 1С-Битрикс: https://bit.ly/31nQXNm
Канал Битрикс24. Поддержка пользователей: https://bit.ly/2T9n4gQ
#курс_бизнес_процессы #Бизнес_процессы #Битрикс24
В этом уроке курса перейдем к самому интересному — научимся создавать свой бизнес-процесс «с нуля»
Используем «цикл» — будем повторять набор действий, пока нужное нам условие не выполнится
Познакомимся с настройками действия «цикл»
Научитесь создавать бизнес-процессы и творите чудеса автоматизации!
Смотрите весь курс: https://bit.ly/2lTzn4s
По итогу обучения вы сможете переносить бизнес-процессы в Битрикс24. Возможно, это станет новым направлением в вашей деятельности 🙂
Осваивайте новые компетенции и оказывайте востребованные услуги!
Учебный курс позволит погрузиться в тему и основательно «прокачаться»
Подписывайся на канал Битрикс24. Обучение: https://bit.ly/2MIF0hf
Основной канал 1С-Битрикс: https://bit.ly/31nQXNm
Канал Битрикс24. Поддержка пользователей: https://bit.ly/2T9n4gQ
#курс_бизнес_процессы #Бизнес_процессы #Битрикс24
Поделиться
Ссылка скопирована в буфер обмена
- Поделиться в Контакте
- Поделиться в Телеграм
- Скопировать ссылку
Итератор в бизнес процессах Битрикс24 — вспоминаем циклы
АлгоритмыБитрикс24
Проблема бизнес-процессов в том, что их логика скрыта от глаз и отлаживать сложные процессы проблематично. С проблемой столкнулся не я сам, а мой коллега, он категорически не мог понять почему итератор помещенный в итератор не возвращает разницы массивов. Все просто: потому, что он возвращает совпадения.
Я быстро накидал пример из двух циклов и булевой переменной, проверил пример и сбросил коллеге. Через какое-то время, он сообщил, что несмотря на то, что пример на PHP работает верно, бизнес-процесс Битрикс не работает.

В представленном ниже примере, я продемонстрировал как работать с итераторами.
Увы, хоть это и хороший (на мой взгляд) пример, представленная блок-схема не будет работать с блоком «Согласование документа».Вы не сможете получить список проголосовавших до тех пор, пока работа в блоке не будет завершена.
Такое поведение блока показалось мне странным и я обратился в поддержку Битрикс, вот их ответ:Лично мне это кажется если не багом, то серьезной недоработкой сильно ограничивающей функционал бизнес-процессов Битрикс24. Надеюсь, что разработчики добавят возможность получать эти данные напрямую из бизнес-процессов.
Сравнение массивов довольно простой алгоритм. Всего-то нужно два цикла и пара ПРАВИЛЬНО РАССТАВЛЕННЫХ условий.
Пройдем от простого: найдем совпадения в двух массивах. В первом цикле перебираем длинный массив, во втором массив покороче.
Внутри второго цикла необходимо создать условие, которое при совпадении значений будет выводить совпавшее значение. Выходит, что несовпавшие элементы просто игнорируются, а мы на выходе получаем все совпадения.
Пример использования в системе Битрикс24 цикла для утверждения документа
Пример использования в системе Битрикс24 цикла для утверждения документа
30.09.2014 13:40 30.09.2014 13:40:15

| Напишите, в какой сфере вы работаете, чтобы получить примеры автоматизации с кейсами внедрений по тематике вашего бизнеса. |

Установите приложение Пинкит, чтобы расширить возможности вашего портала на Битрикс24:
Для этого выбираем нужный регион и устанавливаем Пинкит на свой Битрикс24:

В данной статье рассмотрим, как в системе Битрикс24 работает конструкция Цикл .
С чего начать работу?
В первую очередь добавляем действие Изменение документа .
Нажимаем ссылку Добавить поле и создаем новое поле типа список, которое назовем Результат утверждения . Отмечаем 2 вар-та значений поля: на рассмотрении и утвержден.
Затем в разделе Изменение документа выбираем поле Результат утверждения , устанавливая для него значение равное на рассмотрении.
Далее добавляем действие Цикл, в параметрах которого указываем: тип условия — поле документа; условие — равно; значение — на рассмотрении.
В цикле добавляем действие Утверждение документа.
В ветке Да указываем Изменение документа , в поле Результат утверждения отмечаем значение Утвержден . Это заставит процесс больше не входить в цикл.
После этого уже можно поставить необходимые действия.
В ветке Нет указываем Запрос дополнительной информации. Оно будет применяться, к примеру, для указания информации о редактировании старой версии док-та или каких-либо еще данных, связанных с повторным изучением документа.
Затем указываем действие Изменение документа, для поля Результат утверждения отметим значение на рассмотрении. Это заставит процесс повторно войти в цикл. Кроме того, обновляя значения полей документа на значения, которые получены из предыдущего действия, мы отправим на рассмотрение уже отредактированный документ.
В случае необходимости в этой ветке тоже можно указать дополнительные действия.
После указанных выше действий установим действие, функция которого будет сообщать нам о том, что цикл завершен. В качестве такого сообщения можно выбрать действие Установить текст статуса либо Почтовое сообщение .
Установите приложение Пинкит, в состав которого входит множество интеграций для автоматизации:
Массовое заполнение полей в карточках Битрикс24
Рассмотрим реализованный бизнес процесс по смене значения в одном из полей документа. За основу взята карточка контакта, в которой есть поле тип контакта.
Поскольку в некоторых карточках не указан тип контакта, скорее всего это клиенты. С целью изменения не заполненного поля в каждой из карточек, для автоматизации данного действия, мы создали 2 бизнес процесса, которые могут просмотреть N количество карточек и выставить нужное нам значения.
Как изменить значение в одном из полей карточки?
В функционале бизнес процессов это очень просто сделать.
Рис.1. Изменение поля в карточке
Создаем новый бизнес процесс
Ставим условия если, которое будет проверять заполнено это поле.
Если оно пустое, то берем блок на изменение поле документа. Ставим то значение, которое нам необходимо.
Протестировали, работает хорошо. Но есть проблема в том, что данный бизнес процесс срабатывает только в том контакте, в котором его запустили. Становиться не понятно, зачем тогда необходим данный функционал, если то же самое можно сделать в ручную?!
Данный бизнес процесс нуждается в помощи другого бизнес процесса, который выглядеть следующим образом.
Рис. 2. Получение ID
Возникает вопрос, почему мы построили сначала хвост, а потом голову комплексного бизнес процесса.
Дело в том, что в этом бизнес процессе ставиться блок, который запускает последующий бизнес процесс.
Рис. 3. Параметры запуска следующего БП
Выбираем сущность, для которой надо указать ID, переменную, которая будет изменяться по-нужному БП.
Оба эти БП запускаются исключительно в ручном режиме.
Цикл имеет ограничения не более 1000 действий
Проводим тестирование данного БП
Заходим в карточку. Запускаем бизнес процесс.
Рис.5. БП цикл перебора.
Тут главное, чтобы ID было минимальным, так как цикл работает на увеличение значения данного параметра.
Информация о том, что был запущен БП появляется в комментарии.
Рис.6. БП запущен
Для проверки работы Цикла перебора открываем вкладку Бизнес процессы, где имеется история всех ранее запущенных БП.
Рис.7. История БП
Как видно данный бизнес процесс все еще выполняется. Откройте журнал, чтобы убедиться в том, что он банально не завис.
Рис. 8. Превышен лимит
Как видно из последней записи был превышен лимит итераций в цикле, останавливаем выполнение работ, и информация об этом так же запишется в комментарии
Рис.9. Запуск и остановка Цикла перебора
Затраты времени на проверку и изменения поля в 1000 документах, бизнес процесс потратил меньше 2 минут. Запуск его происходит один раз но для 1000 документов.
