Выпадающее меню работает в PM, но не работает в ZP

gexweb

Client
Регистрация
04.12.2016
Сообщения
147
Благодарностей
24
Баллы
18
Есть C# кубик который отлично работает в PM, но не хочет работать в ZP. Пробовал делать клик по выпадающему меню перед выбором значения, играл с паузами, результат такой же. Подскажите что можно сделать.
//Ищем меню
var tab = instance.ActiveTab;
var el = instance.ActiveTab.FindElementByXPath("//div/select[@id='Config_4_value']", 0);
if (el.IsVoid) return -1;
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
// Установить атрибуту "selecteditems" значение "Только при посещении страницы"
el.SetAttribute("selecteditems", "{-Variable.update_cache-}");
 

gexweb

Client
Регистрация
04.12.2016
Сообщения
147
Благодарностей
24
Баллы
18
Решение найдено. Если я правильно понимаю, то проблема была в передаче значения переменной. Некоторые вещи в проекте я делаю путем конвертации обычных кубиков в C# код, первый вариант был собран как раз по такому принципу. Самое интересное в том, что он работает, но только в ProjectMaker.
//Ищем меню
var tab = instance.ActiveTab;
var el = instance.ActiveTab.FindElementByXPath("//div/select[@id='Config_4_value']", 0);
if (el.IsVoid) return -1;
// Задержка эмуляции
instance.WaitFieldEmulationDelay();
string value = project.Variables["update_cache"].Value;
// Установить атрибуту "selecteditems" значение "Только при посещении страницы"
el.SetAttribute("selecteditems", Value)
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 709
Благодарностей
10 165
Баллы
113

gexweb

Client
Регистрация
04.12.2016
Сообщения
147
Благодарностей
24
Баллы
18
Да, потому что у вас переменная указана неправильно для C#.
Я понимаю, но такую строчку я получил путем конвертации рабочего кубика собранного в конструкторе. Видимо конвертация в C# код не всегда корректно конвертирует. И PM в заблуждение ввел, нормально отрабатывая))) Почему в PM всё работает?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)