Как добавить или настроить поле «От кого» в разделе «Бизнес-процессы»?

Как сделать так, чтобы в задаче бизнес-процесса в поле "От кого" отображался пользователь, от имени которого запущен БП? В разделе "Автоматизация" → "Бизнес-процессы" при приходе задания поле "От кого" пустое. В стандартном активити "Утверждение документа" нет опции "Изменять от имени". Я сделал кастомное активити, в нём есть такое поле и оно, похоже, возвращает пользователя, но не понимаю, как связать это с полем "От кого" в задаче.
  • 13 апреля 2026 г. 21:01
Ответы на вопрос 2
Коротко — поведение зависит от того, у вас облачный Bitrix24 (cloud) или коробочный (self‑hosted). В облаке штатно поменять автора (поле «От кого» / CREATED_BY) у задачи, созданной роботом/бизнес‑процессом, нельзя — задача создаётся от системного робота. На коробке вы можете создать задачу от имени любого пользователя через API/CTasks::Add или через стандартную опцию активности «Создать задачу» (если доступна).

Что можно сделать — варианты и инструкции

1) Выясните, какая у вас версия Bitrix24
- Если cloud — см. пункт 3 (ограничения и обходы).
- Если коробочная (self‑hosted) — идите в пункт 2 (простое и надёжное решение).

2) Коробочный Bitrix24 (self‑hosted)
- В стандартной активности «Создать задачу» есть опция «Изменять от имени» (если её нет — убедитесь, что у вас актуальная версия коробки). В эту опцию можно подставить переменную с ID пользователя (например, инициатор бизнес‑процесса).
- Если вы пишете кастомную активность на PHP, при создании задачи используйте CTasks::Add и передайте CREATED_BY:
  Пример:
  $arFields = [
    'TITLE' => $title,
    'DESCRIPTION' => $description,
    'RESPONSIBLE_ID' => (int)$responsibleId,
    'CREATED_BY' => (int)$authorId, // здесь ID пользователя, от имени которого задача будет в поле "От кого"
    'DEADLINE' => $deadline,
    'PRIORITY' => 2
  ];
  $taskId = CTasks::Add($arFields, false);
- В BP‑дизайнере: в вашей кастомной активности отдавайте в выходные параметры ID пользователя (переменную). Далее в активности «Создать задачу» (или другой) в поле «Изменять от имени» укажите эту переменную.

3) Облачный Bitrix24 (cloud) — ограничения и обходные пути
- Ограничение: большинство API/роботов, запускаемых системой, в облаке не позволяют произвольно менять CREATED_BY — задача будет создаваться от робота/системы, поле «От кого» остаётся пустым или показывается робот.
- Обходы:
  a) Создать задачу через REST API от имени пользователя (tasks.task.add с полем CREATED_BY) — это сработает только если запрос выполняется под учётной записью нужного пользователя (OAuth-пользовательский токен или персональный вебхук, созданный этим пользователем). То есть нужен способ выполнить REST‑запрос именно от имени того пользователя: персональный входящий вебхук или приложение, которое умеет получать OAuth токен этого пользователя.
  b) Использовать приложение/интеграцию с правами управления задачами, которое создаёт задачу от имени конкретного пользователя (после получения его согласия).
  c) Альтернативный (простой) обход: в задаче явно указывать инициатора в названии/описании/комментарии (например «Задача от: Иван Иванов»), либо добавлять инициатора как наблюдателя/соисполнителя — чтобы визуально было видно, кто запустил процесс.
- Практический совет для cloud: если вы готовы делать интеграцию — заведите централизованный бек‑энд/приложение и получите OAuth токен пользователя при старте процесса (или храните перс. вебхуки пользователей). Затем в BP используйте «Выполнить REST» (или кастомную активность), которая вызовет tasks.task.add под токеном пользователя, чтобы задача появилась «От кого» этого пользователя.

4) Что конкретно проверить у вас сейчас
- Уточните, cloud или коробка?
- Если коробка — скажите, нужна ли примерная реализация кастомной активности (включая код).
- Если cloud — скажите, готовы ли вы заводить приложение/хранилище токенов или подойдёт решение «записать инициатора в описание задачи».

Если скажете версию (cloud/box) и какой подход предпочтителен (настроить в BP, написать кастомную активность или сделать REST‑интеграцию), дам пошаговую инструкцию/пример кода под ваш случай.
Что у вас в кастом активити? <br/> <br/> <pre><code class="php">\Bitrix\Main\Loader::includeModule('bizproc');

$workflowId = '6687a9b6c50723.17416941';

$state = \CBPStateService::GetWorkflowState($workflowId);
$startedBy = $state['STARTED_BY'];</code></pre> <br/> Вот покажет кто запустил БП
Похожие вопросы