Skip to content
DmNepPublic

About

Визуальная схема модуля 1С (процедуры и вызовы) через PlantUML

Topics

Resources

Stars

8 stars

Watchers

2 watching

Forks

Latest commit

 

History

9 Commits

Folders and files

Repository files navigation

1c-MShem

Внешняя обработка для 1С:Предприятие. По вставленному тексту модуля она собирает процедуры и функции, находит вызовы между ними и строит визуальную схему в формате PlantUML; текст схемы уходит на сервер рендеринга, а полученная картинка PNG показывается на форме. Сейчас это ранняя версия v.0.01 (27.04.2024): рабочий вид блоков — class. Виды card и rectangle, сохранение и загрузка настроек, темы оформления и разбор выгруженной конфигурации запланированы и в этой версии не работают.

Статус

Реализовано в модуле формы:

  • разбор текста модуля по строкам: имя процедуры или функции, число параметров, признак «Экспорт», строки начала и конца, текст, директива контекста (если её нет, подставляется &НаСервере);
  • пометки обработчиков с сигнатурой (Элемент) и (Команда) записываются в таблицу, на схеме отдельно не рисуются;
  • поиск вызовов процедур и функций этого же модуля и стрелка возврата для функции;
  • схема PlantUML вида class (заголовок, направление, тип линий, толщина и цвет стрелок вызова и возврата, расстояние между блоками, сокращение длинных строк, жирное выделение имён);
  • при включённом «Отображать контекст» блоки группируются в два прямоугольника: &НаКлиенте и всё остальное как &НаСервере;
  • сжатие текста в формате PlantUML и запрос PNG (по умолчанию www.plantuml.com, ресурс /plantuml/png/, таймаут 20 секунд).

Ограничения этой версии:

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

Запланировано и не сделано: вид блоков card (блоки набрасываются, стрелки в коде закомментированы) и rectangle (функция возвращает схему без изменений). Переключатель вида блоков на форме только для чтения, по умолчанию стоит class. У кнопок «Сохранить настройки» и «Загрузить настройки» нет обработчиков. Остальной список планов — в техническом задании ниже; комментарии «На будущее» в модуле формы описывают те же незакрытые задачи.

Как использовать

В репозитории нет готового .epf: это выгрузка внешней обработки «Построитель схемы модуля» в файлы (1cMShem.xml и каталог 1cMShem). Её нужно загрузить в конфигураторе 1С из этих файлов (или собрать из них .epf) и открыть в режиме «1С:Предприятие». Нужен доступ к серверу рендеринга.

  1. На вкладке «Основная» вставьте текст модуля в поле «Текст модуля». Пустое поле останавливает команду сообщением «Заполните текст модуля».
  2. Нажмите «Сформировать схему».
  3. Текст PlantUML появится в поле «Схема», картинка — в поле «Графическая схема».
  4. На вкладке «Настройки» до формирования можно задать заголовок схемы, отображение контекста, расстояние между блоками, сокращение строк (по умолчанию до 100 символов), жирное выделение процедур и функций, тип линий, направление, цвет и толщину стрелок, а также сервер, ресурс и таймаут. Значения по умолчанию выставляются при открытии формы.

Файл Тестовая схема.plantuml — пустая заготовка @startuml / @enduml, не пример результата.

Лицензия

MIT. Copyright (c) 2024-2026 Дмитрий Непобедимый / DmNep.


1c-MShem

Построитель схемы модулей

Техзадание

  1. Создать разработку, которая бы строила визуальную схему модуля 1с.

    1.1. Язык программирования - 1c Enterprise

    1.2. Построитель схемы - PlantUML

...

На будущее.

  1. Добавить возможность обработки выгруженной в файлы конфигурации. И построение дерева всей конфигурации.
  2. Несколько стилей отображения PlantUML
  3. Несколько тем оформления (светлая/тёмная)
  4. Настройка отображения контекста процедуры или функции

About

Визуальная схема модуля 1С (процедуры и вызовы) через PlantUML

Topics

Resources

Stars

8 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages