Всем, добрый день!
Информация будет полезна тем, кто хочет добавить свое дополнительное поле в форму «Добавить задачу» коробочной версии «1С-Битрикс24».
Задача, которая стояла:
1. Добавить дополнительное поле типа Список в форму «Добавить задачу» в коробочной версии «1С-Битрикс24». Поле обязательно к заполнению.
2. При выборе значения из списка необходимо, чтобы другое поле из формы «Добавить задачу» становилось обязательным для заполнения.
Решение пункта 1:
1.1. Переходим Панель администрирования -> Настройки -> Пользовательские поля
1.2. Нажимаем Добавить, выбираем Тип данных (тестировал только для Список)
1.4. Заполнить остальные поля.
1.5. Сохранить.
1.6. Перейти на страницу формы «Добавить задачу», посмотреть результат.
Решение пункта 2:
2.1 Создать событие в файле init.php AddEventHandler("tasks", "OnBeforeTaskAdd", Array("HosterKZ", "OnBeforeTaskAddHandler"));
2.2 Вывести в файл log.txt значения полей $arFields
2.3 Дописать обработку обязательных полей с помощью $APPLICATION->ThrowException();
P.S. Не претендую на оригинальность и 100% правильность решения, но ничего полезного на эту тему в интернете я не нашел. Кроме этой статьи
Информация будет полезна тем, кто хочет добавить свое дополнительное поле в форму «Добавить задачу» коробочной версии «1С-Битрикс24».
Задача, которая стояла:
1. Добавить дополнительное поле типа Список в форму «Добавить задачу» в коробочной версии «1С-Битрикс24». Поле обязательно к заполнению.
2. При выборе значения из списка необходимо, чтобы другое поле из формы «Добавить задачу» становилось обязательным для заполнения.
Решение пункта 1:
1.1. Переходим Панель администрирования -> Настройки -> Пользовательские поля
1.2. Нажимаем Добавить, выбираем Тип данных (тестировал только для Список)
| 1.3. Вся суть решения - Указать в поле Объект значение TASKS_TASK |
1.5. Сохранить.
1.6. Перейти на страницу формы «Добавить задачу», посмотреть результат.
Решение пункта 2:
2.1 Создать событие в файле init.php AddEventHandler("tasks", "OnBeforeTaskAdd", Array("HosterKZ", "OnBeforeTaskAddHandler"));
2.2 Вывести в файл log.txt значения полей $arFields
| function OnBeforeTaskAddHandler(&$arFields) { log_array($arFields); } |
| function OnBeforeTaskAddHandler(&$arFields) { //log_array($arFields); global $APPLICATION; if($arFields["UF_TASK_TYPE"]=="XY") { if(empty($arFields["SE_PROJECT"]["ID"])) { $APPLICATION->ThrowException("Не введено значение обязательного поля Проект."); return false; } } } |
P.S. Не претендую на оригинальность и 100% правильность решения, но ничего полезного на эту тему в интернете я не нашел. Кроме этой статьи