Argument "0, 00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292.
Hi Our library is working with Koha 22.05.17. Since some days the anacron job "cron.daily" sends us an e-mail with hundreds of lines like the following every day: Argument "0,00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292. I see in the circulation and fine rules the "Overdue fines cap (amount)" shows as "0,00" instead of "0.00" as usual. However, this can't be changed at this place. Changing lines in script "Overdues.pm" according to https://gomezcardozo.com/error-en-fines-koha/ didn't help. How can this output be prevented? Best wishes: Michael -- Geschäftsführer · Diplombibliothekar BBS, Informatiker eidg. Fachausweis Admin Kuhn GmbH · Pappelstrasse 20 · 4123 Allschwil · Schweiz T 0041 (0)61 261 55 61 · E mik@adminkuhn.ch · W www.adminkuhn.ch
Hi Michael, this was fixed with: *Bug 33028* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33028> - Wrongly formatted monetary amounts in circulation rules break scripts and calculation But the fix still requires you to fix the values stored in the database. You could try to edit the rule and save 0.00 (with the .). It might work.Or you could use SQL to make sure all the monetary values in circulation_rules are correctly formatted. Hope this helps, Katrin On 06.01.24 11:33, Michael Kuhn wrote:
Hi
Our library is working with Koha 22.05.17.
Since some days the anacron job "cron.daily" sends us an e-mail with hundreds of lines like the following every day:
Argument "0,00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292.
I see in the circulation and fine rules the "Overdue fines cap (amount)" shows as "0,00" instead of "0.00" as usual. However, this can't be changed at this place.
Changing lines in script "Overdues.pm" according to https://gomezcardozo.com/error-en-fines-koha/ didn't help.
How can this output be prevented?
Best wishes: Michael
Hi Katrin and Magnus Many thanks for your answers! It is not possible to change the value to "0.00" via Koha menu "Administration > Defining circulation and fine rules for all libraries" - even wehn savin "0.00" it will still show "0,00". We have eight rules there - all of them show value "0,00" in column "Overdue fines cap (amount)". But in table "circulation_rules" I found the following: MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value +-----+------------+--------------+----------+-----------------+------------+ | 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+ 8 rows in set (0,000 sec) So I changed just the values actually containing "0,00" as follows: MariaDB [koha_bibliothek]> UPDATE circulation_rules SET rule_value = '0.00' WHERE rule_value = '0,00'; Thus table "circulation_rules" now shows: MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value | +-----+------------+--------------+----------+-----------------+------------+ | 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+ 8 rows in set (0,000 sec) However, even after restarting Koha ( memcached apache2 koha-common ) Koha menu "Administration > Defining circulation and fine rules for all libraries" still shows the value "0,00" in column "Overdue fines cap (amount)" for all eight rules as before. I will now wait and see what happens after the next run of "/etc/cron.daily/koha-common". Best wishes: Michael -- Geschäftsführer · Diplombibliothekar BBS, Informatiker eidg. Fachausweis Admin Kuhn GmbH · Pappelstrasse 20 · 4123 Allschwil · Schweiz T 0041 (0)61 261 55 61 · E mik@adminkuhn.ch · W www.adminkuhn.ch Am 08.01.24 um 08:14 schrieb Magnus Enger:
Hi!
I have run into a similar problem when upgrading to 23.05, and solved it by running queries like this directly in the database:
mysql> update circulation_rules set rule_value = '0.00' where rule_value = '0,00';
If you have this problem with other numbers, repeat the query but replace 0,00/0.00 with the other relevant numbers.
Best regards, Magnus Libriotech
Am 06.01.24 um 11:44 schrieb Katrin Fischer:
Hi Michael,
this was fixed with:
*Bug 33028* <https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=33028> - Wrongly formatted monetary amounts in circulation rules break scripts and calculation
But the fix still requires you to fix the values stored in the database.
You could try to edit the rule and save 0.00 (with the .). It might work.Or you could use SQL to make sure all the monetary values in circulation_rules are correctly formatted.
Hope this helps,
Katrin
On 06.01.24 11:33, Michael Kuhn wrote:
Hi
Our library is working with Koha 22.05.17.
Since some days the anacron job "cron.daily" sends us an e-mail with hundreds of lines like the following every day:
Argument "0,00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292.
I see in the circulation and fine rules the "Overdue fines cap (amount)" shows as "0,00" instead of "0.00" as usual. However, this can't be changed at this place.
Changing lines in script "Overdues.pm" according to https://gomezcardozo.com/error-en-fines-koha/ didn't help.
How can this output be prevented?
Best wishes: Michael
Koha mailing list http://koha-community.org Koha@lists.katipo.co.nz Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha
Hi Michael, if you have set the CurrencyFormat system preference to 'FR' the display format will be 0,00, but if the wrong format is in the database it will also display as 0,00. So it can hide the problem. If you set it to a CurrencyFormat with decimal ., the problem could become easier to spot. Hope this helps, Katrin On 08.01.24 10:53, Michael Kuhn wrote:
Hi Katrin and Magnus
Many thanks for your answers!
It is not possible to change the value to "0.00" via Koha menu "Administration > Defining circulation and fine rules for all libraries" - even wehn savin "0.00" it will still show "0,00".
We have eight rules there - all of them show value "0,00" in column "Overdue fines cap (amount)". But in table "circulation_rules" I found the following:
MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+
| id | branchcode | categorycode | itemtype | rule_name | rule_value +-----+------------+--------------+----------+-----------------+------------+
| 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+
8 rows in set (0,000 sec)
So I changed just the values actually containing "0,00" as follows:
MariaDB [koha_bibliothek]> UPDATE circulation_rules SET rule_value = '0.00' WHERE rule_value = '0,00';
Thus table "circulation_rules" now shows:
MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+
| id | branchcode | categorycode | itemtype | rule_name | rule_value | +-----+------------+--------------+----------+-----------------+------------+
| 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+
8 rows in set (0,000 sec)
However, even after restarting Koha ( memcached apache2 koha-common ) Koha menu "Administration > Defining circulation and fine rules for all libraries" still shows the value "0,00" in column "Overdue fines cap (amount)" for all eight rules as before.
I will now wait and see what happens after the next run of "/etc/cron.daily/koha-common".
Best wishes: Michael
Hi Katrin and Magnus After the mentioned changes everything works as expected. Thanks again for your help! (And as suggested by Katrin I have set system preference "CurrencyFormat" to a format with decimal dot). Best wishes: Michael -- Geschäftsführer · Diplombibliothekar BBS, Informatiker eidg. Fachausweis Admin Kuhn GmbH · Pappelstrasse 20 · 4123 Allschwil · Schweiz T 0041 (0)61 261 55 61 · E mik@adminkuhn.ch · W www.adminkuhn.ch Am 08.01.24 um 10:53 schrieb Michael Kuhn:
Hi Katrin and Magnus
Many thanks for your answers!
It is not possible to change the value to "0.00" via Koha menu "Administration > Defining circulation and fine rules for all libraries" - even wehn savin "0.00" it will still show "0,00".
We have eight rules there - all of them show value "0,00" in column "Overdue fines cap (amount)". But in table "circulation_rules" I found the following:
MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value +-----+------------+--------------+----------+-----------------+------------+ | 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+ 8 rows in set (0,000 sec)
So I changed just the values actually containing "0,00" as follows:
MariaDB [koha_bibliothek]> UPDATE circulation_rules SET rule_value = '0.00' WHERE rule_value = '0,00';
Thus table "circulation_rules" now shows:
MariaDB [koha_bibliothek]> SELECT * FROM circulation_rules WHERE rule_name="overduefinescap"; +-----+------------+--------------+----------+-----------------+------------+ | id | branchcode | categorycode | itemtype | rule_name | rule_value | +-----+------------+--------------+----------+-----------------+------------+ | 4 | NULL | NULL | NULL | overduefinescap | | | 34 | NULL | NULL | BUCH | overduefinescap | 0.00 | | 67 | NULL | NULL | CD | overduefinescap | 0.00 | | 94 | NULL | NULL | ZSS | overduefinescap | 0.00 | | 136 | NULL | PT | BUCH | overduefinescap | | | 170 | NULL | HB | BUCH | overduefinescap | 0.00 | | 182 | NULL | NULL | KONV | overduefinescap | | | 214 | NULL | NULL | DVD | overduefinescap | | +-----+------------+--------------+----------+-----------------+------------+ 8 rows in set (0,000 sec)
However, even after restarting Koha ( memcached apache2 koha-common ) Koha menu "Administration > Defining circulation and fine rules for all libraries" still shows the value "0,00" in column "Overdue fines cap (amount)" for all eight rules as before.
I will now wait and see what happens after the next run of "/etc/cron.daily/koha-common".
Best wishes: Michael
Hi! Den 06.01.2024 11:33, skrev Michael Kuhn:
Hi
Our library is working with Koha 22.05.17.
Since some days the anacron job "cron.daily" sends us an e-mail with hundreds of lines like the following every day:
Argument "0,00" isn't numeric in numeric gt (>) at /usr/share/koha/lib/C4/Overdues.pm line 292.
I see in the circulation and fine rules the "Overdue fines cap (amount)" shows as "0,00" instead of "0.00" as usual. However, this can't be changed at this place.
Changing lines in script "Overdues.pm" according to https://gomezcardozo.com/error-en-fines-koha/ didn't help.
How can this output be prevented?
I have run into a similar problem when upgrading to 23.05, and solved it by running queries like this directly in the database: mysql> update circulation_rules set rule_value = '0.00' where rule_value = '0,00'; If you have this problem with other numbers, repeat the query but replace 0,00/0.00 with the other relevant numbers. Best regards, Magnus Libriotech
participants (3)
-
Katrin Fischer -
Magnus Enger -
Michael Kuhn