Эта статья рассказывает о том, как включить отладку на сервере 1С 8.1, 8.2 и 8.3 в операционных системах Windows и Ubuntu.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
- Как включить отладку на сервере 1С
- Отладка по протоколам HTTP и TCP/IP в 1С
- Инструменты отладки в 1С
- Отладка в 1С
- Включаем отладку на сервере 1С в Windows
- Включаем отладку по протоколу HTTP на сервере
- Включаем отладку на сервере 1С в Ubuntu
- Действующие акции
- Как запустить сервер 1С в режиме отладки правильно?
- Самый простой способ проверки работы режима отладки 1С на сервере
- Как это сделать на платформе 8
- Когда не получается в версиях 8. 2/3
- Готовые решения для всех направлений
- Производим запуск в Windows
- По протоколу HTTP
- Как запустить сервер 1С в режиме отладки на Ubuntu
- Как запустить правильно
- Определить корректность
- Функции и параметры запуска режима отладки 1С 8. 3 и остальных версий
- Табло
- Второй инструмент – «Вычисление выражений».
- Ключ отладки на сервере 1С
- Заключение
- Включение режима отладки на сервере 1С
- Функции отладки 1С
- 1С отладка на сервере и ее запуск в версиях платформы 8. 1, 8. 2 и 8
- Включение режима отладки на сервере для платформы 1С версии 8. 2 и выше
- Включение режима отладки на сервере
- Точки останова
- Управление отладкой
- Окна, табло и стек вызова
- Окно «Выражение» (Shift+F9)
- Табло (Ctrl+Alt+W)
- Окно «Локальные переменные»
- Изменение значения переменной
- Стек вызова
- Замер производительности
- Результаты замера
- Имитация задержек при вызове сервера
- Предмет отладки
- Выбор протокола отладки
- Подключение предметов отладки
- Протокол отладки HTTP
- Сервер отладки
- Подключение предметов отладки
Включаем отладку на сервере 1С в Windows
Запускаем редактор реестра, выполнив команду regedit
(при помощи Win+R или Пуск->Выполнить).
Затем, в редакторе реестра открываем:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent (x86-64)
Для версий 8.1 и 8.2 делаем тоже самое, только последняя часть пути будет отличаться в зависимости от версии сервера.
После этого в параметре ImagePath (подчеркнут на картинке сверху) добавляем -debug, например было:
"C:\Program Files\1cv8\8.3.8.2197\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
"C:\Program Files\1cv8\8.3.8.2197\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
И наконец, перезапускаем службу «Агент сервера 1С:Предприятия 8.3 (x86-64)» (названием может отличаться в зависимости от версии сервера).
Готово — теперь отладка на сервере 1С должна заработать.
Включаем отладку по протоколу HTTP на сервере
Описанные выше операции позволяют включить отладку на сервере по протоколу TCP/IP (это вариант по умолчанию) и в подавляющем большинстве случаев это как раз то, что нужно.
Если же требуется отладка по протоколу HTTP, то нужно сделать все тоже самое, только параметр ImagePath в реестре будет выглядеть по другому.
Если сервер отладки будет запускаться кластером серверов, то к ImagePath нужно добавить -http, например:
"C:\Program Files\1cv8\8.3.13.1513\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http
Если используется удаленный сервер отладки, то нужно дополнительно указать адрес этого сервера, порт и пароль (если требуется) добавляя соответствующие параметры — -debugServerAddr, -debugServerPort и -debugServerPwd, например:
"C:\Program Files\1cv8\8.3.13.1513\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug -http -debugServerAddr 192.168.0.170 -debugServerPort 4000
Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7.
Подробнее об отладке по протоколу HTTP и о сервере отладки можно прочитать в следующей статье серии.
Включаем отладку на сервере 1С в Ubuntu
В начале становим сервер:
sudo service srv1cv83 stop
После этого открываем от имени суперпользователя файл /etc/init.d/srv1cv83
и находим в нем строку:
И приводим ее к такому виду:
Затем запускаем сервер вновь:
sudo service srv1cv83 start
В конфигураторе на клиентской машине идем в «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» и включаем два пункта:
- «Устанавливать режим разрешения отладки»
- «Начинать отладку при запуске»
Выдержка из документа «Клиент-серверный вариант. Руководство администратора»
Запуск кластера серверов в режиме отладки конфигураций. Параметр <режим> указывает, с использованием какого протокола будет функционировать отладчик на данном кластере серверов:
- -tcp
‑ протокол TCP/IP;- -http
‑ протокол HTTP.
ВАЖНО!
Выдержка взята с сайта its.1c.ru.
Думаю, мало кому из нас этого будет достаточно, чтобы без дополнительных источников информации и знаний запустить 1С в режиме отладки.
1С в серверном варианте требует комплексного подхода, который достигается наличием достаточных компетенций у специалистов из разных направлений – программист 1С, системный администратор, администратор баз данных.
И когда речь уже заходит об отладке приложения, универсальные солдаты «тыжсисадмин» и «тыжпрограммист» уже не актуальны. На данном уровне навыки для системного администратора и программиста 1С сильно разнятся и совмещать их, оставаясь профессионалом с большой буквы «П», уже невозможно.
Действующие акции
Как запустить сервер 1С в режиме отладки правильно?
По умолчанию служба агента сервера 1С запускается без режима отладки, так как он уменьшает скорость работы в программе.
Есть несколько вариантов, но рассмотрим самый ходовой – изменение значения параметра реестра Windows.
- Открываем реестр на сервере, где установлен сервер 1С.
- Переходи по следующему пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64)
Имя раздела может отличаться в зависимости от версии сервера 1С – 8.2 / 8.1 или его архитектуры – 32 / 64 битный.
- Здесь нас интересует параметр ImagePath, а точнее его значение, которое и надо дополнить ключом «debug».
ПРИМЕЧАНИЕ!
В разных статьях указаны различные варианты запуска режима отладки и это может ввести в заблуждение. Ключ «debug» можно добавлять в любое место после «C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe» и использовать как знак «-», так и «/».Например, будут одинаково работать:
"C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -debug
"C:\Program Files\1cv8\8.3.13.1644\bin\ragent.exe" /debug -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
Первый вариант смотрится предпочтительней.
На выходе должно получиться следующее:
- Перезапускаем службу «Агент сервера 1С:Предприятия 8.3 (x86-64)».
Самый простой способ проверки работы режима отладки 1С на сервере
Если платформа 1С для проведения отладки будет запускаться не на сервере 1С, на стороне клиента должны быть открыты TCP и UDP порты для диапазона 1560-1591.
На стороне сервера должны быть открыты TCP порты 1540, 1541, 1560-1591.
ПРИМЕЧАНИЕ! Эти порты устанавливаются по умолчанию, если вы их меняли, то в фаерволе надо будет открыть новые.
Проверяем работу отладчика:
- Запускаем конфигуратор.
- Заходим в меню «Отладка» — «Начать отладку» или нажимаем клавишу «F5». Запустится платформа 1С в режиме предприятия.
- Не закрывая 1С предприятие, переходим в меню «Отладка» — «Подключение…».
Если столбец «Тип» заполнен значением «Сервер», то всё работает. Идём писать письмо программисту 1С.
ПРИМЕЧАНИЕ!
Если сервер и клиент – не один сервер, ставим галочку «Искать предметы отладки на удаленном компьютере»: и указываем сервер 1С.
В блоке «Доступные предметы отладки:» столбец «Тип» должен быть заполнен значением «Сервер». Если у вас так, то всё работает.
Арендуя сервер для 1С в компании МАРС Телеком, вы всегда сможете получить помощь наших технических специалистов по этому и другим вопросам.
Многие начинающие предприниматели испытывают трудности с настройкой специализированного программного обеспечения. В частности, возникает вопрос по 1С: как включить режим отладки на 1C сервере предприятия. В этой статье пойдет речь о том, как именно можно осуществить эту процедуру.
Это необходимо для самостоятельной разработки конфигураций любой сложности. Использование указанного режима дает программисту возможность выявить уже существующие ошибки в работе, а также определить потенциально слабые места и возможные угрозы.
Как это сделать на платформе 8
На самом деле, процесс схож на разных версиях. Отличия только в деталях, которым и посвящен этот раздел.
Алгоритм состоит из следующих несложных шагов:
- Отключаем сервис Enterprise Server Agent.
- Открываем редактор реестра системы. Чтобы это проделать, требуется активировать знакомую всем комбинацию «Win + R». Альтернативный вариант – через меню Пуск.
- В возникшем окне вводим слово «regedit», как обозначено на скриншоте. Важно помнить, что кавычки не используются.
- После необходимо увидеть такой путь: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent].
- Отыскиваем строку с названием «ImagePath» и корректируем ее, плюсуя к ней «-debug». Чтобы это осуществить, необходимо кликнуть по ней правой кнопкой мыши и нажать «Изменить».
- Запускаем упомянутую выше службу.
По окончании выполнения этой операции отладка в серверном режиме 1С должна начать действовать.
Когда не получается в версиях 8. 2/3
Здесь алгоритм практически полностью идентичный предыдущему, за исключением небольших деталей. По инструкции, приведенной ниже, можно решить проблему.
Дабы устранить неполадку, нужно проделать такое:
- Прекращаем действие Enterprise Server Agent.
- Снова жмем Win + R, вводим слово «regedit».
- Далее берем маршрут [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent].
- Аналогично прошлому разу, отыскиваем «ImagePath», после чего нам важно включить дебаг на сервере 1С. Просто кликаем правой кнопкой, жмем «Изменить» и корректируем его, прописывая «-debug».
- Возобновляем процессы.
Когда запуск осуществился, на экране можно будет увидеть окно. На картинке внизу показаны появившиеся клавиши. С их помощью пользователь может вносить изменения в настройки.
Чтобы использование было максимально результативным, стоит подробно вникнуть в назначение включения отладки на сервере 1С. Об этом речь пойдет в следующих разделах.
Готовые решения для всех направлений
Ускорьте работу сотрудников склада при помощи мобильной автоматизации. Навсегда устраните ошибки при приёмке, отгрузке, инвентаризации и перемещении товара.
Мобильность, точность и скорость пересчёта товара в торговом зале и на складе, позволят вам не потерять дни продаж во время проведения инвентаризации и при приёмке товара.
Обязательная маркировка товаров — это возможность для каждой организации на 100% исключить приёмку на свой склад контрафактного товара и отследить цепочку поставок от производителя
Скорость, точность приёмки и отгрузки товаров на складе — краеугольный камень в E-commerce бизнесе. Начни использовать современные, более эффективные мобильные инструменты.
Повысьте точность учета имущества организации, уровень контроля сохранности и перемещения каждой единицы. Мобильный учет снизит вероятность краж и естественных потерь.
Повысьте эффективность деятельности производственного предприятия за счет внедрения мобильной автоматизации для учёта товарно-материальных ценностей.
Первое в России готовое решение для учёта товара по RFID-меткам на каждом из этапов цепочки поставок.
Исключи ошибки сопоставления и считывания акцизных марок алкогольной продукции при помощи мобильных инструментов учёта.
Получение сертифицированного статуса партнёра «Клеверенс» позволит вашей компании выйти на новый уровень решения задач на предприятиях ваших клиентов.
Используй современные мобильные инструменты для проведения инвентаризации товара. Повысь скорость и точность бизнес-процесса.
Производим запуск в Windows
В этой операционной системе воплотить подобное действие нетрудно.
Пошаговое руководство:
- Вызываем окно.
- Прописываем в нем слово «regedit». Получится воспользоваться альтернативным путем, подобно показанному на рисунке.
- Находим путь: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent (x86-64)
- Выбираем «ImagePath» и видоизменяем ее, дописывая к ней «-debug», как на изображении ниже.
- Завершающий шаг – выполняем перезапуск агента.
Когда все пункты были выполнены, то запуск сервера 1С в режиме отладки прошел успешно, и с этого момента все должно быть в порядке.
По протоколу HTTP
Обозначенные в предыдущих разделах методы дают возможность запустить по TCP/IP. Это стандартный вариант, действующий в штатной обстановке. В большинстве ситуаций именно он и нужен для корректного функционирования системы. Однако бывают исключительные случаи, когда требуется открытие в HyperText Transfer Protocol. Это сделать несложно.
Процедура идентична предыдущей, однако все же есть небольшие отличия в алгоритме. Точнее в некоторых его пунктах. Будет иначе выглядеть параметр «ImagePath». Дополнительно к нему необходимо будет добавить «-http».
В случае когда эксплуатируется удаленный сервер, обязательно надо обозначить его адрес, а также порт вместе с паролем в следующем формате: «-debugServerAddr», «-debugServerPort» и «-debugServerPwd».
Как запустить сервер 1С в режиме отладки на Ubuntu
Описанную выше процедуру всегда можно проделать и на этой операционной системе.
Для этого требуется:
- Поставить «sudo service srv1cv83 stop».
- Далее с аккаунта рута запускаем «/etc/init.d/srv1cv83».
- Здесь обнаруживаем «#SRV1CV8_DEBUG=».
- Вносим коррективы, чтобы на выходе иметь «SRV1CV8_DEBUG=1».
- Выполняем перезапуск «sudo service srv1cv83 start».
- Далее движемся по такому пути: «Параметры» – «Запуск 1С:Предприятия» – «Дополнительные».
- В последнем меню активируем значки, которые изображены на скриншоте внизу.
После выполнения всех описанных действий должен включиться нужный режим.
Как запустить правильно
Как уже было сказано ранее, по умолчанию система приложения осуществляет старт без отладки серверных процедур 1С, поскольку происходящие процессы сильно замедляют работу и создают дополнительную нагрузку.
Существует несколько способов это исправить. Некоторые были разобраны в предыдущих пунктах. Здесь же будет подробно описан наиболее распространенный метод. Алгоритм следующий:
- Входим в реестр, ориентируемся на снимок экрана ниже.
- Переходим по указанному маршруту: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.3 Server Agent (x86-64). Стоит учитывать, что имя раздела может немного разниться. Это зависит от модификации: 8.1/8.2. Кроме того, значение имеет разрядность: 32 или 64 бит.
- Далее нужен параметр «ImagePath». Если быть точнее, то не он сам, а его показатель. Его требуется дополнить ключом «debug», как это сделать, наглядно показано на следующем изображении. Важно понимать, что перед ним можно использовать символы как «-», так и «/». Во многих статьях пишут по-разному, поэтому неопытные пользователи могут запутаться.
- По результатам проделанных действий на экране должно отображаться то, что показано на скриншоте.
- Выполняем перезапуск службы «Агент сервера 1С:Предприятия 8.3 (x86-64)».
После завершения процедуры режим успешно активирован. Все, что остается сотруднику, – это проверить правильность его работы.
Иметь дело со специализированным программным обеспечением не всегда просто. Особенно если речь идет о молодом предприятии, в штате которого еще нет программиста.
Лучшее решение в сложившейся ситуации – это обратиться к профессионалам, обладающим достаточным количеством навыков и опытом взаимодействия с подобным ПО.
Определить корректность
Существует простой, но надежный способ проверить стабильность работы выбранного режима. Для этого необходимо настроить фаервол. В нем требуется открыть TCP и UDP порты.
Далее можно приступать к осуществлению проверки. Первый шаг – запуск конфигуратора. Далее следует зайти в соответствующее меню и начать процедуру. Можно также просто нажать кнопку F5 на клавиатуре. Рабочая платформа откроется и будет действовать в режиме предприятия. Не закрывая окно, кликаем на вкладку «Подключение» и ищем ячейку «Тип». Когда в нем указана надпись «Сервер», то все функционирует корректно.
Функции и параметры запуска режима отладки 1С 8. 3 и остальных версий
У описанной в статье опции есть большое количество сильных сторон, которые существенно повышают эффективность и надежность. Основная задача в том, чтобы проверить работоспособность написанного кода.
Чтобы это осуществить, используется инструмент под названием «точка останова» (преднамеренное прерывание выполнения программы, при котором выполняется вызов отладчика). Ее разработчик фиксирует на строке алгоритма. Графу выделяют с помощью мышки и нажимают кнопку (она помечена иконкой в виде красного круга). Другой способ – нажать клавишу F9. В соответствующем разделе есть возможность просмотреть все оставленные метки или оставить условие.
Другая полезная функция запуска 1С с отладкой на сервере носит название «Остановка по ошибке». С ее помощью программист получает возможность останавливаться исключительно в проблемных местах. После того как это произошло, пользователь попадает прямиком в конфигуратор. Там можно использовать остальные функции выбранного режима. Например, двигаться между строчками посредством горячих клавиш. Наиболее значимые и популярные из них выведены в меню.
Дополнительное преимущество – разработчик получает возможность отслеживать значение переменной после каждого выполненного элемента кода. Самый легкий способ – навести на него курсор. Тогда программа в выплывающем окне предоставит необходимую информацию. Но есть более интересный. Если зайти в раздел «Отладка», то открывается доступ к еще двум многофункциональным инструментам.
Табло
Очень удобная опция. Можно следить за происходящими процессами прямо по ходу выполнения алгоритма. Нужно просто перетащить в него интересующие переменные
Второй инструмент – «Вычисление выражений».
Он подходит для моделирования программистом различных ситуаций. К примеру, тот хочет определить, какие данные нужно получить на текущем ходе. Пользователь может прописывать любые формулы и получать результаты. Для этого нужно включить режим отладки на сервере 1С.
Бывают ситуации, когда необходимо знать последовательность действий в коде. Под это также разработан специальный механизм. Он называется «Стек вызовов». При использовании открывается специальное дополнительное окно. В нем отображаются данные о том, какая процедура была вызвана из предыдущей.
Прежде чем пустить свои наброски в работу, необходимо тщательно проверять алгоритм. В этой ситуации специалист, как правило, пользуется описанными выше инструментами. Кроме того, необходимо следить за обновлениями и модернизациями, которые происходят в сфере разработки программного обеспечения, так как в ближайшее время может появиться принципиально новый софт с набором более продвинутых функций.
Ключ отладки на сервере 1С
Для успешного запуска обсуждаемого режима необходимо дополнять значение параметра «ImagePath». Это делается при помощи «debug». Пример его применения – на снимке экрана ниже.
Неопытным пользователям важно понимать, что существует два варианта символа, который стоит перед ним. Первый – «-», второй – «/». Использование любого из них допускается и не считается ошибкой. Это стоит помнить при прочтении статей и других материалов. При правильной последовательности действий цель будет достигнута, и приложение заработает правильно. Кроме того, программист получит доступ к дополнительным инструментам, речь о которых шла выше.
Заключение
В этой статье было подробно расписано, как запустить 1С предприятие в режиме отладки, и какие бонусы будут у пользователя от этого действия.
Известно, что приложение по умолчанию осуществляет запуск без этой опции. Это делается с целью ускорения работы и экономии ресурсов. Однако включив ее, разработчик получает большое количество преимуществ и удобных инструментов.
Прежде всего, это возможность проверить, насколько корректно работает написанный программистом код. Для этого применяется один из наиболее ходовых инструментов – точка останова. Также можно останавливаться с помощью другой функции, в том случае, если обнаружены ошибки. Именно поэтому программист должен знать, как включить серверную отладку в 1С.
Кроме того, с помощью конфигуратора получится передвигаться между строчками алгоритма, используя горячие клавиши. Это удобно и экономит большое количество времени. После каждого выполненного элемента разработчик может узнавать значение переменной. Также нельзя забывать о таких многофункциональных инструментах как «Табло» и «Вычисление выражений».
Однако не следует останавливаться на существующем функционале программы. Чтобы идти в ногу со временем, необходимо еще и внимательно следить за выходящими обновлениями. Вполне вероятно, что в ближайшем будущем у приложения будет большое количество новых конфигураций с принципиально другими опциями.
Также в статье был подробно описан процесс настройки отладки на сервере 1С 8 3 и в более ранних версиях. Подводя итоги предыдущих разделов, можно смело сказать, что процедура несложная, и требует лишь некоторой внимательности от пользователя. При работе с разными операционными системами Алгоритм очень похож. Отличия лишь в деталях, которые необходимо учитывать. Прикрепленные скриншоты дадут возможность начинающему разработчику сделать все правильно и не ошибиться.
Несмотря на несложный ход процесса, доверять эту работу необходимо исключительно высококвалифицированным сотрудникам. Особенно если речь идет о запуске 1С в режиме отладки с клиента сервера на крупном предприятии. В таких ситуациях привлечение непроверенных лиц может быть связано с финансовыми потерями.
Поэтому лучшее, что можно сделать, – это обратиться к профессионалам.
Если вы хотите оптимизировать свое производство с точки зрения технологий, в каталоге на нашем сайте найдутся решения, подходящие для разных сфер, в том числе внедрение специального ПО позволит выявить и устранить основные расхождения в товарном учете, избавиться от ручных операций на крупном производственном складе или же небольшом складском помещении магазина «у дома».
С помощью софта можно упростить ведение многих рутинных задач, к примеру, приход на склад, подбор заказа, инвентаризация, работа с ячейками. Для этого отлично подойдет программа «Склад 15», которая используется совместно с терминалом сбора данных. Все это и многое другое вы найдете на нашем сайте.
Если подвести итоги всего сказанного выше, то можно сделать вывод, что запустить 1С в режиме отладки несложно, но для этого требуется определенные перечень навыков. Однако это открывает разработчикам множество возможностей. Их работа становится намного более удобной и результативной. Открывается большое количество возможностей, которые положительно влияют на финансовую деятельность компании и на получение прибыли в дальнейшем.
Использовать режим отладки в 1С необходимо при проектировании и тестировании типовых и самостоятельно разработанных конфигураций любой сложности. Данный механизм помогает разработчикам не только устранить выявленные ошибки, но и предусмотреть многие узкие места до запуска системы в эксплуатацию. Чтобы использовать все возможности этого режима платформы 1С:Предприятие 8.3, надо не только включить его, но и знать предназначение его основных инструментов.
Включение режима отладки на сервере 1С
Если вы работаете в клиент-серверном варианте, то надо, чтобы пользоваться всеми функциями отладчика 1С, пройти процедуру включения отладки на сервере. Она не занимает много времени и не требует обширных знаний, но аккуратным быть все-таки придется, ведь процесс затронет изменение реестра на сервере.
Включить отладку в 1С вы сможете по следующему алгоритму:
- Перейдите на сервер 1С и откройте регистр через функцию «Выполнить» из меню «Пуск». Также можно воспользоваться одновременным нажатием клавиш Windows и R на клавиатуре. Введите команду открытия регистра — «regedit»;
- В открывшемся окне в дереве слева пройдите по пути: «HKEY_LOCAL_MACHINE», «SYSTEM», «ControlSet001», «services», «1С:Enterprise 8.3 Server Agent»;
- Выделив нижний пункт, в правой части находим реквизит с именем «ImagePath» и меняем его с помощью контекстного меню. Чтобы подключить отладку на сервере, к существующему пути добавляем строку « -debug»;
- Осталось лишь перезапустить агент сервера 1С и можно использовать режим отладки на сервере.
Чтобы запустить отладку через клиентское приложение, заходим в 1С в режиме конфигуратора и выбираем в меню «Отладка» нужный режим. Большинство современных конфигураций работают в режиме тонкого клиента, соответственно, и отлаживать работоспособность лучше в данном виде клиента. Если в вашей конфигурации используются различные виды клиентов, то для большего спокойствия протестировать функционал можно во всех режимах. В момент запуска режима отладки 1С открывает режим «Предприятие».
Как только запуск 1С в режиме отладки произошел, вы увидите практически аналогичное окно программы. Единственное отличие будет снизу – 1С показывает статистику по количествам вызовов на сером фоне. Но если вы переключитесь в этот момент в конфигуратор, то заметите, что верхняя панель изменилась. Появились новые кнопки, с помощью которых вы и будете управлять режимом отладки.
Чтобы получить максимум пользы от отладки серверных процедур, нужно знать основные возможности этого режима, их назначение и способы применения. Конечно, невозможно все понять на теоретическом уровне, но когда вы ознакомитесь с основами, то на практике вам будет намного легче. К тому же, большинство особенностей отладки используется редко, поэтому глубокие знания этого механизма могут пригодиться только через несколько лет работы.
Среди тех возможностей режима отладки «Предприятия», которыми разработчики 1С пользуются регулярно, можно выделить следующие:
- Точки останова;
- Пошаговая отладка кода;
- Просмотр значений;
- Стек вызовов.
Функции отладки 1С
Основная возможность отладки заключается в том, чтобы при работе в режиме Предприятия 1С запустить отладку и проверить, как отрабатывает код.
Для этого разработчики 1С устанавливают точку останова на строке алгоритма. Чтобы это сделать, необходимо выделить мышкой строку и нажать кнопку с изображением красного круга. Также вы можете щелкнуть дважды на полосе слева от текста модуля или воспользоваться «горячей» клавишей F9.
Чтобы увидеть установленные точки останова, воспользуйтесь меню «Отладка». Там вы сможете убрать все точки, отключить их, добавить новую и ознакомиться с «горячими» клавишами. Также в этом меню можно установить точку останова с условием (в виде синего круга). Она пригодится в ситуациях, когда вам нужно проверять код при выполнении условия, которое вам придется прописать при установке точки.
Еще один полезный механизм из этого меню – «Остановка по ошибке», позволяющий останавливаться только в недопустимых ситуациях. После остановки вы попадаете в конфигуратор и можете использовать другие возможности отладки. К примеру, перемещаться по строкам кода с помощью специальных клавиш, описанных в меню «Отладка», где сверху выведены более популярные функции. Разница между F10 и F11 заключается в том, что в первом случае вы будете попадать во вложенные функции и процедуры.
Серверная отладка в 1С хороша еще и тем, что вы можете посмотреть значение переменных после выполнения каждой строки кода. Простейший вариант – просто навести курсор мыши, и 1С высветит значение в выплывающем окне. Но в платформе, в меню «Отладка», встроены еще два инструмента:
- Табло.
При вызове открывается окно, в котором можно перетащить переменные, выделив их двойным нажатием в коде. В окне показывается их значение и тип на протяжении всей отладки – можно следить за изменением в процессе выполнения алгоритма;
- Вычислить выражение.
Механизм для ситуаций, когда разработчик хочет смоделировать, какие данные он может получить на текущем ходе алгоритма. Позволяет писать любые выражения и показывает их значение.
Иногда разработчикам необходимо узнать последовательность вызова процедур в алгоритме. Для этого им пригодится механизм стека вызовов из меню «Отладка». При его вызове открывается окно, в котором вы можете увидеть, из какой процедуры была вызвана та, где находится курсор отладки.
Знать и применять все эти инструменты важно для проведения тестов, перед тем как перенести свои доработки на рабочую базу. Вышеперечисленного набора механизмов более чем достаточно для успешной продуктивной работы разработчика в 1С. Но также важно следить за новым функционалом, так как отладка на сервере 1С 8.3 через несколько лет может приобрести новые возможности.
1С отладка на сервере и ее запуск в версиях платформы 8. 1, 8. 2 и 8
Задача разработчика 1С состоит не только в написании кода, но также в отслеживании и исправлении ошибок, построении оптимального алгоритма выполнения команд и оптимизации скорости работы, то есть отладки. Сделать это без использования функционала встроенного отладчика серверных процедур затруднительно.
Изначально на серверах 1С режим отладки отключен, поэтому разработчику придется проделать несложные манипуляции с настройками, чтобы получить возможность досконально проверить код.
Включение режима отладки на сервере для платформы 1С версии 8. 2 и выше
Алгоритм включения отладки достаточно прост. Он не предполагает наличия глубоких знаний по архитектуре операционных систем и администрированию 1С. При этом все же следует быть очень внимательным, ведь работы по отладке выполняются непосредственно на сервере и с правами администратора. Поэтому, если не обладаете доскональными знаниями, обратитесь в нашу компанию за 1С-консультацией в Москве, а если все же решили провести операцию самостоятельно – строго следуйте алгоритму действий без импровизаций:
- Остановите через Диспетчер сервера службу «Агент сервера 1С:Предприятия». Если настройка проходит на рабочем сервере, то стоит позаботиться заранее об отсутствии пользователей 1С в базе;
- Запускайте редактор реестра системы путем нажатия «Пуск»-«Выполнить» или сочетания клавиш «Win»+«R». В открывшемся окне ввести строку «regedit»;
- В реестре необходимо найти пункт [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent];
- Среди параметров найти «ImagePath» и изменить его, добавив к существующему значению через пробел в конце «-debug»;
- Через Диспетчер сервера запустить службу, которую останавливали – «Агент сервера 1С:Предприятия».
Включение режима отладки на сервере
Изначально на серверной стороне отключен режим отладки, и разработчики могут контролировать только те процедуры и функции, которые выполняются на клиенте. Естественно, с таким подходом будет намного больше ошибок и включать отладку на сервере обязательно нужно, если вы дорабатываете конфигурацию. Это знание не так часто бывает полезным, но разработчик должен понимать эту процедуру, иначе рискует однажды оказаться в затруднительном положении. Процесс несложный, но требует аккуратности и понимания, так как изменения придется вносить в реестр сервера.
Чтобы получить возможность тестировать серверный код, необходимо зайти на сервер приложений 1С и проделать несколько несложных операций:
- Проверьте, что никого из сотрудников нет в базе. Если есть сессии, то придется настоятельно попросить их прервать на 10 минут;
- Откройте список служб на сервере приложений и найдите там Агент сервера 1С:Предприятия. Остановите эту службу;
- Откройте встроенный в систему редактор реестра либо с помощью командной строки и команды «regedit», либо сочетанием клавиш «Windows» и R;
- Пройдите по ветке:
- HKEY_LOCAL_MACHINE;
- SYSTEM;
- ControlSet001. В некоторых операционных системах вы можете встретить на этом этапе ветку с названием «ControlSet»;
- services;
- 1C:Enterprise 8.2 Server Agent.
- В перечне реквизитов выбранной ветки ищем «ImagePath» и через контекстное меню изменяем данные. Нам необходимо в конец значения добавить «-debug». Будьте внимательны и не сотрите ничего из уже существующего значения. После подтверждения закрываем редактор реестра, включаем службу агента сервера 1С и проверяем доступность отладки серверного кода.
Теперь остается только подтвердить успешность выполнения нами включения отладки на сервере 1С. Для этого запускаем 1С в режиме конфигуратора и уже оттуда через меню «Отладка» начинаем процесс. Запускать рекомендуется в том виде, в каком работают пользователи (чаще всего в 1С 8.3 – это тонкий клиент). Найдите код, выполняемый на сервере, поставьте в нем точку останова и, если все сделано верно, сможете запустить debug в 1С.
Многие разработчики предпочитают для отладки использовать отдельный сервер 1С в режиме отладки debug, так как эта задача достаточно ресурсоемка. Если ресурсы позволяют, то это хорошая мысль, так как одновременная работа многих пользователей уже серьезно нагружают практически любой сервер. Если такой возможности нет – ничего страшного, многие обходятся и решают подобные задачи на тестовом или даже боевом сервере.
Отладка — это неотъемлемая этап разработки прикладного решения. Умение эффективно использовать имеющиеся инструменты существенно снижает временные затраты на разработку и повышает ее качество. В этой статье я попробую рассказать о том, какие инструменты для отладки предоставляет нам система «1С:Предприятие».
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
- Как включить отладку на сервере 1С
- Отладка по протоколам HTTP и TCP/IP в 1С
- Инструменты отладки в 1С
- Отладка в 1С
Имеющиеся в наличии инструменты отладки собраны в меню — «Отладка» можно вызвать соответствующими горячими клавишами или из меню «Отладка».
Точки останова
Точка останова — это некая точка в программном модуле, на которой выполнение модуля приостанавливается и управление перехватывает отладчик. Точку останова можно установить с любой строке модуля и в любой момент работы с отладчиком. Место установки точки останова отмечается соответствующим знаком, для разных видов точек останова используются разные обозначения:
Работе с точками останова посвящена секция меню «Отладка»:
- Точка останова (F9) — устанавливает/удаляет точку останова в строке на которой стоит курсор;
- Точка останова с условием — устанавливает точку останова и открывает окно для ввода условия — логического выражения, повторное использование команды в этой же строке откроет окно для редактирования условия. Останов в указанной точке будет выполнен только если условие истинно;
- Включить/отключить точку останова (Ctrl+Shift+F9) — включает/отключает точку останова;
- Удалить все точки останова — удаляет все точки останова во всех модулях;
- Отключить все точки останова — отключает все точки останова во всех модулях;
- Список точек останова (Alt+F9) — открывает окно для просмотра и управления точками останова, о нем ниже.
Команда «Список точек останова» (Alt+F9) открывает окно для просмотра и управления точками останова:
Отладку можно проводить при помощи двух различных протоколов: по TCP/IP (вариант по умолчанию) и по HTTP, при этом оба протокола предоставляют достаточно похожие возможности. Собственно, эта статья и посвящена рассмотрению особенностей этих двух протоколов, также в ней рассказывается о том, что такое предмет отладки.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
- Как включить отладку на сервере 1С
- Отладка по протоколам HTTP и TCP/IP в 1С
- Инструменты отладки в 1С
- Отладка в 1С
Предмет отладки
Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст встроенного языка, который характеризуется такими параметрами как:
- имя пользователя;
- тип предмета отладки;
- номер сеанса;
- имя компьютера и номер порта при отладки по TCP/IP;
- имя информационной базы при отладке по HTTP.
Типы предметов отладки:
- тонкий клиент — код исполняемый в тонком клиенте;
- веб-клиент — код исполняемый в веб-клиенте;
- толстый клиент — код исполняемый в толстом клиенте;
- клиент (мобильное приложение) — код исполняемый в клиентском приложении, на мобильном устройстве (только HTTP);
- сервер — код исполняемый на сервере;
- сервер (файловый вариант) — код исполняемый на сервере, в файловом варианте;
- сервер (мобильное приложение) — код исполняемый на сервере, в файловом варианте, на мобильном устройстве (только HTTP);
- COM-соединение — код исполняемый через внешнее соединение;
- Web-сервис — код исполняемый при вызовах методов Web-сервисов;
- HTTP-сервис — код исполняемый при вызовах методов HTTP-сервисов;
- фоновое задание — код исполняемый в фоновом задании;
- фоновое задание (файловый вариант) — код исполняемый в фоновом задании (в файловом варианте);
- фоновое задание (мобильное приложение) — код исполняемый в фоновом задании (в файловом варианте) на мобильном устройстве (только HTTP).
Подключение предметов отладки зависит от выбранного протокола отладки и поэтому будет рассмотрено ниже.
Выбор протокола отладки
Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:
При выборе варианта отладки по протоколу HTTP поля диалога становятся доступными для редактирования. Этот диалог может незначительно отличаться (доступностью полей и значениями по умолчанию) в зависимости от информационной базы.
Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:
- Использовать локальный сервер отладки — вариант в основном для файловых информационных баз, в дополнительных полях можно указать адрес сетевой карты (если их несколько), а также один или несколько диапазонов портов которые будут использоваться для отладки, например: 1560:1591, 7700-8000;
- Использовать удаленный сервер отладки — конфигуратор попытается подключиться к удаленному серверу отладки по указанному адресу и порту;
- Использовать сервер отладки кластера — используется сервер отладки кластера серверов, кластер серверов должен быть запущен в отладочном режиме.
Группа «Имя информационной базы» позволяет указать имя информационной базы, под которым отладчик зарегистрируется на сервере отладки. Если доступ к серверу отладки защищен паролем, то этот пароль можно указать в группе «Доступ».
При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).
Подключение предметов отладки
Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
В список доступных предметов отладки попадают только те из них, которые отвечают следующим требованиям:
- отладчик и предмет отладки имеют одинаковый идентификатор информационной базы;
- в приложении включена возможность отладки (для сервера — см. первую статью серии, для клиентского приложения — соответствующий параметр командной строки либо свойство в диалоге настройки клиентского приложения либо соответствующие указания в конфигурационном файле);
- отсутствуют в списке подключенных предметов отладки.
В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).
Некоторые типы предметов отладки остаются доступными для подключения очень непродолжительное время, в этом случае нужно воспользоваться настройками автоматического подключения предметов отладки:
Настройку отладки сервисов (Web, HTTP, OData) в файловой базе следует выполнять в диалоге публикации на веб-сервере (подробнее об этом в следующей статье).
Протокол отладки HTTP
Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7. При этом для отладки клиент-серверной информационной базы сервер должен быть запущен в режим отладки по протоколу HTTP, о том как это сделать читайте в предыдущей статье серии.
Основное отличие отладки по протоколу HTTP заключается в наличии специального приложения — сервер отладки, который занимается координацией процесса отладки. Отладчик и предметы отладки общаются с сервером отладки по протоколу HTTP, поэтому нужно убедиться, что протокол HTTP не блокируется какими-либо прокси-серверами, брандмауэрами или чем-то другим.
Сервер отладки
Сервер отладки обычно запускается конфигуратором (в файловом варианте) или кластером серверов (если кластер запущен в режиме отладки).
Кроме этого сервер отладки может быть запущен вручную — для реализации нетривиальных сценариев отладки.
Сервер отладки (dbgs) находится в каталоге bin, параметр --help
покажет информацию об имеющихся параметрах запуска (там все довольно понятно), пример запуска:
C:\Program Files\1cv8\8.3.13.1513\bin\dbgs -a 192.168.0.170 -p 4000
Подключение предметов отладки
Как и в случае с отладкой по протоколу TCP/IP, для выполнения отладки по HTTP требуется, что бы предмет отладки был подключен. Управления предметами отладки все также происходит в диалоге «Предметы отладки» (меню «Отладка»>»Подключение»):
В список доступных предметов отладки попадают все предметы отладки зарегистрированные на используемом сервере отладки для информационной базы, имя которой указывается в настройках (см. « Выбор протокола отладки»).
Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:
В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:
Для настройки автоматического подключения предметов отладки существует специальный диалог:
В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.