Интерактивные диаграммы PlantUML

03.04.25

Разработка - Инструментарий разработчика

Использование PlantUML для генерации интерактивных (кликабельных) диаграмм без необходимости доступа в интернет

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Интерактивные диаграммы PlantUML:
.dt 25,00Mb
161
161 Скачать бесплатно

PlantUML — это мощный и универсальный инструмент, который позволяет легко и быстро создавать разнообразные виды диаграмм. С помощью простого и интуитивно понятного синтаксиса пользователи могут создавать такие диаграммы, как UML-диаграммы, схемы бизнес-процессов, блок-схемы и многое другое, что делает PlantUML отличным выбором для тех, кто хочет визуализировать свои идеи и процессы без глубоких знаний программирования.

Идея использования PlantUML

Идея использовать PlantUML возникла во время работы над доработкой 1С:СППР в контексте моделирования архитектуры приложений, бизнес-архитектуры и архитектуры данных. Этот подход был представлен на партнерском семинаре компании 1С в 2024 году.

Да, среди статей есть примеры использования PlantUML, но основной минус примеров - отсутствие интерактивности, т.к. диаграммы формируются как «картинка» без возможности добавления интерактивных функций.  

 

Постановка задачи

Основная цель заключается в реализации функционала на платформе «1С:Предприятие 8», позволяющего генерировать интерактивные (кликабельные) диаграммы без необходимости подключения к интернету. Примером такой задачи является создание схемы интеграционных потоков между различными приложениями в рамках корпоративной ИТ-инфраструктуры.

Для демонстрации возможностей инструмента была создана упрощенная версия примера, которая показывает основные функции PlantUML. Хотя этот пример носит учебный характер, он вполне способен продемонстрировать, каким образом использование PlantUML может значительно улучшить удобство работы, например, с 1С:СППР.

 

Результат:

 

 

Интерактивная диаграммы информационных потоков, позволяющая пользователям управлять визуализацией информационных потоков различными способами:

  • Генерация диаграммы локально (смотри документацию) - диаграмма может быть создана без подключения к интернету, что особенно полезно в случаях, когда работа ведется в изолированных системах или закрытых контурах, где доступ в сеть ограничен или отсутствует;
  • Открытие форм элементов справочников - пользователь может легко получить доступ к приложениям и разделам учета, просто кликнув на соответствующую гиперссылку;
  • Расшифровка интеграционных потоков - для получения дополнительной информации о конкретных потоках данных достаточно кликнуть на стрелки диаграммы, что открывает подробную расшифровку потока, предоставляя пользователям дополнительные сведения;
  • Исключение приложений из диаграммы - если нужно исключить определенные приложения из отображаемой схемы, пользователи могут воспользоваться специальной гиперссылкой "Исключить из диаграммы". Эта функция помогает сосредоточиться на наиболее важных элементах системы.
  • Сохранение диаграммы в формате SVG - готовая диаграмма может быть сохранена в виде файла формата SVG. Этот формат удобен для дальнейшего просмотра и редактирования, поскольку его можно открыть в любом современном браузере.

Эти функции делают работу с интерактивной диаграммой удобной и эффективной, позволяя пользователям адаптировать её под свои нужды и условия работы.

 

Метамодель базы:

  • Подсистема «ВизуализациияPlantUML» - функциональность генерации диаграммы «локально». Работает в текущем пример для операционной системы Windows; 
  • Подсистема «ТехническаяПодсистема» - справочники, используемые при реализации примера справочник «Разделы учета» - разделы учета предприятия;
  • Справочник «Приложения» - приложения или сервисы, например, конкретные информационные базы 1С. Приложения могут быть дополнительно детализированы до разделов учета (отдельная табличная часть). Пример «вырожденный», т.к. решается задача показать, как можно диализировать элемент диаграммы гиперссылками;
  • Справочник «Интеграционные потоки между приложениями» - интеграционные потоки между приложениями;
  • Обработка «ФормированиеКартыИнтеграционныхПотоков» - обработка формирования диаграммы.

 

Пошаговый сценарий использования:

  • Запустить обработку «Формирование карты интеграционных потоков»;
  • Перейдите на страницу «Приложения» и нажмите на кнопку «Заполнить приложения», что приведет к заполнению таблицы на основе данных из справочника «Приложения». Если установлен флажок (чекбокс) напротив какого-либо приложения, оно будет отображаться на формируемой диаграмме;
  • Нажмите на кнопку «Сформировать диаграмму». После завершения формирования диаграммы:
    • Страница «Диаграмма» автоматически откроется и станет активной, вся «магия» в методе ртВизуализациияPlantUMLСервер.СгенерированноеSVG(ИсходныйКод).
    • Таблица на странице «Реестр интеграционных потоков» будет заполнена соответствующими данными.
    • Код для формирования диаграммы на языке PlantUML появится на странице «Исходный код».
  • При нажатии на гиперссылку названия приложения, например, 1С:ERP будет открыта форма справочника «Приложения». Стек вызова:
    • РезультатОбработкиSVGПриНажатии
    • ОбработатьПереходПоНавигационнойСсылке
  • При нажатии на гиперссылку названия раздела учета внутри приложения, например, «Управление НСИ» будет открыта форма справочника «Разделы учета». Стек вызова:
    • РезультатОбработкиSVGПриНажатии
    • ОбработатьПереходПоНавигационнойСсылке
  • При нажатии на гиперссылку «Исключить из диаграммы» в таблице «Приложения» будет снят флаг (чекбокс) у соответствующего приложения. Стек вызова:
    • РезультатОбработкиSVGПриНажатии
    • ОбработатьИсключениеПриложенияИзДиаграммы
  • При нажатии на гиперссылку «(Количество интеграционных потоков) активной страницей будет установлена страница «Реестр интеграционных потоков» и в таблице будет установлен отбор по приложению источнику и приемнику. Стек вызова:
    • РезультатОбработкиSVGПриНажатии
    • ОбработатьПереходВТаблицуИнтеграционныхПотоков

