Интеграция информационной системы с сторонними приложениями — очень важная и интересная задача. Платформа 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:
Зная ID поля, мы можем обратиться к нему:
IE.document.getElementByID(«mailbox__login»).value = Логин;
IE.document.getElementByID(«mailbox__password»).value = Пароль;
И установить нужное нам значение (value).
После заполнения необходимо «кликнуть» на кнопку входа. Также узнаём её идентификатор и используем метод «click()»:
IE.document.getElementByID(«mailbox__auth__button»).click();
Выход из почты еще проще, достаточно просто нажать на кнопку выхода:
IE.document.getElementByID(«PH_logoutLink»).click();
Тестирование обработки
Для теста запустим систему в режиме 1С Предприятия и откроем
Настройка и использование веб-браузера Microsoft Internet Explorer
Особенности использования
Если на вашем компьютере установлена операционная система Windo.ws XP SP 2, необходима библиотека jscript.dll версии 5.6.0.8834 и выше. Библиотеку можно найти в папке system32 операционной системы. Более ранние версии библиотеки будут значительно замедлять работу веб-клиента. Для ранних версий jscript.dll мы рекомендуем скачать пакет обновлений на сайте Microsoft .
Настройки использования веб-браузера
Перед первым сеансом работы в веб-браузере необходимо настроить свойства обозревателя. Для этого нужно предпринять следующие шаги:
1. В левом верхнем углу браузера кликните на иконку "Настройки", выберите пункт Свойства обозревателя (Internet Options) и настройте следующие параметры:
2. Разрешить выполнение JavaScript скриптов:
- Вкладка Безопасность (Security) для зоны Internet кликните Другой (Custom level);
- Раздел Сценарии (Scripting) для параметра Активные сценарии (Active scripting) выберите опцию Разрешить (Enable) и нажмите кнопку "OK".
3. Разрешите всплывающие окна:
- Вкладка Конфиденциальность (Privacy);
- Раздел Блокирование всплывающих окон (Pop-up Blocker) снимите отметку с опции Блокировать всплывающие окна (Block Pop-ups).
4. Разрешите использование cookies:
- Вкладка Конфиденциальность (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. Открыть настройки ОС "Язык и региональные стандарты" ("Regional and Languages Options")
2. Вкладка "Языки" ("Languages"), раздел "Языки и службы текстового ввода" ("Text services and input languages") – нажать кнопку "Подробнее..." ("Details...")
3. В появившемся окне кликнуть вкладку "Параметры" ("Settings") в разделе "Язык ввода по умолчанию" ("Default input language") и выбрать нужный язык
4. нажать кнопку "OK"
Особенности использования расширенных средств работы с файлами
Операции с файлами в режиме веб-клиента выполняются интерактивно. Даже если действие не требует взаимодействия с пользователем (выбор файла и т.п.), программа выдает диалоговое окно, где пользователь должен подтвердить свое действие.
Для использования расширенных средств работы с файлами в Internet Explorer нужно установить специальный ActiveX компонент "1С:Предприятие 8.2. Расширение работы с файлами для Internet Explorer (x86)" (32- или 64-разрядный вариант). Этот компонент уже включен в платформу 1С: Предприятие 8.2, но его установка требует реализации вызова метода УстановитьРасширениеРаботыСФайлами в конфигурации.
Чтобы компонент корректно работал, в браузере необходимо предоставить права на установку и использование подписанных ActiveX компонентов для зоны, в которой находится веб-сайт.
Для настройки веб-браузера 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
).
Показ 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.