0. mi1man 297 23.02.19 09:36 Сейчас в теме

1С и WebKit. Вариант взаимодействия

В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. xxxAndricxxx 21 23.02.19 10:27 Сейчас в теме
Спасибо) с появлением Web kit появились новые идеи, но много нового) добавлю вашу инфу в копилку знаний)
2. folo 159 24.02.19 08:26 Сейчас в теме
А почему точки на разных берегах у одного и того же адреса в разных платформах?
4. mi1man 297 24.02.19 11:10 Сейчас в теме
(2) маркер был сдвинут на новое место .. поэтому различны координаты в таблице и текущие (реквизиты Широта, Долгота) .. в этом и заключается суть примера - получить в 1С координаты при сдвиге маркера на карте
3. DitriX 1698 24.02.19 10:40 Сейчас в теме
Это все фигня - самое главное, что теперь 1с может открыть в 1с :)
AllexSoft; Alien_job; DrAku1a; xxxAndricxxx; acanta; w.r.; Krio2; kuzyara; ilya.rudziak; CyberCerber; Irwin; TreeDogNight; Soloist; JohnConnor; A_Max; +15 Ответить
8. mi1man 297 01.03.19 16:50 Сейчас в теме
(3) можете раскрыть мысль Вашей фразы ?
9. DitriX 1698 01.03.19 16:56 Сейчас в теме
(8) а что тут раскрывать - делаете поле html и в нем открываете опубликованую базу через веб
10. mi1man 297 01.03.19 16:58 Сейчас в теме
(9) это я понял) .. почему это так важно ? Вы пишите что "..это самое главное"
11. TODD22 17 01.03.19 17:03 Сейчас в теме
(10)
это я понял) .. почему это так важно ? Вы пишите что "..это самое главное"

Плохо у вас видимо с чувством юмора.

Можно даже рекурсию сделать...
12. DitriX 1698 01.03.19 17:04 Сейчас в теме
(10) потому что это новый горизонт для всяких связок и сверок с базами 1с.
Ну и это просто прикольно :)
Есть еще куча других вещей, но они уже более специфические, и долго объяснять суть проблемы, чтобы понять почему это важно.
AllexSoft; CyberCerber; mi1man; +3 Ответить
5. Поручик 4290 27.02.19 16:01 Сейчас в теме
интересно. жаль, что нет ничего, куда бы приспособить
6. Fox-trot 92 01.03.19 16:27 Сейчас в теме
судя по примерам кода - мало куда приспособишь
7. mi1man 297 01.03.19 16:42 Сейчас в теме
(6) странно чем пример не угодил) .. вот например нужно получить координаты какой-нибудь стройки, базы или другого места за городом ( 25-й километр сразу за поворотом) .. как раз этот функционал и будет полезен, т.к координаты можно будет получить просто сдвинув маркер на карте в нужное место
13. xpehep 04.03.19 19:57 Сейчас в теме
подскажите почему может не выводиться хтмл в элементе ПолеHTMLДокумента
раньше в обработке приоткрытии вызывался такой код

Документ = Элементы.ПолеБраузера.Document;

Документ.designMode = "On";
Документ.write(ТекстМакета);
Документ.designMode = "Off";
14. mi1man 297 04.03.19 20:08 Сейчас в теме
очень мало информации .. какой функционал описан в ТекстМакета ?
15. user1174057 11.03.19 17:25 Сейчас в теме
Подскажите, как можно обработать правый клик на Webkit?
16. mi1man 297 12.03.19 20:17 Сейчас в теме
(15)
правый клик на Webkit


посмотрите тут
17. Udod141516 15.05.19 23:07 Сейчас в теме
был рад типа переходу на встроенный движок webkit, но радость быстро стухла, когда свежая встройка tinymce которая до этого работала отлично свалилась в никуда - не работает и просто зависает мертво окно 1с
причина в том, что встроенный webkit видимо сильно дополнен перехватываемыми вызовами от разработчиков 1С
для примера посмотрите типовой полеHTMLдокумента - оно дополняется как минимум методами добавления полос прокрутки в стиле 1С, это уже костыль который вносит конкретный глюк, причем везде (даже во всплывающее окно внутри html документа изнутри поля, хотя там свои есть, типа за двоения получается в конкретном примере)
окромя этого еще что то перехватывают, и так криво, я понимаю, новое, но блин почему так топорно то!?
короче tinymce как ни перебирал все параметры вешает 1с, вставка не работает (таблицы вставляются текстом, хотя во всех браузерах как минимум с разметкой таблицы), фокус при вставке не важно чего теряет, может вставится например в текстовое поле формы, а не в элемент хтмл, контекстное меню конфликтует, идет переполнение стека как я чую, раз на полеHTMLдокумента валится все...
другие редакторы - тоже самое, нет нормального копипаста из-за перехвата, конфликт контекстного, заморозка окна 1с
в общем - спасибо огромное!!! так даже я не смогу заказчику представить нечто совсем "новое" - мня просто снесут и оправдаться нечем.
SergiosMailz; +1 Ответить
19. SergiosMailz 20.06.19 08:37 Сейчас в теме
(17)
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).
deminded; +1 Ответить
21. deminded 7 07.08.19 09:14 Сейчас в теме
(19)
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).

