Имя: Пароль:
1C
1С v8
Программно нажать на кнопку "ОК" в Microsoft Web Browser
,
0 unca
 
20.03.14
14:22
1С 8.2
Делаю обработку, в которой расположен всего один элемент ActiveX Microsoft Web Browser.
Конекчусь через него к некому веб серверу 1С.
Появляется окно логина/пароля, которые я успешно ввожу на основании некоторых данных. А вот кнопку ОК нажать не могу.

Перебрал все элементы с методом click(). Только открылся список всех пользователей. Кнопки "Ок" и "Отмена" никак себя не проявили. Подскажите метод которым можно сделать это программно. Может скрипт какой надо ...

кусок кода которым я все элементы документа пробегаю.

Для Каждого Эл из ЭлементыФормы.ie.Document.all цикл
    Эл.Click();
КонецЦикла;
1 unca
 
20.03.14
14:52
нежный ап
2 unca
 
20.03.14
15:20
Если кто-то захочет подключиться, то вот необходимый кусок для старта

Процедура ПриОткрытии()
    ie = ЭлементыФормы.ie;
    ie.Navigate("http://adressBD";);
    ПодключитьОбработчикОжидания("Запустить",3);
КонецПроцедуры

Процедура Запустить() Экспорт
    
    Пока ЭлементыФормы.ie.ReadyState <> 4 Цикл
        Возврат
    КонецЦикла;
    
    Doc = ЭлементыФормы.ie.Document;
    Doc.GetElementById("userPassword").attributes.Value.value = "Пароль";
    Doc.GetElementById("userName").attributes.Value.value = "Пользователь";
    
    ОтключитьОбработчикОжидания("Запустить");
КонецПроцедуры
3 unca
 
20.03.14
15:22
Перед отключением обработчика и нужно нажать на кнопку "ОК"
4 fvadim
 
20.03.14
15:23
если кнопки привязаны к форме - там нету кликов, там submit формы.
5 unca
 
20.03.14
15:29
(4) кнопка находиться в окошке логина, который открывается при запуске 1С через браузер.
6 unca
 
20.03.14
15:32
Добавлю, что в списке всех элементов есть такая кнопка. У нее ID = "okButton", но что с ней делать я не знаю.
7 fvadim
 
20.03.14
16:24
Добавлю, что ты - лентяй.

Doc.Forms(0).submit();
8 unca
 
20.03.14
17:21
(7) не взлетело. После данного куска кода отправляет на окно логина/пароля
9 Sinoptic
 
20.03.14
17:42
Узнай может на сервере к которому коннектишся можно залогиниться типа: http://adressDB?login=user1&pass=123456
10 unca
 
20.03.14
17:49
(9) хмм, нельзя. Надо им подсказать. Это же неким скриптом они добиться могут, я правильно понимаю?
11 Fram
 
20.03.14
17:50
(8) Вводи программно пароль и опять ОК
12 oleg_km
 
20.03.14
17:54
Надо ковыряться исходнике JavaScript. Может не у той формы сабмит. Это не модальное окно, не авторизация типа Basic или Dig?
13 unca
 
20.03.14
18:00
(11) и ситуация повторяется
(12) форма только одна. хз.
14 oleg_km
 
20.03.14
18:08
А код на JavaScript можно привести. Я когда хакал банк-клиент - долго изучал код JavaScript. даже под отладчиком Visua Studio трассировку делал
15 unca
 
21.03.14
10:36
Да, надо было покопаться... решение оказалось максимально простым:

http://server/BD?O=Low&C=start.xml&N=user&P=psw
Независимо от того, куда вы едете — это в гору и против ветра!