С развитием технологий в программе 1С 8 назрела необходимость (о чём ниже) в значительной переработке процедуры отладки. Это отразилось в версии 8.3.7.1759. Во-первых, был создан для этой процедуры универсальный интерфейс, а во-вторых, таким изменением обеспечивается дальнейшее развитие самой программы. Ведь теперь с отладкой можно работать не только через Конфигуратор, но и с помощью Development Tools. Рассмотрим, как включить отладку на сервере 1С начиная с новой версии.
Содержание
Цели создания нового отладчика
Использование нового протокола
Предыдущий отладчик, который был реализован в предыдущих версиях,осуществлял управление клиентскими и серверными приложениями с помощью протокола TCP/IP.
В настоящее время использование такого протокола стало ограничивать выход программы 1С:Предприятие в интернет и порождало неудобства для работы мобильных приложений.
Поэтому для свободного доступа к информационным базам, которые могут находиться за пределами локальной сетки, теперь принят к использованию гибкий протокол HTTP.
Новая архитектура
Ранее, осуществляя конфигураторные отладки, сотрудник должен был подключаться к информационной базе. Для этого требовалось наделить его правами администратора.
В новой версии в прямом соединении с базами нет необходимости — достаточно просто обладать такой же базой, как у клиента. А загрузить её можно из файла.
Мобильные приложения
По протоколу HTTP теперь имеется возможность отлаживать и серверные данные, и клиентские, и приложения.
Другие изменения
С новой версией в отладочной процедуре доступно изменение значений для локальных переменных, — для этой цели реализовано новое окно быстрого просмотра.
Режим вычислений изменён на асинхронный, позволяющий продолжать работу не дожидаясь результатов.
Отладчик в Development Tools
Взаимодействие с новой процедурой выполнено в специально разработанном универсальном программном интерфейсе. С одной стороны, этот интерфейс используется Конфигуратором. С другой стороны — он внедрён в новую среду 1C:Enterprise Development Tools.
Как это выглядит теперь
После изменения программы процедура происходит по следующему сценарию:
Теперь в ней участвуют не только отладчик и предметы, как это было ранее. Теперь в цепочку введён дополнительный элемент — Server.
Мало того, что он добавлен — он служит основным элементом обмена информацией между отладчиком и предметами. А сам обмен происходит посредством выстраиваемых в очередь сообщений.
А поскольку обмен этот проводится через протокол HTTP, то теперь не имеет значения, где именно могут быть расположены данные.
Обращения к серверу формируются со стороны отладчика и предметов в форме дополнительных запросов-соединений. При появлении таковых — им направляются соответствующие ответы.
Включение отладки при разных сценариях
Для прикладного разработчика не произошло никаких изменений. Значительное отличие состоит в том, что новый механизм требуется включать. Ведь по умолчанию он теперь отключён.
Рассмотрим, что же происходит при запуске режима если мы выбираем один из двух сценариев.
Файловый сценарий
В начале файлового варианта необходимо в конфигураторных настройках указать использование нового механизма — «Отладка по протоколу HTTP».
Тогда со стороны Конфигуратора будет автоматически предложено использовать локальный сервер. Это условие нужно принять и заново запустить программу в режиме Конфигуратора.
После этого вновь запущенный Конфигуратор при следующем сеансе сохранит избранный нами новый способ. Но для той же информационной базы. Поэтому при обращении к другой инфобазе его также требуется включить.
Включённый механизм теперь автоматически будет запускать Сервер отладчика, который представляет собой специальное приложение dbgs.exe. Отражается оно в окне Диспетчера задач.
Значение параметра ownerPID будет соответствовать идентификатору приложения, которое привязано к нему.
При запуске отладочного сеанса через Конфигуратор — серверное подключение произойдёт автоматически. А в нём отразятся подключённые предметы.
Если же программа 1С была активирована без нового механизма, то включить отладку на сервере 1С нужно будет вручную. Только теперь нужно будет указывать серверный адрес:
Он находится в настройках предметов:
При использовании файлового сценария с несколькими базами одновременно нужно учесть важный нюанс, — каждый из Конфигураторов (с включённым механизмом по HTTP) отправляет свой Сервер:
Поэтому если открыто несколько Конфигураторов, то для подключения Клиента нужно указать верный из них.
Клиент-серверный сценарий
Отладка на сервере 1С по клиент-серверному сценарию, как и в предыдущем случае, начинается запуском режима. Здесь указывается использование нового механизма HTTP. Делается это таким образом:
ragent.exe -debug -http
При его запуске автоматически стартует за ним и отладчик.
Значение параметра ownerPID будет соответствовать идентификационному номеру менеджера кластера 1С.
Далее в конфигураторных настройках указывается использование нового отладочного механизма — «Отладчик попротоколу HTTP».
Программой будет сформировано предложение использовать теперь отладочный сервер кластера (а не локальный как в предыдущем сценарии). Соглашаемся и перезапускаем его.
В дальнейшем всё будет проходить подобно файловому сценарию. Только при запуске Конфигуратора серверной базы локальный сервер-отладчик уже не будет запускаться.
Надеемся, что наша публикация помогла вам разобраться с проблемой, как включить отладку на сервере 1С.
Задавайте вопросы, делитесь своим опытом, оставляйте комментарии.