Хитрости отладки кода 1С

03.12.12

Разработка - Рефакторинг и качество кода

Хитрости отладки кода 1С
Только самые простые задачи не требуют отладки. Для решения сложных задач без отладки в принципе не обойтись. С годами придумал способ упростить этот процесс.
1) Включаем отладку (без точек останова), включаем замер производительности, выполняем отлаживаемые действия, выключаем замер производительности (появится список выполненных команд и он будет подсвечен в коде).
2) Потом устанавливаем точки останова и идем по шагам, т.е. выполняем обычную отладку.
Теперь мы заранее видим какой код будет исполнен (и сколько раз). Это значительно ускоряет процесс отладки сложного, объемного кода.

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

Горячие клавиши (записанные на подкорку):
Alt+F2 - поставить/убрать закладку
F2 - перейти к следующей закладка
Shift+F2 - перейти к предыдущей
F9 - поставить/убрать точку останова
Ctrl+Shift+F9 - отключить точку останова

Другие темы по отладке:
Динамическое изменение переменных во время отладки
Обработка для отладки обработок заполнения табличных частей документов
Отладка Web сервисов 1С в картинках
Отладка удаленных сеансов пользователей

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Запросы Рефакторинг и качество кода Программист Стажер 1С:Предприятие 8 Бесплатно (free)

Есть запросы, которые сразу вызывают подозрение: десятки соединений, множество временных таблиц, объединения, группировки и длинный список условий. Но чаще проблемы прячутся в другом месте — в запросах, которые выглядят вполне приемлемо. Пара обращений через точку, отбор после виртуальной таблицы, РАЗЛИЧНЫЕ «чтобы убрать дубли», большой список в параметре, реквизит регистратора через составной тип — и вот уже на тестовой базе все летает, а в рабочей базе отчет открывается минуту. Разберу такие случаи из практики: не синтаксические ошибки, а именно запросы, которые формально нормальные, но на больших данных начинают вести себя плохо.

04.05.2026    736    YA_2060655612    11    

8

Рефакторинг и качество кода Программист Бесплатно (free)

Почему рефакторинг, призванный улучшать код, иногда приводит к сбоям, потерям времени и новым ошибкам? Показываем типичные ситуации, когда рефакторинг становится токсичным: работа с legacy-кодом, изменения перед релизом, рефакторинг про запас и без тестирования. Объясняем, как универсальные мегаметоды, преждевременные абстракции и отсутствие понимания бизнес-логики ухудшают систему. А также рассказываем, когда рефакторинг действительно нужен, и какие принципы помогают делать его безопасно и осознанно.

29.04.2026    545    _apelsin4ik    0    

5

Рефакторинг и качество кода Программист Стажер 1С 8.3 Бесплатно (free)

Код в 1С редко начинает тормозить сразу. Намного чаще он долго выглядит нормальным, а проблемы проявляются позже — когда растут данные, пользователи и количество доработок. В статье разбираю типичные причины такой деградации: запросы в цикле, лишние ПолучитьОбъект(), тяжёлые формы и обработку “по одному”. Статья практическая: с примерами, типичными ошибками и понятными признаками того, что код уже плохо масштабируется.

21.04.2026    1578    YA_2060655612    6    

11

Инструментарий разработчика Рефакторинг и качество кода Программист 1С:Предприятие 8 Бесплатно (free)

Инструмент для тех, кто устал читать модули по 50 тысяч строк и искать ошибки глазами. MetaVision загружает выгруженные файлы конфигурации и за секунды строит графы функций, находит уязвимости и подсвечивает проблемы производительности. Ключевые возможности: Визуализация логики функций (графы условий, циклов, транзакций и вызовов). Статический аудит безопасности (RCE, SSRF, COM-инъекции, пароли в коде). Поиск проблем производительности (запросы в циклах, вложенные блокировки). Полнотекстовый поиск по всем модулям конфигурации. Статистика по объектам и функциям. Безопасность: Программа работает строго локально. Код вашей конфигурации не отправляется в интернет и не анализируется на сторонних серверах. Попробуйте MetaVision сегодня — узнайте, что скрывает ваш код.

20.04.2026    8230    821    KHoroshulinAV    51    

69

Рефакторинг и качество кода Программист 1С 8.3 Россия Бесплатно (free)

Как быстро разобраться в чужом коде? Как не забыть через полгода алгоритм работы своего собственного кода? Как наглядно проектировать? Ответам на эти вопросы посвящена данная публикация.

