Документация для разработчиков
Темная тема

getTaskControls

Описание и параметры

public static function getTaskControls($arTask)
{
	return CBPActivity::CallStaticMethod(
		$arTask["ACTIVITY"],
		"getTaskControls",
		array(
			$arTask
		)
	)
}

Метод возвращает массив элементов формы задания: кнопки и поля.

Примечание: Метод принимает массив конфигурационных параметров и генерирует скрипты, необходимые для показа файлового диалога. Метод статический.

Параметры метода

ПараметрОписание
$arTaskМассив с параметрами задания.

Пример ответа

Array (
    [BUTTONS] => Array (
        [0] => Array (
            [TYPE] => submit
            [TARGET_USER_STATUS] => 3
            [NAME] => approve
            [VALUE] => Y
            [TEXT] => Сохранить
        )
    )
    [FIELDS] => Array (
        [0] => Array (
            [Id] => contractor
            [Type] => E:ECrm
            [Name] => Подрядчик
            [Description] => Кто выполняет работы
            [Multiple] =>
            [Required] => 1
            [Options] =>
            [Settings] =>
            [Default] => Array (
                [0] => CO_5
            )
            [FieldId] => bpriact_contractor
        )
        [1] => Array (
            [Id] => phone_number
            [Type] => string
            [Name] => Номер телефона
            [Description] => Номер телефона бригадира
            [Multiple] =>
            [Required] => 1
            [Options] =>
            [Settings] =>
            [Default] =>
            [FieldId] => bpriact_phone_number
        )
        [2] => Array (
            [Id] => task_comment
            [Type] => text
            [Name] => Комментарий
            [Required] => 1
        )
    )
)

Возвращаемые данные в массиве Fields

Ключ Описание
Id Символьный идентификатор поля
Type Тип поля. Базовые значения:
  • bool — да или нет
  • date — дата
  • datetime — дата и время
  • double — число
  • int — целое число
  • select — список
  • string — строка
  • text — текст
  • user — пользователь

Остальные типы зависят от документа, с которым работает бизнес-процесс

Name Наименование поля
Description Описание поля
Multiple Множественность поля. Может иметь значение 1 или 0
Required Обязательность параметра. Может иметь значение 1 или 0
Options Настройки поля.

Значения зависят от типа параметра. Например, для типа Список select это варианты значений списка

Settings Дополнительные настройки поля
Default Значение поля по умолчанию
FieldId Уникальный идентификатор поля в системе. Обычно формируется как префикс действия + Id


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
1
Артемий Зайцев
Сообщение не промодерировано, возможны ошибки и неточности.
В стандартном активити "Утверждение документа" (approveactivity) bizproc 24.800.0 теперь возвращаются не только кнопки BUTTONS, но и дополнительные поля формы FIELDS.

Метод ShowTaskForm в активити до сих пор есть, но больше не используется:
https://dev.1c-bitrix.ru/api_help/bizproc/bizproc_classes/CBPActivity/showtaskform­.php


Код
public static function getTaskControls($task)
{
   $controls = [
      'BUTTONS' => [
         [
            'TYPE' => 'submit',
            'TARGET_USER_STATUS' => CBPTaskUserStatus::Yes,
            'NAME' => 'approve',
            'VALUE' => 'Y',
            'TEXT' => $task['PARAMETERS']['TaskButton1Message'] ?: Loc::getMessage('BPAA_ACT_BUTTON1'),
         ],
         [
            'TYPE' => 'submit',
            'TARGET_USER_STATUS' => CBPTaskUserStatus::No,
            'NAME' => 'nonapprove',
            'VALUE' => 'Y',
            'TEXT' => $task['PARAMETERS']['TaskButton2Message'] ?: Loc::getMessage('BPAA_ACT_BUTTON2_MSGVER_1'),
         ],
      ],
   ];

   if (($task["PARAMETERS"]["ShowComment"] ?? 'N') !== "N")
   {
      $controls['FIELDS'] = [
         [
            'Id' => 'task_comment',
            'Type' => 'text',
            'Name' => $task["PARAMETERS"]["CommentLabelMessage"] ?: GetMessage("BPAA_ACT_COMMENT"),
            'Required' => (($task['PARAMETERS']['CommentRequired'] ?? '') === 'Y'),
         ],
      ];
   }

   return $controls;
}
© «Битрикс», 2001-2025, «1С-Битрикс», 2025
Наверх