Имя: Пароль:
1C
 
как начать понимать код? ☑
0 dvrk
 
23.05.22
✎
22:11
привет, у меня проблема такая, если код простой, ну т.е. простые условия там, циклы не особо огромные с 10 циклами внутри, то всё понятно, а когда начинается обращение к общим модулям, из общего модуля ещё куда то идёт, потом возвращается назад, потом ещё много всяких штук крутых через точку - становится сложно и не всегда понимаю почему как и что, как это прокачать?
1 dvrk
 
23.05.22
✎
22:12
если я напишу код сам, с обращениями к общим модулям и т д - то всё понятно, а когда читаю чужой - сложно очень)
2 dvrk
 
23.05.22
✎
22:13
там и условия всякие и код посреди запроса, что запрос не открыть и не понять что там вообще запросом и как делается и т д
3 d_monah
 
23.05.22
✎
22:18
Сначала выучи китайский,потом легче будет.Открою секрет,я и сам свой код не всегда понимаю
4 dvrk
 
23.05.22
✎
22:19
(3) ну так у меня это вызывает трудности в, например, доработке и т д
5 withoutname
 
23.05.22
✎
22:20
(0) это приходит со временем )
6 Garykom
 
гуру
23.05.22
✎
22:21
(0) ты понял одну из проблем почему не любой человек может стать программистом
другая проблема это постоянное изучение нового
ибо знания в ИТ и особенно программировании устаревают буквально за 5 лет
7 dvrk
 
23.05.22
✎
22:21
(4) я вроде и радченко прорешал и курсы какие то поглядывал и статьи, а ощущение, будто как начинал 'чёто ковырять' на таком уровне и остался
8 p-soft
 
23.05.22
✎
22:22
понимать женщин нас заставляет инстинкт продолжения рода.
по идее, понимать код нас должен заставлять голод.. но иногда что то идет не так.
9 H A D G E H O G s
 
23.05.22
✎
22:24
(0) ЗамерПроизводительности
10 Garykom
 
гуру
23.05.22
✎
22:26
(9) Угу.
Только вот замер времени в типовой БП3 на некоторых документах всего лишь при его открытии выдает >10 000 строк кода.
11 H A D G E H O G s
 
23.05.22
✎
22:28
(10) Егора вычеркиваем.
12 Garykom
 
гуру
23.05.22
✎
22:29
(11) Общепринятая практика не Егора вычеркивать а монолиты в пользу микросервисной архитектуры
13 Злопчинский
 
23.05.22
✎
22:34
Жую попкорн....
14 d_monah
 
23.05.22
✎
22:39
(13) Семки надо,импориозамещение
15 rphosts
 
24.05.22
✎
03:58
(0) есть способ... но займёт время: начни писать так4-же запутано как авторы типовых
16 Bigbro
 
24.05.22
✎
04:58
когда человека учат плавать - то в мелком бассейне
когда кататься на велосипеде - то на трехколесном или с колесиками по бокам
когда учат летать - садят на одномоторный самолетик

когда 1сник лезет разбираться в типовую - он попадает за штурвал боинга, который сорвался в штопор и мигает одновременно сотнями лампочек.
а времени на решение проблемы - почти нет.
17 Irbis
 
24.05.22
✎
05:50
(16) Плохие аналогии. Ибо так ни плавать, ни кататься на велике не научишься.
18 rphosts
 
24.05.22
✎
06:02
(16) эээээ, учился сразу на взрослом велике (дотягивался до педалей только из под рамки)... и ничё!
PS Есть очень простые типовые, например "1С-Платежные документы"
19 Bigbro
 
24.05.22
✎
06:09
(17) удачи тебе в обучении плаванию в горной реке с порогами без спас жилета.
20 NorthWind
 
24.05.22
✎
06:33
(0) как везде и во всем - опыт, сын, как говорят, ошибок трудных. Делаете, пробуете, разбираетесь, что-то получается, что-то нет. Со временем начинает получаться больше.
21 Обработка
 
24.05.22
✎
06:41
(0) Надо развивать воображение мышление и логику. Не все сразу приходит. А некоторым не дано это почти совсем.
Простой пример- Я вот если езжу по незнакомому городу на машине  в голове у меня рисуется маршрут. Примерно знаю куда поехал и примерно какой был маршрут.
Ну конечно без масштаба чисто схематично. Некоторым это просто не надо. Спрашиваешь где север где юг не могут определить сред бела дня даже приблизительно.
Как-то так.
22 MaxS
 
24.05.22
✎
06:46
Обращение к общим типовым модулям можно понимать как обращение в черный ящик и не лезть глубоко. Попытаться понять суть, либо при поиске ошибки пройти всё отладчиком по F10, чтобы найти ту часть, где ошибка, потом на второй попытке зайти туда по F11 и далее по F10.
Так в несколько итераций можно найти проблемное место.
23 d_monah
 
24.05.22
✎
06:51
(21) Блуждая по Москве,я из любой точки пешком могу попасть в любую другую точку,даже если я там не был,без карты(ЮБутово не рассматриваем!),но такой трюк почему то не проходит в условном Подольске.
24 d_monah
 