17.04.2026    588    chuprina_as    4    

4

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

Создадим скрипт на Пайтон, предназначенный для автоматизированного подбора чанков (фрагментов требований к коду) при разработке на 1С. Она помогает разработчику формировать качественные промпты для ИИ, включающие все необходимые требования безопасности, производительности и стандартов кодирования. Кому интересно, покритикуйте и предложите улучшения. Результаты опубликуем.

20.03.2026    1294    ksnik    4    

5

Нейросети Рефакторинг и качество кода Программист Бесплатно (free)

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

17.03.2026    1859    IgorVasilyev    54    

27

Рефакторинг и качество кода Программист 1С:Предприятие 8 1С:Комплексная автоматизация 2.х 1C:ERP Бесплатно (free)

В публикации показан пример оптимизации кода обработчика табличной части документа, приведена методика как избавляться от запросов внутри цикла, а также разобрано - почему важно делать обработку данных на сервере и стремиться к минимизации вызовов клиент-сервер.

09.02.2026    1956    Eugen-S    10    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AnryMc 851 12.12.11 11:25 Сейчас в теме
(0) А как понять порядок выполнения? Производительность дает только, что "выполнилось за время"
2. Поручик 4611 12.12.11 11:53 Сейчас в теме
(1) Это типа для новичков и плюс неполный список публикаций по теме. (0) Про тестирование и отладку печатных форм забыл.
5. saiten 251 12.12.11 16:31 Сейчас в теме
(1) Порядок смотреть при проходе отладчиком. А вот без лишних тыканий оценить прохождения условий - это мысль. За мысль плюсанул.
o.nikolaev; Иваныч; adhocprog; gaglo; RustIG; +5 Ответить
3. Yasen 490 12.12.11 14:11 Сейчас в теме
Все равно +
Тоже пользуюсь этой штукой, и вижу что вокруг народ не знает.
4. Yasen 490 12.12.11 14:12 Сейчас в теме
Поручик пишет:
неполный список публикаций по теме


