BKS Shorts WhereConditions question

Please let me know if this isn’t a proper place to ask this sort of question. I just thought others here who use BKS Shorts might have experience with this.

Does anyone know the meaning of these items in the WhereConditions section of a report:


This is all determined from the Filter Data option in the Report menu of the desktop version. If you want the user to select something at runtime, like maybe a user from a users list this is what it where it would populate. In the demo project (desktop), go to the Report->Filter Data option. Select the field, operator, and put a ? in the Value and select Add. In the listbox select Edit in the Dynamic Edit column and complete the dialog. Then, at runtime (both desktop and web) it will check to see if there are any dynamic queries and present dialogs to the user.

I don’t have any videos describing how this works but I think with a little exploration you can get it working. If you look in the examples folder there is ‘SC_GetRow.shorts_report’ which shows this in action.

Got it. Very clear. The reason I ask is that when I write code to supply BKS_Shorts_Web a query from outside BKS itself (i.e., from the app itself), I have it working perfectly if all the fields in the WHERE condition are present in the report display itself; but it fails if one or more the fields in the WHERE condition are absent from the report display. However, I notice that if I use the Filter object in the BKS_Shorts_Desktop Report Designer, the WHERE condition can reference fields that are NOT on the report display, and it works fine. So I was looking at other aspects of a BKS Shorts report file that I might be failing to use when I send an external query to BKS_Shorts_Web. It’s not a big deal. I can just make sure any WHERE condition field is in the display for now. I’ll just dig deeper into BKS_Shorts_Desktop code to see why it gracefully handles WHERE conditions that include non-displayed fields, while my app’s code doesn’t, when handing off queries to BKS_Shorts_Web code.

I think I found the problem. I’m using a View instead of a Table for this report. I see now that if the query is passed to BKS from the app, and I base the Report on a View, WhereConditions seem to have to reference only displayed fields for it to work. If I base it on a real Table, they do not have such a restriction. This only seems to apply to attempting to pass a query to BKS_Shorts_Web code from my app. If I set WhereConditions using the BKS_Shorts_Desktop Report Designer’s Filter dialog, there is no such restriction.

At least this is all the case using the method I have been using to pass a query to BKS_Shorts-Web code from the app. Admittedly, BKS_Shorts is not distributed with this set up this way. I had to add a few lines of code to


to allow passing an external query to BKS_Shorts.