Qlik Community

QlikView Deployment

Discussion Board for collaboration related to QlikView Deployment.

Announcements

Breathe easy -- you now have more time to plan your next steps with Qlik!
QlikView 11.2 Extended Support is now valid through December 31, 2020. Click here for more information.

Not applicable

Automatic action with timer on AjaxZfc

Hello,

I would like to known if Qlikview has a mecanism to perform somes task in qvw without user actions in a specific interval like Timer class in C++.

eg: Automatic change the customer selection.

Thanks

8 Replies
Employee
Employee

SV:Automatic action with timer on AjaxZfc

Care to elaborate what purpose such timer driven activities would have for your app?

Not applicable

Re. :SV:Automatic action with timer on AjaxZfc

Hello

I would like to place a tv at the entrance of the office to show public informations from a .qvw file handled in a browser (QvAjaxZfc). Informations will change automaticaly from customer to sales department... Colleges must have the possibility to get back hand on the app at any time.

I supposed i have to use some timer to perform these actions...

Thanks



Employee
Employee

SV:Automatic action with timer on AjaxZfc

My suggestion is that you try using the Conditional Show value, that you can find in Properties for various objects. In this field you simply add an expression that will hide the object when expression result is TRUE and hide the object when the result is FALSE.

The simplest is then likely that you work with the Conditional Show on a sheet level, to only show one sheet at a time.

For example to show something for 15 min per hour as the second quarter of every hour your conditional show condition could look like;

div( minute( now() ) , 15 ) = 1

Note: The div() result in this case will be 0-3, hence second quarter corresponds with 1.

Not applicable

Automatic action with timer on AjaxZfc

Toni, thanks for your help, but it wasn't exactly what i want to do. (but i keep your answers because it solve an other question )

I would like to change selection in a list, not changing the display of objet

user_type          user

--------------          -------

* sales             * John

# customer       * Doe

                       # McGyver

                       # Anibal

                        ...

Employee
Employee

Re: SV:Automatic action with timer on AjaxZfc

Nothing quick and simple pops in to my mind right now. You could probabaly achieve it by using macros, but then again you will not be able to run those macros via ajax.

My suggestion would be to still work with hiding the objects. In the object you can alter the presentation by using set analysis in the expressions. For a general info dashboard I would not recommend using list boxes to visualize the data limits, it is much more intuative for a viewer to get the limitation presented in a text box or object title.

For example title like 'Sales in 2011 vs. 2011' or 'Revenue for past 10 years' is easier to interpet than having to look in listboxes for what has been currently selected.

Not applicable

Automatic action with timer on AjaxZfc

Hello,

I've tried to use macro and like you 've predicted, that doesn't works... However the QvServer run macro in background and change the current selection and object. If i add a java script wich perform an url reload each X seconds in the opendoc.html its should works....

I tell you the experiment's result...

jsn
Honored Contributor

Automatic action with timer on AjaxZfc

Correct. When using the Ajax client, the timer function Now() will not allow you to change tabs/views without user interaction. It should work for the Plugin, but if you want to use the Ajax client I would suggest something like what you're doing with triggering a reload using javascript. Hope it works out well for you.

Not applicable

Automatic action with timer on AjaxZfc

- IEClient does not accept a refresh performed by the serveur in a VBA macro.

- JavaScript's solution works, I've cloned the opendoc.htm file then rename it. After i've added the folowing script between <HEAD></HEAD> tags:

<script type="text/javascript">

     function reFresh() {

       location.reload(true)

     }

     window.setInterval("reFresh()",60000);

</script>