Ошибка условия видимости

Поддержка
  • Зашел на сервер клиента, и с ужасом увидел, что у него отображаются ресурсы, которые не должны отображаться по условию видимости. Писал в поддержку (премиум) еще 5 месяцев назад, но проблема не решена. Условия видимости игнорируются только в скомпилированном проекте с защитой. При компиляции без защиты - всё работает корректно; в режиме записи - тоже.

    Суть проблемы: создаю ресурс1 с типом "список" и типом "Check". В список ставлю только одно значение - пробел. Данный ресурс будет опорным флагом включения ряда других ресурсов, зависящих от него. То есть, чтобы увидеть ресурс2 - нужно будет нажать галочку на чекбоксе ресурса1. Почему ставлю пробел? Потому что это красиво смотрится, и никакого текста чекбокс в себе нести в данном случае не должен, на нём должна лишь ставиться галочка, включающая его. Скрин создания ресурса1:
    bd47bfc6-1f9a-4b7e-a40e-0db08e195fee-image.png
    2d965da5-0e3c-429a-98a4-0fb7faf4c056-image.png

    В список помещаю пробел (текст написал просто чтобы было заметно)
    3732c160-96af-4a54-9cfb-b0f17576a677-image.png

    Теперь создаю ресурс2, который должен быть виден только при включении чекбокса на ресурсе1:
    a800318e-8d9b-4ea3-bf7f-88ddec8f7c6f-image.png
    74d6fd67-6258-468b-94af-739b7d0d7610-image.png
    16d64d9e-0f85-4dda-aced-350cb4493f6e-image.png

    Задаю условие видимости (если ресурс1 содержит " " пробел):
    ad8af7b4-5ab4-4ef5-b355-c3e69c2830d9-image.png

    Теперь запустим проект в режиме записи:
    14125a99-e9d4-4abf-a21a-0ac95adca7b9-image.png

    Нажимаем чекбокс:
    c0516956-7ecf-470b-b883-b1a574812676-image.png

    Как видим, всё работает корректно. Запускаем скомпилированный скрипт без защиты. Настройки компиляции:
    0f1081aa-4840-4e81-8bea-b1885ed88dc8-image.png

    Запускаем:
    b0491bef-be0d-4d86-94ba-93b32952382d-image.png
    ed64bf47-662b-42bb-929d-a50937914b6d-image.png

    Опять всё работает верно. Теперь компилим с защитой. Настройки:
    b4125dfc-5589-42e9-8ee0-fb68eb74914b-image.png
    2b3e84cd-4602-4cd3-be2f-66d4a97f1ac9-image.png

    Запускаем, и видим вот такую картину:
    15cf9f0b-1d57-4dc9-9739-6c5af7298e98-image.png

    Прошу пофиксить данную проблему. Только не нужно говорить, что вместо пробела можно использовать другой текст и тд. Мой метод довольно лаконичный, для разработчиков, которые используют большое количество преднастроек, и заморачиваются над минимизацией интерфейса, и переписывать огромные проекты, с сотнями ресурсов - совсем не хочется.

    Вот исходник проекта:
    0a2a2f87-6c30-4811-ba61-9d4fef325036-Ошибка условия видимости.xml Ошибка условия видимости.xml

  • @arcos said in Ошибка условия видимости:

    Check

    Не используйте внутренние переменные, типа check, придумывайте свои оригинальные.
    Рекомендую переменные записывать в верхнем регистре и нижнее подчёркивание, пример: CHK или CH_K.

  • @gurkin4 название переменной здесь просто для примера, но спасибо за инфу. данная ошибка будет повторяться и с любыми другими названиями переменных

  • @arcos Ваш пример проекта у меня отлично работает.

  • @gurkin4 ошибка возникает только в скомпилированном проекте, с защитой.

    edb4d7e6-73a7-4edf-a8ba-ceeef2977d01-image.png

  • @arcos said in Ошибка условия видимости:

    Зашел на сервер клиента, и с ужасом увидел, что у него отображаются ресурсы, которые не должны отображаться по условию видимости. Писал в поддержку (премиум) еще 5 месяцев назад, но проблема не решена. Условия видимости игнорируются только в скомпилированном проекте с защитой. При компиляции без защиты - всё работает корректно; в режиме записи - тоже.

    Суть проблемы: создаю ресурс1 с типом "список" и типом "Check". В список ставлю только одно значение - пробел. Данный ресурс будет опорным флагом включения ряда других ресурсов, зависящих от него. То есть, чтобы увидеть ресурс2 - нужно будет нажать галочку на чекбоксе ресурса1. Почему ставлю пробел? Потому что это красиво смотрится, и никакого текста чекбокс в себе нести в данном случае не должен, на нём должна лишь ставиться галочка, включающая его. Скрин создания ресурса1:

    В список помещаю пробел (текст написал просто чтобы было заметно)

    Теперь создаю ресурс2, который должен быть виден только при включении чекбокса на ресурсе1:

    Задаю условие видимости (если ресурс1 содержит " " пробел):

    Теперь запустим проект в режиме записи:

    Нажимаем чекбокс:

    Как видим, всё работает корректно. Запускаем скомпилированный скрипт без защиты. Настройки компиляции:

    Запускаем:

    Опять всё работает верно. Теперь компилим с защитой. Настройки:

    Запускаем, и видим вот такую картину:

    Прошу пофиксить данную проблему. Только не нужно говорить, что вместо пробела можно использовать другой текст и тд. Мой метод довольно лаконичный, для разработчиков, которые используют большое количество преднастроек, и заморачиваются над минимизацией интерфейса, и переписывать огромные проекты, с сотнями ресурсов - совсем не хочется.

    Вот исходник проекта:
    0a2a2f87-6c30-4811-ba61-9d4fef325036-Ошибка условия видимости.xml Ошибка условия видимости.xml

    Ваш тикет создан, но комментариев по нему ещё нет. В причинах я разобрался, отпишу разработчику. Сейчас можете попробовать использовать символ отличный от пробела и не имеющий отображающую форму. Например вывести в лог код \200 с типом expression, в логе будет символ PAD (для его отображения нужно включить отображение всех символов в текстовом редакторе)

    3543f55d-e9fe-4a19-baaa-a9e4444963d7-изображение.png

    Далее этот PAD нужно скопировать в буферобмена и использовать в ресурсах

    Тестовый скрипт: 2595.xml

    Это решит проблему и в скомпилированных скриптах с защитой:

    support1466.gif

  • @Fox спасибо. как временное решение - это подойдёт. Но переделывать старые скрипты нереально, т.к. проекты настолько большие, что даже поиск не находит нужных элементов, даже если вводить айди действия. буду надеяться что пофиксят, и ничего переделывать не потребуется

  • @arcos said in Ошибка условия видимости:

    @Fox спасибо. как временное решение - это подойдёт. Но переделывать старые скрипты нереально, т.к. проекты настолько большие, что даже поиск не находит нужных элементов, даже если вводить айди действия. буду надеяться что пофиксят, и ничего переделывать не потребуется

    Если проблема с отображением ресурсов критичная - её можно достаточно быстро исправить. Нужно выйти из BAS, открыть проект в текстовом редакторе и массово заменить текст

    <VisibilityConditionValue> </VisibilityConditionValue>
    

    на

    <VisibilityConditionValue>€</VisibilityConditionValue>
    

    форум не отображает символ между этими тегами, но он там есть:

    support1467.gif

  • @arcos said in Ошибка условия видимости:

    проекты настолько большие, что даже поиск не находит нужных элементов, даже если вводить айди действия

    Можете скинуть проблемный проект в личку? В котором не работает поиск по id действий

  • 0 Votes
    4 Posts
    480 Views
  • 0 Votes
    2 Posts
    491 Views
  • 0 Votes
    21 Posts
    2503 Views
  • 0 Votes
    12 Posts
    1128 Views
  • 0 Votes
    2 Posts
    866 Views