+7 499 938 8452 пн.-пт. 10:00 – 17:00
Есть идея по этому модулю?

Опишите доработку или сценарий — обсудим вместе с другими клиентами.

Все идеи для обсуждения

Отправка доступна после входа или регистрации. Текст формы сохранится.

Конструктор админ-разделов

Менее 50 раз установок
Ставится из 1С-Битрикс Marketplace за пару минут — вкладка «Установка».

Скриншоты

Технические данные

Число установок:
Менее 50 раз
Версия:
1.1.4
Адаптивность:
Нет
Поддержка композита:
Нет
Дата публикации:
25.09.2026

Совместимые редакции

Описание

На каждом сколько-нибудь нестандартном проекте появляются данные, которым не место ни в инфоблоке, ни в highload-блоке: заявки с посадочных страниц, справочник дилеров, реестр сертификатов, журнал обмена с 1С, таблица договорных цен. Таблицу разработчик заводит за час, а потом несколько дней делает к ней административный раздел: список, фильтр, форму, валидацию, права, выгрузку. И так на каждом проекте заново.

Модуль строит рабочий раздел администрирования по описанию сущности. Описание задаётся мышкой, файлы страниц под каждый справочник не создаются, SQL писать не нужно.

ТРИ ИСТОЧНИКА ДАННЫХ

— Своя таблица. Модуль создаёт её по описанию и сам изменяет структуру, когда вы добавляете или правите поля. Перед применением показывается список предстоящих изменений; те, что приводят к потере данных, выполняются только после подтверждения.
— Highload-блок. Раздел строится поверх существующего блока: фильтр, групповое удаление и выгрузка. Структура блока не изменяется, а записи можно создавать, изменять и удалять через раздел. Множественные поля и списки хранит сам блок средствами ядра — те же значения видят компоненты сайта. Привязывает highload-блок и настраивает такой справочник — поля, считывание полей, права групп — только администратор сайта: права ядра на строки блока не раздаются вместе с правом на конструктор.
— Произвольный ORM-класс. Указывается класс-наследник Bitrix\Main\ORM\Data\DataManager из любого модуля проекта — и к его таблице появляется административный интерфейс. Привязать такой источник может только администратор сайта: доступ к чужой таблице мимо владеющего ею модуля — не то, что раздаётся вместе с правом на конструктор. Служебные таблицы портала — учётные записи, группы, права доступа, настройки, агенты — источником быть не могут вовсе. По умолчанию источник открыт только на чтение: запись включается отдельным флажком и осознанно, а записи классов ядра Битрикса остаются для просмотра в любом случае.

РАЗДЕЛ СОБИРАЕТСЯ МЫШКОЙ

Сущность, поля, вкладки формы, колонки списка, поля фильтра, пункт меню и его расположение настраиваются в административном интерфейсе. Пятнадцать типов полей: строка, многострочный текст, HTML с очисткой разметки, целое, число с точкой, да/нет, дата, дата со временем, список значений, файл, картинка, пользователь, элемент инфоблока, ссылка на другую сущность конструктора, цвет. У списка — фильтр по отмеченным полям, сортировка, постраничная навигация и групповое удаление; у формы — вкладки, обязательные поля, значения по умолчанию и проверка вводимых значений.

ПРАВА ДО УРОВНЯ ПОЛЯ

Уровень доступа к справочнику задаётся по группам пользователей, а у каждого поля есть свои уровни на чтение и на запись. Поле, закрытое на чтение, не появляется ни в списке, ни в форме, ни в фильтре, ни в выгрузке, ни в журнале изменений, ни в заголовке карточки: менеджер видит справочник поставщиков, но не видит колонку с закупочной ценой. Ссылка на запись закрытого справочника показывается номером, без подписи, а вкладка связанного справочника — только тем, у кого есть к нему доступ. Имена пользователей подписываются только тем, кому разрешено видеть пользователей, а элементы инфоблока — только из инфоблока, заданного в настройке поля, и с учётом прав на него. Права проверяются перед выполнением действия, а не только при отрисовке страницы.

ЖУРНАЛ ИЗМЕНЕНИЙ

