by Scott.Pearce » Wed Jun 22, 2022 6:11 pm
Here is a concept you need to become familiar with - layers, specifically the business logic layer.
Imagine that when you look at a Jiwa form, you are actually looking at the first of a series of "layers":
User Interface Layer
Business Logic Layer
Database Layer
Let's start at the top - the "User Interface Layer". This is the layer you can see, it contains the grid controls, buttons, check-boxes, etc. along with data. The user interface layer is dumb. It reacts to you typing into it, but also reacts to events coming from the layer below (the "Business Logic Layer"). There is no intelligence here and you generally would not want to talk to it, unless you are doing GUI work - i.e. adding a button, re-acting to a button click.
The middle layer is the "Business Logic Layer". This is the layer that contains all the business "rules" - i.e. if you try and enter a negative amount for a cost, this layer will capture this condition and throw an exception. The business logic layer contains the bulk of the intelligence. This is probably where you would be doing most of you customisation work - reading business logic objects (i.e. reading a journal set object) and reading and writing to it's properties (i.e. journalSet.Description = "My Description"). And guess what - if you set a business logic property, it will throw up an event which the user interface layer above it will see, and therefore re-display as appropriate (i.e. totals will also get updated).
The bottom layer is the database layer. It is simply a data store.
Specific to your original post - I don't think you really want to be poking values into the grid, I think you want to be poking values into journalSetObject.Lines collection.
Scott Pearce
Senior Analyst/Programmer
Jiwa Financials