Files
crm.twinpol.com/modules/EcmReports/ReportStockDocMoves.php
2025-05-12 15:44:39 +00:00

533 lines
23 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '-1');
if (!defined('sugarEntry') || !sugarEntry)
die('Not A Valid Entry Point');
function getStocksList() {
$db = $GLOBALS['db'];
$queryStocks = "SELECT id, name FROM ecmstocks WHERE deleted= 0";
$rowsStocks = $db->query($queryStocks);
$stocks = array();
while ($rowStocks = $db->fetchByAssoc($rowsStocks)) {
$stocks [$rowStocks ["id"]] = $rowStocks ["name"];
}
return $stocks;
}
function getStockIndexList() {
$db = $GLOBALS['db'];
$queryStockIndex = "SELECT id, name FROM ecmproductstockindexs;";
$rowsStockIndex = $db->query($queryStockIndex);
$StockIndexList = array();
while ($rowStocksIndex = $db->fetchByAssoc($rowsStockIndex)) {
$StockIndexList [$rowStocksIndex ["id"]] = $rowStocksIndex ["name"];
}
return $StockIndexList;
}
function getKartotekaMaterialowaQuery($unknow) {
if (!isset($unknow) || count($unknow) == 0 || (in_array('', $unknow))) {
} else {
if (in_array('NULL', $unknow) && count($unknow) == 1) {
$query .= " AND doc.ecmproductstockindex_id IS NULL ";
} else if (in_array('NULL', $unknow) && count($unknow) > 1) {
$queryUnknow = " (";
foreach ($unknow as $key => $value) {
if ($value != 'NULL') {
$queryUnknow .= "'" . $value . "',";
}
}
$queryUnknow = rtrim($queryUnknow, ",");
$queryUnknow .= ") ";
$query .= " AND (doc.ecmproductstockindex_id IS NULL OR doc.ecmproductstockindex_id IN " . $queryUnknow . ") ";
} else {
$queryUnknow = " (";
foreach ($unknow as $key => $value) {
$queryUnknow .= "'" . $value . "',";
}
$queryUnknow = rtrim($queryUnknow, ",");
$queryUnknow .= ") ";
$query .= " AND doc.ecmproductstockindex_id IN " . $queryUnknow . " ";
}
}
return $query;
}
// Tworzy kawałek zapytania dla magazynów
// np: ('magazyn1','magazyn2',...)
function getStockQuery($stockSelected) {
if (isset($stockSelected) && count($stockSelected) > 0) {
$queryStockSelected = " (";
foreach ($stockSelected as $key => $value) {
$queryStockSelected .= "'" . $value . "',";
}
$queryStockSelected = rtrim($queryStockSelected, ",");
$queryStockSelected .= ") ";
} else {
$stockList = getStocksList();
$queryStockSelected = " (";
foreach ($stockList as $key => $value) {
$queryStockSelected .= "'" . $key . "',";
}
$queryStockSelected = rtrim($queryStockSelected, ",");
$queryStockSelected .= ") ";
}
return $queryStockSelected;
}
function getDataRwPwKs($documentsSelected, $stockSelected, $date_from, $date_to, $stockIndexSelected) {
if (!isset($documentsSelected) && isset($stockSelected) && isset($date_from) && isset($date_to)) {
return null;
}
$db = $GLOBALS['db'];
global $app_list_strings;
$documentsList = array(// dokumenty
'EcmStockDocInsideOuts' => 'RW',
'EcmStockDocInsideIns' => 'PW',
'EcmStockDocMoves' => 'MM',
'EcmStockDocCorrects' => 'KS',
'EcmStockDocIns' => 'PZ',
'EcmStockDocOuts' => 'WZ',
'EcmInvoiceOuts' => "FK",
'EcmReceipts' => 'Paragon'
);
$query = "SELECT "
. "doc.id AS docid, "
. "doc.ecmproductstockindex_name AS docstockindex, "
. "doc.name AS docname, "
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
. "doc.document_no AS docdocument_no, "
. "doc.stock_id AS docstock_id, "
. "o.type AS otype, "
. "o.quantity AS oquantity, "
. "o.price AS oprice, "
. "o.product_id AS oproduct_id, "
. "o.product_name AS oproduct_name, "
. "o.product_code as oproduct_code, "
. "p.unit_id as punit_id "
. "FROM "
. "ecmstockoperations o, "
. "ecmproducts p, "
. "" . strtolower($documentsSelected) . " doc "
. "WHERE o.parent_id = doc.id "
. "AND p.id = o.product_id "
. "AND doc.deleted=0 "
. "AND o.deleted=0 "
. "AND doc.stock_id IN " . getStockQuery($stockSelected) . " "
. "AND doc.register_date >='" . $date_from . "' "
. "AND doc.register_date <= '" . $date_to . "'";
$query .= getKartotekaMaterialowaQuery($stockIndexSelected);
$query .= " ORDER BY doc.register_date, o.counter, o.product_code, o.product_name, doc.name";
$resultRows = $db->query($query);
$stockList = getStocksList();
while ($row = $db->fetchByAssoc($resultRows)) {
if($documentsSelected=='EcmStockDocCorrects'){
$c = new EcmStockDocCorrect();
$c->retrieve($row['docid']);
if($c->type=='6ed5b076-ddd1-9809-b236-54e5b2bcbd97'){
if($row['otype']==0){
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
} else {
$data['doc'][$row['docid']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
}
} else {
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
}
unset($c);
} else {
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
}
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
$data['prod'][$row['oproduct_id']]['kartoteka'] = $row['docstockindex'];
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
$data['doc'][$row['docid']]['otyp'] = $row['otype'];
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
$data['doc'][$row['docid']]['id'] = $row['docid'];
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
$data['doc'][$row['docid']]['kartoteka'] = $row['docstockindex'];
}
return $data;
}
function getDataMm($documentsSelected, $stockSelected, $date_from, $date_to, $mmSelected) {
if (!isset($documentsSelected) && isset($stockSelected) && isset($date_from) && isset($date_to)) {
return null;
}
$db = $GLOBALS['db'];
global $app_list_strings;
$documentsList = array(// dokumenty
'EcmStockDocInsideOuts' => 'RW',
'EcmStockDocInsideIns' => 'PW',
'EcmStockDocMoves' => 'MM',
'EcmStockDocCorrects' => 'KS',
'EcmStockDocIns' => 'PZ',
'EcmStockDocOuts' => 'WZ',
'EcmInvoiceOuts' => "FK",
'EcmReceipts' => 'Paragon'
);
$query = "SELECT "
. "doc.id AS docid, "
. "doc.ecmproductstockindex_name AS docstockindex, "
. "doc.name AS docname, "
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
. "doc.document_no AS docdocument_no, "
. "doc.stock_in_id AS docstock_in_id,"
. "doc.stock_out_id AS docstock_id,"
. "o.type AS otype, "
. "o.quantity AS oquantity, "
. "o.price AS oprice, "
. "o.product_id AS oproduct_id, "
. "o.product_name AS oproduct_name, "
. "o.product_code as oproduct_code, "
. "p.unit_id as punit_id "
. "FROM "
. "ecmstockoperations o, "
. "ecmproducts p, "
. "" . strtolower($documentsSelected) . " doc "
. "WHERE o.parent_id = doc.id "
. "AND p.id = o.product_id "
. "AND doc.deleted=0 "
. "AND o.deleted=0 "
. "AND doc.stock_out_id IN " . getStockQuery($stockSelected) . " "
. "AND doc.stock_in_id IN " . getStockQuery($mmSelected) . " "
. "AND doc.register_date >='" . $date_from . "' "
. "AND doc.register_date <= '" . $date_to . "'"
. "AND o.type=0 "
. "ORDER BY doc.register_date, o.counter, o.product_code, o.product_name, doc.name ";
$resultRows = $db->query($query);
$stockList = getStocksList();
while ($row = $db->fetchByAssoc($resultRows)) {
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
$data['prod'][$row['oproduct_id']]['kartoteka'] = $row['docstockindex'];
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
$data['doc'][$row['docid']]['magazynIn'] = $stockList[$row['docstock_in_id']];
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
$data['doc'][$row['docid']]['id'] = $row['docid'];
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
$data['doc'][$row['docid']]['kartoteka'] = $row['docstockindex'];
}
return $data;
}
function getDataPzWzFk($documentsSelected, $stockSelected, $date_from, $date_to, $accountId, $accountName) {
//var_dump(!isset($documentsSelected) && !isset($stockSelected) && !isset($date_from) && !isset($date_to));
if (!isset($documentsSelected) && !isset($stockSelected) && !isset($date_from) && !isset($date_to)) {
return null;
}
$db = $GLOBALS['db'];
global $app_list_strings;
$documentsList = array(// dokumenty
'EcmStockDocInsideOuts' => 'RW',
'EcmStockDocInsideIns' => 'PW',
'EcmStockDocMoves' => 'MM',
'EcmStockDocCorrects' => 'KS',
'EcmStockDocIns' => 'PZ',
'EcmStockDocOuts' => 'WZ',
'EcmInvoiceOuts' => "FK",
'EcmReceipts' => 'Paragon'
);
$query = "SELECT "
. "doc.id AS docid, "
. "doc.name AS docname, "
. "DATE_FORMAT(doc.register_date,'%d.%m.%Y') AS docregister_date, "
. "doc.document_no AS docdocument_no, "
. "doc.stock_id AS docstock_id, "
. "o.type AS otype, "
. "o.quantity AS oquantity, "
. "o.price AS oprice, "
. "o.product_id AS oproduct_id, "
. "o.product_name AS oproduct_name, "
. "o.product_code as oproduct_code, "
. "doc.parent_id as docparent_id, "
. "doc.parent_name as docparent_name, ";
if($documentsSelected == 'EcmStockDocOuts'){
$query .= "doc.category as doccategory, ";
}
$query .= "p.unit_id as punit_id "
. "FROM "
. "ecmstockoperations o, "
. "ecmproducts p, "
. "" . strtolower($documentsSelected) . " doc "
. "WHERE o.parent_id = doc.id "
. "AND p.id = o.product_id "
. "AND doc.deleted=0 "
. "AND o.deleted=0 ";
if($documentsSelected=='EcmInvoiceOuts'){
$query .= " AND doc.canceled=0 ";
}
if (isset($accountId) && strlen($accountId) > 0) {
$query .= "AND doc.parent_id='" . $accountId . "' ";
}
$query.= "AND doc.stock_id IN " . getStockQuery($stockSelected) . " "
. "AND doc.register_date >='" . $date_from . "' "
. "AND doc.register_date <= '" . $date_to . "'";
if($documentsSelected == 'EcmStockDocOuts' && $_REQUEST['wz_category'] != ""){
$query.= " AND doc.category = '" . $_REQUEST['wz_category'] . "' ";
}
$query .= " ORDER BY doc.register_date, o.counter, o.product_code, o.product_name, doc.name";
$resultRows = $db->query($query);
$stockList = getStocksList();
while ($row = $db->fetchByAssoc($resultRows)) {
$data['prod'][$row['oproduct_id']]['kod'] = $row['oproduct_code'];
$data['prod'][$row['oproduct_id']]['nazwa'] = $row['oproduct_name'];
$data['prod'][$row['oproduct_id']]['id'] = $row['oproduct_id'];
$data['prod'][$row['oproduct_id']]['data'] = $row['docregister_date'];
$data['prod'][$row['oproduct_id']]['otype'] = $row['otype'];
$data['prod'][$row['oproduct_id']]['numer'] = $row['docdocument_no'];
$data['prod'][$row['oproduct_id']]['jm'] = $app_list_strings['ecmproducts_unit_dom'][$row['punit_id']];
$data['doc'][$row['docid']]['magazyn'] = $stockList[$row['docstock_id']];
$data['doc'][$row['docid']]['accountId'] = $row['docparent_id'];
$data['doc'][$row['docid']]['accountNazwa'] = $row['docparent_name'];
$data['doc'][$row['docid']]['nazwa'] = $row['docname'];
$data['doc'][$row['docid']]['typ'] = $documentsList[$documentsSelected];
$data['doc'][$row['docid']]['id'] = $row['docid'];
$data['doc'][$row['docid']]['doccategory'] = $app_list_strings['ecmstockdocouts_category_list'][$row['doccategory']];
$data['doc'][$row['docid']]['data'] = $row['docregister_date'];
$data['doc'][$row['docid']]['numer'] = $row['docdocument_no'];
if ($documentsSelected == 'EcmInvoiceOuts' && $row['otype'] == '0') {
$data['doc'][$row['docid']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] -= $row['oquantity'] * $row['oprice'];
$data['doc'][$row['docid']]['typ'] = 'KF';
$data['prod'][$row['oproduct_id']]['ilosc'] -= $row['oquantity'];
} else {
$data['prod'][$row['oproduct_id']]['ilosc'] += $row['oquantity'];
$data['doc'][$row['docid']]['wartosc'] += $row['oquantity'] * $row['oprice'];
$data['prod'][$row['oproduct_id']]['wartosc'] += $row['oquantity'] * $row['oprice'];
}
}
return $data;
}
//
// ***************************************************************************
//Pobieranie danych z filtrowania
if ($_REQUEST['date_from'] == '') {
$_REQUEST['date_from'] = date('01.m.Y');
} else {
$date_from = date('Y-m-d', strtotime($_REQUEST['date_from']));
}
if ($_REQUEST['date_to'] == '') {
$_REQUEST['date_to'] = date('t.m.Y');
} else {
$date_to = date('Y-m-d', strtotime($_REQUEST['date_to']));
}
$stockSelected = $_REQUEST['stockSelected'];
$documentsSelected = $_REQUEST['documentsSelected'];
$stockIndexSelected = $_REQUEST['stockIndexSelected'];
$viewSelected = $_REQUEST['viewSelected'];
$mmSelected = $_REQUEST['mmSelected'];
$accountId = $_REQUEST['accountId'];
$accountName = $_REQUEST['accountName'];
//Przygotowywanie innych potrzebnych zmiennych
$data = array();
$datatmp = array();
$db = $GLOBALS['db'];
global $mod_strings, $app_list_strings;
$stockList = getStocksList(); // magazyny
$stockIndexList = getStockIndexList(); //Kartoteki Materialowe
$documentsList = array(// dokumenty
'EcmStockDocInsideOuts' => 'RW',
'EcmStockDocInsideIns' => 'PW',
'EcmStockDocMoves' => 'MM',
'EcmStockDocCorrects' => 'KS',
'EcmStockDocIns' => 'PZ',
'EcmStockDocOuts' => 'WZ',
'EcmInvoiceOuts' => "FK",
'EcmReceipts' => 'Paragon'
);
$viewList = array(//Lista widokow
'documents' => 'Dokumenty',
'positions' => 'Pozycje',
);
//Pobieranie i przetwarzanie danych
if ($documentsSelected == 'EcmStockDocInsideOuts' || $documentsSelected == 'EcmStockDocInsideIns' || $documentsSelected == 'EcmStockDocCorrects') {
$data = getDataRwPwKs($documentsSelected, $stockSelected, $date_from, $date_to, $stockIndexSelected);
} elseif ($documentsSelected == 'EcmStockDocMoves') {
$data = getDataMm($documentsSelected, $stockSelected, $date_from, $date_to, $mmSelected);
} elseif ($documentsSelected == 'EcmStockDocIns' || $documentsSelected == 'EcmStockDocOuts' || $documentsSelected == 'EcmInvoiceOuts' || $documentsSelected == 'EcmReceipts') {
$data = getDataPzWzFk($documentsSelected, $stockSelected, $date_from, $date_to, $accountId, $accountName);
}
$kategorie_wz[""] = "";
foreach($app_list_strings['ecmstockdocouts_category_list'] as $k => $v){
$kategorie_wz[$k] = $v;
}
// create & execute smarty
$smarty = new Sugar_Smarty ();
$smarty->assign("MOD", $mod_strings);
$smarty->assign("APP_LIST_STRINGS", $app_list_strings);
$smarty->assign("DATA", $data);
$smarty->assign("kategorie_wz", $kategorie_wz);
$smarty->assign("wz_category_selected", $_REQUEST['wz_category']);
$smarty->assign("stocksList", $stockList);
$smarty->assign("stockSelected", $stockSelected);
$smarty->assign("documentList", $documentsList);
$smarty->assign("documentSelected", $documentsSelected);
$smarty->assign("stockIndexList", $stockIndexList);
$smarty->assign("stockIndexSelected", $stockIndexSelected);
$smarty->assign("viewList", $viewList);
$smarty->assign("viewSelected", $viewSelected);
$smarty->assign("date_from", $_REQUEST['date_from']);
$smarty->assign("date_to", $_REQUEST['date_to']);
$smarty->assign("aktualnaData", date("d.m.Y"));
$smarty->assign("mmSelected", $mmSelected);
$smarty->assign("accountId", $accountId);
$smarty->assign("accountName", htmlentities($accountName));
// Eksport do PDF
if ($_REQUEST['toPDF'] == '1') {
if ($_REQUEST['to_xls'] == '1') {
$header=array();
$header[]='numer dokumentu';
$header[]='data';
$header[]='kontrahent';
$header[]='opis';
$header[]='wartość';
$header[]='magazyn';
$filename='modules/Home/Files/obroty_wg_magazynu_'.date('d_m-Y').'.csv';
$fp=fopen($filename,'w');
foreach ($header as $k=>$v){
$header[$k]=iconv('UTF-8','windows-1250',$header[$k]);
}
fwrite($fp, implode(";",$header).PHP_EOL);
foreach ($data['doc'] as $key=>$val){
$line=array();
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['typ'].' '.$val['numer']))).'"""';
$line[]=$val['data'];
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['accountNazwa']))).'"""';
$line[]='"=""'.preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['nazwa']))).'"""';
$line[]=str_replace(".",",",$val['wartosc']);
$line[]=preg_replace("/[^A-ZłŁąĄęĘżŻ,:.źŹ%ćĆńŃśŚóÓa-z0-9\-\/]/",' ',preg_replace("/\r\n|\r|\n/",' ',html_entity_decode($val['magazyn'])));
foreach ($line as $k=>$v){
$line[$k]=iconv('UTF-8','windows-1250',$line[$k]);;
}
fwrite($fp, implode(";",$line).PHP_EOL);
}
header("Location: ". $filename);
} else {
if ($documentsSelected == 'EcmStockDocInsideOuts' || $documentsSelected == 'EcmStockDocInsideIns' || $documentsSelected == 'EcmStockDocCorrects') {
$txt = 'Kartoteka materiałowa: ';
if (isset($stockIndexSelected)) {
if (count($stockIndexSelected) == count($stockIndexList) + 1) {
$txt .= 'Wszystkie';
} else {
foreach ($stockIndexSelected as $key => $value) {
if ($value == 'NULL') {
$txt .= 'Bez kartoteki materiaĹowej ,';
} else {
$txt .= $stockIndexList[$value] . ' ,';
}
}
}
} else {
$txt .= 'Wszystkie';
}
$txt = rtrim($txt, ",");
} elseif ($documentsSelected == 'EcmStockDocMoves') {
$txt = 'Do magazynu: ';
if (isset($mmSelected)) {
if (count($mmSelected) == count($stockList)) {
$txt .= 'Wszystkie';
} else {
foreach ($mmSelected as $key => $value) {
$txt .= $stockList[$value] . ' ,';
}
}
} else {
$txt .= 'Wszystkie';
}
$txt = rtrim($txt, ",");
} elseif ($documentsSelected == 'EcmStockDocIns' || $documentsSelected == 'EcmStockDocOuts' || $documentsSelected == 'EcmInvoiceOuts' || $documentsSelected == 'EcmReceipts') {
if (isset($accountName) && strlen($accountName) > 1) {
$txt = 'Kontrahent: ' . $accountName;
} else {
$txt = 'Kontrahent: Wszyscy';
}
}
include_once ("modules/EcmSysInfos/EcmSysInfo.php");
$EcmSysInfo = new EcmSysInfo();
$smarty->assign("nazwaFirmy", $EcmSysInfo->getName());
$output = $smarty->fetch('modules/EcmReports/tpls/ReportStockDocMovesPDF.tpl');
include_once ("include/MPDF57/mpdf.php");
unset($smarty);
$p = new mPDF('', 'A4', null, 'helvetica', 10, 10, 26, 10, 5, 5);
$p->setFooter('{PAGENO}');
$p->setHTMLHeader('<div style="text-align: left; border-bottom: 1px solid #000000; font-weight: bold; font-size: 10pt;">
<table>
<tr>
<td style="font-weight: bold; font-size: 9pt;">Obroty wg dokumentów ' . $documentsList[$documentsSelected] . '</td>
</tr>
<tr>
<td style="font-weight: bold; font-size: 9pt;">' . $EcmSysInfo->getName() . '</td>
</tr>
<tr>
<td style="font-weight: bold; font-size: 9pt;">Data wygenerowania: ' . date("d.m.Y") . ' Okres: ' . $_REQUEST['date_from'] . ' do ' . $_REQUEST['date_to'] . '</td>
</tr>
<tr>
<td style="font-weight: bold; font-size: 9pt;">' . $txt . ' </td>
</tr>
</table>
</div>');
$p->writeHTML($output);
$p->Output("ObrotWgDokumentow_" . $documentsList[$documentsSelected] . "_" . $_REQUEST['date_from'] . "-" . $_REQUEST['date_to'].".pdf", "I");
}
} else {
$smarty->display('modules/EcmReports/tpls/ReportStockDocMoves.tpl');
}
?>