Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing |
Summary: | max/min values in "currency field" columns of table controls in db forms are wrongly interpretated | ||||||
---|---|---|---|---|---|---|---|
Product: | Base | Reporter: | cluster15 | ||||
Component: | code | Assignee: | AOO issues mailing list <issues> | ||||
Status: | CONFIRMED --- | QA Contact: | |||||
Severity: | Normal | ||||||
Priority: | P3 | CC: | frank.schoenheit, issues, r4zoli | ||||
Version: | 4.0.1 | ||||||
Target Milestone: | --- | ||||||
Hardware: | PC | ||||||
OS: | All | ||||||
Issue Type: | DEFECT | Latest Confirmation in: | --- | ||||
Developer Difficulty: | --- | ||||||
Attachments: |
|
I can confirm it, same happens in OOo 3.4 Beta. grabbing, targeting, adjusting prio Sorry, to bump this, but is there any progress here? Anything I could do to help? getting rid of value "enhancement" for field "severity". For enhancement the field "issue type" shall be used. And again a bump, still present in the current release. Reset the assignee to the default "issues@openoffice.apache.org". |
Created attachment 76474 [details] Testcase for the use of currency fields in a table control When you create a database form, which contains a table control in which a column is of type "currency field", the "value max." of the column effectively divided by 10^n where n is the number corresponding to its "decimal accuracy" property. As an example : "Value max."|"Decimal accuracy"|Actual max value|Expected max value 1000000.00 2 10000.00 10000000.00 1000000.000 3 1000.000 10000000.000 The same happens to minimum values correspondingly. This does not happen to normal "numeric" fields inside the table control. This does not happen for "currency fields" outside of a table control. Tested under Linux/Windows XP/Vista (32bit)/Mac OS X 10.6 with postgresql as backend (via jdbc) and also using the HSQL backend (see below for test database) Attached is a test database containing one table and 3 forms (using the HSQL backend): The database table contains 6 columns of type double. The forms: Form "test_simple_fields": contains "currency fields" for the corresponding db-table columns with the following max./min values: real1 : 1000000.00/-1000000.00 real2 : 12345,67/-12345,67 real3 : 1000000.00/-1000000.00 real4 : 12345,67/-12345,67 real5 : 1000000.000/-1000000.000 real6 : 1000000.000/-1000000.000 Form "test_table_control": contains "currency fields" for the corresponding db-table columns with the following max./min values: real1 : 1000000.00/-1000000.00 real2 : 12345,67/-12345,67 real3 : 100000000.00/-100000000.00 real4 : 1234567,00/-1234567,00 real5 : 1000000.000/-1000000.000 real6 : 1000000000.000/-1000000000.000 Form "test_combined" contains both controls in one form.... In the table control multiplying the min/max values by 10^n (where n is the number of its decimal accuracy property) provides the "correct" behaviour but does _not_ constitute a valid workaround in my eyes. This was done in the columns real3 real4 and real6 of the table controls in the test database to check whether the decimal accuracy actually works (like for 12345.67 etc). Depending on via which control you use to change/enter the data the values in the database table may or may not be correct. If the table control only displays values exceeding its limits, the database entries are still correct, but incorrectly displayed. Only after changing the values via the table control the lower limits are enforced. Please play around with the forms and data. NOTE: Exceeding the max/min value leads to a rather silent change of the value in the database entries (no warning no flashing, I admit the change is visible in the control) I am not certain, that this is "wise"....