Divyesh Makwana(OpenERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-bug-908749-mdi into
lp:openobject-addons.
Requested reviews:
OpenERP Core Team (openerp)
Related bugs:
Bug #908749 in OpenERP Addons: "POS: PoS order does not support fiscal
position"
https://bugs.launchpad.net/openobject-addons/+bug/908749
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-908749-mdi/+merge/87004
Hello Sir,
I have fix the issue: https://bugs.launchpad.net/openobject-addons/+bug/908749
"PoS order does not support fiscal position".
Thanks and Regards,
Divyesh Makwana(MDI)
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-bug-908749-mdi/+merge/87004
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-bug-908749-mdi.
=== modified file 'point_of_sale/point_of_sale.py'
--- point_of_sale/point_of_sale.py 2011-12-22 09:49:14 +0000
+++ point_of_sale/point_of_sale.py 2011-12-28 11:26:26 +0000
@@ -62,23 +62,37 @@
def _amount_all(self, cr, uid, ids, name, args, context=None):
tax_obj = self.pool.get('account.tax')
cur_obj = self.pool.get('res.currency')
+ fpos_obj = self.pool.get('account.fiscal.position')
res = {}
for order in self.browse(cr, uid, ids, context=context):
+ taxes = []
+ for fpos in fpos_obj.browse(cr, uid, [order.partner_id.property_account_position.id], context=context):
+ for line in fpos.tax_ids:
+ taxes.append(line.tax_src_id.id)
+
res[order.id] = {
'amount_paid': 0.0,
'amount_return':0.0,
'amount_tax':0.0,
}
- val1 = val2 = 0.0
+ val1 = val2 = price = 0.0
+
cur = order.pricelist_id.currency_id
for payment in order.statement_ids:
res[order.id]['amount_paid'] += payment.amount
res[order.id]['amount_return'] += (payment.amount < 0 and payment.amount or 0)
+
+ tax_browse = tax_obj.browse(cr, uid, taxes)
+ if not isinstance(tax_browse, list):
+ tax_browse = [tax_browse]
for line in order.lines:
val1 += line.price_subtotal_incl
val2 += line.price_subtotal
- res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val1-val2)
- res[order.id]['amount_total'] = cur_obj.round(cr, uid, cur, val1)
+ price += line.price_unit
+ taxes = tax_obj.compute_inv(cr, uid, tax_browse, price, 1)
+ tax_amount = reduce(lambda total, tax_dict: total + tax_dict.get('amount', 0.0), taxes, 0.0)
+ res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val1-val2) + tax_amount
+ res[order.id]['amount_total'] = cur_obj.round(cr, uid, cur, val1) + tax_amount
return res
def _default_sale_journal(self, cr, uid, context=None):
@@ -388,7 +402,7 @@
wf_service.trg_validate(uid, 'pos.order', order.id, 'invoice', cr)
if not inv_ids: return {}
-
+
mod_obj = self.pool.get('ir.model.data')
res = mod_obj.get_object_reference(cr, uid, 'account', 'invoice_form')
res_id = res and res[1] or False
_______________________________________________
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