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

20.10.17

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

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

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

20.10.2017

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

 

См. также

SALE! 20%

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

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122171    670    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7294    21    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3541    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177753    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99347    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18116    6    8    

39

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28110    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23604    15    15    

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

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


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

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

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

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


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

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


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

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

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


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

Лично у меня 8.2.14 - 8,2,17 не исчезают даже после презагрузки Виндовс
23. AlexO 135 19.03.13 16:31 Сейчас в теме
(20) AnryMc,
все, все, сейчас набегут..
знаю-знаю, что у тру-1сников 1с работает настолько чОтко, что они в конфигоуратор заглядывают только по большим праздникам и то выгрузить архив :))
19. AlexO 135 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 215 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 1868 27.03.13 12:20 Сейчас в теме
Надо бы взять на заметку, попробовать
32. servs 65 27.03.13 12:24 Сейчас в теме
Настройки конфигуратора слетают чаще, чем не слетают.
Поэтому статью можно будет считать полезной, когда разработчики платформы исправят свою ошибку.
А так, для общего развития, новичкам пригодится.
33. sbv2005 347 01.04.13 15:24 Сейчас в теме
От безысходности идея с точками останова. Нужны просто закладки-метки. Типа "Куплет", "Припев" и т.д. )) Но сие зависит целиком от 1С. Вот управляемыми формы сделали, а редактор кода управляемым - забыли ))
35. randa 87 27.09.13 10:10 Сейчас в теме
Однозначно плюс!

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

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