Mustufa Rangwala (Open ERP) has proposed merging 
lp:~openerp-dev/openobject-addons/trunk-account-voucher-fix-808751-mra into 
lp:~openerp/openobject-addons/trunk-account-voucher-rework-qdp.

Requested reviews:
  qdp (OpenERP) (qdp)
Related bugs:
  Bug #808751 in OpenERP Addons: "[finance] payment date refused when "check 
date not in the period" is checked"
  https://bugs.launchpad.net/openobject-addons/+bug/808751

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-account-voucher-fix-808751-mra/+merge/68642
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-account-voucher-fix-808751-mra/+merge/68642
Your team OpenERP R&D Team is subscribed to branch 
lp:~openerp-dev/openobject-addons/trunk-account-voucher-fix-808751-mra.
=== modified file 'account_voucher/account_voucher.py'
--- account_voucher/account_voucher.py	2011-07-15 14:41:26 +0000
+++ account_voucher/account_voucher.py	2011-07-21 09:09:29 +0000
@@ -152,11 +152,11 @@
         for l in line_dr_ids:
             real_amount -= l.get('amount_in_company_currency', 0.0)
             counter_for_writeoff -= currency_pool.compute(cr, uid, l['company_currency_id'], l['voucher_currency_id'], l.get('amount_in_company_currency',0.0), context=ctx)
-            counter_for_currency_diff -= currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx) 
+            counter_for_currency_diff -= currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
         for l in line_cr_ids:
             real_amount += l.get('amount_in_company_currency', 0.0)
             counter_for_writeoff += currency_pool.compute(cr, uid, l['company_currency_id'], l['voucher_currency_id'], l.get('amount_in_company_currency',0.0), context=ctx)
-            counter_for_currency_diff += currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx) 
+            counter_for_currency_diff += currency_pool.compute(cr, uid, l['currency_id'], l['company_currency_id'], l['amount'], context=ctx)
         writeoff_amount = amount - counter_for_writeoff
         currency_rate_difference = real_amount - counter_for_currency_diff
         return writeoff_amount, currency_rate_difference
@@ -167,7 +167,7 @@
         line_osv = self.pool.get("account.voucher.line")
         line_dr_ids = resolve_o2m_operations(cr, uid, line_osv, line_dr_ids, ['amount'], context)
         line_cr_ids = resolve_o2m_operations(cr, uid, line_osv, line_cr_ids, ['amount'], context)
-        writeoff_amount, currency_rate_diff = self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount, voucher_date, context=context) 
+        writeoff_amount, currency_rate_diff = self._compute_writeoff_amount(cr, uid, line_dr_ids, line_cr_ids, amount, voucher_date, context=context)
         return {'value': {'writeoff_amount': writeoff_amount,}}# 'currency_rate_difference': currency_rate_diff}}
 
     def _get_writeoff_amount(self, cr, uid, ids, name, args, context=None):
@@ -185,15 +185,15 @@
                 counter_for_writeoff -= (l.voucher_currency_id.id == l.company_currency_id.id) and l.amount_in_company_currency or l.amount_in_voucher_currency
                 #ctx.update({'date': l.date_original})
                 #counter_for_writeoff -= currency_pool.compute(cr, uid, voucher.company_id.currency_id.id, voucher.currency_id.id, l.amount_in_company_currency, context=ctx)
-                counter_for_currency_diff -= currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx) 
+                counter_for_currency_diff -= currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx)
             for l in voucher.line_cr_ids:
                 real_amount += l.amount_in_company_currency
                 counter_for_writeoff += (l.voucher_currency_id.id == l.company_currency_id.id) and l.amount_in_company_currency or l.amount_in_voucher_currency
                 #ctx.update({'date': l.date_original})
                 #counter_for_writeoff += currency_pool.compute(cr, uid, voucher.company_id.currency_id.id, voucher.currency_id.id, l.amount_in_company_currency, context=ctx)
-                counter_for_currency_diff += currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx) 
+                counter_for_currency_diff += currency_pool.compute(cr, uid, l.currency_id.id, voucher.company_id.currency_id.id, l.amount, context=ctx)
             writeoff_amount = voucher.amount - counter_for_writeoff
-            res[voucher.id]['writeoff_amount'] = writeoff_amount 
+            res[voucher.id]['writeoff_amount'] = writeoff_amount
             res[voucher.id]['currency_rate_difference'] = real_amount - counter_for_currency_diff
         return res
 
@@ -545,9 +545,9 @@
                 'move_line_id':line.id,
                 'account_id':line.account_id.id,
                 'amount_original': amount_original,
-                'amount': (move_line_found == line.id) and min(price, amount_unreconciled) or 0.0, 
+                'amount': (move_line_found == line.id) and min(price, amount_unreconciled) or 0.0,
                 'currency_id': currency_id,
-                'voucher_currency_id': voucher_currency_id, 
+                'voucher_currency_id': voucher_currency_id,
                 'date_original':line.date,
                 'company_currency_id': line.company_id.currency_id.id,
                 'date_due':line.date_maturity,
@@ -766,7 +766,7 @@
                     account_id = voucher.company_id.property_income_currency_exchange
                     if not account_id:
                         raise osv.except_osv(_('Warning'),_("Unable to create accounting entry for currency rate difference. You have to configure the field 'Expense Currency Rate' on the company! "))
-                
+
                 currency_diff_line = {
                     'name': _('Currency Difference'),
                     'debit': voucher.currency_rate_difference > 0 and voucher.currency_rate_difference or 0.0,
@@ -833,7 +833,7 @@
 
             if not currency_pool.is_zero(cr, uid, voucher.currency_id, voucher.writeoff_amount):
                 #create one line for the write off if needed
-                diff = currency_pool.compute(cr, uid, voucher_currency, company_currency, voucher.writeoff_amount, context=context_multi_currency) 
+                diff = currency_pool.compute(cr, uid, voucher_currency, company_currency, voucher.writeoff_amount, context=context_multi_currency)
                 account_id = False
                 write_off_name = ''
                 if voucher.payment_option == 'with_writeoff':
@@ -939,7 +939,7 @@
     def _get_amount_in_company_currency(self, cr, uid, ids, name, args, context=None):
         res = {}
         for line in self.browse(cr, uid, ids, context=context):
-            amount_in_company_currency, amount_in_voucher_currency = self.__company_currency_amount(cr, uid, line, line.amount, context=context) 
+            amount_in_company_currency, amount_in_voucher_currency = self.__company_currency_amount(cr, uid, line, line.amount, context=context)
             res[line.id] = {
                  'amount_in_company_currency': amount_in_company_currency,
                  'amount_in_voucher_currency': amount_in_voucher_currency,
@@ -961,8 +961,8 @@
         'voucher_currency_id': fields.related('voucher_id', 'currency_id', type='many2one', relation='res.currency', string="Voucher Currency"),
 
         'amount':fields.float('Amount', digits_compute=dp.get_precision('Account')),
-        'amount_in_company_currency': fields.function(_get_amount_in_company_currency, string='Amount in Company Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"), 
-        'amount_in_voucher_currency': fields.function(_get_amount_in_company_currency, string='Amount in Voucher Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"), 
+        'amount_in_company_currency': fields.function(_get_amount_in_company_currency, string='Amount in Company Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"),
+        'amount_in_voucher_currency': fields.function(_get_amount_in_company_currency, string='Amount in Voucher Currency', type='float', digits_compute=dp.get_precision('Account'), multi="voucher_line_amount"),
 
         'date_original': fields.related('move_line_id','date', type='date', relation='account.move.line', string='Date', readonly=1),
         'date_due': fields.related('move_line_id','date_maturity', type='date', relation='account.move.line', string='Due Date', readonly=1),
@@ -1062,7 +1062,7 @@
         bank_st_line_obj = self.pool.get('account.bank.statement.line')
         st_line = bank_st_line_obj.browse(cr, uid, st_line_id, context=context)
         if st_line.voucher_id:
-            voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number}, context=context)
+            voucher_obj.write(cr, uid, [st_line.voucher_id.id], {'number': next_number, 'date': st_line.date}, context=context)
             if st_line.voucher_id.state == 'cancel':
                 voucher_obj.action_cancel_draft(cr, uid, [st_line.voucher_id.id], context=context)
             wf_service.trg_validate(uid, 'account.voucher', st_line.voucher_id.id, 'proforma_voucher', cr)
@@ -1072,7 +1072,7 @@
                 'move_ids': [(4, v.move_id.id, False)]
             })
 
-            return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id}, context=context)
+            return move_line_obj.write(cr, uid, [x.id for x in v.move_ids], {'statement_id': st_line.statement_id.id, 'date': st_line.date}, update_check=False, context=context)
         return super(account_bank_statement, self).create_move_from_st_line(cr, uid, st_line.id, company_currency_id, next_number, context=context)
 
 account_bank_statement()

=== modified file 'account_voucher/wizard/account_statement_from_invoice.py'
--- account_voucher/wizard/account_statement_from_invoice.py	2011-02-10 06:00:26 +0000
+++ account_voucher/wizard/account_statement_from_invoice.py	2011-07-21 09:09:29 +0000
@@ -75,7 +75,7 @@
                     statement.currency.id, amount, context=ctx)
 
             context.update({'move_line_ids': [line.id]})
-            result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), currency_id= statement.currency.id, ttype=(amount < 0 and 'payment' or 'receipt'), date=line_date, context=context)
+            result = voucher_obj.onchange_partner_id(cr, uid, [], partner_id=line.partner_id.id, journal_id=statement.journal_id.id, price=abs(amount), voucher_currency_id= statement.currency.id, ttype=(amount < 0 and 'payment' or 'receipt'), date=line_date, context=context)
             voucher_res = { 'type':(amount < 0 and 'payment' or 'receipt'),
                             'name': line.name,
                             'partner_id': line.partner_id.id,

_______________________________________________
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