1. toliman 2 14.02.20 12:26 Сейчас в теме

Взаимодействие с сайтом из 1С

Добрый день, присвоев полю html ссылку на сайт(например https://www.svyaznoy.ru/catalog/phone/225/xiaomi) мы добьемся что в мобильном приложении у нас будет отображаться web страница этого сайта. есть ли возможность взаимодействовать с действиями пользователями? задача передовать обратно в 1С товары которые пользователь добавляет в корзину, Сайт написан на битрекс. или необходимо полностью код сайта реализовать в 1С чтобы взаимодействовать?
Найденные решения
2. Nikifforoff96 14.02.20 13:31 Сейчас в теме
(1) Установи на элемент формы "Поле HTML документа" обработчик события "ПриНажатии" и посмотри в отладке, что передается в ДанныеСобытие этого обработчика при нажатии на что-либо (на странице)
Остальные ответы
Избранное Подписка Сортировка: Древо
2. Nikifforoff96 14.02.20 13:31 Сейчас в теме
(1) Установи на элемент формы "Поле HTML документа" обработчик события "ПриНажатии" и посмотри в отладке, что передается в ДанныеСобытие этого обработчика при нажатии на что-либо (на странице)
3. vsesam80 14.02.20 13:44 Сейчас в теме
(1)
//Для начала создадим элемент посредник на html страницу с Id"77"

|<sc ript type='text/javascript'>

|var evtObj = document.createEventObject(); //Отлавливаем нажатие и принимаем параметр из кнопки
|function f(param){    
|document.getElementById (""77"").TextContent = param; //Устанавливаем в элемент посредник парамтер из нажатой кнопки
|document.location.href =param;
|}                                       


|<input type=""button"" value=""Go""  id =""555"" on click=""f('васяпупкин')"" />  //Нажимаем кнопку

&НаКлиенте 
Процедура Поле1ПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)  
СтандартнаяОбработка = Ложь;    
#ЕСЛИ МобильноеПриложениеКлиент ТОГДА      
      Сообщить(  ДанныеСобытия.document.getElementById("77").TextContent); //считываем Текст Контекст у элемента посредника и видим "кто был нажат"
 #КОНЕЦЕСЛИ    
КонецПроцедуры
                     
Показать
4. toliman 2 14.02.20 15:26 Сейчас в теме
(3) а почему именно в мобильном приложении срабатывает только событие по нажатию на ссылку(переход в меню и подменю), а например событие "добавить в корзину" не срабатывает, хотя если отлаживать с компа то все события срабатывают
5. vsesam80 14.02.20 16:12 Сейчас в теме
(4)Потому что в мобильной платформе все урезано по максимуму по сравнению с обычной платформой.
Запустите отладку в обычной платформе и МП, и посмотрите что содержится в ДанныеСобытия в одном случае и в другом.
Проще говоря в случае с мобильной платформой ДанныеСобытия будет пустым.
Конечно код который я привел является костылем на колесиках и я надеюсь что 1С допилит это дело по человечески.
Ну а пока работает и ладно. и на том спасибо.
6. toliman 2 14.02.20 16:33 Сейчас в теме
(5) так я не пойму вам удалось отловить событие на нажате кнопки на сайте? у меня в мобильной платформе срабытавает только событие по переходу на другую страницу сайта(навигация по ссылке)
8. vsesam80 14.02.20 18:05 Сейчас в теме
(6)Именно так! но вся идея в том.что бы ссылка вела в никуда, фейковая короче.
click=""f('васяпупкин')""
...
document.location.href =param
...
Вася Пупкин ведет в никуда, однако нажатие на ссылку есть.
7. toliman 2 14.02.20 16:35 Сейчас в теме
(5) не совсем понял идею с элементом посредником, только начинаю осваивать работу с html
9. vsesam80 14.02.20 18:07 Сейчас в теме
(7)Идея в том, что бы пережать инфу посреднику что нажато:document.getElementById (""77"").TextContent = param;
А его уже прочесть из 1С: ДанныеСобытия.document.getElementById("77").TextContent
Вы просто попробуйте код запилить в конфу и увидите
10. vsesam80 19.02.20 17:13 Сейчас в теме
11. vsesam80 19.02.20 17:14 Сейчас в теме
(7)Вот пример
Прикрепленные файлы:
1Cv8 из HTML в 1С.cf
12. vsesam80 19.02.20 17:41 Сейчас в теме
(7)Я вот только что обратил внимание на это: или необходимо полностью код сайта реализовать в 1С чтобы взаимодействовать?
Вы имеете отношение к Связному? Если у вас есть возможность изменять там что то, то сделайте просто веб или http сервисы, которые позволят покупателю через МП делать заказы. И не надо ни какого html в данном случае
13. toliman 2 19.02.20 18:21 Сейчас в теме
(12) связной для примера, доступ к сайту есть, все успешно реализовали на стороне сайта, а в 1С я просто установил "стандартная обработка = ложь", что бы не было перехода на пустую страницу. Спасибо вам
14. vsesam80 19.02.20 18:35 Сейчас в теме
(13)Если не сложно выложите кусок кода, который заработал в итоге, что бы другим потом помогло.
15. vsesam80 19.02.20 18:36 Сейчас в теме
(13)Очень мало информации на эту тему. А между тем тема очень интересная
16. toliman 2 20.02.20 11:07 Сейчас в теме
Каталог строковый тип. вид "поле HTML документа" href на стороне сайта указываем идентификатор номенклатуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
		Каталог = "http://www.test.ru/products/";
КонецПроцедуры

&НаКлиенте
Процедура каталогПриНажатии(Элемент, ДанныеСобытия, СтандартнаяОбработка)	
	    
	Если Сред(ДанныеСобытия.href,1,31) <> "http://www.test.ru/products" Тогда  // нажатие кнопки добавить в корзину
		СтандартнаяОбработка = Ложь;
		
ДобавитьТоварВКорзину(Сред(ДанныеСобытия.href,24));// своя процедура	
						
	КонецЕсли;
КонецПроцедуры
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата до 150 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата до 130 000 руб.
Полный день