Проверка ресурса на наличие



  • Как и многие скаду спасибо за хороший софт. В общем есть следующие данные: ресурс в котором выбираем 1 из вариантов в виде выпадающего списка (назовем его category) с возможностью выбора вариантов например cat1, cat2, cat3 и т.д. При выборе любой из категорий показывается другой список с субкатегориями (например при выборе cat1 это могут быть sub1, sub2...и и.д.). Можно сказать как дерево. В скрипте нужно получить значение из списка субкатегории. Такой вопрос: как построить алгоритм? Просто получается что, например, выбрав при запуске cat4 и sub6. Если я буду пытаться проверять через foreach, то меня выкинет из программы изза того что ресурсы sub1-5 для категории не назначены, т.е. такоих переменных нет



  • @Monarch
    Я бы вызвал первый список категорий, извлёк код действием "Получить код", из кода извлёк регулярным выражением элементы по которым можно опознать категории.

    С помощью Foreach получил элементы списка, с их помощью вызывал подсписки и тем же методом получил каждую подкатегорию.

    Проверил имеют ли подкатегории ещё уровень вложенности, если имеют - повторил процедуру.

    И т.д., пока не закончатся подкатегории.



  • комбобокс не помогает?



  • @Monarch я решил так - установил переменную - указал ресурс и название переменной, а вот после уже через if



  • @Monarch

    Вот проект, который работает, как вы написали.

    0_1475757535989_subcategory.xml



  • Спасибо! Сегодня днем в свободное время тоже пришел к такому решению. Но возник еще вопрос: думал попробовать заменить кучу if связкой switch------case с помощью инструменты-выполнить код. В яваскрипте я не разбираюсь (10 лет назад изучал pascal, c++ и с# - представление как это работает есть). В общем попробовал - и ничего не вышло BAS выкинуло длинную ошибку. Конечно связка из if работает...но у меня категорий около 50 и субкатегорий в них от 5 до 60. Скрипт получился большой



  • @Monarch Вот через switch

    0_1475840405230_Switch.png

    subcategory.xml



  • @support спасибо прям огромное


Log in to reply