Б24 (бэк-офис) - отладка по HTTP

1. triviumfan 99 11.11.20 16:39 Сейчас в теме
Добрый день.

На сервере 1с включена отладка по http.
База опубликована - отладка через веб-клиент работает.
Проблема в том, что не работает отладка на клиенте (серверные вызовы перехватываю), если подключение идёт через бек-офис битрикс24.
Не пойму, в чем причина? Что это за приложение такое?
Думал, что веб-клиент, т.к. в окне браузера открывается, а получается, что нет.
Найденные решения
12. triviumfan 99 12.11.20 11:54 Сейчас в теме
(11) коннект есть, данные в Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24. Сессию только что выкрутился и сохранил на сервере - она совпадает и данные по ней есть в Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24.
У меня тупо не загружаются данные. Нужна отладка! :)

...
Разобрался. Я программно добавлял реквизиты формы.
А обращение к ним не исправил.
&НаСервере
Процедура Б24_Бэк_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	ДобавляемыеРеквизиты = Новый Массив;
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_НастройкаВзаимодействия", 	Новый ОписаниеТипов("СправочникСсылка.Б24_Бэк_НастройкиСБитрикс24")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_НоваяСущность", 				Новый ОписаниеТипов("Булево")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_Сессия", 					Новый ОписаниеТипов("Строка")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_ЭтоДокументБэкофиса", 		Новый ОписаниеТипов("Булево")));
	ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	
	Б24_Бэк_РоботыИТриггерыВызовСервера.ДобавлениеЭлементовФормыДляТриггеров(ЭтаФорма);        
	
КонецПроцедуры

&НаКлиенте
Процедура Б24_Бэк_ПриОткрытииПосле(Отказ)
	
	Б24_Бэк_Сессия 					= Б24_Бэк_НастройкиСеанса.СессияБитрикс24;
	Б24_Бэк_НастройкаВзаимодействия 	= Б24_Бэк_НастройкиСеанса.НастройкаВзаимодействия;
	Б24_Бэк_НоваяСущность			= Б24_Бэк_НастройкиСеанса.НоваяСущность;

	Б24_Бэк_НастройкиСеанса.СессияБитрикс24 		= "";
	Б24_Бэк_НастройкиСеанса.НастройкаВзаимодействия = Неопределено;
	Б24_Бэк_НастройкиСеанса.НоваяСущность 			= Ложь;
	
	Если ЗначениеЗаполнено(Б24_Бэк_Сессия) Тогда

		Б24_Бэк_ЭтоДокументБэкофиса = Истина;
	
		Если Б24_Бэк_НоваяСущность Тогда
			ПодключитьОбработчикОжидания("Б24_Бэк_ПроверитьДанныеБитрикс24", 2, Истина);
		ИначеЕсли НЕ ЗначениеЗаполнено(Б24_Бэк_НастройкаВзаимодействия) Тогда
			ЭтотОбъект.Б24_Бэк_НастройкаВзаимодействия = Б24_Бэк_РаботаИзОдногоОкнаВызовСервера.ПолучитьНастройкуПодключенияПоОбъекту(Объект.Ссылка);
		КонецЕсли;
	
	КонецЕсли;
	
КонецПроцедуры
Показать


Нужно обращаться через ЭтотОбъект.<ИмяДобавленногоРеквизита>.
Эх... а вот была бы отладка - спустя 5 минут понял бы, а так - как слепой котёнок.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. triviumfan 99 11.11.20 17:54 Сейчас в теме
(1)
База опубликована - отладка через веб-клиент работает.

Соврал, отладки через веб-клиент нету
2. triviumfan 99 11.11.20 16:44 Сейчас в теме
Или нужно дополнительно включать отладку в настройках публикации?
Если да, то как будет выглядеть url? Ведь на сервере 1с отладка по http
4. triviumfan 99 11.11.20 18:02 Сейчас в теме
Отладка веб-клиента через отдельную вкладку браузера заработала, указав в конце строки ?debug=http.
Получается, что нужно указать url в настройках отладки или конфигурационном файле.
Как выглядит url?!
5. amd1986 11.11.20 19:04 Сейчас в теме
(4) В бэкофисе есть 2 режима взаимодействия 1С с Б24:

1. 1С открывается в слайдере Б24(холодный старт)

пример URL:
<Адрес до базы>/?session=cb4bff88e88179d014063f18403215221568134126_url=e1cib­/data/Документ.ПоступлениеВКассу

где
session- сессия Б24(слайдера)
url- ссылка на документ. Новый или уже существующий


2. 1С в десктоп приложении Битрикс24(горячий старт)

пример URL:
<Адрес до базы>/?idUserB24=222

где
idUserB24 - ид пользователя на портале
8. triviumfan 99 12.11.20 09:17 Сейчас в теме
(5) Не понимаю что значит "в слайдере"? У меня 1с открывается в отдельном окне, и адресная строка равна <Адрес до базы>, нет никакой сессии.
Прикрепленные файлы:
10. amd1986 12.11.20 11:12 Сейчас в теме
(8) Это окно так и называется, слайдер.
Сессия передается как параметр
14. user1054612 13.11.20 13:43 Сейчас в теме
(5) А если часть документов не открывается, и выдает предупреждение внизу с указанием URL? Как быть?
Прикрепленные файлы:
15. triviumfan 99 13.11.20 15:25 Сейчас в теме
(14) глянь журнал регистрации, наверняка там что-то есть.
16. amd1986 13.11.20 17:17 Сейчас в теме
(14) что то странное у вас. Как будто стоит прерывание выполнения(не выполняется переход по навигационной ссылке). Или же у пользователя 1С, под которым сеанс - нет прав на документы(но тогда бы ругнулось)
17. user1054612 16.11.20 13:03 Сейчас в теме
(16)
Добавил полные права, стали документы открываться, но по реализации все равно такая ошибка. Все обновлено до последнего.
18. user1054612 16.11.20 13:04 Сейчас в теме
(16) Кстати, если просто по веб клиенту подключаться - все работает. Именно через БТ24 Бэкофис такие траблы
19. amd1986 16.11.20 13:29 Сейчас в теме
(18) я не понимаю откуда у вас взялось "11". Это какой модуль версии? Для какой конфигурации?
20. user1054612 16.11.20 17:37 Сейчас в теме
(19) Ошибся. Там Бух 3.0 последний релиз и последний модуль Бэкофиса
21. amd1986 17.11.20 11:50 Сейчас в теме
(20)понял. Именно в этом модуле есть такой код..
Для тестов вы из параметра скопируйте адрес и попробуйте открыть через навигационную ссылку.
Пример: session=cb4bff88e88179d014063f18403215221568134126_url=e1cib­/data/Документ.ПоступлениеВКассу
открывать нужно e1cib/data/Документ.ПоступлениеВКассу

Именно это и делает модуль.
22. user1054612 17.11.20 11:53 Сейчас в теме
(21) Спасибо! Я решил все правами и ошибки ушли. Стало открываться
6. amd1986 11.11.20 19:07 Сейчас в теме
(4) И вообще, как по мне, проще тестировать не на веб клиенте. Для этого я в модуле приложения комментирую, чтобы срабатывало не только на веб клиенте и запускаю клиент с ключем /c, а параметры что выше указал.

Кста, зачем вам туда лезть, в отладку веб клиента..?
7. triviumfan 99 12.11.20 09:09 Сейчас в теме
(6)
Кста, зачем вам туда лезть, в отладку веб клиента..?

У меня печему-то не подтягиваются данные из РС "Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24".
При открытии заказа должны подтягиваться партнер/контрагент. Данные в регистре есть, но заполнения нет. Там поиск по уид настроек и сессии. Сессия доступна лишь на клиенте. Хочу через отладку посмотреть, где проблема (расширение интеграционного модуля переносилось в конфу и адаптировалось под УТ11.3).
11. amd1986 12.11.20 11:21 Сейчас в теме
(7)
Данные в регистре есть, но заполнения нет. Там поиск по уид настроек и сессии. Сессия доступна лишь на клиенте. Хочу через отладку посмотреть, где проблема (расширение интеграционного модуля переносилось в конфу и адаптировалось под УТ11.3).

Там данные в разрезе сессий.
В слайдере 1С открывается по адресу + сессия(как параметр) + тип документа(как параметр). Параметр сессии в модуле приложения сохраняется в глобальную переменную клиента.

В то же время асинхронно 1С получает данные - какого клиента подставлять.

После того как новый документ открылся в 1С - начинает проверка регистра Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24 на наличие данных по указанной сессии. Запись находится - данные из Б24 подтягиваются, а затем подставляются в документ.


