Очистить поле html документа 1c
В результате перехода на WebKit тип свойства Документ у поля, имеющего вид ПолеHTMLДокумента, изменился с COMОбъект на ВнешнийОбъект. Также изменилась DOM модель документа, доступная через это свойство.
После вызова этого события, в 1С получаем ВнешнийОбъект в который возможно содержит переданные данные, но найти их не удалось. Возможно в будущем, уважаемый sikuda (или кто-то другой) найдет способ и поделится с нами).
В итоге, передача данных в 1С будет обычным способом, через div элемент.
например, так создаем:
и так передаем данные в 1С:
Для реализации кода, независимого от версии платформы (IE или WebKit) нужно добавить переменную в скрипт, по значению которой будет выбираться ветка алгоритма.
обработка события на стороне 1С
код скрипта, использующий информацию о версии платформы:
Приложил обработку с примером работы кода с ПолеHTMLДокумента, независимого от типа браузера платформы.
передача данных из 1С в браузер
- открываем карту OpenStreetMap (используется библиотека Leaflet)
- указываем адрес
- выбираем один из вариантов локаций на карте, предложенных геокодером Nominatim
- передаем координаты локации на карту для отрисовки маркера
передача данных из браузера в 1С
- перемещаем маркер в любое место на карте
- передаем координаты новой локации в 1С и отображаем их на форме
Скрины экранов конфигураций на разных платформах с этой обработкой:
Возможно Вам будут интересны эти программы:
Возврат результата JS в 1С
Для передачи результата скрипта в 1С из объекта ПолеHTMLДокумента будем использовать событие. Привяжем к ПолеHTMLДокумента событие ПриНажатии которое получает на вход 3 параметра:
- Элемент у которого произошло событие(само ПолеHTMLДокумента )
- Объект событие
- Признак выполнения стандартного поведения
Чтобы вызвать событие при нажатии понадобиться выполнить следующий js код
Выполнив данный js код в процедуру при нажатии вторым параметром придет созданный нами объект событие. Который довольно удобно обрабатывать.
Пример разбора ответа.
Этот метод избавляет от использования обработчиков ожидания, и предоставляет удобный идентификатор события. По идентификатору мы точно знаем какие данные нам пришли, и как их разобрать.
Дополнение от 02.08.2016
В комметариях был предложен еще один способ вызова JS (спасибо Rie), если у вас есть возможность менять код HTML документа, то можно прописать функцию в нем и затем ее вызывать. передавая в нее код на JS.
Ближе к делу!
Пример описанных методов вы можете посмотреть в прилагаемой обработке.
- Запуск скрипта
- Получения ответа скрипта
- Запуск с возвратом результата скрипта в 1с
После тестирования статья дополнилась вторым подходом, он получился более простым и понятным, советую пробовать методы описанные в дополнениях.
Веб браузер в 1С
Давайте создадим простейший веб браузер на 1С, используя, только что полученные знания.
Процедура АдресОкончаниеВводаТекста ( Элемент , Текст , ДанныеВыбора , ПараметрыПолученияДанных , СтандартнаяОбработка )
Весь прикол в том, что Поле HTML документа — это всеми любимый Internet Explorer, только в режиме совместимости с IE7. Поэтому, в некоторых случаях, вас будет ждать такое уведомление)))
Поиск по сайту
Okolokompa в Яндекс Дзен
Во время реализации одного проекта, возникла необходимость выполнять javascript(далее JS) код под управление объекта ПолеHTMLДокумента, с получением результат в 1С. Приведённые примеры, в найденных статьях, показались не очень удобными в использовании (сугубо личное мнение). Было принято решение попробовать найти другое, более простое, решение, на поиски отводилось не более 1 дня.
Меня заинтересовала статья на хабре в которой говорилось, что из HTML документа можно программно вызвать события (используется для вызова метода ПриНажатии из объекта ПолеHTMLДокумента). А на этом сайте управление атрибутами (использую для выполнения JS из 1С) .
Это и стало отправной точкой в разработке метода взаимодействия 1С и объекта ПолеHTMLДокумента.
Для эксперимента будем использовать простую HTML страницу.
Таблицы
В HTML-документ можно вставлять таблицы и редактировать как параметры отдельных ячеек таблицы, так и изменять внешний вид и параметры всей таблицы:
Специальные предложения
Спасибо) с появлением Web kit появились новые идеи, но много нового) добавлю вашу инфу в копилку знаний)
(2) маркер был сдвинут на новое место .. поэтому различны координаты в таблице и текущие (реквизиты Широта, Долгота) .. в этом и заключается суть примера - получить в 1С координаты при сдвиге маркера на карте
Плохо у вас видимо с чувством юмора.
Можно даже рекурсию сделать.
(10) потому что это новый горизонт для всяких связок и сверок с базами 1с.
Ну и это просто прикольно :)
Есть еще куча других вещей, но они уже более специфические, и долго объяснять суть проблемы, чтобы понять почему это важно.
(6) странно чем пример не угодил) .. вот например нужно получить координаты какой-нибудь стройки, базы или другого места за городом ( 25-й километр сразу за поворотом) .. как раз этот функционал и будет полезен, т.к координаты можно будет получить просто сдвинув маркер на карте в нужное место
подскажите почему может не выводиться хтмл в элементе ПолеHTMLДокумента
раньше в обработке приоткрытии вызывался такой код
Документ.designMode = "On";
Документ.write(ТекстМакета);
Документ.designMode = "Off";
был рад типа переходу на встроенный движок webkit, но радость быстро стухла, когда свежая встройка tinymce которая до этого работала отлично свалилась в никуда - не работает и просто зависает мертво окно 1с
причина в том, что встроенный webkit видимо сильно дополнен перехватываемыми вызовами от разработчиков 1С
для примера посмотрите типовой полеHTMLдокумента - оно дополняется как минимум методами добавления полос прокрутки в стиле 1С, это уже костыль который вносит конкретный глюк, причем везде (даже во всплывающее окно внутри html документа изнутри поля, хотя там свои есть, типа за двоения получается в конкретном примере)
окромя этого еще что то перехватывают, и так криво, я понимаю, новое, но блин почему так топорно то!?
короче tinymce как ни перебирал все параметры вешает 1с, вставка не работает (таблицы вставляются текстом, хотя во всех браузерах как минимум с разметкой таблицы), фокус при вставке не важно чего теряет, может вставится например в текстовое поле формы, а не в элемент хтмл, контекстное меню конфликтует, идет переполнение стека как я чую, раз на полеHTMLдокумента валится все.
другие редакторы - тоже самое, нет нормального копипаста из-за перехвата, конфликт контекстного, заморозка окна 1с
в общем - спасибо огромное. так даже я не смогу заказчику представить нечто совсем "новое" - мня просто снесут и оправдаться нечем.
(17)
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).
(21)
По данной ошибке на портале "Публикация ошибок->Каталог ошибок->Технологическая платформа" заведено обращение 20173064
(37)Тоже столкнулся с этой проблемой и не знаю как ее решить. Нужно авторизацию делать на нескольких сайтах чтобы парсить данные - а оно зависает и то грузит страницу то недогружает какое то количество скриптов
(42) На портале "Публикация ошибок->Каталог ошибок->Технологическая платформа" по обращению "В обычном приложении ПолеHTMLДокумента может приходить в состояние, когда окно поля полностью становится черным и не обновляется" указано, что исправлено в платформе 8.3.15.1489, проверил, ничего не поменялось, также зависает.
(44) Странно, что ранее на данном обращении висела пометка, что исправлено в
(42)
Добрый день, дополняю!
От 1С получили рекомендации обновить релиз платформы до версии 8.3.15.1830 или 8.3.16.1063. Проверил, на версии 8.3.16.1063 проблема повторяется, в свою очередь на 8.3.15.1830 все норм.
прочитал статьи о муках выбора движка спецами 1С, поначалу проникся "мукам" выбора, но потом пришло понимание - в итоге выбрали то, что уже привычно им, чтобы не менять уже сложившееся, зачем типа? допилим как хотим, пойдет.
статистика применения webkit в топе браузеров (кому не лень, за пару минут узнает что webkit на текущий момент в деле у браузеров внизу топов скорей вообщен вне топов - как экстро) - не, не показатель, мы же для себя, для любимых пользователей 1С) нам привычно, кроссово типа, ну увидели что полосы прокрутки не те - давай допилим под свои, еще что то увидели - еще допилим . допилили в общем)
не понимайте что я обижен типа что tinymce не работает, я просто увидел как "дополняется" webkit спецами 1С, что то что работало при IE (от винды) с ограниченными его, не работает, и то, что в ближайшее время ничего не поменяется ввиду выбранной "модели", по сути тупика.
(кому не лень, за пару минут узнает что webkit на текущий момент в деле у браузеров внизу топов скорей вообщен вне топов - как экстро
А можно с этого места поподробнее? А то сафари, гугл хром, хромиум, эдж, опера, яндекс и т.д. на вебките. Я что-то не знаю?
ЗЫ: На своем только мозила файрфокс, но я его только с тором юзаю.
За Chrome следует Safari (19,25%), а третье место принадлежит Firefox (3,77%). После это, как ни удивительно, идёт Samsung Internet — 3,47%. Замыкает пятёрку лучших Microsoft Edge — 3,03%. Opera досталась 2,26-процентная доля.
(60) У Хрома, Хромиума, Эджа, Оперы, Яндекса и прочих - движок, базирующийся лишь на Вебките, называется он Blink. Но это не Вебкит уже давно.
Сафари - всё ещё на Вебките.
Не пробовал пока новую версию платформы (сидим на 8.3.13 пока), но предполагаю, что из программного кода должен быть доступ к data- полям. Свойство dataset у элемента документа.
Попробовать положить данные в data- элементы заранее перед нажатием (при формировании страницы, например, если она относительно статична), и ловить уже нативно.
(0) А вы не знаете каким образом получить позицию скрола в поле HTML документа в новом WebKit 8.3.14?
Не сталкивались?
(23) пробовали получить позицию скролла через window.pageYOffset ? В 1С, кажется, ЭлементHTMLДокумента.defaultView.pageYOffset .
См. скриншоты. pageYOffset = 0
Раньше в 8.3.10 я делал так:
1. Завел в HTML-документе в тексте скрытый DIV в котором хранил текущее положение скрола:
Далее в 1С я просто смотрел в текст перед перерисовкой, находил scrollpos и запоминал
Перерисовывал и там где ". " я передавал значение которое я запомнил по старому scrollpos.
Поэтому визуально при изменении страницы скролл в HTML документе перемещался всегда в то месте где был в последний момент перед перерисовкой.
Сейчас хочу добиться того же эффекта, но почему-то не срабатывает событие onscroll.
(23) такой функционал не нужен был, но попробовал и вроде работает (прицепил картинку результата и обработку)
использовал такой макет:
(29) В документе есть свойство scrollingElement , которое WebKit поддерживает
попробуйте через него достать .. что то типа такого
var scrollingElement = document.scrollingElement || document.documentElement;
scrollingElement.scrollTop = 100;
Случайно не в курсе, как указать прокси, чтобы на 8.3.14 и выше корректно работала ваша обработка? Системные настройки не помогают.
не понял сути вопроса .. код обработки открыт .. добавьте там вызов своего прокси .. есть много примеров как это сделать
Но интересно было бы ознакомиться с примерами, что вы имели в виду. Не поделитесь ссылкой?
что то типа такого ..
(35) Чтобы подгружать скрипты, расположенные локально, нужно прокси прописать? Что там написать нужно не понял? В ие все медленно, но работало, в webkit вообще не работают внешние скрипты.
Доброго дня, Дмитрий!
Я скачал Вашу обработку. Скажите, пожалуйста, как можно установить название в метке на карте?
Привет. Уточни что нужно:
- при клике на маркер должен появиться балун (всплывающее окно) с текстом ?
- рядом с маркером должен постоянно отображаться некоторый текст ?
Доброго дня, Дмитрий!
Прошу прощения что сразу не ответил.
Мне необходимо чтобы маркер сразу отображался уже с информацией.
У нас есть порядковый номер заказа, и этот номер должен быть виден сразу на карте в этом маркере.
Кто нибудь сталкивался с зависанием Webkit от усиленного юзания веб страницы? Сделал гугл карту в 1С, отрисовку точек, маршрутов для водителей и т.д. Справа от карты у меня список водителей для отбора. При клике по водителю на карте отображаются маркеры точек маршрута водителя. Все живенько работает. Но при длительном использовании карты точки перестают отрисовываться. А после переокрытия формы, на месте поля html документа серый фон. Помогает только перезапуск сеанса. В инете инфы вообще нет. Как будто webkit еще никто полноценно не юзал. Или мой случай уникален
(51) Спасибо. Звук вывел с одним ограничением: для начала воспроизведения нужно кликнуть мышкой. В условиях задачи было проигрывание музыки без участия пользователя. Поэтому воспользовался другим способом. Метод рабочий, но у него есть минус: пока играет музыка, 1С заблокирована. Победить не удалось. Время мелодии 4сек, поэтому оставил как есть.
Прошел по ссылке где счеты для 1С выложены, взял код оттуда. Но то же не заработало. Знатоки Java и web технологий, помогите!
Доброго дня всем!
А кто-нибудь сталкивался с тем, что переключение между элементами клавишей TAB тоже перестало работать в поле html на webkit?
Неужели тоже перехватывается и блокируется? при этом со стрелками такой беды нету..
Всем привет!
А колонтитулы кто-нибудь победил? Как их теперь выводить? И можно ли вернуться на пред метод использование, т.е. к IE.
Коллеги, возникла следующая проблема: по описанной выше методике пытаемся реализовать запись звука из формы с HTML-документом на веб-клиенте (2 кнопки- Начать запись и Закончить запись). Скачан и доработан готовый скрипт на JS зашитый в поле HTML. При попытке начать запись выдается Dom Exception, судя по консоли JS в момент попытки чтения звуковых устройств, т.е. по ощущениям не хватает прав, хотя все права для самого сайта даны на уровне браузера. Может кто знает, есть ли какие-то ограничения для веб-клиента на этот счет, ведь локально на странице все прекрасно отрабатывает. Кусок скрипта ниже:
Всех приветствую!
Использовали печатную форму на HTML(IE)
Перешли на версию 8.3.14.1854. Как мы уже поняли IE сменился на WebKit. Возникла проблема: на некоторых компах перестали выводится "Границы таблиц". Выводится сплошной текст.
Как можно починить?
Платформа 8.3.18.1616
При работе с гугл картой через некоторое время карта становится неактивной то есть просто серое окно поля HTML, какой то закономерности "вылетания" не поймал, подскажите куда копать
Попал на эту страницу, потому что ищу внятный пример инициализации веб сокета на JS из 1С по средством WebKit.
Что бы можно было поднять сокет и отправлять в него различные строковые значения.
Может кто то может подсказать?
не уверен что на 1С можно такой асинхронный обмен сделать .. объекты в 1С - web или http-сервис - это работает как "вопрос-ответ"
(26) Здравствуйте, как я понимаю, Вы реализовывали механизм перетаскивания. У меня возникла проблема, возможно, Вы с подобной тоже сталкивались.
Приглядевшись, я понял, когда мы захватываем объект, он не только становится полупрозрачным, а еще и уменьшается в размерах в окне, и, судя по всему, сами размеры "грида" как-то тоже уменьшаются в этом масштабе, хотя на экране ничего не меняется, и получается, что я его "тащу" на нарисованный объект, а фактически под ним в этот момент позиция смещена.
Ну а в браузерах (Chrome, Edge) этот сгенеренный код странички отрабатывает нормально - при перетаскивании элемент не уменьшается в размерах и ложится четко, куда отпустят.
В общем, поле HTML документа в Предприятии глючит.
Но если я запускаю свою конфигурацию через веб-клиент - там всё хорошо. В принципе, там тоже при перетаскивании объект в размерах не уменьшается. То есть браузер нормально отрабатывает. А в преприятии что-то странное.
что бы это могло быть?
PS: 8.3.18.1483
(67) Да подтверждаю с элементами Drag and Drop точно не всё в порядке. Тот же сайт инфостарт, если открыть в поле ХТМЛ, после редакитровать публикацию нажать, то все картинки просто исчезают.
Видимо какие то глюки WebKit.
Куда писать чтоб фиксили?
Привет .. перетаскивание не реализовывал .. возможно стоит как то "подсветить" объект-приемник при срабатывании на нем события переноса, чтобы визуально определять правильность приемника при помещении в него карточки
HTML-редактор используется для создания пользовательских описаний в виде HTML-документов. Окно редактора содержит три закладки, позволяющие осуществлять просмотр и редактирование документа.
На закладке Редактирование документ отображается в текстовом и графическом виде:
На закладке Текст разработчик имеет возможность редактировать HTML-текст документа:
Закладка Просмотр предназначена для отображения документа в том виде, в котором он будет показан пользователю:
Работа с HTML-документом напоминает работу в обычном текстовом редакторе, однако HTML-редактор предоставляет ряд дополнительных возможностей, которые обусловлены использованием формата HTML:
Выполнение JS из 1С
Для выполнения JS кода в объекте ПолеHTMLДокумента мы можем использовать стандартные события тегов. Такие как щелчок, двойной щелчок. Для примера я буду использовать событие «OnClick», список тегов поддерживающих это событие можно посмотреть тут , выберем самый простой тег div.
Получим элемент по ИД из объекта DOM построеным Полем HTML Документа.
Попробуем найти атрибут "onclick", связанный с событием щелчок мыши, у элемента.
Удалим атрибут если такой имеется
Создадим атрибут и установим необходимое нам действие
Вызовем действие щелчок мыши.
Таким образом мы можем выполнять любые скрипты, и привязывать/подменять действия у элементов объекта ПолеHTMLДокумента, тем самым обеспечивая необходимое нам поведение. Например к ссылке/кнопке, отображаемой на открытом сайте, мы можем присоединть свое действие или поменять стандарное на свое. (Наверное так и работают вломщики )
В результате получим функцию в ыполнения скрипта
Эту процедуру использую вместо старого метода ПолеHTMLДокумента.Документ.parentWindow.eval
который теперь(при использовании IE8 и выше) выдает ошибку ( Метод объекта не обнаружен (eval) )
Ключевые слова и Изображения
Слова упорядочены по частоте использования в тексте
Изображения
ПолеHTMLДокумента в обычном приложении
Для примера, во внешней обработке, создаём реквизит формы — ПолеHTMLДокумента1. Для перехода на страницу в интернете, воспользуемся методом «Перейти».
Поле HTML документа — этот элемент позволяет выводить на форму HTML страницы, полученные по URL адресу.
Специальные предложения
Спасибо) с появлением Web kit появились новые идеи, но много нового) добавлю вашу инфу в копилку знаний)
(2) маркер был сдвинут на новое место .. поэтому различны координаты в таблице и текущие (реквизиты Широта, Долгота) .. в этом и заключается суть примера - получить в 1С координаты при сдвиге маркера на карте
Плохо у вас видимо с чувством юмора.
Можно даже рекурсию сделать.
(10) потому что это новый горизонт для всяких связок и сверок с базами 1с.
Ну и это просто прикольно :)
Есть еще куча других вещей, но они уже более специфические, и долго объяснять суть проблемы, чтобы понять почему это важно.
(6) странно чем пример не угодил) .. вот например нужно получить координаты какой-нибудь стройки, базы или другого места за городом ( 25-й километр сразу за поворотом) .. как раз этот функционал и будет полезен, т.к координаты можно будет получить просто сдвинув маркер на карте в нужное место
подскажите почему может не выводиться хтмл в элементе ПолеHTMLДокумента
раньше в обработке приоткрытии вызывался такой код
Документ.designMode = "On";
Документ.write(ТекстМакета);
Документ.designMode = "Off";
был рад типа переходу на встроенный движок webkit, но радость быстро стухла, когда свежая встройка tinymce которая до этого работала отлично свалилась в никуда - не работает и просто зависает мертво окно 1с
причина в том, что встроенный webkit видимо сильно дополнен перехватываемыми вызовами от разработчиков 1С
для примера посмотрите типовой полеHTMLдокумента - оно дополняется как минимум методами добавления полос прокрутки в стиле 1С, это уже костыль который вносит конкретный глюк, причем везде (даже во всплывающее окно внутри html документа изнутри поля, хотя там свои есть, типа за двоения получается в конкретном примере)
окромя этого еще что то перехватывают, и так криво, я понимаю, новое, но блин почему так топорно то!?
короче tinymce как ни перебирал все параметры вешает 1с, вставка не работает (таблицы вставляются текстом, хотя во всех браузерах как минимум с разметкой таблицы), фокус при вставке не важно чего теряет, может вставится например в текстовое поле формы, а не в элемент хтмл, контекстное меню конфликтует, идет переполнение стека как я чую, раз на полеHTMLдокумента валится все.
другие редакторы - тоже самое, нет нормального копипаста из-за перехвата, конфликт контекстного, заморозка окна 1с
в общем - спасибо огромное. так даже я не смогу заказчику представить нечто совсем "новое" - мня просто снесут и оправдаться нечем.
(17)
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).
На обычных формах тоже заметили, что полеHTMLдокумента вешает 1С (либо передает фокус управления вникуда, т.е. становится не доступны пункты меню, хотя на форме, где размещено полеHTMLдокумента все кликабельно).
(21)
По данной ошибке на портале "Публикация ошибок->Каталог ошибок->Технологическая платформа" заведено обращение 20173064
(37)Тоже столкнулся с этой проблемой и не знаю как ее решить. Нужно авторизацию делать на нескольких сайтах чтобы парсить данные - а оно зависает и то грузит страницу то недогружает какое то количество скриптов
(42) На портале "Публикация ошибок->Каталог ошибок->Технологическая платформа" по обращению "В обычном приложении ПолеHTMLДокумента может приходить в состояние, когда окно поля полностью становится черным и не обновляется" указано, что исправлено в платформе 8.3.15.1489, проверил, ничего не поменялось, также зависает.
(44) Странно, что ранее на данном обращении висела пометка, что исправлено в
(42)
Добрый день, дополняю!
От 1С получили рекомендации обновить релиз платформы до версии 8.3.15.1830 или 8.3.16.1063. Проверил, на версии 8.3.16.1063 проблема повторяется, в свою очередь на 8.3.15.1830 все норм.
прочитал статьи о муках выбора движка спецами 1С, поначалу проникся "мукам" выбора, но потом пришло понимание - в итоге выбрали то, что уже привычно им, чтобы не менять уже сложившееся, зачем типа? допилим как хотим, пойдет.
статистика применения webkit в топе браузеров (кому не лень, за пару минут узнает что webkit на текущий момент в деле у браузеров внизу топов скорей вообщен вне топов - как экстро) - не, не показатель, мы же для себя, для любимых пользователей 1С) нам привычно, кроссово типа, ну увидели что полосы прокрутки не те - давай допилим под свои, еще что то увидели - еще допилим . допилили в общем)
не понимайте что я обижен типа что tinymce не работает, я просто увидел как "дополняется" webkit спецами 1С, что то что работало при IE (от винды) с ограниченными его, не работает, и то, что в ближайшее время ничего не поменяется ввиду выбранной "модели", по сути тупика.
(кому не лень, за пару минут узнает что webkit на текущий момент в деле у браузеров внизу топов скорей вообщен вне топов - как экстро
А можно с этого места поподробнее? А то сафари, гугл хром, хромиум, эдж, опера, яндекс и т.д. на вебките. Я что-то не знаю?
ЗЫ: На своем только мозила файрфокс, но я его только с тором юзаю.
За Chrome следует Safari (19,25%), а третье место принадлежит Firefox (3,77%). После это, как ни удивительно, идёт Samsung Internet — 3,47%. Замыкает пятёрку лучших Microsoft Edge — 3,03%. Opera досталась 2,26-процентная доля.
(60) У Хрома, Хромиума, Эджа, Оперы, Яндекса и прочих - движок, базирующийся лишь на Вебките, называется он Blink. Но это не Вебкит уже давно.
Сафари - всё ещё на Вебките.
Не пробовал пока новую версию платформы (сидим на 8.3.13 пока), но предполагаю, что из программного кода должен быть доступ к data- полям. Свойство dataset у элемента документа.
Попробовать положить данные в data- элементы заранее перед нажатием (при формировании страницы, например, если она относительно статична), и ловить уже нативно.
(0) А вы не знаете каким образом получить позицию скрола в поле HTML документа в новом WebKit 8.3.14?
Не сталкивались?
(23) пробовали получить позицию скролла через window.pageYOffset ? В 1С, кажется, ЭлементHTMLДокумента.defaultView.pageYOffset .
См. скриншоты. pageYOffset = 0
Раньше в 8.3.10 я делал так:
1. Завел в HTML-документе в тексте скрытый DIV в котором хранил текущее положение скрола:
Далее в 1С я просто смотрел в текст перед перерисовкой, находил scrollpos и запоминал
Перерисовывал и там где ". " я передавал значение которое я запомнил по старому scrollpos.
Поэтому визуально при изменении страницы скролл в HTML документе перемещался всегда в то месте где был в последний момент перед перерисовкой.
Сейчас хочу добиться того же эффекта, но почему-то не срабатывает событие onscroll.
(23) такой функционал не нужен был, но попробовал и вроде работает (прицепил картинку результата и обработку)
использовал такой макет:
(29) В документе есть свойство scrollingElement , которое WebKit поддерживает
попробуйте через него достать .. что то типа такого
var scrollingElement = document.scrollingElement || document.documentElement;
scrollingElement.scrollTop = 100;
Случайно не в курсе, как указать прокси, чтобы на 8.3.14 и выше корректно работала ваша обработка? Системные настройки не помогают.
не понял сути вопроса .. код обработки открыт .. добавьте там вызов своего прокси .. есть много примеров как это сделать
Но интересно было бы ознакомиться с примерами, что вы имели в виду. Не поделитесь ссылкой?
что то типа такого ..
(35) Чтобы подгружать скрипты, расположенные локально, нужно прокси прописать? Что там написать нужно не понял? В ие все медленно, но работало, в webkit вообще не работают внешние скрипты.
Доброго дня, Дмитрий!
Я скачал Вашу обработку. Скажите, пожалуйста, как можно установить название в метке на карте?
Привет. Уточни что нужно:
- при клике на маркер должен появиться балун (всплывающее окно) с текстом ?
- рядом с маркером должен постоянно отображаться некоторый текст ?
Доброго дня, Дмитрий!
Прошу прощения что сразу не ответил.
Мне необходимо чтобы маркер сразу отображался уже с информацией.
У нас есть порядковый номер заказа, и этот номер должен быть виден сразу на карте в этом маркере.
Кто нибудь сталкивался с зависанием Webkit от усиленного юзания веб страницы? Сделал гугл карту в 1С, отрисовку точек, маршрутов для водителей и т.д. Справа от карты у меня список водителей для отбора. При клике по водителю на карте отображаются маркеры точек маршрута водителя. Все живенько работает. Но при длительном использовании карты точки перестают отрисовываться. А после переокрытия формы, на месте поля html документа серый фон. Помогает только перезапуск сеанса. В инете инфы вообще нет. Как будто webkit еще никто полноценно не юзал. Или мой случай уникален
(51) Спасибо. Звук вывел с одним ограничением: для начала воспроизведения нужно кликнуть мышкой. В условиях задачи было проигрывание музыки без участия пользователя. Поэтому воспользовался другим способом. Метод рабочий, но у него есть минус: пока играет музыка, 1С заблокирована. Победить не удалось. Время мелодии 4сек, поэтому оставил как есть.
Прошел по ссылке где счеты для 1С выложены, взял код оттуда. Но то же не заработало. Знатоки Java и web технологий, помогите!
Доброго дня всем!
А кто-нибудь сталкивался с тем, что переключение между элементами клавишей TAB тоже перестало работать в поле html на webkit?
Неужели тоже перехватывается и блокируется? при этом со стрелками такой беды нету..
Всем привет!
А колонтитулы кто-нибудь победил? Как их теперь выводить? И можно ли вернуться на пред метод использование, т.е. к IE.
Коллеги, возникла следующая проблема: по описанной выше методике пытаемся реализовать запись звука из формы с HTML-документом на веб-клиенте (2 кнопки- Начать запись и Закончить запись). Скачан и доработан готовый скрипт на JS зашитый в поле HTML. При попытке начать запись выдается Dom Exception, судя по консоли JS в момент попытки чтения звуковых устройств, т.е. по ощущениям не хватает прав, хотя все права для самого сайта даны на уровне браузера. Может кто знает, есть ли какие-то ограничения для веб-клиента на этот счет, ведь локально на странице все прекрасно отрабатывает. Кусок скрипта ниже:
Всех приветствую!
Использовали печатную форму на HTML(IE)
Перешли на версию 8.3.14.1854. Как мы уже поняли IE сменился на WebKit. Возникла проблема: на некоторых компах перестали выводится "Границы таблиц". Выводится сплошной текст.
Как можно починить?
Платформа 8.3.18.1616
При работе с гугл картой через некоторое время карта становится неактивной то есть просто серое окно поля HTML, какой то закономерности "вылетания" не поймал, подскажите куда копать
Попал на эту страницу, потому что ищу внятный пример инициализации веб сокета на JS из 1С по средством WebKit.
Что бы можно было поднять сокет и отправлять в него различные строковые значения.
Может кто то может подсказать?
не уверен что на 1С можно такой асинхронный обмен сделать .. объекты в 1С - web или http-сервис - это работает как "вопрос-ответ"
(26) Здравствуйте, как я понимаю, Вы реализовывали механизм перетаскивания. У меня возникла проблема, возможно, Вы с подобной тоже сталкивались.
Приглядевшись, я понял, когда мы захватываем объект, он не только становится полупрозрачным, а еще и уменьшается в размерах в окне, и, судя по всему, сами размеры "грида" как-то тоже уменьшаются в этом масштабе, хотя на экране ничего не меняется, и получается, что я его "тащу" на нарисованный объект, а фактически под ним в этот момент позиция смещена.
Ну а в браузерах (Chrome, Edge) этот сгенеренный код странички отрабатывает нормально - при перетаскивании элемент не уменьшается в размерах и ложится четко, куда отпустят.
В общем, поле HTML документа в Предприятии глючит.
Но если я запускаю свою конфигурацию через веб-клиент - там всё хорошо. В принципе, там тоже при перетаскивании объект в размерах не уменьшается. То есть браузер нормально отрабатывает. А в преприятии что-то странное.
что бы это могло быть?
PS: 8.3.18.1483
(67) Да подтверждаю с элементами Drag and Drop точно не всё в порядке. Тот же сайт инфостарт, если открыть в поле ХТМЛ, после редакитровать публикацию нажать, то все картинки просто исчезают.
Видимо какие то глюки WebKit.
Куда писать чтоб фиксили?
Привет .. перетаскивание не реализовывал .. возможно стоит как то "подсветить" объект-приемник при срабатывании на нем события переноса, чтобы визуально определять правильность приемника при помещении в него карточки
HTML-редактор используется для создания пользовательских описаний в виде HTML-документов. Окно редактора содержит три закладки, позволяющие осуществлять просмотр и редактирование документа.
На закладке Редактирование документ отображается в текстовом и графическом виде:
На закладке Текст разработчик имеет возможность редактировать HTML-текст документа:
Закладка Просмотр предназначена для отображения документа в том виде, в котором он будет показан пользователю:
Работа с HTML-документом напоминает работу в обычном текстовом редакторе, однако HTML-редактор предоставляет ряд дополнительных возможностей, которые обусловлены использованием формата HTML:
Форматирование текста
Текст HTML-документа можно форматировать: устанавливать его стиль, абзацные отступы, выбирать размер шрифта, параметры, гарнитуру и т. д.:
При копировании текста из других текстовых редакторов (например, Word) HTML-редактор сохраняет исходное форматирование текста.
Картинки
В HTML-документе могут быть размещены картинки. Разработчик имеет возможность задавать размеры картинки, ее положение и толщину рамки вокруг картинки:
Похожие FAQ
Как заполнить табличную часть формы программно? 8
Нужно по кнопке Заполнить - сформировать данные для заполнения табличных частей и заполнить их. Форма имеет вид: Рядом с кнопкой Записать и закрыть добавлена кнопка Заполнить документ , код ее команды: // Код заполнения ТЧ НаСервере П 10060 (0x0000274C): Попытка установить соединение была безуспешной 19
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает :) И вот же надо было такому случиться, главному бухгалтеру не понравилось работать через терминал, а еще у нее свой ноутбук и 17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C и Google Maps 21
была поставлена задача отображения на географической карте медицинских учреждений. После обзора предлагаемых решений был выбран сервис google. Но так же подобного рода подход будет работать и с картами сервиса yandex. Во время решения задачи было реш 1C медленно работает по сети с базой на SQL Server 20
Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL . Перечислим неоптимальности в настройке: 1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. П Посмотреть все результаты поиска похожих
Вывод.
Комбинируя эти методы, вы сможете довольно легко запускать необходимый вам js код, и получать данные в 1С, для дальнейшей обработки.
Дополнение от 25.03.2016
Попытка выполнить данную конструкцию на платформе 8.3.5.1570 и ниже в толстом клиенте, под управляемой формой, не увенчалась успехом. Но был найден еще один способ выполнить данную операцию. Возможно даже более простой и удобный.
Получим наш Элемент по ИД
Установим атрибут «onclick» и его значение, одной функцией ( ДИВ.setAttribute("onclick", "alert('Координаты');");
ТАДА. все работает
Еще в этой же категории
Дополнения от 26.03.2016
И в этом месте тоже произошли непонятки (ошитбка восптроизводится только на плаформе 8.3.5.1570, но дабы предупредить эти ситуации в далнейшем, приведу решение) Сама причина - при повторном запуске формы с Поле HTML документа в момент вызова процедуры при нажатии по полю HTML платформенный вызов залипал и валил весь COM объект ( Произошла исключительная ситуация (htmlfile): Неопределенная ошибка ). Решением стало отключение стндарного выполнения события click, и отключение режима всплывания события. Как же это сделать смотрим ниже.
// отключим всплывание события подробнее тут
// отключим стандартное поведение подробнее тут
В результате для передачи данных в 1с из JS мы получим функцию.
ПолеHTMLДокумента в управляемом приложении
Для примера, во внешней обработке, создаём реквизит формы — ПолеHTMLДокумента1 (с типом — строка). На самой форме создаём элемент, указывающий на наш, только что созданный реквизит. Вид его указываем — Поле HTML документа.
В управляемом приложении метод «Перейти» недоступен.
По этой причине, для перехода на страницу, URL-адрес установим не полю формы, а реквизиту формы.
Надписи
HTML-редактор позволяет использовать в документах надписи — специальные объекты HTML-документа. В надписи можно разместить текст, таблицу, картинку или другую надпись. При просмотре документа вложенные объекты надписи будут непрерывно прокручиваться справа налево:
Работая с html данными, бывает необходимо получить только чистый текст, исключив все теги и скрипты.
Ниже приведена универсальная функция, оставляющая только текст:
Читайте также: