Особенности хранения данных элементов
Для каждого процесса имеется свой набор элементов. В этом плане иерархия аналогична инфоблокам, где процесс - это тип инфоблока, а элементы - это элементы инфоблока. Только вместо свойств инфоблока используются пользовательские поля из ядра.
Большая часть кода, отвечающего за хранение элементов и значений пользовательских свойств сосредоточена в папке modules/main/lib/userfield/internal
В этой статье можно прочитать подробно про общие процессы динамического создания таблиц и колонок.
Классы в rpa
, отвечающие за таблицы процессов, элементов и обвязка, являются наследниками классов из ядра.
Системные поля
Все таблицы элементов в rpa
имеют набор системных полей:
См. подробнее \Bitrix\Rpa\Model\PrototypeItem.
Пользовательская сортировка элементов в канбане
Каждый пользователь может задать произвольный порядок элементов в каждой стадии на канбане.
Эта сортировка будет работать только в рамках этой стадии и только для этого пользователя.
Без этой сортировки сверху колонки отображаются элементы с наибольшей датой смены стадии (см \Bitrix\Rpa\Model\Stage::getUserSortedItems()
)
Таблица b_rpa_item_sort
.
Класс \Bitrix\Rpa\Model\ItemSortTable.
Полнотекстовый индекс
Для каждого процесса помимо таблицы элементов создается динамически таблица для хранения полнотекстовского индекса.
Заполняется индекс автоматически на событиях (\Bitrix\Rpa\Model\DataManager::onAfterAdd
, \Bitrix\Rpa\Model\DataManager::onAfterUpdate
)
Класс \Bitrix\Rpa\Model\PrototypeItemIndex.
Сами таблицы создаются тут \Bitrix\Rpa\Model\TypeTable::onAfterAdd
.
История изменений
Все действия, выполняемые с элементами, подробно логируются в отдельной таблице.
Заполнение таблицы происходит не на событиях, а в \Bitrix\Rpa\Command::saveToHistory()
.
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.