I am an independent consultant and the thing I miss the most about working for a large software corporation is the brain storming sessions where I can learn new techniques from others.
I've been answering questions on Expert Exchange for about 3 weeks and have found that the discussions have put my brain back into a mode where I am having to thiink about what I'm doing with a much more broad perspective. Thanks Ex-Ex.
Here goes my issue,
I have a product that is written in Delph 7. It is a Client Management system in a scense for Participants in Government Training Grants. The system is client/server with a SQL Server backend and all informatio is real time. The system reports on these participants back to the Department of Labor based on a large set of regulations. These numbers are then used by DOL to determine te outcome of the grants and whether the Grantee should be given the grant again next year (a very short synopsis).
One of the most important reports caculates 20 fields (all independent of one another) on a quarterly basis. This works perfectly. Now my clients want to be able to adjust the numers that are sent to DOL .
explanation- field 1 calculates that there were 100 total participants for the quarter. The 'Grantee' has only received the documentation from the remote offices for 99 of the clients. DOL requires that the documentation be received in a centralized location and verified before the numbers are reported. So the client(s) wish to be able to tell the system that even though the 1 client received services in the 2nd quarter, they don't want it reported until the 3rd quarter.
I have been trying to create a mental picture of the best way to perform this. so here is my first shot.
1) For each record used for each Calcuation , Default a New DateField to the date that the service was performed. I can handle this in the SQL through triggers.
2) Create a form that simulates the report with each of the 20 fields being read only. Have a TSpeedbutton to the right of the field(s).
3) When the user clicks the speedbutton, show a form with a grid (I use TVirtualStringTree) with each of the records (client name, ssn, service and qtr to be counted) and allow the user to change the quarter to be counted.
4) Change the report to look at the newly created date field instead of the actual service date field.
My app uses a Desktop approach where I pull panels from invisible forms and place them into a scrollbox on a main form. Therefore I rarely popup a modal dialog. So I would prefer to be able to handle the above situation on 1 form.
Any design ideas as to the layout of the form? Or any ideas as to a better way to handle the entire operation?