24.05.22
✎
06:52
(22) Типовые писали рептилоиды,даже по рен-тв показывали.Это для того,чтобы уничтожать человечество.
25 Irbis
 
24.05.22
✎
06:52
(19) В некоторых горных речках плавать нельзя из-за отсутствия воды. А в редких глубоких омутах (примерно по колено) даже спас жилет не нужен.
26 SiAl-chel
 
24.05.22
✎
06:59
(22) В точку.
27 Обработка
 
24.05.22
✎
07:06
Вот у меня как раз пример отладки.
Есть отчет который я изучаю.
У отчета нет формы в конфе.
Как мне найти место где в предприятии я нажимаю кнопу сформировать???
28 Обработка
 
24.05.22
✎
07:07
+(27) то есть сейчас иногда не проблема понимания кода а поиск кода важнее освоить...
29 Гений 1С
 
гуру
24.05.22
✎
07:50
(0) да там не надо понимать. Просто найди куда поставить затычку (расширение) и все.
Пути 1С неисповедимы и неосознаваемы.
Типовой код - это неосознаваемая нормальным человеком гора мусорного кода, не стоит пытаться его понять.
Я так понимаю, его пишут люди которые 10-20 лет варятся в этой компании и не для того, чтобы мы туда сували нос.
Вообще по хорошему они должны этот код закрыть, чтобы всякие "недомерки" не сувались со своим понятием.
Легаси как оно есть.
30 rphosts
 
24.05.22
✎
07:59
(23) а что с Бутово не так?
31 Asmody
 
24.05.22
✎
07:59
(0) я рисую блок-схему.
Или рефакторю
32 DimVad
 
24.05.22
✎
08:01
(29) Правда потом (после очередного обновления) эти затычки начинают отваливаться. Типа "ой, а такого реквизита больше нет".
Поэтому собственно УПП - последняя конфигурация для программиста. Дальше - для консультанта с навыками "подчеботарить".
33 Выпрь
 
24.05.22
✎
08:05
Читать, читать и читать.
Что там курсов еще нет на тему?
34 Выпрь
 
24.05.22
✎
08:08
Ну и в добавок нужно память кратковременную тренировать
35 Выпрь
 
24.05.22
✎
08:09
Написание тестов хорошо помогает понять код
36 DimVad
 
24.05.22
✎
08:18
+(32) Мне кажется что хорошо понимать современные типовые внутри смысла таки нет. Июо :

1. Мало того что он огромный - он ещё и быстро меняется. Кто будет платить за изучение типового кода а не решения конкретной проблемки ?
Оплатите мне полгодика, пожалуйста. Я изучал erp... а кстати тут переход на 2.5 произошёл - надо опять изучать :-)

2. Менять его всё равно не стоит. А если так и так делать расширение - то можно и по методу, описанному Г1С
37 dmt
 
24.05.22
✎
08:18
(0) если хочешь разобраться - записывай, пропуская "пробросы"

модуль1.функА
--> модуль2.функБ
    модуль2.функВ
    --> модуль3.функХ
    модуль2.функГ
38 Масянька
 
24.05.22
✎
08:44
(0) Типовая ЗУП...
Функции БСП (ну, типа того) (например) - ОтветственныеЛицаОрганизации.
Общие модули (по порядку): ЗарплатаКадры, ЗарплатаКадрыВнутренний, ЗарплатаКадрыРасширенный, СведенияОбОтветственныхЛицах (бинго!).
И везде одна строчка...
Народная песня (автор неизвестен) "А За Деревом Дерево".
39 Bigbro
 
24.05.22
✎
08:58
типовая ЗУП это конечно жесть...
я все понимаю, стандарты и прочая...
но есть чувство что код роботом написан.
без всякого смысла хреначить 15 этажей вложенных функций в которых единственная строка вызов следующей функции...
да шли бы вы.
в САПчике бывало и на 65+ уровней отладки залезал, но там на КАЖДОМ уровне функция выполняет осмысленное действие, можно конечно запутаться и потеряться но только в силу сложности алгоритма и действий в целом, а не от безысходности череды бессмысленных и беспощадных путсопорожних переадресаций.
40 Kassern
 
24.05.22
✎
09:04
(0) Странно, что ночной охотник подобную ветку не создал, видимо его все устраивает) А по сабжу- вроде ничего сложного, по порядку в отладке открываете обращения к другим процедурам, имя этих процедур в целом говорит о том, для чего она. В конечном итоге доберетесь до нужной процедуры где происходит основное "таинство" 1с)
41 СвинТуз
 
24.05.22
✎
09:20
(0)
- Как Вы так ловко ее опрокидываете Виктор Викторович?
- Достигается упражнениями.
42 ILM
 
гуру
24.05.22
✎
09:42
(0) Нужна практика, практика и практика.
Я понимал код через отладку и чтение текста модуля, цепочку вызовов, потом читал список функций и процедур в модуле объекта.
Далее становится более понятно:
1. Это вспомогательные функции, которые формируют таблицы или структуры для передачи.
2. Это функции обработки данных, которые что-то инициализируют или меняют.
3. Это обработчики событий при записи или проведении, вот тут контроль, тут движения формируются.
4. Это обработчики менеджера - они для формирования печатных форм и т.д.
5. Есть вызовы в общих модулях но принцип один и тот же. Вот для получения данных, вот для изменения и расчета, вот для сохранения, вот для вывода.

