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