Имя: Пароль:
1C
1С v8
Декомпозиция кода 1С
,
0 cojko
 
13.01.22
16:26
Коллеги, добрый день.
Подскажите, существует ли инструмент, который может наглядно разложить код 1С на дерево функций и процедур, показывая их взаимосвязи?
1 H A D G E H O G s
 
13.01.22
16:36
1) Скорее всего нет
2) Скорее всего это не имеет смысла
2 Жан Пердежон
 
13.01.22
16:38
смысл может и имеет, но из-за рефлексии любой инструмент будет выглядеть неполноценным
3 cojko
 
13.01.22
16:54
4 Asmody
 
13.01.22
16:57
(3) О да, пришлось этой штукой один раз воспользоваться для разбирания исторического копрокода.
5 1Сергей
 
13.01.22
16:59
(3) нркмны
6 Мимохожий Однако
 
13.01.22
17:00
(0) Мозг.
7 acht
 
13.01.22
17:03
(3) А теперь запусти это на какой-нибудь современной типовой и попробуй разобраться в результате. Можешь также поискать отчет по правам всех ролей на все объекты.
8 Asmody
 
13.01.22
17:05
(7) так туда не надо всю ЕРПу пихать. обычно так задача не стоит.
а вот понять, куда "вот этот, сука, монстр" на 10 экранов может сигануть в случае чего, - вот в этом разобраться поможет
9 acht
 
13.01.22
17:14
(8) Это единственный вариант - с жестоким отбором по одному методу. Кого он вызвает и кто его.
Причем там при анализе надо еще лезьть не только в код, но и в епеня, типа интерфейсов ОФ.

В 99.99% хватает графа взимосвязи модулей, чтобы понять момент переключения контекста и понять, почему эта сцука даже не компилируется. Как только спускаешся на уровень метода - все, аляулю, у тебя ексель на 100500 строк.
10 cojko
 
13.01.22
17:15
(8) Вот пытаюсь с пооперационным расписанием в ERP разобраться.
К сожалению описания в самой обработке нет совсем. На ИТС, конечно, тоже ничего нет.
11 Naumov
 
13.01.22
17:18
(8) ИСпользование оповещений сделало подобные попытки тщетными
12 acht
 
13.01.22
17:25
(10) > в ERP
Asmody как в воду глядел =)
13 pechkin
 
13.01.22
17:26
это называется построить ast дерево
14 Asmody
 
13.01.22
17:30
(10) не, в ERP даже не пытайся
15 Asmody
 
13.01.22
17:31
и вообще, в надо как можно реже смотреть в код ERP
16 cojko
 
13.01.22
17:42
(15) Слепой метод программирования еще не освоил ))
17 mikecool
 
13.01.22
17:50
(9) это и конфигуратор может по Alt-F12
18 cojko
 
13.01.22
17:51
(3) Не получилось воспользоваться.
Взял вот эту обработку https://infostart.ru/public/190199/ и  редактор графов YeD.
Удалил из кода процедуру, на которую ругалась программа и получил красивую структуру.
19 Sysanin_1ц
 
13.01.22
18:12
(0) Бизнесу это не нужно
20 Dmitrii
 
гуру
13.01.22
18:20
В состав БСП с версии 2.4 для разработчиков, использующих стороннюю систему разработки программного обеспечения, в состав дистрибутива включена обработка ГенерацияОписанияПрограммногоИнтерфейса.epf, предназначенная для формирования html-файла с описанием программного интерфейса произвольной библиотеки или конфигурации. В сгенерированную документацию включаются комментарии к экспортным процедурам и функциям, размещенных в программных модулях в области ПрограммныйИнтерфейс, за рядом исключений, специально отмеченных в коде с помощью области ДляВызоваИзДругихПодсистем.

Обработка лежит в папке с шаблоном конфигураций БСП ...\ExtFiles\Инструменты разработчика.

Если речь идёт о попытке разобраться в какой-либо подсистеме, и кодеры адекватно её писали (со всеми правильными областями и комментариями), то в результате можно получить более или менее адекватное описание.
21 cojko
 
13.01.22
18:22
(20) Спасибо большое за наводку.
22 VladZ
 
13.01.22
18:22
(0) Моё мнение:
- делать подобную хрень для сложных систем не имеет смысла. Информация на выходе будет не менее сложна, чем первоначальная.
- делать подобную хрень для простых систем тоже не имеет смысла. Тут и так всё из кода понятно.

Представь, что ты играешь в Героев. На начало игры вся карта скрыта неразведанной территорией. Открывается только та область, по которой ты прошел.

Вот и протопчи себе дорогу только там, где нужно.
23 cojko
 
13.01.22
18:26
(20) Представь, что в Героях не было бы графического интерфейса, а только текстовый. Тебе было бы довольно сложно вспомнить как вернуться в исходную точку, если бы пришлось идти обратно по протоптанной дорожке.
24 Мимохожий Однако
 
13.01.22
19:51
(22) Зря стараешься. ТС не переубедить. Мышление у всех разное. Кто-то мыслит алгоритмически и ассоциативно. Кто-то обладает хорошей моторной памятью и образами. Для подобного мышления графические интерфейсы ближе и понятнее. Ничего личного.
25 acht
 
13.01.22
22:07
(23) > Представь, что в Героях не было бы графического интерфейса, а только текстовый.
Эх, юноша, ну вот не зря вы себе женский пол в анкете поставли. У вас, еще и волосы светлые, наверно?

https://ru.wikipedia.org/wiki/Colossal_Cave_Adventure
https://en.wikipedia.org/wiki/MUD
26 cojko
 
14.01.22
11:17
(25) Волосы светлые. А вы сударь прилетели к нам из будущего, где после ядерной войны играют в игры с текстовым интерфейсом? ))
27 VladZ
 
14.01.22
12:13
(23) Возьми ручку, листок бумаги и нарисуй.
Будет быстрее и эффективнее.
28 cojko
 
14.01.22
21:12
(27) Дружище 277 процедур и функции. Не охота ))
29 MyNick
 
15.01.22
07:09
(0) edt
Не весь код, но вызов функции очень хорошо раскладывает
30 acht
 
15.01.22
09:45
(28) >  277 процедур и функции
И как обстоят дела с пониманием пооперационного расписания в ERP сейчас?
31 cojko
 
17.01.22
10:45
(30) Реально польза есть. Потому что есть точная (Не нарисованная от руки) схема взаимосвязи между процедурами. Когда возвращаешься к этой задаче, тебе не надо вспоминать как устроен этот модуль.

А так модели, которые применяются в ERP очень упрощенные. И на том предприятии, где я сейчас внедряю, проигрывают человеку. Плюс в самом коде есть ошибки.
32 ManyakRus
 
17.01.22
11:02
взаимосвязи процедур рисовать бесполезно,
а вот взаимосвязи справочников и документов очень даже полезно :-) - я сделал такую обработку
33 pechkin
 
17.01.22
11:06
(32) обычно по названию реквизита понятно какого он типа
34 DrZombi
 
гуру
17.01.22
13:37
(33) Обычное заканчивается быстро :)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn