Add TPL files
This commit is contained in:
289
modules/EcmReports/tpls/PDF/Kartoteka.tpl
Executable file
289
modules/EcmReports/tpls/PDF/Kartoteka.tpl
Executable file
@@ -0,0 +1,289 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="50%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;text-align:left;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Stan początkowy:</th>
|
||||
<th width="50%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;text-align:right;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$TOTAL_VALUE_OLD|number_format:2:",":"." } zł</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{assign var="number" value=1}
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
{foreach from=$item key="key2" item="item2" name=loop}
|
||||
<tr>
|
||||
|
||||
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b>{$doc_name.$key2} { if $key==0}(+){else}(-){/if}</b></td>
|
||||
<td class="oddListRowS1" style="text-align:right;" rowspan="{$currow}"><b>{$item2|number_format:2:",":"."} zł</b></td>
|
||||
|
||||
</tr>
|
||||
{if $key==0}
|
||||
{assign var=nowa_suma value=$nowa_suma+$item2}
|
||||
{else}
|
||||
{assign var=nowa_suma value=$nowa_suma-$item2}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="10%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;text-align:left;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Stan końcowy:</th>
|
||||
<th width="15%" class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;text-align:right;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$nowa_suma+$TOTAL_VALUE_OLD|number_format:2:",":"." } zł</th>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
343
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Executable file
343
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Executable file
@@ -0,0 +1,343 @@
|
||||
{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>
|
||||
|
||||
370
modules/EcmReports/tpls/PDF/ProductOptionHistory.tpl
Executable file
370
modules/EcmReports/tpls/PDF/ProductOptionHistory.tpl
Executable file
@@ -0,0 +1,370 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
<br>
|
||||
<table style="font-size: 10px;">
|
||||
<tr>
|
||||
<td>
|
||||
Wybrany produkt:
|
||||
</td>
|
||||
<td>
|
||||
{$product_name}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Indeks:
|
||||
</td>
|
||||
<td>
|
||||
{$product_indeks}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Stan początkowy (ilość):
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
{$start_quantity} {$product_unit}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Stan początkowy (wartość):
|
||||
</td>
|
||||
<td style="text-align: right;">
|
||||
{$start_value|number_format:2:",":"."} zł
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table id="myTable" >
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<td width="8%" style="border: 1px solid black;text-align:center">L.p.</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center">Data</td>
|
||||
<td width="15%" style="border: 1px solid black;text-align:center">Dokument</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center" >Kontrahent</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center">Przychód</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center" >Rozchód</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center">Stan po obr.</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
<tr style="border-bottom:1pt solid black;">
|
||||
<td class="oddListRowS1 alignLeft" style="border-bottom:1pt solid black;">{$item.lp}</td>
|
||||
<td class="oddListRowS1 alignLeft" style="border-bottom:1pt solid black;">{$item.date_entered|date_format:"%d.%m.%Y"} </td>
|
||||
<td class="oddListRowS1" style="text-align:left;" rowspan="{$currow}" style="border-bottom:1pt solid black;text-align:left;">{$item.doc_code} {$item.doc_name}</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1pt solid black;text-align:left;">{$item.doc_parent_name}</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1pt solid black;text-align:right;">
|
||||
{if $item.type==0}
|
||||
{if $item.correct=='correct'}
|
||||
0 {$product_unit}<br>0,00 zł
|
||||
{else}
|
||||
{$item.quantity|number_format:$item.unit_precision:",":"."} {$product_unit}<br>{$item.value|number_format:2:",":"."} zł
|
||||
{/if}
|
||||
|
||||
{else}
|
||||
0 {$product_unit}<br>0,00 zł
|
||||
{/if}</td>
|
||||
</td>
|
||||
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1pt solid black;text-align:right;">
|
||||
{if $item.type==1}
|
||||
{$item.quantity|number_format:$item.unit_precision:",":"."} {$product_unit}<br>{$item.value|number_format:2:",":"."} zł
|
||||
{else}
|
||||
{if $item.correct=='correct'}
|
||||
{$item.quantity|number_format:$item.unit_precision:",":"."} {$product_unit}<br>{$item.value|number_format:2:",":"."} zł
|
||||
{else}
|
||||
0 {$product_unit}<br>0,00 zł
|
||||
{/if}
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1pt solid black;text-align:right;">{$item.after_quantity|number_format:2:",":"."} {$product_unit}<br>{$item.after_value|number_format:2:",":"."} zł</td>
|
||||
</tr>
|
||||
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr height="20" class="evenListRowS1">
|
||||
<td width="1%" class="nowrap">
|
||||
|
||||
</td>
|
||||
|
||||
<td valign="top" align="left" scope="row">
|
||||
|
||||
</td>
|
||||
<td valign="top" align="left" scope="row">
|
||||
|
||||
</td>
|
||||
<td valign="top" align="right" scope="row">
|
||||
Razem:
|
||||
</td>
|
||||
|
||||
<td valign="top" align="right" scope="row">
|
||||
|
||||
{$sumTable.in_quantity|number_format:2:",":"."} {$product_unit}<br>{$sumTable.in_value|number_format:2:",":"."} zł
|
||||
|
||||
</td>
|
||||
|
||||
<td valign="top" align="right" scope="row">
|
||||
|
||||
{$sumTable.out_quantity|number_format:2:",":"."} {$product_unit}<br>{$sumTable.out_value|number_format:2:",":"."} zł
|
||||
|
||||
</td>
|
||||
|
||||
<td valign="top" align="right" scope="row">
|
||||
{$sumTable.after_quantity|number_format:2:",":"."} {$product_unit}<br>{$sumTable.after_value|number_format:2:",":"."} zł
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
408
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl
Executable file
408
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl
Executable file
@@ -0,0 +1,408 @@
|
||||
{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;
|
||||
|
||||
}
|
||||
#newpage
|
||||
{
|
||||
padding-top: 80px;
|
||||
}
|
||||
body {
|
||||
font-size: 10px;
|
||||
}
|
||||
/* overall */
|
||||
.tablesorter-blue {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
margin: 100px 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;
|
||||
}
|
||||
|
||||
#table 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: 7pt;">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="font-size: 25px; font-weight: bold">{$MOD.LBL_REPORT_RECEIVE_REGISTER}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">{$EcmSysInfo->getName()}</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} do: {$date_to}</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; ">Rejestr zakupu</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>
|
||||
|
||||
{foreach from=$dataPart key=klucz item=data name=data}
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">Lp</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_DOC_NUMBER}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_CREATE_LAB}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_SALE_DATE}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_SALES_NIP}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_LIST_SUBJECT}</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_BUYER_VALUE_BRUTTO}</th>
|
||||
{foreach from= $vat_value key= t item= w}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_BUYER_VALUE_NETTO} {$t}</th>
|
||||
{if $w.sumavat != NULL}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt;">{$MOD.LBL_VAT} {$t}</th>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black; font-weight: bold; font-size: 7pt; ">{$MOD.LBL_SUM_VAT}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from= $data key= k item= i}
|
||||
|
||||
<tr>
|
||||
<td>{$k}</td>
|
||||
<td> {$i.document_number}</td>
|
||||
<td>{$i.document_date|date_format:"%d.%m.%Y"}</td>
|
||||
<td>{$i.register_date|date_format:"%d.%m.%Y"}</td>
|
||||
|
||||
<td>{$i.to_vatid}</td>
|
||||
<td>{$i.name}</td>
|
||||
|
||||
<td style = "text-align: right">{$i.value|number_format:2:",":"."}</td>
|
||||
{foreach from=$vat_value key=o item=j}
|
||||
{assign var=prawdafalsz value=false}
|
||||
{foreach from=$i.vaty item = e}
|
||||
{if $o == $e.vat_value}
|
||||
{assign var=prawdafalsz value=true}
|
||||
{assign var=prawdafalszvat value=$e.vat}
|
||||
{assign var=prawdafalsznetto value=$e.netto}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{if $prawdafalsz == true }
|
||||
<td style = "text-align: right">{$prawdafalsznetto|number_format:2:",":"."}</td>
|
||||
{if $j.sumavat != NULL}
|
||||
<td style = "text-align: right">{$prawdafalszvat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{else}
|
||||
<td style = "text-align: right">0,00</td>
|
||||
{if $j.sumavat != NULL}
|
||||
<td style = "text-align: right">0,00</td>
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style = "text-align: right">{$i.vatsumapozycja|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_PAGE_SUM}</td>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$pageBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{foreach from=$pageVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$pageBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_TRANSFER_SUM}</td>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$partialBruttoVat[$klucz].brutto-$pageBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{if $klucz>0}
|
||||
{assign var='dupa' value=$klucz-1}
|
||||
{foreach from=$partialVatSum[$dupa] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{else}
|
||||
|
||||
{foreach from=$partialVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">0,00</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">0,00</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$partialBruttoVat[$klucz].vat-$pageBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;" colspan="6">{$MOD.LBL_VALUE}</td>
|
||||
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$partialBruttoVat[$klucz].brutto|number_format:2:",":"."}</td>
|
||||
{foreach from=$partialVatSum[$klucz] key =vatName item=vatValue}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.netto|number_format:2:",":"."}</td>
|
||||
{if $vatValue.vat != 'null' || $vatValue.vat=='0'}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt;">{$vatValue.vat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style="text-align: right; font-weight: bold; font-size: 7pt; ">{$partialBruttoVat[$klucz].vat|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
{if !$smarty.foreach.data.last}
|
||||
<newpage>
|
||||
{/if}
|
||||
{/foreach}
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
46
modules/EcmReports/tpls/PDF/ReportEcmWorkCards.tpl
Executable file
46
modules/EcmReports/tpls/PDF/ReportEcmWorkCards.tpl
Executable file
@@ -0,0 +1,46 @@
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/tpls/PDF/css/style.css">
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_REPORT_ECMWORKCARDS}</h1>
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="15%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCT_CODE}</th>
|
||||
<th width="40%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="10%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="10%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_BRUTTO}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr id="parent_{$kl}" class="{$rekord.class}">
|
||||
<td style = "border-top: 1px solid black;border-left: 1px solid black;">{$rekord.work_name}</td>
|
||||
<td colspan="5" style = "border-top: 1px solid black;"></td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.netto}</td>
|
||||
<td style = "border-top: 1px solid black;border-right: 1px solid black;text-align: right">{$rekord.brutto}</td>
|
||||
</tr>
|
||||
{foreach from=$rekord.actions item=czynnosc}
|
||||
<tr style="background-color: #e6e6e6;">
|
||||
<td style = "border-left: 1px solid black;text-align: left"></td>
|
||||
<td style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td style = "text-align: left">{$czynnosc.productcode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.productname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.netto}</td>
|
||||
<td style = "border-right: 1px solid black;text-align: right">{$czynnosc.brutto}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th style="text-align: left;">{$MOD.LBL_SUM}</th>
|
||||
<th colspan="5"></th>
|
||||
<th style="text-align: right">{$suma.netto}</th>
|
||||
<th style="text-align: right">{$suma.brutto}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
49
modules/EcmReports/tpls/PDF/ReportEcmWorkCardsEcmProduct.tpl
Executable file
49
modules/EcmReports/tpls/PDF/ReportEcmWorkCardsEcmProduct.tpl
Executable file
@@ -0,0 +1,49 @@
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/tpls/PDF/css/style.css">
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_REPORT_ECMWORKCARDS_PRODUCTS} </h1>
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="40%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="15%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="5%" style = "border-bottom: 1px solid black;text-align: left">{$MOD.LBL_PW_QUANTITY}</th>
|
||||
<th width="11%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="11%" style = "border-bottom: 1px solid black;text-align: right">{$MOD.LBL_SUM_BRUTTO}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr id="parent_{$rekord.indeks}">
|
||||
<td style = "border-top: 1px solid black;border-left: 1px solid black;">{$rekord.code} {$rekord.name}</td>
|
||||
<td colspan="4" style = "border-top: 1px solid black;"></td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.pw}</td>
|
||||
<td style = "border-top: 1px solid black;text-align: right">{$rekord.netto|number_format:2:",":"."}</td>
|
||||
<td style = "border-top: 1px solid black;border-right: 1px solid black;text-align: right">{$rekord.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{foreach from=$rekord.actions key=klucz item=pracownik}
|
||||
{foreach from=$pracownik item=czynnosc}
|
||||
<tr name="child_{$rekord.indeks}" style="background-color: #e6e6e6;" role="row">
|
||||
<td style = "border-left: 1px solid black;text-align: left"></td>
|
||||
<td style = "text-align: left">{$klucz}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td style = "text-align: right">{$rekord.pw}</td>
|
||||
<td style = "text-align: right">{$czynnosc.netto|number_format:2:",":"."}</td>
|
||||
<td style = "border-right: 1px solid black;text-align: right">{$czynnosc.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th style="text-align: left;">{$MOD.LBL_SUM}</th>
|
||||
<th colspan="5"></th>
|
||||
<th style="text-align: right;">{$suma.netto|number_format:2:",":"."}</th>
|
||||
<th style="text-align: right;">{$suma.brutto|number_format:2:",":"."}</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
357
modules/EcmReports/tpls/PDF/ReportSales.tpl
Normal file
357
modules/EcmReports/tpls/PDF/ReportSales.tpl
Normal file
@@ -0,0 +1,357 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>{$MOD.LBL_PRODUCTS}</th>
|
||||
{if $searchBy=="product"}
|
||||
<th>Indeks</th>
|
||||
{/if}
|
||||
<th>{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th>{$MOD.LBL_VALUE_SALES}</th>
|
||||
{*<th>Wartość sprzedaży bez korekt</th>*}
|
||||
<th>{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th>{$MOD.LBL_COST}</th>
|
||||
<th>{$MOD.LBL_MARGIN}</th>
|
||||
{if $searchBy=="none"}
|
||||
<th>{$MOD.LBL_STOCK_STATES}</th>
|
||||
<th>{$MOD.LBL_STOCK_VALUE}</th>
|
||||
{/if}
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
{if $CATNAME != ""}
|
||||
<td class="oddListRowS1 alignLeft"><b> {$CATNAME}</b></td>
|
||||
{/if}
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1" ></td>
|
||||
{/if}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
{* <td class="sumRow" ><b><span class='green-text'>{$DATA.$CATNAME.SoldSumNormal|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
{if $searchBy=="none"}
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.StanSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.WartoscSum|number_format:2:",":"." }</b></td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||
{if $CAT2NAME!="IloscSum" && $CAT2NAME!="SoldSum" && $CAT2NAME!="SoldSumNormal" && $CAT2NAME!="IloscNormal" && $CAT2NAME!="SredniaSum" && $CAT2NAME!="KosztSum" && $CAT2NAME!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="subcategory alignLeft"><b> {$CAT2NAME}</b></td>
|
||||
{if $searchBy=="product"}
|
||||
<td></td>
|
||||
{/if}
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.IloscSum2|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SoldSum2|number_format:2:",":"." }</b></td>
|
||||
{*<td class="sumRow" ><b><span class='green-text'>{$CAT.$CAT2NAME.SoldSumNormal2|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.KosztSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.MarzaSum2|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$CAT2 item=ROW name=loop}
|
||||
{if $ROW.name!="IloscSum" && $ROW.name!="SoldSum" && $ROW.name!="SredniaSum" && $ROW.name!="KosztSum" && $ROW.name!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum" && $ROW.name!=""}
|
||||
<tr role="row">
|
||||
|
||||
<td class="alignLeft product" style="text-align:left;">
|
||||
{$ROW.name}
|
||||
</td>
|
||||
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1 alignLeft" >{$ROW.code}</td>
|
||||
{/if}
|
||||
<td class="oddListRowS1" >{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.netto|number_format:2:",":"."}</td>
|
||||
{* <td class="oddListRowS1" ><span class='green-text'>{$ROW.nettoNormal|number_format:2:",":"." }</span></td>*}
|
||||
<td class="oddListRowS1" >{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tbody id="stopRows"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopTables"></tbody>
|
||||
{/foreach}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="sumAll">
|
||||
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1" ></td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.IloscSumSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.SoldSumSum|number_format:2:",":"." }</b></td>
|
||||
{* <td class="oddListRowS1 sumRow" ><b><span class='green-text'>{$SUM.SoldSumSumNormal|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.SredniaSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.KosztSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.MarzaSumSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
343
modules/EcmReports/tpls/PDF/ReportSalesByContractor.tpl
Normal file
343
modules/EcmReports/tpls/PDF/ReportSalesByContractor.tpl
Normal file
@@ -0,0 +1,343 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.category {
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.contractor {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td {
|
||||
background-color: #242424;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow, #myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th>{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th>Indeks</th>
|
||||
<th>{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th>{$MOD.LBL_VALUE_SALES}</th>
|
||||
<th>{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th>{$MOD.LBL_COST}</th>
|
||||
<th>{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$ContractorData item=DATA key=CONNAME name=loop}
|
||||
{if $CONNAME!=""}
|
||||
<tbody>
|
||||
<tr class="contractor">
|
||||
<td class="alignLeft"><b> {$CONNAME}</b></td>
|
||||
<td class="sumRow" ></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$ContractorData.$CONNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{if $CATNAME!="IloscSum" && $CATNAME!="SoldSum" && $CATNAME!="SredniaSum" && $CATNAME!="KosztSum" && $CATNAME!="MarzaSum" && $CATNAME!="StanSum" && $CATNAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="alignLeft category"><b> {$CATNAME}</b></td>
|
||||
<td class="sumRow" ></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$DATA.$CATNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||
{if $CAT2NAME!="IloscSum" && $CAT2NAME!="SoldSum" && $CAT2NAME!="SoldSumNormal" && $CAT2NAME!="IloscNormal" && $CAT2NAME!="SredniaSum" && $CAT2NAME!="KosztSum" && $CAT2NAME!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum"}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="alignLeft subcategory"><b> {$CAT2NAME}</b></td>
|
||||
<td class="sumRow"></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$CAT.$CAT2NAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody aria-live="polite" aria-relevant="all" class="rowShowHide">
|
||||
{foreach from=$CAT2 item=ROW name=loop}
|
||||
{if $ROW.name!="IloscSum" && $ROW.name!="SoldSum" && $ROW.name!="SredniaSum" && $ROW.name!="KosztSum" && $ROW.name!="MarzaSum" && $CAT2NAME!="StanSum" && $CAT2NAME!="WartoscSum" && $ROW.name!=""}
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr role="row" class="products">
|
||||
{else}
|
||||
<tr role="row">
|
||||
{/if}
|
||||
<td class="oddListRowS1 alignLeft product" style="text-align:left;">
|
||||
{$ROW.name}
|
||||
</td>
|
||||
<td class="oddListRowS1" >{$ROW.code}</td>
|
||||
<td class="oddListRowS1" >{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tbody id="stopRows"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopTables"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="stopCategory"></tbody>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="sumAll">
|
||||
<td class="alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
<td></td>
|
||||
<td class="sumRow" ><b>{$SUM.IloscSumSum|number_format:0:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.SoldSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.SredniaSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.KosztSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$SUM.MarzaSumSum|number_format:2:",":"." }%</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
113
modules/EcmReports/tpls/PDF/ReportStockDocMoves.tpl
Executable file
113
modules/EcmReports/tpls/PDF/ReportStockDocMoves.tpl
Executable file
@@ -0,0 +1,113 @@
|
||||
|
||||
{if $viewSelected eq 'documents'}
|
||||
<table id="myTable" style="font-size: 8pt; width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Lp.</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt; width:10%">Numer dokumentu</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt; width:10%">Data</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">
|
||||
|
||||
{if $documentSelected eq 'EcmStockDocInsideOuts' or $documentSelected eq 'EcmStockDocInsideIns' or $documentSelected eq 'EcmStockDocCorrects'}
|
||||
Kartoteka materiałowa
|
||||
{elseif $documentSelected eq 'EcmStockDocMoves'}
|
||||
Magazyn docelowy
|
||||
{elseif $documentSelected eq 'EcmStockDocIns'}
|
||||
Dostawca
|
||||
{elseif $documentSelected eq 'EcmStockDocOuts'}
|
||||
Odbiorca
|
||||
{elseif $documentSelected eq 'EcmInvoiceOuts'}
|
||||
Kontrahent
|
||||
{/if}
|
||||
</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Opis dokumentu</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Wartość</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Magazyn</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody >
|
||||
{foreach from=$DATA.doc key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td>{assign var=pozycja value=$pozycja+1}{$pozycja}</td>
|
||||
<td>
|
||||
{$item.typ} {$item.numer}
|
||||
</td>
|
||||
<td>
|
||||
{$item.data}
|
||||
</td>
|
||||
<td>
|
||||
{if $documentSelected eq 'EcmStockDocInsideOuts' or $documentSelected eq 'EcmStockDocInsideIns' or $documentSelected eq 'EcmStockDocCorrects'}
|
||||
{$item.kartoteka}
|
||||
{elseif $documentSelected eq 'EcmStockDocMoves'}
|
||||
{$item.magazynIn}
|
||||
{elseif $documentSelected eq 'EcmStockDocIns' or $documentSelected eq 'EcmStockDocOuts' or $documentSelected eq 'EcmInvoiceOuts' }
|
||||
{$item.accountNazwa}
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
{$item.nazwa}
|
||||
</td>
|
||||
|
||||
<td style="text-align: right">
|
||||
{assign var=suma value=$suma+$item.wartosc}
|
||||
{$item.wartosc|number_format:2:",":"."}
|
||||
</td>
|
||||
<td style="text-align: left">
|
||||
{$item.magazyn}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan='5' style="border-top: 1px solid black;text-align:left;">Suma:</th>
|
||||
<th style="border-top: 1px solid black;text-align:right;">{$suma|number_format:2:",":"." }</th>
|
||||
<th style="border-top: 1px solid black;"></th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
{elseif $viewSelected eq 'positions'}
|
||||
<table id="myTable" style="font-size: 8pt; width:100%">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Lp.</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Indeks</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Nazwa</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Jm</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Ilość</th>
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Wartość</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA.prod key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td>{assign var=pozycja value=$pozycja+1}{$pozycja}</td>
|
||||
<td>
|
||||
{$item.kod}
|
||||
</td>
|
||||
<td>
|
||||
{$item.nazwa}
|
||||
</td>
|
||||
<td>
|
||||
{$item.jm}
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
{assign var=sumaIlosci value=$sumaIlosci+$item.ilosc}
|
||||
{$item.ilosc|number_format:2:",":"."}
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
{assign var=suma value=$suma+$item.wartosc}
|
||||
{$item.wartosc|number_format:2:",":"."}
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan='4' style="border-top: 1px solid black;text-align:left;">Suma:</th>
|
||||
<th colspan='1' style="border-top: 1px solid black;text-align:right;">{$sumaIlosci|number_format:2:",":"." }</th>
|
||||
<th colspan='1' style="border-top: 1px solid black;text-align:right;">{$suma|number_format:2:",":"." }</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
{/if}
|
||||
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Executable file
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Executable file
@@ -0,0 +1,293 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="myTable">
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th width="1%" style="border:1pt solid black">L.p.</th>
|
||||
<th width="15%" style="border:1pt solid black">{$MOD.LBL_INDEX}/{$MOD.LBL_NAME}</th>
|
||||
<th width="8%" style="border:1pt solid black">Stan {$date_from}</th>
|
||||
<th width="8%" style="border:1pt solid black" >Przychód</th>
|
||||
<th width="8%" style="border:1pt solid black">Rozchód</th>
|
||||
<th width="8%" style="border:1pt solid black">Stan {$date_to}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{assign var="number" value=1}
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td style="border-bottom:1pt solid black;"><b>{$number}{assign var="number" value=$number+1}</b></td>
|
||||
<td style="text-align:left;border-bottom:1pt solid black;" rowspan="{$currow}" ><b>{$item.product_code}</b><br><b>{$item.product_name}</b></td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.total_quantity_old|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_old|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.przychod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.przychod_w|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.rozchod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.rozchod_w|number_format:2:",":"." }</td>
|
||||
<td style="border-bottom:1pt solid black;text-align:right">{$item.total_quantity_now|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_now|number_format:2:",":"." }</td>
|
||||
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align:right;"><b>Razem ilość:</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_QUANTITY_OLD|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$przychod_q|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$rozchod_q|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_QUANTITY_NOW|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td style="text-align:right;"><b>Razem wartość:</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_VALUE_OLD|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$przychod_w|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$rozchod_w|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align:right"><b>{$TOTAL_VALUE_NOW|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
</table>
|
||||
315
modules/EcmReports/tpls/PDF/ReportStocksDoc.tpl
Executable file
315
modules/EcmReports/tpls/PDF/ReportStocksDoc.tpl
Executable file
@@ -0,0 +1,315 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
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;
|
||||
}
|
||||
|
||||
/* header */
|
||||
.tablesorter-blue th,
|
||||
.tablesorter-blue thead td {
|
||||
font: bold 10px/18px Arial, Sans-serif;
|
||||
color: #fff;
|
||||
background-color: #252525;
|
||||
border-collapse: collapse;
|
||||
padding: 4px;
|
||||
border-top: 2px solid #ABC3D7;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
|
||||
/* table processing indicator */
|
||||
.tablesorter-blue .tablesorter-processing {
|
||||
background-position: center center !important;
|
||||
background-repeat: no-repeat !important;
|
||||
/* background-image: url(../addons/pager/icons/loading.gif) !important; */
|
||||
background-image: url('data:image/gif;base64,R0lGODlhFAAUAKEAAO7u7lpaWgAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQBCgACACwAAAAAFAAUAAACQZRvoIDtu1wLQUAlqKTVxqwhXIiBnDg6Y4eyx4lKW5XK7wrLeK3vbq8J2W4T4e1nMhpWrZCTt3xKZ8kgsggdJmUFACH5BAEKAAIALAcAAAALAAcAAAIUVB6ii7jajgCAuUmtovxtXnmdUAAAIfkEAQoAAgAsDQACAAcACwAAAhRUIpmHy/3gUVQAQO9NetuugCFWAAAh+QQBCgACACwNAAcABwALAAACE5QVcZjKbVo6ck2AF95m5/6BSwEAIfkEAQoAAgAsBwANAAsABwAAAhOUH3kr6QaAcSrGWe1VQl+mMUIBACH5BAEKAAIALAIADQALAAcAAAIUlICmh7ncTAgqijkruDiv7n2YUAAAIfkEAQoAAgAsAAAHAAcACwAAAhQUIGmHyedehIoqFXLKfPOAaZdWAAAh+QQFCgACACwAAAIABwALAAACFJQFcJiXb15zLYRl7cla8OtlGGgUADs=') !important;
|
||||
}
|
||||
|
||||
/* 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 tbody tr td.subcategory {
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.product {
|
||||
padding-left: 55px;
|
||||
}
|
||||
|
||||
#myTable tbody tr.category td {
|
||||
background-color: #96FF7C;
|
||||
}
|
||||
|
||||
#myTable tbody tr.sumAll td{
|
||||
background-color: #242424;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.sumRow {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#myTable tbody tr td.alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="myTable">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">L.p.</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">{$MOD.LBL_INDEX}</td>
|
||||
<td width="15%" style="border: 1px solid black;text-align:center;">{$MOD.LBL_NAME}</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">Dokument</td>
|
||||
{if $CONSIGNMENTS==TRUE}
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">{$MOD.LBL_CONSIGNMENTS}</td>
|
||||
{/if}
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">{$MOD.LBL_QUANTITY}</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">{$MOD.LBL_PRICE}</td>
|
||||
<td width="8%" style="border: 1px solid black;text-align:center;">Wartość</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
{assign var="counter" value=1}
|
||||
{assign var="amount" value=1}
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
|
||||
<tr style="border-bottom:1pt solid black;">
|
||||
{if $item.add|@count>1}
|
||||
{assign var="rowspan" value=$item.add|@count}
|
||||
{assign var="rowspanadd" value=1}
|
||||
{assign var="currow" value=$rowspan+$rowspanadd}
|
||||
{else}
|
||||
{assign var="currow" value=1}
|
||||
{/if}
|
||||
<td class="oddListRowS1 alignLeft" rowspan="{$currow}" style="border-bottom:1px solid black;">{$counter}</td>
|
||||
<td class="oddListRowS1 alignLeft" rowspan="{$currow}" style="border-bottom:1px solid black;">{$item.product_code}</td>
|
||||
<td class="oddListRowS1" style="text-align:left;" rowspan="{$currow}" style="border-bottom:1px solid black;text-align:left;">{$item.product_name}</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$item.parent_type} {$item.parent_name}</td>
|
||||
{if $CONSIGNMENTS==TRUE}
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$item.part_no}</td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$item.total_quantity|number_format:$item.unit_precision:",":"."}<br>{$item.unit_id}</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$item.price|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$item.total_price|number_format:2:",":"." }</td>
|
||||
</tr>
|
||||
{assign var="counter" value=$counter+$amount}
|
||||
{if $item.add|@count>1}
|
||||
{foreach from=$item.add key="kis" item="position" name=loop}
|
||||
<tr>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$position.parent_type} {$position.parent_name}</td>
|
||||
{if $CONSIGNMENTS==TRUE}
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$position.part_no}</td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$position.quantity|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$position.price|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" style="border-bottom:1px solid black;">{$position.position_value|number_format:2:",":"." }</td>
|
||||
</tr>
|
||||
|
||||
{/foreach}
|
||||
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr><td></td><td><td></td></td><td class="oddListRowS1 sumRow">Razem:</td><td></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align: right;">{$TOTAL_QUANTITY|number_format:2:",":"." }</td><td></td>
|
||||
<td class="oddListRowS1 sumRow" style="text-align: right;">{$TOTAL_VALUE|number_format:2:",":"." }</td></tr>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
411
modules/EcmReports/tpls/PDF/VatSalesRegister.tpl
Executable file
411
modules/EcmReports/tpls/PDF/VatSalesRegister.tpl
Executable file
@@ -0,0 +1,411 @@
|
||||
{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">Rejestr sprzedaży VAT</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>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Typ dokumentu: {$searchByType|upper} </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; ">Rejestr sprzedaży VAT</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>
|
||||
{assign var=position value=1}
|
||||
{foreach from=$DATA item=PART name=part"}
|
||||
{assign var=dataCount value=$DATA|@count}
|
||||
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black;">Lp.</th>
|
||||
<th style="border-left: 1px solid black; border-top: 1px solid black;">{$MOD.LBL_DOC_NUMBER}</th>
|
||||
<th style="border-top: 1px solid black;">{$MOD.LBL_CREATE_LAB}</th>
|
||||
<th style="border-top: 1px solid black;">{$MOD.LBL_SALE_DATE}</th>
|
||||
<th style="border-top: 1px solid black;">{$MOD.LBL_CONTRACTOR_NIP}</th>
|
||||
<th style="border-top: 1px solid black;">{$MOD.LBL_LIST_SUBJECT}</th>
|
||||
<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_ADDRESS}</th>
|
||||
<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_GROSS_SALES}</th>
|
||||
{ if $showNetto7 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_NET_SALES} 7%</th>{/if}
|
||||
{ if $showNetto7 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_VAT} 7%</th>{/if}
|
||||
{ if $showNetto8 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_NET_SALES} 8%</th>{/if}
|
||||
{ if $showNetto8 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_VAT} 8%</th>{/if}
|
||||
{ if $showNetto22 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_NET_SALES} 22%</th>{/if}
|
||||
{ if $showNetto22 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_VAT} 22%</th> {/if}
|
||||
{ if $showNetto23 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_NET_SALES} 23%</th>{/if}
|
||||
{ if $showNetto23 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_VAT} 23%</th>{/if}
|
||||
{ if $showNetto0 }<th class="sorter-saas" style="border-top: 1px solid black;">{$MOD.LBL_NET_SALES} 0%</th> {/if}
|
||||
<th class="sorter-saas" style="border-top: 1px solid black; border-right: 1px solid black;">{$MOD.LBL_SUM_VAT}</th>
|
||||
<!-- <th class="sorter-saas">{$MOD.LBL_COST_OF}</th> -->
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="7">Suma strony</th>
|
||||
<th style="text-align:right;">{ $PART.partSum.brutto|number_format:2:",":"." }</th>
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.partSum.netto7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.partSum.vat7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.partSum.netto8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.partSum.vat8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.partSum.netto22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.partSum.vat22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.partSum.netto23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.partSum.vat23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto0 }<th style="text-align:right;">{ $PART.partSum.netto0|number_format:2:",":"." }</th>{/if}
|
||||
<th class="align-right">{ $PART.partSum.vat|number_format:2:",":"." }</th>
|
||||
<!-- <th class="align-right">{ $PART.partSum.purchase_price|number_format:2:",":"."}</th> -->
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="7">Suma z przeniesienia:</th>
|
||||
<th style="text-align:right;">{ $PART.transferSum.brutto|number_format:2:",":"." }</th>
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.transferSum.netto7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.transferSum.vat7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.transferSum.netto8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.transferSum.vat8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.transferSum.netto22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.transferSum.vat22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.transferSum.netto23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.transferSum.vat23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto0 }<th style="text-align:right;">{ $PART.transferSum.netto0|number_format:2:",":"." }</th>{/if}
|
||||
<th class="align-right">{ $PART.transferSum.vat|number_format:2:",":"." }</th>
|
||||
<!-- <th class="align-right">{ $PART.transferSum.purchase_price|number_format:2:",":"."}</th> -->
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="7">Suma razem:</th>
|
||||
<th style="text-align:right;">{ $PART.partSum.brutto+$PART.transferSum.brutto|number_format:2:",":"." }</th>
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.partSum.netto7+$PART.transferSum.netto7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto7 }<th style="text-align:right;">{ $PART.partSum.vat7+$PART.transferSum.vat7|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.partSum.netto8+$PART.transferSum.netto8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto8 }<th style="text-align:right;">{ $PART.partSum.vat8+$PART.transferSum.vat8|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.partSum.netto22+$PART.transferSum.netto22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto22 }<th style="text-align:right;">{ $PART.partSum.vat22+$PART.transferSum.vat22|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.partSum.netto23+$PART.transferSum.netto23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto23 }<th style="text-align:right;">{ $PART.partSum.vat23+$PART.transferSum.vat23|number_format:2:",":"." }</th>{/if}
|
||||
{ if $showNetto0 }<th style="text-align:right;">{ $PART.partSum.netto0+$PART.transferSum.netto0|number_format:2:",":"." }</th>{/if}
|
||||
<th class="align-right">{ $PART.partSum.vat+$PART.transferSum.vat|number_format:2:",":"." }</th>
|
||||
<!-- <th class="align-right">{ $PART.partSum.purchase_price+$PART.transferSum.purchase_price|number_format:2:",":"."}</th> -->
|
||||
</tr>
|
||||
|
||||
{if $smarty.foreach.part.index == $dataCount-1 }
|
||||
<tr>
|
||||
<th colspan="15" style="text-align: left; padding: 5px; background-color: white; border-bottom: 2px solid black; color: #000; font-size: 12px;">Koniec wydruku</th>
|
||||
</tr>
|
||||
{/if}
|
||||
</tfoot>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$PART key=key item=ROW name=loop}
|
||||
{assign var=partCount value=$PART|@count}
|
||||
{if $smarty.foreach.loop.index != $partCount-1 and $smarty.foreach.loop.index != $partCount-2 }
|
||||
<tr>
|
||||
<td>{$position}</td>
|
||||
<td>{$ROW.document_no }</td>
|
||||
<td>{$ROW.register_date}</td>
|
||||
<td>{$ROW.sell_date }</td>
|
||||
<td>{$ROW.account.to_vatid}</td>
|
||||
<td>{$ROW.account.name}</td>
|
||||
<td>{$ROW.account.register_address_postalcode} {$ROW.account.register_address_city}</td>
|
||||
<td style="text-align:right;">{$ROW.total_brutto|number_format:2:",":"."}</td>
|
||||
{ if $showNetto7 }<td style="text-align:right;">{$ROW.netto7|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto7 }<td style="text-align:right;">{$ROW.vat7|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto8 }<td style="text-align:right;">{$ROW.netto8|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto8 }<td style="text-align:right;">{$ROW.vat8|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto22 }<td style="text-align:right;">{$ROW.netto22|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto22 }<td style="text-align:right;">{$ROW.vat22|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto23 }<td style="text-align:right;">{$ROW.netto23|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto23 }<td style="text-align:right;">{$ROW.vat23|number_format:2:",":"."}</td>{/if}
|
||||
{ if $showNetto0 }<td style="text-align:right;">{$ROW.netto0|number_format:2:",":"."}</td>{/if}
|
||||
<td style="text-align:right;">{$ROW.netto23*0.23|number_format:2:",":"."}</td>
|
||||
<!-- <td style="text-align:right;">{$ROW.purchase_price|number_format:2:",":"."}</td> -->
|
||||
</tr>
|
||||
{assign var=position value=$position+1}
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{if $smarty.foreach.part.index != $dataCount-1 }
|
||||
<newpage>
|
||||
{/if}
|
||||
|
||||
{/foreach}
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body></html>
|
||||
|
||||
|
||||
97
modules/EcmReports/tpls/PDF/kpkwReport.tpl
Executable file
97
modules/EcmReports/tpls/PDF/kpkwReport.tpl
Executable file
@@ -0,0 +1,97 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
table.report {
|
||||
|
||||
width: 100%;
|
||||
|
||||
border-spacing: 1px;
|
||||
|
||||
font-family: 'Calibri';
|
||||
font-size: 8pt;
|
||||
}
|
||||
|
||||
table.report thead tr th,
|
||||
table.report tbody tr td {
|
||||
border: 1px solid #CCCCCC;
|
||||
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
table.report thead tr th {
|
||||
background: #ebebeb;
|
||||
}
|
||||
|
||||
table.report tbody tr.odd {
|
||||
background: #f6f6f6;
|
||||
}
|
||||
|
||||
table.report tbody tr.even {
|
||||
background: #ffffff;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table class="report" style="padding-top: 0px; margin-top:0px;width:100%;font-size:8pt;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$MOD.LBL_NUMBER_LP}</th>
|
||||
<th>{$MOD.LBL_DOCUMENT_NO}<br>{$MOD.LBL_CREATE_LAB}</th>
|
||||
<th>{$MOD.LBL_TITLE}</th>
|
||||
<th>{$MOD.LBL_PARENT_NAME}</th>
|
||||
<th>{$MOD.LBL_AMOUNT_PLUS}</th>
|
||||
<th>{$MOD.LBL_AMOUNT_MINUS}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$DATA item=poz key=CATNAME name=loop}
|
||||
{if $poz.type_id!=''}
|
||||
<tr class="{$poz.class}">
|
||||
<td width="5%">{$poz.number}</td>
|
||||
<td width="15%" style="text-align:left;">
|
||||
<table class="report" style="padding-top: 0px; margin-top:0px;">
|
||||
<tr class="{$poz.class}">
|
||||
<td style="text-align:left;">{$poz.document_no}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:left;">{$poz.date_entered|date_format:"%d.%m.%Y"}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td width="22%" style="text-align:left;">{$poz.description}</td>
|
||||
<td width="24%" style="text-align:left;">{$poz.parent_name}</td>
|
||||
<td width="17%" style="text-align:right;">{if $poz.type_id==0} {$poz.amount|number_format:2:",":"."} {else} {/if}</td>
|
||||
<td width="17%" style="text-align:right;">{if $poz.type_id==1} {$poz.amount|number_format:2:",":"."} {else} {/if}
|
||||
</td>
|
||||
</tr>
|
||||
{assign var="i" value=$poz.number}
|
||||
{/if}
|
||||
{/foreach}
|
||||
{assign var="currow" value=$poz.number+1}
|
||||
<tr class="{if $currow%2}even{else}odd{/if}">
|
||||
<td width="45%" style="border: 0px; background: #fff;" colspan="2"> </td>
|
||||
<td width="15%" style="border: 0px; background: #fff;"></td>
|
||||
<td width="15%" style="text-align:left;">{$MOD.LBL_VALUE}</td>
|
||||
<td width="15%" style="text-align:right;">{$DATA.in|number_format:2:",":"."}</td>
|
||||
<td width="20%" style="text-align:right;">{$DATA.out|number_format:2:",":"."}</td>
|
||||
|
||||
</tr>
|
||||
{assign var="currow" value=$currow+1}
|
||||
<tr class="{if $currow%2}even{else}odd{/if}">
|
||||
<td width="45%" style="border: 0px; background: #fff;" colspan="2"> </td>
|
||||
<td width="15%" style="border: 0px; background: #fff;"></td>
|
||||
<td width="15%" style="text-align:left;">{$MOD.LBL_VALUE_BEFORE}:</td>
|
||||
<td width="15%" style="text-align:right;">{$CASH_BEFORE|number_format:2:",":"."}</td>
|
||||
<td width="20%" style="text-align:right;"></td>
|
||||
|
||||
</tr>
|
||||
{assign var="currow" value=$currow+1}
|
||||
<tr class="{if $currow%2}even{else}odd{/if}">
|
||||
<td width="45%" style="border: 0px; background: #fff;" colspan="2"> </td>
|
||||
<td width="15%" style="border: 0px; background: #fff;"></td>
|
||||
<td width="15%" style="text-align:left;">{$MOD.LBL_VALUE_TOTAL}:</td>
|
||||
<td width="15%" style="text-align:right;">{$CASH_NOW|number_format:2:",":"."}</td>
|
||||
<td width="20%" style="text-align:right;"></td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
Reference in New Issue
Block a user