По каждой записи видно, кто, когда и что изменил, с разницей «было / стало» по каждому полю. Журнал включается для каждого справочника отдельно, срок хранения задаётся в настройках, старые записи удаляет агент.

ВЫГРУЗКА ПО ТЕКУЩЕМУ ФИЛЬТРУ

Кнопка «Выгрузить» отдаёт XLS (SpreadsheetML) или CSV по текущему фильтру, включая другие страницы списка, до лимита export_limit из настроек модуля. Порядок строк — по первичному ключу по возрастанию, а не по текущей сортировке экрана. В выгрузку попадают поля, включённые в список и доступные пользователю на чтение.

ПЕРЕНОС СХЕМЫ МЕЖДУ ПРОЕКТАМИ

Описание справочников выгружается в файл JSON и загружается на другом сайте: сущности, поля, настройки, права по кодам групп. Переносится только описание, данные остаются на месте. При загрузке можно пропустить существующие справочники или обновить их. Создания копий под новыми кодами в интерфейсе нет. Обновление, которое удалило бы данные, импорт не применяет: такой справочник остаётся прежним, а операции перечисляются, чтобы подтвердить их в конструкторе.

ТОЧКИ РАСШИРЕНИЯ ДЛЯ РАЗРАБОТЧИКА

Шесть событий модуля с кодом сущности в параметрах: OnAdminkitBeforeSave (возврат ошибки отменяет сохранение), OnAdminkitAfterSave, OnAdminkitBeforeDelete, OnAdminkitAfterDelete, OnAdminkitBuildListQuery (правка выборки списка) и OnAdminkitRenderField (своя отрисовка ячейки). Обработчики пишутся в проекте обычным образом, файлы решения править не нужно.

ЧЕГО МОДУЛЬ НЕ ДЕЛАЕТ

Не генерирует php-файлы в проекте: весь раздел обслуживают две страницы решения, поэтому обновление модуля не конфликтует с правками на сайте. Не изменяет ядро и не подменяет штатные страницы администрирования. Не обращается к внешним сервисам, не требует ключей и подписок, не подключает сторонние скрипты. Не выполняет запросов, собранных из введённого текста: имена таблиц и колонок проходят проверку по белому списку, а данные читаются и пишутся только через ORM ядра. Не принимает в поля «файл» и «картинка» SVG, HTML и другие файлы, исполняемые браузером, — при любых настройках поля. При удалении решения таблицы созданных справочников по умолчанию сохраняются — удалить их можно отдельным флажком, увидев перед этим список таблиц и число строк в каждой.

ГРАНИЦЫ ТЕКУЩЕЙ ВЕРСИИ

Инфоблоки как источник данных не поддерживаются — у них своя система свойств, прав и редакторов. Интерфейс построен на штатных административных списках и формах Битрикса; интерфейс ui.grid не используется. Импорта данных из CSV и XLS и выдачи справочников наружу через REST в этой версии нет. Связи поддерживаются только вида «один ко многим»: поле-ссылка и вкладка связанных записей. Публичной части у решения нет — это инструмент административного раздела.

ТРЕБОВАНИЯ

— 1С-Битрикс: Управление сайтом, главный модуль 20.0.0 и новее;
— модуль «Highload-блоки» — необязателен, нужен только для источника «highload-блок»;
— модуль «Информационные блоки» — необязателен, нужен только для поля «элемент инфоблока»;
— PHP 8.2 и новее; PHP и версию главного модуля проверяет установщик;
— база данных MySQL или PostgreSQL. Приёмка решения проведена на MySQL 8 и PHP 8.2, изменение структуры справочников проверено на MySQL 8 и PostgreSQL 16.
УСТАНОВКА

1. Сделайте резервную копию сайта и БД. Устанавливайте от имени администратора.
2. Через Marketplace загрузите решение штатными средствами. Для ручной установки
  скопируйте содержимое каталога исходников ozhogov.adminkit в
  <корень сайта>/bitrix/modules/ozhogov.adminkit/ либо распакуйте в <корень сайта>/bitrix/modules/ архив dist/ozhogov.adminkit-1.1.3.zip (сборка: ./build.sh --module adminkit).
  Итоговый путь установщика: /bitrix/modules/ozhogov.adminkit/install/index.php.
  Архив dist/upload/adminkit/last_version.zip предназначен для кабинета партнёра:
  его папку .last_version нельзя просто распаковать в /bitrix/modules/;
  для ручной установки её содержимое нужно поместить в ozhogov.adminkit/.
