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

Sapiens solutions 2017

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

 

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

 

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

 

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

 

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

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

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

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

     

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

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

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

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

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

     

 

 

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

Facebook
Please reload

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

Please reload