← Back to team overview

openerp-expert-production team mailing list archive

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

 

Hi Nhomar,
Thank you for taking care of this issue. We appreciate this step from you.
Make sure, the factors calculation at other places(I mean other modules if they use) also needs to be clean.
Let us know when you push the module or propose a merge.
Thanks.

** Changed in: openobject-addons/5.0
    Milestone: 5.0.10 => None

-- 
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