Решение проблемы с некорректным функционированием кнопки «Назад».

Многие разработчики в процессе создания триггера по событию в QlikView сталкивались с тем, что кнопка «Назад» прекращала свою работу.

Причиной этому является то, что кнопка работает не только с выборками, но и с переменными. Если они изменялись, то нажатие на кнопку «Назад» вернет тебя не к предыдущей выборке, а к предыдущему значению переменной.

Решение данной проблемы довольно простое. Достаточно создать несколько альтернативных состояний и по событию копировать выборки из одного в другое.

Алгоритм действий:

  1. Создаем N альтернативных состояний, где N - это потенциальное количество шагов назад

  2. Создаем N триггеров «Copy State Contents» на событие «OnAnySelect», которые будут переносить выборки из одного состояния в другое.

  3. Создаем кнопку «Назад» с триггерами «Copy State Contents», но теперь уже в обратном направлении.

Подробная инструкция с изображениями:

Создаем альтернативные состояния:

Вешаем триггер на событие «OnAnySelect»:

Важно: первый триггер копирует из предпоследнего в последний, следующий из пред-предпоследнего в предпоследний и так дальше.

Дошли до первого, который копирует выборки из состояния «$» (дефолтное состояние):

Теперь создаем триггер для кнопки «Назад» (все то же самое, только в обратном направлении):

Важно: первый триггер копирует из второго в первый, следующий из третьего во второй и т.д.

Таким образом, мы получаем краткую подробную и понятную для восприятия инструкцию по работе с кнопкой «Назад».

Еще два способа реализовать данный процесс:

  • Описанный случай, но только через переменную (если использовать триггер «Copy State Contents» в несуществующее состояние, то оно создается автоматически)

  • Через «$N», где N - это переменная содержащая кол-во шагов назад.

© Андрей Белобородов

#casestudy #Sapiens #Dashboard #Qlik

Смотрите также:

  • Facebook
  • ВКонтакте
  • LinedIN

Sapiens solutions 2017