В бизнес-процессе подаются при его выполнении данные, которые заносятся в переменные DATE1 и DATE2
далее в конструкторе ставлю условие: если меньше 4 дней, то остановка БП с сообщением пользователю.
Этот шаг проходит — как буд-то его и нет при чем по правильному условию (т.е. по «левой» ветке бизнес-процессов).
Тип условия: значение переменной; свойство переменной TODAY (которая и вычисляется); условие: равно и далее уже варианты выбе согласно https://helpdesk.bitrix24.ru/open/5428897/
- Вопрос задан более трёх лет назад
- 8471 просмотр
Комментировать
Решения вопроса 1
junior php bitrix python
Как автоматизировать бизнес-процессы? Лайфхаки в Битрикс24
Решил следующим образом:
Добавил блок действий — расчет дат.
В нем:
1. DATE1 =
DATE2 =
3. Длина отрезка времени между двух дат
TODAY = <<=datediff(,,’%a’)>> переменная названа некрасиво, согласен
заодно расчитал количество дней отпуска
DAYS = <<=datediff(<=Variable:DATE2>,,’%a’)>>
В качестве формата выбрал ‘%a’
4. Проверил вывод
5. Условие
6. Утверждение документа
7. Постановка задачи отделу персонала
Источник: qna.habr.com
Итератор в бизнес процессах Битрикс24 — вспоминаем циклы
АлгоритмыБитрикс24
Проблема бизнес-процессов в том, что их логика скрыта от глаз и отлаживать сложные процессы проблематично. С проблемой столкнулся не я сам, а мой коллега, он категорически не мог понять почему итератор помещенный в итератор не возвращает разницы массивов. Все просто: потому, что он возвращает совпадения.
Я быстро накидал пример из двух циклов и булевой переменной, проверил пример и сбросил коллеге. Через какое-то время, он сообщил, что несмотря на то, что пример на PHP работает верно, бизнес-процесс Битрикс не работает.
В представленном ниже примере, я продемонстрировал как работать с итераторами.
Увы, хоть это и хороший (на мой взгляд) пример, представленная блок-схема не будет работать с блоком «Согласование документа».Вы не сможете получить список проголосовавших до тех пор, пока работа в блоке не будет завершена.
Такое поведение блока показалось мне странным и я обратился в поддержку Битрикс, вот их ответ:Лично мне это кажется если не багом, то серьезной недоработкой сильно ограничивающей функционал бизнес-процессов Битрикс24. Надеюсь, что разработчики добавят возможность получать эти данные напрямую из бизнес-процессов.
Сравнение массивов довольно простой алгоритм. Всего-то нужно два цикла и пара ПРАВИЛЬНО РАССТАВЛЕННЫХ условий.
Пройдем от простого: найдем совпадения в двух массивах. В первом цикле перебираем длинный массив, во втором массив покороче.
Внутри второго цикла необходимо создать условие, которое при совпадении значений будет выводить совпавшее значение. Выходит, что несовпавшие элементы просто игнорируются, а мы на выходе получаем все совпадения.
Источник: stackup.ru