Доброго времени суток!
Компонент tasks.list.
Вопрос: как можно добавить свою колонку в таблицу для отображения в таблице подзадач задачи?
В выпадающее меню, какие колонки показывать - удалось добавить нужный пункт. А вот сама колонка не проходит утверждение в момент выполнения метода CTaskAssert::assert.
Насколько понимаю - необходимо зарегистрировать колонку в таблице b_tasks_columns.
Если добавлять вручную, то колонка регистрируется:
Компонент tasks.list.
Вопрос: как можно добавить свою колонку в таблицу для отображения в таблице подзадач задачи?
В выпадающее меню, какие колонки показывать - удалось добавить нужный пункт. А вот сама колонка не проходит утверждение в момент выполнения метода CTaskAssert::assert.
Насколько понимаю - необходимо зарегистрировать колонку в таблице b_tasks_columns.
Если добавлять вручную, то колонка регистрируется:
Код |
---|
$loggedInUserId = \Bitrix\Tasks\Util\User::getId(); $oPresetManager = CTaskColumnPresetManager::getInstance($loggedInUserId, $arResult['COLUMNS_CONTEXT_ID']); $oColumnManager = new CTaskColumnManager($oPresetManager); $arCurrentColumns = $oColumnManager->getCurrentPresetColumns(); $arCurrentColumns[] = ['WIDTH' => 0, 'ID' => 18]; $oColumnManager->setColumns($arCurrentColumns); |
Как только снимаю галочку с пункта меню настроек таблицы - происходит перезапись контекста с колонками и нужная колонка удаляется. Ок. А когда снова отмечаю пункт меню для отображения столбца - колонка не добавляется (добавление происходит через ajax).
Вопрос в том, как грамотно добавить колонку в таблицу подзадач для отображения (речь про публичную часть), чтобы колонка появлялась и удалялась, когда необходимо? Не понимаю, почему один и тот же код срабатывает в result_modifier.php, а в ajax.php того же компонента - нет?