Naresh Choksy 2008-10-13 16:09:00 +05:30
commit 7b0731a579
37 changed files with 1265 additions and 596 deletions

View File

@ -16,5 +16,6 @@
<menuitem id="menu_finance_periodical_processing" name="Periodical Processing" parent="account.menu_finance" sequence="3"/>
<menuitem id="menu_account_end_year_treatments" name="End of Year Treatments" parent="account.menu_finance_periodical_processing" sequence="20"/>
<menuitem id="menu_generic_report" name="Generic Reports" parent="account.menu_finance" sequence="8"/>
</data>
</openerp>

View File

@ -78,5 +78,14 @@
<!-- account.invoice -->
<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"/>
<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"/>
<menuitem icon="STOCK_PRINT" action="wizard_general_ledger" id="menu_general_ledger" parent="account.menu_generic_report" type="wizard"/>
</data>
</openerp>

View File

@ -3,6 +3,30 @@
<template pageSize="(595.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">Cost Ledger-[[ 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>
@ -10,75 +34,71 @@
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau1">
<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"/>
<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="Tableau3">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
</blockTableStyle>
<blockTableStyle id="Tableau2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<blockBackground colorName="#e6e6e6" start="0,0" stop="0,0"/>
</blockTableStyle>
<blockTableStyle id="Tableau4">
<blockTableStyle id="Table_Heading_Content">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau7">
<blockTableStyle id="Table_Date_Sub_detail">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Tableau6">
<blockTableStyle id="Table_Sub_Content">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEAFTER" colorName="#cccccc" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
</blockTableStyle>
<blockTableStyle id="Tableau5">
<blockTableStyle id="Table_Header_Title">
<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"/>
<blockBackground colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
</blockTableStyle>
<blockTableStyle id="Tableau10">
<blockTableStyle id="Table_Grant_Total">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="GRID" colorName="black"/>
<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_Account_Detail">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#b3b3b3" start="0,0" stop="-1,0"/>
</blockTableStyle>
<blockTableStyle id="Table_Move_Line_Detail">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="1,1"/>
<lineStyle kind="LINEBELOW" colorName="white" start="0,1" stop="-1,1"/>
</blockTableStyle>
<blockTableStyle id="Table_Move_Line_Content">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="white" start="0,0" stop="1,1"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Times-Roman" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P2" fontName="Times-Bold" fontSize="20.0" leading="25" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P3" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P4" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P5" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P6" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P7" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P8" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P9" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P10" fontName="Times-Roman"/>
<paraStyle name="P11" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P12" fontName="Times-Roman" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P13" fontName="Times-Roman" fontSize="3.0" leading="4" alignment="LEFT"/>
<paraStyle name="P14" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="LEFT"/>
<paraStyle name="P15" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P16" fontName="Times-Roman" fontSize="12.0" leading="15" alignment="CENTER"/>
<paraStyle name="P17" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P18" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P19" fontName="Times-Bold" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P20" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P21" fontName="Times-Roman" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.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"/>
@ -86,195 +106,217 @@
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="Index" fontName="Times-Roman"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="12.0" leading="15" spaceBefore="12.0" spaceAfter="6.0"/>
<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="12.0" leading="15" alignment="RIGHT" 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_Right_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_Default_Bold_Right_9_U" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_Default_Right_9_U" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9_Italic" fontName="Times-Italic" fontSize="9.0" leading="7" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_9_italic_Rignt" fontName="Times-Italic" fontSize="9.0" leading="7" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
<story>
<blockTable colWidths="161.0,161.0,161.0" repeatRows="1" style="Tableau1">
<!--blockTable colWidths="161.0,161.0,161.0" repeatRows="1" style="Table_Heading_Content">
<tr>
<td>
<para style="P1">
<para style="terp_default_9">[[ company.name ]]</para>
</td>
<td>
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P2">Cost Ledger</para>
</td>
<td>
<para style="P3">
<font color="white"> </font>
</para>
<para style="P6">
<font color="white"> </font>
</para>
<para style="terp_header_Right">Cost Ledger-[[ company.currency_id.name ]]</para>
</td>
</tr>
</blockTable-->
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<blockTable colWidths="161.0,161.0,161.0" style="Table_Date_Sub_detail">
<tr>
<td>
<para style="P1">[[ company.name ]]</para>
<para style="terp_tblheader_General_Centre">Period from </para>
</td>
<td>
<para style="P21">Period from [[ data['form']['date1'] ]] </para>
<para style="P21">
<font face="Times-Roman" size="10.0">to [[ data['form']['date2'] ]]</font>
</para>
<para style="terp_tblheader_General_Centre">Period to</para>
</td>
<td>
<para style="P6">Currency: [[ company.currency_id.name ]]</para>
<para style="terp_tblheader_General_Centre">Printing date</para>
</td>
</tr>
</blockTable>
<para style="P10">
<font color="white"> </font>
</para>
<para style="P11">Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
<para style="P11">
<font color="white"> </font>
</para>
<blockTable colWidths="57.0,28.0,43.0,184.0,57.0,57.0,56.0" style="Tableau3">
<blockTable colWidths="161.0,161.0,161.0" style="Table_Sub_Content">
<tr>
<td>
<para style="P4">Date</para>
<para style="terp_tblheader_General_Centre">[[ data['form']['date1'] ]]</para>
</td>
<td>
<para style="P4">J.C.</para>
<para style="terp_tblheader_General_Centre">[[ data['form']['date2'] ]]</para>
</td>
<td>
<para style="P4">Code</para>
</td>
<td>
<para style="P4">Move name</para>
</td>
<td>
<para style="P4">Debit </para>
</td>
<td>
<para style="P4">Credit</para>
</td>
<td>
<para style="P4">Balance</para>
<para style="terp_tblheader_General_Centre">[[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
</td>
</tr>
</blockTable>
<para style="P13">
<para style="terp_default_8">
<font color="white"> </font>
</para>
<section>
<para style="P12">[[ repeatIn(objects,'o') ]]</para>
<para style="P14">
<font color="white"> </font>
</para>
<blockTable colWidths="482.0" style="Tableau2">
<tr>
<td>
<para style="P17">[[ o.code ]]<font face="Times-Roman" size="10.0"> [[ o.complete_name ]]</font></para>
</td>
</tr>
</blockTable>
<para style="P13">
<font color="white"> </font>
</para>
<section>
<para style="P12">[[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]]</para>
<para style="P13">
<font color="white"> </font>
</para>
<blockTable colWidths="482.0" style="Tableau4">
<tr>
<td>
<para style="P5">[[ move_g['code'] ]] <font face="Times-Bold" size="10.0">[[ move_g['name'] ]]</font></para>
</td>
</tr>
</blockTable>
<blockTable colWidths="57.0,28.0,42.0,184.0,57.0,57.0,56.0" style="Tableau7">
<tr>
<td>
<para style="P8">[[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]]</para>
<para style="P8">[[ move_a['date'] ]]</para>
</td>
<td>
<para style="P8">[[ move_a['cj'] ]]</para>
</td>
<td>
<para style="P8">[[ move_a['code'] ]]</para>
</td>
<td>
<para style="P9">[[ move_a['name'] ]]</para>
</td>
<td>
<para style="P8">[[ '%.2f' % move_a['debit'] ]]</para>
</td>
<td>
<para style="P8">[[ '%.2f' % move_a['credit'] ]]</para>
</td>
<td>
<para style="P8">[[ '%.2f' % move_a['balance'] ]]</para>
</td>
</tr>
</blockTable>
<blockTable colWidths="312.0,57.0,57.0,57.0" style="Tableau6">
<tr>
<td>
<para style="P7">Total ([[ move_g['code'] ]])</para>
</td>
<td>
<para style="P7">[[ '%.2f' % move_g['debit'] ]]</para>
</td>
<td>
<para style="P7">[[ '%.2f' % move_g['credit'] ]]</para>
</td>
<td>
<para style="P7">[[ '%.2f' % move_g['balance'] ]]</para>
</td>
</tr>
</blockTable>
<para style="P13">
<font color="white"> </font>
</para>
</section>
<para style="P13">
<font color="white"> </font>
</para>
<blockTable colWidths="312.0,57.0,57.0,56.0" style="Tableau5">
<tr>
<td>
<para style="P3">Total ([[ o.code ]])</para>
</td>
<td>
<para style="P6">[[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="P6">[[ '%.2f' % (account_sum_credit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
</td>
<td>
<para style="P6">[[ '%.2f' % (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']) or 0.0)]]</para>
</td>
</tr>
</blockTable>
<para style="P14">
<font color="white"> </font>
</para>
</section>
<para style="P16">
<font color="white"> </font>
</para>
<blockTable colWidths="312.0,57.0,57.0,57.0" style="Tableau10">
<blockTable colWidths="67.0,245.0,59.0,59.0,58.0" style="Table_Header_Title" repeatRows="1">
<tr>
<td>
<para style="P3">Total</para>
<para style="terp_tblheader_Details">Code / Date</para>
</td>
<td>
<para style="P3">[[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
<para style="terp_tblheader_Details">J.C. / Move name</para>
</td>
<td>
<para style="P3">[[ '%.2f' % (sum_credit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
<para style="terp_tblheader_Details_Right">Debit </para>
</td>
<td>
<para style="P3">[[ '%.2f' % (sum_balance(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</para>
<para style="terp_tblheader_Details_Right">Credit</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Balance</para>
</td>
</tr>
</blockTable>
<para style="P15">
<tr>
<td>
<blockTable colWidths="62.0,249.0,57.0,57.0,57.0" style="Table_Grant_Total">
<tr>
<td>
<para style="terp_Default_Bold_Right_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_Bold_9">Total:</para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (sum_debit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</u></para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (sum_credit(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</u></para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (sum_balance(objects,data['form']['date1'],data['form']['date2']) or 0.0) ]]</u></para>
</td>
</tr>
</blockTable>
</td>
</tr>
<tr>
<td>
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<blockTable colWidths="62.0,249.0,57.0,57.0,57.0" style="Table_Account_Detail">
<tr>
<td>
<para style="terp_default_Bold_9">[[ o.code ]]</para>
</td>
<td>
<para style="terp_default_Bold_9">[[ o.complete_name ]]</para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (account_sum_debit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</u></para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (account_sum_credit(o.id,data['form']['date1'],data['form']['date2']) or 0.0) ]]</u></para>
</td>
<td>
<para style="terp_Default_Bold_Right_9_U"><u>[[ '%.2f' % (account_sum_balance(o.id,data['form']['date1'],data['form']['date2']) or 0.0)]]</u></para>
</td>
</tr>
<tr>
<td>
<para style="Standard">[[ repeatIn(lines_g(o.id,data['form']['date1'],data['form']['date2']),'move_g') ]]</para>
<blockTable colWidths="55.0,249.0,58.0,56.0,57.0" style="Table_Move_Line_Detail">
<tr>
<td>
<para style="terp_default_9">[[ move_g['code'] ]]</para>
</td>
<td>
<para style="terp_default_9">[[ move_g['name'] ]]</para>
</td>
<td>
<para style="terp_Default_Right_9_U"><u>[[ '%.2f' % move_g['debit'] ]]</u></para>
</td>
<td>
<para style="terp_Default_Right_9_U"><u>[[ '%.2f' % move_g['credit'] ]]</u></para>
</td>
<td>
<para style="terp_Default_Right_9_U"><u>[[ '%.2f' % move_g['balance'] ]]</u></para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9">[[ repeatIn(lines_a(move_g['id'],o.id,data['form']['date1'],data['form']['date2']),'move_a') ]]</para>
<blockTable colWidths="47.0,46.0,204.0,59.0,55.0,58.0" style="Table_Move_Line_Content">
<tr>
<td>
<para style="terp_default_9_Italic">[[ move_a['date'] ]]</para>
</td>
<td>
<para style="terp_default_9_Italic">[[ move_a['cj'] ]]</para>
</td>
<td>
<para style="terp_default_9_Italic">[[ move_a['name'] ]]</para>
</td>
<td>
<para style="terp_default_9_italic_Rignt">[[ '%.2f' % move_a['debit'] ]]</para>
</td>
<td>
<para style="terp_default_9_italic_Rignt">[[ '%.2f' % move_a['credit'] ]]</para>
</td>
<td>
<para style="terp_default_9_italic_Rignt">[[ '%.2f' % move_a['balance'] ]]</para>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</td>
</tr>
</blockTable>
</td>
</tr>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</blockTable>
</section>
<para style="terp_default_8">
<font color="white"> </font>
</para>
</story>
</document>

File diff suppressed because one or more lines are too long

View File

@ -35,7 +35,7 @@ import datetime
from report import report_sxw
class account_balance(report_sxw.rml_parse):
_name = 'report.account.account.balance'
def __init__(self, cr, uid, name, context):
super(account_balance, self).__init__(cr, uid, name, context)
@ -53,20 +53,20 @@ class account_balance(report_sxw.rml_parse):
'get_periods':self.get_periods,
})
self.context = context
def get_fiscalyear(self, form):
res=[]
if form.has_key('fiscalyear'):
if form.has_key('fiscalyear'):
fisc_id = form['fiscalyear']
if not (fisc_id):
return ''
self.cr.execute("select name from account_fiscalyear where id = %d" %(int(fisc_id)))
res=self.cr.fetchone()
return res and res[0] or ''
def get_periods(self, form):
result=''
if form.has_key('periods'):
if form.has_key('periods'):
period_ids = ",".join([str(x) for x in form['periods'][0][2] if x])
self.cr.execute("select name from account_period where id in (%s)" % (period_ids))
res=self.cr.fetchall()
@ -76,7 +76,7 @@ class account_balance(report_sxw.rml_parse):
else:
result+=r[0]+", "
return str(result and result[:-1]) or ''
def lines(self, form, ids={}, done=None, level=1):
if not ids:
ids = self.ids
@ -84,10 +84,13 @@ class account_balance(report_sxw.rml_parse):
return []
if not done:
done={}
if form.has_key('Account_list') and form['Account_list']:
ids = [form['Account_list']]
del form['Account_list']
res={}
result_acc=[]
ctx = self.context.copy()
if form.has_key('fiscalyear'):
if form.has_key('fiscalyear'):
self.transform_period_into_date_array(form)
ctx['fiscalyear'] = form['fiscalyear']
ctx['periods'] = form['periods'][0][2]
@ -95,7 +98,7 @@ class account_balance(report_sxw.rml_parse):
self.transform_date_into_date_array(form)
ctx['date_from'] = form['date_from']
ctx['date_to'] = form['date_to']
accounts = self.pool.get('account.account').browse(self.cr, self.uid, ids, ctx)
def cmp_code(x, y):
return cmp(x.code, y.code)
@ -103,7 +106,7 @@ class account_balance(report_sxw.rml_parse):
for account in accounts:
if account.id in done:
continue
done[account.id] = 1
done[account.id] = 1
res = {
'lid' :'',
'date':'',
@ -140,7 +143,7 @@ class account_balance(report_sxw.rml_parse):
if form['display_account'] == 'bal_mouvement':
if res['credit'] <> 0 or res['debit'] <> 0 or res['balance'] <> 0:
result_acc.append(res)
elif form['display_account'] == 'bal_solde':
elif form['display_account'] == 'bal_solde':
if res['balance'] <> 0:
result_acc.append(res)
else:
@ -156,7 +159,7 @@ class account_balance(report_sxw.rml_parse):
ids2.sort()
result_acc += self.lines(form, [x[1] for x in ids2], done, level+1)
return result_acc
def moveline(self,form,ids,level):
res={}
self.date_lst_string = '\'' + '\',\''.join(map(str,self.date_lst)) + '\''
@ -168,7 +171,7 @@ class account_balance(report_sxw.rml_parse):
"WHERE l.account_id = '"+str(ids)+"' " \
"AND l.date IN (" + self.date_lst_string + ") " \
"ORDER BY l.id")
res = self.cr.dictfetchall()
res = self.cr.dictfetchall()
sum = 0.0
for r in res:
sum = r['debit1'] - r['credit1']
@ -186,7 +189,7 @@ class account_balance(report_sxw.rml_parse):
else:
r['bal_type']=" Cr."
return res or ''
def date_range(self,start,end):
start = datetime.date.fromtimestamp(time.mktime(time.strptime(start,"%Y-%m-%d")))
end = datetime.date.fromtimestamp(time.mktime(time.strptime(end,"%Y-%m-%d")))
@ -198,7 +201,7 @@ class account_balance(report_sxw.rml_parse):
for date in date_array:
full_str_date.append(str(date))
return full_str_date
#
def transform_period_into_date_array(self,form):
## Get All Period Date
@ -206,23 +209,23 @@ class account_balance(report_sxw.rml_parse):
periods_id = self.pool.get('account.period').search(self.cr, self.uid, [('fiscalyear_id','=',form['fiscalyear'])])
else:
periods_id = form['periods'][0][2]
date_array = []
date_array = []
for period_id in periods_id:
period_obj = self.pool.get('account.period').browse(self.cr, self.uid, period_id)
date_array = date_array + self.date_range(period_obj.date_start,period_obj.date_stop)
self.date_lst = date_array
self.date_lst.sort()
def transform_date_into_date_array(self,form):
return_array = self.date_range(form['date_from'],form['date_to'])
self.date_lst = return_array
self.date_lst.sort()
def _sum_credit(self):
return self.sum_credit
return self.sum_credit
def _sum_debit(self):
return self.sum_debit
return self.sum_debit
report_sxw.report_sxw('report.account.account.balance', 'account.account', 'addons/account/report/account_balance.rml', parser=account_balance, header=False)

View File

@ -40,7 +40,7 @@ dates_form = '''<?xml version="1.0"?>
<field name="date_from" colspan="4"/>
<field name="date_to" colspan="4"/>
<field name="display_account" colspan="4"/>
</form>'''
dates_fields = {
@ -55,7 +55,7 @@ period_form = '''<?xml version="1.0"?>
<field name="fiscalyear" colspan="4"/>
<field name="periods" colspan="4"/>
<field name="display_account" colspan="4"/>
</form>'''
@ -73,7 +73,7 @@ account_form = '''<?xml version="1.0"?>
</form>'''
account_fields = {
'Account_list': {'string':'Account', 'type':'many2one', 'relation':'account.account', 'required':True},
'Account_list': {'string':'Account', 'type':'many2one', 'relation':'account.account', 'required':True ,'domain':[('parent_id','=',False)]},
}
@ -97,7 +97,7 @@ class wizard_report(wizard.interface):
else:
return 'account_selection'
def _check_date(self, cr, uid, data, context):
sql = """
SELECT f.id, f.date_start, f.date_stop FROM account_fiscalyear f Where '%s' between f.date_start and f.date_stop """%(data['form']['date_from'])
@ -108,12 +108,12 @@ class wizard_report(wizard.interface):
raise wizard.except_wizard('UserError','Date to must be set between ' + res[0]['date_start'] + " and " + res[0]['date_stop'])
else:
return 'report'
else:
raise wizard.except_wizard('UserError','Date not in a defined fiscal year')
states = {
'init': {
'actions': [],
'result': {'type':'choice','next_state':_check_path}

View File

@ -61,7 +61,7 @@ account_form = '''<?xml version="1.0"?>
</form>'''
account_fields = {
'Account_list': {'string':'Account', 'type':'many2one', 'relation':'account.account', 'required':True},
'Account_list': {'string':'Account', 'type':'many2one', 'relation':'account.account', 'required':True ,'domain':[('parent_id','=',False)]},
}
@ -110,7 +110,7 @@ def _check_date(self, cr, uid, data, context):
raise wizard.except_wizard('UserError','Date to must be set between ' + res[0]['date_start'] + " and " + res[0]['date_stop'])
else:
return 'checkreport'
else:
raise wizard.except_wizard('UserError','Date not in a defined fiscal year')
@ -119,13 +119,13 @@ class wizard_report(wizard.interface):
def _get_defaults(self, cr, uid, data, context):
fiscalyear_obj = pooler.get_pool(cr.dbname).get('account.fiscalyear')
data['form']['fiscalyear'] = fiscalyear_obj.find(cr, uid)
data['form']['sortbydate'] = 'sort_date'
data['form']['sortbydate'] = 'sort_date'
data['form']['display_account']='bal_all'
data['form']['landscape']=True
data['form']['amount_currency'] = True
return data['form']
def _get_defaults_fordate(self, cr, uid, data, context):
data['form']['sortbydate'] = 'sort_date'
data['form']['sortbydate'] = 'sort_date'
data['form']['display_account']='bal_all'
data['form']['landscape']=True
data['form']['amount_currency'] = True

View File

@ -30,6 +30,7 @@
import account
import report
import wizard
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -40,6 +40,7 @@
"security/ir.model.access.csv",
"account_view.xml",
"account_report.xml",
"account_wizard.xml",
],
# "translations" : {
# "fr": "i18n/french_fr.csv"

View File

@ -210,6 +210,9 @@ class account_report_history(osv.osv):
def init(self, cr):
cr.execute('''create or replace view account_report as (select ar.id as tmp,((pr.id*100000)+ar.id) as id,ar.id as name,pr.id as period_id,pr.fiscalyear_id as fiscalyear_id from account_report_report as ar cross join account_period as pr group by ar.id,pr.id,pr.fiscalyear_id)''')
def unlink(self, cr, uid, ids, context={}):
raise osv.except_osv(_('Error !'), _('You can not delete an indicator history record. You may have to delete the concerned Indicator!'))
account_report_history()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -2,5 +2,8 @@
<openerp>
<data>
<report auto="False" id="fiscal_statements" model="account.report.report" name="accounting.report" rml="account_report/report/accounting_report.rml" string="Fiscal Statements"/>
<report auto="False" id="report_print_indicators" model="account.report.report" name="report.print.indicators" rml="account_report/report/report_print_indicators.rml" string="Indicators"/>
</data>
</openerp>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<wizard id="wizard_print_indicators" name="print.indicators" string="Print Indicators"/>
<menuitem action="wizard_print_indicators" type="wizard" parent="account_report.menu_action_account_report_tree_view" id="menu_wizard_print_indicators"/>
</data>
</openerp>

View File

@ -0,0 +1,33 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# 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
# 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 wizard_print_indicators
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,81 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# 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
# 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 wizard
import pooler
form = '''<?xml version="1.0"?>
<form string="Print Indicators">
<field name="indicator_id"/>
<field name="select_base"/>
</form>'''
fields = {
'indicator_id': {'string':'Choose Indicator', 'type':'many2one', 'relation': 'account.report.report','required':True,},
'select_base': {'string':'Choose Criteria', 'type':'selection','selection':[('year','Based On Fiscal Years'),('periods','Based on Fiscal Periods')],'required':True,},
}
next_form = '''<?xml version="1.0"?>
<form string="Print Indicators">
<field name="base_selection"/>
</form>'''
next_fields = {
'base_selection': {'string':'Select Criteria', 'type':'many2many','required':True,},
}
def _load(self, cr, uid, data, context):
data['form']['select_base'] = 'year'
return data['form']
def _load_base(self, cr, uid, data, context):
next_fields['base_selection']['relation']='account.fiscalyear'
if data['form']['select_base']=='periods':
next_fields['base_selection']['relation']='account.period'
return data['form']
class wizard_print_indicators(wizard.interface):
states = {
'init': {
'actions': [_load],
'result': {'type': 'form', 'arch':form, 'fields':fields, 'state':[('end','Cancel'),('next','Next')]}
},
'next': {
'actions': [_load_base],
'result': {'type':'form', 'arch':next_form, 'fields':next_fields, 'state':[('end','Cancel'),('print','Print')]}
},
'print': {
'actions':[],
'result' :{'type':'print','report':'report.print.indicators', 'state':'end'}
}
}
wizard_print_indicators('print.indicators')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,19 +1,22 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * auction
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 4.3.99\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2008-10-10 07:40:32+0000\n"
"PO-Revision-Date: 2008-10-10 07:40:32+0000\n"
"Project-Id-Version: OpenERP Server 4.3.0\n"
"Version: 1.0\n"
"Report-Msgid-Bugs-To: support@openerp.com"
"POT-Creation-Date: 2008-09-05 16:25+0000\n"
"PO-Revision-Date: 2008-10-01 16:43+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"Plural-Forms:\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-10-13 07:52+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: auction
#: field:report.deposit.border,total_marge:0

View File

@ -2,23 +2,28 @@
# This file containt the translation of the following modules:
# * board
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 4.3.0"
"Report-Msgid-Bugs-To: support@openerp.com"
"POT-Creation-Date: 2008-09-11 15:41:42+0000"
"PO-Revision-Date: 2008-09-11 15:41:42+0000"
"Last-Translator: <>"
"Language-Team: "
"MIME-Version: 1.0"
"Content-Type: text/plain; charset=UTF-8"
"Content-Transfer-Encoding: "
"Plural-Forms: "
"Project-Id-Version: OpenERP Server 4.3.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2008-09-10 15:05:34+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:34+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-10-13 08:00+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board
#: constraint:ir.model:0
msgid "The Object name must start with x_ and not contain any special character !"
msgid ""
"The Object name must start with x_ and not contain any special character !"
msgstr ""
"Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères "
"spéciaux !"
#. module: board
#: model:ir.model,name:board.model_board_board
@ -28,7 +33,7 @@ msgstr ""
#. module: board
#: wizard_view:board.board.menu.create,init:0
msgid "Menu Information"
msgstr ""
msgstr "Menu Information"
#. module: board
#: model:ir.model,name:board.model_board_note
@ -44,12 +49,12 @@ msgstr "Note"
#. module: board
#: field:board.board.line,width:0
msgid "Width"
msgstr ""
msgstr "Largeur"
#. module: board
#: model:ir.ui.menu,name:board.menu_view_board_form
msgid "Dashboard Definition"
msgstr ""
msgstr "Définition du Tableau de Bord"
#. module: board
#: field:board.note,user_id:0
@ -65,12 +70,12 @@ msgstr "Publier une note"
#. module: board
#: field:board.board.line,name:0
msgid "Title"
msgstr ""
msgstr "Titre"
#. module: board
#: field:board.board,line_ids:0
msgid "Action Views"
msgstr ""
msgstr "Vues Action"
#. module: board
#: field:board.note,date:0
@ -90,17 +95,17 @@ msgstr "Type de note"
#. module: board
#: wizard_view:board.board.menu.create,init:0
msgid "Create Menu For Dashboard"
msgstr ""
msgstr "Créer un Menu pour le Tableau de Bord"
#. module: board
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "XML non valide pour l'architecture de la vue!"
#. module: board
#: wizard_field:board.board.menu.create,init,menu_parent_id:0
msgid "Parent Menu"
msgstr ""
msgstr "Menu Parent"
#. module: board
#: view:board.note:0
@ -112,27 +117,27 @@ msgstr "Notes"
#: field:board.board,name:0
#: view:board.board:0
msgid "Dashboard"
msgstr ""
msgstr "Tableau de bord"
#. module: board
#: field:board.board.line,action_id:0
msgid "Action"
msgstr ""
msgstr "Action"
#. module: board
#: field:board.board.line,position:0
msgid "Position"
msgstr ""
msgstr "Position"
#. module: board
#: model:ir.actions.act_window,name:board.dashboard_open
msgid "Open Dashboard"
msgstr ""
msgstr "Ouvrir le Tableau de Bord"
#. module: board
#: wizard_field:board.board.menu.create,init,menu_name:0
msgid "Menu Name"
msgstr ""
msgstr "Nom du menu"
#. module: board
#: field:board.note,type:0
@ -142,17 +147,17 @@ msgstr "Type de note"
#. module: board
#: selection:board.board.line,position:0
msgid "Left"
msgstr ""
msgstr "Gauche"
#. module: board
#: field:board.board,view_id:0
msgid "Board View"
msgstr ""
msgstr "Vue Tableau de Bord"
#. module: board
#: selection:board.board.line,position:0
msgid "Right"
msgstr ""
msgstr "Droit"
#. module: board
#: model:ir.ui.menu,name:board.next_id_50
@ -162,7 +167,7 @@ msgstr "Configuration"
#. module: board
#: field:board.board.line,sequence:0
msgid "Sequence"
msgstr ""
msgstr "Séquence"
#. module: board
#: model:ir.model,name:board.model_board_board_line
@ -177,31 +182,30 @@ msgstr "Tableaux de bord"
#. module: board
#: field:board.board.line,height:0
msgid "Height"
msgstr ""
msgstr "Hauteur"
#. module: board
#: model:ir.actions.wizard,name:board.wizard_board_create_menu
msgid "Create Board Menu"
msgstr ""
msgstr "Créer un Menu Tableau"
#. module: board
#: wizard_button:board.board.menu.create,init,end:0
msgid "Cancel"
msgstr ""
msgstr "Annuler"
#. module: board
#: view:board.board:0
msgid "Dashboard View"
msgstr ""
msgstr "Vue Tableau de Bord"
#. module: board
#: wizard_button:board.board.menu.create,init,create_menu:0
#: view:board.board:0
msgid "Create Menu"
msgstr ""
msgstr "Créer le menu"
#. module: board
#: field:board.note,name:0
msgid "Subject"
msgstr "Sujet"

View File

@ -1,19 +1,20 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_account
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 4.3.0"
"Report-Msgid-Bugs-To: support@openerp.com"
"POT-Creation-Date: 2008-09-11 15:41:43+0000"
"PO-Revision-Date: 2008-09-11 15:41:43+0000"
"Last-Translator: <>"
"Language-Team: "
"MIME-Version: 1.0"
"Content-Type: text/plain; charset=UTF-8"
"Content-Transfer-Encoding: "
"Plural-Forms: "
"Project-Id-Version: OpenERP Server 4.3.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2008-09-10 15:05:35+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-10-13 08:04+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board_account
#: view:board.board:0
@ -28,7 +29,7 @@ msgstr "Factures brouillons"
#. module: board_account
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "XML non valide pour l'architecture de la vue!"
#. module: board_account
#: model:ir.actions.act_window,name:board_account.open_board_account
@ -81,4 +82,3 @@ msgstr "Tableau de compte"
#: view:board.board:0
msgid "Aged income"
msgstr "Revenus âgés"

View File

@ -1,57 +1,57 @@
# Translation of OpenERP Server.
# Translation of OpenERP Server.
# This file containt the translation of the following modules:
# * board_association
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 4.3.0"
"Report-Msgid-Bugs-To: support@openerp.com"
"POT-Creation-Date: 2008-09-11 15:41:43+0000"
"PO-Revision-Date: 2008-09-11 15:41:43+0000"
"Last-Translator: <>"
"Language-Team: "
"MIME-Version: 1.0"
"Content-Type: text/plain; charset=UTF-8"
"Content-Transfer-Encoding: "
"Plural-Forms: "
"Project-Id-Version: OpenERP Server 4.3.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2008-09-10 15:05:35+0000\n"
"PO-Revision-Date: 2008-09-10 15:05:35+0000\n"
"Last-Translator: Olivier Laurent <Unknown>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-10-13 08:08+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: board_association
#: model:ir.ui.menu,name:board_association.menu_board_associations_manager
msgid "Associations"
msgstr ""
msgstr "Associations"
#. module: board_association
#: constraint:ir.ui.view:0
msgid "Invalid XML for View Architecture!"
msgstr ""
msgstr "XML non valide pour l'architecture de la vue!"
#. module: board_association
#: view:board.board:0
msgid "Association Dashboard"
msgstr ""
msgstr "Tableau de Bord Association"
#. module: board_association
#: view:board.board:0
msgid "My tasks"
msgstr ""
msgstr "Mes Tâches"
#. module: board_association
#: view:board.board:0
msgid "New members"
msgstr ""
msgstr "Nouveaux Membres"
#. module: board_association
#: view:board.board:0
msgid "Unpaid Invoices"
msgstr ""
msgstr "Factures impayées"
#. module: board_association
#: view:board.board:0
msgid "Next Events"
msgstr ""
msgstr "Prochains événements"
#. module: board_association
#: view:board.board:0
msgid "Registrations by Events"
msgstr ""
msgstr "Inscriptions par événement"

View File

@ -597,8 +597,8 @@ class document_file(osv.osv):
return super(document_file, self).unlink(cr, uid, ids, context)
document_file()
class auto_configuration(osv.osv_memory):
_name='auto.configuration'
class document_configuration_wizard(osv.osv_memory):
_name='document.configuration.wizard'
_rec_name = 'Auto Directory configuration'
_columns = {
}
@ -687,4 +687,4 @@ class auto_configuration(osv.osv_memory):
doc_obj.create(cr,uid,res)
return True
auto_configuration()
document_configuration_wizard()

View File

@ -201,21 +201,31 @@
<record id="view_auto_config_form" model="ir.ui.view">
<field name="name">Auto Configure Directory</field>
<field name="model">auto.configuration</field>
<field name="model">document.configuration.wizard</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Auto Configure">
<label string="" colspan="2"/>
<separator string="Connect to Document Management System." colspan="4"/>
<label align="0.0" string="You can use ftp://admin:admin@localhost:8021 " colspan="4"/>
<separator string="Configure Ressources Directory :" colspan="4"/>
<newline/>
<label string="Do you want to configure Directory Automatically ?" colspan="2"/>
<label string="'All Sales Order' -> sale.order" align="0.0" colspan="4"/>
<label string="'Sales by Salesman' -> res.users" align="0.0" colspan="4"/>
<label string="'Personnal Folders' -> res.users" align="0.0" colspan="4"/>
<label string="'Projects' -> account.analytic.account with ressource tree" align="0.0" colspan="4"/>
<separator string="New Directories." colspan="4"/>
<label string="'Sales' -> sale.order which is link directory of 'res.users' model" align="0.0" colspan="4"/>
<label align="0.0" string="'Quotation','Meetings','Analysis Reports' -> static directories which are link directories of 'account.analytic.account' model" colspan="4"/>
<newline/>
<newline/>
<separator string="" colspan="4"/>
<label string="" colspan="2"/>
<group col="4" colspan="2">
<button special="cancel" string="Cancel" name="action_cancel" type="object" icon='gtk-cancel'/>
<button name="action_config" string="Configure" icon='gtk-ok' type="object"/>
</group>
<newline/>
<label string="You Can use ftp://admin:admin@localhost:8021 " colspan="2"/>
</form>
</field>
</record>
@ -223,7 +233,7 @@
<record id="action_config_auto_directory" model="ir.actions.act_window">
<field name="name">Auto Configure Directory</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">auto.configuration</field>
<field name="res_model">document.configuration.wizard</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
@ -232,6 +242,7 @@
<record model="ir.actions.todo"
id="config_auto_directory">
<field name="name">Auto Configure Directory</field>
<field name="note">This wizard will be configure directory for ressource model.</field>
<field name="action_id" ref="action_config_auto_directory"/>
<field name="state">open</field>
</record>

View File

@ -1,21 +1,21 @@
expression,note,parent_id,sequence,expression_status,style,type,code,name
0,,,,0,1,indicator,BILAN,Bilan
"report('BIMMO','BSTOCK','BREAL','BDISPO')",,BILAN,,0,2,fiscal,Actif,Actif
balance('2'),,Actif,,0,3,indicator,BIMMO,Valeurs immobilisées
balance('3'),,Actif,2,0,3,indicator,BSTOCK,Stocks
balance('4'),,Actif,3,0,3,indicator,BREAL,Réalisable
balance('5'),,Actif,4,0,3,fiscal,BDISPO,Disponible
report('BCAP') + report('BRESNET'),,BILAN,1,0,2,fiscal,PASSIF,Passif
balance('1'),,PASSIF,1,0,5,indicator,BCAP,Capitaux propores
-balance('7')+balance('6'),,PASSIF,,0,3,fiscal,BRESNET,Résultat net
0,,,,0,1,fiscal,CRES,Compte des résultats
"report('CCHAR','CBENEF')",,CRES,,0,2,fiscal,CRESACTIF,Résultat Actif
balance('6'),,CRESACTIF,,0,2,fiscal,CCHAR,Total des charges
report('CRESPROD'),,CRES,,0,2,fiscal,CRESPASSIF,Résultat Passif
-balance('7'),,CRESPASSIF,,0,2,fiscal,CRESPROD,Total des produits
-balance('7')+balance('6'),,CRESACTIF,,0,2,fiscal,CBENEF,Résultat (Bénéfice)
0,,,,0,3,indicator,IIMMO,Immobilisations
"balance('1')/balance(map(str(range(21,29))))","Dans une entreprise normalement équilibrée, les valeurs immobilisées sont couvertes en premier lieu par les capitaux propres et, en second lieu, par tout ou partie du passif à long terme. Idéalement, ce ratio (rapport entre capitaux permanents et les valeurs immobilisées) doit être suppérieur à l'unité.",IIMMO,,"balance('1')/balance(map(str(range(21,29)))) - 1",3,indicator,CIMMO,Couverture des immobilisations
0,,,,0,2,indicator,ITRE,Trésorerie
"balance('3','4','5') / balance('101','13','15','16','17','18')",Détermine si l'entreprise a la possibilité de s'acquitter de ses dettes à court terme dans des conditions normales. Calculé comme suit: (Stocks + Réalisable + Disponible ) / Passif exigible à court terme,ITRE,,"balance('3','4','5') / balance('101','13','15','16','17','18')",3,indicator,IFR,Indice du fond de roulement
"balance('4','5') / balance('101','13','15','16','17','18')",,ITRE,,"balance('4','5') / balance('101','13','15','16','17','18')",5,indicator,RTRE,Ratio de trésorerie
"expression","note","parent_id","sequence","badness_limit","goodness_limit","type","code","name"
0,,,,0,2,"indicator","BILAN","Bilan"
"report('BIMMO','BSTOCK','BREAL','BDISPO')",,"BILAN",,0,1,"fiscal","Actif","Actif"
"balance('2')",,"Actif",,5,45,"indicator","BIMMO","Valeurs immobilisées"
"balance('3')",,"Actif",2,3,12,"indicator","BSTOCK","Stocks"
"balance('4')",,"Actif",3,0,78,"indicator","BREAL","Réalisable"
"balance('5')",,"Actif",4,4,12,"fiscal","BDISPO","Disponible"
"report('BCAP') + report('BRESNET')",,"BILAN",1,0,2,"fiscal","PASSIF","Passif"
"balance('1')",,"PASSIF",1,0,3,"indicator","BCAP","Capitaux propores"
"-balance('7')+balance('6')",,"PASSIF",,0,5,"fiscal","BRESNET","Résultat net"
0,,,,1,9,"fiscal","CRES","Compte des résultats"
"report('CCHAR','CBENEF')",,"CRES",,1,8,"fiscal","CRESACTIF","Résultat Actif"
"balance('6')",,"CRESACTIF",,0,0,"fiscal","CCHAR","Total des charges"
"report('CRESPROD')",,"CRES",,3,12,"fiscal","CRESPASSIF","Résultat Passif"
"-balance('7')",,"CRESPASSIF",,2,4,"fiscal","CRESPROD","Total des produits"
"-balance('7')+balance('6')",,"CRESACTIF",,"2",8,"fiscal","CBENEF","Résultat (Bénéfice)"
0,,,,0,7,"indicator","IIMMO","Immobilisations"
"balance('1')/balance(map(str(range(21,29))))","Dans une entreprise normalement équilibrée, les valeurs immobilisées sont couvertes en premier lieu par les capitaux propres et, en second lieu, par tout ou partie du passif à long terme. Idéalement, ce ratio (rapport entre capitaux permanents et les valeurs immobilisées) doit être suppérieur à l'unité.","IIMMO",,0,9,"indicator","CIMMO","Couverture des immobilisations"
0,,,,0,0,"indicator","ITRE","Trésorerie"
"balance('3','4','5') / balance('101','13','15','16','17','18')","Détermine si l'entreprise a la possibilité de s'acquitter de ses dettes à court terme dans des conditions normales. Calculé comme suit: (Stocks + Réalisable + Disponible ) / Passif exigible à court terme","ITRE",,0,0,"indicator","IFR","Indice du fond de roulement"
"balance('4','5') / balance('101','13','15','16','17','18')",,"ITRE",,0,6,"indicator","RTRE","Ratio de trésorerie"

1 expression note parent_id sequence expression_status badness_limit style goodness_limit type code name
2 0 0 0 1 2 indicator BILAN Bilan
3 report('BIMMO','BSTOCK','BREAL','BDISPO') BILAN 0 0 2 1 fiscal Actif Actif
4 balance('2') Actif 0 5 3 45 indicator BIMMO Valeurs immobilisées
5 balance('3') Actif 2 0 3 3 12 indicator BSTOCK Stocks
6 balance('4') Actif 3 0 0 3 78 indicator BREAL Réalisable
7 balance('5') Actif 4 0 4 3 12 fiscal BDISPO Disponible
8 report('BCAP') + report('BRESNET') BILAN 1 0 0 2 2 fiscal PASSIF Passif
9 balance('1') PASSIF 1 0 0 5 3 indicator BCAP Capitaux propores
10 -balance('7')+balance('6') PASSIF 0 0 3 5 fiscal BRESNET Résultat net
11 0 0 1 1 9 fiscal CRES Compte des résultats
12 report('CCHAR','CBENEF') CRES 0 1 2 8 fiscal CRESACTIF Résultat Actif
13 balance('6') CRESACTIF 0 0 2 0 fiscal CCHAR Total des charges
14 report('CRESPROD') CRES 0 3 2 12 fiscal CRESPASSIF Résultat Passif
15 -balance('7') CRESPASSIF 0 2 2 4 fiscal CRESPROD Total des produits
16 -balance('7')+balance('6') CRESACTIF 0 2 2 8 fiscal CBENEF Résultat (Bénéfice)
17 0 0 0 3 7 indicator IIMMO Immobilisations
18 balance('1')/balance(map(str(range(21,29)))) Dans une entreprise normalement équilibrée, les valeurs immobilisées sont couvertes en premier lieu par les capitaux propres et, en second lieu, par tout ou partie du passif à long terme. Idéalement, ce ratio (rapport entre capitaux permanents et les valeurs immobilisées) doit être suppérieur à l'unité. IIMMO balance('1')/balance(map(str(range(21,29)))) - 1 0 3 9 indicator CIMMO Couverture des immobilisations
19 0 0 0 2 0 indicator ITRE Trésorerie
20 balance('3','4','5') / balance('101','13','15','16','17','18') Détermine si l'entreprise a la possibilité de s'acquitter de ses dettes à court terme dans des conditions normales. Calculé comme suit: (Stocks + Réalisable + Disponible ) / Passif exigible à court terme ITRE balance('3','4','5') / balance('101','13','15','16','17','18') 0 3 0 indicator IFR Indice du fond de roulement
21 balance('4','5') / balance('101','13','15','16','17','18') ITRE balance('4','5') / balance('101','13','15','16','17','18') 0 5 6 indicator RTRE Ratio de trésorerie

View File

@ -352,6 +352,7 @@ class mrp_production(osv.osv):
productions=self.read(cr,uid,ids,['id','move_prod_id'])
res={}
for production in productions:
res[production['id']]=False
if production.get('move_prod_id',False):
parent_move_line=get_parent_move(production['move_prod_id'][0])
if parent_move_line:

View File

@ -39,4 +39,4 @@ class order(report_sxw.rml_parse):
})
report_sxw.report_sxw('report.mrp.production.order','mrp.production','addons/mrp/report/order.rml',parser=order)
report_sxw.report_sxw('report.mrp.production.order','mrp.production','addons/mrp/report/order.rml',parser=order, header=2)

View File

@ -3,6 +3,36 @@
<template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="34.0" y1="42.0" width="527" height="758"/>
<header>
<pageGraphics>
<!--logo-->
<!--<fill color="darkblue"/>-->
<!--<stroke color="darkblue"/>-->
<!--TITLE COMPANY-->
<!-- <drawString x="4.6cm" y="28.7cm">[[ company.partner_id.name ]]</drawString> -->
<setFont name="Helvetica-Bold" size="9"/>
<!--COL 1-->
<drawString x="1.0cm" y="28.1cm">[[ company.name ]]</drawString>
<drawRightString x="20cm" y="28.1cm">Analytic Check</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>
@ -13,45 +43,85 @@
<blockTableStyle id="Table1">
<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="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
<lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
</blockTableStyle>
<blockTableStyle id="Table3">
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,2" stop="1,2"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
<blockValign value="TOP"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" fontName="Helvetica-Bold" fontSize="16.0" leading="20"/>
<paraStyle name="P2" fontName="Helvetica" fontSize="16.0" leading="20"/>
<paraStyle name="P3" fontName="Helvetica"/>
<paraStyle name="P4" fontName="Helvetica-Bold" fontSize="11.0" leading="14"/>
<paraStyle name="P5" fontName="Helvetica-Bold" fontSize="11.0" leading="14" alignment="LEFT"/>
<paraStyle name="P6" fontName="Helvetica-Bold" fontSize="11.0" leading="14" alignment="RIGHT"/>
<paraStyle name="P7" fontName="Helvetica-Bold" fontSize="11.0" leading="14"/>
<paraStyle name="P8" fontName="Helvetica-Bold" fontSize="9.0" leading="11"/>
<paraStyle name="P1" fontName="Helvetica" fontSize="16.0" leading="20"/>
<paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="P2" fontName="Helvetica" fontSize="8.0" leading="11"/>
<paraStyle name="P3" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P4" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P5" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT"/>
<paraStyle name="P6" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P7" fontName="Helvetica-Oblique" fontSize="9.0" leading="11"/>
<paraStyle name="P8" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P9" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P10" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P11" fontName="Helvetica" fontSize="10.0" leading="13" alignment="RIGHT"/>
<paraStyle name="P12" fontName="Helvetica" alignment="LEFT"/>
<paraStyle name="P13" fontName="Helvetica-Oblique" fontSize="9.0" leading="11"/>
<paraStyle name="P14" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P15" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P16" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="CENTER"/>
<paraStyle name="P17" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P18" fontName="Helvetica" fontSize="10.0" leading="13" spaceBefore="0.0" spaceAfter="3.0"/>
<paraStyle name="P10" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="CENTER"/>
<paraStyle name="P11" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT"/>
<paraStyle name="P12" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P13" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P14" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P15" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P16" fontName="Helvetica" fontSize="9.0" leading="11"/>
<paraStyle name="P17" fontName="Helvetica" alignment="LEFT"/>
<paraStyle name="P18" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT"/>
<paraStyle name="P19" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P20" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P21" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P22" fontName="Helvetica-Bold" fontSize="9.0" leading="11"/>
<paraStyle name="P23" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
<paraStyle name="P24" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER"/>
<paraStyle name="P25" fontName="Helvetica-Bold" fontSize="16.0" leading="20"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.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="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Table Contents" fontName="Times-Roman"/>
<paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
@ -60,76 +130,89 @@
</stylesheet>
<images/>
<story>
<para style="P14">[[ repeatIn(objects,'o') ]] </para>
<para style="P13">
<font color="white"> </font>
</para>
<para style="P14">
<font color="white"> </font>
</para>
<para style="P1">Production Order N° : [[ o.name ]]</para>
<para style="P2">
<font color="white"> </font>
</para>
<para style="P18">Printing date : [[ time.strftime('%d/%m/%Y') ]]</para>
<para style="P18">Partner Order reference : [[ o.sale_ref or ' ' ]]</para>
<para style="P18">SO number : [[ o.sale_name or '' ]]</para>
<para style="P3">
<font color="white"> </font>
</para>
<blockTable colWidths="130.0,313.0,85.0" repeatRows="1" style="Table1">
<tr>
<td>
<para style="P4">Product Name</para>
</td>
<td>
<para style="P5">Product Description</para>
</td>
<td>
<para style="P6">Qty</para>
</td>
</tr>
</blockTable>
<section>
<blockTable colWidths="130.0,312.0,86.0" style="Table2">
<tr>
<td>
<para style="P10">[[ '['+ o.product_id.code +']' ]] [[ o.product_id.name ]]</para>
</td>
<td>
<para style="P10">[[ o.product_id.description ]]</para>
</td>
<td>
<para style="P11">[[ '%.2f' % o.product_qty ]] [[ o.product_uom.name ]]</para>
</td>
</tr>
</blockTable>
</section>
<para style="P8">[[ repeatIn(objects,'o') ]] </para>
<para style="P7">
<font color="white"> </font>
</para>
<para style="P8">
<font color="white"> .........</font>
<font color="white"> .........</font>
<font color="white"> </font>
</para>
<blockTable colWidths="86.0,16.0,425.0" style="Table3">
<para style="terp_header">Production Order N° : [[ o.name ]]</para>
<para style="P1">
<font color="white"> </font>
</para>
<blockTable colWidths="74.0,88.0,78.0,89.0,199.0" repeatRows="1" style="Table1">
<tr>
<td>
<para style="P15">Planned Date </para>
<para style="terp_tblheader_General_Centre">Printing date</para>
</td>
<td>
<para style="P16">:</para>
<para style="terp_tblheader_General_Centre">Planned Date </para>
</td>
<td>
<para style="P15">[[ time.strftime('%d/%m/%Y', time.strptime(o.date_planned, '%Y-%m-%d %H:%M:%S')) ]]</para>
<para style="P9">
<font color="white"> </font>
</para>
<para style="terp_tblheader_General_Centre">Partner Ref</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">SO Number</para>
</td>
<td>
<para style="terp_tblheader_General_Centre">Product Name</para>
</td>
</tr>
</blockTable>
<para style="P12">
<font face="Times-Roman"/>
<section>
<blockTable colWidths="74.0,88.0,78.0,89.0,199.0" style="Table2">
<tr>
<td>
<para style="terp_default_Centre_8">[[ time.strftime('%d/%m/%Y') ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ time.strftime('%d/%m/%Y', time.strptime(o.date_planned, '%Y-%m-%d %H:%M:%S')) ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ o.sale_ref or ' ' ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ o.sale_name or '' ]]</para>
</td>
<td>
<para style="terp_default_Centre_8">[[ '['+ o.product_id.code +']' ]] [[ o.product_id.name ]]</para>
</td>
</tr>
</blockTable>
</section>
<para style="P2">
<font color="white"> </font>
</para>
<para style="P2">[[ o.product_id.description ]]</para>
<para style="P2">
<font color="white"> </font>
</para>
<blockTable colWidths="185.0,342.0" style="Table4">
<tr>
<td>
<para style="P21">Product </para>
</td>
<td>
<para style="P18">Qty</para>
</td>
</tr>
<tr>
<td>
<para style="P3">[[ repeatIn(o.move_lines,'line') ]]</para>
<para style="P3">[[ '['+line.product_id.code +']' ]][[ line.product_id.name ]]</para>
</td>
<td>
<para style="P5">[[ line.product_qty ]] [[line.product_uom.name]]</para>
</td>
</tr>
</blockTable>
<para style="P2">
<font color="white"> .........</font>
<font color="white"> .........</font>
</para>
<para style="P17">
<font color="white"> </font>
</para>
</story>
</document>

View File

@ -63,16 +63,13 @@ mrp_bom()
class mrp_production(osv.osv):
_name = 'mrp.production'
_description = 'Production'
_inherit= 'mrp.production'
_columns={
}
_inherit= 'mrp.production'
def action_confirm(self, cr, uid, ids):
picking_id=super(mrp_production,self).action_confirm(cr, uid, ids)
for production in self.browse(cr, uid, ids):
source = production.product_id.product_tmpl_id.property_stock_production.id
for sub_product in production.bom_id.sub_products:
print "::::::::",sub_product.product_id.id,sub_product.product_uom.id,sub_product.product_qty,production.id
for sub_product in production.bom_id.sub_products:
data = {
'name':'PROD:'+production.name,

View File

@ -8,14 +8,14 @@
<field name="type">form</field>
<field name="arch" type="xml">
<notebook>
<page string="sub products" position="inside">
<page string="Sub Products" position="inside">
<field colspan="4" name="sub_products" nolabel="1" widget="one2many_list">
<tree string="sub products" editable="top">
<field name="product_id" on_change="onchange_product_id(product_id)"/>
<field name="product_uom"/>
<field name="product_qty"/>
</tree>
<form string="sub products">
<form string="Sub Products">
<field name="product_id" on_change="onchange_product_id(product_id)"/>
<field name="product_uom"/>
<field name="product_qty"/>
@ -26,4 +26,4 @@
</field>
</record>
</data>
</openerp>
</openerp>

View File

@ -4,7 +4,7 @@
"version":"1.0",
"author":"Tiny",
"category":"Custom",
"depends":["product"],
"depends":["base","product","account"],
"demo_xml":[],
"update_xml":["product_margin_view.xml"],
"active": False,

View File

@ -43,7 +43,7 @@ class product_product(osv.osv):
res[val.id] = {}
date_from=context.get('date_from', time.strftime('%Y-01-01'))
date_to=context.get('date_to', time.strftime('%Y-12-31'))
invoice_state=context.get('invoice_state', 'open')
invoice_state=context.get('invoice_state', 'open_paid')
if 'date_from' in field_names:
res[val.id]['date_from']=date_from
if 'date_to' in field_names:
@ -54,12 +54,12 @@ class product_product(osv.osv):
invoice_types=[]
states=[]
if invoice_state=='draft_open':
states=['draft','open']
elif invoice_state=='paid':
if invoice_state=='paid':
states=['paid']
elif invoice_state=='open':
states=['open']
elif invoice_state=='open_paid':
states=['open','paid']
elif invoice_state=='draft_open_paid':
states=['draft','open','paid']
if 'sale_avg_price' in field_names or 'sale_num_invoiced' in field_names or 'turnover' in field_names or 'sale_expected' in field_names:
invoice_types=['out_invoice','in_refund']
@ -71,15 +71,11 @@ class product_product(osv.osv):
avg(l.price_unit) as avg_unit_price,
sum(l.quantity) as num_qty,
sum(l.quantity * l.price_unit) as total,
sum(sale_line.product_uom_qty * sale_line.price_unit) as sale_expected,
sum(purchase_line.product_qty * purchase_line.price_unit) as normal_cost
sum(l.quantity * product.list_price) as sale_expected,
sum(l.quantity * product.standard_price) as normal_cost
from account_invoice_line l
left join account_invoice i on (l.invoice_id = i.id)
left join sale_order_invoice_rel sale_invoice on (i.id=sale_invoice.invoice_id)
left join sale_order sale on sale.id=sale_invoice.order_id
left join sale_order_line sale_line on sale.id=sale_line.order_id
left join purchase_order purchase on purchase.invoice_id=i.id
left join purchase_order_line purchase_line on purchase_line.order_id=purchase.id
left join product_template product on (product.id=l.product_id)
where l.product_id = %s and i.state in ('%s') and i.type in ('%s')
"""%(val.id,"','".join(states),"','".join(invoice_types))
cr.execute(sql)
@ -111,24 +107,22 @@ class product_product(osv.osv):
'date_from': fields.function(_product_margin, method=True, type='date', string='From Date', multi=True),
'date_to': fields.function(_product_margin, method=True, type='date', string='To Date', multi=True),
'invoice_state': fields.function(_product_margin, method=True, type='selection', selection=[
('paid','Paid'),
('open','All Open'),
('draft_open','Draft and Open')
('paid','Paid'),('open_paid','Open and Paid'),('draft_open_paid','Draft, Open and Paid')
], string='Invoice State',multi=True, readonly=True),
'sale_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='sale'),
'purchase_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='purchase'),
'sale_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='sale'),
'purchase_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='purchase'),
'sales_gap' : fields.function(_product_margin, method=True, type='float', string='Sales Gap', multi='sale'),
'purchase_gap' : fields.function(_product_margin, method=True, type='float', string='Purchase Gap', multi='purchase'),
'turnover' : fields.function(_product_margin, method=True, type='float', string='Turnover' ,multi='sale'),
'total_cost' : fields.function(_product_margin, method=True, type='float', string='Total Cost', multi='purchase'),
'sale_expected' : fields.function(_product_margin, method=True, type='float', string='Expected Sale', multi='sale'),
'normal_cost' : fields.function(_product_margin, method=True, type='float', string='Normal Cost', multi='purchase'),
'total_margin' : fields.function(_product_margin, method=True, type='float', string='Total Margin', multi='total'),
'expected_margin' : fields.function(_product_margin, method=True, type='float', string='Expected Margin', multi='total'),
'total_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Total Margin (%)', multi='margin'),
'expected_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Expected Margin (%)', multi='margin'),
'sale_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='sale',help="Avg. Price in Customer Invoices)"),
'purchase_avg_price' : fields.function(_product_margin, method=True, type='float', string='Avg. Unit Price', multi='purchase',help="Avg. Price in Supplier Invoices "),
'sale_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='sale',help="Sum of Quantity in Customer Invoices"),
'purchase_num_invoiced' : fields.function(_product_margin, method=True, type='float', string='# Invoiced', multi='purchase',help="Sum of Quantity in Supplier Invoices"),
'sales_gap' : fields.function(_product_margin, method=True, type='float', string='Sales Gap', multi='sale',help="Excepted Sale - Turn Over"),
'purchase_gap' : fields.function(_product_margin, method=True, type='float', string='Purchase Gap', multi='purchase',help="Normal Cost - Total Cost"),
'turnover' : fields.function(_product_margin, method=True, type='float', string='Turnover' ,multi='sale',help="Sum of Multification of Invoice price and quantity of Customer Invoices"),
'total_cost' : fields.function(_product_margin, method=True, type='float', string='Total Cost', multi='purchase',help="Sum of Multification of Invoice price and quantity of Supplier Invoices "),
'sale_expected' : fields.function(_product_margin, method=True, type='float', string='Expected Sale', multi='sale',help="Sum of Multification of Sale Catalog price and quantity of Customer Invoices"),
'normal_cost' : fields.function(_product_margin, method=True, type='float', string='Normal Cost', multi='purchase',help="Sum of Multification of Cost price and quantity of Supplier Invoices"),
'total_margin' : fields.function(_product_margin, method=True, type='float', string='Total Margin', multi='total',help="Turnorder - Total Cost"),
'expected_margin' : fields.function(_product_margin, method=True, type='float', string='Expected Margin', multi='total',help="Excepted Sale - Normal Cost"),
'total_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Total Margin (%)', multi='margin',help="Total margin * 100 / Turnover"),
'expected_margin_rate' : fields.function(_product_margin, method=True, type='float', string='Expected Margin (%)', multi='margin',help="Expected margin * 100 / Expected Sale"),
}

View File

@ -2,21 +2,38 @@
<openerp>
<data>
<wizard id="action_open_margin" menu="False" model="product.product" name="product.margin" string="Product Margin"/>
<wizard id="action_open_margin" menu="False" model="product.product" name="product.margins" string="Product Margins"/>
<menuitem id="menu_product_reporting" name="Reporting" parent ="product.menu_main_product" />
<menuitem icon="STOCK_JUSTIFY_FILL" action="action_open_margin" id="menu_action_product_margin" type="wizard" sequence="5" parent="menu_product_reporting" />
<record model="ir.ui.view" id="view_product_margin_graph">
<field name="name">product.margin.graph</field>
<field name="model">product.product</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Product Margins" type="bar">
<field name="name"/>
<field name="turnover" operator="+"/>
<field name="total_cost" operator="+"/>
</graph>
</field>
</record>
<record id="view_product_margin_form" model="ir.ui.view">
<field name="name">product.margin.form.inherit</field>
<field name="model">product.product</field>
<field name="type">form</field>
<field name="inherit_id" ref="product.product_normal_form_view"/>
<field name="priority">10</field>
<field name="arch" type="xml">
<page string="Prices" position="after">
<page string="Margin">
<field name="type">form</field>
<field name="priority">5</field>
<field name="arch" type="xml">
<form string="Product Margins">
<group col="6" colspan="4">
<field name="name" select="1"/>
<field name="default_code" select="1"/>
</group>
<notebook colspan="4">
<page string="Margins">
<separator string="Analysis Criteria" colspan="4"/>
<field name="date_from"/>
<field name="date_to"/>
@ -42,11 +59,12 @@
<separator string="Margins" colspan="4"/>
<field name="total_margin"/>
<field name="expected_margin"/>
<field name="total_margin_rate" widget="progressbar"/>
<field name="total_margin_rate" widget="progressbar"/>
<field name="expected_margin_rate" widget="progressbar"/>
</page>
</page>
</page>
</notebook>
</form>
</field>
</record>
@ -55,18 +73,19 @@
<field name="model">product.product</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Product Margin">
<tree string="Product Margins">
<field name="name" select="1"/>
<field name="default_code" select="1"/>
<field name="sale_avg_price"/>
<field name="sale_num_invoiced"/>
<field name="turnover"/>
<field name="sales_gap"/>
<field name="total_cost"/>
<field name="turnover" sum="Turnover"/>
<field name="sales_gap" sum="Sales Gap"/>
<field name="total_cost" sum="Total Cost"/>
<field name="purchase_num_invoiced" string="#Purchased"/>
<field name="total_margin"/>
<field name="expected_margin"/>
<field name="total_margin_rate" widget="progressbar"/>
<field name="expected_margin_rate" widget="progressbar"/>
</tree>
</field>
</record>

View File

@ -36,17 +36,17 @@ def _action_open_window(self, cr, uid, data, context):
cr.execute('select id,name from ir_ui_view where name=%s and type=%s', ('product.margin.tree', 'tree'))
view_res = cr.fetchone()
return {
'name': 'Product Margin',
'name': 'Product Margins',
'context':{'date_from':data['form']['from_date'],'date_to':data['form']['to_date'],'invoice_state' : data['form']['invoice_state']},
'view_type': 'form',
"view_mode": 'tree,form',
"view_mode": 'tree,form,graph',
'res_model':'product.product',
'type': 'ir.actions.act_window',
'view_id': view_res,
}
class product_margin(wizard.interface):
class product_margins(wizard.interface):
form1 = '''<?xml version="1.0"?>
<form string="View Stock of Products">
<separator string="Select " colspan="4"/>
@ -58,28 +58,32 @@ class product_margin(wizard.interface):
'from_date': {
'string': 'From',
'type': 'date',
'default': lambda *a:time.strftime('%Y-01-01'),
},
'to_date': {
'string': 'To',
'type': 'date',
'default': lambda *a:time.strftime('%Y-12-31'),
},
'invoice_state': {
'string': 'Invoice State',
'type': 'selection',
'selection': [('paid','Paid'),('open','All Open'),('draft_open','Draft and Open')],
'selection': [('paid','Paid'),('open_paid','Open and Paid'),('draft_open_paid','Draft, Open and Paid'),],
'required': True,
'default': lambda *a:"open",
'default': lambda *a:"open_paid",
},
}
states = {
'init': {
'actions': [],
'result': {'type': 'form', 'arch':form1, 'fields':form1_fields, 'state': [('end', 'Cancel','gtk-cancel'),('open', 'Open Margin','gtk-ok')]}
'result': {'type': 'form', 'arch':form1, 'fields':form1_fields, 'state': [('end', 'Cancel','gtk-cancel'),('open', 'Open Margins','gtk-ok')]}
},
'open': {
'actions': [],
'result': {'type': 'action', 'action': _action_open_window, 'state':'end'}
}
}
product_margin('product.margin')
product_margins('product.margins')

View File

@ -310,13 +310,28 @@
<field name="type">calendar</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
<calendar type="gantt" color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
<field name="name"/>
<field name="project_id"/>
</calendar>
</field>
</record>
<record model="ir.ui.view" id="view_project_task_graph">
<record id="view_task_gantt" model="ir.ui.view">
<field name="name">project.task.gantt</field>
<field name="model">project.task</field>
<field name="type">gantt</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<gantt color="user_id" date_delay="planned_hours" date_start="date_start" string="Tasks">
<level object="project.project" domain="[]">
<field name="name"/>
</level>
</gantt>
</field>
</record>
<record id="view_project_task_graph" model="ir.ui.view">
<field name="name">project.task.graph</field>
<field name="model">project.task</field>
<field name="type">graph</field>
@ -333,7 +348,7 @@
<field name="name">All Tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="view_mode">tree,form,calendar,gantt,graph</field>
<field eval="False" name="view_id"/>
</record>
<menuitem action="action_view_task" id="menu_action_view_task" parent="project.menu_main"/>
@ -342,7 +357,7 @@
<field name="name">My Tasks</field>
<field name="res_model">project.task</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form,calendar,graph</field>
<field name="view_mode">tree,form,calendar,gantt,graph</field>
<field name="domain">[('user_id', '=', uid)]</field>
</record>
<menuitem action="action_view_task4" id="menu_action_view_task4" parent="project.menu_main"/>

View File

@ -10,7 +10,11 @@
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table_All_Address_Detail">
<blockTableStyle id="Tableau1">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Tableau2">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
@ -95,8 +99,11 @@
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P1" rightIndent="0.0" leftIndent="12.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P2" rightIndent="0.0" leftIndent="15.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P3" rightIndent="0.0" leftIndent="12.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P2" rightIndent="0.0" leftIndent="12.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P3" rightIndent="0.0" leftIndent="15.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P4" fontName="Times-Roman" fontSize="9.0" leading="11"/>
<paraStyle name="P5" fontName="Times-Bold" fontSize="10.0" leading="13"/>
<paraStyle name="P6" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="Standard" fontName="Times-Roman"/>
<paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
@ -133,40 +140,70 @@
<images/>
<story>
<para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
<para style="terp_default_8">
<para style="P6">
<font color="white"> </font>
</para>
<blockTable colWidths="294.0,240.0" style="Table_All_Address_Detail">
<blockTable colWidths="253.0,59.0,223.0" style="Tableau1">
<tr>
<td>
<para style="terp_default_9">[[ repeatIn(o.dest_address_id and [o.dest_address_id] or [],'addr') ]]</para>
<para style="terp_default_Bold_9">Shipping address :</para>
<para style="terp_default_9">[[ addr.partner_id.title or '' ]][[ addr.partner_id.name ]]</para>
<para style="terp_default_9">[[ addr.title or '' ]][[ addr.name ]]</para>
<para style="terp_default_9">[[ addr.street ]]</para>
<para style="terp_default_9">[[ addr.street2 or '' ]]</para>
<para style="terp_default_9"><font face="Times-Roman">[[ addr.zip or '' ]]</font> [[ addr.city or '' ]]</para>
<para style="terp_default_9">[[ addr.state_id and addr.state_id.name or '' ]]</para>
<para style="terp_default_9">[[ addr.country_id and addr.country_id.name or '' ]]</para>
</td>
<td>
<para style="terp_default_9">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.title or '' ]] [[ o.partner_address_id.name ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.street ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.street2 or '' ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.zip or '' ]] [[ o.partner_address_id.city or '' ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.state_id and o.partner_address_id.state_id.name or '' ]]</para>
<para style="terp_default_9">[[ o.partner_address_id.country_id and o.partner_address_id.country_id.name or '' ]]</para>
<para style="terp_default_9">
<blockTable colWidths="253.0" style="Tableau2">
<tr>
<td>
<para style="P6">
<font color="white"> </font>
</para>
</td>
</tr>
<tr>
<td>
<para style="P6">[[ repeatIn(o.dest_address_id and [o.dest_address_id] or [],'addr') ]]</para>
<para style="P5">Shipping address :</para>
<para style="P6">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="P6">[[ addr.title or '' ]] [[ addr.name ]]</para>
<para style="P6">[[ addr.street ]]</para>
<para style="P6">[[ addr.street2 or '' ]]</para>
<para style="P6">[[ addr.zip or '' ]] [[ addr.city or '' ]]</para>
<para style="P6">[[ addr.state_id and addr.state_id.name or '' ]]</para>
<para style="P6">[[ addr.country_id and addr.country_id.name or '' ]]</para>
</td>
</tr>
</blockTable>
<para style="P6">
<font color="white"> </font>
</para>
<para style="terp_default_9">Tél. : [[ o.partner_address_id.phone or '' ]]</para>
<para style="terp_default_9">Fax : [[ o.partner_address_id.fax or '' ]]</para>
<para style="terp_default_9">TVA :[[ o.partner_id.vat or '' ]]</para>
</td>
<td>
<para style="P6">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P6">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para>
<para style="P6">[[ o.partner_address_id.title or '' ]] [[ o.partner_address_id.name ]]</para>
<para style="P6">[[ o.partner_address_id.street ]]</para>
<para style="P6">[[ o.partner_address_id.street2 or '' ]]</para>
<para style="P6">[[ o.partner_address_id.zip or '' ]] [[ o.partner_address_id.city or '' ]]</para>
<para style="P6">[[ o.partner_address_id.state_id and o.partner_address_id.state_id.name or '' ]]</para>
<para style="P6">[[ o.partner_address_id.country_id and o.partner_address_id.country_id.name or '' ]]</para>
<para style="P6">
<font color="white"> </font>
</para>
<para style="P6">Tel. : [[ o.partner_address_id.phone or '' ]]</para>
<para style="P6">Fax : [[ o.partner_address_id.fax or '' ]]</para>
<para style="P6">TVA : [[ o.partner_id.vat or '' ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_header">Request for Quotation [[ (o.state=='draft' or removeParentNode('font')) and '' ]] Order [[ (o.state&lt;&gt;'draft' or removeParentNode('font')) and '' ]] N° :[[ o.name ]]</para>
<para style="P6">
<font color="white"> </font>
</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="terp_header"> [[ (o.state=='draft' or removeParentNode('font')) and 'Request for Quotation' ]] [[ (o.state&lt;&gt;'draft' or removeParentNode('font')) and 'Purchase Order Confirmation' ]] N&#176; [[ o.name ]]</para>
<para style="terp_default_8">
<font color="white"> </font>
</para>
@ -198,7 +235,7 @@
<para style="terp_default_Centre_9">[[ o.partner_ref or '' ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ time.strftime('%d/%m/%Y', time.strptime(o.date_order, '%Y-%m-%d')) ]]</para>
<para style="Standard">[[ time.strftime('%d/%m/%Y', time.strptime(line.date_planned, '%Y-%m-%d %H:%M:%S')) ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ o.validator and o.validator.name or '' ]]</para>
@ -208,7 +245,7 @@
<para style="terp_default_9">
<font color="white"> </font>
</para>
<blockTable colWidths="253.0,52.0,57.0,44.0,58.0,70.0" repeatRows="1" style="Table_Header_Pur_ord_Line">
<blockTable colWidths="253.0,52.0,49.0,58.0,58.0,70.0" repeatRows="1" style="Table_Header_Pur_ord_Line">
<tr>
<td>
<para style="terp_tblheader_Details">Description</para>
@ -232,7 +269,7 @@
</blockTable>
<section>
<para style="terp_default_8">[[ repeatIn(o.order_line,'line') ]]</para>
<blockTable colWidths="254.0,52.0,57.0,24.0,20.0,57.0,71.0" style="Table_Order_Pur_line_Content">
<blockTable colWidths="254.0,52.0,57.0,34.0,20.0,57.0,70.0" style="Table_Order_Pur_line_Content">
<tr>
<td>
<para style="terp_default_9">[[ line.name ]]</para>
@ -241,7 +278,7 @@
<para style="terp_default_9">[[ ', '.join(map(lambda x: x.name, line.taxes_id)) ]]</para>
</td>
<td>
<para style="terp_default_Centre_9">[[ time.strftime('%d/%m/%Y', time.strptime(line.date_planned, '%Y-%m-%d %H:%M:%S')) ]]</para>
<para style="terp_default_Centre_9">[[ time.strftime('%d/%m/%Y', time.strptime( line.date_planned, '%Y-%m-%d')) ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ line.product_qty ]] </para>
@ -258,7 +295,7 @@
</tr>
<tr>
<td>
<para style="P3">[[ line.notes or removeParentNode('tr') ]]</para>
<para style="P2">[[ line.notes or removeParentNode('tr') ]]</para>
</td>
<td>
<para style="terp_default_9">
@ -293,7 +330,7 @@
</tr>
</blockTable>
</section>
<blockTable colWidths="415.0,57.0,42.0,20.0" style="Table_All_Total_Detail">
<blockTable colWidths="415.0,57.0,52.0,20.0" style="Table_All_Total_Detail">
<tr>
<td>
<para style="terp_default_9">
@ -333,7 +370,7 @@
</para>
</td>
<td>
<para style="P2">Total :</para>
<para style="P3">Total :</para>
</td>
<td>
<para style="terp_default_Bold_9_Right">[[ o.amount_total ]]</para>

View File

@ -16,6 +16,17 @@ class shipping(report_sxw.rml_parse):
super(shipping, self).__init__(cr, uid, name, context)
self.localcontext.update({
'time': time,
# 'sum_total': self._sum_total,
})
# def _sum_total(self,data):
# print "======data=======",data['id']
# self.cr.execute("SELECT sum(pt.list_price*sm.product_qty) FROM stock_picking as sp "\
# "LEFT JOIN stock_move sm ON (sp.id = sm.picking_id) "\
# "LEFT JOIN product_product pp ON (sm.product_id = pp.id) "\
# "LEFT JOIN product_template pt ON (pp.product_tmpl_id = pt.id) "\
# "WHERE sm.picking_id = %d "%(data['id']))
# sum_total = self.cr.fetchone()[0] or 0.00
# return sum_total
report_sxw.report_sxw('report.sale.shipping','stock.picking','addons/sale/report/shipping.rml',parser=shipping)

View File

@ -60,9 +60,6 @@
<lineStyle kind="LINEBELOW" colorName="#666666" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#666666" start="5,-1" stop="5,-1"/>
</blockTableStyle>
<blockTableStyle id="Table4">
<blockAlignment value="LEFT"/>
@ -71,21 +68,6 @@
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
</blockTableStyle>
<blockTableStyle id="Table5">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="2,0" stop="2,0"/>
<lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,1" stop="0,1"/>
<lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="1,1" stop="1,1"/>
<lineStyle kind="LINEABOVE" colorName="#000000" start="2,1" stop="2,1"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
@ -196,11 +178,8 @@
<para style="Standard">
<font color="white"> </font>
</para>
<blockTable colWidths="67.0,212.0,71.0,65.0,59.0,63.0" repeatRows="1" style="Table3">
<blockTable colWidths="370.0,85.0,82.0" repeatRows="1" style="Table3">
<tr>
<td>
<para style="terp_tblheader_Details">Reference</para>
</td>
<td>
<para style="terp_tblheader_Details">Designation</para>
</td>
@ -208,13 +187,7 @@
<para style="terp_tblheader_Details_Centre">Lot</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Quantity</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Unit Price</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Price</para>
<para style="terp_tblheader_Details_Right">Quantity</para>
</td>
</tr>
</blockTable>
@ -223,16 +196,13 @@
</para>
<section>
<para style="P2">[[ repeatIn(o.move_lines,'line') ]]</para>
<blockTable colWidths="66.0,213.0,70.0,46.0,21.0,58.0,63.0" style="Table4">
<blockTable colWidths="370.0,85.0,59.0,24.0" style="Table4">
<tr>
<td>
<para style="terp_default_9">[[line.product_id.code ]]</para>
<para style="terp_default_9">[[line.product_id.code ]] [[ line.product_id and line.product_id.name or '']]</para>
</td>
<td>
<para style="terp_default_9">[[ line.product_id and line.product_id.name or '']]</para>
</td>
<td>
<para style="terp_default_9">[[ (line.prodlot_id and line.prodlot_id.name) or ' ' ]]</para>
<para style="terp_default_Centre_9">[[ (line.prodlot_id and line.prodlot_id.name) or ' ' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ line.product_qty ]]</para>
@ -240,48 +210,14 @@
<td>
<para style="terp_default_Right_9">[[ line.product_uom and line.product_uom.name ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ line.sale_line_id and line.sale_line_id.price_unit ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ line.sale_line_id and line.sale_line_id.price_subtotal ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_1">
<font color="white"> </font>
</para>
</section>
<blockTable colWidths="416.0,55.0,66.0" style="Table5">
<tr>
<td>
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="terp_default_9">Net Total :</para>
</td>
<td>
<para style="terp_default_Right_9">[[ o.sale_id and o.sale_id.amount_untaxed ]]</para>
</td>
</tr>
<tr>
<td>
<para style="terp_default_9">
<font color="white"> </font>
</para>
</td>
<td>
<para style="P3">Total :</para>
</td>
<td>
<para style="terp_default_Right_9_Bold">[[ o.sale_id and o.sale_id.amount_total ]] </para>
</td>
</tr>
</blockTable>
<para style="Standard">
<font color="white"> </font>
</para>
</story>
</document>
</document>

View File

@ -69,10 +69,11 @@ class product_product(osv.osv):
location_ids = context['location']
else:
cr.execute("select lot_stock_id from stock_warehouse")
location_ids = [id for (id,) in cr.fetchall()]
location_ids = [id for (id,) in cr.fetchall()]
# build the list of ids of children of the location given by id
location_ids = self.pool.get('stock.location').search(cr, uid, [('location_id', 'child_of', location_ids)])
child_location_ids = self.pool.get('stock.location').search(cr, uid, [('location_id', 'child_of', location_ids)])
location_ids= len(child_location_ids) and child_location_ids or location_ids
states_str = ','.join(map(lambda s: "'%s'" % s, states))

View File

@ -61,7 +61,17 @@
<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="Move_Line_Contect">
<blockTableStyle id="Move_Line_Contect_Assign_State">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
</blockTableStyle>
<blockTableStyle id="Move_Line_Content_Other_State">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
@ -103,7 +113,7 @@
<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_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" 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_5cm_Above_Space" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/>
</stylesheet>
<images/>
@ -187,38 +197,39 @@
<para style="terp_default_5cm_Above_Space">
<font color="white"> </font>
</para>
<blockTable colWidths="58.0,261.0,49.0,89.0,56.0" repeatRows="1" style="Move_Line_Header">
<blockTable colWidths="276.0,51.0,56.0,80.0,55.0" repeatRows="1" style="Move_Line_Header">
<tr>
<td>
<para style="terp_tblheader_Details">Product</para>
</td>
<td>
<para style="terp_tblheader_Details">Description</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Lot</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">State</para>
</td>
<td>
<para style="terp_tblheader_Details_Centre">Qty</para>
</td>
<td>
<para style="terp_tblheader_Details_Right">Location</para>
<para style="terp_tblheader_Details_Centre">Location</para>
</td>
</tr>
</blockTable>
<para style="terp_default_2"/>
<section>
<para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state == 'assigned' )],'move_lines') ]]</para>
<blockTable colWidths="59.0,261.0,49.0,64.0,25.0,54.0" style="Move_Line_Contect">
<blockTable colWidths="277.0,51.0,56.0,58.0,22.0,56.0" style="Move_Line_Contect_Assign_State">
<tr>
<td>
<para style="terp_default_9">[[ move_lines.product_id.default_code ]]</para>
</td>
<td>
<para style="terp_default_9">[[ move_lines.product_id.name ]]</para>
<para style="terp_default_9">[ [[ move_lines.product_id.default_code ]] ] [[ move_lines.product_id.name ]]</para>
</td>
<td>
<para style="terp_default_9">[[ (move_lines.prodlot_id and move_lines.prodlot_id.name) or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ move_lines.state ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ move_lines.product_qty ]] </para>
</td>
@ -226,13 +237,63 @@
<para style="terp_default_Right_9">[[ move_lines.product_uom.name ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]]</para>
<para style="terp_default_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_1">
<para style="terp_default_2">
<font color="white"> </font>
</para>
</section>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="terp_default_Bold_9">Non Assigned Products:</para>
<para style="terp_default_Bold_9">
<font color="white"> </font>
</para>
<section>
<para style="terp_default_8">[[ repeatIn([line for line in picking.move_lines if (line.state != 'assigned' )],'move_lines') ]]</para>
<blockTable colWidths="277.0,51.0,56.0,58.0,22.0,55.0" style="Move_Line_Content_Other_State">
<tr>
<td>
<para style="terp_default_9">[ [[ move_lines.product_id.default_code ]] ] [[ move_lines.product_id.name ]]</para>
</td>
<td>
<para style="terp_default_9">[[ (move_lines.prodlot_id and move_lines.prodlot_id.name) or '' ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ move_lines.state ]]</para>
</td>
<td>
<para style="terp_default_Right_9">[[ move_lines.product_qty ]] </para>
</td>
<td>
<para style="terp_default_Right_9">[[ move_lines.product_uom.name ]]</para>
</td>
<td>
<para style="terp_default_9">[[ (move_lines.location_id and move_lines.location_id.name) or '' ]]</para>
</td>
</tr>
</blockTable>
<para style="terp_default_2">
<font color="white"> </font>
</para>
</section>
<para style="terp_default_9">
<font color="white"> </font>
</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="Standard">
<font color="white"> </font>
</para>
<para style="Standard">
<font color="white"> </font>
</para>
</story>
</document>

View File

@ -320,6 +320,8 @@ class stock_picking(osv.osv):
_description = "Packing list"
def _set_maximum_date(self, cr, uid, ids, name, value, arg, context):
if not value: return False
if isinstance(ids, (int, long)):
ids=[ids]
for pick in self.browse(cr, uid, ids, context):
cr.execute("""update stock_move set
date_planned=%s
@ -330,6 +332,8 @@ class stock_picking(osv.osv):
def _set_minimum_date(self, cr, uid, ids, name, value, arg, context):
if not value: return False
if isinstance(ids, (int, long)):
ids=[ids]
for pick in self.browse(cr, uid, ids, context):
cr.execute("""update stock_move set
date_planned=%s