А полным поделишься? :)
6. YuriM 12.12.11 18:39 Сейчас в теме
Идеи для статьи:
1) Как использовать удалённую отладку (не у всех получается);
2) Как включать отладку на сервере (знаю людей, которые про такую возможность не знают вообще).
dynamicsystems; Дмитрий_71; +2 Ответить
7. МимохожийОднако 142 14.12.11 07:13 Сейчас в теме
Работает ли эта штука при отладке синтаксических ошибок?
8. master_yoda 27 14.12.11 08:28 Сейчас в теме
Пользовался давно..... но многие такой фиишки не знают
9. vec435 17 14.12.11 09:20 Сейчас в теме
пока не пользовался, но прикольно
10. slas 20 14.12.11 09:31 Сейчас в теме
Спасибо за идею, обязательно воспользуюсь
11. cassyan 14.12.11 11:39 Сейчас в теме
Любопытно. Надо попробовать.
12. fomix 33 14.12.11 11:57 Сейчас в теме
Давно пользуюсь обработкой "Продвинутый отладчик для 8.1" от Фиксина - за что автору большое спасибо! Помогает при отладке запросов. Особенно в ЗУПе, где запросы написаны какими-то "титанами от 1С" и осилить их можно только с помощью данной обработки, расчленяя на более мелкие и удобные для понимания прямо по ходу работы программы.
Смело можно включить в список автора
13. RustIG 1954 14.12.11 13:03 Сейчас в теме
14. fomix 33 14.12.11 13:13 Сейчас в теме
(13) Rustig, Кажется я скачал ее c сайта автора - fixin.narod.ru. Но могу и ошибаться по URL. Он там много чего полезного выкладывает бесплатно. Если там не найдешь пришли в личку мыло -скину
16. fixin 4335 14.12.11 14:57 Сейчас в теме
(12) гы, скоро я ее тут размещу. По просьбам трудящихся. Следите за развитием событий.
15. Sergoninfostarru 2 14.12.11 14:13 Сейчас в теме
Прекрасный метод отслеживания использования процедур как в контексте документа, так и общих модулей. Но пошаговую отладку не отменяет : по этому методу можна только видеть какая процедура и сколько раз используется, а вот последовательность исполнения тут не увидишь. А отладка то и начинается с поиска ошибки, поэтому до выполнения определенных процедур может и не дойти !!!
17. fixin 4335 14.12.11 14:58 Сейчас в теме
(15) а вы знаете, как в 1С сделать трассировку отдельной строки с помощью условной точки останова? Думаете это невозможно? ;-)
19. fomix 33 14.12.11 21:46 Сейчас в теме
22. fixin 4335 14.12.11 23:14 Сейчас в теме
(19) скоро, очень скоро, пока на моем сайте ищите, я ведь недавно вернулся на ИС. Скоро все это счастие, мои шедевры будут тут. ;-)
35. Збянтэжаны Саўка 245 20.12.11 15:39 Сейчас в теме
(22) fixin, дай здесь URL своего сайта, интересно же глянуть, что там у тебя есть
36. fixin 4335 20.12.11 16:36 Сейчас в теме
37. Збянтэжаны Саўка 245 20.12.11 17:40 Сейчас в теме
18. opiumdx 14.12.11 19:51 Сейчас в теме
Спасибо! Никогда не думал в таком ключе, очень интересная мысль... Должно быть неплохой способ отследить выполнение процедур. Надо будет обязательно попробовать на практике.
20. curys 14.12.11 22:48 Сейчас в теме
Замечательная статья. Не зря время провнел за прочтением, новые нюансы узнал. Спасибо автору!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
21. dumal 14.12.11 22:55 Сейчас в теме
Знаете, для тех, кто на 1С пришел из других языков программирования, эти знания сакральными не являются. Тем не менее, спасибо, дойти до этого "с нуля", наверно, непросто
26. highlander 15.12.11 10:32 Сейчас в теме
(21) dumal, абсолютно с вами согласен. это тонкости работы, которые могут помогать но мало кто их использует
23. alexsiswx 14.12.11 23:29 Сейчас в теме
Я считаю, если научился пользоваться отладчиком в полную силу, то остальное ерунда...
24. shizobruder 64 15.12.11 08:47 Сейчас в теме
Очень полезно бывает)))
25. shizobruder 64 15.12.11 08:48 Сейчас в теме
вообще с помощью этой штуки начал разбираться в языке)))
27. DDos76 206 15.12.11 15:26 Сейчас в теме
Прикольно. По отдельности про это (замер производительности + отладка по шагам) знал, но чтобы вместе - не думал. Только вот код чаще всего приходится отлаживать который (А очень долго работает) (Б не работает вообще) - т.е. вылетает с ошибкой. Методика уже не прокатит. И наконец, последний гвоздь: все чаще ошибки кроются в запросах. Так, например, некорректно определяется сумма при перемещении из розницы обратно на оптовый склад в УНФ. Ошибку то удалось найти, но сколько это заняло времени... Вот если бы кто предложил методику отладки пакетных запросов по частям - было бы супер.
28. АлексейН 2 16.12.11 11:35 Сейчас в теме
Возмем на вооружение, молодец, за идею +
29. Maks_Payn 17.12.11 13:46 Сейчас в теме
Очень интересно и позновательно! Молодец! Спасибо! ))
30. ogeniv 18.12.11 11:05 Сейчас в теме
Интересно, надо будет попробовать
31. пользователь 18.12.11 15:24
Сообщение было скрыто модератором.
...
32. Veduin 19.12.11 05:06 Сейчас в теме
Может будет практично! попробуем!
33. and_r 19.12.11 06:29 Сейчас в теме
Попробовал, плюсов не заметил, но, думаю, найдутся задачи и под это решение! Спасибо!
34. Mopcuk 20.12.11 06:19 Сейчас в теме
Сейчас попробуем!
38. extremehelp 20.12.11 22:57 Сейчас в теме
Спасибо очень помогло
39. t_dima 23.12.11 14:50 Сейчас в теме
Трудно конечно дедушку переучить от того к чему он привык давным давно :)
Как говорится: век живи - век учись!
40. Pashikuss 28.12.11 10:16 Сейчас в теме
Тоже пользуюсь этой штукой
41. magrib 29.12.11 14:36 Сейчас в теме
Очень полезно. Ждем от автора новых публикаций. Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)))))
42. Hantinka 04.01.12 19:21 Сейчас в теме
Очень полезная статья. Спасибо!
43. ipyu 04.01.12 21:59 Сейчас в теме
Спасибо. Буду знать.
44. пользователь 08.01.12 22:24
Сообщение было скрыто модератором.
...
45. sdwggg2 13.01.12 13:50 Сейчас в теме
узнал кое что новое
46. BalVlad 17.01.12 09:48 Сейчас в теме
47. пользователь 17.01.12 09:59
Сообщение было скрыто модератором.
...
48. econom1 28 30.01.12 18:29 Сейчас в теме
я вообще в восторге от запуска замера без точек останова
недавно начал работать с 8 после 7, и неоднократно тратил кучу времени например, чтоб найти откуда беруться движения у документа, формирование которых не ловилось отладчиком в обработке проведения. бывало все пройдешь - нет нигде, движения смотрим, а они есть. домовой блин завелся. не знал тогда, что в 8 есть подписки на события.
вот теперь заживем! спасибо!
49. Гость 07.02.12 20:50
Очень хороший файлик... сэкономил время!!! очень помогло...
надо было срочно и тут как раз мне в помощь.
спасибо автору
50. commo 10.02.12 14:49 Сейчас в теме
51. Nickon 22.03.12 00:41 Сейчас в теме
Идея в работе неплохая. надо все проверить лично. На практике так сказать.
Спасибо +
52. zachs 5 13.04.12 10:25 Сейчас в теме
Отличная статья! Надо тренироваться...
53. ipyu 23.06.12 08:21 Сейчас в теме
Спасибо, идея на 5.
54. TrinitronOTV 16 27.11.12 10:37 Сейчас в теме
большое спасибо, очень пригодиться в работе
55. Lik2707 05.12.12 05:22 Сейчас в теме
Да, интересная фишка, обязательно надо попробовать :)
Несомненно плюс!
57. adhocprog 1129 05.12.12 09:41 Сейчас в теме
56. musatov1c.ru 6 05.12.12 08:38 Сейчас в теме
Да, весьма любопытно. Оставляю на заметку. Автору большое спасибо :)
58. DoctorRoza 05.12.12 10:44 Сейчас в теме
Возьму на вооружение!
59. user199589 05.12.12 12:23 Сейчас в теме
Спасибо большое! Буду пользоваться!
60. ander_ 06.12.12 08:07 Сейчас в теме
спасибо! в "копилку".
61. CaSH_2004 376 08.12.12 17:51 Сейчас в теме
Странно, но народ не в курсе. Тогда наверно механизм стека вызовов вообще будет шоком для многих :)
62. tolik_byr 08.12.12 21:58 Сейчас в теме
АГа, на моей практике есть "программисты" для которых стек вызовов - это новое открытие в области программирования! )))
63. ARL 317 25.01.13 11:14 Сейчас в теме
Описанный метод - такой простой и такой эффективный помощник, просто супер! Конечно, он эффективен, когда в коде используется большое количество процедур и функций, например, в громоздкой обработке. Срезу видишь - где "прошлась" отлаживаемая задача. И как результат - тут же определяешь - где надо исправлять.
64. namazi74 5 17.07.13 15:29 Сейчас в теме
спасибо! побольше бы таких статей!
65. kruglay 112 19.07.13 14:04 Сейчас в теме
66. ssa 16.10.13 22:20 Сейчас в теме
67. denis_aka_wolf 80 31.03.14 10:21 Сейчас в теме
А в чем тут хитрость??? нечего нового не сказал...
68. adhocprog 1129 31.03.14 15:19 Сейчас в теме
Хитрость в том, что это существенно облегчает отладку.
Далеко не все это знают.
69. denis_aka_wolf 80 01.04.14 08:41 Сейчас в теме
Думаю не делают так только новички. Нормальный разработчик использует различные инструменты для отладки. И точки остановок с условиями и табло и стек вызовов и замер производительности. Код должен работать точнее часов ))) без багов, утечек памяти и с высокой производительностью.
Иваныч; +1 1 Ответить
70. adhocprog 1129 01.04.14 11:17 Сейчас в теме
(69) >> Думаю не делают так только новички
В целом да, но.
Я тоже бы так думал, если бы не показывал это программистам. Далеко не новичкам, далеко не слабым.
71. Иваныч 24 15.05.14 18:30 Сейчас в теме
72. daryz 01.08.14 08:59 Сейчас в теме
Полезно, спасибо!
73. bashirov.rs 32 04.09.14 09:01 Сейчас в теме
Спасибо за рекомендации! Беру в вооружение!
adhocprog; +1 Ответить
74. olgabel 47 23.01.20 13:32 Сейчас в теме
Спасибо, очень пригодилось. Отличная статья!
adhocprog; +1 Ответить
Для отправки сообщения требуется регистрация/авторизация