1C отладка - Знакомимся с инструментами отладки платформы - Урок 13

Поділитися
Вставка
  • Опубліковано 25 лип 2024
  • Познакомимся с инструментами отладки в Платформе 1С:Предприятие.
    На самом деле, инструменты для отладки в 1С очень даже хорошие и очень сильно помогают в работе, экономят нервы и время разработчика. Мало уметь писать программный код, нужно уметь эффективно доводить его до качественно рабочего состояния.
    #ТЕХПОДДЕРЖКА #Курсы1С #Программист1С #1С
    ТАЙМКОДЫ:
    00:00 - Приветствие
    00:29 - Что такое отладка и зачем нужна
    01:51 - Как запустить отладку
    01:19 - Как управлять выполнение кода в отладке
    03:50 - Предметы отладки(подключение/отключение)
    06:27 - Точка останова/остановки
    08:19 - Локальные переменные
    11:45 - Табло(очень удобно)
    13:19 - Просмотр таблиц и списков в отладке
    17:01 - Изменение значений в отладчике
    18:03 - Управление точками останова
    19:31 - Замер производительности(очень удобно)
    23:33 - Стек вызовов(для собеседований)
    28:26 - Остановка по ошибке(палочка-выручалочка)
    31:04 - Точка остановки с условием
    1С Программирование с нуля: • Бесплатный курс 1С Про...

