Как отладить веб клиент 1с

1С:Предприятие 8.3. Отладка конфигурации в режиме веб-клиента

Как отладить веб клиент 1с

Как выяснилось не все 1С-разработчики в курсе, что выполнять отладку можно и при запуске конфигурации в режиме web-клиента. Ведь как оно бывает, в толстом и тонком клиенте все работает нормально, а при работе через браузер начинают появляться разного рода подводные камни.

Если такие проблемы обнаружились, то лучший способ от них избавиться – пройтись по коду отладчиком. Правда здесь есть один нюанс. После публикации приложения на web-сервере, в окне «Подключение отладки» не отображается сеанс, открытый из веб-клиента.

Мой приятель столкнулся с подобной проблемой и был уверен, что отладка при работе в режиме веб-клиента в «1С:Предприятие» в принципе невозможна. А ведь на самом деле это заблуждения. Выполнять отладку можно стандартными средствами.

Как выполнить отладку в режиме веб-клиента

Первым делом выполняем публикацию на веб-сервере (я для разработки использую Apache). Следующим шагом запускаем браузер и вбиваем url для доступа к базе:

Например, у меня у меня решение опубликовано под именем test, следовательно в моем случае url будет таким:

Как отладить веб клиент 1с

А можно и по-другому

Это далеко не единственный способ выполнять отладку веб-клиента. Указать параметры для отладчика можно:

Если не работает

Первый способ у меня работает всегда. Вот при указании URL в окне публикации решения часто возникали мистические странности. Конфигуратор периодически отказывался находить предмет отладки. Решить проблему помогал перезапуск веб-сервера. В итоге чаще я пользуюсь первым способом.

Ах, да, чуть не забыл. Если вы работаете в клиент-серверном режиме, то убедитесь, что сервер «1С:Предприятие» запущен в отладочном режиме (применяется ключ debug).

Источник

Отладка по протоколам HTTP и TCP/IP в 1С

Отладку можно проводить при помощи двух различных протоколов: по TCP/IP (вариант по умолчанию) и по HTTP, при этом оба протокола предоставляют достаточно похожие возможности. Собственно, эта статья и посвящена рассмотрению особенностей этих двух протоколов, также в ней рассказывается о том, что такое предмет отладки.

Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:

Предмет отладки

Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст встроенного языка, который характеризуется такими параметрами как:

Типы предметов отладки:

Подключение предметов отладки зависит от выбранного протокола отладки и поэтому будет рассмотрено ниже.

Выбор протокола отладки

Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:

При выборе варианта отладки по протоколу HTTP поля диалога становятся доступными для редактирования. Этот диалог может незначительно отличаться (доступностью полей и значениями по умолчанию) в зависимости от информационной базы.

Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:

Группа «Имя информационной базы» позволяет указать имя информационной базы, под которым отладчик зарегистрируется на сервере отладки. Если доступ к серверу отладки защищен паролем, то этот пароль можно указать в группе «Доступ».

Протокол отладки TCP/IP

При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).

Подключение предметов отладки

Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):

В список доступных предметов отладки попадают только те из них, которые отвечают следующим требованиям:

Кнопка «Настройка…» открывается окно с настройками:

В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).

Некоторые типы предметов отладки остаются доступными для подключения очень непродолжительное время, в этом случае нужно воспользоваться настройками автоматического подключения предметов отладки:

Настройку отладки сервисов (Web, HTTP, OData) в файловой базе следует выполнять в диалоге публикации на веб-сервере (подробнее об этом в следующей статье).

Протокол отладки HTTP

Отладка по протоколу HTTP доступна начиная с версии технологической платформы 8.3.7. При этом для отладки клиент-серверной информационной базы сервер должен быть запущен в режим отладки по протоколу HTTP, о том как это сделать читайте в предыдущей статье серии.

Основное отличие отладки по протоколу HTTP заключается в наличии специального приложения — сервер отладки, который занимается координацией процесса отладки. Отладчик и предметы отладки общаются с сервером отладки по протоколу HTTP, поэтому нужно убедиться, что протокол HTTP не блокируется какими-либо прокси-серверами, брандмауэрами или чем-то другим.

Сервер отладки

Сервер отладки обычно запускается конфигуратором (в файловом варианте) или кластером серверов (если кластер запущен в режиме отладки).

Кроме этого сервер отладки может быть запущен вручную — для реализации нетривиальных сценариев отладки.

Подключение предметов отладки

Как и в случае с отладкой по протоколу TCP/IP, для выполнения отладки по HTTP требуется, что бы предмет отладки был подключен. Управления предметами отладки все также происходит в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):

В список доступных предметов отладки попадают все предметы отладки зарегистрированные на используемом сервере отладки для информационной базы, имя которой указывается в настройках (см. «Выбор протокола отладки»).

Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:

В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:

Для настройки автоматического подключения предметов отладки существует специальный диалог:

В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.

На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник

Отладка мобильного клиента

Не уверен что данной информации нет, но все что находил содержало либо частичную настройку либо недостоверные / сложно реализуемые способы.