3. Админка → Marketplace → Установленные решения → «Конструктор админ-разделов» → Установить.
4. При успешной установке создаются пять служебных таблиц с префиксом
  ozhogov_adminkit_: entity, field, right, log, multi; копируются
  страницы в /bitrix/admin/, скрипты в /bitrix/js/ozhogov.adminkit/
  и регистрируется агент очистки журнала с интервалом 86400 секунд.
5. Если база не приняла служебные таблицы, установка прерывается с сообщением
  об ошибке: модуль не регистрируется и файлы не копируются.

Установщик проверяет PHP 8.2+ и главный модуль 20.0.0+. Поддерживаются MySQL
и PostgreSQL: изменение структуры справочников проверено на MySQL 8
и PostgreSQL 16.
Модуль «Highload-блоки» нужен только для соответствующего источника,
«Информационные блоки» — только для поля «элемент инфоблока».

ГДЕ ИСКАТЬ МОДУЛЬ

Конструктор: Настройки → Конструктор админ-разделов → Справочники и поля.
Готовые разделы по умолчанию: Сервисы → Справочники. Раздел меню можно изменить.
Настройки: Настройки → Настройки продукта → Настройки модулей → Конструктор админ-разделов.

ПЕРВЫЙ СПРАВОЧНИК

1. Настройки → Конструктор админ-разделов → Справочники и поля →
  «Добавить справочник».
2. Задайте код (DEALERS), название в единственном и множественном числе,
  источник «Своя таблица», активность и раздел меню. Сохраните справочник.
3. Откройте сохранённый справочник и добавьте поля. Начните с одиночного поля
  NAME типа STRING; отметьте участие в списке, фильтре и форме.
  При сохранении первого поля таблица создаётся автоматически, без отдельного
  подтверждения, — в том числе у справочника из одних множественных полей.
4. Вернитесь в настройки справочника, выберите NAME как поле-заголовок и сохраните.
5. Откройте Сервисы → Справочники → нужный справочник (либо выбранный раздел меню)
  и создайте тестовую запись. Пункт меню может появиться ещё до создания таблицы.
6. Права групп на справочник задаются действием «Права» в списке схем; они
  ограничены правом на сам модуль, которое задаётся на вкладке «Доступ»
  в настройках модуля.

ПОДКЛЮЧЕНИЕ К СУЩЕСТВУЮЩИМ ДАННЫМ

Highload-блок: при создании справочника выберите источник «Highload-блок» и ID блока, сохраните справочник, затем нажмите «Считать поля источника» — список полей заполнится автоматически, останется отметить, какие из них показывать. Вариант доступен администратору сайта. Множественные поля и списки хранятся в самом блоке; значения, записанные версиями до 1.1.3 в таблицу модуля, показываются, пока у записи нет своих, и переезжают в блок при её сохранении.

ORM-класс: выберите источник «ORM-класс» и укажите полное имя класса, например \Vendor\Exchange\LogTable. Модуль проверит, что класс существует, наследует DataManager, и подключит модуль-владелец. Поля считываются той же кнопкой. Такой справочник по умолчанию доступен только для чтения. Вариант доступен администратору сайта: служебные таблицы портала закрыты, а записи классов ядра Битрикса меняются только его собственными средствами.

ПРАВА

Настройки → Конструктор админ-разделов → Справочники и поля → строка справочника → «Права»: для каждой группы пользователей задаётся уровень «нет доступа», «чтение» или «запись». Уровни на отдельные поля задаются в карточке поля. Доступ к самому конструктору есть только у пользователей с уровнем «запись» на модуль.

ИЗМЕНЕНИЕ СТРУКТУРЫ

