Перейти к содержимому

Бизнес-процессы в 1С-Битрикс - шаблоны, задачи, работа с данными

Бизнес-процессы - крупнейшая подтема модулей: 241 вопрос из собранных. Здесь собраны решения по ним.

Что общего у этих задач

Шаблон и экземпляр - разные вещи. Шаблон описывает маршрут, экземпляр - один конкретный проход по нему для одного элемента. Правка шаблона не задевает уже запущенные экземпляры: они доигрывают по той версии, с которой стартовали.

Процесс работает над документом. Документ - это элемент списка, элемент инфоблока или другая сущность, и почти все действия читают и пишут именно его поля. Отсюда типовая задача «получить в процессе то, чего в полях документа нет»: раздел, соседние элементы, данные другого списка.

Переменные процесса типизированы, и тип задаётся при объявлении. Поле типа «список» хранит не подпись, а идентификатор значения, и сравнение с текстом в условии не срабатывает - самая частая причина «условие не выполняется».

Решения подтемы

Частые вопросы

Почему правка шаблона не влияет на запущенные процессы?

Экземпляр хранит копию шаблона на момент старта. Так сделано намеренно: маршрут не должен меняться под ногами у людей, которые уже согласуют документ. Новую версию получают только процессы, запущенные после правки.

Как получить в процессе поле, которого нет у документа?

Действием PHP-код или своим действием: они выполняются на сервере и имеют доступ к любому API. Штатные действия работают только с полями самого документа.

Условие по полю типа «список» не срабатывает.

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

Можно ли запустить процесс из кода?

Да, через API модуля: он принимает тип документа, его идентификатор и параметры запуска. Так процессы запускают по событию, по расписанию или из внешней системы.

Связанные темы

Первоисточники