Шаблон CategoryTree
Регистрируется в app.entityTemplates; в Entity Manager появляется новый template-тип с готовыми Entity/Repository/Service/Controller.
Базовый шаблон CategoryTree: иерархические сущности с indexPath, Wunderbaum-деревом и быстрым getTree.
Регистрируется в app.entityTemplates; в Entity Manager появляется новый template-тип с готовыми Entity/Repository/Service/Controller.
Строка /parent1/parent2/me/ на узле — выборка всего поддерева одним SQL LIKE 'path%' вместо рекурсивного N+1.
IndexPathProcess + IndexPathPostProcess + IndexPathSaver + IndexPathChildSaver — каскадное обновление путей потомков при перемещении.
CategoryTreeService.getTree(): один SQL по indexPath с MAX_DEPTH; fallback на стандартный RecordTree если indexPath отсутствует.
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 интерфейсом просмотра.
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 по какой-то причине отсутствует.jsLibs.json; экспортируется в window.mar10; интерфейс просмотра дерева с lazy load, поиском и drag-and-drop.Модуль предназначен для разработчиков, которым нужно быстро создавать иерархические сущности (категории товаров, оргструктура, территории, классификаторы) — без ручного программирования paths, поиска предков-потомков и tree-grid интерфейса. Зависимостей нет.
Покажем работу системы на ваших данных за 30 минут. Расскажем, как окупится в вашей отрасли, и подберём конфигурацию под ваши процессы.