Amit Dodiya (OpenERP) has proposed merging 
lp:~openerp-dev/openobject-addons/6.0-opw-51082-ado into 
lp:openobject-addons/6.0.

Requested reviews:
  Priyesh (OpenERP) (pso-openerp)
  Amit Dodiya (OpenERP) (ado-openerp)
  Vinay Rana (openerp) (vra-openerp)
Related bugs:
  Bug #856780 in OpenERP Addons: "Update average price creates incorrect 
entries"
  https://bugs.launchpad.net/openobject-addons/+bug/856780

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-opw-51082-ado/+merge/90371

Hello,

" [FIX] : Update real stock creates journal entries with wrong accounts"

V6 anglo-saxon accounting. Product with average cost, used action button to 
update average price. Entries created were:
DR Stock Variation Account
CR Stock Output Account

There will never be a supplier invoice for this adjustment - CR should go to 
Price Difference Account


Thanks,
Amit
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/6.0-opw-51082-ado/+merge/90371
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/6.0-opw-51082-ado.
=== modified file 'account_anglo_saxon/product.py'
--- account_anglo_saxon/product.py	2011-01-14 00:11:01 +0000
+++ account_anglo_saxon/product.py	2012-01-27 05:42:26 +0000
@@ -19,6 +19,7 @@
 ##############################################################################
 
 from osv import fields, osv
+from tools.translate import _
 
 class product_category(osv.osv):
     _inherit = "product.category"
@@ -86,6 +87,31 @@
     }
 product_template()
 
+class product_product(osv.osv):
+    _inherit = "product.product"
+    
+    def do_change_standard_price(self, cr, uid, ids, datas, context=None):
+        """ Changes the Standard Price of Product and creates an account move accordingly.
+        @param datas : dict. contain default datas like new_price, stock_output_account, stock_input_account, stock_journal
+        @param context: A standard dictionary
+        @return:
+
+        """
+        product_obj=self.browse(cr, uid, ids, context=context)[0]
+        stock_price_diff_account = datas.get('stock_price_diff_account',False)
+        
+        if not stock_price_diff_account:
+            stock_price_diff_account = product_obj.categ_id.property_account_creditor_price_difference_categ and product_obj.categ_id.property_account_creditor_price_difference_categ.id or False
+        if not stock_price_diff_account:
+            raise osv.except_osv(_('Error!'),_('There is no price diffrent account defined ' \
+                                               'for this product: "%s" (id: %d)') % (product_obj.name, product_obj.id,))
+        datas['stock_input_account'] = stock_price_diff_account
+        datas['stock_output_account'] = stock_price_diff_account
+            
+        return super(product_product, self).do_change_standard_price(cr, uid, ids, datas, context)
+    
+product_product()
+
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 

=== modified file 'stock/wizard/stock_change_standard_price.py'
--- stock/wizard/stock_change_standard_price.py	2011-01-14 00:11:01 +0000
+++ stock/wizard/stock_change_standard_price.py	2012-01-27 05:42:26 +0000
@@ -105,12 +105,14 @@
         rec_id = context and context.get('active_id', False)
         assert rec_id, _('Active ID is not set in Context')
         prod_obj = self.pool.get('product.product')
+        product_obj = prod_obj.browse(cr, uid, rec_id, context)
         res = self.browse(cr, uid, ids, context=context)
         datas = {
             'new_price' : res[0].new_price,
             'stock_output_account' : res[0].stock_account_output.id,
             'stock_input_account' : res[0].stock_account_input.id,
-            'stock_journal' : res[0].stock_journal.id
+            'stock_journal' : res[0].stock_journal.id,
+            'stock_price_diff_account': product_obj.property_account_creditor_price_difference and product_obj.property_account_creditor_price_difference.id or False
         }
         prod_obj.do_change_standard_price(cr, uid, [rec_id], datas, context)
         return {'type': 'ir.actions.act_window_close'}

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to