Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

ПолеHTMLдокумента нажать на кнопку

ПолеHTMLдокумента нажать на кнопку
Я
   cnuptt10
 
06.12.18 - 21:32
Добрый день уважаемые пользователи.
В 1С не силен, только изучаю. Пишу на C#. Есть задача которую нужно выполнить именно в 1С. Есть полеHTMLдокумента.
Скажите пожалуйста, как выполнить в 1С такой код на полеHTMLдокумента:

HtmlElement he = instance.GetTabByAddress("page").GetDocumentByAddress("0").FindElementById("button");
if (he.IsVoid) {
    he = instance.GetTabByAddress("page").GetDocumentByAddress("0").FindElementByAttribute("button", "class", "style-scope\\ tt-icon-button", "regexp", 13);
}
if (he.IsVoid) {
    he = instance.GetTabByAddress("page").GetDocumentByAddress("0").FindElementByAttribute("button", "InnerText", "\\ \\ \\ \\ \\ \\ \\ \\ \\ \\r\\n\\ \\ \\ \\ \\ \\ \\ \\r\\n\\ \\ \\ \\ \\r\\n\\ \\ \\ \\ \\r\\n\\ \\ ", "regexp", 11);
}
if (he.IsVoid) {
    he = instance.GetTabByAddress("page").GetDocumentByAddress("0").FindElementByAttribute("button", "fulltag", "button", "text", 37);
}
if (he.IsVoid) return -1;


instance.WaitFieldEmulationDelay();

he.RiseEvent("click", instance.EmulationLevel);
 
 
   Garykom
 
1 - 06.12.18 - 21:41
ОФ или УФ ?
   Asmody
 
2 - 06.12.18 - 21:47
(1) Сейчас ты ему мозг взорвешь.
   cnuptt10
 
3 - 06.12.18 - 21:47
ОФ
   Garykom
 
4 - 06.12.18 - 22:28

Процедура КнопкаВыполнитьНажатие(Кнопка)
    ЭлементыФормы.ПолеHTMLДокумента1.Перейти("https://www.forum.mista.ru/";);
КонецПроцедуры

Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент)
    he = ЭлементыФормы.ПолеHTMLДокумента1.Документ.getElementById("findlink");
    he.click();
КонецПроцедуры

   Garykom
 
5 - 06.12.18 - 22:36
Лучше так

Процедура КнопкаВыполнитьНажатие(Кнопка)
ЭлементыФормы.ПолеHTMLДокумента1.Перейти("https://www.forum.mista.ru/";);
КонецПроцедуры
Процедура ПолеHTMLДокумента1ДокументСформирован(Элемент)
Если ЭлементыФормы.ПолеHTMLДокумента1.Документ.body.innerText<>"" Тогда
  he = ЭлементыФормы.ПолеHTMLДокумента1.Документ.getElementById("findlink");
  he.click();
КонецЕсли;
КонецПроцедуры

   Garykom
 
6 - 06.12.18 - 22:40
А как бы на форуме сделать чтобы внутри распознавания кода или указания тегов [ 1C ] ... [ / 1C ] не портил ссылки а цитировал как есть?
   Asmody
 
7 - 06.12.18 - 22:47
(6) Никак. Фильтры последовательно накладываются и друг про друга не знают ничего.
   Garykom
 
8 - 06.12.18 - 22:54
(7) А исходный текст отправленного сообщения (без фильтров) сохраняется или нет?
Т.е. фильтры они в онлайне при выдаче страницы или при добавлении поста?
   cnuptt10
 
9 - 07.12.18 - 10:54
Не ребята, не работает.

Значение не является значением объектного типа (click)
  he.click();
   cnuptt10
 
10 - 07.12.18 - 11:11
Может безумная идея, но может 1С и C# можно подружить? :)
 
 Рекламное место пустует
   Garykom
 
11 - 07.12.18 - 11:34
(9) Пример из (5) у тебя работает?
Вот с этим адресом и чтобы был 
<a id="findlink" href="/find.php" class="findlink" target="_blank">Поиск</a>
на странице?

Если работает то проблема в той странице на которой ты пытаешься найти "button". И да как узнать найден ли элемент хз <>null не срабатывает.
   Garykom
 
12 - 07.12.18 - 11:37
(10) И каким местом ты его дружить собрался? Он как бы давно "подружен" кучей способов, включая "Ъ"

v8: v8: Использование сборок .NET в 1С 7.x и 8.x товарищем Serginio1
Поизучай его темы (если конечно продерешься сквозь его уникальный стиль)
   Garykom
 
13 - 07.12.18 - 11:39
(12)+ Те никто не мешает подрубить ВК (умеющую юзать код C#/.Net из 1С) и передать в нее COM-объект из ПолеHTMLДокумента.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует