Путеводитель по конфигурации - способ создания закладок в текстах программных модулей

20.10.17

Разработка - Инструментарий разработчика

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

   Анализируя какой нибудь сложный механизм, мы, следуя за курсором отладчика и проходя десятки программных модулей, устанавливаем точки останова во всех потенциально "нужных" местах. Далее, в очередной раз запуская отладку, программа останавливается в установленных нами точках и некоторые из них становятся не нужны - мы их убираем (выключаем) либо непосредственно в модуле, либо через список точек останова, оставляя только те точки, в которых происходит судьбоносное для решаемой задачи преобразование.
   Точки останова являются помимо своего основного предназначения - останавливать процесс, еще и закладками. Перемещаться между ними мы можем через список точек останова (на всякий случай: "Отладка" - "Список точек останова" - "Кнопка перейти к исходному коду"). А чтобы понимать, какая точка к какой задаче относится, я предлагаю использовать выявленную особенность точки останова с условием. А именно - возможность в условии писать комментарий, который не мешает работе точки останова (созданное таким образом условие всегда истинно). Далее, используя список точек останова, можно быстро искать нужную точку в списке точек, включать или выключать ее активность, одним нажатием кнопки "Перейти к исходному коду" быстро переходить к точке (отрывается нужный модуль и курсор позиционируется на точке). Надеюсь, данная особенность сделает вашу работу немного удобней. Если мы хотим использовать точку только как закладку, можно ее отключить - либо непосредственно в модуле, щелкнув правой кнопкой и выбрав "Отключить точку останова", либо в списке точек останова - сняв флажок. К сожалению, поиск по комментариям в списке точек останова отсутствует.  Смотрите рисунок ниже. Хорошего кода!

20.10.2017

С момента публикации в платформе произошли изменения - появилась возможность сохранения списка точек останова в файл:

 

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

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

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

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    68754    365    164    

315

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    259233    1430    421    

1165

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38354    107    46    

122

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    55532    111    29    

123

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

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

17000 руб.

10.11.2023    25345    93    46    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3767    13    1    

16

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

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки. 1.3.11 Доработан механизм контекстной подсказки по метаданным

9500 руб.

17.05.2024    53003    182    63    

216
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. headMade 144 17.03.13 01:02 Сейчас в теме
"Всем известно, что для создания закладок в программном модуле есть специальный механизм."

Что это такой за "типовой механиз" подскажите?
2. Romkin25 17.03.13 02:35 Сейчас в теме
Гы.
Оригинально.
Правда моя рука хронически тянется к "Убрать все точки останова"
3. orefkov 1158 17.03.13 09:23 Сейчас в теме
Люблю нестандартные подходы. Оригинально.
А будет ли ругаться на условия вида
Ложь // комментарий
ну это если закладка нужна, но останавливаться не надо.
Student1C; anchovy; mtv:); Niberu; TSSV; +5 Ответить
5. juntatalor 63 17.03.13 10:35 Сейчас в теме
(3) orefkov, если там будет только комментарий, то остановиться не должно
8. TSSV 1162 17.03.13 12:25 Сейчас в теме
(5) juntatalor,
если там будет только комментарий, то остановиться не должно


остановится - смотрите рисунок - как раз этот случай.
7. TSSV 1162 17.03.13 11:25 Сейчас в теме
(3) orefkov, Чтобы использовать точку только как закладку,оставив только комментарий, Вы можете отключить точку останова или в списке точек, убрав флажок, или в модуле щелкнув по точке правой кнопкой - Отключить точку останова. Точка в модуле будет серая, а в списке без флажка - очень удобно по моему. Комментарий тоже можно редактировать и в списке и в модуле - ну это я на всякий случай вдруг кто забыл ))
34. JohnyDeath 302 03.04.13 21:46 Сейчас в теме
(3), (11) а я как раз хочу написать скрипт для снегопата со схожим функционалом. Для этого, собственно, и спрашивал всех о способе отладке скриптов. Помимо "внешних" комментариев к участкам кода (а не к одной строке) хочу прикрутить эдакий ToDo-list и сделать выделение таких блоков цветом или метками в левой панели средствами SciColorer-а, если это вообще возможно.
В общем такие вот идеи. Но как всегда 24 часа в сутках катастрофически не хватает.
4. AnryMc 851 17.03.13 10:18 Сейчас в теме
(0) Нестандартно.

