← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 800970] Re: osv_memory cannot change decimal precision of fields, and probably because it ignores it

 

Amit,

Firstly the fixed bug you refer to is in trunk not 6.0.
Second, I had already changed that field through inheritance and there is
nothing wrong with it.  Besides the example I gave to use was product uom
and you will clearly see the issue.
Third, it isn't even an osv_memory field.  This bug report is about
osv_memory.
Fourth, your bugfix is incorrect anyway, why should it be Purchase Price?
 What if it was a Sale, which is exactly the reason we need unit and total
precision consistent across documents,  I have submitted enough bug reports
on this and am not submitting another as I have fixed the problem for myself
and am sick of being ignored.

Please check using at least example 1.  You are incorrect that this fixes it
as that bug was about unit price, not UoM.  Why do you not even test, it is
a 2 minute test?

On Fri, Jun 24, 2011 at 1:19 AM, Amit Parik (OpenERP)
<amp@xxxxxxxxxxx>wrote:

> Hello,
>
> I have attached a video which solved the problem of  bug lp:788064 which is
> similar to your bug report.
> So would you please check it.
>
> Thanks again!
>
> ** Attachment added: "osv_osvmemory.ogv"
>
> https://bugs.launchpad.net/openobject-addons/+bug/800970/+attachment/2179348/+files/osv_osvmemory.ogv
>
> ** Changed in: openobject-addons
>       Status: New => Incomplete
>
> ** Summary changed:
>
> - [6.0] osv_memory cannot change decimal precision of fields, and probably
> because it ignores it
> + osv_memory cannot change decimal precision of fields, and probably
> because it ignores it
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/800970
>
> Title:
>   osv_memory cannot change decimal precision of fields, and probably
>  because it ignores it
>
> Status in OpenERP Modules (addons):
>   Incomplete
>
> Bug description:
>  A while back I reported a bug about rounding too early, and that we
>  needed to have seperate unit price precision as well as totals and use
>  the same precision for all unit prices regardless of document, and the
>  same total precision regardless of document or else we have strange
>  errors.
>
>  Anyhow, while the problem was agreed and recognised it was deemed too
>  big a change.  So I went about changing it myself.  It works perfectly
>  with just one exception.  osv_memory fields.  Now truthfully I think
>  the problem might be that they don't respect decimal precision at all.
>  However they definitely can't be changed by inheritance.
>
>  So case 1. Does not respect decimal precision at all.  Change UoM
>  precision to 3.  Raise a PO for 1 product, so 2.555 units of (although
>  it doesn't matter), go to the incoming shipments and you will see the
>  quantity with 3 decimal places.  Now press validate and the wizard
>  pops with just 2 decimal places.  Hmmm.
>
>  Case 2 is a bit trickier.  However is case 1 is the bug, then you
>  might not need to do this.  Create a new Decimal Precision called
>  unit.  with a precision of 5 digits.
>
>  Now create a module which inherits some objects, say product.template
>  changing standard price decimal precision to be 'unit', and
>  stock.change.standard.price changing new price to 'unit' (Note 1 is
>  osv the other osv_memory).  Find a product, give it a cost method of
>  standard price and you will see 5 digits.  enter .07654, then change
>  it to average cost.  So we have 5 digits.  Now click update standard
>  price and see only 2 decimals (or receive a shipment priced at 0.07654
>  if you have set Purchase Price precision also to 5 and low and behold
>  our average cost is 0.08)
>
>  Now for the awful workaround - use digits=(16,5) in osv_memory field
>  definition and it works fine with inheritance, which leads me to the
>  conclusion that in fact the bug is osv.osv_memory does not respect the
>  digits_compute argument.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/openobject-addons/+bug/800970/+subscriptions
>


** Changed in: openobject-addons
       Status: Incomplete => New

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/800970

Title:
  osv_memory cannot change decimal precision of fields, and probably
  because it ignores it

Status in OpenERP Modules (addons):
  New

Bug description:
  A while back I reported a bug about rounding too early, and that we
  needed to have seperate unit price precision as well as totals and use
  the same precision for all unit prices regardless of document, and the
  same total precision regardless of document or else we have strange
  errors.

  Anyhow, while the problem was agreed and recognised it was deemed too
  big a change.  So I went about changing it myself.  It works perfectly
  with just one exception.  osv_memory fields.  Now truthfully I think
  the problem might be that they don't respect decimal precision at all.
  However they definitely can't be changed by inheritance.

  So case 1. Does not respect decimal precision at all.  Change UoM
  precision to 3.  Raise a PO for 1 product, so 2.555 units of (although
  it doesn't matter), go to the incoming shipments and you will see the
  quantity with 3 decimal places.  Now press validate and the wizard
  pops with just 2 decimal places.  Hmmm.

  Case 2 is a bit trickier.  However is case 1 is the bug, then you
  might not need to do this.  Create a new Decimal Precision called
  unit.  with a precision of 5 digits.

  Now create a module which inherits some objects, say product.template
  changing standard price decimal precision to be 'unit', and
  stock.change.standard.price changing new price to 'unit' (Note 1 is
  osv the other osv_memory).  Find a product, give it a cost method of
  standard price and you will see 5 digits.  enter .07654, then change
  it to average cost.  So we have 5 digits.  Now click update standard
  price and see only 2 decimals (or receive a shipment priced at 0.07654
  if you have set Purchase Price precision also to 5 and low and behold
  our average cost is 0.08)

  Now for the awful workaround - use digits=(16,5) in osv_memory field
  definition and it works fine with inheritance, which leads me to the
  conclusion that in fact the bug is osv.osv_memory does not respect the
  digits_compute argument.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openobject-addons/+bug/800970/+subscriptions


References