bzr revid: fp@tinyerp.com-20081023174809-gdoyzw392b01xrqe
This commit is contained in:
Fabien Pinckaers
2008-10-23 19:48:09 +02:00
22 changed files with 1477 additions and 1868 deletions
-17
View File
@@ -1,17 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>pso-newaddons</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.python.pydev.PyDevBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.python.pydev.pythonNature</nature>
</natures>
</projectDescription>
-6
View File
@@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.4</pydev_property>
</pydev_project>
+5 -5
View File
@@ -2,20 +2,20 @@
<openerp>
<data>
<report auto="False" id="account_general_ledger" menu="False" model="account.account" name="account.general.ledger" rml="account/report/general_ledger.rml" string="General Ledger"/>
<report auto="False" id="account_3rdparty_ledger" menu="False" model="res.partner" name="account.third_party_ledger" rml="account/report/third_party_ledger.rml" string="Partner ledger"/>
<report auto="False" id="account_account_balance" menu="False" model="account.account" name="account.account.balance" rml="account/report/account_balance.rml" string="Account balance"/>
<report auto="False" id="account_3rdparty_account_balance" menu="False" model="account.account" name="account.partner.balance" rml="account/report/partner_balance.rml" string="Partner balance"/>
<report auto="False" id="account_3rdparty_ledger" menu="False" model="res.partner" name="account.third_party_ledger" rml="account/report/third_party_ledger.rml" string="Partner Ledger"/>
<report auto="False" id="account_account_balance" menu="False" model="account.account" name="account.account.balance" rml="account/report/account_balance.rml" string="Account Balance"/>
<report auto="False" id="account_3rdparty_account_balance" menu="False" model="account.account" name="account.partner.balance" rml="account/report/partner_balance.rml" string="Partner Balance"/>
<report auto="False" id="account_central_journal" model="account.journal.period" name="account.central.journal" rml="account/report/central_journal.rml" string="Print Central Journal"/>
<report auto="False" id="account_general_journal" model="account.journal.period" name="account.general.journal" rml="account/report/general_journal.rml" string="Print General Journal"/>
<report auto="False" id="account_journal" model="account.journal.period" name="account.journal.period.print" rml="account/report/account_journal.rml" string="Print Journal"/>
<report auto="False" id="account_overdue" model="res.partner" name="account.overdue" rml="account/report/overdue.rml" string="Overdue payments"/>
<report auto="False" id="account_overdue" model="res.partner" name="account.overdue" rml="account/report/overdue.rml" string="Overdue Payments"/>
<report auto="False" id="account_invoices" model="account.invoice" name="account.invoice" rml="account/report/invoice.rml" string="Invoices" attachment="print-"/>
<report id="account_transfers" model="account.transfer" name="account.transfer" string="Transfers" xml="account/report/transfer.xml" xsl="account/report/transfer.xsl"/>
<report auto="False" id="account_intracom" menu="False" model="account.move.line" name="account.intracom" string="IntraCom"/>
<report id="account_move_line_list" model="account.tax.code" name="account.tax.code.entries" rml="account/report/account_tax_code.rml" string="All Entries"/>
<report auto="False" id="account_vat_declaration" menu="False" model="account.tax.code" name="account.vat.declaration" rml="account/report/tax_report.rml" string="Taxes report"/>
<report auto="False" id="account_vat_declaration" menu="False" model="account.tax.code" name="account.vat.declaration" rml="account/report/tax_report.rml" string="Taxes Report"/>
<menuitem
id="menu_tax_report"
+11 -4
View File
@@ -80,18 +80,25 @@
<wizard string="Open State" model="account.invoice" name="account.wizard_paid_open" menu="False" id="wizard_paid_open"/>
<!-- generic report wizard -->
<wizard id="wizard_account_balance_report" menu="False" model="account.account" name="account.account.balance.report" string="Account balance"/>
<wizard id="wizard_account_balance_report" menu="False" model="account.account" name="account.account.balance.report" string="Account Balance"/>
<menuitem icon="STOCK_PRINT" action="wizard_account_balance_report" id="menu_account_balance_report" parent="account.menu_generic_report" type="wizard"/>
<wizard id="wizard_general_ledger" menu="False" model="account.account" name="account.general.ledger.report" string="General ledger"/>
<wizard id="wizard_general_ledger" menu="False" model="account.account" name="account.general.ledger.report" string="General Ledger"/>
<menuitem icon="STOCK_PRINT" action="wizard_general_ledger" id="menu_general_ledger" parent="account.menu_generic_report" type="wizard"/>
<wizard id="wizard_print_journal" menu="False" model="account.journal.period" name="account.print.journal.report" string="Print journal" />
<wizard id="wizard_print_journal" menu="False" model="account.journal.period" name="account.print.journal.report" string="Print Journal" />
<menuitem icon="STOCK_PRINT" action="wizard_print_journal" id="menu_print_journal" parent="account.menu_generic_report" type="wizard" />
<wizard id="wizard_central_journal" menu="False" model="account.journal.period" name="account.central.journal.report" string="Central journal" />
<wizard id="wizard_central_journal" menu="False" model="account.journal.period" name="account.central.journal.report" string="Print Central journal" />
<menuitem icon="STOCK_PRINT" action="wizard_central_journal" id="menu_central_journal" parent="account.menu_generic_report" type="wizard" />
<wizard id="wizard_central_journal" menu="False" model="account.journal.period" name="account.central.journal.report" string="Central Journal" />
<menuitem icon="STOCK_PRINT" action="wizard_central_journal" id="menu_cetral_journal" parent="account.menu_generic_report" type="wizard" />
<wizard id="wizard_general_journal" menu="False" model="account.journal.period" name="account.general.journal.report" string="Print General journal" />
<menuitem icon="STOCK_PRINT" action="wizard_general_journal" id="menu_general_journal" parent="account.menu_generic_report" type="wizard" />
</data>
</openerp>
+2 -2
View File
@@ -237,7 +237,7 @@ msgstr "Taxes fournisseurs"
#. module: account
#: rml:account.vat.declaration:0
msgid "Tax Report"
msgstr "Déclaration TVA"
msgstr "Taxes Statement"
#. module: account
#: selection:account.tax.template,type:0
@@ -727,7 +727,7 @@ msgstr "Grand livre analytique"
#. module: account
#: model:ir.actions.wizard,name:account.wizard_vat_declaration
msgid "VAT Declaration"
msgstr "Déclaration TVA"
msgstr "Taxes Statement"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
+47 -12
View File
@@ -66,38 +66,73 @@ class journal_print(report_sxw.rml_parse):
return not res
filtered_objs = filter(filter_unique, journal_period_objs)
return map(lambda x: x.period_id, filtered_objs)
def lines(self, period_id):
def lines(self, period_id, journal_id=[]):
if type(period_id)==type([]):
ids_final = []
for journal in journal_id:
for period in period_id:
ids_journal_period = self.pool.get('account.journal.period').search(self.cr,self.uid, [('journal_id','=',journal),('period_id','=',period)])
if ids_journal_period:
ids_final.append(ids_journal_period[0])
data_jour_period = self.pool.get('account.journal.period').browse(self.cr, self.uid, ids_final)
lines_data = []
periods = []
for data in data_jour_period:
if not data.period_id.id in periods:
periods.append(data.period_id.id)
for period in periods:
period_data = self.pool.get('account.period').browse(self.cr, self.uid, period)
self.cr.execute('select j.code, j.name, sum(l.debit) as debit, sum(l.credit) as credit from account_move_line l left join account_journal j on (l.journal_id=j.id) where period_id=%d and journal_id in (' + ','.join(map(str, journal_id)) + ') and l.state<>\'draft\' group by j.id, j.code, j.name', (period,))
res = self.cr.dictfetchall()
res[0].update({'period_name':period_data.name})
res[0].update({'pid':period})
lines_data.append(res)
return lines_data
if not self.journal_ids:
return []
self.cr.execute('select j.code, j.name, sum(l.debit) as debit, sum(l.credit) as credit from account_move_line l left join account_journal j on (l.journal_id=j.id) where period_id=%d and journal_id in (' + self.journal_ids + ') and l.state<>\'draft\' group by j.id, j.code, j.name', (period_id,))
return self.cr.dictfetchall()
def _sum_debit_period(self, period_id):
res = self.cr.dictfetchall()
return res
def _sum_debit_period(self, period_id,journal_id=None):
if type(journal_id)==type([]):
self.cr.execute('select sum(debit) from account_move_line where period_id=%d and journal_id in (' + ','.join(map(str, journal_id)) + ') and state<>\'draft\'', (period_id,))
return self.cr.fetchone()[0] or 0.0
if not self.journal_ids:
return 0.0
self.cr.execute('select sum(debit) from account_move_line where period_id=%d and journal_id in (' + self.journal_ids + ') and state<>\'draft\'', (period_id,))
return self.cr.fetchone()[0] or 0.0
def _sum_credit_period(self, period_id):
def _sum_credit_period(self, period_id,journal_id=None):
if type(journal_id)==type([]):
self.cr.execute('select sum(credit) from account_move_line where period_id=%d and journal_id in (' + ','.join(map(str, journal_id)) + ') and state<>\'draft\'', (period_id,))
return self.cr.fetchone()[0] or 0.0
if not self.journal_ids:
return 0.0
self.cr.execute('select sum(credit) from account_move_line where period_id=%d and journal_id in (' + self.journal_ids + ') and state<>\'draft\'', (period_id,))
return self.cr.fetchone()[0] or 0.0
def _sum_debit(self):
def _sum_debit(self,period_id=None,journal_id=None):
if type(period_id)==type([]):
self.cr.execute('select sum(debit) from account_move_line where period_id in (' + ','.join(map(str, period_id)) + ') and journal_id in (' + ','.join(map(str, journal_id)) + ') and state<>\'draft\'')
return self.cr.fetchone()[0] or 0.0
if not self.journal_ids or not self.period_ids:
return 0.0
self.cr.execute('select sum(debit) from account_move_line where period_id in (' + self.period_ids + ') and journal_id in (' + self.journal_ids + ') and state<>\'draft\'')
return self.cr.fetchone()[0] or 0.0
def _sum_credit(self):
def _sum_credit(self,period_id=None,journal_id=None):
if type(period_id)==type([]):
self.cr.execute('select sum(credit) from account_move_line where period_id in (' + ','.join(map(str, period_id)) + ') and journal_id in (' + ','.join(map(str, journal_id)) + ') and state<>\'draft\'')
return self.cr.fetchone()[0] or 0.0
if not self.journal_ids or not self.period_ids:
return 0.0
self.cr.execute('select sum(credit) from account_move_line where period_id in (' + self.period_ids + ') and journal_id in (' + self.journal_ids + ') and state<>\'draft\'')
return self.cr.fetchone()[0] or 0.0
report_sxw.report_sxw('report.account.general.journal', 'account.journal.period', 'addons/account/report/general_journal.rml',parser=journal_print, header=False)
report_sxw.report_sxw('report.account.general.journal.wiz', 'account.journal.period', 'addons/account/report/wizard_general_journal.rml',parser=journal_print, header=False)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+5 -2
View File
@@ -32,6 +32,7 @@ from report import report_sxw
import xml
import rml_parse
import pooler
from osv import osv
class general_ledger(rml_parse.rml_parse):
_name = 'report.account.general.ledger'
@@ -135,9 +136,12 @@ class general_ledger(rml_parse.rml_parse):
for child_id in self.pool.get('account.account').search(self.cr, self.uid,
[('parent_id', 'child_of', [account.id])]):
child_account = self.pool.get('account.account').browse(self.cr, self.uid, child_id)
sold_account = self._sum_solde_account(child_account,form)
self.sold_accounts[child_account.id] = sold_account
if form['display_account'] == 'bal_mouvement':
if child_account.type != 'view' \
and len(self.pool.get('account.move.line').search(self.cr, self.uid,
@@ -163,7 +167,6 @@ class general_ledger(rml_parse.rml_parse):
## We will now compute solde initiaux
for move in res:
SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date <= '" + self.borne_date['max_date'] + "'" + " AND l.date >= '" + self.borne_date['min_date'] + "'"
@@ -188,7 +191,7 @@ class general_ledger(rml_parse.rml_parse):
else:
move.init_credit = 0
move.init_debit = 0
##
return res
@@ -0,0 +1,250 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(596.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="57.0" y1="57.0" width="481" height="728"/>
<header>
<pageGraphics>
<setFont name="Helvetica-Bold" size="9"/>
<!--COL 1-->
<drawString x="1.0cm" y="28.1cm">[[ company.name ]]</drawString>
<drawRightString x="20cm" y="28.1cm">General Journal - [[ company.currency_id.name ]]</drawRightString>
<!-- Header -->
<setFont name="Helvetica" size="9"/>
<drawString x="1.0cm" y="1cm"> [[ time.strftime("%Y-%m-%d %H:%M", time.localtime()) ]]</drawString>
<drawString x="19.0cm" y="1cm">Page <pageNumber/></drawString>
<!--<drawRightString x="19.8cm" y="28cm">[[ company.rml_header1 ]]</drawRightString>-->
<lineMode width="0.7"/>
<lines>1cm 27.7cm 20cm 27.7cm</lines>
<setFont name="Helvetica" size="8"/>
</pageGraphics>
</header>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_Header_Title">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_Print_Current_datetime">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_Journal_Title">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
</blockTableStyle>
<blockTableStyle id="Table_Final_Total">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
</blockTableStyle>
<blockTableStyle id="Table_Sub_Total">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#b3b3b3" start="0,0" stop="2,2"/>
<lineStyle kind="LINEBELOW" colorName="white" start="0,1" stop="-1,1"/>
</blockTableStyle>
<blockTableStyle id="Table_Journal_Detail">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Helvetica" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Helvetica-Oblique" fontSize="9.0" leading="11" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Helvetica"/>
<paraStyle name="Footer" fontName="Times-Roman"/>
<paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" 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_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" 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_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_Bold_9_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<!--blockTable colWidths="180.0,180.0,180.0" style="Table_Header_Title">
<tr>
<td>
<para style="terp_header">[[ company.name ]]</para>
</td>
<td>
<para style="terp_header">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_header">General Journal - [[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable-->
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="75.0,465.0" style="Table_Print_Current_datetime">
<tr>
<td>
<para style="terp_default_Bold_9">Printing Date :</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<section>
<blockTable colWidths="61.0,228.0,95.0,80.0,73.0" style="Table_Journal_Title" repeatRows="1">
<tr>
<td>
<para style="terp_tblheader_Details">Jrl Code</para>
</td>
<td>
<para style="terp_tblheader_Details">Journal Name</para>
</td>
<td>
<para style="terp_tblheader_Details">Period</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Debit Trans.</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Credit Trans.</para>
</td>
</tr>
<tr>
<td>
<blockTable colWidths="64.0,226.0,82.0,82.0,76.0" style="Table_Final_Total">
<tr>
<td>
<para style="terp_default_Bold_9">Total:</para>
</td>
<td>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9_Right"><u>[[ '%.2f' % sum_debit(data['form']['period_id'][0][2],data['form']['journal_id'][0][2]) ]]</u></para>
</td>
<td>
<para style="terp_default_Bold_9_Right"><u>[[ '%.2f' % sum_credit(data['form']['period_id'][0][2],data['form']['journal_id'][0][2]) ]]</u></para>
</td>
</tr>
</blockTable>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9"><font>[[ repeatIn( lines( data['form']['period_id'][0][2], data['form']['journal_id'][0][2] ),'line')]]</font></para>
<blockTable colWidths="175.0,115.0,82.0,82.0,75.0" style="Table_Sub_Total">
<tr>
<td>
<para style="terp_default_Bold_9">[[ line[0]['period_name'] ]] :</para>
</td>
<td>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9_Right"><u>[[ '%.2f' % sum_debit_period( line[0]['pid'],data['form']['journal_id'][0][2]) ]]</u></para>
</td>
<td>
<para style="terp_default_Bold_9_Right"><u>[[ '%.2f' % sum_credit_period(line[0]['pid'],data['form']['journal_id'][0][2]) ]]</u></para>
</td>
</tr>
<tr>
<td>
<blockTable colWidths="60.0,219.0,88.0,80.0,76.0" style="Table_Journal_Detail">
<tr>
<td>
<para style="terp_default_9">[[ repeatIn(line,'l') ]]</para>
<para style="terp_default_9">[[ l['code'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ l['name'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ line[0]['period_name'] ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ l['debit'] and ('%.2f' % l['debit']) or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ l['credit'] and ('%.2f' % l['credit']) or '' ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</section>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</story>
</document>
+1
View File
@@ -66,6 +66,7 @@ import wizard_state_open
import wizard_statement_from_invoice
import wizard_print_journal
import wizard_central_journal
import wizard_general_journal
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -32,7 +32,7 @@ import wizard
import pooler
form = '''<?xml version="1.0"?>
<form string="Print Journal">
<form string="Print Central Journal">
<field name="journal_id"/>
<field name="period_id"/>
</form>'''
@@ -1,6 +1,9 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved.
# Copyright (c) 2004-2008 TINY SPRL. (http://tiny.be) All Rights Reserved.
#
# $Id$
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
@@ -25,26 +28,33 @@
#
##############################################################################
import time
from report import report_sxw
import wizard
import pooler
class account_invoice_tax_retail(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(account_invoice_tax_retail, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
'title': self.getTitle,
})
def getTitle(self, invoice):
title = '';
if invoice.retail_tax:
title = invoice.retail_tax[0].swapcase() + invoice.retail_tax[1:]
return title;
form = '''<?xml version="1.0"?>
<form string="Print General Journal">
<field name="journal_id"/>
<field name="period_id"/>
</form>'''
fields = {
'journal_id': {'string': 'Journal', 'type': 'many2many', 'relation': 'account.journal', 'required': True},
'period_id': {'string': 'Period', 'type': 'many2many', 'relation': 'account.period', 'required': True},
}
class wizard_print_journal(wizard.interface):
states = {
'init': {
'actions': [],
'result': {'type': 'form', 'arch': form, 'fields': fields, 'state': (('end', 'Cancel'), ('print', 'Print'))},
},
'print': {
'actions': [],
'result': {'type':'print', 'report':'account.general.journal.wiz', 'state':'end'},
},
}
wizard_print_journal('account.general.journal.report')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
report_sxw.report_sxw(
'report.tax.retail.account.invoice',
'account.invoice',
'addons/india/account/report/invoice.rml',
parser=account_invoice_tax_retail,
)
@@ -68,11 +68,13 @@ period_form = '''<?xml version="1.0"?>
<form string="Select Date-Period">
<field name="company_id" colspan="4"/>
<newline/>
<field name="fiscalyear"/>
<field name="fiscalyear" attrs="{'readonly':[('state','=','bydate')]}"/>
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
<newline/>
<field name="display_account"/>
<field name="sortbydate"/>
<field name="display_account" required="True"/>
<field name="sortbydate" required="True"/>
<field name="landscape"/>
<field name="amount_currency"/>
<newline/>
@@ -141,6 +143,28 @@ def _check_date(self, cr, uid, data, context):
else:
raise wizard.except_wizard('UserError','Date not in a defined fiscal year')
def _check_state(self, cr, uid, data, context):
my_ids=data['ids']
if data['model']!='account.account':
my_ids=[data['form']['Account_list']]
child_ids = pooler.get_pool(cr.dbname).get('account.account').search(cr, uid,[('parent_id', 'child_of',my_ids )])
for child in child_ids :
child_account = pooler.get_pool(cr.dbname).get('account.account').browse(cr, uid, child)
res = pooler.get_pool(cr.dbname).get('account.move.line').search(cr, uid,[('account_id','=',child_account.id)])
if not len(res):
raise wizard.except_wizard('UserError',"Make sure the account you select has children accounts.")
if data['form']['state'] == 'bydate':
data['form']['fiscalyear'] = False
else :
self._check_date(cr, uid, data, context)
data['form']['fiscalyear'] = True
return data['form']
class wizard_report(wizard.interface):
@@ -180,11 +204,11 @@ class wizard_report(wizard.interface):
'result': {'type':'choice','next_state':_check}
},
'report_landscape': {
'actions': [],
'actions': [_check_state],
'result': {'type':'print', 'report':'account.general.ledger_landscape', 'state':'end'}
},
'report': {
'actions': [],
'actions': [_check_state],
'result': {'type':'print', 'report':'account.general.ledger', 'state':'end'}
}
}
-29
View File
@@ -1,35 +1,6 @@
<?xml version="1.0"?>
<terp>
<data>
<report id="account_invoices_tax"
string="Invoices"
model="account.invoice"
name="tax.retail.account.invoice"
rml="account_voucher/report/invoice.rml"
auto="False"
/>
<report id="account_vat_declaration_india"
string="Taxes report"
model="account.invoice"
name="indianvat.declaration"
rml="account_voucher/report/tax_report.rml"
auto="False"
menu="True"/>
<wizard
string="Wizard Indiataxes report"
model="account.invoice"
name="account.indianvat.declaration"
menu="False"
id="wizard_indianvat_declaration"/>
<menuitem
name="Financial Management/Reporting/India Taxes Report"
action="wizard_indianvat_declaration"
type="wizard"
id="wizard_indianvat_declaration_menu"/>
<report id="report_account_voucher"
string="Voucher Report (Cr/Dr)"
@@ -1,4 +1,2 @@
import invoice
import tax_report
import report_voucher
import report_voucher_amount
-268
View File
@@ -1,268 +0,0 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="34.0" y1="28.0" width="527" height="786"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
<blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
<blockBackground colorName="#e6e6e6" start="4,0" stop="4,0"/>
</blockTableStyle>
<blockTableStyle id="Tableau7">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau8">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,1" stop="0,1"/>
<blockBackground colorName="#e6e6e6" start="1,1" stop="1,1"/>
<blockBackground colorName="#e6e6e6" start="2,1" stop="2,1"/>
</blockTableStyle>
<blockTableStyle id="Tableau4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
</blockTableStyle>
<blockTableStyle id="Tableau5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P2" fontName="Times-Roman" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P3" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P4" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P5" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P6" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P7" fontName="Times-Italic" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P8" fontName="Times-Roman" fontSize="16.0" leading="20" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P9" fontName="Times-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P10" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P11" fontName="Times-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P12" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P13" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P14" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
<paraStyle name="P15" fontName="Times-Roman" fontSize="20.0" leading="25" alignment="LEFT"/>
<paraStyle name="P16" fontName="Times-Roman" fontSize="11.0" leading="14"/>
<paraStyle name="P17" fontName="Times-Roman" fontSize="11.0" leading="14"/>
<paraStyle name="P18" fontName="Times-Roman" fontSize="11.0" leading="14" alignment="LEFT"/>
<paraStyle name="P19" fontName="Times-Roman" alignment="LEFT"/>
<paraStyle name="P20" fontName="Times-Roman"/>
<paraStyle name="P21" fontName="Times-Roman" fontSize="16.0" leading="20"/>
<paraStyle name="P22" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P23" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P24" fontName="Times-Bold" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
</stylesheet>
<story>
<para style="P1">[[ repeatIn(objects,'o') ]]</para>
<para style="P1">[[ setLang(o.partner_id.lang) ]]</para>
<para style="P6">Subject to Ahmedabad jurisdiction</para>
<blockTable colWidths="281.0,246.0" style="Tableau2">
<tr>
<td>
<para style="P20">M/S.</para>
<para style="P21">[[ o.partner_id.title or '' ]][[ o.partner_id.name ]]</para>
<para style="Standard">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para>
<para style="Standard">[[ o.address_invoice_id.street ]]</para>
<para style="Standard">[[ o.address_invoice_id.street2 or '' ]]</para>
<para style="Standard">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para>
<para style="Standard">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para>
<para style="Standard">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="Standard">Tel. : [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para>
<para style="Standard">Fax : [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para>
<para style="P19">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para>
</td>
<td>
<para style="Standard">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="P12">
<font color="white"> </font>
</para>
<para style="P15">[[ title(o)]] Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="P15">[[ title(o)]] PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma') or removeParentNode('para')) and '' ]]</para>
<para style="P15">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para>
<para style="P15">[[ title(o)]] Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para>
<para style="P15">[[ title(o)]] Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="P15">[[ title(o)]] Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para>
<para style="P14">
<font face="Times-Roman">[[ title(o)]] Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]]</font>
<font face="Times-Roman">[[ o.number ]]</font>
</para>
<para style="P13">
<font color="white"> </font>
</para>
<para style="P16">
<font face="Times-Roman">Document</font>
<font face="Times-Roman">:</font>
<font face="Times-Roman">[[o.name]]</font>
</para>
<para style="P16">
<font face="Times-Roman">Invoice Date: </font>
<font face="Times-Roman">[[o.date_invoice]]</font>
</para>
<para style="P17"><font face="Times-Roman">Customer Ref:</font> [[ o.address_invoice_id.partner_id.ref or '/' ]]</para>
<para style="Standard">
<font color="white"> </font>
</para>
<blockTable colWidths="247.0,94.0,62.0,51.0,74.0" style="Table1">
<tr>
<td>
<para style="P4">Description</para>
</td>
<td>
<para style="P5">Quantity</para>
</td>
<td>
<para style="P5">Unit Price</para>
</td>
<td>
<para style="P5">Disc. (%)</para>
</td>
<td>
<para style="P5">Price</para>
</td>
</tr>
</blockTable>
<section>
<para style="P22">[[repeatIn(o.invoice_line,'l') ]]</para>
<blockTable colWidths="247.0,93.0,62.0,51.0,74.0" style="Tableau7">
<tr>
<td>
<para style="P8">[[ l.name ]]</para>
</td>
<td>
<para style="P2">[[ formatLang(l.quantity) ]] [[l.uos_id and l.uos_id.name or '' ]]</para>
</td>
<td>
<para style="P2">[[ formatLang(l.price_unit) ]]</para>
</td>
<td>
<para style="P2">[[ l.discount and formatLang (l.discount) or '' ]] </para>
</td>
<td>
<para style="P2">[[ formatLang(l.price_subtotal) ]] [[o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="28.0,499.0" style="Tableau8">
<tr>
<td>
<para style="P23">[[ repeatIn((l.note and l.note.splitlines()) or [], 'note') ]]</para>
<para style="P23">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P7">[[ note or removeParentNode('table') ]]</para>
</td>
</tr>
</blockTable>
</section>
<blockTable colWidths="275.0,244.0" style="Tableau3">
<tr>
<td>
<blockTable colWidths="136.0,76.0,61.0" style="Tableau4">
<tr>
<td>
<para style="P3">Tax</para>
</td>
<td>
<para style="P2">Base</para>
</td>
<td>
<para style="P2">Amount</para>
</td>
</tr>
<tr>
<td>
<para style="P10"><font face="Times-Roman">[[ repeatIn(o.tax_line,'t') ]]</font> [[ t.name ]]</para>
</td>
<td>
<para style="P9">[[ formatLang(t.base) ]]</para>
</td>
<td>
<para style="P9">[[ formatLang(t.amount)]]</para>
</td>
</tr>
</blockTable>
</td>
<td>
<blockTable colWidths="115.0,122.0" style="Tableau5">
<tr>
<td>
<para style="P11">Total (excl. taxes):</para>
</td>
<td>
<para style="P11">[[ formatLang(o.amount_untaxed) ]] [[o.currency_id.code ]]</para>
</td>
</tr>
<tr>
<td>
<para style="P11">Taxes:</para>
</td>
<td>
<para style="P11">[[ formatLang(o.amount_tax) ]] [[o.currency_id.code ]]</para>
</td>
</tr>
<tr>
<td>
<para style="P11">Total (incl. taxes):</para>
</td>
<td>
<para style="P24">[[ formatLang(o.amount_total) ]] [[o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
<para style="Table Contents">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="P18">[[ format(o.comment or '') ]]</para>
<para style="P18">
<font color="white"> </font>
</para>
<para style="P18">[[ format((o.payment_term and o.payment_term.note) or '') ]]</para>
</story>
</document>
-185
View File
@@ -1,185 +0,0 @@
##############################################################################
#
# Copyright (c) 2005-2006 TINY SPRL. (http://tiny.be) All Rights Reserved.
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
import time
import pooler
from report import report_sxw
class account_tax_report(report_sxw.rml_parse):
def __init__(self, cr, uid, name, context):
super(account_tax_report, self).__init__(cr, uid, name, context)
self.localcontext.update({
'get_invoice': self.getInvoices,
'add_invoice': self.addInvoice,
'get_tax': self.getTax,
'get_tax_detail' : self.getTaxDetail,
'get_retail' : self.getRetailTax,
'get_retail_detail' : self.getRetailTaxDetail,
'get_local_sale' : self.getLocalSale,
'get_retail_sale' : self.getRetailSale,
'total_local_sale' : self.getTotalLocalSale,
'total_local_tax' : self.getTotalLocalTax,
'total_retail_sale' : self.getTotalRetailSale,
'total_retail_tax' : self.getTotalRetailTax,
'time': time,
'get_period': self.getPeriod,
'test' : self.testMethod,
})
self.local = 0
self. retail = 0
self.tax_tax = {}
self.retail_tax = {}
self.sale_tax = {}
self.sale_retail = {}
self.total_local_sale = 0
self.total_local_tax = 0
self.total_retail_sale = 0
self.total_retail_tax = 0
self.invoices = []
self.flag = False
#end def
def getPeriod(self, period_id):
return self.pool.get('account.period').browse(self.cr, self.uid, period_id).name
#end def
def testMethod(self, obj):
print type(obj) == type({}), obj;
if type(obj) == type({}) and not self.flag:
if obj.has_key('form'):
self.flag = True
ids = self.pool.get('account.move.line').search(self.cr, self.uid, [('period_id','=',obj['form']['period_id'])])
account = self.pool.get('account.move.line').read(self.cr, self.uid,ids,['invoice'])
invoice_ids = []
for i in account:
if i['invoice'][0]:
if not i['invoice'][0] in invoice_ids:
inv = self.pool.get('account.invoice').browse(self.cr, self.uid,i['invoice'][0])
if inv.type == 'out_invoice' and inv.state == 'open':
if not i['invoice'][0] in self.invoices:
print '*********************** : ',i['invoice'][0]
self.invoices.append(i['invoice'][0])
#end if
#end if
#end for
#end if
elif self.flag == False:
self.invoices = self.ids
#end if
#end def
def getInvoices(self):
print '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>',self.invoices;
return self.pool.get('account.invoice').browse(self.cr, self.uid, self.invoices)
#end def
def addInvoice(self, invoice):
if invoice.retail_tax == 'tax':
self.total_local_sale += invoice.amount_untaxed
self.total_local_tax += invoice.amount_tax
for tax in invoice.tax_line:
if self.tax_tax.has_key(tax.name):
self.tax_tax[tax.name] += tax.tax_amount
self.sale_tax[tax.name] += tax.base_amount
else:
self.tax_tax[tax.name] = tax.tax_amount
self.sale_tax[tax.name] = tax.base_amount
#end for
elif invoice.retail_tax == 'retail':
self.total_retail_sale += invoice.amount_untaxed
self.total_retail_tax += invoice.amount_tax
self. retail += invoice.amount_total
for tax in invoice.tax_line:
if self.retail_tax.has_key(tax.name):
self.retail_tax[tax.name] += tax.tax_amount
self.sale_retail[tax.name] += tax.base_amount
else:
self.retail_tax[tax.name] = tax.tax_amount
self.sale_retail[tax.name] = tax.base_amount
#end if
#end for
#endif
#end def
def getTaxDetail(self, tax):
return self.tax_tax[tax];
def getTax(self):
tax = []
for i in self.tax_tax:
tax.append(i)
return tax
#end if
def getRetailTaxDetail(self, tax):
return self.retail_tax[tax];
def getRetailTax(self):
tax = []
for i in self.retail_tax:
tax.append(i)
return tax
#end if
def getLocalSale(self, tax):
return self.sale_tax[tax]
#end def
def getRetailSale(self, tax):
return self.sale_retail[tax]
#end def
def getTotalLocalSale(self):
return self.total_local_sale
#end def
def getTotalLocalTax(self):
return self.total_local_tax
#end def
def getTotalRetailSale(self):
return self.total_retail_sale
#end def
def getTotalRetailTax(self):
return self.total_retail_tax
#end def
#end class
report_sxw.report_sxw(
'report.indianvat.declaration',
'account.invoice',
'addons/india/account/report/tax_report.rml',
parser=account_tax_report,
)
@@ -1,255 +0,0 @@
<?xml version="1.0"?>
<document filename="test.pdf">
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="44.0" y1="57.0" width="526" height="728"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Standard_Outline">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
<blockBackground colorName="#e6e6ff" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6ff" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6ff" start="2,0" stop="2,0"/>
<blockBackground colorName="#e6e6ff" start="3,0" stop="3,0"/>
<blockBackground colorName="#e6e6ff" start="4,0" stop="4,0"/>
<blockBackground colorName="#e6e6ff" start="5,0" stop="5,0"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
<blockBackground colorName="#e6e6e6" start="1,0" stop="1,0"/>
<blockBackground colorName="#e6e6e6" start="2,0" stop="2,0"/>
</blockTableStyle>
<blockTableStyle id="Table6">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman"/>
<paraStyle name="P2" fontName="Times-Roman" fontSize="22.0" leading="27" alignment="CENTER"/>
<paraStyle name="P3" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P4" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="CENTER"/>
<paraStyle name="P5" fontName="Times-Roman" fontSize="14.0" leading="17" alignment="LEFT"/>
<paraStyle name="P6" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="LEFT"/>
<paraStyle name="P7" fontName="Times-Roman" fontSize="13.0" leading="16"/>
<paraStyle name="P8" fontName="Times-Roman"/>
<paraStyle name="P9" fontName="Times-Bold" fontSize="13.0" leading="16" alignment="CENTER"/>
<paraStyle name="P10" fontName="Times-Roman" alignment="CENTER"/>
<paraStyle name="P11" fontName="Times-Roman" alignment="RIGHT"/>
<paraStyle name="P12" fontName="Times-Bold"/>
<paraStyle name="P13" fontName="Times-Bold" alignment="RIGHT"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Caption" fontName="Times-Italic" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Table Contents" fontName="Times-Roman"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
</stylesheet>
<story>
<para style="P2">Sales Register for the Month of XXX-2007</para>
<para style="P4">
<font color="white"> </font>
</para>
<para style="P6">Date : [[time.strftime('%Y-%m-%d')]] <font face="Times-Roman">at</font> [[ time.strftime('%H:%M:%S') ]]</para>
<para style="P1">[[ test(data) ]] [[ test(objects) ]]</para>
<blockTable colWidths="75.0,81.0,148.0,83.0,74.0,66.0" style="Table1">
<tr>
<td>
<para style="P9">Date</para>
</td>
<td>
<para style="P9">Invoice </para>
<para style="P9">No</para>
</td>
<td>
<para style="P9">Party Name</para>
</td>
<td>
<para style="P9">S.T.Req No</para>
</td>
<td>
<para style="P9">Invoice Amount</para>
</td>
<td>
<para style="P9">Tax. Amount</para>
</td>
</tr>
</blockTable>
<para style="P3">
<font color="white"> </font>
</para>
<blockTable colWidths="74.0,82.0,148.0,83.0,74.0,66.0" style="Table2">
<tr>
<td>
<para style="P8">[[repeatIn(get_invoice(),'o') ]]<font face="Times-Roman" size="2.0"/></para>
<para style="P8">[[ o.date_invoice ]] [[ add_invoice(o) ]]</para>
</td>
<td>
<para style="P8">[[ o.number ]]</para>
</td>
<td>
<para style="P8">[[ o.partner_id.name ]]</para>
</td>
<td>
<para style="P10">[[ o.partner_id.vat]]</para>
</td>
<td>
<para style="P11">[[ o.amount_total ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P11">[[ o.amount_tax ]] [[o.currency_id.code ]]</para>
</td>
</tr>
</blockTable>
<para style="P1">
<font color="white"> </font>
</para>
<para style="P5">Local Sale Report</para>
<blockTable colWidths="106.0,132.0,121.0,168.0" style="Table3">
<tr>
<td>
<para style="P9">Description</para>
</td>
<td>
<para style="P9">Invoice Amount</para>
</td>
<td>
<para style="P9">Tax Amount</para>
</td>
<td>
<para style="P9">
<font color="white"> </font>
</para>
</td>
</tr>
<tr>
<td>
<para style="P8">[[ repeatIn(get_tax(),'t') ]]</para>
<para style="P8">[[ t ]]</para>
</td>
<td>
<para style="P11">[[ get_local_sale(t) ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P11">[[ get_tax_detail(t) ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P11">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="106.0,132.0,121.0,168.0" style="Table5">
<tr>
<td>
<para style="P12">TOTAL </para>
</td>
<td>
<para style="P13">[[ total_local_sale() ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P13">[[ total_local_tax() ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P13">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="P1">
<font color="white"> </font>
</para>
<para style="P5">Retail Sale Report</para>
<blockTable colWidths="104.0,134.0,121.0,168.0" style="Table4">
<tr>
<td>
<para style="P9">Description</para>
</td>
<td>
<para style="P9">Invoice Amount</para>
</td>
<td>
<para style="P9">Tax Amount</para>
</td>
<td>
<para style="P8">
<font color="white"> </font>
</para>
</td>
</tr>
<tr>
<td>
<para style="P8">[[ repeatIn(get_retail(),'r') ]]</para>
<para style="P8">[[ r ]]</para>
</td>
<td>
<para style="P11">[[ get_retail_sale(r) ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P11">[[ get_retail_detail(r) ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P8">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="106.0,132.0,121.0,168.0" style="Table6">
<tr>
<td>
<para style="P12">TOTAL </para>
</td>
<td>
<para style="P13">[[ total_retail_sale() ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P13">[[ total_retail_tax() ]] [[o.currency_id.code ]]</para>
</td>
<td>
<para style="P13">
<font color="white"> </font>
</para>
</td>
</tr>
</blockTable>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="P7">For [[ company.name ]]</para>
<para style="P7">
<font color="white"> </font>
</para>
<para style="P7">[[ user.name ]]</para>
</story>
</document>
+54 -50
View File
@@ -27,40 +27,40 @@
<field name="first_name" select="1"/>
<notebook colspan="4" >
<page string="General">
<newline/>
<separator string="General Information" colspan="4"/>
<field name="mobile" select="2"/>
<field name="title" select="1" />
<field name="website"/>
<field name="lang_id"/>
<field name="active"/>
<separator string="Functions" colspan="4"/>
<field name="job_ids" colspan="4" nolabel="1" mode="tree, form">
<form string="Functions">
<field name="function_id"/>
<field name="address_id"/>
<field name="name"/>
<field name="sequence_contact"/>
<field name="phone"/>
<field name="email"/>
<field name="date_start" />
<field name="date_stop" />
<field name="state" />
</form>
<tree string="Functions">
<field name="sequence_contact" string="Seq."/>
<field name="function_id"/>
<field name="name"/>
<field name="address_id"/>
<field name="phone"/>
<field name="email"/>
<field name="state" />
</tree>
</field>
<newline/>
<separator string="General Information" colspan="4"/>
<field name="mobile" select="2"/>
<field name="title" select="1" />
<field name="website"/>
<field name="lang_id"/>
<field name="active"/>
<separator string="Functions" colspan="4"/>
<field name="job_ids" colspan="4" nolabel="1" mode="tree, form">
<form string="Functions">
<field name="function_id"/>
<field name="address_id"/>
<field name="name"/>
<field name="sequence_contact"/>
<field name="phone"/>
<field name="email"/>
<field name="date_start" />
<field name="date_stop" />
<field name="state" />
</form>
<tree string="Functions">
<field name="sequence_contact" string="Seq."/>
<field name="function_id"/>
<field name="name"/>
<field name="address_id"/>
<field name="phone"/>
<field name="email"/>
<field name="state" />
</tree>
</field>
</page>
<page string="Extra Information">
<field name="country_id"/>
<field name="birthdate" select="1" />
<field name="country_id"/>
<field name="birthdate" select="1" />
</page>
</notebook>
</form>
@@ -105,14 +105,14 @@
<newline/>
<field name="job_ids" mode="tree, form" colspan="4">
<tree string="Contacts" editable="top">
<field name="sequence_partner"/>
<field name="sequence_partner"/>
<field name="contact_id"/>
<field name="function_id"/>
<field name="phone"/>
<field name="email"/>
</tree>
<form string="Contacts">
<field name="sequence_partner"/>
<field name="sequence_partner"/>
<field name="contact_id"/>
<field name="function_id"/>
<field name="phone"/>
@@ -240,7 +240,7 @@
</field>
</record>
<!-- Views for res.partner.job -->
<!-- Views for res.partner.job -->
<record model="ir.ui.view" id="view_partner_job_tree">
<field name="name">res.partner.job.tree</field>
<field name="model">res.partner.job</field>
@@ -253,6 +253,7 @@
<field name="function_id"/>
<field name="email"/>
<field name="phone"/>
<field name="state" />
</tree>
</field>
</record>
@@ -273,26 +274,29 @@
<field name="phone" select="2"/>
<field name="sequence_contact" select="2"/>
<field name="sequence_partner" select="2"/>
<field name="date_start" />
<field name="date_stop" />
<field name="state" select="2" />
</page>
</notebook>
</form>
</field>
</record>
<!-- Menuitem for res.partner.job -->
<record model="ir.actions.act_window" id="action_res_partner_job">
<field name="name">Functions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner.job</field>
<field name="view_type">form</field>
</record>
<menuitem name="Partners/Functions" action="action_res_partner_job" id="menu_action_res_partner_job"/>
<!-- Act window defining a shorcut on partners to open all his contacts -->
<act_window name="Open all Partner's Function"
domain="[('name', '=', active_id)]"
res_model="res.partner.job"
src_model="res.partner"
view_mode='tree,form'
id="act_res_partner_jobs"/>
<!-- Menuitem for res.partner.job -->
<record model="ir.actions.act_window" id="action_res_partner_job">
<field name="name">Functions</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner.job</field>
<field name="view_type">form</field>
</record>
<menuitem name="Partners/Functions" action="action_res_partner_job" id="menu_action_res_partner_job"/>
<!-- Act window defining a shorcut on partners to open all his contacts -->
<act_window name="Open all Partner's Function"
domain="[('name', '=', active_id)]"
res_model="res.partner.job"
src_model="res.partner"
view_mode='tree,form'
id="act_res_partner_jobs"/>
</data>
</openerp>
+2 -2
View File
@@ -15,12 +15,12 @@
id="partner_wizard_vat_menu"/>
<wizard
string="VAT Declaration"
string="Taxes Statement"
name="wizard.account.xml.vat.declaration"
menu="False"
id="wizard_xml_vat_declaration"/>
<menuitem
name="VAT Declaration"
name="Taxes Statement"
parent="account.menu_finance_legal_statement"
action="wizard_xml_vat_declaration"
type="wizard"
File diff suppressed because it is too large Load Diff
+45 -1
View File
@@ -36,8 +36,52 @@
<field name="code">cloture</field>
<field name="close_method">none</field>
</record>
<record id="account_type_view" model="account.account.type">
<field name="name">Vue</field>
<field name="code">view</field>
<field name="close_method">none</field>
</record>
<record id="account_type_capitaux" model="account.account.type">
<field name="name">Capital</field>
<field name="code">capital</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_tiers" model="account.account.type">
<field name="name">Tiers</field>
<field name="code">tiers</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_tiers_receiv" model="account.account.type">
<field name="name">Tiers - Recevable</field>
<field name="code">tiers -rec</field>
<field name="close_method">unreconciled</field>
</record>
<record id="account_type_tiers_payable" model="account.account.type">
<field name="name">Tiers - Payable</field>
<field name="code">tiers - pay</field>
<field name="close_method">unreconciled</field>
</record>
<record id="account_type_tax" model="account.account.type">
<field name="name">Tax</field>
<field name="code">tax</field>
<field name="close_method">unreconciled</field>
</record>
<record id="account_type_financiers" model="account.account.type">
<field name="name">Financier</field>
<field name="code">financier</field>
<field name="close_method">balance</field>
</record>
<record id="account_type_charge" model="account.account.type">
<field name="name">Charge</field>
<field name="code">charge</field>
<field name="close_method">none</field>
</record>
<record id="account_type_produit" model="account.account.type">
<field name="name">Produit</field>
<field name="code">produit</field>
<field name="close_method">none</field>
</record>
+1 -1
View File
@@ -82,7 +82,7 @@ class wizard_report(wizard.interface):
states = {
'init': {
'actions': [],
'result': {'type':'form', 'arch':_tax_form, 'fields':_tax_fields, 'state':[('end','Cancel'),('pdf','Print VAT Declaration')]},
'result': {'type':'form', 'arch':_tax_form, 'fields':_tax_fields, 'state':[('end','Cancel'),('pdf','Print Taxes Statement')]},
},
'pdf': {
'actions': [],