поле TagSelector
Описание
Гибкое кастомное поле для работы с любыми данными
Поле TagSelector — это инструмент, который решает задачу выбора и отображения справочной информации в интерфейсах 1С-Битрикс. В отличие от стандартных решений, оно умеет подтягивать данные из трёх разных источников: Highload-блоков, универсальных списков и инфоблоков. Это значит, что вам не придётся подстраивать структуру проекта под ограничения модуля — поле само адаптируется к тому, что уже есть в системе.
На практике это выглядит так: вы создаёте справочник, например, список складов или категорий товаров, и подключаете его к TagSelector. Поле автоматически подгружает элементы, отображает их в удобном формате и позволяет быстро выбирать нужные значения без лишних кликов. Всё работает «из коробки», без танцев с бубном и дополнительных доработок.
Древовидные списки и работа с вложенностью
Одна из ключевых фишек поля — поддержка иерархических структур. Если ваш справочник содержит вложенные элементы, например, регионы и города внутри них, TagSelector отобразит их в виде дерева. В настройках достаточно включить опцию «Справочник имеет вложенность» и указать поле, которое связывает родительские и дочерние записи. Всё остальное поле сделает само — построит дерево, покажет уровни и позволит выбирать элементы любого уровня.
Важно: когда вложенность активна, настройка «Выводить весь справочник» игнорируется. Это сделано специально, чтобы не перегружать интерфейс и не показывать сразу все элементы, если структура разветвлённая. Если же вложенность отключена, поле для связи с родителем не учитывается — система работает как плоский список. Такая логика исключает путаницу в настройках и даёт предсказуемый результат.
Производительность при больших объёмах данных
TagSelector уверенно работает со справочниками, которые содержат до 3–4 миллионов записей. При этом в один момент времени на экран выводится не более 20 элементов — это сделано, чтобы интерфейс оставался отзывчивым и не тормозил даже на слабых машинах. Пользователь видит только первые 20 позиций, а остальные подгружаются по мере прокрутки или поиска.
За быстродействие отвечает двойное кеширование: на стороне сервера и на стороне клиента. Бэкенд сохраняет результаты запросов, чтобы не дёргать базу данных каждый раз, а фронтенд кеширует уже загруженные элементы, чтобы не перерисовывать интерфейс при повторном открытии. В результате поле работает шустро даже с многомиллионными справочниками, а пользователь не замечает задержек.
Использование в CRM и административной части
Поле TagSelector можно подключать не только в кастомные формы, но и в стандартные сущности CRM. Оно отображается в карточках сделок, лидов, контактов и компаний, а также в списках этих сущностей. Если нужно, чтобы поле участвовало в фильтрации CRM, в настройках достаточно включить режим «Точное совпадение» и поставить галочку «Значение поиска участвуют в поиске». После этого элементы TagSelector станут доступны в фильтре списков — можно быстро отфильтровать сделки по нужному справочному значению.
Кроме того, поле работает в административной части портала. Это удобно, когда справочник нужен не только менеджерам в CRM, но и администраторам при настройке системы. Вывод в админке ничем не отличается от пользовательского интерфейса — те же списки, то же дерево, те же настройки. Единообразие интерфейсов снижает порог входа для сотрудников и упрощает обучение.
Настройка вывода: весь справочник или только часть
В зависимости от задачи, вы можете управлять тем, какие элементы показывать пользователю. Если включена опция «Выводить весь справочник», поле отобразит все записи из источника — без ограничений по вложенности и без фильтрации. Это удобно для маленьких справочников, где важно видеть сразу все варианты.
Если же справочник большой или имеет иерархию, лучше отключить эту опцию и использовать древовидный режим. В таком случае пользователь будет видеть только верхний уровень, а остальные уровни раскроет по клику. Такой подход экономит место на экране и не перегружает пользователя информацией. Главное — помнить, что эти две настройки взаимно исключают друг друга, и если включена вложенность, опция полного вывода игнорируется автоматически.
Часто задаваемые вопросы
Характеристики
| Версия | 0.2.1 |
| Добавлен | 20.12.2023 |
| Установок | Менее 50 раз |
| Код | mcart.tagselector |
| Адаптивный | Нет |
| Composite | Нет |