← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi into lp:~openerp-dev/openobject-addons/trunk-dev-addons3

 

psi (OpenERP) has proposed merging lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi into lp:~openerp-dev/openobject-addons/trunk-dev-addons3.

Requested reviews:
  OpenERP R&D Team (openerp-dev)
Related bugs:
  #662538 account - account_move_lines for payables and receivables must have partner_id - missing check
  https://bugs.launchpad.net/bugs/662538
  #665326 Multi_company : Journal entry missing for company OpenERP IN.
  https://bugs.launchpad.net/bugs/665326
  #667619 Export po file from OpenERP, Accounting reports does not translated.
  https://bugs.launchpad.net/bugs/667619


cumulative balance done for journal reports
change the query to get reports line
-- 
https://code.launchpad.net/~openerp-commiter/openobject-addons/trunk-dev-addons3-psi/+merge/41438
Your team OpenERP R&D Team is requested to review the proposed merge of lp:~openerp-commiter/openobject-addons/trunk-dev-addons3-psi into lp:~openerp-dev/openobject-addons/trunk-dev-addons3.
=== modified file 'account/account_move_line.py'
--- account/account_move_line.py	2010-11-16 09:25:36 +0000
+++ account/account_move_line.py	2010-11-22 11:31:19 +0000
@@ -716,6 +716,8 @@
             account_id = line['account_id']['id']
             partner_id = (line['partner_id'] and line['partner_id']['id']) or False
         writeoff = debit - credit
+        if 'write_off' in context and context['write_off']['writeoff_amount']:
+            writeoff = context['write_off']['writeoff_amount']
 
         # Ifdate_p in context => take this date
         if context.has_key('date_p') and context['date_p']:

=== modified file 'account/report/account_journal.py'
--- account/report/account_journal.py	2010-11-19 04:53:49 +0000
+++ account/report/account_journal.py	2010-11-22 11:31:19 +0000
@@ -117,10 +117,22 @@
         move_state = ['draft','posted']
         if self.target_move == 'posted':
             move_state = ['posted']
-
-        self.cr.execute('SELECT l.id FROM account_move_line l, account_move am WHERE l.move_id=am.id AND am.state IN %s AND l.period_id=%s AND l.journal_id IN %s ' + self.query_get_clause + ' ORDER BY l.'+ self.sort_selection + '',(tuple(move_state), period_id, tuple(journal_id) ))
-        ids = map(lambda x: x[0], self.cr.fetchall())
-        return obj_mline.browse(self.cr, self.uid, ids)
+        self.cr.execute("SELECT l.id, l.date, l.ref, l.name, l.debit, l.credit, m.name as move_name, acc.code as account_code, rp.name as partner_name "\
+                        "FROM account_move_line l "\
+                        "LEFT JOIN account_move m ON (m.id=l.move_id) "\
+                        "LEFT JOIN account_account acc ON (l.account_id = acc.id) "\
+                        "LEFT JOIN res_partner rp ON (l.partner_id=rp.id) "\
+                        "WHERE m.state IN %s "\
+                        "AND l.period_id = %s "\
+                        "AND l.journal_id IN %s " + self.query_get_clause + " "\
+                        "ORDER BY l."+ self.sort_selection + " ",
+                        (tuple(move_state), period_id, tuple(journal_id) ))
+        res = self.cr.dictfetchall()
+        account_sum = 0.0
+        for l in res:
+            account_sum += l['credit']-l['debit']
+            l['progress'] = account_sum
+        return res
 
     def _set_get_account_currency_code(self, account_id):
         self.cr.execute("SELECT c.symbol AS code "\

=== modified file 'account/report/account_journal.rml'
--- account/report/account_journal.rml	2010-11-10 07:04:30 +0000
+++ account/report/account_journal.rml	2010-11-22 11:31:19 +0000
@@ -176,9 +176,9 @@
     <paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="terp_default_8_Italic" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
-	<paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
-	<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
-	<paraStyle name="terp_tblheader_Details_left" fontName="Helvetica-Bold" fontSize="8.0" leading="8" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_Details_left" fontName="Helvetica-Bold" fontSize="8.0" leading="8" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
   </stylesheet>
   <images/>
   <story>
@@ -202,44 +202,44 @@
     </para>
       <blockTable colWidths="85.0,80.0,80.0,120.0,70.0,100.0" style="Table2">
       <tr>
-      	<td><para style="terp_tblheader_General_Centre">  [[ data['model']=='account.journal.period'and 'Company' or removeParentNode('para') ]]</para>
-      	<para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
+        <td><para style="terp_tblheader_General_Centre">  [[ data['model']=='account.journal.period'and 'Company' or removeParentNode('para') ]]</para>
+        <para style="terp_tblheader_General_Centre">[[ data['model']=='ir.ui.menu' and 'Chart of Account' or removeParentNode('para') ]]</para></td>
         <td><para style="terp_tblheader_General_Centre">Fiscal Year</para></td>
-		<td><para style="terp_tblheader_General_Centre">Journal</para></td>
+        <td><para style="terp_tblheader_General_Centre">Journal</para></td>
         <td><para style="terp_tblheader_General_Centre">Filters By </para></td>
-         <td><para style="terp_tblheader_General_Centre">Entries Sorted By</para></td>
+        <td><para style="terp_tblheader_General_Centre">Entries Sorted By</para></td>
         <td><para style="terp_tblheader_General_Centre">Target Moves</para></td>
       </tr>
-	<tr>
-	   <td><para style="terp_default_Centre_8">[[ get_account(data) or ''  ]]</para></td>
+  <tr>
+       <td><para style="terp_default_Centre_8">[[ get_account(data) or ''  ]]</para></td>
        <td><para style="terp_default_Centre_8">[[ get_fiscalyear(data) or '' ]]</para></td>
-		<td><para style="terp_default_Centre_8">[[o.journal_id.name  ]]</para></td>
-        <td><para style="terp_default_Centre_8">[[ get_filter(data)=='No Filter' and get_filter(data) or removeParentNode('para') ]] </para>
-        	<blockTable colWidths="60.0,60.0" style="Table3">[[ get_filter(data)=='Date' or removeParentNode('blockTable') ]]
-				<tr>
-	               <td><para style="terp_tblheader_Details_Centre">Start Date</para></td>
-	        		<td><para style="terp_tblheader_Details_Centre">End Date</para></td>
-	        	</tr>
-	        	<tr>
-	        		<td><para style="terp_default_Centre_8">[[ formatLang(get_start_date(data),date=True) ]]</para></td>
-	        		<td><para style="terp_default_Centre_8">[[ formatLang(get_end_date(data),date=True) ]]</para></td>
-	        	</tr>
-        	</blockTable>
-        	<blockTable colWidths="60.0,60.0" style="Table3">[[ get_filter(data)=='Periods' or removeParentNode('blockTable') ]]
-				<tr>
-			        <td><para style="terp_tblheader_Details_Centre">Start Period</para></td>
-			        <td><para style="terp_tblheader_Details_Centre">End Period</para></td>
-	        	</tr>
-	        	<tr>
-			        <td><para style="terp_default_Centre_8">[[ get_start_period(data) or removeParentNode('para') ]]</para></td>
-			        <td><para style="terp_default_Centre_8">[[ get_end_period(data) or removeParentNode('para') ]]</para></td>
-	        	</tr>
-        	 </blockTable>
-        	</td>
-        <td><para style="terp_default_Centre_8">[[ get_sortby(data) ]]</para></td>
-	<td><para style="terp_default_Centre_8">[[ get_target_move(data) ]] </para></td>
-	</tr>
-	</blockTable>
+       <td><para style="terp_default_Centre_8">[[o.journal_id.name  ]]</para></td>
+       <td><para style="terp_default_Centre_8">[[ get_filter(data)=='No Filter' and get_filter(data) or removeParentNode('para') ]] </para>
+           <blockTable colWidths="60.0,60.0" style="Table3">[[ get_filter(data)=='Date' or removeParentNode('blockTable') ]]
+                <tr>
+                    <td><para style="terp_tblheader_Details_Centre">Start Date</para></td>
+                    <td><para style="terp_tblheader_Details_Centre">End Date</para></td>
+                </tr>
+                <tr>
+                    <td><para style="terp_default_Centre_8">[[ formatLang(get_start_date(data),date=True) ]]</para></td>
+                    <td><para style="terp_default_Centre_8">[[ formatLang(get_end_date(data),date=True) ]]</para></td>
+                </tr>
+           </blockTable>
+           <blockTable colWidths="60.0,60.0" style="Table3">[[ get_filter(data)=='Periods' or removeParentNode('blockTable') ]]
+                <tr>
+                  <td><para style="terp_tblheader_Details_Centre">Start Period</para></td>
+                  <td><para style="terp_tblheader_Details_Centre">End Period</para></td>
+                </tr>
+                <tr>
+                  <td><para style="terp_default_Centre_8">[[ get_start_period(data) or removeParentNode('para') ]]</para></td>
+                  <td><para style="terp_default_Centre_8">[[ get_end_period(data) or removeParentNode('para') ]]</para></td>
+                </tr>
+           </blockTable>
+       </td>
+       <td><para style="terp_default_Centre_8">[[ get_sortby(data) ]]</para></td>
+       <td><para style="terp_default_Centre_8">[[ get_target_move(data) ]] </para></td>
+  </tr>
+  </blockTable>
     <para style="P9">
       <font color="white"> </font>
     </para>
@@ -269,14 +269,14 @@
       </tr>
       <para style="Standard"><font color="white">[[lines(o.period_id.id, o.journal_id.id) or removeParentNode('story') ]]</font></para>
       <tr>
-        <td><para style="terp_default_8">[[ repeatIn(lines(o.period_id.id, o.journal_id.id), 'line') ]]</para><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td>
-        <td><para style="terp_default_Centre_8">[[ line.ref ]]</para></td>
-        <td><para style="terp_default_Centre_8">[[ line.account_id.code ]]</para></td>
-        <td><para style="terp_default_8">[[ line.partner_id and line.partner_id.name ]]</para></td>
-        <td><para style="terp_default_8">[[ line.move_id.name ]] - [[ line.name ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.debit) ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.credit) ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.credit - line.debit) ]] [[ company.currency_id.symbol ]]</para></td>
+        <td><para style="terp_default_8">[[ repeatIn(lines(o.period_id.id, o.journal_id.id), 'line') ]]</para><para style="terp_default_8">[[ formatLang(line['date'],date=True) ]]</para></td>
+        <td><para style="terp_default_Centre_8">[[ line['ref'] or '' ]]</para></td>
+        <td><para style="terp_default_Centre_8">[[ line['account_code'] or '' ]]</para></td>
+        <td><para style="terp_default_8">[[ line['partner_name'] or '' ]]</para></td>
+        <td><para style="terp_default_8">[[ line['move_name'] or '' ]] - [[ line['name'] or '' ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['debit']) ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['credit']) ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['progress']) ]] [[ company.currency_id.symbol ]]</para></td>
       </tr>
     </blockTable>
 
@@ -290,8 +290,8 @@
         <td><para style="P10a">Move/Entry label</para></td>
         <td><para style="P10b">Debit</para></td>
         <td><para style="P10b">Credit</para></td>
-   		<td><para style="P10b">Balance</para></td>
-		<td><para style="P10b">Currency</para></td>
+       <td><para style="P10b">Balance</para></td>
+    <td><para style="P10b">Currency</para></td>
       </tr>
        <tr>
         <td><para style="P11">[[o.period_id.name ]]</para></td>
@@ -301,19 +301,19 @@
         <td><para style="P11"><font color="white"></font></para></td>
         <td><para style="P12"><u>[[ formatLang(sum_debit(o.period_id.id, o.journal_id.id)) ]]</u></para></td>
         <td><para style="P12"><u>[[ formatLang(sum_credit(o.period_id.id, o.journal_id.id)) ]]</u></para></td>
-		<td> <para style="P12"><u>[[ formatLang((sum_debit(o.period_id.id, o.journal_id.id) - sum_credit(o.period_id.id, o.journal_id.id))) ]] [[ company.currency_id.symbol ]]</u></para></td>
+    <td> <para style="P12"><u>[[ formatLang((sum_debit(o.period_id.id, o.journal_id.id) - sum_credit(o.period_id.id, o.journal_id.id))) ]] [[ company.currency_id.symbol ]]</u></para></td>
       </tr>
        <para style="Standard"><font color="white">[[lines(o.period_id.id, o.journal_id.id) or removeParentNode('story') ]]</font></para>
       <tr>
-        <td><para style="terp_default_8">[[ repeatIn(lines(o.period_id.id, o.journal_id.id), 'line') ]]</para><para style="terp_default_8">[[ formatLang(line.date,date=True) ]]</para></td>
-        <td><para style="terp_default_Centre_8">[[ line.ref ]]</para></td>
-        <td><para style="terp_default_Centre_8">[[ line.account_id.code ]]</para></td>
-        <td><para style="terp_default_8">[[ line.partner_id and line.partner_id.name ]]</para></td>
-        <td><para style="terp_default_8">[[ line.move_id.name ]] - [[ line.name ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.debit) ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.credit) ]]</para></td>
-        <td><para style="P8">[[ formatLang(line.credit - line.debit) ]] [[ company.currency_id.symbol ]]</para></td>
-		<td><para style="P8">[[ line.currency_id  and formatLang(line.amount_currency) or '' ]] [[ line.currency_id.symbol or '']]</para></td>
+        <td><para style="terp_default_8">[[ repeatIn(lines(o.period_id.id, o.journal_id.id), 'line') ]]</para><para style="terp_default_8">[[ formatLang(line['date'],date=True) ]]</para></td>
+        <td><para style="terp_default_Centre_8">[[ line['ref'] or '' ]]</para></td>
+        <td><para style="terp_default_Centre_8">[[ line['account_code'] or '' ]]</para></td>
+        <td><para style="terp_default_8">[[ line['partner_name'] or '' ]]</para></td>
+        <td><para style="terp_default_8">[[ line['move_name'] or '' ]] - [[ line['name'] or '' ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['debit']) ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['credit']) ]]</para></td>
+        <td><para style="P8">[[ formatLang(line['progress']) ]] [[ company.currency_id.symbol ]]</para></td>
+    <td><para style="P8">[[ line.currency_id  and formatLang(line.amount_currency) or '' ]] [[ line.currency_id.symbol or '']]</para></td>
 
       </tr>
     </blockTable>

=== modified file 'account/report/account_journal.sxw'
Binary files account/report/account_journal.sxw	2010-10-04 11:31:09 +0000 and account/report/account_journal.sxw	2010-11-22 11:31:19 +0000 differ
=== modified file 'account_voucher/account_voucher.py'
--- account_voucher/account_voucher.py	2010-11-19 13:56:06 +0000
+++ account_voucher/account_voucher.py	2010-11-22 11:31:19 +0000
@@ -638,7 +638,6 @@
                 'date': inv.date,
                 'date_maturity': inv.date_due
             }
-
             if (debit == 0.0 or credit == 0.0 or debit+credit > 0) and (debit > 0.0 or credit > 0.0):
                 master_line = move_line_pool.create(cr, uid, move_line)
 
@@ -695,6 +694,10 @@
                 if line.move_line_id.id:
                     rec_ids = [master_line, line.move_line_id.id]
                     rec_list_ids.append(rec_ids)
+            writeoff_account_id = False
+            writeoff_journal_id = False
+            writeoff_period_id = inv.period_id.id,
+            comment = False
 
             if not currency_pool.is_zero(cr, uid, inv.currency_id, line_total):
                 diff = line_total
@@ -719,6 +722,19 @@
 
                 move_line_pool.create(cr, uid, move_line)
 
+            voucher = self.browse(cr, uid, ids)[0]
+
+            for rec_ids in rec_list_ids:
+                if len(rec_ids) >= 2:
+                    for line in voucher.line_ids:
+                        if line.amount_unreconciled != line.amount:
+                            if 'write_off' in context and context['write_off']['writeoff_acc_id']:
+                                writeoff_account_id = context['write_off']['writeoff_acc_id']
+                                writeoff_journal_id = context['write_off']['writeoff_journal_id']
+                                comment = context['write_off']['comment']
+                                self.pool.get('account.move.line').reconcile(cr, uid, rec_ids, 'manual', writeoff_account_id, writeoff_period_id, writeoff_journal_id, context)
+                            else:
+                                self.pool.get('account.move.line').reconcile_partial(cr, uid, rec_ids, 'manual', context)
             self.write(cr, uid, [inv.id], {
                 'move_id': move_id,
                 'state': 'posted',