Не работает отладка ОбработкаОповещения через мобильный клиент
Коллеги привет!
Запустил мобильный клиент на терминале ТСД Атол SMART.LITE, драйвер взял отсюда (ТСД Атол SMART.LITE сканирование через мобильную платформу 1С), все установилось. вебсервер apache 2.2, база файловая тут же.
Отладка включена по TCP. В отладка — подключение все галки стоят. В обычных процедура при работе на ТСД отладка срабатывает (к примеру при открытии формы Номенклатура), но в событии формы ОбработкаОповещения почему то не срабатывает.
Подключение оборудования типовое в справочнике Номенклатура (УНФ) —
// ПодключаемоеОборудование
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтотОбъект, «СканерШтрихкода»);
// Конец ПодключаемоеОборудование
Дописал в ОбработкаОповещения формы в самом начале процедуры для теста
Сообщить(«Внешнее событие: ИмяСобытия=»+ИмяСобытия+» Параметр=»+Параметр+» Источник=»+Источник);
сообщение при каждом сканировании появлется, но точка останова почему то не работает.
Что можно попробовать сделать?
В мобильном клиенте в параметрах базы (где адрес ее указан) нужно разрешить отладку, прописать сервер отладки (В моем случае это локальный ip сетевой карты вида http://192.168.1.241:1590).
В конфигураторе — Администрирование — Публикация на веб сервере — Прочие — Разрешена (протокол HTTP), Адрес сервера отладки HTTP — http://192.168.1.241:1590
В конфигураторе — Сервис — Параметры — Отладка — Отладка по протоколу HTTP — Ипользовать локальный сервер (адрес локальной сетьевой карты (без HTTP://) 192.168.1.241, порт — оставил пустым) — Кнопочка ПЕРЕЗАПУСТИТЬ КОНФИГУРАТОР.
В конфигураторе — Отладка — Подключение — Авт подключение — выбрал все.
Теперь останавливается и на ОбработкеОповещения.
Источник
Отладка по протоколам HTTP и TCP/IP в 1С
Отладку можно проводить при помощи двух различных протоколов: по TCP/IP (вариант по умолчанию) и по HTTP, при этом оба протокола предоставляют достаточно похожие возможности. Собственно, эта статья и посвящена рассмотрению особенностей этих двух протоколов, также в ней рассказывается о том, что такое предмет отладки.
Кроме этого отмечу, что эта статья входит в небольшую серию статей об отладке в 1С:
Предмет отладки
Начнем с обсуждения такого понятия, как «предмет отладки». Предмет отладки — это контекст встроенного языка, который характеризуется такими параметрами как:
- имя пользователя;
- тип предмета отладки;
- номер сеанса;
- имя компьютера и номер порта при отладки по TCP/IP;
- имя информационной базы при отладке по HTTP.
Типы предметов отладки:
- тонкий клиент — код исполняемый в тонком клиенте;
- веб-клиент — код исполняемый в веб-клиенте;
- толстый клиент — код исполняемый в толстом клиенте;
- клиент (мобильное приложение) — код исполняемый в клиентском приложении, на мобильном устройстве (только HTTP);
- сервер — код исполняемый на сервере;
- сервер (файловый вариант) — код исполняемый на сервере, в файловом варианте;
- сервер (мобильное приложение) — код исполняемый на сервере, в файловом варианте, на мобильном устройстве (только HTTP);
- COM-соединение — код исполняемый через внешнее соединение;
- Web-сервис — код исполняемый при вызовах методов Web-сервисов;
- HTTP-сервис — код исполняемый при вызовах методов HTTP-сервисов;
- фоновое задание — код исполняемый в фоновом задании;
- фоновое задание (файловый вариант) — код исполняемый в фоновом задании (в файловом варианте);
- фоновое задание (мобильное приложение) — код исполняемый в фоновом задании (в файловом варианте) на мобильном устройстве (только HTTP).
Подключение предметов отладки зависит от выбранного протокола отладки и поэтому будет рассмотрено ниже.
Выбор протокола отладки
Выбрать протокол отладки можно в конфигураторе: Главное меню->Сервис->Параметры->вкладка «Отладка»:
Выбор протокола отладки
При выборе варианта отладки по протоколу HTTP поля диалога становятся доступными для редактирования. Этот диалог может незначительно отличаться (доступностью полей и значениями по умолчанию) в зависимости от информационной базы.
Группа «Сервер отладки» позволяет указать, каким сервером отладки нужно воспользоваться:
- Использовать локальный сервер отладки — вариант в основном для файловых информационных баз, в дополнительных полях можно указать адрес сетевой карты (если их несколько), а также один или несколько диапазонов портов которые будут использоваться для отладки, например: 1560:1591, 7700-8000;
- Использовать удаленный сервер отладки — конфигуратор попытается подключиться к удаленному серверу отладки по указанному адресу и порту;
- Использовать сервер отладки кластера — используется сервер отладки кластера серверов, кластер серверов должен быть запущен в отладочном режиме.
Группа «Имя информационной базы» позволяет указать имя информационной базы, под которым отладчик зарегистрируется на сервере отладки. Если доступ к серверу отладки защищен паролем, то этот пароль можно указать в группе «Доступ».
Протокол отладки TCP/IP
При отладке по протоколу TCP/IP отладчик ищет доступные предметы отладки на текущем или указанном компьютере. Для корректной работы отладчика (если конечно речь идет не о файловой базе на одного пользователя) очень рекомендуется нормально настроить сеть — в частности DNS-сервер и доступность отладочных портов (по-умолчанию 1560:1591).
Подключение предметов отладки
Для выполнения отладки модуля нужно подключить предмет отладки. Подключенные и доступные для подключения предметы отладки, а также настройки отладчика и автоматического подключения можно увидеть в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
Диалог «Предметы отладки»
В список доступных предметов отладки попадают только те из них, которые отвечают следующим требованиям:
- отладчик и предмет отладки имеют одинаковый идентификатор информационной базы;
- в приложении включена возможность отладки (для сервера — см. первую статью серии, для клиентского приложения — соответствующий параметр командной строки либо свойство в диалоге настройки клиентского приложения либо соответствующие указания в конфигурационном файле);
- отсутствуют в списке подключенных предметов отладки.
«Параметры»)» width=»470″ height=»602″ srcset=»https://1c-programmer-blog.ru/wp-content/uploads/2018/10/nastrojki-klientskogo-prilozheniya.jpg 470w, https://1c-programmer-blog.ru/wp-content/uploads/2018/10/nastrojki-klientskogo-prilozheniya-234×300.jpg 234w» sizes=»(max-width: 470px) 100vw, 470px»/> Настройки клиентского приложения («Сервис»->»Параметры»)
Кнопка «Настройка…» открывается окно с настройками:
Настройки отладчика
В этом окне можно изменить отладочные порты которые будет сканировать отладчик в поисках подходящих предметов отладки. Кроме этого можно узнать адрес отладчика (строка «Отладчик:»), этот адрес пригодится при различных видах отладки в файловых базах (подробнее об этом в следующей статье).
Некоторые типы предметов отладки остаются доступными для подключения очень непродолжительное время, в этом случае нужно воспользоваться настройками автоматического подключения предметов отладки:
Настройки автоматического подключения
Настройку отладки сервисов (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 требуется, что бы предмет отладки был подключен. Управления предметами отладки все также происходит в диалоге «Предметы отладки» (меню «Отладка»->»Подключение»):
Подключение предметов отладки
В список доступных предметов отладки попадают все предметы отладки зарегистрированные на используемом сервере отладки для информационной базы, имя которой указывается в настройках (см. «Выбор протокола отладки»).
Из списка доступных предметов отладки исключаются уже подключенные и не соответствующие отбору предметы отладки. Отбор можно установить в правой верхней части окна:
Отбор предметов отладки
В окне настроек отладчика можно узнать адрес сервера отладки и имя информационной базы:
Настройки отладчика (HTTP)
Для настройки автоматического подключения предметов отладки существует специальный диалог:
Настройка автоматического подключения предметов отладки (HTTP)
В левой части диалога можно указать типы предметов отладки, которые подлежат автоматическому подключению, а в правой — дополнительные отборы предметов отладки.
На этом все, надеюсь, что эта статья была Вам полезна. Также напомню про другие статьи серии об отладке в 1С, ссылки на них можно найти в начале этой статьи.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Отладка мобильного приложения в 1С 8.3.7
(0) Не знаю на счет 1С, но когда-то я пытался разобраться с Андроид программированием.
И включение отладки для программ андроида делается так:
Может, тебе тоже поможет.
Тут главное теорию знать.
Если устройство на базе Аднроид, то отладку можно через адб сделать, но в любом случае — для отладки надо установить последнюю 8.3.7 (в предыдущих был баг).
Устройство должно быть в одной сети, доступ к серверу отладки по указаному порту должен быть с устройства.
Запуск надо делать через Отладка — Запуск мобильного клиента.
Это если в двух словах.
Ну и перести сервер отладки с tcp на http.
DitriX, может ты подскажешь.
Устройство на базе Андроид.
1С 8.3.7.1759.
Протокол отладки -> «Отладка по протоколу HTTP». Переключатель «Использовать локальный сервер отладки».
Предметы отладки — Автоматическое подключение — галки стоят на всех 13 типах предметов отладки.
Запуск через «Мобильное приложение:начать отладку».
Всё работает, но не останавливается на точках останова. В какой еще бубен зашаманить?
(12) когда меняешь в конфигураторе адрес сетевой карты (у меня «127.0.0.1» на «192.168.100.2»), то появляется бледненькая кнопочка (чтобы ее не заметили) «Перезагрузить конфигуратор». Ты его перезагрузил?
(20) Кстати, в настройках отладки сначала было прописано имя компьютера. После того, как ип прописал, и здесь ип появился.
Ну, я переписал этот сервер в настройках базы на самом моб ус-ве. Ничего не поменялось.
Еще взял этот адрес и набрал в браузере на моб ус-ве, мне выдалось, типа, «1C 8.3 Debug Server. it works!»
сервер отладки 1с не связан с веб сервером.
После перевода в режим хттп — надо запустить устройство, ПОСТАВИТЬ галку перезагружать конфу при обновлении, без нее рабоать не будет.
И нажать — начать отладку.
Ясное дело — устройство должно быть в одной локальной сети.
IP надо писать именно тот, куда будет поступать запрос на подключение. Если комп за натом — пишем локальный адрес сетевой, но если есть перенаправление портов — то пишем тогда вручную адрес на устройстве.
Проверьте открыты ли порты в фаерволее, при чем и тсп и удп, на сколько я помню.
(32) У автора наконец-то получилось!
Причем даже точно не скажу, в чем дело. Я взял другую мобильную конфу и решил настроить все заново. И в итоге заработало! Хотя кое-какие выводы могу сделать:
1. Надо фиксировать айпишник компа в локальной сети. А то, на следующий день он уже другой и все надо перенастраивать. Да и веб-сервер без этого нормально работать не будет.
2. Надо следить за портами сервиса. Он тоже постоянно меняется. Про фиксирование пока ничего сказать не могу.
3. Имя инф. базы надо оставлять по-умолчанию. Я сначала конкретное задавал, ничего не получалось.
Все спасибо за помощь и внимание!
(33)
1. Это да.
2. Порт вы сами указываете, и он не может менятся, однако — для каждой конфигураци — свой порт.
3. Надо читать справку, тогда сразу стало бы ясно, что база указывается только для отладки в кластере.
Итого — чтение документации спасает 90% времени 🙂
Источник