|
@ -10,7 +10,7 @@ |
|
|
<drawString x="17.7cm" y="28.1cm">Maintenance And Support Summary</drawString> |
|
|
<drawString x="17.7cm" y="28.1cm">Maintenance And Support Summary</drawString> |
|
|
|
|
|
|
|
|
<setFont name="Helvetica" size="9"/> |
|
|
<setFont name="Helvetica" size="9"/> |
|
|
<drawString x="1.0cm" y="2cm"> [[ time.strftime("%m-%d-%y %H:%M", time.localtime()) ]]</drawString> |
|
|
|
|
|
|
|
|
<drawString x="1.0cm" y="2cm"> [[ formatLang(time.strftime(date_format), date=True) ]]</drawString> |
|
|
<drawString x="17.7cm" y="2cm">Page <pageNumber/></drawString> |
|
|
<drawString x="17.7cm" y="2cm">Page <pageNumber/></drawString> |
|
|
|
|
|
|
|
|
<lineMode width="0.7"/> |
|
|
<lineMode width="0.7"/> |
|
@ -165,7 +165,7 @@ |
|
|
<blockTable colWidths="258.0,259.0" style="Table1" repeatRows="1"> |
|
|
<blockTable colWidths="258.0,259.0" style="Table1" repeatRows="1"> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P12a">Description :</para> |
|
|
|
|
|
|
|
|
<para style="P12a">Description: </para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ o.name ]]</para> |
|
|
<para style="P2">[[ o.name ]]</para> |
|
@ -173,15 +173,15 @@ |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P12a">Report Date : </para> |
|
|
|
|
|
|
|
|
<para style="P12a">Report Date: </para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ time.strftime("%d.%m.%Y", time.localtime()) ]]</para> |
|
|
|
|
|
|
|
|
<para style="P2">[[ formatLang(time.strftime(date_format), date=True) ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P12a">Invoice Date : </para> |
|
|
|
|
|
|
|
|
<para style="P12a">Invoice Date: </para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ o.date_invoice and formatLang(o.date_invoice, date=True) or '' ]]</para> |
|
|
<para style="P2">[[ o.date_invoice and formatLang(o.date_invoice, date=True) or '' ]]</para> |
|
@ -189,8 +189,8 @@ |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P12a">Amount bought : [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Quantity of hours bought : [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
|
|
|
<para style="P12a">Amount bought: [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Quantity of hours bought: [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ o.amount_hours_block ]]</para> |
|
|
<para style="P2">[[ o.amount_hours_block ]]</para> |
|
@ -198,9 +198,8 @@ |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<!-- <para style="P12a">[[ o.type == 'hours' and "Quantity of hours" or "Amount"]] used : </para> --> |
|
|
|
|
|
<para style="P12a">Amount used : [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Quantity of hours used : [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
|
|
|
<para style="P12a">Amount used: [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Quantity of hours used: [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ round(o.amount_hours_block_done, 2) ]]</para> |
|
|
<para style="P2">[[ round(o.amount_hours_block_done, 2) ]]</para> |
|
@ -208,9 +207,8 @@ |
|
|
</tr> |
|
|
</tr> |
|
|
<tr> |
|
|
<tr> |
|
|
<td> |
|
|
<td> |
|
|
<!-- <para style="P12a">Remaining [[ o.type == 'hours' and "hours" or "amount"]] : </para> --> |
|
|
|
|
|
<para style="P12a">Remaining amount : [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Remaining hours : [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
|
|
|
<para style="P12a">Remaining amount: [[ (o.type == 'amount' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
<para style="P12a">Remaining hours: [[ (o.type == 'hours' or removeParentNode('para')) and '' ]]</para> |
|
|
|
|
|
|
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
@ -241,21 +239,21 @@ |
|
|
</tr> |
|
|
</tr> |
|
|
|
|
|
|
|
|
<tr> |
|
|
<tr> |
|
|
[[ repeatIn(analytic_lines(o),'l') ]] |
|
|
|
|
|
|
|
|
[[ repeatIn(analytic_lines(o), 'l') ]] |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ l.date and formatLang(l.date, date=True) or '' ]]</para> |
|
|
|
|
|
|
|
|
<para style="P2">[[ l.date if formatLang(l.date, date=True) else '' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2">[[ l.name or '' ]]</para> |
|
|
<para style="P2">[[ l.name or '' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2c">[[ round(l.unit_amount or '0.0', 2) ]]</para> |
|
|
|
|
|
|
|
|
<para style="P2c">[[ round(l.unit_amount, 2) or '0.0' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2c">[[ l.to_invoice.customer_name ]]</para> |
|
|
<para style="P2c">[[ l.to_invoice.customer_name ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
<td> |
|
|
<td> |
|
|
<para style="P2c">[[ round((l.unit_amount and l.to_invoice) and (l.unit_amount - (l.unit_amount * l.to_invoice.factor) / 100 ) or '0.0', 2) ]]</para> |
|
|
|
|
|
|
|
|
<para style="P2c">[[ round((l.unit_amount and l.to_invoice) and (l.unit_amount - (l.unit_amount * l.to_invoice.factor) / 100 ), 2) or '0.0' ]]</para> |
|
|
</td> |
|
|
</td> |
|
|
</tr> |
|
|
</tr> |
|
|
</blockTable> |
|
|
</blockTable> |
|
|