init
This commit is contained in:
160
modules/EcmReports/tpls/KosztProdukcjiWgPracownikow.html
Normal file
160
modules/EcmReports/tpls/KosztProdukcjiWgPracownikow.html
Normal file
@@ -0,0 +1,160 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="include/jQuery/tablesorter-master/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/kosztProdukcji.js"></script>
|
||||
{*<script type="text/javascript" src="https://www.google.com/jsapi"></script>*}
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
.element{
|
||||
position:fixed;
|
||||
bottom: 0%;
|
||||
width: 97%;
|
||||
padding:10px;
|
||||
font-family:Arial;
|
||||
background-color: white;
|
||||
border:1px solid black;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
<script>
|
||||
{literal}
|
||||
function showHide(id) {
|
||||
$('[name=child_' + id + ']').toggle(0);
|
||||
if ($('#span_' + id).html() == '[+]') {
|
||||
$('#span_' + id).html('[-]');
|
||||
} else {
|
||||
$('#span_' + id).html('[+]');
|
||||
}
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Raport kart pracy - produkty</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form action="index.php" method="get" name="where" id="where">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="KosztProdukcjiWgPracownikow" />
|
||||
<input type="hidden" name="parentTab" value="Produkcja"/>
|
||||
<input type="hidden" name="to_pdf" value="0" id="to_pdf"/>
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td style="white-space: nowrap">Wybierz miesiąc
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "%d.%m.%Y",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_TO}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<input class="button" value="Wykonaj" type="submit" id='submit' form="where">
|
||||
<input class="button" value="Wyczyść" type="button" onclick="location.href = 'index.php?module=EcmReports&action=KosztProdukcjiWgPracownikow&parentTab=Raporty';">
|
||||
<input class="button" name="pdf" value="Generuj PDF" type="button" onclick="$('#where').attr('target','_blank');$('#to_pdf').val(1);$('#submit').click();">
|
||||
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="5%" style = "text-align: left">Kod produktu</th>
|
||||
<th width="40%" style = "text-align: left">Nazwa produktu</th>
|
||||
<th width="11%" style = "text-align: right">Ilość PW</th>
|
||||
<th width="11%" style = "text-align: right">Ilość godzin</th>
|
||||
<th width="11%" style = "text-align: right">Koszt</th>
|
||||
<th width="11%" style = "text-align: right">Sztuk na godzine</th>
|
||||
<th width="11%" style = "text-align: right">Koszt jednostkowy</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr>
|
||||
<td onclick="showHide('{$rekord.indeks}');"><b>[+]</b> {$rekord.code}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');">{$rekord.name}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity}">{$rekord.pw_quantity|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.hours}">{$rekord.hours|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost}">{$rekord.cost|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity/$rekord.hours}">{$rekord.pw_quantity/$rekord.hours|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost/$record.pw_quantity}">{$rekord.cost/$record.pw_quantity|number_format:2:",":"." } </td>
|
||||
</tr>
|
||||
{foreach from=$rekord.workers key=klucz item=pracownik}
|
||||
<tr name="child_{$rekord.indeks}" style="display: none;background-color:#F6F6F6;border: 1px solid;" class="invisible-table-row">
|
||||
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: left;background-color:#F6F6F6;" colspan="2">{$pracownik.name}</td>
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: right;background-color:#F6F6F6;">0</td>
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: right;background-color:#F6F6F6;">{$pracownik.hours|number_format:2:",":"."}</td>
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: right;background-color:#F6F6F6;">{$pracownik.cost|number_format:2:",":"."}</td>
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: right;background-color:#F6F6F6;">0</td>
|
||||
<td onclick="showHide('{$pracownik.indeks}');" style="text-align: right;background-color:#F6F6F6;">0</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot style="background-color: #E8E8E8;">
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">Razem</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalQuantityPw|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalh|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalc|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
313
modules/EcmReports/tpls/ListDailySales.tpl
Normal file
313
modules/EcmReports/tpls/ListDailySales.tpl
Normal file
@@ -0,0 +1,313 @@
|
||||
<!-- jQuery -->
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.js"></script>
|
||||
<!-- Tablesorter script: required -->
|
||||
<script src="modules/EcmReports/TableSorterNew/js/jquery.tablesorter.js"></script>
|
||||
<script src="modules/EcmReports/TableSorterNew/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
|
||||
<!-- Tablesorter: theme -->
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/TableSorterNew/css/theme.blue.css">
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ListDailySales.js"></script>
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
{/literal}
|
||||
|
||||
{literal}
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumTr td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumTr:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter thead th.groupActiveG {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid #687783;
|
||||
background-color: #ABC3D7;
|
||||
}
|
||||
|
||||
table.tablesorter thead th.groupActiveGL {
|
||||
border-right: 1px solid black;
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid #687783;
|
||||
background-color: #ABC3D7;
|
||||
}
|
||||
|
||||
table.tablesorter thead th.groupActive {
|
||||
border-left: 1px solid black;
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
background-color: #ABC3D7;
|
||||
}
|
||||
|
||||
table.tablesorter th.alignRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="table" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_REPORT} {$MOD.LBL_SUBPANEL_TITLE} </h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchDailyReports">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ListDailySales" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="30%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
|
||||
{* Search by contractor *}
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">{$MOD.LBL_CONTRACTOR}</td>
|
||||
<td class="dataField" width="30%" nowrap="nowrap">
|
||||
<input id="account_name" type="text" title="" value="{$contractorName}" size="" tabindex="" name="account_name">
|
||||
<input id="account_id" type="hidden" value="{$contractorId}" name="account_id">
|
||||
<input class="button" type="button" value="Wybierz" accesskey="T" title="Select [Alt+T]" tabindex="" value="{$contractorName}" name="btn_account_name" onClick="getContractor()">
|
||||
|
||||
{* Open popup window to select contractor *}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function getContractor(){ldelim}
|
||||
open_popup("Accounts", 600, 400, "", true, false,
|
||||
{ldelim}
|
||||
"call_back_function":"set_return","form_name":"searchDailyReports","field_to_name_array":
|
||||
{ldelim}"id":"account_id","name":"account_name"{rdelim}
|
||||
{rdelim}, "single", true);
|
||||
{rdelim};
|
||||
</script>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Typ dokumentu</td>
|
||||
<td class="dataField" width="30%" nowrap="nowrap">
|
||||
<select name="type">
|
||||
<option value="" { if $searchByType==""} selected="true" {/if} >normalny i korekta</option>
|
||||
<option value="normal" { if $searchByType=="normal"} selected {/if} >normalny</option>
|
||||
<option value="correct" { if $searchByType=="correct"} selected {/if} >korekta</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Rodzaj faktury:</td>
|
||||
<td class="dataField" width="30%" nowrap="nowrap">
|
||||
<select name="pdfType[]" multiple="multiple">
|
||||
<option value="K" {if $pdfTypeK} selected="true"{/if}>Kraj</option>
|
||||
<option value="U" {if $pdfTypeU} selected="true"{/if}>Unia</option>
|
||||
<option value="E" {if $pdfTypeE} selected="true"{/if}>Eksport</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="Wyczyść" type="button" onclick="location.href='index.php?module=EcmReports&action=ListDailySales';">
|
||||
<input id="showGroupButton" class="button" name="clear" value="{$MOD.BTN_SHOW_GROUP_DIVISION}" type="button">
|
||||
<input id="showVatButton" class="button" name="clear" value="{$MOD.BTN_SHOW_VAT_DIVISION}" type="button">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button">
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
{* Table headers *}
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th>{$MOD.LBL_INVOICE_NUMBER}</th>
|
||||
<th>{$MOD.LBL_TYPE}</th>
|
||||
<th>{$MOD.LBL_REGISTER_DATE}</th>
|
||||
<th>{$MOD.LBL_PDF_TYPE}</th>
|
||||
<th class="nettoValue nettoValueVat sorter-saas">{$MOD.LBL_NET_VALUE}</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">TH1</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">WG1</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">PP1</th>
|
||||
<th class="nettoValueGL columnSpectrum sorter-saas">TR1</th>
|
||||
|
||||
|
||||
<!-- Vat count -->
|
||||
<th class="vataValue columnVatSpectrum sorter-saas">0%</th>
|
||||
<th class="vatbValue columnVatSpectrum sorter-saas">22%</th>
|
||||
<th class="vatcValue columnVatSpectrum sorter-saas">23%</th>
|
||||
<!-- end vat count -->
|
||||
|
||||
<th class="sorter-saas">{$MOD.LBL_GROSS_VALUE}</th>
|
||||
<th class="nettoValue sorter-saas">{$MOD.LBL_COST}</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">TH2</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">WG2</th>
|
||||
<th class="nettoValueG columnSpectrum sorter-saas">PP2</th>
|
||||
<th class="nettoValueGL columnSpectrum sorter-saas">TR2</th>
|
||||
<th class="sorter-saas">{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="5"></th>
|
||||
<th class="alignRight">{$SUM.subtotalSum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.subPriceGroupKS1Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.subPriceGroupKS2Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.subPriceGroupKS3Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.subPriceGroupKS4Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnVatSpectrum alignRight">{$SUM.vataSum|number_format:2:",":"." }</th>
|
||||
<th class="columnVatSpectrum alignRight">{$SUM.vatbSum|number_format:2:",":"." }</th>
|
||||
<th class="columnVatSpectrum alignRight">{$SUM.vatcSum|number_format:2:",":"." }</th>
|
||||
|
||||
<th class="alignRight">{$SUM.totalSum|number_format:2:",":"." }</th>
|
||||
<th class="alignRight">{$SUM.costSum|number_format:2:",":"." }</th>
|
||||
|
||||
<th class="columnSpectrum alignRight">{$SUM.purchasePriceGroupKS1Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.purchasePriceGroupKS2Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.purchasePriceGroupKS3Sum|number_format:2:",":"." }</th>
|
||||
<th class="columnSpectrum alignRight">{$SUM.purchasePriceGroupKS4Sum|number_format:2:",":"." }</th>
|
||||
<th class="alignRight">{$SUM.marginSum|number_format:2:",":"." }%</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA item=ROW name=loop}
|
||||
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr>
|
||||
{else}
|
||||
<tr style="background-color: #e6e6e6;" role="row">
|
||||
{/if}
|
||||
<td style="text-align:left;">
|
||||
<a target="new" href="index.php?module=Accounts&return_module=Accounts&action=DetailView&record={$ROW.id}">
|
||||
{$ROW.contractorName}
|
||||
</a>
|
||||
</td>
|
||||
<td style="text-align:right;">
|
||||
<a target="new" href="index.php?module=EcmInvoiceOuts&action=DetailView&record={$ROW.invoiceoutId}">
|
||||
{$ROW.document_no}
|
||||
</a>
|
||||
<td style="text-align:right;">{if $ROW.type == 'normal'}
|
||||
{$MOD.LBL_PDF_TYPE_NORMAL}
|
||||
{else if $ROW.type == 'correct'}
|
||||
{$MOD.LBL_PDF_TYPE_CORRECT}
|
||||
{/if}
|
||||
|
||||
</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.subtotal|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right;border-left: 1px solid #687783;">{$ROW.subPriceGroupKS1|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right;">{$ROW.subPriceGroupKS2|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right; padding-right: 4px;">{$ROW.subPriceGroupKS3|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right; border-right: 1px solid #687783; padding-right: 4px;">{$ROW.subPriceGroupKS4|number_format:2:",":"." }</td>
|
||||
|
||||
<!-- Vat values -->
|
||||
<td class="columnVatSpectrum" style="text-align:right;border-left: 1px solid #687783; border-right: 1px solid #687783; padding-right: 4px;">{$ROW.vata|number_format:2:",":"." }</td>
|
||||
<td class="columnVatSpectrum" style="text-align:right; border-right: 1px solid #687783; padding-right: 4px;">{$ROW.vatb|number_format:2:",":"." }</td>
|
||||
<td class="columnVatSpectrum" style="text-align:right; border-right: 1px solid #687783; padding-right: 4px;">{$ROW.vatc|number_format:2:",":"." }</td>
|
||||
<!-- end vat values -->
|
||||
|
||||
<td style="text-align:right;">{$ROW.total|number_format:2:",":"." }</td>
|
||||
<td class="gc" style="text-align:right;">{$ROW.cost|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right;border-left: 1px solid #687783;">{$ROW.purchasePriceGroupKS1|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right;">{$ROW.purchasePriceGroupKS2|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right; padding-right: 4px;">{$ROW.purchasePriceGroupKS3|number_format:2:",":"." }</td>
|
||||
<td class="columnSpectrum" style="text-align:right; border-right: 1px solid #687783; padding-right: 4px;">{$ROW.purchasePriceGroupKS4|number_format:2:",":"." }</td>
|
||||
<td style="text-align:right;">{$ROW.margin|number_format:2:",":"." }%</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
306
modules/EcmReports/tpls/PDF/KosztProdukcjiWgPracownikow.html
Normal file
306
modules/EcmReports/tpls/PDF/KosztProdukcjiWgPracownikow.html
Normal file
@@ -0,0 +1,306 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* 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: #000;
|
||||
background-color: #E6F2EE;
|
||||
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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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; */
|
||||
}
|
||||
|
||||
/* 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 {
|
||||
|
||||
}
|
||||
|
||||
#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 style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport kart pracy - produkty</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Raport za: {$dateformat}<br>
|
||||
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="5%" style = "text-align: left">Kod produktu</th>
|
||||
<th width="40%" style = "text-align: left">Nazwa produktu</th>
|
||||
<th width="11%" style = "text-align: right">Ilość PW</th>
|
||||
<th width="11%" style = "text-align: right">Ilość godzin</th>
|
||||
<th width="11%" style = "text-align: right">Koszt</th>
|
||||
<th width="11%" style = "text-align: right">Sztuk na godz.</th>
|
||||
<th width="11%" style = "text-align: right">Koszt jend.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr>
|
||||
<td onclick="showHide('{$rekord.indeks}');">{$rekord.code}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');">{$rekord.name}</td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity}">{$rekord.pw_quantity|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.hours}">{$rekord.hours|number_format:2:".":"" } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost}">{$rekord.cost|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.pw_quantity/$rekord.hours}">{$rekord.pw_quantity/$rekord.hours|number_format:2:",":"." } </td>
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: right" data-value="{$rekord.cost/$record.pw_quantity}">{$rekord.cost/$record.pw_quantity|number_format:2:",":"." } </td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot style="background-color: #E8E8E8;">
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">Razem</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalQuantityPw|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalh|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$totalc|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">0</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
298
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Normal file
298
modules/EcmReports/tpls/PDF/ListDailySales.tpl
Normal file
@@ -0,0 +1,298 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
{/literal}
|
||||
|
||||
{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 tfoot th {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<h1>{$MOD.LBL_REPORT} {$MOD.LBL_SUBPANEL_TITLE} </h1>
|
||||
|
||||
{* Table headers *}
|
||||
<table id="myTable" class="tablesorter-blue">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th>{$MOD.LBL_INVOICE_NUMBER}</th>
|
||||
<th>{$MOD.LBL_TYPE}</th>
|
||||
<th>{$MOD.LBL_REGISTER_DATE}</th>
|
||||
<th>{$MOD.LBL_PDF_TYPE}</th>
|
||||
<th>{$MOD.LBL_NET_VALUE}</th>
|
||||
|
||||
<th class="sorter-saas">{$MOD.LBL_GROSS_VALUE}</th>
|
||||
<th class="nettoValue sorter-saas">{$MOD.LBL_COST}</th>
|
||||
<th class="sorter-saas">{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan="5"></th>
|
||||
<th>{$SUM.subtotalSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.totalSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.costSum|number_format:2:",":"." }</th>
|
||||
<th>{$SUM.marginSum|number_format:2:",":"." }%</th>
|
||||
|
||||
</tr>
|
||||
</tfoot>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA item=ROW name=loop}
|
||||
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr>
|
||||
{else}
|
||||
<tr style="background-color: #e6e6e6;" role="row">
|
||||
{/if}
|
||||
<td style="text-align:left;">{$ROW.contractorName}</td>
|
||||
<td style="text-align:right;">{$ROW.document_no}</td>
|
||||
|
||||
<td style="text-align:right;">{if $ROW.type == 'normal'}
|
||||
{$MOD.LBL_PDF_TYPE_NORMAL}
|
||||
{else if $ROW.type == 'correct'}
|
||||
{$MOD.LBL_PDF_TYPE_CORRECT}
|
||||
{/if}
|
||||
|
||||
</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.subtotal|number_format:2:",":"." }</td>
|
||||
<td style="text-align:right;">{$ROW.total|number_format:2:",":"." }</td>
|
||||
<td class="gc" style="text-align:right;">{$ROW.cost|number_format:2:",":"." }</td>
|
||||
<td style="text-align:right;">{$ROW.margin|number_format:2:",":"." }%</td>
|
||||
{/foreach}
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
316
modules/EcmReports/tpls/PDF/RaportZamowien.html
Normal file
316
modules/EcmReports/tpls/PDF/RaportZamowien.html
Normal file
@@ -0,0 +1,316 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* 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: #000;
|
||||
background-color: #E6F2EE;
|
||||
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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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; */
|
||||
}
|
||||
|
||||
/* 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 {
|
||||
|
||||
}
|
||||
|
||||
#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 style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport zamówien sprzedaży</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu od: {$date_from}<br>
|
||||
{if $order_type eq ''}
|
||||
Typ zamówienia: Wszystkie<br>
|
||||
{else}
|
||||
Typ zamówienia: {if $order_type eq 'K'} Okresowe {/if}
|
||||
{if $order_type eq 'E'} Normalne {/if}<br>
|
||||
{/if}
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu do: {$date_to}<br>
|
||||
{if $product_category_name_basic!=""}
|
||||
Kategoria produktu: {$product_category_name_basic}<br>
|
||||
{/if}
|
||||
|
||||
{if $product_group_name_basic!=""}
|
||||
Grupa produktowa: {$product_group_name_basic}<br>
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>Indeks</th>
|
||||
<th>Nazwa</th>
|
||||
<th>Ilość na mag.</th>
|
||||
<th>Ilość zam.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=item key=key name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.code}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.name}</b></td>
|
||||
|
||||
<td class="sumRow" ><b>{$item.state|number_format:0:",":"" }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total|number_format:2:",":"" }</b></td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
{/foreach}
|
||||
<tfoot>
|
||||
<tr class="category">
|
||||
|
||||
<th colspan=2 style="text-align:right;">Razem:</th>
|
||||
<th colspan=2 class="sumRow " style="text-align:right;">{$total|number_format:2:",":"" }</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
409
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl.html
Normal file
409
modules/EcmReports/tpls/PDF/ReportBuyesByVat.tpl.html
Normal file
@@ -0,0 +1,409 @@
|
||||
{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">Rejestr zakupu</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">{$company_name}</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>
|
||||
{assign var=counter value=1}
|
||||
{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>{$counter}</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>
|
||||
{assign var=counter value=$counter+1}
|
||||
{/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
Normal file
46
modules/EcmReports/tpls/PDF/ReportEcmWorkCards.tpl
Normal 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}</h2>
|
||||
<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
Normal file
49
modules/EcmReports/tpls/PDF/ReportEcmWorkCardsEcmProduct.tpl
Normal 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/>
|
||||
332
modules/EcmReports/tpls/PDF/ReportSalesByProdutGroups.html
Normal file
332
modules/EcmReports/tpls/PDF/ReportSalesByProdutGroups.html
Normal file
@@ -0,0 +1,332 @@
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
body {
|
||||
font-size: 7px;
|
||||
}
|
||||
/* 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: #000;
|
||||
background-color: #E6F2EE;
|
||||
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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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 */
|
||||
|
||||
/* 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; */
|
||||
}
|
||||
|
||||
/* 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 {
|
||||
|
||||
}
|
||||
|
||||
#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 style="width:100%;vertical-align:top;">
|
||||
<tr>
|
||||
<td style="width:50%;text-align;left"><h1>Raport sprzedaży z podziałem na grupy produktów</h1></td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu od: {$date_from}<br>
|
||||
|
||||
|
||||
</td>
|
||||
<td style="width:25%;text-align;right;vertical-align:top;">
|
||||
Data raportu do: {$date_to}<br>
|
||||
{if $product_category_name_basic!=""}
|
||||
Kategoria produktu: {$product_category_name_basic}<br>
|
||||
{/if}
|
||||
|
||||
{if $product_group_name_basic!=""}
|
||||
Grupa produktowa: {$product_group_name_basic}<br>
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th>Nr dok</th>
|
||||
<th>Data dok</th>
|
||||
<th>Typ dok</th>
|
||||
<th>Nabywca</th>
|
||||
<th>Wart netto</th>
|
||||
<th>Wart VAT</th>
|
||||
<th>Wart brutto</th>
|
||||
<th>Wart TH</th>
|
||||
<th>Wart WG</th>
|
||||
<th>Wart S</th>
|
||||
<th>Wart t</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=item key=key name=loop}
|
||||
{* Table headers *}
|
||||
<tbody>
|
||||
<tr class="category">
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.document_no}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.register_date|date_format:"%d.%m.%Y"}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.type}</b></td>
|
||||
<td class="oddListRowS1 alignLeft"><b> {$item.parent_name}</b></td>
|
||||
|
||||
<td class="sumRow" ><b>{$item.total_netto|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total_vat|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.total_brutto|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.TH|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.WG|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.S|number_format:2:",":"." }</b></td>
|
||||
<td class="sumRow" ><b>{$item.T|number_format:2:",":"." }</b></td>
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
{/foreach}
|
||||
<tfoot>
|
||||
<tr class="category">
|
||||
|
||||
<th colspan=4 style="text-align:right;">Razem:</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_netto|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_vat|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.total_brutto|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.TH|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.WG|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.S|number_format:2:",":"." }</th>
|
||||
<th class="sumRow " style="text-align:right;">{$totals.T|number_format:2:",":"." }</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
<br/>
|
||||
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Normal file
293
modules/EcmReports/tpls/PDF/ReportStockNewDoc.tpl
Normal 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>
|
||||
95
modules/EcmReports/tpls/QuickCreate.tpl
Executable file
95
modules/EcmReports/tpls/QuickCreate.tpl
Executable file
@@ -0,0 +1,95 @@
|
||||
{*
|
||||
|
||||
/**
|
||||
* SugarCRM is a customer relationship management program developed by
|
||||
* SugarCRM, Inc. Copyright (C) 2004 - 2007 SugarCRM Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify it under
|
||||
* the terms of the GNU General Public License version 3 as published by the
|
||||
* Free Software Foundation with the addition of the following permission added
|
||||
* to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
|
||||
* IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
|
||||
* OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
||||
* details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along with
|
||||
* this program; if not, see http://www.gnu.org/licenses or write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA.
|
||||
*
|
||||
* You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
|
||||
* SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "Powered by
|
||||
* SugarCRM" logo. If the display of the logo is not reasonably feasible for
|
||||
* technical reasons, the Appropriate Legal Notices must display the words
|
||||
* "Powered by SugarCRM".
|
||||
*/
|
||||
|
||||
|
||||
|
||||
*}
|
||||
|
||||
|
||||
<form name="ecmreportsQuickCreate" id="ecmreportsQuickCreate" method="POST" action="index.php">
|
||||
<input type="hidden" name="module" value="EcmReports">
|
||||
<input type="hidden" name="email_id" value="{$REQUEST.email_id}">
|
||||
<input type="hidden" name="account_id" value="{$REQUEST.account_id}">
|
||||
<input type="hidden" name="case_id" value="{$REQUEST.acase_id}">
|
||||
<input type="hidden" name="contact_id" value="{$REQUEST.contact_id}">
|
||||
<input type="hidden" name="return_action" value="{$REQUEST.return_action}">
|
||||
<input type="hidden" name="return_module" value="{$REQUEST.return_module}">
|
||||
<input type="hidden" name="return_id" value="{$REQUEST.return_id}">
|
||||
<input type="hidden" name="action" value='Save'>
|
||||
<input type="hidden" name="duplicate_parent_id" value="{$REQUEST.duplicate_parent_id}">
|
||||
<input type="hidden" name="to_pdf" value='1'>
|
||||
<input id='assigned_user_id' name='assigned_user_id' type="hidden" value="{$ASSIGNED_USER_ID}" />
|
||||
|
||||
|
||||
|
||||
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||
<tr>
|
||||
<td align="left" style="padding-bottom: 2px;">
|
||||
<input title="{$APP.LBL_SAVE_BUTTON_TITLE}" accessKey="{$APP.LBL_SAVE_BUTTON_KEY}" class="button" type="submit" name="button" {$saveOnclick|default:"onclick=\"return check_form('EcmReportsQuickCreate');\""} value=" {$APP.LBL_SAVE_BUTTON_LABEL} " >
|
||||
<input title="{$APP.LBL_CANCEL_BUTTON_TITLE}" accessKey="{$APP.LBL_CANCEL_BUTTON_KEY}" class="button" type="submit" name="button" {$cancelOnclick|default:"onclick=\"this.form.action.value='$RETURN_ACTION'; this.form.module.value='$RETURN_MODULE'; this.form.record.value='$RETURN_ID'\""} value=" {$APP.LBL_CANCEL_BUTTON_LABEL} ">
|
||||
<input title="{$APP.LBL_FULL_FORM_BUTTON_TITLE}" accessKey="{$APP.LBL_FULL_FORM_BUTTON_KEY}" class="button" type="submit" name="button" onclick="this.form.to_pdf.value='0';this.form.action.value='EditView'; this.form.module.value='EcmReports';" value=" {$APP.LBL_FULL_FORM_BUTTON_LABEL} "></td>
|
||||
<td align="right" nowrap><span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span> {$APP.NTC_REQUIRED}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="tabForm">
|
||||
<tr>
|
||||
<td>
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
<tr>
|
||||
<th align="left" class="dataLabel" colspan="4"><h4 class="dataLabel"><slot>{$MOD.LBL_ECMREPORT_INFORMATION}</slot></h4></th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" class="dataLabel" width="15%"><slot>{$MOD.LBL_SUBJECT} <span class="required">{$APP.LBL_REQUIRED_SYMBOL}</span></slot></td>
|
||||
<td width="35%"><slot><textarea name='name' cols="40" tabindex='1' rows="1">{$NAME}</textarea></slot></td>
|
||||
<td class="dataLabel" width="15%"><slot>{$MOD.LBL_TYPE}</slot></td>
|
||||
<td width="35%"><slot><select tabindex='2' name='type'>{$TYPE_OPTIONS}</select></slot></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td valign="top" class="dataLabel" rowspan="2" width="15%"><slot>{$MOD.LBL_DESCRIPTION}</slot></td>
|
||||
<td rowspan="2" width="35%"><slot><textarea name='description' tabindex='1' cols="40" rows="4">{$DESCRIPTION}</textarea></slot></td>
|
||||
<td class="dataLabel" width="15%"><slot>{$MOD.LBL_PRIORITY}</slot></td>
|
||||
<td class="dataField" nowrap width="35%"><slot><select tabindex='2' name='priority'>{$PRIORITY_OPTIONS}</select></slot></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="15%"><slot>{$MOD.LBL_STATUS}</slot></td>
|
||||
<td width="35%"><slot><select tabindex='2' name='status'>{$STATUS_OPTIONS}</select></slot></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<script>
|
||||
{$additionalScripts}
|
||||
</script>
|
||||
442
modules/EcmReports/tpls/RaportZamowien.html
Normal file
442
modules/EcmReports/tpls/RaportZamowien.html
Normal file
@@ -0,0 +1,442 @@
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-latest.min.js"></script>
|
||||
<link class="theme" rel="stylesheet" href="https://mottie.github.io/tablesorter/docs/css/jquery-ui.min.css">
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-ui.min.js"></script>
|
||||
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/widgets/widget-scroller.js"></script>
|
||||
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/TableSorterNew/css/theme.blue.css">
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/RaportZamowien.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
/*
|
||||
table#myTable-sticky th:first-child {
|
||||
display:none;
|
||||
}
|
||||
|
||||
*/
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.green-text{
|
||||
color:#2E8B57;
|
||||
}
|
||||
.fix {
|
||||
position: absolute;
|
||||
margin-left: -50px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.outer {
|
||||
position: relative;
|
||||
}
|
||||
.inner {
|
||||
overflow-x: scroll;
|
||||
overflow-y: visible;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.ui-widget-content{
|
||||
opacity: 0.9 !important;
|
||||
}
|
||||
#back2Top {
|
||||
width: 40px;
|
||||
line-height: 40px;
|
||||
overflow: hidden;
|
||||
z-index: 999;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
bottom: 50px;
|
||||
right: 0;
|
||||
background-color: #DDD;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
text-decoration: none;
|
||||
}
|
||||
#back2Top:hover {
|
||||
background-color: #DDF;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
// call the tablesorter plugin
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
var startFixedColumns=1;
|
||||
$("table").tablesorter({
|
||||
|
||||
showProcessing: true,
|
||||
headerTemplate : '{content} {icon}',
|
||||
widgets: [ 'zebra', 'scroller','stickyHeaders' ],
|
||||
widgetOptions : {
|
||||
|
||||
|
||||
scroller_height : '100%',
|
||||
// set number of columns to fix
|
||||
scroller_fixedColumns : startFixedColumns,
|
||||
// add a fixed column overlay for styling
|
||||
scroller_addFixedOverlay : false,
|
||||
// add hover highlighting to the fixed column (disable if it causes slowing)
|
||||
scroller_rowHighlight : 'hover',
|
||||
|
||||
// bar width is now calculated; set a value to override
|
||||
scroller_barWidth : null,
|
||||
|
||||
stickyHeaders : '',
|
||||
stickyHeaders_appendTo: $(".outer"),
|
||||
// number or jquery selector targeting the position:fixed element
|
||||
stickyHeaders_offset : 0,
|
||||
// added to table ID, if it exists
|
||||
stickyHeaders_cloneId : '-sticky',
|
||||
// trigger "resize" event on headers
|
||||
stickyHeaders_addResizeEvent : true,
|
||||
// if false and a caption exist, it won't be included in the sticky header
|
||||
stickyHeaders_includeCaption : true,
|
||||
// The zIndex of the stickyHeaders, allows the user to adjust this to their needs
|
||||
stickyHeaders_zIndex : 2,
|
||||
// jQuery selector or object to attach sticky header to
|
||||
stickyHeaders_attachTo : null
|
||||
},
|
||||
|
||||
|
||||
});
|
||||
|
||||
$($('.tablesorter-headerRow')[0]).children().click();
|
||||
|
||||
// update column value display
|
||||
$( '.fixed-columns' ).text( startFixedColumns )
|
||||
});
|
||||
|
||||
|
||||
{/literal}
|
||||
</script>
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Raport zamówień sprzedaży</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportSales" id='searchReportSales'>
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="RaportZamowien" />
|
||||
<input type="hidden" name="to_pdf" id="to_pdf" value="" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
{* Search by date_send_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Wybierz datę:</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="date_type" name="date_type">
|
||||
<option value="delivery_date" { if $date_type eq 'delivery_date' } selected="selected" {/if} >dostawy</option>
|
||||
<option value="send_date" {if $date_type eq 'send_date'} selected="selected" {/if}>wysyłki</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
</td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ zamówienia</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="pdf_type" name="order_type">
|
||||
<option value="" { if $order_type eq '' } selected="selected" {/if} >Wszystkie</option>
|
||||
<option value="K" {if $order_type eq 'K'} selected="selected" {/if}>Okresowe</option>
|
||||
<option value="E" {if $order_type eq 'E'} selected="selected" {/if}>Normalne</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Status</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="status" multiple name="status[]">
|
||||
{foreach from=$STATUS_ARRAY item=item name=loop key="key}
|
||||
<option value="{$key}" {if $key|in_array:$status_selected}selected="selected"{/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Kategoria produktu</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input name="product_category_name_basic" class="sqsEnabled" tabindex="" id="product_category_name_basic" size="" value="{$product_category_name_basic}" title="" autocomplete="off" type="text">
|
||||
<input name="product_category_id_basic" id="product_category_id_basic" value="{$product_category_id_basic}" type="hidden">
|
||||
<span class="id-ff multiple">
|
||||
|
||||
<button type="button" name="btn_product_category_name_basic" tabindex="" title="Wybierz [Alt+T]"
|
||||
accesskey="T" class="button firstChild" value="Wybierz"
|
||||
onclick="{literal}open_popup('EcmProductCategories', 600, 400, '', true, false, {'call_back_function':'set_return','form_name':'searchReportSales','field_to_name_array':{'id':'product_category_id_basic','name':'product_category_name_basic'}}, 'single', true);{/literal}"><img src='themes/default/images/id-ff-select.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1'>
|
||||
</button><button type="button" name="btn_clr_product_category_name_basic" tabindex="" title="Wyczyść[Alt+C]" accesskey="C" class="button lastChild" onclick="this.form.product_category_name_basic.value = ''; this.form.product_category_id_basic.value = '';" value="Wyczyść"><img src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1"></button>
|
||||
</span>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Bez dokumentu WZ</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap"><input type="checkbox" name="no_wz" id='no_wz' {if $checked==1}checked="checked"{/if}></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Grupa produktowa</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input name="product_group_name_basic" class="sqsEnabled" tabindex="" id="product_group_name_basic" size="" value="{$product_group_name_basic}" title="" autocomplete="off" type="text">
|
||||
<input name="product_group_id_basic" id="product_group_id_basic" value="{$product_group_id_basic}" type="hidden">
|
||||
<span class="id-ff multiple">
|
||||
|
||||
<button type="button" name="btn_product_group_name_basic" tabindex="" title="Wybierz [Alt+T]"
|
||||
accesskey="T" class="button firstChild" value="Wybierz"
|
||||
onclick="{literal}open_popup('EcmProductGroups', 600, 400, '', true, false, {'call_back_function':'set_return','form_name':'searchReportSales','field_to_name_array':{'id':'product_group_id_basic','name':'product_group_name_basic'}}, 'single', true);{/literal}"><img src='themes/default/images/id-ff-select.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1'>
|
||||
</button><button type="button" name="btn_clr_product_group_name_basic" tabindex="" title="Wyczyść[Alt+C]" accesskey="C" class="button lastChild" onclick="this.form.product_group_name_basic.value = ''; this.form.product_group_id_basic.value = '';" value="Wyczyść"><img src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1"></button>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="hidden" value="" name="excel" id="excel">
|
||||
<input class="button" name="pdf" value="Wykonaj" type="button" onclick="$('#searchReportSales').attr('target',null);$('#excel').val(null);$('#to_pdf').val(null);$('#submit').click();">
|
||||
<input class="button" name="submit" id="submit" value="{$MOD.LBL_EXECUTE}" type="submit" style="display:none;">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=RaportZamowien';">
|
||||
<input class="button" name="pdf" value="Generuj PDF" type="button" onclick="$('#searchReportSales').attr('target','_blank');$('#to_pdf').val(1);$('#excel').val(null);$('#submit').click();">
|
||||
<input class="button" name="pdf" value="Generuj CSV" type="button" onclick="$('#searchReportSales').attr('target','_blank');$('#excel').val(1);$('#to_pdf').val(null);$('#submit').click();">
|
||||
<br>
|
||||
<br>
|
||||
</form>
|
||||
{if $DATA!=NULL}
|
||||
<div class="outer">
|
||||
<div class="inner">
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<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;" aria-sort="none" aria-label="">Produkt</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Stan</th>
|
||||
{foreach from=$DATE_RANGE item=item name=loop}
|
||||
<th 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;" aria-sort="none" aria-label="">{$item}</th>
|
||||
{/foreach}
|
||||
<th 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;" aria-sort="none" aria-label="">Razem</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th></th>
|
||||
<th></th>
|
||||
{foreach from=$DATE_RANGE item=item name=loop}
|
||||
<th>
|
||||
<a target="_blank" onclick="setUrl(this,'{$item}.{$smarty.now|date_format:"%Y"}','{$item}.{$smarty.now|date_format:"%Y"}')"><img src="modules/EcmQuotes/images/search.gif" border="0"></a>
|
||||
</th>
|
||||
{/foreach}
|
||||
<th>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$DATA item=item name=loop key=id}
|
||||
<tr>
|
||||
<td class="oddListRowS1" style="text-align:left;"><a target="_blank" href="index.php?module=EcmProducts&action=DetailView&record={$item.id}"><span title="{$item.name}">{$item.code}</span></a></td>
|
||||
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.state}">{$item.state|number_format:2:".":""}</td>
|
||||
{foreach from=$item.array item=value key=key name=loop}
|
||||
|
||||
<td class="oddListRowS1" data-value="{$value}" ><span data-content="" id="{$item.id}{$key}" data-status="hidden" onclick="getProductOrders('{$id}','{$key}','{$item.id}{$key}');"style="color:{if $value>0}green;{else}red;{/if}">{$value|number_format:2:".":""}</span></td>
|
||||
|
||||
{/foreach}
|
||||
|
||||
<td class="oddListRowS1" style="text-align:right;" data-value="{$item.total}">{$item.total|number_format:2:".":""}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="back2Top">
|
||||
<span onclick="moveLeft();"><</span>
|
||||
<span onclick="moveRight();">></span>
|
||||
<script>
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
$( '.inner' ).css('width',$( window ).width()-100);
|
||||
$( window ).resize(function() {
|
||||
$( '.inner' ).css('width',$( window ).width()-100);
|
||||
});
|
||||
var el = $($('.tablesorter-headerRow')[6]).children()[0];
|
||||
|
||||
$(el).css('display','none');
|
||||
var el = $($('.tablesorter-headerRow')[7]).children()[0];
|
||||
|
||||
$(el).css('display','none');
|
||||
});
|
||||
|
||||
function moveRight(){
|
||||
var el = $($('.tablesorter-scroller-table')[1]);
|
||||
var maxWidth = el.width();
|
||||
console.log(maxWidth);
|
||||
var procent = maxWidth*0.1;
|
||||
|
||||
console.log(procent);
|
||||
var current=el.scrollLeft();
|
||||
el.scrollLeft(current+procent);
|
||||
}
|
||||
|
||||
function moveLeft(){
|
||||
var el = $($('.tablesorter-scroller-table')[1]);
|
||||
var maxWidth = el.width();
|
||||
console.log(maxWidth);
|
||||
var procent = maxWidth*0.1;
|
||||
|
||||
console.log(procent);
|
||||
var current=el.scrollLeft();
|
||||
el.scrollLeft(current-procent);
|
||||
}
|
||||
|
||||
function setUrl(el,date1,date2){
|
||||
|
||||
if($('#date_type').val()=='delivery_date'){
|
||||
var url='index.php?module=EcmSales&action=ListNewSales&date_from='+date1+'&date_to='+date2+'&submit=Szukaj&wz='+($('#no_wz').prop('checked')?'1':'0');
|
||||
$(el).attr("href",url);
|
||||
} else {
|
||||
var url='index.php?module=EcmSales&action=ListNewSales&date_send_from='+date1+'&date_send_to='+date2+'&submit=Szukaj&wz='+($('#no_wz').prop('checked')?'1':'0');
|
||||
$(el).attr("href",url);
|
||||
}
|
||||
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
<br/>
|
||||
{/if}
|
||||
405
modules/EcmReports/tpls/RaportZamowien2.html
Normal file
405
modules/EcmReports/tpls/RaportZamowien2.html
Normal file
@@ -0,0 +1,405 @@
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-latest.min.js"></script>
|
||||
<link class="theme" rel="stylesheet" href="https://mottie.github.io/tablesorter/docs/css/jquery-ui.min.css">
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-ui.min.js"></script>
|
||||
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/widgets/widget-scroller.js"></script>
|
||||
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/TableSorterNew/css/theme.blue.css">
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/RaportZamowien.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
/*
|
||||
table#myTable-sticky th:first-child {
|
||||
display:none;
|
||||
}
|
||||
|
||||
*/
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.green-text{
|
||||
color:#2E8B57;
|
||||
}
|
||||
.fix {
|
||||
position: absolute;
|
||||
margin-left: -50px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.outer {
|
||||
position: relative;
|
||||
}
|
||||
.inner {
|
||||
overflow-x: scroll;
|
||||
overflow-y: visible;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.ui-widget-content{
|
||||
opacity: 0.9 !important;
|
||||
}
|
||||
#back2Top {
|
||||
width: 40px;
|
||||
line-height: 40px;
|
||||
overflow: hidden;
|
||||
z-index: 999;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
bottom: 50px;
|
||||
right: 0;
|
||||
background-color: #DDD;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
text-decoration: none;
|
||||
}
|
||||
#back2Top:hover {
|
||||
background-color: #DDF;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
// call the tablesorter plugin
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
var startFixedColumns=1;
|
||||
$("table").tablesorter({
|
||||
|
||||
showProcessing: true,
|
||||
headerTemplate : '{content} {icon}',
|
||||
widgets: [ 'zebra', 'scroller','stickyHeaders' ],
|
||||
widgetOptions : {
|
||||
|
||||
|
||||
scroller_height : '100%',
|
||||
// set number of columns to fix
|
||||
scroller_fixedColumns : startFixedColumns,
|
||||
// add a fixed column overlay for styling
|
||||
scroller_addFixedOverlay : false,
|
||||
// add hover highlighting to the fixed column (disable if it causes slowing)
|
||||
scroller_rowHighlight : 'hover',
|
||||
|
||||
// bar width is now calculated; set a value to override
|
||||
scroller_barWidth : null,
|
||||
|
||||
stickyHeaders : '',
|
||||
stickyHeaders_appendTo: $(".outer"),
|
||||
// number or jquery selector targeting the position:fixed element
|
||||
stickyHeaders_offset : 0,
|
||||
// added to table ID, if it exists
|
||||
stickyHeaders_cloneId : '-sticky',
|
||||
// trigger "resize" event on headers
|
||||
stickyHeaders_addResizeEvent : true,
|
||||
// if false and a caption exist, it won't be included in the sticky header
|
||||
stickyHeaders_includeCaption : true,
|
||||
// The zIndex of the stickyHeaders, allows the user to adjust this to their needs
|
||||
stickyHeaders_zIndex : 2,
|
||||
// jQuery selector or object to attach sticky header to
|
||||
stickyHeaders_attachTo : null
|
||||
},
|
||||
|
||||
|
||||
});
|
||||
|
||||
$($('.tablesorter-headerRow')[0]).children().click();
|
||||
|
||||
// update column value display
|
||||
$( '.fixed-columns' ).text( startFixedColumns )
|
||||
});
|
||||
|
||||
|
||||
{/literal}
|
||||
</script>
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Raport zamówień sprzedaży</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportSales" id='searchReportSales'>
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="RaportZamowien" />
|
||||
<input type="hidden" name="to_pdf" id="to_pdf" value="" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ zamówienia</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="pdf_type" name="order_type">
|
||||
<option value="" { if $order_type eq '' } selected="selected" {/if} >Wszystkie</option>
|
||||
<option value="K" {if $order_type eq 'K'} selected="selected" {/if}>Okresowe</option>
|
||||
<option value="E" {if $order_type eq 'E'} selected="selected" {/if}>Normalne</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Status</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="status" multiple name="status[]">
|
||||
{foreach from=$STATUS_ARRAY item=item name=loop key="key}
|
||||
<option value="{$key}" {if $key|in_array:$status_selected}selected="selected"{/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr><tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Kategoria produktu</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input name="product_category_name_basic" class="sqsEnabled" tabindex="" id="product_category_name_basic" size="" value="{$product_category_name_basic}" title="" autocomplete="off" type="text">
|
||||
<input name="product_category_id_basic" id="product_category_id_basic" value="{$product_category_id_basic}" type="hidden">
|
||||
<span class="id-ff multiple">
|
||||
|
||||
<button type="button" name="btn_product_category_name_basic" tabindex="" title="Wybierz [Alt+T]"
|
||||
accesskey="T" class="button firstChild" value="Wybierz"
|
||||
onclick="{literal}open_popup('EcmProductCategories', 600, 400, '', true, false, {'call_back_function':'set_return','form_name':'searchReportSales','field_to_name_array':{'id':'product_category_id_basic','name':'product_category_name_basic'}}, 'single', true);{/literal}"><img src='themes/default/images/id-ff-select.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1'>
|
||||
</button><button type="button" name="btn_clr_product_category_name_basic" tabindex="" title="Wyczyść[Alt+C]" accesskey="C" class="button lastChild" onclick="this.form.product_category_name_basic.value = ''; this.form.product_category_id_basic.value = '';" value="Wyczyść"><img src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1"></button>
|
||||
</span>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Bez dokumentu WZ</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap"><input type="checkbox" name="no_wz" id='no_wz' {if $checked==1}checked="checked"{/if}></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Grupa produktowa</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input name="product_group_name_basic" class="sqsEnabled" tabindex="" id="product_group_name_basic" size="" value="{$product_group_name_basic}" title="" autocomplete="off" type="text">
|
||||
<input name="product_group_id_basic" id="product_group_id_basic" value="{$product_group_id_basic}" type="hidden">
|
||||
<span class="id-ff multiple">
|
||||
|
||||
<button type="button" name="btn_product_group_name_basic" tabindex="" title="Wybierz [Alt+T]"
|
||||
accesskey="T" class="button firstChild" value="Wybierz"
|
||||
onclick="{literal}open_popup('EcmProductGroups', 600, 400, '', true, false, {'call_back_function':'set_return','form_name':'searchReportSales','field_to_name_array':{'id':'product_group_id_basic','name':'product_group_name_basic'}}, 'single', true);{/literal}"><img src='themes/default/images/id-ff-select.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1'>
|
||||
</button><button type="button" name="btn_clr_product_group_name_basic" tabindex="" title="Wyczyść[Alt+C]" accesskey="C" class="button lastChild" onclick="this.form.product_group_name_basic.value = ''; this.form.product_group_id_basic.value = '';" value="Wyczyść"><img src="themes/default/images/id-ff-clear.png?s=bed8cd35065048ceebdc639ebe305e2c&c=1"></button>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" id="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=RaportZamowien';">
|
||||
<input class="button" name="pdf" value="Generuj PDF" type="button" onclick="$('#searchReportSales').attr('target','_blank');$('#to_pdf').val(1);$('#submit').click();">
|
||||
|
||||
<br>
|
||||
<br>
|
||||
</form>
|
||||
{if $DATA!=NULL}
|
||||
<div class="outer">
|
||||
<div class="inner">
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<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;" aria-sort="none" aria-label="">Produkt</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Stan</th>
|
||||
{foreach from=$DATE_RANGE item=item name=loop}
|
||||
<th 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;" aria-sort="none" aria-label="">{$item}</th>
|
||||
{/foreach}
|
||||
<th 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;" aria-sort="none" aria-label="">Razem</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$DATA item=item name=loop key=id}
|
||||
<tr>
|
||||
<td class="oddListRowS1" style="text-align:left;"><a target="_blank" href="index.php?module=EcmProducts&action=DetailView&record={$item.id}"><span title="{$item.name}">{$item.code}</span></a></td>
|
||||
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.state}">{$item.state|number_format:2:".":""}</td>
|
||||
{foreach from=$item.array item=value key=key name=loop}
|
||||
|
||||
<td class="oddListRowS1" data-value="{$value}" ><span data-content="" id="{$item.id}" data-status="hidden" onclick="getProductOrders('{$id}','{$key}','{$item.id}');"style="color:{if $value>0}green;{else}red;{/if}">{$value|number_format:2:".":""}</span></td>
|
||||
|
||||
{/foreach}
|
||||
|
||||
<td class="oddListRowS1" style="text-align:right;" data-value="{$item.total}">{$item.total|number_format:2:".":""}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="back2Top">
|
||||
<span onclick="moveLeft();"><</span>
|
||||
<span onclick="moveRight();">></span>
|
||||
<script>
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
$( '.inner' ).css('width',$( window ).width()-100);
|
||||
$( window ).resize(function() {
|
||||
$( '.inner' ).css('width',$( window ).width()-100);
|
||||
});
|
||||
var el = $($('.tablesorter-headerRow')[3]).children()[0];
|
||||
|
||||
$(el).css('display','none');
|
||||
});
|
||||
|
||||
function moveRight(){
|
||||
var el = $($('.tablesorter-scroller-table')[1]);
|
||||
var maxWidth = el.width();
|
||||
|
||||
var procent = maxWidth*0.1;
|
||||
|
||||
|
||||
var current=el.scrollLeft();
|
||||
el.scrollLeft(current+procent);
|
||||
}
|
||||
|
||||
function moveLeft(){
|
||||
var el = $($('.tablesorter-scroller-table')[1]);
|
||||
var maxWidth = el.width();
|
||||
|
||||
var procent = maxWidth*0.1;
|
||||
|
||||
|
||||
var current=el.scrollLeft();
|
||||
el.scrollLeft(current-procent);
|
||||
}
|
||||
|
||||
function setUrl(el,date1,date2){
|
||||
var url='index.php?module=EcmSales&action=ListNewSales&date_from='+date1+'&date_to='+date2+'&submit=Szukaj&wz='+($('#no_wz').prop('checked')?'1':'0');
|
||||
$(el).attr("href",url);
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
<br/>
|
||||
{/if}
|
||||
198
modules/EcmReports/tpls/ReportBuyesByVat.tpl.html
Normal file
198
modules/EcmReports/tpls/ReportBuyesByVat.tpl.html
Normal file
@@ -0,0 +1,198 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="include/jQuery/tablesorter-master/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportBuyesByVat.js"></script>
|
||||
{*<script type="text/javascript" src="https://www.google.com/jsapi"></script>*}
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
.element{
|
||||
position:fixed;
|
||||
bottom: 0%;
|
||||
width: 97%;
|
||||
padding:10px;
|
||||
font-family:Arial;
|
||||
background-color: white;
|
||||
border:1px solid black;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_REPORT} Rejestr zakupu VAT</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">{$MOD.LBL_SEARCH}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form action="index.php" method="get" name="where" id="where">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportBuyesByVat" />
|
||||
<input type="hidden" name="parentTab" value="Raporty"/>
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_FROM}
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
{* console.log('dupa');*}
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_TO}
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="Data do" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_to",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_to_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Kategoria dokumentu</td>
|
||||
<td class="dataField" width="30%" nowrap="nowrap">
|
||||
<select name="category[]" multiple="multiple">
|
||||
{foreach from=$category item=c key=k }
|
||||
<option value="{$k}" {if @in_array($k, $category_selected) } selected="true" {/if}>{$c}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<input class="button" value="{$MOD.LBL_EXECUTE}" type="submit" form="where">
|
||||
<input class="button" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href = 'index.php?module=EcmReports&action=ReportBuyesByVat&parentTab=Raporty';">
|
||||
<!-- <input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button" onclick="excelExport();"> -->
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button" >
|
||||
|
||||
<table class="tablesorter tablesorter-blue" role="grid" id='table'>
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="9%" style = "text-align: left">{$MOD.LBL_DOC_NUMBER}</th>
|
||||
<th 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="6%" style = "text-align: left">{$MOD.LBL_CREATE_LAB}</th>
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="6%" style = "text-align: left">{$MOD.LBL_SALE_DATE}</th>
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="8%" style = "text-align: left">{$MOD.LBL_SALES_NIP}</th>
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="13%" style = "text-align: left">{$MOD.LBL_LIST_SUBJECT}</th>
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="8%" style = "text-align: left">{$MOD.LBL_ADDRESS}</th>
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="5%" style = "text-align: left">{$MOD.LBL_BUYER_VALUE_BRUTTO}</th>
|
||||
{foreach from= $vat_value key= t item= w}
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="7" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="4%" style = "text-align: left">{$MOD.LBL_BUYER_VALUE_NETTO} {$t}</th>
|
||||
{if $w.sumavat != NULL}
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="8" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="4%" style = "text-align: left">{$MOD.LBL_VAT} {$t}</th>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<th class="sorter-text tablesorter-header tablesorter-headerUnSorted" data-column="9" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort width="4%" style = "text-align: left">{$MOD.LBL_SUM_VAT}</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from= $data key= k item= i}
|
||||
|
||||
<tr>
|
||||
|
||||
<td> <a target="new" href="index.php?module=Documents&offset=35&stamp=1429090400048670400&return_module=Documents&action=DetailView&record={$i.document_id}">{$i.document_number}</a></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><a target="new" href="index.php?module=Accounts&return_module=Accounts&action=DetailView&record={$i.id}">{$i.name}</a></td>
|
||||
<td>{$i.register_address_postalcode} {$i.register_address_city}</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 style="background-color: #E8E8E8;">
|
||||
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$MOD.LBL_SUM}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;" colspan="5"></td>
|
||||
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$SumaBrutto|number_format:2:",":"."}</td>
|
||||
|
||||
{foreach from=$vat_value key =o item=j}
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$j.sumanetto|number_format:2:",":"."}</td>
|
||||
{if $j.sumavat != NULL}
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$j.sumavat|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$SumaVat|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
171
modules/EcmReports/tpls/ReportEcmWorkCards.tpl
Normal file
171
modules/EcmReports/tpls/ReportEcmWorkCards.tpl
Normal file
@@ -0,0 +1,171 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="include/jQuery/tablesorter-master/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportEcmWorkCards.js"></script>
|
||||
{*<script type="text/javascript" src="https://www.google.com/jsapi"></script>*}
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
.element{
|
||||
position:fixed;
|
||||
bottom: 0%;
|
||||
width: 97%;
|
||||
padding:10px;
|
||||
font-family:Arial;
|
||||
background-color: white;
|
||||
border:1px solid black;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_REPORT_ECMWORKCARDS}</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">{$MOD.LBL_SEARCH}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form action="index.php" method="get" name="where" id="where">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportEcmWorkCards" />
|
||||
<input type="hidden" name="parentTab" value="Produkcja"/>
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_FROM}
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_TO}
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="Data do" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_to",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_to_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<input class="button" value="{$MOD.LBL_EXECUTE}" type="submit" form="where">
|
||||
<input class="button" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href = 'index.php?module=EcmReports&action=ReportEcmWorkCards&parentTab=Raporty';">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button" onclick="excelExport();">
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button" onclick="pdfExport();">
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="15%" style = "text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="7%" style = "text-align: left">{$MOD.LBL_PRODUCT_CODE}</th>
|
||||
<th width="40%" style = "text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="5%" style = "text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="10%" style = "text-align: right">{$MOD.LBL_SUM_NETTOJ}</th>
|
||||
<th width="10%" style = "text-align: right">{$MOD.LBL_SUM_BRUTTOJ}</th>
|
||||
<th width="10%" style = "text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="10%" style = "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 onclick="showHide({$kl});"><span id="span_{$kl}" class="plusStyle">[+]</span> {$rekord.work_name}</td>
|
||||
<td onclick="showHide({$kl});"></td>
|
||||
<td onclick="showHide({$kl});"></td>
|
||||
<td onclick="showHide({$kl});"></td>
|
||||
<td onclick="showHide({$kl});"></td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$rekord.sumquantity}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$rekord.averageNetto}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$rekord.averageBrutto}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$rekord.netto} </td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$rekord.brutto} </td>
|
||||
</tr>
|
||||
{foreach from=$rekord.actions item=czynnosc}
|
||||
<tr name="child_{$kl}" class="{$czynnosc.class}" style="display: none;">
|
||||
<td onclick="showHide({$kl});" style = "text-align: left"></td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: left">{$czynnosc.productcode}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: left">{$czynnosc.productname}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$czynnosc.nettoJ}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$czynnosc.bruttoJ}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$czynnosc.netto}</td>
|
||||
<td onclick="showHide({$kl});" style = "text-align: right">{$czynnosc.brutto}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot style="background-color: #E8E8E8;">
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$MOD.LBL_SUM}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$suma.netto}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$suma.brutto}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
158
modules/EcmReports/tpls/ReportEcmWorkCardsEcmProduct.tpl
Normal file
158
modules/EcmReports/tpls/ReportEcmWorkCardsEcmProduct.tpl
Normal file
@@ -0,0 +1,158 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="include/jQuery/tablesorter-master/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportEcmWorkCardsEcmProduct.js"></script>
|
||||
{*<script type="text/javascript" src="https://www.google.com/jsapi"></script>*}
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
.element{
|
||||
position:fixed;
|
||||
bottom: 0%;
|
||||
width: 97%;
|
||||
padding:10px;
|
||||
font-family:Arial;
|
||||
background-color: white;
|
||||
border:1px solid black;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_REPORT_ECMWORKCARDS_PRODUCTS}</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br>
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">{$MOD.LBL_SEARCH}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<form action="index.php" method="get" name="where" id="where">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportEcmWorkCardsEcmProduct" />
|
||||
<input type="hidden" name="parentTab" value="Produkcja"/>
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_FROM}
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td style="white-space: nowrap">{$MOD.LBL_DATE_TO}
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="Data do" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_to",
|
||||
daFormat: "{$dateFormat}",
|
||||
button: "date_to_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<input class="button" value="{$MOD.LBL_EXECUTE}" type="submit" form="where">
|
||||
<input class="button" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href = 'index.php?module=EcmReports&action=ReportEcmWorkCards&parentTab=Raporty';">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button" onclick="excelExport();">
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button" onclick="pdfExport();">
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="40%" style = "text-align: left">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="15%" style = "text-align: left">{$MOD.LBL_WORKER_NAME}</th>
|
||||
<th width="7%" style = "text-align: left">{$MOD.LBL_ACTION_CODE}</th>
|
||||
<th width="30%" style = "text-align: left">{$MOD.LBL_ACTION}</th>
|
||||
<th width="5%" style = "text-align: left">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="5%" style = "text-align: left">{$MOD.LBL_PW_QUANTITY}</th>
|
||||
<th width="10%" style = "text-align: right">{$MOD.LBL_SUM_NETTO}</th>
|
||||
<th width="10%" style = "text-align: right">{$MOD.LBL_SUM_BRUTTO}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$data item=rekord key=kl}
|
||||
<tr id="parent_{$rekord.indeks}">
|
||||
<td onclick="showHide({$rekord.indeks});"><span id="span_{$rekord.indeks}" class="plusStyle">[+]</span> {$rekord.code} {$rekord.name}</td>
|
||||
<td colspan="4" onclick="showHide({$rekord.indeks});"></td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$rekord.pw}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$rekord.netto|number_format:2:",":"."}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "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="display: none;">
|
||||
<td onclick="showHide('{$rekord.indeks}');" style = "text-align: left"></td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: left">{$klucz}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: left">{$czynnosc.actioncode}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: left">{$czynnosc.actionname}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$czynnosc.quantity}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$rekord.pw}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$czynnosc.netto|number_format:2:",":"."}</td>
|
||||
<td onclick="showHide({$rekord.indeks});" style = "text-align: right">{$czynnosc.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot style="background-color: #E8E8E8;">
|
||||
<tr>
|
||||
<td style="text-align: left;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$MOD.LBL_SUM}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;" colspan="5"></td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$suma.netto|number_format:2:",":"."}</td>
|
||||
<td style="text-align: right;background-color: #E8E8E8; border: 1px solid #E8E8E8;">{$suma.brutto|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
362
modules/EcmReports/tpls/ReportSales.tpl
Normal file
362
modules/EcmReports/tpls/ReportSales.tpl
Normal file
@@ -0,0 +1,362 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.staticrow.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportSales.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.green-text{
|
||||
color:#2E8B57;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_RAPORT_SALES} </h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportSales">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportSales" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_GORUP_BY}</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select name="groupByProducentsOrProducts">
|
||||
<option value="product" { if $searchBy==""} selected="true" {/if} >produkt</option>
|
||||
<option value="contractor" { if $searchBy=="contractor"} selected {/if} >kontrahent</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
{* Open popup window to select contractor *}
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
function getContractor(){ldelim}
|
||||
open_popup("Accounts", 600, 400, "", true, false,
|
||||
{ldelim}
|
||||
"call_back_function":"set_return","form_name":"searchDailyReports","field_to_name_array":
|
||||
{ldelim}"id":"account_id","name":"account_name"{rdelim}
|
||||
{rdelim}, "single", true);
|
||||
{rdelim};
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ dokumentu</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="type" name="type">
|
||||
<option value="%" { if $searchByType=="%"} selected="true" {/if} >normalny i korekta</option>
|
||||
<option value="normal" { if $searchByType=="normal"} selected {/if} >normalny</option>
|
||||
<option value="correct" { if $searchByType=="correct"} selected {/if} >korekta</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Handlowiec</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="user" name="selectUser">
|
||||
<option value="" { if $selectUser==""} selected="true" {/if} >Wszyscy</option>
|
||||
{foreach from=$USERS item=USER key=count name=loop}
|
||||
<option value="{$USER.id}" { if $selectUser==$USER.id} selected="true" {/if} >{$USER.first} {$USER.last}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Grupa księgowa</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="group_ks" name="group_ks">
|
||||
<option value="%">Wszystkie</option>
|
||||
{foreach from=$all_groups_ks item=GROUP key=COUNT name=loop}
|
||||
<option value="{$COUNT}" { if $group_ks==$COUNT} selected="true" {/if} >{$GROUP}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="15%" nowrap="nowrap"></td>
|
||||
</tr><tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ sprzedaży</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="pdf_type" name="selectPdfType">
|
||||
<option value="" { if $selectedPdfType eq '' } selected="selected" {/if} >Wszystkie</option>
|
||||
<option value="K" {if $selectedPdfType eq 'K'} selected="selected" {/if}>Kraj</option>
|
||||
<option value="U" {if $selectedPdfType eq 'U'} selected="selected" {/if}>Unia</option>
|
||||
<option value="E" {if $selectedPdfType eq 'E'} selected="selected" {/if}>Eksport</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Twinpol</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input type="checkbox" name="twinpol" value="1" {if $twinpol =='1'} checked="checked" {elseif $twinpol == null && $searchByType == null} checked="checked" {/if}>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=ReportSales';">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button">
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="30%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_PRODUCTS}</th>
|
||||
{if $searchBy=="product"}
|
||||
<th width="10%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Indeks</th>
|
||||
{/if}
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_VALUE_SALES}</th>
|
||||
{*<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Wartość sprzedaży bez korekt</th>*}
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_COST}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="7" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_MARGIN}</th>
|
||||
{if $searchBy=="none"}
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="8" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_STOCK_STATES}</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="9" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_STOCK_VALUE}</th>
|
||||
{/if}
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{* Table headers *}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="static category">
|
||||
{if $CATNAME != ""}
|
||||
<td class="oddListRowS1 alignLeft "><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
|
||||
{/if}
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1 alignLeft" ></td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
{* <td class="oddListRowS1 sumRow" ><b><span class='green-text'>{$DATA.$CATNAME.SoldSumNormal|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.MarzaSum|number_format:2:",":"." }%</b></td>
|
||||
{if $searchBy=="none"}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.StanSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 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 id="functions-core" class="tablesorter-infoOnly tablesShowHide">
|
||||
<tr class="subcategory">
|
||||
<td class="oddListRowS1 alignLeft"><a class="showRows" style="color: cadetblue; text-decoration: none; cursor: pointer;">[+]</a><b> {$CAT2NAME}</b></td>
|
||||
{if $searchBy=="product"}
|
||||
<td class="oddListRowS1 alignLeft" ></td>
|
||||
{/if}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.IloscSum2|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.SoldSum2|number_format:2:",":"." }</b></td>
|
||||
{*<td class="oddListRowS1 sumRow" ><b><span class='green-text'>{$CAT.$CAT2NAME.SoldSumNormal2|number_format:2:",":"." }</span></b></td>*}
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.KosztSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.MarzaSum2|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="contractor">
|
||||
{else}
|
||||
<tr class="contractor" role="row">
|
||||
{/if}
|
||||
|
||||
{if $searchBy=="contractor"}
|
||||
<td class="oddListRowS1 alignLeft" style="text-align:left;">
|
||||
{if $CAT2NAME!="Reszta"}
|
||||
<img category="{$CATNAME}" subcategory="{$CAT2NAME}" class="showProducts" style="color: graytext; text-decoration: none; cursor: pointer;" src="modules/EcmReports/images/search.gif" />
|
||||
{/if}
|
||||
<a href="index.php?module=Accounts&return_module=Accounts&action=DetailView&record={if $ROW.name != 'Media Saturn Holding'}{$ROW.parent_id}{else}1249{/if}" {if $ROW.name != 'Media Saturn Holding' }contractor="{$ROW.parent_id}"{else} contractor="1249" {/if} target="new">{$ROW.name}</a>
|
||||
</td>
|
||||
|
||||
{else}
|
||||
<td class="oddListRowS1 alignLeft" style="text-align:left;">
|
||||
<img src="modules/EcmReports/images/search.gif" class="showContractors" style="color: graytext; text-decoration: none; cursor: pointer;" data-productid="{$ROW.id}" />
|
||||
<a target="new" href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">
|
||||
{$ROW.name}
|
||||
</a>
|
||||
</td>
|
||||
{/if}
|
||||
{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="static category 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/>
|
||||
308
modules/EcmReports/tpls/ReportSalesByContractor.tpl
Normal file
308
modules/EcmReports/tpls/ReportSalesByContractor.tpl
Normal file
@@ -0,0 +1,308 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.staticrow.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportSalesByContractor.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .category .alignLeft {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
table.tablesorter .products .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_RAPORT_SALES_BY_CONTRACTOR} </h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportSales">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportSalesByContractor" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ dokumentu</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="type" name="type">
|
||||
<option value="%" { if $searchByType==""} selected="true" {/if} >normalny i korekta</option>
|
||||
<option value="normal" { if $searchByType=="normal"} selected {/if} >normalny</option>
|
||||
<option value="correct" { if $searchByType=="correct"} selected {/if} >korekta</option>
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Handlowiec</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="user" name="selectUser">
|
||||
<option value="" { if $selectedUser eq '' } selected="selected" {/if} >wszyscy</option>
|
||||
{foreach from=$USERS item=USER key=count name=loop}
|
||||
<option value="{$USER.id}" {if $selectedUser eq $USER.id} selected="selected" {/if}>{$USER.first} {$USER.last}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="15%" nowrap="nowrap">
|
||||
Grupuj "Media Saturn Holding" <input type="checkbox" value="enabled" name="group_media_saturn_holding" {if $group_media_saturn_holding == 'enabled'}checked{/if}>
|
||||
</td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ sprzedaży</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="pdf_type" name="selectPdfType">
|
||||
<option value="" { if $selectedPdfType eq '' } selected="selected" {/if} >Wszystkie</option>
|
||||
<option value="K" {if $selectedPdfType eq 'K'} selected="selected" {/if}>Kraj</option>
|
||||
<option value="U" {if $selectedPdfType eq 'U'} selected="selected" {/if}>Unia</option>
|
||||
<option value="E" {if $selectedPdfType eq 'E'} selected="selected" {/if}>Eksport</option>
|
||||
</select>
|
||||
</td>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=ReportSalesByContractor';">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
|
||||
<input id="pdfEksport" class="button" name="importToPDF" value="{$MOD.BTN_PDF_EXPORT}" type="button">
|
||||
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<table id="myTable" class="ablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="30%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_CONTRACTOR}</th>
|
||||
<th width="10%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Indeks</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_SOLD_AMOUNT}</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_VALUE_SALES}</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_AVERAGE_PRICE}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_COST}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_MARGIN}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$ContractorData item=DATA key=CONNAME name=loop}
|
||||
{if $CONNAME!=""}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="static contractor">
|
||||
<td class="oddListRowS1 alignLeft"><a class="plusStyle showTablesContractor">[+]</a><b> {$CONNAME}</b></td>
|
||||
<td class="oddListRowS1 sumRow" ></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$ContractorData.$CONNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$ContractorData.$CONNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$ContractorData.$CONNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$ContractorData.$CONNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 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 id="functions-core" class="tablesorter-infoOnly categoryShowHide">
|
||||
<tr class="static category">
|
||||
<td class="oddListRowS1 alignLeft "><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
|
||||
<td class="oddListRowS1 sumRow" ></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 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 id="functions-core" class="tablesorter-infoOnly tablesShowHide">
|
||||
<tr class="subcategory">
|
||||
<td class="oddListRowS1 alignLeft"><a class="showRows" style="color: cadetblue; text-decoration: none; cursor: pointer;">[+]</a><b> {$CAT2NAME}</b></td>
|
||||
<td class="oddListRowS1 sumRow"></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.IloscSum|number_format:0:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.SoldSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.SredniaSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.KosztSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 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 class="products" role="row">
|
||||
{/if}
|
||||
<td class="oddListRowS1 alignLeft" style="text-align:left;">
|
||||
<a target="new" href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">{$ROW.name}</a>
|
||||
</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="static sumAll">
|
||||
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
<td class="oddListRowS1" ></td>
|
||||
<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>{$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/>
|
||||
364
modules/EcmReports/tpls/ReportSalesByProdutGroups.html
Normal file
364
modules/EcmReports/tpls/ReportSalesByProdutGroups.html
Normal file
@@ -0,0 +1,364 @@
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-latest.min.js"></script>
|
||||
<link class="theme" rel="stylesheet" href="https://mottie.github.io/tablesorter/docs/css/jquery-ui.min.css">
|
||||
<script type="text/javascript" src="https://mottie.github.io/tablesorter/docs/js/jquery-ui.min.js"></script>
|
||||
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script src="https://mottie.github.io/tablesorter/js/widgets/widget-scroller.js"></script>
|
||||
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/TableSorterNew/css/theme.blue.css">
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/RaportZamowien.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
/*
|
||||
table#myTable-sticky th:first-child {
|
||||
display:none;
|
||||
}
|
||||
|
||||
*/
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.green-text{
|
||||
color:#2E8B57;
|
||||
}
|
||||
.fix {
|
||||
position: absolute;
|
||||
margin-left: -50px;
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.outer {
|
||||
position: relative;
|
||||
}
|
||||
.inner {
|
||||
overflow-x: scroll;
|
||||
overflow-y: visible;
|
||||
width: auto;
|
||||
}
|
||||
|
||||
.ui-widget-content{
|
||||
opacity: 0.9 !important;
|
||||
}
|
||||
#back2Top {
|
||||
width: 40px;
|
||||
line-height: 40px;
|
||||
overflow: hidden;
|
||||
z-index: 999;
|
||||
display: block;
|
||||
cursor: pointer;
|
||||
position: fixed;
|
||||
bottom: 50px;
|
||||
right: 0;
|
||||
background-color: #DDD;
|
||||
color: #555;
|
||||
text-align: center;
|
||||
font-size: 30px;
|
||||
text-decoration: none;
|
||||
}
|
||||
#back2Top:hover {
|
||||
background-color: #DDF;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
// call the tablesorter plugin
|
||||
{literal}
|
||||
$(document).ready(function(){
|
||||
var startFixedColumns=1;
|
||||
$("table").tablesorter({
|
||||
|
||||
showProcessing: true,
|
||||
headerTemplate : '{content} {icon}',
|
||||
widgets: [ 'zebra', 'scroller','stickyHeaders' ],
|
||||
widgetOptions : {
|
||||
|
||||
|
||||
scroller_height : '100%',
|
||||
// set number of columns to fix
|
||||
scroller_fixedColumns : startFixedColumns,
|
||||
// add a fixed column overlay for styling
|
||||
scroller_addFixedOverlay : false,
|
||||
// add hover highlighting to the fixed column (disable if it causes slowing)
|
||||
scroller_rowHighlight : 'hover',
|
||||
|
||||
// bar width is now calculated; set a value to override
|
||||
scroller_barWidth : null,
|
||||
|
||||
stickyHeaders : '',
|
||||
stickyHeaders_appendTo: $(".outer"),
|
||||
// number or jquery selector targeting the position:fixed element
|
||||
stickyHeaders_offset : 0,
|
||||
// added to table ID, if it exists
|
||||
stickyHeaders_cloneId : '-sticky',
|
||||
// trigger "resize" event on headers
|
||||
stickyHeaders_addResizeEvent : true,
|
||||
// if false and a caption exist, it won't be included in the sticky header
|
||||
stickyHeaders_includeCaption : true,
|
||||
// The zIndex of the stickyHeaders, allows the user to adjust this to their needs
|
||||
stickyHeaders_zIndex : 2,
|
||||
// jQuery selector or object to attach sticky header to
|
||||
stickyHeaders_attachTo : null
|
||||
},
|
||||
headers: {
|
||||
4: {
|
||||
sorter: 'number'
|
||||
},
|
||||
5: {
|
||||
sorter: 'number'
|
||||
},
|
||||
6: {
|
||||
sorter: 'number'
|
||||
},
|
||||
7: {
|
||||
sorter: 'number'
|
||||
},
|
||||
8: {
|
||||
sorter: 'number'
|
||||
},
|
||||
9: {
|
||||
sorter: 'number'
|
||||
},
|
||||
10: {
|
||||
sorter: 'number'
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
$($('.tablesorter-headerRow')[0]).children().click();
|
||||
|
||||
// update column value display
|
||||
$( '.fixed-columns' ).text( startFixedColumns )
|
||||
});
|
||||
|
||||
|
||||
{/literal}
|
||||
</script>
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Raport sprzedaży z podziałem na grupy produktów</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" target="" method="get" name="searchReportSales" id='searchReportSales'>
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportSalesByProductGroups" />
|
||||
<input type="hidden" name="to_pdf" id="to_pdf" value="0" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
|
||||
{* Search by date_from *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"> Data od </td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
{* Search by date_to *}
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "{$dateFormat}",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input class="button" name="submit" id="wykonaj" value="Wykonaj" onclick="$('#to_pdf').val(0);$('#searchReportSales').attr('target',null);$('#submit').click();" type="button">
|
||||
<input class="button" name="submit" id="submit" value="" type="submit" style="display:none;">
|
||||
<input class="button" name="submit" id="pdf" value="PDF" onclick="$('#to_pdf').val(1);$('#searchReportSales').attr('target','_blank');$('#submit').click();" type="button">
|
||||
<input class="button" name="submit" id="clear" value="Wyczyść" onclick="window.location='index.php?module=EcmReports&action=ReportSalesByProductGroups';" type="button">
|
||||
<br>
|
||||
<br>
|
||||
</form>
|
||||
|
||||
{if $DATA!=NULL}
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<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;" aria-sort="none" aria-label="">Nr dokumentu</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Data dokumentu</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Typ dokumentu</th>
|
||||
|
||||
<th 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;" aria-sort="none" aria-label="">Nabywca</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość netto</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość VAT</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość brutto</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość TH</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość WG</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość S</th>
|
||||
<th 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;" aria-sort="none" aria-label="">Wartość T</th>
|
||||
</tr>
|
||||
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{foreach from=$DATA item=item name=loop key=id}
|
||||
<tr>
|
||||
<td class="oddListRowS1" style="text-align:left;"><a target="_blank" href="index.php?module=EcmInvoiceOuts&action=DetailView&record={$item.id}"><span title="{$item.name}">{$item.document_no}</span></a></td>
|
||||
|
||||
<td class="oddListRowS1" style="text-align:left;" >{$item.register_date|date_format:"%d.%m.%Y"}</td>
|
||||
<td class="oddListRowS1" style="text-align:left;" >{$item.type}</td>
|
||||
<td class="oddListRowS1" style="text-align:left;"><a target="_blank" href="index.php?module=Accounts&action=DetailView&record={$item.parent_id}">{$item.parent_name}</a></td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.total_netto}">{$item.total_netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.total_vat}">{$item.total_vat|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.total_brutto}">{$item.total_brutto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.TH}">{$item.TH|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.WG}">{$item.WG|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.S}">{$item.S|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" data-value="{$item.T}">{$item.T|number_format:2:",":"."}</td>
|
||||
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td class="oddListRowS1" style="text-align:right;"></td>
|
||||
<td class="oddListRowS1" style="text-align:right;"></td>
|
||||
<td class="oddListRowS1" style="text-align:right;"></td>
|
||||
<td class="oddListRowS1" style="text-align:right;">Razem:</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" >{$totals.total_netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;">{$totals.total_vat|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;">{$totals.total_brutto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;">{$totals.TH|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" >{$totals.WG|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;">{$totals.S|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;color:blue;" >{$totals.T|number_format:2:",":"."}</td>
|
||||
|
||||
</tfoot>
|
||||
|
||||
</table>
|
||||
{/if}
|
||||
85
modules/EcmReports/tpls/ReportSalesVatSales.tpl.html
Normal file
85
modules/EcmReports/tpls/ReportSalesVatSales.tpl.html
Normal file
@@ -0,0 +1,85 @@
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2 id="raport_name">Rejestr sprzedaży VAT</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<ul class="tablist" style="width:100%;"></ul>
|
||||
<form target="_blank" action="index.php" method="get" name="ReportSalesVatSales">
|
||||
<input type="hidden" id="module" name="module" value="EcmReports"/>
|
||||
<input type="hidden" id="action" name="action" value="ReportSalesVatSales"/>
|
||||
<input type="hidden" id="process" name="process" value="1"/>
|
||||
<input type="hidden" id="to_xls" name="to_xls" value="0"/>
|
||||
<input type="hidden" id="to_pdf" name="to_pdf" value="1"/>
|
||||
<table class="tabForm" cellspacing="0" cellpadding="0" border="0" style="border-top: 0px none; margin-bottom: 4px;width:100%">
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Magazyn: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
{$STOCKS}
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Typ dokumentu: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
{$TYPES}
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Rodzaj: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
{$KINDS}
|
||||
</td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Kategoria: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
{$CATEGORIES}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Grupuj kontrahentów: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
<input type="checkbox" name="group_accounts" id="group_accounts" {if $GROUP_ACCOUNTS == '1'} checked {/if}/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data od: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="" value="{$DATE_FROM}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_from",
|
||||
daFormat : "%d.%m.%Y",
|
||||
button : "date_from_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Data do: </td>
|
||||
<td class="dataField" width="8%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$DATE_TO}" title="" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup ({ldelim}
|
||||
inputField : "date_to",
|
||||
daFormat : "%d.%m.%Y",
|
||||
button : "date_to_trigger",
|
||||
singleClick : true,
|
||||
dateStr : "",
|
||||
step : 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<input type="submit" class="button" onclick="$('#to_xls').val(0);$('#to_pdf').val(1);" value="Wykonaj"/>
|
||||
<!--<input type="submit" class="button" onclick="$('#to_xls').val(1);" value="XLS"/> -->
|
||||
<input type="button" class="button" value="Wyczyść" onClick = "window.location='index.php?module=EcmReports&action=ReportSalesVatSales'"/>
|
||||
</form>
|
||||
196
modules/EcmReports/tpls/ReportSalesVatSalesPDF.tpl.html
Normal file
196
modules/EcmReports/tpls/ReportSalesVatSalesPDF.tpl.html
Normal file
@@ -0,0 +1,196 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<style>
|
||||
{literal}
|
||||
@page {
|
||||
size: auto;
|
||||
odd-header-name: html_Header;
|
||||
}
|
||||
|
||||
#MainTable {
|
||||
width: 100%;
|
||||
font-size: 8pt;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#MainTable .text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#MainTable .text-right {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
#MainTable .border-bottom {
|
||||
border-collapse: collapse;
|
||||
border-bottom: 1px solid black;
|
||||
}
|
||||
|
||||
#MainTable .border-top {
|
||||
border-collapse: collapse;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<htmlpageheader name="Header">
|
||||
<div style="text-align: left; font-weight: bold; font-size: 10pt;">
|
||||
<table style="width: 100%">
|
||||
<tr><td style="width: 50%">
|
||||
<table>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">{$COMPANY_NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Data wydruku: {$CUR_DATE}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Rejestr sprzedaży VAT za okres od {$DATE_FROM} do {$DATE_TO}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="font-size: 12px; font-weight: bold">Strona {literal}{PAGENO} z {nbpg}{/literal}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><td style="text-align: right; vertical-align: top; font-size: 8pt;">
|
||||
Ustawienia raportu:<br>
|
||||
Magazyn: {$S_STOCK}<br>
|
||||
Rodzaj: {$S_KIND}<br>
|
||||
Kategoria: {$S_CATEGORY}<br>
|
||||
Typ: {$S_TYPE}
|
||||
</td></tr>
|
||||
</table>
|
||||
</div>
|
||||
</htmlpageheader>
|
||||
<div>
|
||||
{foreach from=$PAGES item=PAGE name=page"}
|
||||
{assign var=pagesCount value=$PAGES|@count}
|
||||
|
||||
{assign var=vatColSize value=0}
|
||||
{math
|
||||
assign="vatColSize"
|
||||
equation="round(57/($vatsCount))"
|
||||
}
|
||||
<table id="MainTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="border-top border-bottom" style="width: 3%;" rowspan="2">Lp.</th>
|
||||
<th class="text-left border-top" style="width: 20%;">Nr dok.</th>
|
||||
<th class="text-left border-top" style="width: 10%;">Data wyst.</th>
|
||||
<th class="text-left border-top" colspan="{$vatsCount+2}">Odbiorca - NIP,Konto KS, Nazwa, Adres</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="text-right border-bottom" style="width: 10%;">Sprz. brutto</th>
|
||||
<th class="text-right border-bottom" style="width: 10%;">Sprz. netto</th>
|
||||
{foreach from=$VATS key=vat_name item=i}
|
||||
<th class="text-right border-bottom" style="width: {$vatColSize}%;">Netto {$vat_name}</th>
|
||||
{if $i=='2'}
|
||||
<th class="text-right border-bottom" style="width: {$vatColSize}%;">VAT {$vat_name}</th>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<th class="text-right border-bottom" style="width: 10%;">VAT Razem</th>
|
||||
<th class="text-right border-bottom" style="width: 10%;">Koszt</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$PAGE.rows item=row}
|
||||
{if $row.is_summary!=1}
|
||||
<tr>
|
||||
<td class="text-left border-bottom" rowspan="2">{$row.lp}</td>
|
||||
<td class="text-left">{$row.document_no}</td>
|
||||
<td class="text-left">{$row.register_date}</td>
|
||||
<td class="text-left" colspan="{$vatsCount+2}">{$row.parent_info}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-right border-bottom">{$row.brutto|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$row.netto|number_format:2:",":"."}</td>
|
||||
{foreach from=$row.vats item=v key=k}
|
||||
<td class="text-right border-bottom">{$v[0]|number_format:2:",":"."}</td>
|
||||
{if $VATS.$k == '2'}
|
||||
<td class="text-right border-bottom">{$v[1]|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td class="text-right border-bottom">{$row.vat|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$row.purchase|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{else}
|
||||
<tr>
|
||||
<td class="text-left" colspan="{$vatsCount+5}"><b>Razem - {$row.index}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-right border-bottom"> </td>
|
||||
<td class="text-right border-bottom" >{$row.total_brutto|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom" >{$row.total_netto|number_format:2:",":"."}</td>
|
||||
{foreach from=$row.vats item=v key=k}
|
||||
<td class="text-right border-bottom">{$v[0]|number_format:2:",":"."}</td>
|
||||
{if $VATS.$k == '2'}
|
||||
<td class="text-right border-bottom">{$v[1]|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td class="text-right border-bottom" >{$row.total_vat|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom" >{$row.total_purchase|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<tr>
|
||||
<td class="text-left" colspan="{$vatsCount+6}">Suma strony:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-bottom"> </td>
|
||||
<td class="text-right border-bottom">{$PAGE.site_brutto|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.site_netto|number_format:2:",":"."}</td>
|
||||
{foreach from=$PAGE.site_vats item=v key=k}
|
||||
<td class="text-right border-bottom">{$v[0]|number_format:2:",":"."}</td>
|
||||
{if $VATS.$k == '2'}
|
||||
<td class="text-right border-bottom">{$v[1]|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td class="text-right border-bottom">{$PAGE.site_vat|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.site_purchase|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-left" colspan="{$vatsCount+6}">Suma z przeniesienia:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-bottom"> </td>
|
||||
<td class="text-right border-bottom">{$PAGE.moved_brutto|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.moved_netto|number_format:2:",":"."}</td>
|
||||
{foreach from=$PAGE.moved_vats item=v key=k}
|
||||
<td class="text-right border-bottom">{$v[0]|number_format:2:",":"."}</td>
|
||||
{if $VATS.$k == '2'}
|
||||
<td class="text-right border-bottom">{$v[1]|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td class="text-right border-bottom">{$PAGE.moved_vat|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.moved_purchase|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="text-left" colspan="{$vatsCount+6}">Suma razem:</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="border-bottom"> </td>
|
||||
<td class="text-right border-bottom">{$PAGE.total_brutto|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.total_netto|number_format:2:",":"."}</td>
|
||||
{foreach from=$PAGE.total_vats item=v key=k}
|
||||
<td class="text-right border-bottom">{$v[0]|number_format:2:",":"."}</td>
|
||||
{if $VATS.$k == '2'}
|
||||
<td class="text-right border-bottom">{$v[1]|number_format:2:",":"."}</td>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<td class="text-right border-bottom">{$PAGE.total_vat|number_format:2:",":"."}</td>
|
||||
<td class="text-right border-bottom">{$PAGE.total_purchase|number_format:2:",":"."}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{if $smarty.foreach.page.index != $pagesCount-1 }
|
||||
<newpage>
|
||||
{/if}
|
||||
{/foreach}
|
||||
<p style="font-size: 8pt;">
|
||||
KONIEC WYDRUKU
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
302
modules/EcmReports/tpls/ReportStockDocMoves.html
Normal file
302
modules/EcmReports/tpls/ReportStockDocMoves.html
Normal file
@@ -0,0 +1,302 @@
|
||||
|
||||
|
||||
<script type="text/javascript" src="include/jQuery/jquery-ui-lite/jquery-1.12.4.js"></script>
|
||||
<link class="theme" rel="stylesheet" href="include/jQuery/jquery-ui-lite/jquery-ui.css">
|
||||
<script type="text/javascript" src="include/jQuery/jquery-ui-lite/jquery-ui.js"></script>
|
||||
|
||||
<script src="modules/EcmReports/TableSorterNew/js/jquery.tablesorter.js"></script>
|
||||
<script src="modules/EcmReports/TableSorterNew/js/jquery.tablesorter.widgets.js"></script>
|
||||
|
||||
<link class="theme" rel="stylesheet" href="modules/EcmReports/TableSorterNew/css/theme.blue.css">
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportStockDocMoves.js"></script>
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Obroty wg dokumentów</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="ReportStockDocMoves">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportStockDocMoves" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<span id="stockSelectedspan">{$MOD.LBL_STOCK}</span>
|
||||
<select multiple="multiple" name="stockSelected[]">
|
||||
{foreach from=$stocksList key="key" item="item"}
|
||||
<option value="{$key}" {if @in_array($key, $stockSelected) } selected="true" {/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
|
||||
</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
Dokument
|
||||
{html_options name=documentsSelected options=$documentList selected=$documentSelected}
|
||||
</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
Widok:
|
||||
{html_options name=viewSelected options=$viewList selected=$viewSelected}
|
||||
</td>
|
||||
|
||||
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<!--
|
||||
<span class="changebox kartotekamaterialowa">
|
||||
Kartoteka materiałowa
|
||||
<select multiple name="stockIndexSelected[]">
|
||||
<option value="NULL" {if @in_array('NULL', $stockIndexSelected) } selected="true" {/if}></option>
|
||||
{foreach from=$stockIndexList key="key" item="item"}
|
||||
<option value="{$key}" {if @in_array($key, $stockIndexSelected) } selected="true" {/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</span>
|
||||
-->
|
||||
|
||||
<span class="changebox magazyndocelowy">
|
||||
Do magazynu
|
||||
<select multiple="multiple" name="mmSelected[]">
|
||||
{foreach from=$stocksList key="key" item="item"}
|
||||
<option value="{$key}" {if @in_array($key, $mmSelected) } selected="true" {/if}>{$item}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</span>
|
||||
<span class="changebox kontrahent">
|
||||
{$MOD.LBL_CONTRACTOR}
|
||||
<input type="text" id="accountName" name="accountName" value="{$accountName}">
|
||||
<input type="hidden" id="accountId" name="accountId" value="{$accountId}">
|
||||
<button
|
||||
type="button"
|
||||
id="selectAccount"
|
||||
value="{$APP.LBL_ADD_BUTTON}"
|
||||
title="Wybierz kontrahenta">
|
||||
<img src="{sugar_getimagepath file="id-ff-select.png"}">
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="clear"
|
||||
value="Wyczyść"
|
||||
title="Wyczyść">
|
||||
<img src="{sugar_getimagepath file="id-ff-clear.png"}">
|
||||
</button>
|
||||
</span>
|
||||
|
||||
<!--
|
||||
<span class="changebox kategoriawz">
|
||||
Kategoria
|
||||
{html_options name=wz_category options=$kategorie_wz selected=$wz_category_selected}
|
||||
</span>
|
||||
-->
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">
|
||||
Data od
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "%d.%m.%Y",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">
|
||||
Data do
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="Data do" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_to",
|
||||
daFormat: "%d.%m.%Y",
|
||||
button: "date_to_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
|
||||
Kategoria produktu
|
||||
<input type="text" id="productCategoryName" name="productCategoryName" value="{$productCategoryName}">
|
||||
<input type="hidden" id="productCategoryId" name="productCategoryId" value="{$productCategoryId}">
|
||||
<button
|
||||
type="button"
|
||||
id="selectProductCategory"
|
||||
value="{$APP.LBL_ADD_BUTTON}"
|
||||
title="Wybierz kategorię">
|
||||
<img src="{sugar_getimagepath file="id-ff-select.png"}">
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id=clearCat
|
||||
value="Wyczyść"
|
||||
title="Wyczyść">
|
||||
<img src="{sugar_getimagepath file="id-ff-clear.png"}">
|
||||
</button>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input type="submit" value="{$MOD.LBL_EXECUTE}">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href = 'index.php?module=EcmReports&action=ReportStockDocMoves';">
|
||||
|
||||
<input id="pdf" class="button" name="pdf" value="PDF" onClick="pdfExport();" type="button">
|
||||
|
||||
|
||||
<!-- <input id="pdf" class="button" name="pdf" value="XLS" onClick="xlsExport();" type="button"> -->
|
||||
</form>
|
||||
<br>
|
||||
<div class="content" style="text-align:center">
|
||||
{if $viewSelected eq 'documents'}
|
||||
<table id="myTable" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th >Numer dokumentu</th>
|
||||
<th>Data</th>
|
||||
|
||||
{if $documentSelected eq 'EcmStockDocMoves'}
|
||||
<th>Magazyn docelowy </th>
|
||||
{elseif $documentSelected eq 'EcmStockDocIns'}
|
||||
<th>Dostawca </th>
|
||||
{elseif $documentSelected eq 'EcmStockDocOuts'}
|
||||
<th> Odbiorca</th>
|
||||
{elseif $documentSelected eq 'EcmInvoiceOuts'}
|
||||
<th>Kontrahent</th>
|
||||
{/if}
|
||||
|
||||
<th>Opis dokumentu</th>
|
||||
<th>Wartość</th>
|
||||
<th>Magazyn</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA.doc key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="index.php?module={$documentSelected}&action=DetailView&record={$item.id}">{$item.numer}</a>
|
||||
</td>
|
||||
<td>
|
||||
{$item.data}
|
||||
</td>
|
||||
|
||||
{if $documentSelected eq 'EcmStockDocMoves'}
|
||||
<td>{$item.magazynIn} </td>
|
||||
{elseif $documentSelected eq 'EcmStockDocIns' or $documentSelected eq 'EcmStockDocOuts' or $documentSelected eq 'EcmInvoiceOuts' }
|
||||
<td><a href="index.php?module=Accounts&action=DetailView&record={$item.accountId}">{$item.accountNazwa}</a> </td>
|
||||
{/if}
|
||||
|
||||
|
||||
<td>
|
||||
{if $item.typ=='KS'}
|
||||
{if $item.otyp==0}
|
||||
Przychód
|
||||
{/if}
|
||||
{if $item.otyp==1}
|
||||
Rozchód
|
||||
{/if}
|
||||
{else}
|
||||
{$item.nazwa}
|
||||
{/if}
|
||||
</td>
|
||||
|
||||
<td style="text-align: right" data-value="{$item.wartosc}">
|
||||
{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='3' style="text-align:left;">Suma:</th>
|
||||
<th style="text-align:right;">{$suma|number_format:2:",":"." }</th>
|
||||
<th ></th>
|
||||
{if $documentSelected eq 'EcmStockDocOuts'}
|
||||
<th></th>
|
||||
{/if}
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
{elseif $viewSelected eq 'positions'}
|
||||
<table id="myTable" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Indeks</th>
|
||||
<th>Nazwa</th>
|
||||
<th>Jm</th>
|
||||
<th>Ilość</th>
|
||||
<th>Wartość</th>
|
||||
{if $documentSelected eq 'EcmStockDocInsideIns'}
|
||||
<th>Koszt robocizny </th>
|
||||
{/if}
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$DATA.prod key="key" item="item" name=loop}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="index.php?module=EcmProducts&action=DetailView&record={$item.id}">{$item.kod} </a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="index.php?module=EcmProducts&action=DetailView&record={$item.id}">{$item.nazwa} </a>
|
||||
</td>
|
||||
<td>
|
||||
{$item.jm}
|
||||
</td>
|
||||
<td style="text-align: right" data-value="{$item.ilosc}">
|
||||
{assign var=sumaIlosci value=$sumaIlosci+$item.ilosc}
|
||||
{$item.ilosc|number_format:2:",":"."}
|
||||
</td>
|
||||
<td style="text-align: right" data-value="{$item.wartosc}">
|
||||
{assign var=suma value=$suma+$item.wartosc}
|
||||
{$item.wartosc|number_format:2:",":"."}
|
||||
</td>
|
||||
{if $documentSelected eq 'EcmStockDocInsideIns'}
|
||||
<td style="text-align: right" data-value="{$item.wartosc}">
|
||||
{assign var=robocizna value=$robocizna+$item.work_price}
|
||||
{$item.work_price|number_format:2:",":"."}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th colspan='3' style="text-align:left;">Suma:</th>
|
||||
<th colspan='1' style="text-align:right;">{$sumaIlosci|number_format:2:",":"." }</th>
|
||||
<th colspan='1' style="text-align:right;">{$suma|number_format:2:",":"." }</th>
|
||||
{if $documentSelected eq 'EcmStockDocInsideIns'}
|
||||
<th colspan='1' style="text-align:right;">{$robocizna|number_format:2:",":"." }</th>
|
||||
{/if}
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
{/if}
|
||||
<span id="info">Strona w budowie :)</span>
|
||||
</div>
|
||||
133
modules/EcmReports/tpls/ReportStockDocMovesPDF.html
Normal file
133
modules/EcmReports/tpls/ReportStockDocMovesPDF.html
Normal file
@@ -0,0 +1,133 @@
|
||||
|
||||
{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>
|
||||
{if $documentSelected eq 'EcmStockDocOuts'}
|
||||
<th style="border: 1px solid black; font-weight: bold; font-size: 8pt;">Kategoria</th>
|
||||
{/if}
|
||||
</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.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>
|
||||
{if $item.typ=='KS'}
|
||||
{if $item.otyp==0}
|
||||
Przychód
|
||||
{/if}
|
||||
{if $item.otyp==1}
|
||||
Rozchód
|
||||
{/if}
|
||||
{else}
|
||||
{$item.nazwa}
|
||||
{/if}
|
||||
</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>
|
||||
{if $documentSelected eq 'EcmStockDocOuts'}
|
||||
<td style="text-align: left">
|
||||
{$item.doccategory}
|
||||
</td>
|
||||
{/if}
|
||||
</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>
|
||||
{if $documentSelected eq 'EcmStockDocOuts'}
|
||||
<th style="border-top: 1px solid black;"></th>
|
||||
{/if}
|
||||
</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}
|
||||
263
modules/EcmReports/tpls/ReportStockNewDoc.tpl
Normal file
263
modules/EcmReports/tpls/ReportStockNewDoc.tpl
Normal file
@@ -0,0 +1,263 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.staticrow.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportStocks.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
{literal}
|
||||
|
||||
function pdfExport() {
|
||||
var url = $(location).attr('href');
|
||||
url = url + "&toPDF=1&to_pdf=1";
|
||||
|
||||
window.open(url,'_blank');
|
||||
}
|
||||
{/literal}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
.line {
|
||||
border-top: 1px solid black !important;;
|
||||
}
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #B8E8E8;
|
||||
color: #343432;
|
||||
font-weight: bold;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #B8E8E8;
|
||||
color: #343432;
|
||||
font-weight: bold;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>Raport magazynowy - Stany magazynowe za okres</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportStocks">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportStockNew" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_STOCK}</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="stock" name="selectStock">
|
||||
<option value="" { if $selectStock==""} selected="true" {/if} >{$MOD.LBL_ALL_STOCKS}</option>
|
||||
{foreach from=$STOCKS item=STOCK key=count name=loop}
|
||||
<option value="{$STOCK.id}" { if $selectStock==$STOCK.id} selected="true" {/if} >{$STOCK.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap"></td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Ukryj stany zerowe</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="productActive" name="selectProductActive">
|
||||
<option value="" { if $selectProductActive==""} selected="true" {/if} ></option>
|
||||
<option value="1" { if $selectProductActive=="1"} selected="true" {/if} >{$MOD.LBL_YES}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap"></td>
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Data od</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" tabindex="" title="Data od" value="{$date_from}" autocomplete="off">
|
||||
<img id="date_from_trigger" border="0" align="absmiddle" alt="Enter Date" src="themes/default/images/jscalendar.gif">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
{* console.log('dupa');*}
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_from",
|
||||
daFormat: "%d.%m.%Y",
|
||||
button: "date_from_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">Data do</td>
|
||||
<td class="dataLabel" width="10%" nowrap="nowrap">
|
||||
<input autocomplete="off" name="date_to" id="date_to" value="{$date_to}" title="Data do" tabindex="" size="11" maxlength="10" type="text">
|
||||
<img src="themes/default/images/jscalendar.gif" alt="Enter Date" id="date_to_trigger" align="absmiddle" border="0">
|
||||
<script language="JavaScript" type="text/javascript">
|
||||
Calendar.setup({ldelim}
|
||||
inputField: "date_to",
|
||||
daFormat: "%d.%m.%Y",
|
||||
button: "date_to_trigger",
|
||||
singleClick: true,
|
||||
dateStr: "",
|
||||
step: 1
|
||||
{rdelim}
|
||||
);
|
||||
</script>
|
||||
</td>
|
||||
<td class="dataLabel" width="60%" nowrap="nowrap"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=ReportStockNew';">
|
||||
<input id="pdf" class="button" name="pdf" value="PDF" onClick="pdfExport();" type="button">
|
||||
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="1%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">L.p.</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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_INDEX}/{$MOD.LBL_NAME}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Stan {$date_from}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Przychód</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Rozchód</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Stan {$date_to}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{assign var="max_precision" value=0}
|
||||
{assign var="number" value=$number+1}
|
||||
{foreach from=$DATA key="key" item="item" name=loop}
|
||||
{if $max_precision < $item.unit_precision }
|
||||
{assign var="max_precision" value=$item.unit_precision}
|
||||
{/if}
|
||||
<tr>
|
||||
|
||||
|
||||
|
||||
<td class="oddListRowS1 alignLeft"><b>{$number}</b></td>
|
||||
<td class="oddListRowS1" style="text-align:left;" rowspan="{$currow}"><b>{$item.product_code}</b><br><b>{$item.product_name}</b></td>
|
||||
<td class="oddListRowS1 sumRow" >{$item.total_quantity_old|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_old|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" >{$item.przychod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.przychod_w|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" >{$item.rozchod_q|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.rozchod_w|number_format:2:",":"." }</td>
|
||||
<td class="oddListRowS1 sumRow" >{$item.total_quantity_now|number_format:$item.unit_precision:",":"."} {$item.unit_id}<br>{$item.total_price_now|number_format:2:",":"." }</td>
|
||||
{assign var="number" value=$number+1}
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class='line'></td>
|
||||
<td class='line'></td>
|
||||
<td class='line'></td>
|
||||
|
||||
<td class='line'></td>
|
||||
|
||||
<td class='line'></td>
|
||||
|
||||
<td class='line'></td>
|
||||
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tr><td></td><td style="text-align:right;"><b>Razem ilość:</b></td><td class="oddListRowS1 sumRow"><b>{$TOTAL_QUANTITY_OLD|number_format:2:",":"." }</b></td><td class="oddListRowS1 sumRow"><b>{$przychod_q|number_format:2:",":"." }</b>
|
||||
</td><td class="oddListRowS1 sumRow"><b>{$rozchod_q|number_format:2:",":"." }</b></td><td class="oddListRowS1 sumRow"><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"><b>{$TOTAL_VALUE_OLD|number_format:2:",":"." }</b></td><td class="oddListRowS1 sumRow"><b>{$przychod_w|number_format:2:",":"." }</b>
|
||||
</td><td class="oddListRowS1 sumRow"><b>{$rozchod_w|number_format:2:",":"." }</b></td><td class="oddListRowS1 sumRow"><b>{$TOTAL_VALUE_NOW|number_format:2:",":"." }</b></td></tr>
|
||||
</table>
|
||||
|
||||
<br/>
|
||||
262
modules/EcmReports/tpls/ReportStocks.tpl
Normal file
262
modules/EcmReports/tpls/ReportStocks.tpl
Normal file
@@ -0,0 +1,262 @@
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-table/jquery.appendGrid-1.3.1.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="include/jQuery/jquery-ui/themes/base/jquery-ui.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue.css"/>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/TableSorter/css/theme.blue2.css"/>
|
||||
<!-- Tablesorter -->
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.staticrow.min.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/TableSorter/js/jquery.tablesorter.widgets.js"></script>
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/jquery.blockUI.js"></script>
|
||||
|
||||
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/ReportStocks.js"></script>
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
{literal}
|
||||
|
||||
thead, tfoot {font-weight: bold;}
|
||||
|
||||
.additionalColumn {
|
||||
background-color: #87CCED;
|
||||
border-top: 1px solid black;
|
||||
}
|
||||
|
||||
.groupActive {
|
||||
border-top: 1px solid black;
|
||||
border-bottom: 1px solid black;
|
||||
border-left: 1px solid black;
|
||||
background-color: #87CCED;
|
||||
}
|
||||
|
||||
.sumRow {
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
.sumAll td{
|
||||
background-color: #BDC7B5;
|
||||
}
|
||||
|
||||
table.tablesorter tbody tr:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row td {
|
||||
background: #EFEFF1;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row td {
|
||||
background: #FFF;
|
||||
color: #343432;
|
||||
}
|
||||
|
||||
/* Extra selectors needed to override the default styling */
|
||||
table.tablesorter tbody tr.normal-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.alt-row:hover td {
|
||||
background: #E8E8E8;
|
||||
color: #343432;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll td {
|
||||
background: #EBEBED;
|
||||
color: black;
|
||||
}
|
||||
table.tablesorter tbody tr.sumAll:hover td {
|
||||
background: #E0E0E2;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
table.tablesorter .sumRow, .oddListRowS1 {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
table.tablesorter .alignLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
table.tablesorter .subcategory .alignLeft {
|
||||
padding-left: 20px;
|
||||
}
|
||||
|
||||
table.tablesorter .contractor .alignLeft {
|
||||
padding-left: 40px;
|
||||
}
|
||||
|
||||
.plusStyle {
|
||||
color: #abc3d7;
|
||||
text-decoration: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
{/literal}
|
||||
</style>
|
||||
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" alt="EcmProducts" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2>{$MOD.LBL_REPORT_STOCKS} </h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<ul class="tablist" style="width:100%;">
|
||||
<li>
|
||||
<a class="current" href="#">Podstawowe wyszukiwanie</a>
|
||||
</li>
|
||||
</ul>
|
||||
<form action="index.php" method="get" name="searchReportStocks">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="ReportStocks" />
|
||||
<table style="border-top: 0px none; margin-bottom: 4px;width:100%" class="tabForm" border="0" cellpadding="0" cellspacing="0">
|
||||
|
||||
<tr>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_STOCK}</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="stock" name="selectStock">
|
||||
<option value="" { if $selectStock==""} selected="true" {/if} >{$MOD.LBL_ALL_STOCKS}</option>
|
||||
{foreach from=$STOCKS item=STOCK key=count name=loop}
|
||||
<option value="{$STOCK.id}" { if $selectStock==$STOCK.id} selected="true" {/if} >{$STOCK.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">{$MOD.LBL_PRODUCT_ACTIVE}</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="productActive" name="selectProductActive">
|
||||
<option value="" { if $selectProductActive==""} selected="true" {/if} >{$MOD.LBL_YES}/{$MOD.LBL_NO}</option>
|
||||
<option value="1" { if $selectProductActive=="1"} selected="true" {/if} >{$MOD.LBL_YES}</option>
|
||||
<option value="0" { if $selectProductActive=="0"} selected="true" {/if} >{$MOD.LBL_NO}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">End of line</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="productEol" name="selectProductEol">
|
||||
<option value="" { if $selectProductEol==""} selected="true" {/if} >{$MOD.LBL_YES}/{$MOD.LBL_NO}</option>
|
||||
<option value="1" { if $selectProductEol=="1"} selected="true" {/if} >{$MOD.LBL_YES}</option>
|
||||
<option value="0" { if $selectProductEol=="0"} selected="true" {/if} >{$MOD.LBL_NO}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap">Grupa księgowa</td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
<select id="productKS" name="productKS">
|
||||
<option value="" { if $selectKS==""} selected="true" {/if} >Wszystkie</option>
|
||||
{foreach from=$KSGROUPS item=GROUP key=count name=loop}
|
||||
<option value="{$GROUP.id}" { if $selectKS==$GROUP.id} selected="true" {/if} >{$GROUP.name}</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"></td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
<td class="dataLabel" width="5%" nowrap="nowrap"></td>
|
||||
<td class="dataField" width="10%" nowrap="nowrap">
|
||||
|
||||
</td>
|
||||
<td class="dataLabel" width="25%" nowrap="nowrap"></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=ReportSales';">
|
||||
<input id="excelEksport" class="button" name="importToExcel" value="{$MOD.BTN_EXCEL_EXPORT}" type="button">
|
||||
|
||||
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<table id="myTable" class="tablesorter tablesorter-blue" role="grid">
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
|
||||
<th width="30%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_PRODUCTS}</th>
|
||||
<th width="10%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_INDEX}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_QUANTITY}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">{$MOD.LBL_VALUE}</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Średnia Cena</th>
|
||||
</tr>
|
||||
</thead>
|
||||
{foreach from=$DATA item=CAT key=CATNAME name=loop}
|
||||
{* Table headers *}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly">
|
||||
<tr class="static category">
|
||||
{if $CATNAME != ""}
|
||||
<td class="oddListRowS1 alignLeft"><a class="plusStyle showTables">[+]</a><b> {$CATNAME}</b></td>
|
||||
{/if}
|
||||
<td class="oddListRowS1" ></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.QuantitySum|number_format:4:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.PriceSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$DATA.$CATNAME.PriceSum/$DATA.$CATNAME.QuantitySum|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{foreach from=$CAT item=CAT2 key=CAT2NAME name=loop}
|
||||
{if $CAT2NAME!="QuantitySum" && $CAT2NAME!="PriceSum"}
|
||||
<tbody id="functions-core" class="tablesorter-infoOnly tablesShowHide">
|
||||
<tr class="subcategory">
|
||||
<td class="oddListRowS1 alignLeft"><a class="showRows" style="color: cadetblue; text-decoration: none; cursor: pointer;">[+]</a><b> {$CAT2NAME}</b></td>
|
||||
<td class="oddListRowS1" ></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.QuantitySum2|number_format:4:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.PriceSum2|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$CAT.$CAT2NAME.PriceSum2/$CAT.$CAT2NAME.QuantitySum2|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
|
||||
<tbody aria-live="polite" aria-relevant="all" class="rowShowHide">
|
||||
{foreach from=$CAT2 item=ROW name=loop}
|
||||
{if $CAT2NAME!="AvgPriceSum" && $CAT2NAME!="QuantitySum" && $ROW.name!=""}
|
||||
{if $smarty.foreach.loop.index % 2 == 1}
|
||||
<tr role="row" class="contractor">
|
||||
{else}
|
||||
<tr class="contractor" role="row">
|
||||
{/if}
|
||||
|
||||
<td class="oddListRowS1 alignLeft" style="text-align:left;">
|
||||
<a target="new" href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">
|
||||
{$ROW.name}
|
||||
</a>
|
||||
</td>
|
||||
<td class="oddListRowS1 alignLeft" >{$ROW.code}</td>
|
||||
<td class="oddListRowS1" >{$ROW.quantity|number_format:4:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.price|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" >{$ROW.price/$ROW.quantity|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="static category sumAll">
|
||||
<td class="oddListRowS1 alignLeft"><b>{$MOD.LBL_SUM}:</b></td>
|
||||
<td class="oddListRowS1" ></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.QuantitySumSum|number_format:4:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.PriceSumSum|number_format:2:",":"." }</b></td>
|
||||
<td class="oddListRowS1 sumRow" ><b>{$SUM.PriceSumSum/$SUM.QuantitySumSum|number_format:2:",":"." }</b></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<br/>
|
||||
30
modules/EcmReports/tpls/detailContractors.tpl
Normal file
30
modules/EcmReports/tpls/detailContractors.tpl
Normal file
@@ -0,0 +1,30 @@
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/detailProducts.js"></script>
|
||||
<table class="productsTable" class="tablesorter tablesorter-blue2" role="grid" >
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="30%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Kontrahent</th>
|
||||
<th width="9%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Sprzedana ilość</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Wartość sprzedaży</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Średnia cena</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Koszt</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Marża</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$data item=ROW name=loop}
|
||||
<tr style="background-color: #e6e6e6;" role="row">
|
||||
<td class="oddListRowS1" style="text-align:left;">
|
||||
<a target="new" href="index.php?module=Accounts&return_module=Accounts&action=DetailView&record={$ROW.id}">
|
||||
{$ROW.name}
|
||||
</a>
|
||||
</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
32
modules/EcmReports/tpls/detailProducts.tpl
Normal file
32
modules/EcmReports/tpls/detailProducts.tpl
Normal file
@@ -0,0 +1,32 @@
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/detailProducts.js"></script>
|
||||
<table class="productsTable" class="tablesorter tablesorter-blue2" role="grid" >
|
||||
<thead>
|
||||
<tr class="tablesorter-headerRow" role="row">
|
||||
<th width="30%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Produkty</th>
|
||||
<th width="8%" 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;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Indeks</th>
|
||||
<th width="9%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Sprzedana ilość</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Wartość sprzedaży</th>
|
||||
<th width="10%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="4" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Średnia cena</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="5" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Koszt</th>
|
||||
<th width="8%" class="sorter-saas tablesorter-header tablesorter-headerUnSorted" data-column="6" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" style="-moz-user-select: none;" aria-sort="none" aria-label="Name: No sort applied, activate to apply an ascending sort">Marża</th>
|
||||
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody aria-live="polite" aria-relevant="all">
|
||||
{foreach from=$data item=ROW name=loop}
|
||||
<tr style="background-color: #e6e6e6;" role="row">
|
||||
<td class="oddListRowS1" style="text-align:left;">
|
||||
<a target="new" href="index.php?module=EcmProducts&action=index&return_module=EcmProducts&action=DetailView&record={$ROW.id}">
|
||||
{$ROW.name}
|
||||
</a>
|
||||
</td>
|
||||
<td class="oddListRowS1" >{$ROW.code}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.ilosc|number_format:0:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.netto|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.srednia|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.koszt|number_format:2:",":"."}</td>
|
||||
<td class="oddListRowS1" style="text-align:right;">{$ROW.marza|number_format:2:",":"."}%</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
220
modules/EcmReports/tpls/mzVatPurchaesPDF.tpl
Normal file
220
modules/EcmReports/tpls/mzVatPurchaesPDF.tpl
Normal file
@@ -0,0 +1,220 @@
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
{literal}
|
||||
.edit tr td{
|
||||
vertical-align : middle;
|
||||
}
|
||||
|
||||
.money ,.quantity{
|
||||
text-align : right;
|
||||
}
|
||||
table.tablesorter {
|
||||
font-family:arial;
|
||||
background-color: #CDCDCD;
|
||||
margin:10px 0pt 15px;
|
||||
font-size: 8pt;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
table.tablesorter thead tr th, table.tablesorter tfoot tr th {
|
||||
background-color: #e6EEEE;
|
||||
border: 1px solid #FFF;
|
||||
font-size: 8pt;
|
||||
padding: 4px;
|
||||
}
|
||||
table.tablesorter thead tr .header {
|
||||
background-image: url(bg.gif);
|
||||
background-repeat: no-repeat;
|
||||
background-position: center right;
|
||||
cursor: pointer;
|
||||
}
|
||||
table.tablesorter tbody td {
|
||||
color: #3D3D3D;
|
||||
padding: 4px;
|
||||
background-color: #FFF;
|
||||
vertical-align: top;
|
||||
}
|
||||
table.tablesorter tbody tr.odd td {
|
||||
background-color:#F0F0F6;
|
||||
}
|
||||
table.tablesorter thead tr .headerSortUp {
|
||||
background-image: url(asc.gif);
|
||||
}
|
||||
table.tablesorter thead tr .headerSortDown {
|
||||
background-image: url(desc.gif);
|
||||
}
|
||||
table.tablesorter thead tr .headerSortDown, table.tablesorter thead tr .headerSortUp {
|
||||
background-color: #8dbdd8;
|
||||
}
|
||||
{/literal}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<table style="width:100%;font-size:10px">
|
||||
<thead>
|
||||
<tr>
|
||||
<td colspan='4'>
|
||||
<p style="font-size:15px"><b>Raport ilościowy zakupu</b></p>
|
||||
e5 Polska Sp. z o.o.
|
||||
</td>
|
||||
<td style="text-align:right">
|
||||
Data wygenerowania raportu:<br>
|
||||
{$smarty.now|date_format:"%d.%m.%Y %H:%M:%S"}
|
||||
</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td >
|
||||
{$MOD.LBL_DATE_FROM} {$date_from_value}<br>
|
||||
{$MOD.LBL_DATE_TO} {$date_to_value}
|
||||
</td>
|
||||
<td >
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Grupa:
|
||||
</td>
|
||||
<td>
|
||||
{if @count($PRODUCT_GROUP_SELECTED) == 0}
|
||||
{foreach from=$APP_LIST_STRINGS.ecmproducts_group_ks_dom key="key" item="item"}
|
||||
{$item}<br>
|
||||
{/foreach}
|
||||
{else}
|
||||
{foreach from=$APP_LIST_STRINGS.ecmproducts_group_ks_dom key="key" item="item"}
|
||||
{if @in_array($key, $PRODUCT_GROUP_SELECTED) } {$item}<br>{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td >
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{$MOD.LBL_STOCK}:
|
||||
</td>
|
||||
<td>
|
||||
{if @count($STOCK_SELECTED) == 0}
|
||||
{foreach from=$STOCK_LIST key="key" item="item"}
|
||||
{$item}<br>
|
||||
{/foreach}
|
||||
{else}
|
||||
{foreach from=$STOCK_LIST key="key" item="item"}
|
||||
{if @in_array($key, $STOCK_SELECTED) } {$item}<br>{/if}
|
||||
{/foreach}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td >
|
||||
Handlowiec:
|
||||
{if $TRADER_SELECTED ==''}
|
||||
Wszyscy
|
||||
{else}
|
||||
{foreach from=$TRADERS_LIST key="key" item="item"}
|
||||
{if @in_array($key, $TRADER_SELECTED) } {$item}<br>{/if}
|
||||
|
||||
{/foreach}
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
{if $PRODUCT_CATEGORY_ID!=""}
|
||||
<td >
|
||||
Kategoria:
|
||||
</td>
|
||||
<td>
|
||||
{$PRODUCT_CATEGORY_NAME}
|
||||
</td>
|
||||
{/if}
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<table id="myTable" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>
|
||||
Indeks
|
||||
</th>
|
||||
<th>
|
||||
{$MOD.LBL_NAME}
|
||||
</th>
|
||||
<th width="10%">
|
||||
{$MOD.LBL_QUANTITY}
|
||||
</th>
|
||||
<th width="5%">
|
||||
{$MOD.LBL_JM}
|
||||
</th>
|
||||
<th width="10%">
|
||||
Zakup Netto
|
||||
</th>
|
||||
<th width="10%">
|
||||
Waga jedn. netto
|
||||
</th>
|
||||
<th width="10%">
|
||||
Waga ogółem netto
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$DATA item=item key=item_name}
|
||||
{if $item.quantity eq 0}
|
||||
{else}
|
||||
<tr>
|
||||
<td >
|
||||
{$item.code}
|
||||
</td>
|
||||
<td>
|
||||
{$item.name}
|
||||
</td>
|
||||
<td class="quantity" style="text-align:right;">
|
||||
{$item.quantity|number_format:2:",":""}
|
||||
</td>
|
||||
<td>
|
||||
{$item.jm_name}
|
||||
</td>
|
||||
<td class="money" style="text-align:right;">
|
||||
{$item.total_netto|number_format:2:",":"."}
|
||||
{assign var=summary_netto value=$summary_netto+$item.total_netto}
|
||||
</td>
|
||||
<td class="quantity" style="text-align:right;">
|
||||
{$item.position_weight|number_format:6:",":""}
|
||||
</td>
|
||||
<td class="quantity" style="text-align:right;">
|
||||
{$item.position_total_weight|number_format:6:",":""}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{$MOD.LBL_SUMMARY}
|
||||
</td>
|
||||
<td class="money">
|
||||
{$TOTAL3|number_format:2:",":""}
|
||||
</td>
|
||||
<td class="money">
|
||||
|
||||
</td>
|
||||
<td class="money">
|
||||
{$summary_netto|number_format:2:",":"."}
|
||||
</td>
|
||||
<td class="money">
|
||||
|
||||
</td>
|
||||
<td class="money">
|
||||
{$TOTAL4|number_format:6:",":""}
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
252
modules/EcmReports/tpls/mzVatPurchases.tpl
Normal file
252
modules/EcmReports/tpls/mzVatPurchases.tpl
Normal file
@@ -0,0 +1,252 @@
|
||||
<script type="text/javascript" src="modules/EcmReports/javascript/mzVatPurchases.js"></script>
|
||||
<link rel="stylesheet" type="text/css" href="modules/EcmReports/css/SearchTable.css"/>
|
||||
<script src="include/jQuery/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<link class="theme" rel="stylesheet" href="include/jQuery/tablesorter/themes/blue/style.css">
|
||||
|
||||
<table id="tableMenu" cellspacing="0" cellpadding="0" border="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="themes/Sugar/images/EcmProducts.gif" style="margin-top: 3px; margin-right: 3px;" width="16" border="0" height="16">
|
||||
</td>
|
||||
<td>
|
||||
<h2 id="raport_name">Raport ilościowy zakupu</h2>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<form action="index.php" method="get" name="ReportSalesByProduct">
|
||||
<input type="hidden" name="module" value="EcmReports" />
|
||||
<input type="hidden" name="action" value="mzVatPurchases"/>
|
||||
<input type="hidden" name="parentTab" value="Raporty" />
|
||||
<table style="width:100%" class="edit view" id="SearchTable">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
{$MOD.LBL_DATE_FROM}:
|
||||
<input id="date_from" name="date_from" type="text" maxlength="10" size="11" title="{$MOD.LBL_DATE_FROM}" value="{$date_from_value}">
|
||||
<img id="date_from_trigger" src="themes/default/images/jscalendar.gif">
|
||||
</td>
|
||||
<td rowspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Grupa:
|
||||
</td>
|
||||
<td>
|
||||
<select multiple name="product_group[]" title="{$MOD.TIP_MULTIPLE}" size="6">
|
||||
|
||||
{foreach from=$APP_LIST_STRINGS.ecmproducts_group_ks_dom key="key" item="item"}
|
||||
<option
|
||||
value="{$key}"
|
||||
{if @in_array($key, $PRODUCT_GROUP_SELECTED) } selected="true" {/if}>
|
||||
{$item}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Grupa 2:
|
||||
</td>
|
||||
<td>
|
||||
<select multiple name="product_group_2[]" title="{$MOD.TIP_MULTIPLE}" size="6">
|
||||
|
||||
{foreach from=$APP_LIST_STRINGS.ecmproducts_group2_ks_dom key="key" item="item"}
|
||||
<option
|
||||
value="{$key}"
|
||||
{if @in_array($key, $PRODUCT_GROUP_SELECTED_2) } selected="true" {/if}>
|
||||
{$item}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
{$MOD.LBL_STOCK}:
|
||||
</td>
|
||||
<td>
|
||||
<select multiple name="stocks[]" title="{$MOD.TIP_MULTIPLE}" size="6">
|
||||
{foreach from=$STOCK_LIST key="key" item="item"}
|
||||
<option
|
||||
value="{$key}"
|
||||
{if @in_array($key, $STOCK_SELECTED) } selected="true" {/if}>
|
||||
{$item}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br>
|
||||
<p>
|
||||
Kategoria produktu:
|
||||
<input type="hidden" id="product_category_id" name="product_category_id" value="{$PRODUCT_CATEGORY_ID}">
|
||||
<input type="text" id="product_category_name" name="product_category_name" value="{$PRODUCT_CATEGORY_NAME}">
|
||||
<button
|
||||
type="button"
|
||||
id="selectProduct"
|
||||
value="{$APP.LBL_ADD_BUTTON}"
|
||||
title="{$MOD.TIP_CHOOSE_ACCOUNT}">
|
||||
<img src="{sugar_getimagepath file="id-ff-select.png"}">
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="clearProduct"
|
||||
value="{$MOD.LBL_CLEAR}"
|
||||
title="{$MOD.LBL_CLEAR}">
|
||||
<img src="{sugar_getimagepath file='id-ff-clear.png'}">
|
||||
</button>
|
||||
</p>
|
||||
</td>
|
||||
<td rowspan='2'>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
Typ:
|
||||
</td>
|
||||
<td>
|
||||
<select multiple name="account_type[]" title="{$MOD.TIP_MULTIPLE}" size="6">
|
||||
{foreach from=$ACCOUNT_LIST key="key" item="item"}
|
||||
<option
|
||||
value="{$key}"
|
||||
{if @in_array($key, $ACCOUNT_SELECTED) } selected="true" {/if}>
|
||||
{$item}
|
||||
</option>
|
||||
{/foreach}
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td rowspan='2'>
|
||||
<p>
|
||||
Handlowiec:
|
||||
{html_options id=trader name=trader[] multiple=true options=$TRADERS_LIST selected=$TRADER_SELECTED}
|
||||
|
||||
</p><br>
|
||||
<p>
|
||||
{$MOD.LBL_CONTRACTOR}:
|
||||
<input type="hidden" id="account_id" name="account_id" value="{$ACCOUNT_ID}">
|
||||
<input type="text" id="account_name" name="account_name" value="{$ACCOUNT_NAME}">
|
||||
<button
|
||||
type="button"
|
||||
id="selectAccount"
|
||||
value="{$APP.LBL_ADD_BUTTON}"
|
||||
title="{$MOD.TIP_CHOOSE_ACCOUNT}">
|
||||
<img src="{sugar_getimagepath file="id-ff-select.png"}">
|
||||
</button>
|
||||
<button
|
||||
type="button"
|
||||
id="clearAccount"
|
||||
value="{$MOD.LBL_CLEAR}"
|
||||
title="{$MOD.LBL_CLEAR}">
|
||||
<img src="{sugar_getimagepath file='id-ff-clear.png'}">
|
||||
</button>
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td> {$MOD.LBL_DATE_TO}:
|
||||
<input id="date_to" name="date_to" type="text" maxlength="10" size="11" title="{$MOD.LBL_DATE_TO}" value="{$date_to_value}">
|
||||
<img id="date_to_trigger" src="themes/default/images/jscalendar.gif">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<input class="button" name="submit" value="{$MOD.LBL_EXECUTE}" type="submit">
|
||||
<input class="button" name="clear" value="{$MOD.LBL_CLEAR}" type="button" onclick="location.href='index.php?module=EcmReports&action=mzVatPurchases';">
|
||||
<input id="pdf" class="button" name="pdf" value="PDF" type="button" onclick="generatePDF()">
|
||||
<!-- <input id="pdf" class="button" name="pdf" value="XLS" type="button" onclick="generateXLS()"> -->
|
||||
</form>
|
||||
|
||||
<table id="myTable" class="tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='sortby'>
|
||||
Indeks
|
||||
</th>
|
||||
<th class='sortby'>
|
||||
{$MOD.LBL_NAME}
|
||||
</th>
|
||||
<th width="10%" class='sortby'>
|
||||
{$MOD.LBL_QUANTITY}
|
||||
</th>
|
||||
<th width="5%" class='sortby'>
|
||||
{$MOD.LBL_JM}
|
||||
</th>
|
||||
<th width="10%" class='sortby'>
|
||||
Zakup Netto
|
||||
</th>
|
||||
<th width="10%" class='sortby'>
|
||||
Waga jedn. netto
|
||||
</th>
|
||||
<th width="10%" class='sortby'>
|
||||
Waga ogółem netto
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$DATA item=item key=item_name}
|
||||
{if $item.quantity eq 0}
|
||||
{else}
|
||||
|
||||
<tr>
|
||||
<td >
|
||||
{$item.code}
|
||||
</td>
|
||||
<td >
|
||||
{$item.name}
|
||||
</td>
|
||||
<td class="quantity" style="text-align:right;">
|
||||
{$item.quantity|number_format:2:",":""}
|
||||
</td>
|
||||
<td>
|
||||
{$item.jm_name}
|
||||
</td>
|
||||
<td class="money" style="text-align:right;">
|
||||
{$item.total_netto|number_format:2:",":"."}
|
||||
|
||||
</td>
|
||||
<td class="" style="text-align:right;">
|
||||
{$item.position_weight|number_format:6:",":""}
|
||||
</td>
|
||||
<td class="" style="text-align:right;">
|
||||
{$item.position_total_weight|number_format:6:",":""}
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
{$MOD.LBL_SUMMARY}
|
||||
</td>
|
||||
<td colspan="1" class="money" style="text-align:right;">
|
||||
{$TOTAL3|number_format:2:",":""}
|
||||
</td>
|
||||
<td colspan="1">
|
||||
|
||||
</td>
|
||||
<td class="money" style="text-align:right;">
|
||||
{$TOTAL|number_format:6:",":"."}
|
||||
</td>
|
||||
<td class="money">
|
||||
|
||||
</td>
|
||||
<td class="money" style="text-align:right;">
|
||||
{$TOTAL4|number_format:6:",":""}
|
||||
</td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
1310
modules/EcmReports/tpls/test_2.xml.html
Executable file
1310
modules/EcmReports/tpls/test_2.xml.html
Executable file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user