GNOME Bugzilla – Bug 691762
Need to clarify behaviour of Find Transaction dialog box's `Reconcile' criteria buttons
Last modified: 2018-06-29 23:12:56 UTC
As noted by David Carlson in bug #604519 comment 8, the wealth of options in the Find Transaction dialog box's `Reconcile' criteria buttons make it ambiguous how they interact. For example, we can set it to: Reconcile is Not Cleared Cleared Reconciled Frozen Voided by clicking all the buttons. We can argue that this ORs all the selected criteria and finds all transactions. But what happens if we set: Reconcile is not Not Cleared Cleared Reconciled Frozen Voided Does this find: (Reconcile is not Not Cleared) OR (Reconcile is not Cleared) OR (Reconcile is not Reconciled) OR (Reconcile is not Frozen) OR (Reconcile is not Voided) i.e., no transactions at all? (which seems to be the behaviour.) But logically, shouldn't the above find _all_ transactions? I need info on this to clarify it in the docs.
Don't think of the checkboxes as individual predicates; it's all one predicate. Mentally you should group it just like it is displayed. So think of it as: Reconcile {is | is not} {N, C, R, F, V} I.e., the "is" or "is-not" applies to the 'or' of the selected values because the values are grouped together. So if you select all the flags and "is not", then the result is the empty set because all transactions have a Reconcile field of one of those five values. And if you select 'is' and all flags you'll receive all transactions for the same reason.
Two comments: 1. Since the status of a single transaction split line can only have one of the values {N, C, R, F, V} true, I think that N should be renamed to New or None. Not Cleared sounds like it also includes every case that is Reconciled Frozen or Voided. 2. The Find dialog allows each status to be toggled individually. Thus it is possible, for example to search for Reconcile is (N, not C, R, not F, not V). This should result in an empty set, rather than all N and all R. If the five statuses are Or'd, the the search result should also include all not C, not F and all not V, which reduces to the trivial case everything. Actually, the buttons should be programmed to allow only one to be set at a time. (Remember the old car radios with five station preset buttons?) Then it is possible to unambiguously Or two or more individual searches to get non-trivial results.
Ok, instead of buttons, use a dial or a drop down list to force the "Only one of many" selection.
Created attachment 233717 [details] [review] Apply to gnucash-docs trunk David, see this patch. I understood how the Reconcile criteria options work when I took Derek's comment completely literally. Try out the example I give here.
Created attachment 233718 [details] [review] Apply to gnucash-docs 2.4
Yawar, There is a key line in the description "The buttons which are left unselected are simply ignored." That is not a rigorous interpretation of what the program displays, and anyone who does not consult the help documentation will still be confused. I assert that this sentence should also be displayed on that page on the find dialog. Or both of the changes I proposed in comment 2 should be implemented.
David, (In reply to comment #6) > Yawar, There is a key line in the description "The buttons which are left > unselected are simply ignored." That is not a rigorous interpretation of what > the program displays, and anyone who does not consult the help documentation > will still be confused. I understand that the display of the items doesn't make it completely clear exactly how they work. Hence this documentation update. I believe the passage I am adding does faithfully describe the behaviour of the dialog, from reading Derek's explanation and trying out the example I mention. Here's what I believe will happen: a user will at some time or the other search by reconciliation status. If they don't find what they are looking for, they will be confused, click `Help', read the docs and find out how use the feature to find exactly what they're looking for. > I assert that this sentence should also be displayed on that page on the find Well, that's a good idea. Perhaps a label that gets shown when the user selects the Reconcile criterion. > dialog. Or both of the changes I proposed in comment 2 should be implemented. (In reply to comment #2) > [...] > buttons should be programmed to allow only one to be set at a time. (Remember > the old car radios with five station preset buttons?) Then it is possible to > unambiguously Or two or more individual searches to get non-trivial results. That could conceivably be done, but what if you wanted to search for (reconciliation status Reconciled OR reconciliation status Cleared) AND (Description "Credit Card")? There would be no way to do that if you could have only one reconciliation status per line and you could only either search for ALL or ANY of the criteria. (Btw, I remember those old car radios. My grandfather had an old Corolla with one when I was a kid.)
Committed gnucash-docs revisions: 22709 22710
GnuCash bug tracking has moved to a new Bugzilla host. This bug has been copied to https://bugs.gnucash.org/show_bug.cgi?id=691762. Please update any external references or bookmarks.