Имя: Пароль:
1C
1С v8
ПолеHTMLДокумента перестаёт ловить события
0 ilya_i
 
22.11.23
12:30
Обычные формы, 8.3.19+ (также 20 и 22), win10.
1. Выполняю ПолеHTMLДокумента.Перейти("ya.ru"), что-то набираю в строку поиска яндека и enter, кликаю в ссылку и перехожу на другой сайт, жму Backspace, и ни один из обработчиков событий элемента ПолеHTMLДокумента больше не работает.
Есть ли у кого опыт борьбы с этим?
Изначально есть обработка событий ДокументСформирован и onClick, где небольшой код, препятствует открытию внешнего браузера при переходе по ссылкам яндекса (pEvtObj.returnValue = Ложь; ПолеHTMLДокумента.Перейти(СтрокаURL) )
1 Garykom
 
22.11.23
12:41
Обычные формы на последних платформах 1С?
Забудь.

Используй старую платформу для ОФ.
2 Garykom
 
22.11.23
12:42
(1)+ Старую это последнюю из 8.2
3 Волшебник
 
22.11.23
12:45
(1) С какой это радости? Тонкий клиент должен умереть
4 ilya_i
 
22.11.23
12:51
(3) Согласен. Когда уже закончатся эти мучения. Как упр формы, так время разработки х2.
5 Garykom
 
22.11.23
12:55
(4) Нет. Не x2 а просто "не шмогла".

Уже хз сколько лет пишут только УФ и про ОФ забыл как про страшный сон.
Ибо оно не масштабируется и в целом дольше чтобы "сделать хорошо".
6 ilya_i
 
22.11.23
13:15
Обычные (одна строка кода) ТаблицаЗначенийНаФорме.Загрузить(Запрос.Выполнить.Выгрузить())
Управляемые (+12 строк)
&НаКлиенте
Процедура Загрузить()
  тзСтрокой=ЗагрузитьНаСервере();
  тз=ЗначениеИзСтрокиВнутр(тзСтрокой);
  Для Каждого стр Из тз Цикл
    НовСтр = ТаблицаЗначенийНаФорме.Добавить();
    ЗаполнитьЗначения(НовСтр, стр)
  КонецЦикла
КонецПроцедуры
&НаСервереБезКонтекста
Функция Загрузить()
  тз=Запрос.Выполнить.Выгрузить();
  Возврат ЗначениВСтрокуВнутр(тз)
КонецФункции
7 Garykom
 
22.11.23
13:33
(6) Говнокод с непониманием УФ детектед

Какое нахрен "ЗначениеИзСтрокиВнутр" и "ЗначениВСтрокуВнутр"?

Нафуя???
8 Garykom
 
22.11.23
13:33
9 ilya_i
 
22.11.23
13:35
А ещё как и следовало ожидать на упр форме отрабатывает ровно так же. Правда только при нажатии на ссылки, а вот при нажатии на кнопки а-ля у яндекса "А ещё ищут", то документ снова оживает.
10 Garykom
 
22.11.23
13:35
Да и в ТЗ на УФ как то странно грузишь в целом
Там все намного проще
11 ilya_i
 
22.11.23
13:36
и оживает одинаково и на упр и обычных
12 Garykom
 
22.11.23
13:36
(9) Нажатие на ссылки надо можно через js функции ловить
Свои добавленные после формирования документа
13 Garykom
 
22.11.23
13:37
Ну или сразу клик отрабатывать из 1С
Но куда внутри кликнули без js не понять все равно
14 ilya_i
 
22.11.23
13:38
(10) Намного проще, только когда намного проще. Как только что-то посложнее, то начинаются танцы с упр формами.
15 Garykom
 
22.11.23
13:39
(14) Нет там никаких танцев кроме особенностей клиент-сервера на разных машинах
И требования работать даже в веб-клиенте с браузере
16 Garykom
 
22.11.23
13:40
Чтобы понять что такое УФ и (клиент сервер) в 1С
Надо разобраться как работает фронт и бэк в обычном браузере
17 ilya_i
 
22.11.23
13:41
(13) в том и проблема, что клик из 1С не ловиться.
18 ilya_i
 
22.11.23
13:43
а насчет js это конечно здорово, но не ловиться уже сам backspace, и тут возникают сомнения и насчет js
19 Garykom
 
22.11.23
14:43
(18) А почему backspace то должен ловиться?
Это же не клик а кнопка
20 ilya_i
 
22.11.23
16:15
Так события для клавиатуры тоже есть, onkeypress, onkeydown, onkeyup и они не ловятся, правда не ловятся они с самого начала, т.е. в принципе.