КОМЕНТАРІ • 70

  • @tp2b
    @tp2b  2 роки тому +1

    Поддержать канал/Получить плюшки: boosty.to/tp2b

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      теперь поддержка только через Бусти?

    • @tp2b
      @tp2b  Рік тому

      @@AlexMiron1990 В описании канала есть еще варианты поддержки донатом через сервис или на карту.

  • @rockleejkooo
    @rockleejkooo 3 роки тому +14

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

    • @tp2b
      @tp2b  3 роки тому +3

      Ух ты! Так я им ни когда не пользовался... Действительно это очень даже удобно!
      Большое спасибо!

  • @user-pw6df6wh1l
    @user-pw6df6wh1l 2 роки тому +5

    Спасибо, крутые видосы, смотрю с удовольствием. Не работал со стеком, благодаря комментам узнал новое)

  • @aleksandryushka9571
    @aleksandryushka9571 2 роки тому +4

    Олег добрый день. Спасибо вам за этот урок. Очень полезный материал. Все кнопки потыкал всё попробовал. Очень позитивное впечатление от инструмента. Буду пользоваться в двльнейшем.

  • @user-iu9mq4te2n
    @user-iu9mq4te2n 4 місяці тому

    Олег - большое спасибо за 13 урок, за Ваш труд!!! Отличный и полезный материал, узнал много нового!!!

  • @user-lo9qk9jp4z
    @user-lo9qk9jp4z 2 роки тому +7

    Спасибо! Хорошая подача материала.

  • @pavelabramov5446
    @pavelabramov5446 3 роки тому +5

    Олег, материал отличный! Из услышанного/увиденного могу сказать, что теперь есть понимание как действительно код работает.
    Раньше, где то приходилось интуитивно осознавать как работает код, где то автору курса доверять, а вот теперь можно и проверять... как этот код работает.
    Я, как человек имеющий опыт написания макросов на VBA, постоянно пользовался "отладчиком" в Excel'e наблюдая за тем что происходит с переменными и прочими массивами во время исполнения программы. И это помогало мне очень в работе. И тут такое открытие (лично для меня, как новичка в 1С), что такой же отладчик, а может быть даже и лучше, есть в 1С. Подозрения у меня было о его существовании, но теперь я понял как им пользоваться.
    Замер производительности и Стек вызовов - это своего рода карта для "ориентирования на местности". Потенциальным работодателям теперь можно утирать нос этим знанием! )))))
    Табло - отличная штука, чтобы понять как течет кровь (исполняется код) в организме 1С:Предприятие (Конфигуратор).
    По Табло хотелось бы добавить, что на мой субъективный взгляд было бы удобнее выводить его не внизу экрана в горизонтальном формате, а справа на экране и вертикально, потому что на мой субъективный взгляд, в таком положении можно больше происходящих процессов/изменений в переменных охватить взглядом. Если же табло держать внизу под основным представлением, то часто приходится ползунком пролистывать строки с переменными (или как они там называются) и прыгать взглядом между верхней и нижней частью экрана. Если же расположить табло вертикально справа (получается, что мы делим экран на две части, где в одной части код в модуле, а другой табло), то тогда взглядом можно параллельно охватить как сам код в модуле, так и результаты исполнения этого самого кода по мере прохождения его курсором отладчика.
    Вот такое мое наблюдение.
    Благодарю за отличный урок, Олег!

    • @tp2b
      @tp2b  3 роки тому +1

      Спасибо за отзыв!
      Мне не очень удобно использовать табло справа, может это очень субъективно, а может нужен очень широкий монитор.... не знаю :) А может просто привычка :)

  • @pvs2489
    @pvs2489 2 роки тому +3

    Спасибо за интересный обзор. Вот и урок №13 из 16 посмотрел. Грустно, что нет пока продолжения. Ждем новых уроков.

    • @tp2b
      @tp2b  2 роки тому +5

      Пожалуйста.
      В планах продолжить курс в сентябре.

  • @irinaleukhina132
    @irinaleukhina132 Рік тому +2

    Как приятно было в конце занятия услышать слово "коллеги" ))) Очень бы хотелось чтобы так стало на самом деле! ))) Еще очень приятно,что некоторые люди оставляют полезную информацию в комментах, делятся своим опытом! )))

    • @n1ckoon
      @n1ckoon 4 місяці тому

      продолжили изучать 1с или забросили?

  • @vallak1981
    @vallak1981 2 роки тому +3

    Отличный материал. Спасибо.

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста

  • @user-ni6lo8pr5q
    @user-ni6lo8pr5q 3 роки тому +1

    Спасибо! Очень полезный и доступный материал!

  • @bodas1995
    @bodas1995 3 роки тому +1

    Ого сегодня вторник). А видосик вышел лайкосик сразу)

    • @tp2b
      @tp2b  3 роки тому

      Спасибо

  • @user-tb9xi9pf9o
    @user-tb9xi9pf9o 2 роки тому +2

    Урок, как и остальные - потрясающий. Печалит только то что все ближе подбираюсь к последнему(

    • @tp2b
      @tp2b  2 роки тому

      Есть все шансы на продолжение уроков весной...
      Пока нахожусь во власти очень важных и неотложных семейных дел.

  • @user-lq2gb4oh1t
    @user-lq2gb4oh1t 2 роки тому +1

    Спасибо

    • @tp2b
      @tp2b  2 роки тому

      Пожалуйста

  • @gigahztv
    @gigahztv Рік тому

    Спасибо, грамотно объяснил!

    • @tp2b
      @tp2b  Рік тому

      Пожалуйста :)

  • @1cnik
    @1cnik 3 роки тому +3

    спасибо! все очень доступно)

    • @tp2b
      @tp2b  3 роки тому

      Пожалуйста :)

    • @user-gl4dq4qi2e
      @user-gl4dq4qi2e 2 роки тому

      @@tp2b Здравствуйте. Скажите в двух словах если это возможно. Почему типовые конфигурации такие сложные. На уровне книги Радченко я уже достаточно уверенно разбираюсь в платформе, но когда я впервые увидел типовую конфигурацию - просто обалдел.
      Неужели все эти инструменты реально нужны в работе? Или создатели платформы многие методы и инструменты придумали просто для демонстрации своей богатой фантазии, а не для реальной работы? Объясните это, пожалуйста. Хотя бы абстрактно.

    • @tp2b
      @tp2b  2 роки тому

      Раньше(лет 15 назад) они были довольно простые для понимания... но, на сколько я знаю, концепция разработки изменилась, простота и понятность уступила место разного рода оптимизациям и код типовых стал сильно сложнее для понимания.
      Тут можно долго рассуждать и искать плюсы с минусами, но всё сведется к банальному: "Чем универсальнее инструмент, тем он сложнее и менее эффективен для отдельных задач".
      Вот и получается, что "из коробки" мы получаем кучу всяких возможностей, которые раньше заказчик за свой счет дорабатывал, но взамен получаем более сложную разработку того, чего еще не сделала сама 1С или того что уже есть, но не совсем подходит заказчику.
      А к тому же и мир изменился... не было раньше, ни честного знака, ни маркетплейсов, ни эдектронного документооборота, ни даже интернет-магазинов развитых :) А теперь есть и с этим приходится мириться :)

    • @1cnik
      @1cnik 2 роки тому

      @@tp2b да, код типовых сейчас явно не для понимания начинающих

  • @user-dn1sc6kr7o
    @user-dn1sc6kr7o 3 роки тому

    Как вовремя для меня тема про отладчик, было недопонимание- а зачем оно нам? Посмотреть тип и значение переменной, и? Теперь знаю, что это позволяет пошагово следить за исполнением кода и это помощь в поиске ошибок. Из нового- узнала о замере производительности!) Спасибо Вам за отличную подачу материала!

    • @tp2b
      @tp2b  3 роки тому +1

      Пожалуйста :)
      PS Спасибо за обратную связь, это очень важно!

  • @b.abramovich
    @b.abramovich 2 роки тому

    Интересно конечно про Замер производительности, но например в типовой, какое-нибудь формирование печатной формы от начала и до конца будет занимать добрые пару тысяч строк, попробуй там разобраться:) А вот Стек вызовов - наоборот, постоянный инструмент, особенно при доработке типовой - смотрю процедуру, смотрю параметры, вызываю Стек и смотрю из какой функции эти параметры передавались и раскручиваю дальше.

  • @walter_kurtz
    @walter_kurtz 3 роки тому

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

    • @tp2b
      @tp2b  3 роки тому

      Принято, буду стараться делать проще и доступнее!

  • @mika091
    @mika091 Рік тому

    Интересно и познавательно, но про "Идти до курсора" так и не сказали. Спасибо за видео!

    • @tp2b
      @tp2b  Рік тому

      Редко пользуюсь этим вариантом...
      Пожалуйста! :) С Новым Годом!

  • @nimbabul8384
    @nimbabul8384 7 місяців тому

    Просто мнение - отладчик очень выручил бы перед предыдущим уроком, где надо было самому делать документ с яичницей. Пришлось голову ломать, почему проводка даёт пустые ячейки, кое как допер, что переменная пустая была. С отладчиком за 20 сек бы понял)

    • @boris82842
      @boris82842 3 місяці тому

      Да, тоже об этом подумал ) Я сидел и тупил выводя переменные через Сообщить.
      В любом случае большое спасибо автору.

  • @melkiy1735
    @melkiy1735 2 роки тому +1

    Голос приятный, подача тоже. Несомненно подписка и лайк!!!! Но он для меня схож с остальными курсами тем, что работаю в таких базах (не программистом, а консультантом), что там есть расширения и БСП (про нее вообще ничего не знаю). Вот где вообще не понятно что откуда появилось. И такой вопрос, будет ли курс по БСП в плане того, что, когда пишешь какую то процедуру или функцию заранее знать, что она уже реализована в БСП и не надо еще одну такую придумывать. Или может есть уже практики как это выяснить? Спасибо за ваш труд

    • @tp2b
      @tp2b  2 роки тому

      Мне кажется всё БСП уместить в голову невозможно... что-то из неё я пользуюсь, что-то делаю сам...
      Надо подумать. Идея интересная!

    • @melkiy1735
      @melkiy1735 2 роки тому

      @@tp2b Хорошо было бы добавить про команду Остановить в отладке. Ведь без неё реально не понять, в каком месте сейчас исполняется программа. Ни в одном из видео на ютуб про это не увидел. А новичку без неё никак..... Или есть варианты?

    • @tp2b
      @tp2b  2 роки тому +1

      @@melkiy1735 Сколько лет работаю, практически ни когда этим не пользуюсь... мне удобнее пользоваться замером производительности.
      В современном мире большинства алгоритмов выполняются на столько быстро, что нажимать на эту кнопку просто некогда. Если брать учебные задачи, так они вообще мгновенно выполняются....
      Исключения... Если мы попадаем в зацикливание, в замере это будет хорошо видно, если долго выполняется запрос, тоже будет видно... Можно попробовать вывести из зацикливания такой остановкой... да, думаю иногда можно...

    • @melkiy1735
      @melkiy1735 2 роки тому

      @@tp2b Олег, я про то, что понять в каком месте исполняется код или вызывается та или иная процедура. А по нажатию на эту кнопку и выполнения в пользовательском режиме какого-то действия приведет к нужному месту в коде. Ну или хотя бы к его началу). Мне кажется новичкам будет действительно полезно.

  • @alexalexander3252
    @alexalexander3252 Рік тому

    А я стек вызовов постоянно использую. В некоторых случаях вообще не представляю как без него жить можно.

    • @tp2b
      @tp2b  Рік тому +1

      Как-то жил все эти годы, пока мне тут в комментах не написали практику применения :) :) :) :)
      Век живи - век учись :)

  • @user-ge3kj4bj5t
    @user-ge3kj4bj5t 3 роки тому +1

    Здравствуйте! Вопрос не в тему. А про сканеры будет продолжение?

    • @tp2b
      @tp2b  3 роки тому +2

      Рассказать что есть, думаю чуть позже будет продолжение... просто как-то без отклика всё это прошло... ну и отложилось в долгий ящик.

  • @SvetlanaBova
    @SvetlanaBova 3 місяці тому

    Добрый день, Олег не понятно (для новичков как я).
    Инструмент Табло, на 12:25 минуте. Вопрос: Чтобы в Табло колонки Значение и Тип заполнились нужно что сделать?
    Скопировали Объект/Переменную, вставили в колонку Выражение и...???
    Чтобы добавить еще одну строчку - нужно нажать F9?

    • @tp2b
      @tp2b  3 місяці тому +1

      Здравствуйте!
      обычно это происходит автоматически :)
      Но.... но для этого мы должны находиться в отладке и остановиться в точке остановки.
      (обратите внимание, на точку остановки. Там желтая стрелочка, это значит что мы исполнение кода остановилось в этой точке)
      В этом состоянии основная работа с Табло'м и происходит... достаточно добавить переменную, как сразу появится тип, значение и новая пустая строчка ниже.
      Если мы не находимся в этом состоянии(желтой стрелочки/крусора нет) то табло работать не будет.

    • @user-hh8qr1mr7j
      @user-hh8qr1mr7j 3 місяці тому

      ​@@tp2b спасибо за супер быстрый ответ!
      Да, я пыталась разобраться в этом, и в какой-то момент поняла, что должна быть эта стрелка)))
      Спасибо!
      Меня уроки вдвойне привлекают поскольку отсутствуют слова-паразиты!
      Очень приятно слушать качественную подачу материала!
      Спасибо!

  • @Loki2079
    @Loki2079 2 роки тому

    А можно несколько примеров реальных ситуаций когда требуется "Точка останова с условием", а то не до конца понятно?

    • @tp2b
      @tp2b  2 роки тому

      Конечно можно...
      например в цикле обрабатывается большой массив товаров, но нам нужно проверить алгоритмы на одном из них(или остатки нужные, или реквизиты по особенному заполнены или еще как-то выделяется обработка и нужно именно на этом товаре).... ловить нужную итерацию простым обычной точкой остановки не удобно, скучно, долго, велика вероятность пропустить нужную итерацию и придётся начать всё с начала.
      Ставим условие вида ВыборкаТоваров.Товар.Код = "00000000001" и остановка будет выполнена только на той итерации, на которой условие выполнится.
      Аналогичная история происходит, когда какая-то процедура/функция вызывается из какого-то сложного алгоритма, можно также ловить именно нужный вызов по выполнению условий.
      Выражение проверяется по текущему контексту(Урок 16) установки точки остановки.

    • @Loki2079
      @Loki2079 2 роки тому

      @@tp2b Спасибо! Вроде понятно))

  • @ichich-gw5ct
    @ichich-gw5ct 3 роки тому +1

    Интересно а с какого момента можно идти пробовать устраиваться на работу? Что нужно уметь джуну для начала, чтобы не сильно позориться?

    • @tp2b
      @tp2b  3 роки тому +2

      В идеале сначала получить сертификат Специалист по платформе. Мы пока в самом начале пути.
      В реальной жизни всё от человека зависит. Можно начать первые задачки решать довольно рано.
      Надо будет пособирать на эту тему информацию и запилить видео :)

    • @ichich-gw5ct
      @ichich-gw5ct 3 роки тому

      @@tp2b было бы интересно) вот я уже 3ий месяц мучаюсь, смотрю Чистова 1с за 21 день и вас, но до специалиста невообразимо далеко по ощущениям)

    • @tp2b
      @tp2b  3 роки тому

      Курс Чистова не смотрел, сказать ни чего не могу.
      Уроков текущего курса еще слишком мало чтобы думать об экзаменах.
      Да и вообще, я убеждён, что для работы экзамены нужны именно "в идеале", а в реальном мире начинать нужно именно с практики, пусть с простой и корявой, но с практики и уже потом думать о развитии и об экзаменах типа Специалиста по платформе, т.к. сам экзамен штука весьма специфическая(сдавал, сужу по себе).

  • @leshichyarosh6949
    @leshichyarosh6949 5 місяців тому

    Доброго времени суток! Ставлю точку останова с условием. Перехожу в режим Предприятие, провожу документ ПриготовлениеПродуктов и.. ничего не происходит. Возвращаюсь в режим Конфигуратора - точки останова с условием нету. Повторял действие 3 раза, результат такой-же. Не могу понять в чем дело.

    • @tp2b
      @tp2b  5 місяців тому

      Весьма странно... самое банальное предложение - перезагрузите компьютер :)

  • @AlexMiron1990
    @AlexMiron1990 Рік тому

    17:13 меняю 85.2 на 1000 - нажимаю F5 - значение так и осталось 85.2 - перепровожу документ и выдает ошибку Недопустимое значение аргумента функции [dbgtgt - src\dbgtgt\src\IDebuggerTCPlmpl.cpp(2658)] ... Может я где то в коде накосячил, может он у меня работает, но через УПОЖ. Кто нибудь может дать резервную копию у кого все работает

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      1С:Предприятие 8.3, учебная версия (8.3.22.1603)

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      Частитчно разобрался, чтобы там появилась 1000, нужно при отладке в табло 85.2 менять на 1000 не руками, а справа есть значок калькулятора - заходим туда вводим 1000 - Ок, потом убираем точки остановы и жмем ф5, но при повторной проводке значение опять меняется на 85.2.... Не знаю так это должно быть или нет (Пишу комментарий сразу по месту без просмотра видео целиком, может быть дальше и будут ответы на мои проблемы)

  • @AlexMiron1990
    @AlexMiron1990 Рік тому

    Что то заполняется, но заполняется вообще как то не так, слишком быстро куда что тыкать не совсем понятно, окна с вашими не совпадают.... ладно, запускаю цикл - просмотр видео - если что то нихрена не понятно - то возвращаемся на начало цикла и смотрим еще раз

    • @AlexMiron1990
      @AlexMiron1990 Рік тому

      во всем виноваты, коллеги, приходится отвлекаться от просмотра видео

  • @gigahztv
    @gigahztv Рік тому

    Снова приветствую, Олег! Подскажи, в чем может быть причина, если у меня не открывается консоль где мы сообщаем инфу пользователю?
    Сообщить("Внимание! Недостаточно продукта: " + ВыборкаДетальныеЗаписи.ПродуктПредставление);

    • @tp2b
      @tp2b  Рік тому

      Возможно эта строка кода не выполняется...
      Рекомендую посмотреть отладчиком.

    • @gigahztv
      @gigahztv Рік тому

      @@tp2b помогло, спасибо)