Диаграмма объектов 1С 🏗 на Plant UML

23.08.22

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

Внешняя обработка, которая генерирует диаграмму объектов 1С 🏗 на языке PlantUML. Использует библиотеку для построения диаграммы объектов в нотациях метаданных 1С.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Диаграмма объектов 1С 🏗 на Plant UML:
.zip 20,80Kb
129
129 Скачать (1 SM) Купить за 1 850 руб.

Логика работы

 

Области применения

  • ТЗ, ЧТЗ, ФТ и прочая проектная документация
  • Active Design Review
  • Как пример работы с PlantUML

 

Настройки

 

Настройка Назначение Значение по умолчанию
Сервер рендеринга Можно задать альтернативный сервер генерации изображений (например можно использовать не только публичные сервера, но и собственные внутри локальной сети) www.plantuml.com
Ресурс сервера Определяет тип изображения /plantuml/png/
Таймаут Таймаут для HTTP соединения 180
Формировать реквизитный состав объекта Генерировать код для реквизитного состава объектов: стандартные реквизиты, реквизиты, табличные части Ложь
Формировать детальные отношения на уровне реквизитов состав объекта Настройка активна при включенном признаке Формировать реквизитный состав объекта. При включенном признаке отрисовка связей будет осуществляться на уровне реквизитов. При выключенном отрисовка связей будет на уровне объектов Ложь

 

Разбор инструмента и библиотеки

 

Благодарность со ссылками на инструменты использующиеся в проекте

Развитие

Разработка: 1С: EDT

Руководство контрибьторапозаимствуем у проекта Let's code

Бэклог задачIssues

Обработка универсальна, может быть запущена в любой конфигурации. Разработка проекта EDT велась на платформе 8.3.20

Диаграмма объектов Plant UML

См. также

SALE! 15%

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159387    872    399    

861

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7764    55    22    

66

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

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

9360 руб.

17.05.2024    23430    68    45    

117

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10412    36    20    

61

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15395    35    7    

70

SALE! 35%

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3120 руб.

14.01.2013    187969    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

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

15000 12750 руб.

07.10.2021    17301    6    32    

42

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Serg O. 297 23.08.22 13:20 Сейчас в теме
Супер! БОЛЬШОЕ спасибо автору!

как раз что-то подобное хотел
в EDT есть что-то подобное ... построение схемы метаданных и их отношений
(но без реквизитов)

неплохо бы ещё общие модули как-то подтянуть...
(и экспортные процедуры и функции вместо реквизитов)

какой модуль из какого объекта тянется - было бы вообще огонь!
gortol; Alish009; a_plastinin; +3 Ответить
2. quazare 3800 23.08.22 14:46 Сейчас в теме
(1) интересно вы про ЕДТ написали - это как построить "отношения метаданных", но без реквизитов. а "цепляться" за что?)
3. malikov_pro 1324 23.08.22 19:49 Сейчас в теме
Посмотрел, полезно, сам пользуюсь без доп. модулей. Позволяет концентрироваться на объектах и связях на не линиях.

Если не хочется отдавать свои схемы наружу, а запускать jar локально не получается, то вариант развернуть в docker.
https://github.com/plantuml/plantuml-server

По удобству/быстроте в IDE реализация лучше в PyCharm (по ощущениям кеширует jar).

(2) "а "цепляться" за что?"
два варианта указания ссылок
Товар --РасходнаяНакладная
и
Товар --РасходнаяНакладная::Номенклаутра


(1) "неплохо бы ещё общие модули как-то подтянуть"
Наверно через распаковку поиском по файлам *.bsl, на сколько помню называется семантическое дерево, в https://1c-syntax.github.io/bsl-language-server/ активно используется.

(0)
Как храните и версионируете?
Сам использовал в составе redmine, модуль старый (не поддерживается автором), diff из коробки, как подключить доп. модули без обращения к внешним ресурсам отдельный вопрос. Есть поддержка в gitlab, но ломается при использовании кирилицы.

