[v12.1.6] Decimals in Currencies not working

Still not fixed… Ruins everything on every update…

Why don’t you fix the parser rather than a long living object in the kernel? Why?

Why isn’t this fixed/reverted yet? Reverting will be the ultimate fix. We shouldn’t be dealing with problems on such a common object.

it seems to be fixed in

ERPNext: v12.2.0 (version-12)

Frappe Framework: v12.0.20 (version-12)

@Basawaraj_Savalagi please close

fyi @lasalesi

1 Like

No, it does not work in my system!

Installed Apps

ERPNext: v12.2.0 (version-12)

Frappe Framework: v12.0.20 (version-12)
Tried on Purchase invoice, the value entered in Purchase Invoice item like 3,2 is converted to 32.
Better to revert all changes on these objects starting with this Excel related update.

updated my live system with:
bench update --reset
this morning. It is not working afterwards. I still have to manually revert all the changes these developers caused.

Just tested again and it (still) works. I have made a quotation and an invoice from it.

Please recheck these settings (and your currency if different)

/desk#Form/Currency/EUR

and

/desk#Form/System Settings

Currency is TRY
System Settings: Number format #.###,##

Beyond all the standard stuff “reload”, F5 etc. I have no further suggestions to what to do. Sorry.

Reloaded built and all I will check once again tonight when there is no user load.
I don’t think they will nail it as they don’t get it in the first place. Sorry.

Dears,
the latest update is not working. Please find the forensics below:

the files changed since the update regarding the pasting from Excel files are below:
~/bench/apps/frappe/.eslintrc
~/bench/apps/frappe/frappe/geo/doctype/currency/currency.js
~/bench/apps/frappe/frappe/public/js/frappe/utils/number_format.js
~/bench/apps/frappe/frappe/public/js/frappe/form/controls/float.js
~/bench/apps/frappe/frappe/public/js/frappe/form/controls/currency.js

all of the files are recently updated via:
bench update --reset

The locale settings are:
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE=“en_US.UTF-8”
LC_NUMERIC=“en_US.UTF-8”
LC_TIME=“en_US.UTF-8”
LC_COLLATE=“en_US.UTF-8”
LC_MONETARY=“en_US.UTF-8”
LC_MESSAGES=“en_US.UTF-8”
LC_PAPER=“en_US.UTF-8”
LC_NAME=“en_US.UTF-8”
LC_ADDRESS=“en_US.UTF-8”
LC_TELEPHONE=“en_US.UTF-8”
LC_MEASUREMENT=“en_US.UTF-8”
LC_IDENTIFICATION=“en_US.UTF-8”
LC_ALL=en_US.UTF-8

Here’s the story of a Purchase Invoice Item:
captured

Here are the system settings:

After reverting all files to 27/10/2019 versions and issuing a
bench build

the controls work as expected.

We are experiencing the same issue for format #.###,## . It is very critical for us. @Tufan_Kaynak2 may I know your current version now?

3 Likes

Installed Apps

ERPNext: v12.2.2 (version-12)

Frappe Framework: v12.0.20 (version-12)
The problem exists since they started chaning. I have backed up these 5 fils and whenever I update I check and if the problem persists, revert them and run bench build.

Hi @Tufan_Kaynak2 so I found it. They added Currency based decimal setup. It was not patched from the System setting.

Versions:

ERPNext: v12.2.0 (version-12)
Frappe Framework: v12.0.20 (version-12)

1 Like

and the solution should be?

Set the formatting Currency level.

Why a working system was disturbed in the first place? My opinion is to revert all the changes which created this problem. You cannot ask every user to make manual changes to get something working.

Doesn’t make sense to define the formatting on currency level. A currency value should be formatted differently for different locales.

1 Like

Here’s how to make the problem go away:

  • Go to System Settings, set the number format to “#.###,##” and save.
  • Go to Currency EUR, set the number format to “” (empty) and save.

Now you can enter EUR values like 1.200,00 and ERPNext will understand them correctly.

1 Like

I will beg to differ as there may be different currency formats that is exploited somewhere in the solution for another currency. The change that broke the code is meaningless in the first place.