Теперь прийдется "переучиваться" как и (2)
6. AnryMc 851 17.03.13 11:03 Сейчас в теме
А можно добавить, например, свою константу "ОстанавливатьсяНаМоихМетках"=Булево и сделать условие по ней...
9. pumbaE 18.03.13 00:21 Сейчас в теме
А разве список точек останова сохраняется после перезапуска конфигуратора?
10. Serj1C 484 18.03.13 08:04 Сейчас в теме
(9) pumbaE, Да, если он корректно закрыт
pvlunegov; +1 Ответить
11. Модератор раздела 18.03.13 20:27 Сейчас в теме
Одно не понял - это скрипт для Снегопата все-таки или нет? :)
Если да, почему в названии нет слова Снегопат.
Если нет, что за странное описание :)
12. MarSeN 987 18.03.13 21:33 Сейчас в теме
(11) artbear
На сколько я понял полностью типовой функционал с некоторыми хитростями )
13. KliMich 18.03.13 23:40 Сейчас в теме
Спасибо за оригинальный подход!
pvlunegov; +1 Ответить
14. TSSV 1162 19.03.13 08:57 Сейчас в теме
(13) KliMich, Спасибо за поддержку!
15. RustIG 1954 19.03.13 10:22 Сейчас в теме
Поддержу автора!
Когда только начинал программировать, постоянно старался оптимизировать процесс программирования. В этом ключе создал даже обработку для быстрого поиска шаблонов кода(есть у меня в статьях), до сих пор ее использую.
Также додумался использовать точки останова в качестве меток кода, который надо отладить.
Перестал запускать отладку после каждого изменения кода, кодировал в нескольких модулях в разных местах программы, после этого запускал отладку. Забывал уже в каком месте внес изменения, и где и что нужно протестировать. Открывал список точек останова, начинал тестировать.
17. AlexO 136 19.03.13 15:40 Сейчас в теме
(15) Rustig,
Перестал запускать отладку после каждого изменения кода

...а потом днями искал, где же ошибка... :)
(9) pumbaE,
А разве список точек останова сохраняется после перезапуска конфигуратора?

или после перезапуска, или еще как - но точки останова сбрасываются. И привет закладочкам, делаем все заново..
В общем, очередная попытка сделать хорошую мину при плохой игре.. причем игру режиссируют другие...
anchovy; servs; +2 Ответить
18. TSSV 1162 19.03.13 15:56 Сейчас в теме
(17) AlexO, А вот и самый умный ) Уважаемый AlexO,
И привет закладочкам, делаем все заново..


вы не правы - ничего не слетает, это неправда. Кстати где хранятся данные закладок - можете на досуге изучить этот вопрос, и вам наконец то будет что сказать по делу (дарю идею).
21. AlexO 136 19.03.13 16:05 Сейчас в теме
(18) Tsaregorodtsev,
ничего не слетает, это неправда

значит, у нас конфигураторы разные. С хранением.
22. AnryMc 851 19.03.13 16:26 Сейчас в теме
(21) AlexO,
значит, у нас конфигураторы разные. С хранением.


Давайте уточним. Я пробовал на файловых базах, версии 8.2.14 - 8,2,17 при выключении Виндовс "кеш" не чиститься. ;-)

Всё сохраняется
pvlunegov; +1 Ответить
20. AnryMc 851 19.03.13 16:04 Сейчас в теме
(17) AlexO,

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


А зайти в конфигуратор и попробовать - "слабо"?