Добавление, изменение и удаление полей своего справочника меняет таблицу.
Перед применением выводится список операций; те, при которых теряются данные, —
удаление колонки, сужение типа, уменьшение целой или дробной части числа,
перевод множественного поля в одиночное — выполняются только после подтверждения.
При переводе в одиночное поле строк и списков в колонку переносится первое
значение записи. Если база отвергла операцию, в описании остаётся то, что
действительно применилось, а следующее сохранение повторит неудавшееся;
недостающие колонки и индексы досоздаются сверкой с фактической таблицей.
Перед изменением структуры всё же сделайте резервную копию.
Тип существующего поля нельзя сменить на «файл» или «картинку».
В редакторе код существующего поля менять нельзя.
В изменённой JSON-схеме смена кода рассматривается как удаление старого и добавление нового.

ПЕРЕНОС НА ДРУГОЙ САЙТ

Настройки → Конструктор админ-разделов → Перенос схемы: выгрузите нужные справочники в файл JSON и загрузите его на другом сайте. Переносится описание, а не данные; права переносятся по символьным кодам групп. Стратегии загрузки — пропустить существующие или обновить их. Обновление, которое удалило бы данные, импорт не применяет: такой справочник остаётся прежним, а операции перечисляются, чтобы подтвердить их в конструкторе.

РАСШИРЕНИЕ КОДОМ

Обработчик события регистрируется обычным образом, например в /bitrix/php_interface/init.php:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
   'ozhogov.adminkit',
   'OnAdminkitAfterSave',
   function (\Bitrix\Main\Event $event) {
       if ($event->getParameter('ENTITY') !== 'DEALERS') {
           return;
       }
       $id = $event->getParameter('ID');
       $fields = $event->getParameter('FIELDS');
       // своя логика
   }
);

Возврат из обработчика OnAdminkitBeforeSave результата с типом ошибки отменяет сохранение и показывает сообщение в форме.

ЕСЛИ ЧТО-ТО НЕ ВИДНО

— пункта меню нет: справочник неактивен, либо у вашей группы нет доступа к нему, либо выбран другой раздел меню — проверьте настройки справочника;
— колонки нет в списке: у поля снят флажок «показывать в списке» либо ваш уровень доступа ниже уровня чтения этого поля;
— поля нет в фильтре: снят флажок «показывать в фильтре» либо тип поля не поддерживает фильтрацию;
— справочник открывается только для чтения: источник «ORM-класс» без явно разрешённой записи либо ваш уровень доступа — «чтение»;
— в журнале пусто: у справочника выключено ведение журнала либо записи старше срока хранения уже удалены агентом.

УДАЛЕНИЕ

Админка → Marketplace → Установленные решения → Удалить.
Флажок «Сохранить описания справочников, права и журнал изменений» (savedata)
включён по умолчанию: сохраняются все пять служебных таблиц, включая
множественные значения. Снятие удаляет эти таблицы и настройки модуля.
Флажок «Удалить таблицы справочников вместе со всеми записями» (dropdata)
выключен по умолчанию и показывается, если есть собственные таблицы данных;
перед ним перечислены таблицы и число строк. Источники HL/ORM он не удаляет.
Для последующей установки с сохранением описаний и данных оставьте savedata
включённым, а dropdata выключенным. Сохранение только таблиц справочников
не сохраняет описания и множественные значения при снятом savedata.
Техническая поддержка решения оказывается разработчиком бесплатно в течение срока действия лицензии.

— Электронная почта: nm.ozhogov@ya.ru
— Время ответа: в рабочие дни, в течение 24 часов с момента обращения.
— Часовой пояс: UTC+3 (Москва).

Чтобы вопрос решился с первого письма, приложите: версию решения и главного модуля, редакцию 1С-Битрикс, версии PHP и MySQL, адрес страницы поиска и текст запроса, на котором воспроизводится проблема, а также скриншот страницы «Сервисы → Поиск по каталогу → Индексация».

В поддержку можно обращаться с вопросами по установке, настройке индексации и поиска, подключению к готовым решениям и по ошибкам в работе модуля. Доработки под конкретный проект обсуждаются отдельно.

Установите этот модуль прямо сейчас!

Для этого укажите адрес сайта:

пример: https://www.site.ru

Подтвердите что сама лицензия у вас куплена

Конструктор админ-разделов: CRUD-интерфейсы по описанию сущности
Конструктор админ-разделов: CRUD-интерфейсы по описанию сущности
9 800 руб

Каталог для ИИ