В целом типовые достаточно хорошо структурированы, если работать все время с одной и той же конфой УПП или ЕРП или УТ, то уже на автомате пишешь и вызовы в общие модули и находишь ошибки быстро и легко вставляешь вызовы в переопределяемые модули.
Нужно ещё уметь находить быстро определения функций и уметь читать запросы с листа. Так как часто бывает передача в структуру из результатов запроса, и приходится менять запрос, чтобы добавить поля в структуру, которая будет обрабатываться через 2-3 вызова в процедуре общего модуля.
43 Hans
 
24.05.22
✎
10:18
(37) Давно ищу такой похожий инструмен. Вот построение этой структуры вызовов никто не автоматизировал еще?
44 Hans
 
24.05.22
✎
10:19
Ищу какие есть методики вообще чтения кода, есть ли они вообще?
45 Игиптянин
 
24.05.22
✎
10:21
(0) Чтобы понимать код, надо разобраться в каждой функции которая вызывается. Я в 7.7 разобрался во многих функциях гл...... Потом вышла УПП, я разобрался почти со всеми глобальными функциями. Потом вышла  ERP УТ11 я открыл конфигуратор и .... забил на это тупое занятие.
46 Игиптянин
 
24.05.22
✎
10:25
Кстати чего там в конфигураторе включить, чтобы не проваливаться в кишки БСП? Настройка там какая то есть, все время забываю.
47 Asmody
 
24.05.22
✎
10:27
(43) вот это посмотри https://infostart.ru/public/806807/
48 Игиптянин
 
24.05.22
✎
10:27
А еще сертипицировался по платформе, начал готовиться к специалисту доработку торговых решений(как то так), купил курс Гилева. Прошел его и забил готовиться к сдаче. Пошел вместо этого сдал всю линейку спецконсов аналитика 1С. Так я меньше вижу 1С и вообще почти не вижу конфигуратор.
49 Hans
 
24.05.22
✎
10:34
(46) Перв раз слышу про такую настройку.
50 Пулья в зубах
 
24.05.22
✎
10:37
(46) Валер, лучше про джаву пиши, так хоть обсираться не будешь
51 MyNick
 
24.05.22
✎
13:24
(47) при вызове на ЕРП в нехватку памяти винду не роняет? )))
А еще есть в ЕДТ иерархия вызовов - норм работает вроде.
52 dmt
 
24.05.22
✎
13:48
53 Asmody
 
24.05.22
✎
14:36
(51) 128 гиг оперативки хватит всем!
54 Игиптянин
 
24.05.22
✎
14:37
(50) А что в 1С типа такой настройки нет? https://prnt.sc/DffojAj42iV0 Переводится как уставновить в отладке пропускать стандартные библиотеки джава.
зы
я джаву только начал ковырять.
55 Игиптянин
 
24.05.22
✎
14:38
пардон не то скопировал, вот step filters debug https://prnt.sc/q69ntagZ37QB
56 Asmody
 
24.05.22
✎
14:39
(54) Для этого неймспейсы нужны. В 1С такой фигни нет. Только сплошное костылевелосипедостроение
57 Игиптянин
 
24.05.22
✎
14:42
(56) А мне казалось, что этот вопрос задавали и кто даже на этот вопрос ответил в конфигураторе какой то флажок поставить. Да, уж игры разума какие то.
58 Бертыш
 
24.05.22
✎
14:54
Скажу как давно практикующий данную йогу.
Если бы в дереве метаданных в конфигураторе с отбором вверху по наименованию "ВариантыОбеспечения" можно было бы указывать с позиционированием фильтр вида "Перечисления.ВариантыОбеспечения" было бы легче. Если бы в 1С 8 можно было логировать исполнения кода с фиксацией изменения значений как я делал это на 1С 7.7 с компонентой 1С++ создавая для логирования дочерние классы было бы легче. Да даже если бы был хотя бы аналог распространённого а-ля бейск и VS debug.print было бы легче. Если бы в конструкторе запросов была бы фильтрация по наименованию как в первом пункте в конфигураторе и как в конфигураторе же отбор по подсистемам было бы легче. Если бы при проектировании языка 1С 8 различные из 7.7 ДобавитьЗначение ДобавитьКолонку и им подобные с уточнение обслуживаемой добавлением сущности не слепили бы в единственное унифицированное добавить и мы могли бы читая код понимать о чём мы и где мы, то было бы легче. А так имеем что имеем и на этом спасибо
59 Бертыш
 
24.05.22
✎
14:56
Спасибо что дали открытый конфигуратор сиречь EDT. Знай да пописывай себе плагины
60 rsv
 
24.05.22
✎
15:37
(0) главное не воспринимать  что это образец. Коммерческий километровый код ….
Стоит ли его понимать …..
61 rsv
 
24.05.22
✎
15:40
В базах данных чем короче путь от формы в табличку и обратно - тем лучше.