Возможно полезно будет описать как подключать ваш репо через git submodule, для того чтобы сообщество начало использовать нужна простая инструкция https://git-scm.com/book/ru/v2/%D0%98%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0­%B5%D0%BD%D1%82%D1%8B-Git-%D0%9F%D0%BE%D0%B4%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B8
a_plastinin; Serg O.; +2 Ответить
4. kalyaka 1105 23.08.22 20:16 Сейчас в теме
Прекрасное решение! Для документирования и исследования - самое то!

Предполагается выложить проект на github?

Если вывод заменить в поле HTML, то можно добавить функциональности: панорамирование, зуммирование и т.д.
a_plastinin; Disorder777; Serg O.; +3 Ответить
5. Serg O. 297 24.08.22 07:47 Сейчас в теме
Хороший доклад был от Андрея Овсянкина
."Донесение здравого смысла до заказчика"
Infostart Event2021
в том числе там и про PlantUML было
https://youtu.be/Cr6R3LXKw9o
twiny; a_plastinin; +2 Ответить
6. malikov_pro 1324 24.08.22 10:58 Сейчас в теме
(4) "Предполагается выложить проект на github?" - выложено, ссылка явно в статье не дана https://github.com/plastinin/diagramobject
"о можно добавить функциональности: панорамирование, зуммирование и т.д." - в какой статье описано как сделать?
twiny; 300_po_vstrechke; a_plastinin; +3 Ответить
9. kalyaka 1105 24.08.22 21:33 Сейчас в теме
(6)
панорамирование, зуммирование и т.д.
В поле 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
10. kalyaka 1105 24.08.22 22:14 Сейчас в теме
(9)Это еще не все, на элементы графической схемы можно навешать свои обработчики, например по клику.
PS: Да, вставка примера кода с тегами html - та еще задачка :)
7. 300_po_vstrechke 2102 24.08.22 16:09 Сейчас в теме
Плюсую предыдущему оратору, где есть подобное описание?
Ещё бы для неуправляемых форм...
mell0rn; a_plastinin; +2 Ответить
8. a_plastinin 266 24.08.22 17:39 Сейчас в теме
(7)
Плюсую предыдущему оратору, где есть подобное описание.


А что бы вы хотели видеть в "подобном" описании?
11. malikov_pro 1324 25.08.22 08:18 Сейчас в теме
(10) Добавлю что можно формировать не только PNG но и SVG.
Нотация поддерживает ссылки https://plantuml.com/ru/link, на http://www.plantuml.com/plantuml/uml и в PyCharm они работают.
12. malikov_pro 1324 25.08.22 08:22 Сейчас в теме
(8) предположу что опечатка, имелось ввиду "подробное", проблема в отсутствии умений у коллег применять схемы для решения задач. Сформировать схему обработкой классно, но как её отформатировать для решения прикладной задачи не всегда понятно и не хватает знания семантики и применимости диаграмм. Недавно проходил "Заблуждения о роли BPMN при автоматизации бизнес-процессов и цифровой трансформации" одной из основных мыслей было "Применяйте BPMN для описания БП, для остального используйте другие нотации".
a_plastinin; mell0rn; +2 Ответить
13. Lemmonbri 142 25.08.22 09:54 Сейчас в теме
Нашел несколько ошибок. Открываю обработку в предприятии. Выбираю документ заказ клиента и все регистры сведений и получаю ошибку на первом скрине (с регистрами накоплений все работает нормально). Второй момент. Если я так сделаю с регистрами накоплений, то картинка некорректно отображается (обрезается) 2 скрин. Приходится копировать код, идти на сайт, там формировать картинку и в SVG она отображается корректно (сразу SVG в 1С отображать же можно). Так же третий момент. Формирование по всем регистрам накоплений с реквизитами и связями не представляется возможным, сервер обработки изображений просто forbidden возвращает.
Прикрепленные файлы:
14. a_plastinin 266 25.08.22 10:38 Сейчас в теме
(13)
о картинка не


Привет, спасибо за фидбек.

