You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
6.5 KiB
194 lines
6.5 KiB
{% load my_tags pytils_numeral pytils_dt %}
|
|
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
|
|
|
<style type="text/css">
|
|
@page { size: a4 portrait; margin: 1.5cm; }
|
|
@font-face { font-family: Arial; src: url("{% fonts_root %}arial.ttf"); }
|
|
@font-face { font-family: Arial; src: url("{% fonts_root %}arialbd.ttf"); font-weight: bold; }
|
|
|
|
body { font-family: Arial, sans-serif; font-size: 9pt; line-height: 140%; }
|
|
|
|
table { border-collapse: collapse; padding-top: 0.5ex; line-height: 140%; }
|
|
table tr { padding-left: 0.5ex; padding-right: 0.5ex; }
|
|
table tr td { vertical-align: middle; }
|
|
table .row { text-align: right; }
|
|
|
|
td {
|
|
padding-left: 0.3ex;
|
|
padding-right: 0.3ex;
|
|
}
|
|
|
|
#header { text-align: left; font-weight: bold; font-size: 14pt; }
|
|
#header_2 { text-align: left; font-size: 10pt; }
|
|
|
|
.center { text-align: center; }
|
|
.top { vertical-align: top; }
|
|
.bottom { vertical-align: bottom; }
|
|
.bold { font-weight: bold; }
|
|
|
|
.font_8 { font-size: 8pt; }
|
|
.font_10 { font-size: 10pt; }
|
|
.font_12 { font-size: 12pt; }
|
|
|
|
.borders { border-style: solid; border-width: 1px; border-color: black; }
|
|
.top_border { border-top-style: solid; border-top-width: 1px; border-top-color: black; }
|
|
.bottom_border { border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: black; }
|
|
.left_border { border-left-style: solid; border-left-width: 1px; border-left-color: black; }
|
|
.right_border { border-right-style: solid; border-right-width: 1px; border-right-color: black; }
|
|
</style>
|
|
|
|
<body>
|
|
|
|
<div id="header">
|
|
Акт № {{ obj.doc_num }} от {{ obj.doc_date|ru_strftime:"%d %B %Y" }} г.
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<div id="header_2">
|
|
<table width="100%">
|
|
<tr>
|
|
<td width="20%" class="top">Исполнитель:</td>
|
|
<td width="80%" class="top">
|
|
{{ profile.get_company_name|safe }},
|
|
ИНН {{ profile.get_inn_and_kpp }},
|
|
{{ profile.address|safe }}
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="top">Заказчик:</td>
|
|
<td class="top">
|
|
{{ obj.client.name|safe }},
|
|
ИНН {{ obj.client.get_inn_and_kpp }},
|
|
{{ obj.client.address|safe }}
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<div>
|
|
<table repeat="1" width="100%">
|
|
<tr class="borders font_10 bold">
|
|
<th width="4%">№</th>
|
|
<th width="36%">Наименование работ, услуг</th>
|
|
<th width="15%">Кол-во</th>
|
|
<th width="15%">Ед.</th>
|
|
<th width="15%">Цена</th>
|
|
<th width="15%">Сумма</th>
|
|
</tr>
|
|
|
|
{% for item in obj_items %}
|
|
<tr class="row borders">
|
|
<td align="right">{{ forloop.counter }}</td>
|
|
<td align="left">{{ item.name|safe }}</td>
|
|
<td align="right">{{ item.qty|floatformat:3 }}</td>
|
|
<td align="center">{{ item.units|safe }}</td>
|
|
<td align="right">{{ item.price|floatformat:2 }}</td>
|
|
<td align="right">{{ item.total_price|floatformat:2 }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
|
|
<tr class="row font_10 bold">
|
|
<td colspan="5">Итого:</td>
|
|
<td class="borders" align="right">{{ obj.sum_total_price|floatformat:2 }}</td>
|
|
</tr>
|
|
|
|
<tr class="row font_10 bold">
|
|
<td colspan="5">{{ obj.nds_itogo_text|safe }}:</td>
|
|
<td class="borders" align="right">
|
|
{{ obj.sum_total_nds|floatformat:2 }}
|
|
</td>
|
|
</tr>
|
|
|
|
<tr class="row font_10 bold">
|
|
<td colspan="5">Всего:</td>
|
|
<td class="borders" align="right">{{ obj.sum_full_total_price|floatformat:2 }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<div>
|
|
<b>Всего оказано услуг {{ obj_items|length }},
|
|
на сумму {{ obj.sum_full_total_price|floatformat:2 }} руб.</b>
|
|
|
|
<br /><br />
|
|
Вышеперечисленные услуги выполнены полностью и в срок. Заказчик претензий по объему, качеству и срокам оказания услуг не имеет.
|
|
<br /><br />
|
|
{{ obj.doc_text|safe }}
|
|
</div>
|
|
|
|
<br />
|
|
|
|
<div>
|
|
<table width="100%">
|
|
<tr class="font_10 bold">
|
|
<td width="45%" colspan="2" style="padding-left: 0;">Исполнитель</td>
|
|
<td width="10%"></td>
|
|
<td width="45%" colspan="2" style="padding-left: 0;">Заказчик</td>
|
|
</tr>
|
|
|
|
<tr><td colspan="5">{# пустая строка #}</td></tr>
|
|
|
|
<tr>
|
|
<td colspan="2" class="bottom_border center">{# место для должности #}</td>
|
|
<td></td>
|
|
<td colspan="2" class="bottom_border center">{# место для должности #}</td>
|
|
</tr>
|
|
|
|
<tr class="font_8 center">
|
|
<td colspan="2">должность</td>
|
|
<td></td>
|
|
<td colspan="2">должность</td>
|
|
</tr>
|
|
|
|
<tr><td colspan="5">{# пустая строка #}</td></tr>
|
|
|
|
<tr>
|
|
<td width="22%" class="bottom_border bottom">
|
|
{# место для подписи #}
|
|
{% if doc_sign and profile.boss_sign %}
|
|
<img src="{{ profile.boss_sign.path }}" />
|
|
{% else %}
|
|
{% endif %}
|
|
</td>
|
|
<td width="23%" class="bottom_border center bottom">{{ profile.get_boss_fio }}</td>
|
|
<td width="10%">
|
|
<td width="22%" class="bottom_border">
|
|
{# место для подписи #}
|
|
</td>
|
|
<td width="23%" class="bottom_border center">{{ obj.client.contact_name }}</td>
|
|
</tr>
|
|
|
|
<tr class="font_8 center">
|
|
<td>подпись</td>
|
|
<td>расшифровка подписи</td>
|
|
<td></td>
|
|
<td>подпись</td>
|
|
<td>расшифровка подписи</td>
|
|
</tr>
|
|
|
|
<tr><td colspan="5">{# пустая строка #}</td></tr>
|
|
|
|
<tr class="font_12 center">
|
|
<td colspan="2">
|
|
{% if doc_sign and profile.stamp %} {# TODO передавать флаг из вьюхи #}
|
|
<img src="{{ profile.stamp.path }}" /> {# печать #}
|
|
{% else %}
|
|
М. П.
|
|
{% endif %}
|
|
</td>
|
|
<td></td>
|
|
<td colspan="2">М. П.</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|
|
|