А не нашли, в какой момент и как это исправить? Или надо переезжать везде на управляемые (что к сожалению не везде возможно :( )?
22. SergiosMailz 12.08.19 08:07 Сейчас в теме
(21)
Способа исправления/обхода данного поведения пока не нашли.
27. SergiosMailz 14.08.19 10:31 Сейчас в теме
(21)
По данной ошибке на портале "Публикация ошибок->Каталог ошибок->Технологическая платформа" заведено обращение 20173064
Описание
18. Udod141516 15.05.19 23:32 Сейчас в теме
прочитал статьи о муках выбора движка спецами 1С, поначалу проникся "мукам" выбора, но потом пришло понимание - в итоге выбрали то, что уже привычно им, чтобы не менять уже сложившееся, зачем типа? допилим как хотим, пойдет.
статистика применения webkit в топе браузеров (кому не лень, за пару минут узнает что webkit на текущий момент в деле у браузеров внизу топов скорей вообщен вне топов - как экстро) - не, не показатель, мы же для себя, для любимых пользователей 1С) нам привычно, кроссово типа, ну увидели что полосы прокрутки не те - давай допилим под свои, еще что то увидели - еще допилим ... допилили в общем)

не понимайте что я обижен типа что tinymce не работает, я просто увидел как "дополняется" webkit спецами 1С, что то что работало при IE (от винды) с ограниченными его, не работает, и то, что в ближайшее время ничего не поменяется ввиду выбранной "модели", по сути тупика...
20. Kruzya 29.07.19 21:25 Сейчас в теме
Не пробовал пока новую версию платформы (сидим на 8.3.13 пока), но предполагаю, что из программного кода должен быть доступ к data- полям. Свойство dataset у элемента документа.

Попробовать положить данные в data- элементы заранее перед нажатием (при формировании страницы, например, если она относительно статична), и ловить уже нативно.
23. Diversus 1957 13.08.19 16:06 Сейчас в теме
(0) А вы не знаете каким образом получить позицию скрола в поле HTML документа в новом WebKit 8.3.14?
Не сталкивались?
24. Kruzya 14.08.19 08:49 Сейчас в теме
(23) пробовали получить позицию скролла через window.pageYOffset? В 1С, кажется, ЭлементHTMLДокумента.defaultView.pageYOffset.
26. Diversus 1957 14.08.19 10:14 Сейчас в теме
(24)
ЭлементHTMLДокумента.defaultView.pageYOffset


См. скриншоты. pageYOffset = 0

Раньше в 8.3.10 я делал так:
1. Завел в HTML-документе в тексте скрытый DIV в котором хранил текущее положение скрола:
<div class='scrollvalue' id='scrollpos'>1000</div>

Далее в body было событие onscroll, которое меняло текст этото тега:
<body style='background-color:#FAFAFA;' on scroll='fonscroll()' on load='scrollBottom("...")>

Ну и сама fonscroll и scrollBottom:
function scrollBottom(value){
	document.body.scrollTop = value;
	document.getElementById('scrollpos').value = value;
}

function fonscroll(value){
	var scrollpos = Math.max( $("html").scrollTop(), $("body").scrollTop() );
	var elem = document.getElementById("scrollpos");
	if (elem != null){
		elem.innerHTML = scrollpos;
	}	
}
Показать

Далее в 1С я просто смотрел в текст перед перерисовкой, находил scrollpos и запоминал
Перерисовывал и там где "..." я передавал значение которое я запомнил по старому scrollpos.
Поэтому визуально при изменении страницы скролл в HTML документе перемещался всегда в то месте где был в последний момент перед перерисовкой.
Сейчас хочу добиться того же эффекта, но почему-то не срабатывает событие onscroll.
Прикрепленные файлы:
28. mi1man 297 16.08.19 01:25 Сейчас в теме
(23) такой функционал не нужен был, но попробовал и вроде работает (прицепил картинку результата и обработку)

использовал такой макет:

<!DO CTYPE html>
<ht ml>
<head>
<st yle>
#myDIV {
  height: 250px;
  width: 250px;
  overflow: auto;
}

#content {
  height: 800px;
  width: 2000px;
  background-color: coral;
}
</style>
</head>
<body>

<div id="myDIV" on scroll="myFunction()">
  <div id="content">Scroll inside me!</div>
</div>

<p id="demo"></p>

<sc ript>
function myFunction() {
  var elmnt = document.getElementById("myDIV");
  var x = elmnt.scrollLeft;
  var y = elmnt.scrollTop;
  document.getElementById ("demo").innerHTML = "Horizontally: " + x + "pxVertically: " + y + "px";
}
</sc ript>

</body>
</html>
Показать
Прикрепленные файлы:
Scroll.epf
29. Diversus 1957 16.08.19 12:34 Сейчас в теме
(28) Да, событие onscroll у DIV есть, а вот если его же повесить на body, то оно не срабатывает...
30. mi1man 297 16.08.19 13:15 Сейчас в теме
(29) В документе есть свойство scrollingElement , которое WebKit поддерживает

https://developer.mozilla.org/en/docs/Web/API/document/scrollingElement

попробуйте через него достать .. что то типа такого

var scrollingElement = document.scrollingElement || document.documentElement;
scrollingElement.scrollTop = 100;
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

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

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

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

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