Nick said:
>>> AP add transaction (and AR add transaction): Vendors/Customers (name)
>>> used to be dropdown menu in 1.2, it is now just an empty box...
>>> [snip]
>>> Can this be configured to appear as dropdown?
>>
>> Yes. Go to System > Defaults > "Max per dropdown" Fill out the maximum
>> number of items you want in the dropdown. The dropdown will re-appear.
>>
> I changed this to 10, then 20... I still don't get any customer/vendor
> name dropdown.
IIRC 'max per dropdown' has to be greater than the total number of vendors
in your database, otherwise it reverts to a free text box.
So if you have 150 Vendors defined, set 'max per dropdown' to 200 for
example.
I use this feature in my own workflow.
Ahh... okay, that makes sense. Thanks for the hint.
Chris said:
As a reminder, there is a reason for this setting.
Ideally you want the drop down list to be usable. If you only have a few
clients, you can select them. If you have a large number you want this to
turn into a search field (which it does).
It is best if you want to use the drop down to keep it reasonable (maybe
100 at a max).
Longer run, I expect we will replace it with an ajax search widget.
The Ajax/json solution popped in my mind too (kindof how google does it with their search bar, giving suggestions as you type, or autocomplete), and maybe a jQuery/DataTables for the line items portion of the AP/AR Add transaction. That way you could add rows to the table as you work on it without requiring an update.
Another (cheap to implement) possibility is a popup window with selection
list, or even a separate frame that has a list of possible
vendors/customers. We already have 2 frames, the menu on left and the 'work' frame on the right. Why not have a third frame somewhere that is just for pick lists... have a link beside whatever box you want to populate (vendor/customer) that will populate the small frame with whatever values you can chose from and clicking one writes that value back to your 'work' frame element that needs the value. Can reuse the same frame for multiple elements that need picking as the user requires.
From the workflow perspective and
minimizing 'Update' button presses that involve a post to the server and a regen of the page content (each costs a little bit of time)
either of those would work.
I can't think of a lot of reasons why most of the AR/AP add transaction page(s) cannot be done mostly client side js (jQuery/DataTables), and just send data via ajax/json back to server... maybe use the 'Update' button as a proving step where the server just checks over values for sanity rather than 'recalculate/redisplay/add another line to items table'. Most date verification/tax calculation/subtotaling/totaling could happen client side. It would save on having all that perl/html code mix (which I find hard to read) having to generate pages dynamically.
With mostly client side, you could just pump out a static page, and then send the data Ajax/json separately to populate it client side. Data can come back via post (forms) or via ajax/json.
Technology wasn't there when the predecessor to the current version of LSMB was written, so this still carries a lot of that design.
Enough daydreaming, back to work...