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

03.12.12

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

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

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

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

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

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

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

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

См. также

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

Как за вечер проверить, годится ли локальная модель для поиска ошибок в вашем коде 1С, и не обмануть себя по дороге. Разбираю замер Qwen2.5-Coder 1.5B, 3B и 7B на коде с заранее известными дефектами: почему полноту и шум надо считать раздельно, как 3B набирает высокий балл, вообще не читая код, сколько минут уходит на боевую процедуру на процессоре и на GTX 1650, и чем кончилась попытка подложить модели справку по методам платформы.

16.09.2026    838    nedomolkov.ivan    4    

1

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

Железо перестало быть проблемой, и качество ответов немедленно встало в потолок. Дальше пошли три улучшения, каждое из которых выглядело очевидно правильным: свой справочник стандартов, код процедур в поисковом индексе и переписывание вопроса отдельной моделью. Первое работало, но стоило пятнадцать тысяч токенов в каждом запросе. Второе уронило находимость на двадцать процентов. Третье уронило качество с 0,864 до 0,782 и растянуло прогон с 88 секунд до 302. Рассказываю, чем я это померил, почему на глаз ни одно ухудшение не видно и почему добавление правдивой информации регулярно делает поиск хуже.

14.09.2026    416    solbol    0    

2

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

Продолжение статьи «BSL Language Server внутри 1С:EDT: коннектор, которого не хватало». Там мы научили EDT видеть расширенную диагностику BSLLS, а здесь замкнем контур: научим ИИ-агентов автоматически исправлять эти ошибки строго по официальным стандартам разработки 1С.

02.09.2026    1655    malikov_pro    2    

6

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

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

01.09.2026    1767    nedomolkov.ivan    6    

2

Инструментарий разработчика Нейросети Рефакторинг и качество кода Программист 1С 8.3 Абонемент ($m)

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

10 стартмани

01.09.2026    734    1    nedomolkov.ivan    5    

1

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

Рассказываю, как подключить к языковым моделям (в Cursor, VS Code, Claude Code) настоящий Синтакс-помощник 1С - со всеми типами, методами, параметрами, примерами кода, контекстами вызова и версиями платформы. Без ручного парсинга HTML: плагин для 1C:EDT в один клик выгружает официальную справку в Docker-контейнер с MCP-сервером и гибридным поиском (FTS5 + векторный индекс).

01.09.2026    1529    malikov_pro    6    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AnryMc 851 12.12.11 11:25 Сейчас в теме
(0) А как понять порядок выполнения? Производительность дает только, что "выполнилось за время"
2. Поручик 4611 12.12.11 11:53 Сейчас в теме
(1) Это типа для новичков и плюс неполный список публикаций по теме. (0) Про тестирование и отладку печатных форм забыл.
5. saiten 253 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 1984 14.12.11 13:03 Сейчас в теме
14. fomix 33 14.12.11 13:13 Сейчас в теме
(13) Rustig, Кажется я скачал ее c сайта автора - fixin.narod.ru. Но могу и ошибаться по URL. Он там много чего полезного выкладывает бесплатно. Если там не найдешь пришли в личку мыло -скину
16. fixin 4346 14.12.11 14:57 Сейчас в теме
(12) гы, скоро я ее тут размещу. По просьбам трудящихся. Следите за развитием событий.
15. Sergoninfostarru 2 14.12.11 14:13 Сейчас в теме
Прекрасный метод отслеживания использования процедур как в контексте документа, так и общих модулей. Но пошаговую отладку не отменяет : по этому методу можна только видеть какая процедура и сколько раз используется, а вот последовательность исполнения тут не увидишь. А отладка то и начинается с поиска ошибки, поэтому до выполнения определенных процедур может и не дойти !!!
17. fixin 4346 14.12.11 14:58 Сейчас в теме
(15) а вы знаете, как в 1С сделать трассировку отдельной строки с помощью условной точки останова? Думаете это невозможно? ;-)
19. fomix 33 14.12.11 21:46 Сейчас в теме
22. fixin 4346 14.12.11 23:14 Сейчас в теме
(19) скоро, очень скоро, пока на моем сайте ищите, я ведь недавно вернулся на ИС. Скоро все это счастие, мои шедевры будут тут. ;-)
35. Збянтэжаны Саўка 245 20.12.11 15:39 Сейчас в теме
(22) fixin, дай здесь URL своего сайта, интересно же глянуть, что там у тебя есть
36. fixin 4346 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 1185 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 1185 31.03.14 15:19 Сейчас в теме
Хитрость в том, что это существенно облегчает отладку.
Далеко не все это знают.
69. denis_aka_wolf 80 01.04.14 08:41 Сейчас в теме
Думаю не делают так только новички. Нормальный разработчик использует различные инструменты для отладки. И точки остановок с условиями и табло и стек вызовов и замер производительности. Код должен работать точнее часов ))) без багов, утечек памяти и с высокой производительностью.
Иваныч; +1 1 Ответить
70. adhocprog 1185 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 Ответить
Для отправки сообщения требуется регистрация/авторизация