P.S. Исходный код можно использовать для создания диаграммы онлайн через сервис PlantUML. Важно отметить, что перед использованием кода необходимо удалить строку !pragma layout elk, чтобы избежать возможных конфликтов, но вид диаграммы немножко изменится. 

PlantUML использует механизм внешней компоновки для некоторых диаграмм (классы, варианты использования и т.д.).  По умолчанию используется GraphViz / dot. Это означает, что PlantUML должен вызвать внешний процесс для создания некоторых диаграмм. ELK предоставляет альтернативный механизм компоновки, который может быть полезен для сложных диаграмм. Подробнее: https://plantuml.com/ru/elk
 

Исходный код:

 

 

Результат онлайн генерации:

 

 

К статье приложено несколько скриншотов из 1С:СППР, который дорабатывается для задач управления архитектурными слоями предприятия. 

---

  • ОС - Windows
  • Платформа - 1С:Предприятие 8.3 (8.3.25.1394)
  • JAVA: version "11.0.6" 2020-01-15 LTS

 

Продолжение статьи: Использование 1С + PlantUML + JavaScript для расширения интерактивных функций формируемых диаграмм

PlantUML 1С:СППР

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    185451    1034    403    

970

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    25169    163    86    

161

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    13832    58    33    

77

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    20552    52    19    

86

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    30795    105    48    

148

Работа с интерфейсом Анализ учета Мониторинг Платформа 1С v8.3 8.3.14 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Платные (руб)

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

9600 руб.

27.03.2025    934    3    5    

8

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    19198    7    32    

43
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. barelpro 1443 24.03.25 09:48 Сейчас в теме
Стас, самую красиву интеграционную схему ты нарисовал в Ростехе, ты бы лучше ее показал, это шедеврально!
Fox_ZNF; SultanovStas; TSAllea; +3 Ответить
2. SultanovStas 88 24.03.25 09:53 Сейчас в теме
Сейчас уже красивее есть :)
Dimanchik00; TSAllea; +2 Ответить
4. Dimanchik00 24.03.25 18:44 Сейчас в теме
(2) пришли, интерес подогрели. А саму схему зажилили. :)
3. roman72 400 24.03.25 09:55 Сейчас в теме
Супер!
Утащил в канал СППР в телеграм.
5. Fox_ZNF 02.04.25 09:18 Сейчас в теме
Здравствуйте, подскажите, в этом варианте только диаграмма компонентов?
Я немного не понимаю момент с "Расшифровка интеграционных потоков - для получения дополнительной информации о конкретных потоках данных достаточно кликнуть на стрелки диаграммы, что открывает подробную расшифровку потока, предоставляя пользователям дополнительные сведения;"

Если это просто строка. У меня допустим есть подсистема с несколькими справочниками (я хочу, чтобы они гиперссылками отображались).
Это возможно?
Прикрепленные файлы:
6. SultanovStas 88 02.04.25 15:31 Сейчас в теме
(5) По интеграциям решалась задача - при клике на (Х), открывается реестр интеграционных потоков между систем, а сами системы «зашиты» как ИД внутри href. Главное было показать интерактивность.

(5) Гиперссылками отображается все, что соответствует документации https://plantuml.com/ru/link
8. Fox_ZNF 04.04.25 09:46 Сейчас в теме
(6) Я правильно понимаю, что нужно дописывать?
Просто в документации много диаграмм, в обработке строится 1 - автоматически.

Как зашить вложенность - непонятно.
9. SultanovStas 88 04.04.25 10:35 Сейчас в теме
(8) Вложенность чего, нарисуйте пример, я попробую диаграмму создать.
11. SultanovStas 88 10.04.25 10:24 Сейчас в теме
(10) Это привычка с проекта, когда я еще активно разработку вел. Много чего в СППР сделано было с этим префиксом, так и осталось.
7. SultanovStas 88 04.04.25 09:34 Сейчас в теме
(5) Останется вопрос - что положить с "href" и какая обработка click/dbclick требуется.
10. Cyberhawk 135 10.04.25 06:08 Сейчас в теме
вся «магия» в методе ртВизуализациияPlantUMLСервер.СгенерированноеSVG(ИсходныйКод)
Как расшифровывается префикс рт?
12. SultanovStas 88 10.04.25 20:33 Сейчас в теме
(10) Это привычка с проекта, когда я еще активно разработку вел. Много чего в СППР сделано было с этим префиксом, так и осталось.
Cyberhawk; +1 Ответить
Оставьте свое сообщение