Настройка explorer для работы 1с. Настройка и использование веб-браузеров. Разрешить выполнение JavaScript скриптов
Интеграция информационной системы с сторонними приложениями — очень важная и интересная задача. Платформа 1С не осталась в стороне и приложила множество усилий для того, чтобы решения на базе 1С могли уверенно работать с другими продуктами.
Самый популярный вид взаимодействия — интеграция с приложениями MS Windows: Excel, Word, Acces, Outlook, SQL и так далее. Среди этих программ интернет-браузер Internet Explorer — приложение, которое установлено на любой машине с ОС Windows. Рассмотрим на примере взаимодействие платформы 1С с браузером Internet Explorer с помощью .
Вход в почту web-страницы из 1С
Для нашего примера напишем небольшую обработку, которая будет подключаться к веб-браузеру, вводить логин и пароль пользователя и нажимать кнопку «войти», а также иметь кнопку выхода из системы.
Первое действие — подключение к приложению, создание com-объекта:
IE = Новый COMОбъект(«InternetExplorer.Application»);
Получите 267 видеоуроков по 1С бесплатно:
Устанавливаем видимость:
IE.Visible = Истина;
После этого с помощью метода Navigate() переходим на необходимую страницу сайта:
IE.Navigate(«http://mail.ru/»);
Пока IE.readyState < 4 Цикл
КонецЦикла;
Т.е. будет запущен бесконечный цикл, пока документ не будет полностью сформирован.
После этого перейдем к заполнению формы на сайте, но предварительно нам необходимо узнать идентификаторы полей, которые мы будем заполнять. Для этого нужно отобразить в браузере исходный код страницы. В коде поля есть id:
Для теста запустим систему в режиме 1С Предприятия и откроем
Здесь вы сможете ознакомиться с подробной информацией по настройке и конфигурации веб-браузеров Microsoft Internet Explorer, Mozilla Firefox, Apple Safari и Google Chrome для работы с программой «1С:Управление нашей фирмой» («УНФ»).
Настройка и использование веб-браузера Microsoft Internet Explorer
Особенности использования
Для работы с веб-клиентом в операционной системе Windows XP SP 2 требуется наличие системной библиотеки jscript.dll
версии 5.6.0.8834
или выше.
Библиотека находится в каталоге system32
операционной системы. Если на вашем компьютере установлена более ранняя версия библиотеки, то возможно значительное замедление работы веб-клиента. Для обновления версии необходимо скачать пакет обновлений, находящийся по адресу http://support.microsoft.com/kb/942840/en-us .
При использовании Microsoft Internet Explorer 7 и Microsoft Internet Explorer 8 при включенных закладках, в том окне, где закладки есть, для переключения с помощью клавиатуры из главного (окно с закладками) в дочернюю форму (отдельное окно) следует использовать сочетания клавиш +Ctrl+F6. Если закладки отключены, то для переключения можно использовать также сочетания клавиш Ctrl+Tab.
Для этого
В меню Сервис (Tools)
выберите пункт Свойства обозревателя (Internet Options)
и выполните настройки:
на вкладке Безопасность (Security)
для зоны Internet нажмите кнопку Другой (Custom level)
;
в разделе Сценарии (Scripting)
для параметра Астивные сценарии (Active scripting)
установите Разрешить (Enable)
и нажмите кнопку "OK"
.
Разрешите всплывающие окна:
перейдите на вкладку Конфиденциальность (Privacy)
;
на вкладке Конфиденциальность (Privacy)
с помощью регулятора выберите уровень использования cookies - не выше Умеренно высокий (Medium High)
.
Если предполагается совместная работа со сканером штрих-кодов, электронными весами или другими внешними компонентами, необходимо выполнить следующую настройку веб-браузера:
на вкладке Безопасность (Security)
нажмите кнопку Другой (Custom level)
;
в открывшемся окне необходимо установить Разрешить (Enable)
для следующих параметров:
Запрос разрешения для ActiveX объектов (Automatic promting for ActiveX controls)
;
Загрузка подписанных ActiveX объектов с разрешения пользователя (Download signed ActiveX controls)
;
Работа с ActiveX объектам и плагинами (Run ActiveX controls and plug-ins)
;
Работа с объектами, помеченными как безопастные (Script ActiveX controls marked safe for scripting)
.
При каждом открытии вспомогательных окон раскладка клавиатуры выбирается из настроек операционной системы. Если она не совпадает с языком ввода данных, то чтобы исключить переключение языка рекомендуется в настройках указать нужный язык ввода.
Для настройки языка ввода по умолчанию выполните следующие действия:
откройте настройки операционной системы "Язык и региональные стандарты" ("Regional and Languages Options")
;
на закладке "Языки" ("Languages")
в разделе "Языки и службы текстового ввода" ("Text services and input languages")
нажмите кнопку "Подробнее..." ("Details...")
;
в открывшемся окне на закладке "Параметры" ("Settings")
в разделе "Язык ввода по умолчанию" ("Default input language")
выберите нужный язык;
нажмите кнопку "OK"
.
При работе в Internet Explorer 8 в некоторых ситуациях при переходе к уже открытому окну из другого окна будет выдаваться диалог с текстом "Нажмите OK для перехода к окну" и кнопкой OK. После нажатия кнопки будет осуществлен переход к окну.
Особенности использования расширенных средств работы с файлами
Реализация для Internet Explorer требует установки специального ActiveX компонент 1С:Предприятие 8.2. Расширение работы с файлами для Internet Explorer (x86)
, либо ее 64 разрядный вариант для 64 разрядного Internet Explorer. Компонент включен в платформу, но ее установка должна быть предусмотрена в конфигурации (должен быть реализован вызов метода УстановитьРасширениеРаботыСФайлами).
Для работы с компонентом, в браузере должны быть предоставлены права на установку и использование подписанных ActiveX компонентов для зоны, в которой находится веб-сайт.
Для работы с файлами используется библиотека Microsoft Core XML Services (MSXML). Рекомендованные версии MSXML 6.0 и MSXML 4.0. В случае использования MSXML 3.0, возможны проблемы с передачей файлов большого размера с клиента на сервер.
Со списком версий модулей MSXML, ограничений и рекомендаций по установке можно ознакомиться на этой странице .
Настройка и использование веб-браузера Mozilla Firefox
Особенности использования
Все операции с файловой системой (получение файла с сервера, передача файла на сервер, удаление файла и т.п.) выполняются строго интерактивно. Если выполнение действия не требует взаимодействия с пользователем (напрмер выбора файла), то выдается диалог-предупреждение, требующий от пользователя подтверждения.
Настройки использования веб-браузера
Для подключения к информационным базам 1С:Предприятия 8 с помощью Mozilla Firefox нужно выполнить следующие настройки:
Откройте браузер, в меню Инструменты (Tools)
выберите пункт Настройки (Options)
;
Содержимое (Content)
Снимите флажок ;
Установите флажок Использовать JavaScript (Enable JavaScript)
.
Перейдите в раздел Приватность (Privacy)
установите следующие настройки:
Установите флажок Принимать cookies с сайтов (Assept cookies from sites)
;
Для детальной настройки приема или отклонения cookies щелкните кнопку Исключения (Exeptions)
и следуйте пояснениям диалога настройки.
В случае если в качестве браузера используется английская версия Mozilla Firefox, то для правильной работы веб-клиента требуется выполнить следующую настройку (расположение настроек приведено для версии 3.5):
Откройте браузер, в меню Tools
выберите пункт Options
;
На закладке Contents
в группе Fonts & Colors
нажмите кнопку Advanced
;
В параметре Default Character Encoding
выберите Unicode
.
Модификацию остальных параметров, которые могут потребоваться для работы с веб-клиентом 1С:Предприятия, можно осуществить с помощью команды "Сервис - Настройка веб-браузера"
. В окне выполняются настройки, которые можно также выполнить в настройках самого веб-браузера в диалоге запроса привилегий.
В окне осуществляется настройка следующих параметров обозревателя (в круглых скобках указывается аналогичные параметры настроек веб-браузера):
Разрешить работу с буфером обмена, расширением работы с файлами, внешними компонентами
(signed.applets.codebase_principal_support) - для работы с буфером обмена, внешними компонентами и расширенной работы с файлами (значение true);
Разрешить использование в параметрах строки запуска нелатинских символов
(network.standard-url.encode-query-utf8) - для использования нелатинских символов в адресной строке (значение true);
Разрешить использование клавиатуры для переключения между окнами приложений
(dom.popup_allowed_events) - для разрешения навигации по окнам приложения с клавиатуры (добавляет к значению параметра событие keydown);
Использовать аутентификацию операционной системы
(network.automatic-ntlm-auth.trusted-uris) - если установлен, то будет выполняться аутентификация операционной системы. Данная настройка изменяет только значение ключа network.automatic-ntlm-auth.trusted-uris. Для аутентификации операционной системы в конкретной конфигурации сети и веб-сервера, возможно, потребуется задание значений для ключей network.negotiate-auth.trusted-uris и network.negotiate-auth.delegation-uris. Дополнительную информацию см. в https://developer.mozilla.org/en/Integrated_Authentication .
Данные параметры можно также настроить вручную. Для этого необходимо в адресной строке веб-браузера набрать about:config
, затем в строке фильтра набрать любое слово из имени параметра (например, principal
) и поменять его значение в списке.
Откройте браузер, в меню Инструменты (Tools)
выберите пункт Настройки (Options)
;
В открывшемся окне перейдите в раздел Основные
;
Установите флажок Всегда выдавать запрос на сохранения файла
.
Для ручной настройки аутентификации следует:
в адресной строке браузера набрать about:config
.
затем на странице настроек в строке фильтра ввести название параметра.
Данная настройка осуществляется для трех параметров:
network.automatic-ntlm-auth.trusted-uris,
network.negotiate-auth.delegation-uris,
network.negotiate-auth.trusted-uris.
далее задать список веб-серверов, через которые будет осуществляться работа с базой "1С:Предприятия".
Веб-сервер поддерживает NTLM
-аутентификацию.
Если имя веб-сервера, к которому осуществляется попытка доступа, перечислено в списке имен, содержащихся в параметре network.automatic-ntlm-auth.trusted-uris
, то будет осуществлена попытка автоматической аутентификации. Если же имени веб-сервера там нет, то браузер покажет диалог, в котором необходимо указать логин и пароль пользователя для доступа к веб-серверу.
Веб-сервер поддерживает Kerberos
-аутентификацию.
Для того, чтобы получить доступ к веб-серверу с данным типом аутентификации, в параметр нужно добавить имя этого веб-сервера. При работе с файловой информационной базой этого будет достаточно. В случае необходимости обеспечить автоматическую аутентифкацию пользователей веб-клиента при использовании клиент-серверного варианта "1С:Предприятия", необходимо добавить DNS-имя этого веб-сервера в параметр network.negotiate-auth.delegation-uris
.
В случае, если имя веб-сервера, к которому осуществляется доступ, не обнаружено в параметре network.negotiate-auth.trusted-uris
, аутентификация производиться не будет, и пользователь увидит сообщение об ошибке 401 Unauthorized. Для информирования пользователя о действиях, которые ему необходимо предпринять, администратор может модифицировать страницу сообщения об ошибке 401 (см. документацию к используемому веб-серверу).
Особенности использования расширенных средств работы с файлами
Все операции с файловой системой (получение файла с сервера, передача файла на сервер, удаление файла и т.п.) выполняются строго интерактивно. Если выполнение действия не требует взаимодействия с пользователем (напрмер выбора файла), то выдается диалог-предупреждение, требующий от пользователя подтверждения.
Расширение для работы с файлами требует предоставления привилегии UniversalXPConnect
. Веб-браузер Mozilla FireFox выполняет запрос привилегии интерактивно, но пользователь может запомнить решение для данного веб-сайта.
В случае, если веб-браузер Mozilla FireFox запомнил решение пользователя по предоставлению привилегии, а пользователь хочет изменить это решение, ему придется самостоятельно отредактировать файл prefs.js
, который хранится в папке его профиля веб-браузера Mozilla Firefox.
Описание, как найти папку профиля, находится здесь:
http://wiki.mozilla.ru/index.php/О профилях Mozilla Firefox (русскоязычная статья)
http://support.mozilla.com/en-US/kb/Profiles (англоязычная статья).
Далее нужно:
1. Завершить работу Mozilla FireFox.
2. Открыть prefs.js
любым текстовым редактором
3. Найти в тексте строку UniversalXPConnect
. Будет найден фрагмент текста следующего вида:
user_pref("capability.principal.codebase.p.granted", "UniversalXPConnect");
либо
user_pref("capability.principal.codebase.p.denied", "UniversalXPConnect");
user_pref("capability.principal.codebase.p.id", "");
user_pref("capability.principal.codebase.p.subjectName", "");
где - любое число, а - это адрес нужного веб сайта. Если другой, то нужно продолжить поиск "UniversalXPConnect" по тексту.
4. Удалить найденные строки из текста.
Настройка и использование веб-браузера Apple Safari
Для использования веб-браузера необходимо выполнить настройку свойств обозревателя.
Для этого откройте меню выберите пункт Настройки (Preferences)
и выполните настройки:
Разрешите выполнение JavaScript скриптов:
на закладке Безопасность (Security)
выберите Подключить JavaScript (Enable JavaScript)
Разрешите использование cookies:
на закладке Безопасность (Security)
в группе Принимать cookies (Accept cookies)
выберите Только от посещаемых сайтов (Only from sites I visit)
;
В меню Настройки Safari (Safari Settings)
выберите пункт Настройки (Preferences)
;
На закладке Основные (General)
установите флажок Всегда выполнять запрос перед загрузкой (Always prompt before downloading)
.
Настройка и использование веб-браузера Google Chrome
Для использования веб-браузера необходимо выполнить настройку свойств обозревателя.
Для этого откройте меню Инструменты (Tools)
, выберите пункт Параметры (Options)
, на закладке Расширенные (Under the Hood)
нажмите кнопку Настройки содержания (Content settings)
и выполните настройки:
Разрешите использование cookies:
на закладке Файлы cookie (Cookies)
выберите Разрешить сохранять локальные данные (рекомендуется) (Allow local data to be set (recommended))
или настройте исключения;
Разрешите выполнение JavaScript скриптов:
на закладке JavaScript
выберите Разрешить всем сайтам использовать JavaScript (рекомендуется) (Allow all sites to run JavaScript (recommended)
или настройте исключения;
Разрешите всплывающие окна:
на закладке Всплывающие окна (Pop-ups)
выберите Разрешить всплывающие окна для всех сайтов (Allow all sites to show pop-ups)
или настройте исключения.
Откройте меню Инструменты (Tools)
, выберите пункт Параметры (Options)
;
На закладке Расширенные (Under the Hood)
в разделе Загрузки (Downloads)
установите флажок Запрашивать место для сохранения каждого файла перед загрузкой (Ask where to save each file before download)
.
Для настройки веб-браузера Internet Explorer необходимо выполнить следующие шаги:
1. В меню Сервис (Tools)
выберите пункт Свойства обозревателя (Internet Options)
2. Перейдите на вкладку Безопасность (Security)
и для зоны Internet нажмите кнопку Другой (Custom level): в разделе Сценарии (Scripting)
для параметра Активные сценарии (Active scripting)
установите Разрешить (Enable) и нажмите OK.
3. Перейдите на вкладку Конфиденциальность (Privacy)
и снимите флажок Блокировать всплывающие окна (Block Pop-ups)
в разделе Блокирование всплывающих окон (Pop-up Blocker)
.
4. На вкладке Конфиденциальность (Privacy)
с помощью регулятора выберите уровень использования cookies - не выше Умеренно высокий (Medium High)
.
Если предполагается работать с внешним оборудованием: со сканером штрих-кодов, электронными весами или другими внешними компонентами, необходимо выполнить дополнительную настройку веб-браузера:
1. на вкладке Безопасность (Security)
нажмите кнопку Другой (Custom level)
;
2. в открывшемся окне необходимо установить Разрешить (Enable)
для следующих параметров:
- запрос разрешения для ActiveX объектов (Automatic promting for ActiveX controls
);
- загрузка подписанных ActiveX объектов с разрешения пользователя (Download signed ActiveX controls
);
- работа с ActiveX объектам и плагинами (Run ActiveX controls and plug-ins
);
- работа с объектами, помеченными как безопасные (Script ActiveX controls marked safe for scripting
).
Работа с альтернативным интерфейсом на управляемых формах 1С доступна через HTML. Альтернативный интерфейс может понадобиться, если стандартных элементов управления 1С недостаточно, но хочется чего-то большего. В данной статье перечислены некоторые секреты работы с веб-интерфейсом на управляемых формах 8.2.
Показ Html-страницы на управляемой форме 1С
Для показа Html-страницы необходимо на форму вставить Поле Html Документа и в источник данных поместить html-код. Нужно иметь ввиду следующее: тонкий и веб-клиент на Internet Explorer работают по-особенному. В двух этих случаях используется Internet Explorer в режиме совместимости с IE 7.
Первый секрет заключается в том, что тонкий клиент можно перевести в режим совместимости с более старшей версией IE. Для этого нужно использовать meta X-UA-Compatible. Так на Windows 7 после добавления
можно использовать SVG-объекты, например:
Перевести веб-клиент IE на более современную версию совместимости можно, поместив веб-клиент 1С в IFrame и задав в родительском html meta-тэг совместимости. Пример, как это можно сделать показан здесь: habrahabr.ru/post/183016
Но при этом не гарантируется нормальная работа и отображение веб-клиента, поскольку 1С изначально проектировала веб-клиент из расчета совместимости с IE6/7.
Второй секрет заключается в том, что верстка html-макетов в режиме текста без визуального редактора 1С портится после закрытия макета в конфигураторе. Например, если вы вставите svg-определения на html-макете, то после переоткрытия конфигуратора увидите испорченный html (обратите внимание на head-заголовок).
Поэтому, если ваша верстка сложнее, чем показ рисунка, то советую сохранить html-код еще и в другом месте.
Хранение всего подряд в общих картинках
Современная веб-страница не ограничена одним только html. К ней в дополнение идут картинки, js/css-файлы. Традиционный подход допускает хранение и обращение к картинкам, помещенным в общие картинки конфигурации, но с js/css 1С-разработчикам приходится исхитряться. Текстовые файлы или записывают в архив и распаковывают перед показом страницы или целиком помещают в html. Такой подход не задействует встроенный практически в каждый браузер кэш для get-запросов.
Мой опыт состоял в том, чтобы поместить в общие картинки java-скрипт. Этот опыт частично удался, т.е. все браузеры и тонкий клиент запустили jQuery, кроме IE. Если кто-нибудь знает секрет и сможет заставить работать этот способ на IE, прошу, отписаться.
Действия необходимо делать следующие:
1. Создать общую картинку и поместить в нее любую картинку
2. На html-макете в режиме редактирования выделить любой текст и через меню Элементы-Ссылка выбрать общую картинку
3. Текст из ссылки вставить в блок script
4. Заменить общую картинку на JavaScript-содержимое
Встроенный фреймворк 1С для веб-клиента
Мало кто знает, что веб-клиент 1С включает в себя фреймворк, упрощающий работу с элементами форм. Фреймворк работает на JavaScript. Обращение к нему возможно через parent.WebUI. функции его требуют дополнительных исследований, но свойства выглядят следующим образом:
В теории этот фреймворк можно задействовать для вызова серверных процедур 1С. В этом случае произойдет полная интеграция html-поля с другими элементами управляемой формы, что повлечет платформенную независимость. Сейчас обратная связь достигается за счет WebBrowser Control, который привязан к Windows.
Ключевое слово __STYLE__
Долго ломал голову, что же означает ключевое слово __STYLE__, которое 1С автоматически подставляет в шаблон пустого html-макета. Но исследования запросов показало, что __STYLE__ ничем не заменяется, и на этот запрос сервер возвращает 500 ошибку: Internal Server Error.