Работа 1С 8.3 с Internet Explorer
Интеграция информационной системы с сторонними приложениями — очень важная и интересная задача. Платформа 1С не осталась в стороне и приложила множество усилий для того, чтобы решения на базе 1С могли уверенно работать с другими продуктами.
Самый популярный вид взаимодействия — интеграция с приложениями MS Windows: Excel, Word, Acces, Outlook, SQL и так далее. Среди этих программ интернет-браузер Internet Explorer — приложение, которое установлено на любой машине с ОС Windows. Рассмотрим на примере взаимодействие платформы 1С с браузером Internet Explorer с помощью COM соединения.
Вход в почту web-страницы из 1С
Для нашего примера напишем небольшую обработку, которая будет подключаться к веб-браузеру, вводить логин и пароль пользователя и нажимать кнопку «войти», а также иметь кнопку выхода из системы.
Первое действие — подключение к приложению, создание com-объекта:
IE = Новый COMОбъект(«InternetExplorer.Application»);
Устанавливаем видимость:
IE.Visible = Истина;
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
После этого с помощью метода Navigate() переходим на необходимую страницу сайта:
IE.Navigate(«http://mail.ru/»);
Но загрузка веб-страниц не происходит мгновенно, необходимо дождаться полной загрузки документа (статус > 4):
Пока 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С Предприятия и откроем обработку. Введем пароль и логин от почты и нажмем «вход»:
Видим, что обработка отработала как надо.
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Гость:
Работает
Андрей:
все работает.спасибо автору, пишу обработку рассылки сообщений на сайте знакомств.
интересное занятие.
Программист 1С:
Спасибо за комментарий)
Интересное применение 1с! если поделитесь в виде заметки о том как это делали — будем очень рады)
Да и вообще ищем креативных авторов 🙂
Прохожий:
IE.document.getElementByID(«mailbox__auth__button»).click();
А если у кнопки нет ID и Name, то как в таком случае нажать на кнопку
Михаил:
откройте для видимости дату публикации комментария плз. И у меня тот же вопрос. Прохожий:
IE.document.getElementByID(«mailbox__auth__button»).click();
А если у кнопки нет ID и Name, то как в таком случае нажать на кнопку
Олег:
Что такое Visible, document.getElementByID b=и прочие?! Где почитать про остальные свойства?!
Павел:
А подскажите, где можно узнать какие есть ещё методы для работы IE кроме Visible(), Navigate(), document.getElementByID()
Гость:
Если понадобится закрыть ненужное окно IE, то IE.Quit();
На счет «почитать ещё» — гуглим «com объект IE», например https://script-coding.com/WSH/WebBrowser.html