Суть проблемы: есть множество мобильных приложений и мобильных клиентов и необходимо их отлаживать как в процессе разработки так и в процессе использования, т.е. когда сами устройства где-то по стране гуляют.

Решение будет описано в контексте мобильного клиента, т.к. работа шла на нем.

Еще до отладки было необходимо реализовать подключение мобильного клиента к самой БД. Суть сборки описана тут, но есть нюанс который там не освещен нигде, а именно то, что адрес во внутренней сети и во внешней отличается. Да, это банальность, но я на нее напоролся))

При разработке приложения я подключен к корпоративному WiFi и это внутренняя сеть, т.к. публикация выполнена на сервере (IIS) во внутренней сети и адрес для подключения мобильного клиента может быть такой: http://web_server/base_name, где web_server и base_name имя сервера и имя базы соответственно.

При этом, как только происходит отключение от WiFi, то соединение уже не установится, т.к. этот адрес недоступен из внешней сети. Тогда идем к админам и просим их сделать проброс этого адресе во внешнюю сеть (у вас должен быть какой-то сайт или домен, открытый извне). Например сделали проброс внешнего адреса http://url.website/basename на http://web_server/basename. У некоторых данный способ отработает и соединение будет установлено, а вот у некоторых нет. Проблема в том, что для небезопасного соединения используется 80 порт (для защищенного 443, но там еще с сертификатами заморочки, поэтому опишу в отдельной статье) и если порт явно не указать он автоматом указывается 80, т.к. порт популярный он может быть занят. Что в этом случае сделать? Можно явно указать порт в строке соединения и уже его прокинуть на 80 порт вашего web_server’а. Например, строка соединения превращается из http://url.website/basename в http://url.website:2080/basename. На этом проблемы соединения из внешней сети ушли, однако по такой строке теперь стало невозможно подключиться из внутренней сети)) Причина всё таже, порт. Решение тоже тривиальное, хотя может и некорректное, это изменение стандартного порта web_server’а, т.е. размещение его с 80 порта на 2080. Тогда порт нужно будет указывать явно всегда, но работать такое решение будет как во внешней сети так и во внутренней.

Возможно вышеописанные действия не самые корректные, но по крайне мере это работает, а каких-то адекватных решений и разборов проблем по мобильному клиенту пока еще маловато.

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

Если подключение мобильного клиента успешно выполнено, то у вас уже должна быть доступна отладка, но только серверной части. Естественно сервер должен быть запущен в режиме отладки, поэтому данный момент опускаем, да и материалов по этому поводу навалом, однако отладка клиента будет недоступна.

Для реализации отладки клиента мобильного приложения необходимо:

Как отладить веб клиент 1с

Как отладить веб клиент 1с

Последним шагом будет являться установка адреса сервера отладки на мобильном устройстве, которое необходимо отладить и установка признака «отладка разрешена», тоже на мобильном устройстве.

Сам путь можно посмотреть в конфигураторе, в окне настроек параметров отладки.

Источник

Пример создания HTTP-сервисов на платформе «1С:Предприятие»

В этой статье разбираются демонстрационные HTTP-сервисы, созданные в демонстрационной конфигурации «Управляемое приложение» для платформы «1С:Предприятие» версии 8.3.5 и старше.

Цель статьи – помочь разобраться с использованием технологии HTTP-сервисов и показать практическое применение некоторых неочевидных механизмов.

Демонстрационная база «Управляемое приложение» представляет собой простую конфигурацию, в которой создано большинство объектов, которые могут понадобиться при автоматизации деятельности небольшой торговой фирмы. В частности, в ней присутствует справочник «Товары». Элементами этого справочника мы будем управлять при помощи HTTP-сервиса. Такой сценарий может возникнуть, например, при интеграции с интернет-магазином или другой корпоративной ИС, в которую заносится первичная информация о товарах.

Для удобства изучения описываемых HTTP-сервисов рекомендуется включить авторизацию ОС при публикации на веб-сервере и настроить пользователю с ролью «Администратор» использование windows-аутентификации от имени пользователя ОС, под которым будет проходить изучение.

HTTP-сервис «Товары»

HTTP-сервис «Товары» написан в REST-стиле. Он позволяет получать и удалять элементы и группы в справочнике товаров. Доступ к элементу осуществляется с помощью его пути в иерархии.

Например, для того чтобы получить информацию о товаре «Ряженка» с кодом 000000027, входящем в группу «Молочные» с кодом 000000099, которая входит, в свою очередь в группу «Продукты» с кодом 000000011, в браузере надо будет набрать http:// /hs/Products/000000011/000000099/000000027. Если база опубликована по пути http://localhost:8090/Platform8Demo/, то путь будет:

http://localhost:8090/Platform8Demo/ hs /Products/000000011/000000099/000000027.

Из чего состоит путь? Рассмотрим по частям:

