← Back to team overview

openerp-expert-production team mailing list archive

[Bug 511193] Re: unit factor is limited to 5 zeros

 

I do manufacture, and regularly order by the ton and produce by the mg
and track by the microgram.

anyone that is doing composition of raw materials i.e. chemicals, food
stuffs etc needs a large range (even than 10^9);

The reasons for this are simple:

I procure materials by the metric tonne
I schedule material use by the kg
I pack material by the gm
Said material has characteristics measured in mgs
Said material has quality assurance checks that test trace materials measured in mcg's

If you're going to fix this problem (and lord, I certainly consider it
critical!) then you should do so in such a manner as to remove the
problems with precisions period.  Picking another range (other than
10^5) doesn't correct the problem, it is simply a palliative that will
inevitably need corrections yet again.  Email me at
sydspoetry@xxxxxxxxxxx if you want to discuss this further.

Additionally (since I'm just getting started with OpenERP and haven't located a mailing list yet), another point:
I'm not sure what rounding algorithm you are using but you should check out Bankers Rounding.  Eliminates an inherent bias in rounding.

-- 
unit factor is limited to 5 zeros
https://bugs.launchpad.net/bugs/511193
You received this bug notification because you are a member of OpenERP
Manufacturing Experts, which is a direct subscriber.

Status in OpenObject Addons Modules: Confirmed
Status in OpenObject Addons 5.0 series: In Progress
Status in OpenObject Addons trunk series: Confirmed

Bug description:
I have got a category measure unit size.

The master unit is meter, but I need having m2, m3 and related measure units like mm, mm2, mm3, micrometer

so 1m = 1000mm
but 1m = 1000000micrometer

If I try including a conversion factor where I need more than 5 zeros, system crashes showing this error:

Environment Information :
System : Windows-XP-5.1.2600-SP3
OS Name : nt
Operating System Release : XP
Operating System Version : 5.1.2600
Operating System Architecture : 32bit
Operating System Locale : es_ES.cp1252
Python Version : 2.5.2
OpenERP-Client Version : 5.0.6
Last revision No. & ID :Bazaar Package not Found !Traceback (most recent call last):
  File "/home/xabier/openerp-server/server/bin/netsvc.py", line 244, in dispatch
    result = LocalService(service_name)(method, *params)
  File "/home/xabier/openerp-server/server/bin/netsvc.py", line 73, in __call__
    return getattr(self, method)(*params)
  File "/home/xabier/openerp-server/server/bin/addons/base_module_record/base_module_record.py", line 38, in execute
    res = super(recording_objects_proxy, self).execute(*args, **argv)
  File "/home/xabier/openerp-server/server/bin/service/web_services.py", line 583, in execute
    res = service.execute(db, uid, object, method, *args)
  File "/home/xabier/openerp-server/server/bin/osv/osv.py", line 59, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/home/xabier/openerp-server/server/bin/osv/osv.py", line 118, in execute
    res = pool.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/home/xabier/openerp-server/server/bin/osv/osv.py", line 110, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/home/xabier/openerp-server/server/bin/osv/orm.py", line 2458, in write
    'where id in ('+ids_str+')', upd1)
  File "/home/xabier/openerp-server/server/bin/sql_db.py", line 76, in wrapper
    return f(self, *args, **kwargs)
  File "/home/xabier/openerp-server/server/bin/sql_db.py", line 120, in execute
    res = self._obj.execute(query, params)
ProgrammingError: numeric field overflow
DETAIL:  A field with precision 12, scale 6 must round to an absolute value less than 10^6.
 
This is limiting the possibility of having all posible and needed conversion factors on measure units, so I think it could be considered a bug or maybe wishlist

Thank you!!

Ana





Follow ups