Odoo Help

Welcome!

This community is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.

0

Apply Multi Currency Sales Analysis Fix?

By
Kevin
on 6/26/14, 7:27 AM 907 views

I've been looking at the branch to support the sales anlysis in base currency, the standard analysis accumulates the price in the currency of the order which is meaningless. The branch is here: -

https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-currency-dedication-in-analysis-report-tpa

I'm using currently using windows so I did the following :-

1) Download the trunk

2) Replace the report folder in the Open ERP \OpenERP 7.0-20140415-231321\Server\server\openerp folder with the one from the trunk

3) Start and stop the OpenERP Server

4) Update the modules list

5) Click on the Sales Management module

6) Click on the Upgrade button which appears to load in the amended module and the analysis is now in base currency.

All looking good however I have one problem, if I clear the Search box (which defaults to Salesperson) I get the following error: -

Client Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\http.py", line 204, in dispatch
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\controllers\main.py", line 1128, in call_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\controllers\main.py", line 1120, in _call_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\session.py", line 42, in proxy
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\session.py", line 30, in proxy_method
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\session.py", line 103, in send


Server Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\web\session.py", line 89, in send
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\netsvc.py", line 296, in dispatch_rpc
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\osv.py", line 190, in execute_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\osv.py", line 132, in wrapper
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\osv.py", line 199, in execute
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\osv.py", line 187, in execute_cr
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\openerp\addons\sale\report\sale_report.py", line 82, in read_group
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\orm.py", line 2372, in search
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\orm.py", line 4935, in _search
  File "C:\Program Files (x86)\OpenERP 7.0-20140602-231022\Server\server\.\openerp\osv\orm.py", line 4748, in _where_calc
TypeError: 'NoneType' object is unsubscriptable

If I log out and back in the anlysis works agin until I clear the search window.

Looking at the differences in the code from the origional to the updated version in the trunk, if I remove the following code it stops the analysis Server Error (but also removes the calculated Total Price).  Not sure if the error is in here somewhere?

    def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False):
        res = super(sale_report, self).read_group(cr, uid, domain, fields, groupby, offset, limit, context, orderby)
        for group in res:
            group['user_price_total'] = 0
            group_ids = self.search(cr, uid, group.get('__domain'),context=context)
            record = self._compute_total_in_user_currency(cr, uid, group_ids, context=context)
            for id, rec in record.iteritems():
                group['user_price_total'] += rec['user_price_total']
        return res

Would be great to get this resolved if anyone can help.

Your Answer

Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!

About This Community

This community is for professionals and enthusiasts of our products and services. Read Guidelines

Question tools

2 follower(s)

Stats

Asked: 6/26/14, 7:27 AM
Seen: 907 times
Last updated: 3/16/15, 8:10 AM