В нашем случае у сервиса один дочерний объект шаблон URL. В свойстве «Шаблон» этого объекта записана строка “/*». Звездочка – это специальное значение, указывающее на то, что к данному шаблону подходят любые URL. В нашем случае необходимость использования такого шаблона (т.е. по сути отказа от ограничения URL) обусловлена произвольной глубиной иерархии товаров.

У нашего шаблона URL имеются два дочерних объекта, соответствующих HTTP-методам GET (получение) и DELETE (удаление). Именно в них указаны обработчики, которые будут вызываться при обращении к HTTP-сервису.

Для обработки запроса с использованием HTTP-метода GET (а именно такой будет создан, если вставить указанные выше URL в браузер) используется функция ПутьКТоваруGET. Рассмотрим эту функцию немного подробнее:

Сформированное XML-представление используется в ответе сервиса:

HTTP-сервис «ОписанияТоваров»

HTTP-сервис «ОписанияТоваров» предназначен для получения и редактирования информации о товарах. Он написан в RPC (Remote Procedure Call) стиле, похожем на SOAP. В качестве дополнительного условия также предположим, что заказчик, для которого мы разрабатываем конфигурацию, потребовал предусмотреть наличие нескольких версий API где-то в будущем.

Обращение к сервису выполняется при помощи запросов с использование метода POST к URL следующего вида:

Рассмотрим, из чего состоит путь:

Как отладить веб клиент 1с

Как отладить веб клиент 1с

Видно, что сервер передал описание товара в формате html.

Рассмотрим, как реализован сервис. Объект метаданных HTTP-сервиса имеет единственный дочерний шаблон URL, в котором прописан следующий шаблон:

Как отладить веб клиент 1с

Т.к. у нас пока нет разных версий сервиса, сегмент с номером версии фиксирован, а вот второй сегмент может принимать разные значения, соответствующие именам методов. В коде получение имени метода выглядит следующим образом:

Обращаем внимание, что коллекция «ПараметрыURL» запроса содержит единственное значение – согласно количеству сегментов, которые могут принимать разные значение.

Для возврата описания товара мы устанавливаем тело запроса:

Аналогично, для установки описания товара мы получаем его из запроса:

При установке описания из тела запроса мы проводим минимальную проверку корректности того, что прислал нам клиент, в данном случае – только типа содержимого, изучая заголовок «Content-type».

Для того чтобы протестировать установку тела запроса достаточно заполнить его в Fiddler:

Как отладить веб клиент 1с

Отладка кода HTTP-сервиса

Отладка кода HTTP-сервиса аналогична отладке код SOAP веб-сервиса. Для включения отладки нужно:

Разрешение отладки на веб-сервере

Для разрешения отладки на веб-сервере нужно перейти на вкладку «Прочие» диалога публикации на веб-сервере, установить флаг «разрешить отладку» и указать адрес отладчика. Для локальной отладки можно указать tcp://localhost

Как отладить веб клиент 1с

То же самое можно сделать вручную, исправив vrd-файл, см документацию.

Включение автоматического подключения

Для того чтобы платформа автоматически подключалась для отладки к вызываемым HTTP-сервисам нужно:

Помните, что флажок следует устанавливать при каждом запуске конфигуратора, в котором требуется отладка HTTP-сервисов.

Заключение

В статье рассмотрены основные аспекты программирования HTTP-сервисов в «1С:Предприятии», в частности:

Также показано, как можно их тестировать при помощи программы Fiddler. Более полные справочные материалы можно найти в ИТС по постоянному адресу.

Источник

Антон Штырляев

Избранное

Публикация и отладка веб-сервисов 1С на файловой базе

1. Ставим Apache

В трее появится значок запущенного сервиса:

Как отладить веб клиент 1с

Если апач не работает

Если значок другой (красный кружок), то скорее всего какая-то другая программа занимает стандартный 80 порт прослушки Апача (например, скайп).

В таком случае правим файлик по адресу:

И заменяем ее на любой адрес порта:

Сохраняем файл и перезапускаем Apache (жмакаем левой кнопкой мыши):

Как отладить веб клиент 1с

Проверка

Проверяем работу апача в браузере по адресу

В случае, если вы изменили порт, то адрес будет таким:

Если все хорошо, то вы увидите следующее:

Как отладить веб клиент 1с

2. Публикация веб-сервиса

Как отладить веб клиент 1с

Выбираем имя, каталог для публикации, список публикуемых веб-сервисов и жмём «Опубликовать»

Внимание! Не следует в качестве пути указывать корень диска (C:\), 1C начнет чудить и удалять папки на этом диске.

Как отладить веб клиент 1с

Проверка веб-сервиса

Опубликованный веб-сервис будет доступен по адресу:

Вместо Test и WebServiceName подставляем указанное «Имя» в публикации и имя вашего веб-сервиса соответственно.

3. Отладка веб-сервиса

Для того, чтобы заработала отладка, нужно в файле:

Добавить следующую строку:

Должно получиться так:

Нужно создать файл с названием comcntrcfg.xml со следующим содержанием:

Обязательно перезагружаем Apache.

И в заключении нужно включить отладку веб-сервисов в конфигураторе:

Как отладить веб клиент 1с

Как отладить веб клиент 1с

Как отладить веб клиент 1с

Заключение

Если поставить точку останова в модуле веб-сервиса в 1С, после выполнения запроса в SoapUI — конфигуратор остановится на точке и позволит отлаживать нужный вам веб-сервис.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *