From f6e3888752ec67d6b7fdb243bc9943e763b119fd Mon Sep 17 00:00:00 2001 From: apa-tiny Date: Wed, 15 Oct 2008 18:45:46 +0530 Subject: [PATCH] Partner Balance report Completed.... bzr revid: patelamit2003@gmail.com-20081015131546-6mcxwqu08kzy8dih --- addons/account/report/partner_balance.py | 80 +++++++----- addons/account/report/partner_balance.rml | 150 ++++++++++------------ 2 files changed, 115 insertions(+), 115 deletions(-) diff --git a/addons/account/report/partner_balance.py b/addons/account/report/partner_balance.py index 4b9b2a16be6..d7e82431ce4 100644 --- a/addons/account/report/partner_balance.py +++ b/addons/account/report/partner_balance.py @@ -229,18 +229,19 @@ class partner_balance(report_sxw.rml_parse): new_header['ref'] = '' new_header['name'] = r['account_name'] new_header['code'] = r['code'] - new_header['debit'] = 0 - new_header['credit'] = 0 - new_header['scredit'] = 0 - new_header['sdebit'] = 0 - new_header['enlitige'] = 0 - new_header['balance'] = 0 + new_header['debit'] = tot_debit + new_header['credit'] = tot_credit + new_header['scredit'] = tot_scredit + new_header['sdebit'] = tot_sdebit + new_header['enlitige'] = tot_enlitige + new_header['balance'] = float(tot_sdebit) - float(tot_scredit) new_header['type'] = 3 ## completearray.append(new_header) # r['type'] = 1 r['balance'] = float(r['sdebit']) - float(r['scredit']) + print"====i = 0 :completearray====",completearray,i completearray.append(r) # tot_debit = r['debit'] @@ -252,21 +253,27 @@ class partner_balance(report_sxw.rml_parse): else: if cleanarray[i]['account_id'] <> cleanarray[i-1]['account_id']: ## - new_tot = {} - new_tot['ref'] = 'Total' - new_tot['name'] = cleanarray[i-1]['account_name'] - new_tot['code'] = cleanarray[i-1]['code'] - - new_tot['debit'] = tot_debit - new_tot['credit'] = tot_credit - new_tot['scredit'] = tot_scredit - new_tot['sdebit'] = tot_sdebit - new_tot['enlitige'] = tot_enlitige - new_tot['balance'] = float(tot_sdebit) - float(tot_scredit) - new_tot['type'] = 3 - ## - completearray.append(new_tot) - +# new_tot = {} +# new_tot['ref'] = 'Total' +# new_tot['name'] = cleanarray[i-1]['account_name'] +# new_tot['code'] = cleanarray[i-1]['code'] +# +# new_tot['debit'] = tot_debit +# new_tot['credit'] = tot_credit +# new_tot['scredit'] = tot_scredit +# new_tot['sdebit'] = tot_sdebit +# new_tot['enlitige'] = tot_enlitige +# new_tot['balance'] = float(tot_sdebit) - float(tot_scredit) +# new_tot['type'] = 3 +# ## +# completearray.append(new_tot) + new_header['debit'] = tot_debit + new_header['credit'] = tot_credit + new_header['scredit'] = tot_scredit + new_header['sdebit'] = tot_sdebit + new_header['enlitige'] = tot_enlitige + new_header['balance'] = float(tot_sdebit) - float(tot_scredit) + new_header['type'] = 3 # we reset the counter tot_debit = r['debit'] tot_credit = r['credit'] @@ -279,12 +286,12 @@ class partner_balance(report_sxw.rml_parse): new_header['ref'] = '' new_header['name'] = r['account_name'] new_header['code'] = r['code'] - new_header['debit'] = 0 - new_header['credit'] = 0 - new_header['scredit'] = 0 - new_header['sdebit'] = 0 - new_header['enlitige'] = 0 - new_header['balance'] = 0 + new_header['debit'] = tot_debit + new_header['credit'] = tot_credit + new_header['scredit'] = tot_scredit + new_header['sdebit'] = tot_sdebit + new_header['enlitige'] = tot_enlitige + new_header['balance'] = float(tot_sdebit) - float(tot_scredit) new_header['type'] = 3 ## ## @@ -296,8 +303,10 @@ class partner_balance(report_sxw.rml_parse): r['balance'] = float(r['sdebit']) - float(r['scredit']) # completearray.append(r) + print"====i!=0 completearray====",completearray,i if cleanarray[i]['account_id'] == cleanarray[i-1]['account_id']: # we reset the counter + tot_debit = tot_debit + r['debit'] tot_credit = tot_credit + r['credit'] tot_scredit = tot_scredit + r['scredit'] @@ -308,8 +317,11 @@ class partner_balance(report_sxw.rml_parse): # r['balance'] = float(r['sdebit']) - float(r['scredit']) # + completearray.append(r) + i = i + 1 + return completearray @@ -443,17 +455,21 @@ class partner_balance(report_sxw.rml_parse): # ' account_id IN (' + self.account_ids + ') ' \ 'l.date IN (' + self.date_lst_string + ') ' \ 'GROUP BY partner_id') - + a = self.cr.fetchone()[0] + print"====self.cr.fetchone()====",a if self.cr.fetchone() != None: - result_tmp = result_tmp + float(self.cr.fetchone()[0] or 0.0) + result_tmp = result_tmp + (a or 0.0) else: result_tmp = 0.0 + return result_tmp def _sum_scredit(self,data): + if not self.ids: return 0.0 account_move_line_obj = pooler.get_pool(self.cr.dbname).get('account.move.line') + result_tmp = 0.0 # # @@ -487,10 +503,10 @@ class partner_balance(report_sxw.rml_parse): # ' account_id IN (' + self.account_ids + ') ' \ 'l.date IN (' + self.date_lst_string + ') ' \ 'GROUP BY partner_id') - + a = self.cr.fetchone()[0] if self.cr.fetchone() != None: - result_tmp = result_tmp + float(self.cr.fetchone()[0] or 0.0) - print"result_tmp",result_tmp + result_tmp = result_tmp + (a or 0.0) + else: result_tmp = 0.0 diff --git a/addons/account/report/partner_balance.rml b/addons/account/report/partner_balance.rml index 5e99323bb09..8eaf6ec5688 100644 --- a/addons/account/report/partner_balance.rml +++ b/addons/account/report/partner_balance.rml @@ -16,22 +16,22 @@ [[ company.name ]] - Third Party Balance [[ data['form']['result_selection'] == 'customer' and '/ Débiteur' ]] [[ data['form']['result_selection'] == 'supplier' and '/ Créancier' ]] [[ data['form']['result_selection'] == 'all' and '/ Créancier et Débiteur' ]] - [[ get_currency(data['form']) ]] - + Partner Balance [[ data['form']['result_selection'] == 'customer' and '/ Débiteur' ]] [[ data['form']['result_selection'] == 'supplier' and '/ Créancier' ]] [[ data['form']['result_selection'] == 'all' and '/ Créancier et Débiteur' ]] - [[ get_currency(data['form']) ]] + - - + + [[ time.strftime("%m-%d-%y %H:%M", time.localtime()) ]] Page - + 1cm 27.7cm 20cm 27.7cm - + @@ -55,9 +55,13 @@ - - - + + + + + + + @@ -76,7 +80,7 @@ - + @@ -86,14 +90,15 @@ - - + + - - + + + @@ -105,56 +110,8 @@ - - - - - Grand total - - - [[ comma_me(sum_debit(data)) ]] - - - [[ comma_me(sum_credit(data)) ]] - - - [[ comma_me(sum_sdebit(data)) ]] - - - [[ comma_me(sum_scredit(data)) ]] - - - [[ comma_me(sum_litige(data)) ]] - - - - - Balance - - - - - - - - - - - - - [[ comma_me(solde_debit(data)) ]] - - - [[ comma_me(solde_credit(data)) ]] - - - - - - - - - + + Code @@ -163,46 +120,73 @@ Partner name - Débit + Débit - Crédit + Crédit - Balance + Balance - In dispute + In dispute - [[ repeatIn(lines(data), 'a') ]][[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['ref'] ]] + Grand total - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['type']==3 and a['code'] ]] [[ a['name'] ]] + - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ comma_me(a['debit']) ]] + [[ sum_debit(data) or '0.0' ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ comma_me(a['credit']) ]] + [[ sum_credit(data) or '0.0' ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ comma_me(a['balance']) ]] + [[ (sum_scredit(data)-sum_sdebit(data)) or '0.0' ]] - [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ comma_me(a['enlitige']) ]] + [[ sum_litige(data) or '0.0' ]] + + + + + + [[ repeatIn(lines(data), 'a') ]][[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['ref'] ]] [[ a['type']==3 and a['code'] ]] + + + [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['name'] ]] + + + [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['debit'] or '0.0' ]] + + + [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['credit'] or '0.0' ]] + + + [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['balance'] or '0.0' ]] + + + [[ a['type']==3 and ( setTag('para','para',{'fontName':'Helvetica-Bold'})) ]] [[ a['enlitige'] or '0.0' ]] - - - - - - - - + - + \ No newline at end of file