Имя: Пароль:
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
В базах данных чем короче путь от формы в табличку и обратно - тем лучше.
AdBlock убивает бесплатный контент. 1Сергей