Можно попросить вас зарегистрировать ошибку в Issues? Идеально если приложите сгенерированный код для отладки.
18. Lemmonbri 142 25.08.22 11:58 Сейчас в теме
(14) Зарегистрировал, развлекайтесь :)
19. a_plastinin 266 25.08.22 11:58 Сейчас в теме
15. Lancelot-2M 115 25.08.22 11:29 Сейчас в теме
Делал я такую штуку (или подобную) на graphviz. Эта красивее и лучше, если работает без ошибок.
Добавить бы статистику по количеству объектов и связей, 2 ползунка - фильтра по количеству объектов и связей - и годный stand-alone инструмент будет. Я б скачал)))
16. a_plastinin 266 25.08.22 11:35 Сейчас в теме
(15) PlantUML как раз под капотом graphviz юзает.

Добавить бы статистику по количеству объектов и связей, 2 ползунка - фильтра по количеству объектов и связей - и годный stand-alone инструмент будет. Я б скачал)))


Да все это можно сделать. Не хотите стать контрибьютером?
20. Lancelot-2M 115 25.08.22 12:19 Сейчас в теме
(16)
Не хотите стать контрибьютером?

могу исходники поискать, почистить от чуждого контекста и передать вам, но не ранее чем через пару недель - у меня просто не будет выходных до этого)
17. Dimanchik00 25.08.22 11:56 Сейчас в теме
Подал челобитную:
предлагаю сделать опциональное включение типовых реквизитов в справочниках и документах при выводе в диаграмму
a_plastinin; +1 Ответить
21. twiny 15 26.08.22 10:49 Сейчас в теме
Коллеги, а вот такую ошибку дает постоянно:

Во время выполнения действия была потеряна связь с сервером.
Сейчас соединение восстановлено. При необходимости повторите вызванное ранее действий.


Это на стороне сервиса проблемы или у меня?
kuznetsov1c; +1 Ответить
22. kuznetsov1c 17 02.09.22 10:03 Сейчас в теме
(21) Приветствую! Выбрал слишком много объектов
23. kuznetsov1c 17 02.09.22 10:24 Сейчас в теме
Разработка впечатляющая и интересная. Выражаю благодарность и уважение.

P.S. Хотелось бы иметь возможность отображения табличных частей на диаграмме
24. Lemmonbri 142 28.10.22 15:55 Сейчас в теме
Я так и не понял как свои иконки сделать, а именно: как png перевести в спрайты. Прочитал доки на plantuml, но так и не разобрался. Хотел добавить значки форм и реализовать диаграммку форм. Если по человечески объясните - буду благодарен.
25. a_plastinin 266 28.10.22 15:59 Сейчас в теме
(24) привет!

а глянь плиз https://www.youtube.com/watch?v=psK2fZUtbf4&t=467s
там постарался четко рассказать, если не получается, то пиши пожалуйста.
26. a_plastinin 266 28.10.22 16:05 Сейчас в теме
(24) правильная ссылка - https://www.youtube.com/watch?v=psK2fZUtbf4&t=4389s

