367 lines
21 KiB
Smarty
367 lines
21 KiB
Smarty
<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>
|
|
{if $reportSales ==1}
|
|
Raport sprzedaży - cena produkcyjna
|
|
{else}
|
|
{$MOD.LBL_RAPORT_SALES}
|
|
{/if}
|
|
</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="{if $reportSales ==1}ReportSales2{else}ReportSales{/if}" />
|
|
<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">
|
|
{foreach from=$all_groups_ks item=GROUP key=COUNT name=loop}
|
|
{if $COUNT eq 0}
|
|
<option value="%" { if $group_ks=="%"} selected="true" {/if} >wszystkie</option>
|
|
{else}
|
|
<option value="{$COUNT}" { if $group_ks==$COUNT} selected="true" {/if} >{$GROUP}</option>
|
|
{/if}
|
|
{/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>
|
|
</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={if $reportSales ==1}ReportSales2{else}ReportSales{/if}';">
|
|
<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/> |