Внешняя обработка, которая генерирует диаграмму объектов 1С 🏗 на языке PlantUML. Использует библиотеку для построения диаграммы объектов в нотациях метаданных 1С.
По удобству/быстроте в IDE реализация лучше в PyCharm (по ощущениям кеширует jar).
(2) "а "цепляться" за что?"
два варианта указания ссылок
Товар --РасходнаяНакладная
и
Товар --РасходнаяНакладная::Номенклаутра
(1) "неплохо бы ещё общие модули как-то подтянуть"
Наверно через распаковку поиском по файлам *.bsl, на сколько помню называется семантическое дерево, в https://1c-syntax.github.io/bsl-language-server/ активно используется.
(0)
Как храните и версионируете?
Сам использовал в составе redmine, модуль старый (не поддерживается автором), diff из коробки, как подключить доп. модули без обращения к внешним ресурсам отдельный вопрос. Есть поддержка в gitlab, но ломается при использовании кирилицы.
Хороший доклад был от Андрея Овсянкина
."Донесение здравого смысла до заказчика"
Infostart Event2021
в том числе там и про PlantUML было
https://youtu.be/Cr6R3LXKw9o
(4) "Предполагается выложить проект на github?" - выложено, ссылка явно в статье не дана https://github.com/plastinin/diagramobject "о можно добавить функциональности: панорамирование, зуммирование и т.д." - в какой статье описано как сделать?
В поле HTML открываются практически безграничные возможности по работе с отображением. В данном случае можно использовать библиотеку js, например одну из популярных svg-pan-zoom. Решение следующее: на форме размещаем Поле HTML документа. Для поля формируем html, где подключаем нашу библиотеку в разделе
<sc ript src=""" + ПутьКФайлуJS + """></sc ript>
внутри заголовка <head>, встраиваем картинку в какой-нибудь контейнер
|<div id = 'container'>
|" + svg + "
|</div>
в формате svg. Особенность этого формата в том, что он векторный и описывается в тексте декларативно, как html. Далее внутри <body> в конце располагаем скрипт по инициализации. В скрипте вешаем функцию инициализации на событие onload. В функции делаем следующие вещи: находим нашу картинку, устанавливаем атрибут id, который затем мы передадим в функцию библиотеки для подключения.
Ниже приведен рабочий пример кода, который я использовал в своем инструменте анализа зависимостей параметров и элементов формы (предмет следующей моей публикации):
"<ht ml>
|<head>
| <st yle>svg {width: 100%; height: 100%;}</style>
| <sc ript src=""" + АдресСкриптаJS + """></sc ript>
|</head>
|<body>
|<div id = 'container'>
|" + svg + "
|</div>
|<sc ript>
| // Don't use window.onLoad like this in production, because it can only listen to one function.
| window.on load = function () {
| const svg = document.querySelector('svg');
| svg.setAttribute('id', 'graphviz');
| svgPanZoom('#graphviz', {
| zoomEnabled: true,
| controlIconsEnabled: true,
| fit: true,
| center: true,
| });
| };
| </sc ript>
|</body>
|</html>";
Показать
Подключение библиотеки следующее: 1. скачать из последнего релиза файл svg-pan-zoom.js, 2. поместить в текстовый макет обработки, 3. в форме при создании извлечь из макета и поместить в хранилище, 4. при открытии извлечь из хранилища и записать во временный файл на клиенте, а путь использовать для подключения к html
(9)Это еще не все, на элементы графической схемы можно навешать свои обработчики, например по клику.
PS: Да, вставка примера кода с тегами html - та еще задачка :)
(8) предположу что опечатка, имелось ввиду "подробное", проблема в отсутствии умений у коллег применять схемы для решения задач. Сформировать схему обработкой классно, но как её отформатировать для решения прикладной задачи не всегда понятно и не хватает знания семантики и применимости диаграмм. Недавно проходил "Заблуждения о роли BPMN при автоматизации бизнес-процессов и цифровой трансформации" одной из основных мыслей было "Применяйте BPMN для описания БП, для остального используйте другие нотации".
Нашел несколько ошибок. Открываю обработку в предприятии. Выбираю документ заказ клиента и все регистры сведений и получаю ошибку на первом скрине (с регистрами накоплений все работает нормально). Второй момент. Если я так сделаю с регистрами накоплений, то картинка некорректно отображается (обрезается) 2 скрин. Приходится копировать код, идти на сайт, там формировать картинку и в SVG она отображается корректно (сразу SVG в 1С отображать же можно). Так же третий момент. Формирование по всем регистрам накоплений с реквизитами и связями не представляется возможным, сервер обработки изображений просто forbidden возвращает.
Делал я такую штуку (или подобную) на graphviz. Эта красивее и лучше, если работает без ошибок.
Добавить бы статистику по количеству объектов и связей, 2 ползунка - фильтра по количеству объектов и связей - и годный stand-alone инструмент будет. Я б скачал)))
Добавить бы статистику по количеству объектов и связей, 2 ползунка - фильтра по количеству объектов и связей - и годный stand-alone инструмент будет. Я б скачал)))
Да все это можно сделать. Не хотите стать контрибьютером?
Я так и не понял как свои иконки сделать, а именно: как png перевести в спрайты. Прочитал доки на plantuml, но так и не разобрался. Хотел добавить значки форм и реализовать диаграммку форм. Если по человечески объясните - буду благодарен.
обработка не видит Табличных частей ?
то есть любой документ, например Реализация...получается не связан с Номенклатурой ?!
это мне кажется недоработка ...
а табличных частей у документа (да и у справочников) может быть несколько !
вручную можно добавить в текст схемы - отдельную группу типа тчТоварыДокРеализация
и настроить связи вручную, но это крайне не удобно