01:13:09 - Готовим спрайты для пиктограмм объектов метаданных, ресурсов и измерений
27. Lemmonbri 142 28.10.22 16:51 Сейчас в теме
(26) вроде получилось, pull request создал, а там посмотрим
28. a_plastinin 266 01.11.22 17:07 Сейчас в теме
(27) привет! не вижу твоего пул-реквеста)
29. Lemmonbri 142 01.11.22 19:15 Сейчас в теме
(28) Я гитхабом раз в жизни пользовался, так что не уверен куда я ещё должен нажать)
Прикрепленные файлы:
30. a_plastinin 266 01.11.22 20:00 Сейчас в теме
(29) ааа, это я не туда смотрю)) пардон
32. Lemmonbri 142 02.11.22 07:56 Сейчас в теме
(30) Я там возможно опечатку сделал, сделайте merge :)
a_plastinin; +1 Ответить
31. Lemmonbri 142 02.11.22 07:52 Сейчас в теме
(30) Ну файлики он увидел, но картинки формы нет :(
33. Rafaraf 37 03.04.23 18:26 Сейчас в теме
подскажите как получить значок справочника или документа ? <$?????>


<$d> - это понятно dimension
<$r> - ресурс
-- Товары -- заголовок с линией
---- просто строка

- красный квадрат
* черная точка
+ зеленая точка
35. Serg O. 297 04.05.23 15:26 Сейчас в теме
(33) я нашел не совсем то, но похоже
_Справочник(Виды, ВидыНоменклатуры)

'>>> библиотека 1ce-icons-for-plantuml (ext)
!define v8_PUML https://raw.githubusercontent.com/plastinin/1ce-icons-for-plantuml/extended/dist/
!include v8_PUML/common.puml
!include v8_PUML/v8_AccRg.puml
!include v8_PUML/v8_Document.puml
!include v8_PUML/v8_Catalog.puml
!include v8_PUML/v8_InfoRg.puml
!include v8_PUML/v8_ChartsOfCharacteristicTypes.puml
!include v8_PUML/v8_DefinedTypes.puml
!include v8_PUML/v8_Enum.puml
'<<<

_РегистрСведений(ABCXYZКлассификацияКлиентов, "ABC/XYZ классификация клиентов") {
	 {static} Период
	 <$d> Партнер
	 <$d> ТипПараметраКлассификации
	 <$d> ТипКлассификации
	 <$r> Класс
	 <$r> ЗначениеПараметраКлассификации
       _Справочник(Виды,ВидыНоменклатуры)
}
Показать


добавляет слово object перед <знаком типа>
Прикрепленные файлы:
34. Serg O. 297 04.05.23 15:11 Сейчас в теме
обработка не видит Табличных частей ?
то есть любой документ, например Реализация...получается не связан с Номенклатурой ?!
это мне кажется недоработка ...
а табличных частей у документа (да и у справочников) может быть несколько !

вручную можно добавить в текст схемы - отдельную группу типа тчТоварыДокРеализация
и настроить связи вручную, но это крайне не удобно

'>>> 

'>>> библиотека 1ce-icons-for-plantuml (ext)
!define v8_PUML https://raw.githubusercontent.com/plastinin/1ce-icons-for-plantuml/extended/dist/
!include v8_PUML/common.puml
!include v8_PUML/v8_AccRg.puml
!include v8_PUML/v8_Document.puml
!include v8_PUML/v8_Catalog.puml
!include v8_PUML/v8_InfoRg.puml
!include v8_PUML/v8_ChartsOfCharacteristicTypes.puml
!include v8_PUML/v8_DefinedTypes.puml
!include v8_PUML/v8_Enum.puml
'<<<

_Справочник(Номенклатура, "Номенклатура")
_Документ(РеализацияТоваровУслуг, "Реализация товаров и услуг")
_ПВХ(тчТоварыДокРеализация, "Товары")
Номенклатура --> тчТоварыДокРеализация
тчТоварыДокРеализация  --> РеализацияТоваровУслуг
Показать


картинку для ТЧ - взял из ПВХ
Прикрепленные файлы:
36. SERGEJ64 26.02.24 08:47 Сейчас в теме
Не получается сформировать диаграмму на последней версии с гитхаба. Можно актуализировать инструкцию, пжл?
user2016088; AntonKite; +2 Ответить
37. AntonKite 12.03.24 11:56 Сейчас в теме
Похоже, проблема тут, url https://raw.githubusercontent.com/plastinin/1ce-icons-for-plantuml/extended/dist/ возвращает ошибку: 400: Invalid request

В настройках нужно указать:
- сервер "plantuml.com"
- ресурс "/plantuml/png/"
38. Sergey03 10.04.24 15:15 Сейчас в теме
Добрый день, в настройках указал сервер "plantuml.com"
- ресурс "/plantuml/png/". Возвращает код состояния 301,
Если сервер "www.plantuml.com"
- ресурс "/plantuml/png/". Возвращает код состояния 400, смотрите скрин. Подскажите как диагностировать в чем проблема.
Прикрепленные файлы:
39. H2k 22.05.24 13:47 Сейчас в теме
Файлы библиотек проекта недоступны через ссылку https://raw.githubusercontent.com/plastinin/1ce-icons-for-plantuml/extended/dist/
Вариант - развернуть проект на доступном для сервиса plantuml.com сайте, или закрутить все внутри своей инфраструктуры, подняв plantuml.com в докер-контейнере (выше была ссылка на мануал)
40. Светлый ум 415 25.10.24 13:34 Сейчас в теме
+1 добавлю диаграммы в свою документацию
Оставьте свое сообщение