Может у вас нет коннекта к Б24. Проверить это легко - заходите в Б24 на страницу "1С + CRM Битрикс24" - там будут блоки настроек подключения с 1С. Каждная настройка бэкофиса создает новый блок настроек. Фон у этого блока должен быть желтый.

Коннект может быть 2 типов(настраивается в общих настройках):
1. http сервис
2. p&p соединение. В этом случае сама 1С подключается к Б24 и ждет команду(отдельный сеанс 1С)
12. triviumfan 99 12.11.20 11:54 Сейчас в теме
(11) коннект есть, данные в Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24. Сессию только что выкрутился и сохранил на сервере - она совпадает и данные по ней есть в Б24_Бэк_ДанныеДляНовыхДокументовИзБитрикс24.
У меня тупо не загружаются данные. Нужна отладка! :)

...
Разобрался. Я программно добавлял реквизиты формы.
А обращение к ним не исправил.
&НаСервере
Процедура Б24_Бэк_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	ДобавляемыеРеквизиты = Новый Массив;
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_НастройкаВзаимодействия", 	Новый ОписаниеТипов("СправочникСсылка.Б24_Бэк_НастройкиСБитрикс24")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_НоваяСущность", 				Новый ОписаниеТипов("Булево")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_Сессия", 					Новый ОписаниеТипов("Строка")));
	ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Б24_Бэк_ЭтоДокументБэкофиса", 		Новый ОписаниеТипов("Булево")));
	ИзменитьРеквизиты(ДобавляемыеРеквизиты);
	
	Б24_Бэк_РоботыИТриггерыВызовСервера.ДобавлениеЭлементовФормыДляТриггеров(ЭтаФорма);        
	
КонецПроцедуры

&НаКлиенте
Процедура Б24_Бэк_ПриОткрытииПосле(Отказ)
	
	Б24_Бэк_Сессия 					= Б24_Бэк_НастройкиСеанса.СессияБитрикс24;
	Б24_Бэк_НастройкаВзаимодействия 	= Б24_Бэк_НастройкиСеанса.НастройкаВзаимодействия;
	Б24_Бэк_НоваяСущность			= Б24_Бэк_НастройкиСеанса.НоваяСущность;

	Б24_Бэк_НастройкиСеанса.СессияБитрикс24 		= "";
	Б24_Бэк_НастройкиСеанса.НастройкаВзаимодействия = Неопределено;
	Б24_Бэк_НастройкиСеанса.НоваяСущность 			= Ложь;
	
	Если ЗначениеЗаполнено(Б24_Бэк_Сессия) Тогда

		Б24_Бэк_ЭтоДокументБэкофиса = Истина;
	
		Если Б24_Бэк_НоваяСущность Тогда
			ПодключитьОбработчикОжидания("Б24_Бэк_ПроверитьДанныеБитрикс24", 2, Истина);
		ИначеЕсли НЕ ЗначениеЗаполнено(Б24_Бэк_НастройкаВзаимодействия) Тогда
			ЭтотОбъект.Б24_Бэк_НастройкаВзаимодействия = Б24_Бэк_РаботаИзОдногоОкнаВызовСервера.ПолучитьНастройкуПодключенияПоОбъекту(Объект.Ссылка);
		КонецЕсли;
	
	КонецЕсли;
	
КонецПроцедуры
Показать


Нужно обращаться через ЭтотОбъект.<ИмяДобавленногоРеквизита>.
Эх... а вот была бы отладка - спустя 5 минут понял бы, а так - как слепой котёнок.
9. triviumfan 99 12.11.20 10:52 Сейчас в теме
https://its.1c.ru/db/v838doc#bookmark:adm:TI000000384

В случае использования протокола HTTP, адрес отладчика обязательно указывать с указанием порта, по которому будет выполняться взаимодействие: http://pc-name:1561.

Если протокол отладки, указанный с помощью атрибута protocol, не совпадает со схемой, указанной в атрибуте url, соединение с отладчиком не будет установлено и работа продолжится без возможности отладки.

Пример:
<debug enable="true" protocol="http" url="http://pc-name:1561"/>


Что есть pc-name? Мой ПК? База опубликована на srv1, 1с сервер расположен на srv2.
13. triviumfan 99 12.11.20 13:38 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот