Все модули

Category Tree EntityType

Базовый шаблон CategoryTree: иерархические сущности с indexPath, Wunderbaum-деревом и быстрым getTree.

Возможности

Что умеет модуль

Шаблон CategoryTree

Регистрируется в app.entityTemplates; в Entity Manager появляется новый template-тип с готовыми Entity/Repository/Service/Controller.

indexPath по поддереву

Строка /parent1/parent2/me/ на узле — выборка всего поддерева одним SQL LIKE 'path%' вместо рекурсивного N+1.

Хуки поддержания пути

IndexPathProcess + IndexPathPostProcess + IndexPathSaver + IndexPathChildSaver — каскадное обновление путей потомков при перемещении.

Оптимизированный getTree

CategoryTreeService.getTree(): один SQL по indexPath с MAX_DEPTH; fallback на стандартный RecordTree если indexPath отсутствует.

Wunderbaum tree grid

JS-библиотека Wunderbaum через jsLibs.json в window.mar10; lazy load, поиск, drag-and-drop в дереве.

Фундамент для модулей

Используется bpm2bAccountStructure, bpm2bInvestControl, bpm2bOrgStructure (все ≥3.0.0).

Модуль BPM2B Category Tree EntityType добавляет в платформу BPM2B новый шаблон сущностей CategoryTree: при создании сущности в Entity Manager доступен ещё один тип-шаблон, который автоматически собирает иерархическую структуру с родителем, потомками, индексным путём для быстрых выборок и tree-grid интерфейсом просмотра.

Основные функциональные возможности:

  • Шаблон CategoryTree: регистрируется в app.entityTemplates и app.entityTemplateList; в Entity Manager появляется новый template-тип; платформа сама подключает базовые Entity / Repository / Service / Controller / Layouts из Core/Templates/.
  • Поле indexPath: строковый путь вида /parent1/parent2/me/ на каждом узле — позволяет получить всё поддерево одним SQL-запросом через LIKE 'path%' вместо рекурсивного спуска N+1.
  • Хуки поддержания пути: Common/IndexPathProcess вычисляет новый indexPath при изменении parent; Common/IndexPathPostProcess вместе с IndexPathSaver и IndexPathChildSaver каскадно обновляют пути потомков при перемещении узла — без расхождений в дереве.
  • Оптимизированный CategoryTreeService.getTree(): один SQL по indexPath с MAX_DEPTH; линейная сборка коллекции в Service вместо рекурсивных запросов; fallback на стандартный RecordTree, если indexPath по какой-то причине отсутствует.
  • Tree grid на Wunderbaum: JS-библиотека Wunderbaum зарегистрирована через jsLibs.json; экспортируется в window.mar10; интерфейс просмотра дерева с lazy load, поиском и drag-and-drop.
  • Совместимость: BPM2B ≥ 8.0.0, PHP ≥ 8.1; шаблон совместим с BPM2B 9.1.x; используется как фундамент для bpm2bAccountStructure (≥ 3.0.0), bpm2bInvestControl (≥ 3.0.0), bpm2bOrgStructure (≥ 3.0.0).

Модуль предназначен для разработчиков, которым нужно быстро создавать иерархические сущности (категории товаров, оргструктура, территории, классификаторы) — без ручного программирования paths, поиска предков-потомков и tree-grid интерфейса. Зависимостей нет.

Связаться

Готовы автоматизировать процессы?

Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.

Email
info@bpm2b.ru
Москва
+7 (499) 113-22-35
Россия
8 (800) 551-91-16
Компания
ООО «Адм Про»

Мы свяжемся в течение 24 часов. Данные используем только для обработки заявки.