Files
crm.twinpol.com/modules/EcmReports/tpls/PDF/ListDailySales.tpl
2025-05-12 15:46:37 +00:00

344 lines
11 KiB
Smarty
Executable File

{literal}
<html>
<head>
<style>
@page {
size: auto;
odd-header-name: html_MyHeader1;
odd-footer-name: html_MyFooter1;
}
@page chapter2 {
odd-header-name: html_MyHeader2;
odd-footer-name: html_MyFooter2;
}
@page noheader {
odd-header-name: _blank;
odd-footer-name: _blank;
}
div.chapter2 {
page-break-before: always;
page: chapter2;
}
div.noheader {
page-break-before: always;
page: noheader;
}
body {
font-size: 8px;
}
/* overall */
.tablesorter-blue {
width: 100%;
background-color: #fff;
margin: 10px 0 15px;
text-align: left;
border-spacing: 0;
border: #fff 1px solid;
border-width: 1px 0 0 1px;
}
.tablesorter-blue th,
.tablesorter-blue td {
border: #fff 1px solid;
border-width: 0 1px 1px 0;
border-bottom: 1px solid black;
}
/* header */
.tablesorter-blue th,
.tablesorter-blue thead td {
font: bold 10px/18px Arial, Sans-serif;
color: #000;
background-color: #fff;
padding: 4px;
border-top: 2px solid red;
}
.tablesorter-blue tbody td,
.tablesorter-blue tfoot th,
.tablesorter-blue tfoot td {
padding: 4px;
vertical-align: top;
}
.tablesorter-blue .header,
.tablesorter-blue .tablesorter-header {
/* black (unsorted) double arrow */
background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==);
/* white (unsorted) double arrow */
/* background-image: url(data:image/gif;base64,R0lGODlhFQAJAIAAAP///////yH5BAEAAAEALAAAAAAVAAkAAAIXjI+AywnaYnhUMoqt3gZXPmVg94yJVQAAOw==); */
/* image */
/* background-image: url(images/black-unsorted.gif); */
background-repeat: no-repeat;
background-position: center right;
padding: 3px 18px 3px 3px;
white-space: normal;
cursor: pointer;
}
.tablesorter-blue .headerSortUp,
.tablesorter-blue .tablesorter-headerSortUp,
.tablesorter-blue .tablesorter-headerAsc {
background-color: #E7E7E9;
/* black asc arrow */
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7);
/* white asc arrow */
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjI8Bya2wnINUMopZAQA7); */
/* image */
/* background-image: url(images/black-asc.gif); */
}
.tablesorter-blue .headerSortDown,
.tablesorter-blue .tablesorter-headerSortDown,
.tablesorter-blue .tablesorter-headerDesc {
background-color: #E7E7E9;
/* black desc arrow */
background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAACMtMP///yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7);
/* white desc arrow */
/* background-image: url(data:image/gif;base64,R0lGODlhFQAEAIAAAP///////yH5BAEAAAEALAAAAAAVAAQAAAINjB+gC+jP2ptn0WskLQA7); */
/* image */
/* background-image: url(images/black-desc.gif); */
}
.tablesorter-blue thead .sorter-false {
background-image: none;
padding: 4px;
}
/* tfoot */
.tablesorter-blue tfoot .tablesorter-headerSortUp,
.tablesorter-blue tfoot .tablesorter-headerSortDown,
.tablesorter-blue tfoot .tablesorter-headerAsc,
.tablesorter-blue tfoot .tablesorter-headerDesc {
/* remove sort arrows from footer */
background-image: none;
}
/* tbody */
.tablesorter-blue td {
color: #3d3d3d;
background-color: #fff;
padding: 0px;
vertical-align: top;
}
/* hovered row colors
you'll need to add additional lines for
rows with more than 2 child rows
*/
.tablesorter-blue tbody > tr:hover > td,
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr.even:hover > td,
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr.even:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
background: #d9d9d9;
}
.tablesorter-blue tbody > tr.odd:hover > td,
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow > td,
.tablesorter-blue tbody > tr.odd:hover + tr.tablesorter-childRow + tr.tablesorter-childRow > td {
background: #bfbfbf;
}
/* Zebra Widget - row alternating colors */
.tablesorter-blue tbody tr.odd td {
background-color: #ebf2fa;
}
.tablesorter-blue tbody tr.even td {
background-color: #fff;
}
/* Column Widget - column sort colors */
.tablesorter-blue td.primary,
.tablesorter-blue tr.odd td.primary {
background-color: #99b3e6;
}
.tablesorter-blue tr.even td.primary {
background-color: #c2d1f0;
}
.tablesorter-blue td.secondary,
.tablesorter-blue tr.odd td.secondary {
background-color: #c2d1f0;
}
.tablesorter-blue tr.even td.secondary {
background-color: #d6e0f5;
}
.tablesorter-blue td.tertiary,
.tablesorter-blue tr.odd td.tertiary {
background-color: #d6e0f5;
}
.tablesorter-blue tr.even td.tertiary {
background-color: #ebf0fa;
}
/* caption */
caption {
background: #fff;
}
/* filter widget */
.tablesorter-blue .tablesorter-filter-row td {
background: #eee;
line-height: normal;
text-align: center; /* center the input */
-webkit-transition: line-height 0.1s ease;
-moz-transition: line-height 0.1s ease;
-o-transition: line-height 0.1s ease;
transition: line-height 0.1s ease;
}
/* optional disabled input styling */
.tablesorter-blue .tablesorter-filter-row .disabled {
opacity: 0.5;
filter: alpha(opacity=50);
cursor: not-allowed;
}
/* hidden filter row */
.tablesorter-blue .tablesorter-filter-row.hideme td {
/*** *********************************************** ***/
/*** change this padding to modify the thickness ***/
/*** of the closed filter row (height = padding x 2) ***/
padding: 2px;
/*** *********************************************** ***/
margin: 0;
line-height: 0;
cursor: pointer;
}
.tablesorter-blue .tablesorter-filter-row.hideme .tablesorter-filter {
height: 1px;
min-height: 0;
border: 0;
padding: 0;
margin: 0;
/* don't use visibility: hidden because it disables tabbing */
opacity: 0;
filter: alpha(opacity=0);
}
/* filters */
.tablesorter-blue .tablesorter-filter {
width: 98%;
height: auto;
margin: 0;
padding: 4px;
background-color: #fff;
border: 1px solid #bbb;
color: #333;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-transition: height 0.1s ease;
-moz-transition: height 0.1s ease;
-o-transition: height 0.1s ease;
transition: height 0.1s ease;
}
/* ajax error row */
.tablesorter .tablesorter-errorRow td {
cursor: pointer;
background-color: #e6bf99;
}
#myTable tfoot th {
text-align: right;
}
</style>
</head>
<body>
<htmlpageheader name="MyHeader1">
{/literal}
<div style="text-align: left; border-bottom: 1px solid #000000; font-weight: bold; font-size: 10pt;">
<table>
<tr>
<td style="font-size: 25px; font-weight: bold">Raport wartościowy</td>
</tr>
<tr>
<td style="font-size: 12px; font-weight: bold">SAAS-SYSTEMS</td>
</tr>
<tr>
<td style="font-size: 12px; font-weight: bold">Data wygenerowania: {$current_date_formatted}</td>
</tr>
<tr>
<td style="font-size: 12px; font-weight: bold">Rejestr od {$date_from_formatted} do {$date_to_formatted}</td>
</tr>
</table>
</div>
{literal}
</htmlpageheader>
<htmlpagefooter name="MyFooter1">
<table width="100%" style="vertical-align: bottom; font-family: serif; font-size: 8pt;
color: #000000; font-weight: bold; font-style: italic;"><tr>
<td width="33%"><span style="font-weight: bold; font-style: italic;">{DATE j.m.Y}</span></td>
<td width="33%" align="center" style="font-weight: bold; font-style: italic;">{PAGENO}/{nbpg}</td>
<td width="33%" style="text-align: right; ">Raport wartościowy</td>
</tr></table>
</htmlpagefooter>
<htmlpagefooter name="MyFooter2">
<table width="100%" style="vertical-align: bottom; font-family: serif; font-size: 8pt;
color: #000000; font-weight: bold; font-style: italic;"><tr>
<td width="33%"><span style="font-weight: bold; font-style: italic;">SAAS-SYSTEMS</span></td>
<td width="33%" align="center" style="font-weight: bold; font-style: italic;">{PAGENO}/{nbpg}</td>
<td width="33%" style="text-align: right; ">{DATE j-m-Y}</td>
</tr></table>
</htmlpagefooter>
{/literal}
<div>
<h1> {$MOD.LBL_SUBPANEL_TITLE} </h1>
{* Table headers *}
<table id="myTable" class="tablesorter-blue">
<thead>
<tr>
<th style="border-left: 1px solid black; border-top: 1px solid black;">{$MOD.LBL_CONTRACTOR}</th>
<th style="border-top: 1px solid black;">{$MOD.LBL_INVOICE_NUMBER}</th>
<th style="border-top: 1px solid black;">{$MOD.LBL_TYPE}</th>
<th style="border-top: 1px solid black;">{$MOD.LBL_DOCUMENT_DATE}</th>
<th style="border-top: 1px solid black;">{$MOD.LBL_PDF_TYPE}</th>
<th style="border-top: 1px solid black;">{$MOD.LBL_NET_VALUE}</th>
<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_GROSS_VALUE}</th>
<th class="nettoValue sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_COST}</th>
<th class="sorter-saas" style="border-top: 1px solid black; border-right: 1px solid black;">{$MOD.LBL_MARGIN}</th>
</tr>
</thead>
<tfoot>
<tr>
<th colspan="5"></th>
<th>{$SUM.netto|number_format:2:",":"." }</th>
<th>{$SUM.brutto|number_format:2:",":"." }</th>
<th>{$SUM.cost|number_format:2:",":"." }</th>
<th>{$SUM.margin|number_format:2:",":"." }</th>
</tr>
</tfoot>
<tbody aria-live="polite" aria-relevant="all">
{foreach from=$DATA item=ROW name=loop}
<tr>
<td style="text-align:left;">{$ROW.account.name}</td>
<td style="text-align:right;">{$ROW.document_no}</td>
<td style="text-align:right;">{$ROW.showType}</td>
<td style="text-align:right;">{$ROW.register_date|date_format:"%d.%m.%Y"}</td>
<td style="text-align:right;">{if $ROW.pdf_type == 'U'}
{$MOD.LBL_PDF_TYPE_U}
{/if}
{if $ROW.pdf_type == 'K'}
{$MOD.LBL_PDF_TYPE_K}
{/if}
{if $ROW.pdf_type == 'E'}
{$MOD.LBL_PDF_TYPE_E}
{/if}
</td>
<td class="gs" style="text-align:right;">{$ROW.total_netto|number_format:2:",":"." }</td>
<td style="text-align:right;">{$ROW.total_brutto|number_format:2:",":"." }</td>
<td class="gc" style="text-align:right;">{$ROW.purchase_price|number_format:2:",":"." }</td>
<td style="text-align:right;">{$ROW.margin|number_format:2:",":"." } ({$ROW.marginInPercent|number_format:2:",":"."}%)</td>
{/foreach}
</tr>
</tbody>
</table>