Лично у меня 8.2.14 - 8,2,17 не исчезают даже после презагрузки Виндовс
23. AlexO 136 19.03.13 16:31 Сейчас в теме
(20) AnryMc,
все, все, сейчас набегут..
знаю-знаю, что у тру-1сников 1с работает настолько чОтко, что они в конфигоуратор заглядывают только по большим праздникам и то выгрузить архив :))
19. AlexO 136 19.03.13 16:04 Сейчас в теме
(15) Rustig,
В этом ключе создал даже обработку для быстрого поиска шаблонов кода(есть у меня в статьях)

Там используется механизм шаблонов .ST, как таковой обработки нет.
Самый корректный вариант закладок - это ставить название и ключевое слово.
Вести текстовый файл-содержание.
Все. Все проблемы будут решены.
Остальное все - это попытки использовать средства, не предназначенных для гуманоидов, руками человека :)
16. RG84 19.03.13 11:00 Сейчас в теме
спасибо, интересная идея. возьму себе на заметку)))
24. pumbaE 19.03.13 17:19 Сейчас в теме
Справедливости ради - у меня тоже не запоминает точки останова, я грешил на снегопат. Вечером проверю.
25. mec 20.03.13 11:00 Сейчас в теме
Довольно интересный и оригинальный способ. Проверил, у меня тоже все работает и сохраняет настройки на 8.2.16.
Автору спасибо за совет :)
26. VasMart 21.03.13 10:21 Сейчас в теме
Кнопка убрать "все точки останова", для меня ценнее. Но метод интересный.
27. bulpi 218 21.03.13 12:44 Сейчас в теме
А что, у кого-то не сохраняются точки останова при перезапуске конфигуратора? У нас точно одна и та же 1с стоит ? Всегда сохранялись, на любых релизах, файловая и sql.
28. alexsey777 23.03.13 14:37 Сейчас в теме
Не знал. Автору спасибо
29. Юрий ЛЛ 23.03.13 20:03 Сейчас в теме
хорошая статья.
жаль окошко со списком точек останова надо закрывать и открывать постоянно.
а не встречал кто, такое же решение, но чтобы окошко было самостоятельным?
30. Artemuch2 24.03.13 20:38 Сейчас в теме
Да прикольно так! попробую при отладке
31. echo77 1938 27.03.13 12:20 Сейчас в теме
Надо бы взять на заметку, попробовать
32. servs 66 27.03.13 12:24 Сейчас в теме
Настройки конфигуратора слетают чаще, чем не слетают.
Поэтому статью можно будет считать полезной, когда разработчики платформы исправят свою ошибку.
А так, для общего развития, новичкам пригодится.
33. sbv2005 348 01.04.13 15:24 Сейчас в теме
От безысходности идея с точками останова. Нужны просто закладки-метки. Типа "Куплет", "Припев" и т.д. )) Но сие зависит целиком от 1С. Вот управляемыми формы сделали, а редактор кода управляемым - забыли ))
35. randa 88 27.09.13 10:10 Сейчас в теме
Однозначно плюс!

Очень пригодиться когда приходиться часто отлаживать один и тот же механизм.
Например обмен с сайтом в УТ11. Куча процедур вложенных и каждый раз ищешь нужный кусок кода. Отличное решение!
37. AlexO 136 12.01.15 12:08 Сейчас в теме
(35) randa,
Очень пригодиться когда приходиться часто отлаживать один и тот же механизм.

Документацию на свои механизмы не пробовали писать?
(36) ger_kar,
Удобства работы прибавилось
до первого раза потери ТО.
А потом - такие удобства наступят...
36. ger_kar 12.01.15 06:48 Сейчас в теме
Наткнулся на статью случайно, решил опробовать способ...
Опробовал, все работает, как описал автор. После перезапуска конфигуратора и даже виндов, все отлично сохраняется и остается в том виде, в котором было создано. Удобства работы прибавилось, автору однозначный плюс и спасибо :)
Для отправки сообщения требуется регистрация/авторизация