From 519d57d42de232e00b49ed39040242bdaa180d5c Mon Sep 17 00:00:00 2001 From: MatteoPistorello Date: Fri, 12 Nov 2021 11:53:42 +0100 Subject: [PATCH] Aggiunta stampa libro giornale --- modules/stampe_contabili/edit.php | 34 +++++++++---- templates/libro_giornale/bottom.php | 29 +++++++++++ templates/libro_giornale/footer.php | 34 +++++++++++++ templates/libro_giornale/header.php | 32 ++++++++++++ templates/libro_giornale/init.php | 25 ++++++++++ templates/libro_giornale/piece.php | 72 +++++++++++++++++++++++++++ templates/libro_giornale/settings.php | 23 +++++++++ templates/libro_giornale/top.php | 34 +++++++++++++ update/2_4_28.sql | 9 +++- 9 files changed, 280 insertions(+), 12 deletions(-) create mode 100644 templates/libro_giornale/bottom.php create mode 100644 templates/libro_giornale/footer.php create mode 100644 templates/libro_giornale/header.php create mode 100644 templates/libro_giornale/init.php create mode 100644 templates/libro_giornale/piece.php create mode 100644 templates/libro_giornale/settings.php create mode 100644 templates/libro_giornale/top.php diff --git a/modules/stampe_contabili/edit.php b/modules/stampe_contabili/edit.php index 6d51ed7c1..930d9004f 100755 --- a/modules/stampe_contabili/edit.php +++ b/modules/stampe_contabili/edit.php @@ -34,11 +34,11 @@ echo '
- + - + - +
@@ -53,7 +53,7 @@ echo '
- '.Prints::getLink('Spesometro', $id_record, 'btn-primary col-md-5', '
'.tr('Stampa dati fatture').'
'.tr(' vendite e acquisti'), '|default| fa-2x', 'dir=uscita').' + '.Prints::getLink('Spesometro', $id_record, 'btn-primary col-md-5', '
'.tr('Dati fatture').'
'.tr(' vendite e acquisti'), '|default| fa-2x', 'dir=uscita').'
@@ -61,16 +61,16 @@ echo '
-

'.tr('Fatturato
dal _START_ al _END_', [ +

'.tr('Dati economici
dal _START_ al _END_', [ '_START_' => Translator::dateToLocale($_SESSION['period_start']), '_END_' => Translator::dateToLocale($_SESSION['period_end']), ]).'

- '.Prints::getLink('Fatturato', $id_record, 'btn-primary col-md-5', '
'.tr('Stampa fatturato').'
'.tr('in entrata'), '|default| fa-2x', 'dir=entrata').' + '.Prints::getLink('Fatturato', $id_record, 'btn-primary col-md-5', '
'.tr('Stampa').'
'.tr('Fatturato'), '|default| fa-2x', 'dir=entrata').' - '.Prints::getLink('Fatturato', $id_record, 'btn-primary col-md-5 col-md-push-2', '
'.tr('Stampa fatturato').'
'.tr('in uscita'), '|default| fa-2x', 'dir=uscita').' + '.Prints::getLink('Fatturato', $id_record, 'btn-primary col-md-5 col-md-push-2', '
'.tr('Stampa').'
'.tr('Acquisti').'
', '|default| fa-2x', 'dir=uscita').'
@@ -80,15 +80,27 @@ echo '
-

'.tr('Piano dei conti').'

+

'.tr('Contabilità').'

- + - '.Prints::getLink('Mastrino', 1, 'btn-primary col-md-4 col-md-push-1', '
'.tr('Stampa situazione').'
'.tr('patrimoniale'), '|default| fa-2x', 'lev=1').' + '.Prints::getLink('Mastrino', 1, 'btn-primary col-md-3 col-md-push-1', '
'.tr('Situazione').'
'.tr('patrimoniale'), '|default| fa-2x', 'lev=1').' - '.Prints::getLink('Mastrino', 2, 'btn-primary col-md-4 col-md-push-2', '
'.tr('Stampa situazione').'
'.tr('economica'), '|default| fa-2x', 'lev=1').' + '.Prints::getLink('Mastrino', 2, 'btn-primary col-md-3 col-md-push-2', '
'.tr('Situazione').'
'.tr('economica'), '|default| fa-2x', 'lev=1').' +
+
+
+ +
+
+
+

'.tr('Libro giornale').'

+
+ +
+ '.Prints::getLink('Libro giornale', 2, 'btn-primary col-md-4', '
'.tr('Libro').'
'.tr('giornale'), '|default| fa-2x').'
diff --git a/templates/libro_giornale/bottom.php b/templates/libro_giornale/bottom.php new file mode 100644 index 000000000..69b2617c8 --- /dev/null +++ b/templates/libro_giornale/bottom.php @@ -0,0 +1,29 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + + echo ' + + TOTALE GENERALE + '.moneyFormat(abs($totale_dare)).' + '.moneyFormat(abs($totale_avere)).' + + +'; diff --git a/templates/libro_giornale/footer.php b/templates/libro_giornale/footer.php new file mode 100644 index 000000000..7cd6d6b56 --- /dev/null +++ b/templates/libro_giornale/footer.php @@ -0,0 +1,34 @@ +. + */ + +echo ' + + + + + + +
+ '.tr('Stampato con OpenSTAManager il _DATE_', ['_DATE_' => date('d/m/Y')]).' + + '.tr('Pagina _PAGE_ di _TOTAL_', [ + '_PAGE_' => '{PAGENO}', + '_TOTAL_' => '{nb}', + ]).' +
'; diff --git a/templates/libro_giornale/header.php b/templates/libro_giornale/header.php new file mode 100644 index 000000000..65e617245 --- /dev/null +++ b/templates/libro_giornale/header.php @@ -0,0 +1,32 @@ +. + */ + +/* + * Header di default. + * I contenuti di questo file vengono utilizzati per generare l'header delle stampe nel caso non esista un file header.php all'interno della stampa. + * + * Per modificare l'header della stampa basta aggiungere un file header.php all'interno della cartella della stampa con i contenuti da mostrare (vedasi templates/fatture/header.php). + * + * La personalizzazione specifica dell'header deve comunque seguire lo standard della cartella custom: anche se il file header.php non esiste nella stampa originaria, se si vuole personalizzare l'header bisogna crearlo all'interno della cartella custom. + */ +echo ' +
+
STAMPA LIBRO GIORNALE '.Translator::dateToLocale($date_start).' - '.Translator::dateTolocale($date_end).'
+
'.$azienda['ragione_sociale'].'
+
'; diff --git a/templates/libro_giornale/init.php b/templates/libro_giornale/init.php new file mode 100644 index 000000000..b90e2ad5c --- /dev/null +++ b/templates/libro_giornale/init.php @@ -0,0 +1,25 @@ +. + */ + +include_once __DIR__.'/../../core.php'; +$azienda = $dbo->fetchOne('SELECT ragione_sociale FROM an_anagrafiche WHERE idanagrafica='.setting('Azienda predefinita')); +$date_start = $_SESSION['period_start']; +$date_end = $_SESSION['period_end']; + +$records = $dbo->fetchArray('SELECT co_movimenti.*, co_pianodeiconti3.descrizione AS conto, co_pianodeiconti2.numero AS numero2, co_pianodeiconti3.numero, SUM(co_movimenti.totale) AS totale FROM co_movimenti INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' GROUP BY co_movimenti.idmastrino, co_movimenti.idconto ORDER BY co_movimenti.data, co_movimenti.idmastrino'); diff --git a/templates/libro_giornale/piece.php b/templates/libro_giornale/piece.php new file mode 100644 index 000000000..ead54ab19 --- /dev/null +++ b/templates/libro_giornale/piece.php @@ -0,0 +1,72 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + + +if ($record['data']!=$last_data && !empty($last_data)) { + echo ' + + TOTALE GIORNO + '.moneyFormat(abs($dare_giorno), 2).' + '.moneyFormat(abs($avere_giorno), 2).' + '; + $totale_dare += $dare_giorno; + $totale_avere += $avere_giorno; + $dare_giorno = 0; + $avere_giorno = 0; +} + +echo ' + + '.Translator::dateToLocale($record['data']).' + '.$record['numero2'].'.'.$record['numero'].' + '.$record['conto'].' + '.$record['descrizione'].''; + + if ($record['totale'] >= 0) { + echo ''.moneyFormat(abs($record['totale']), 2).' + '; + $dare_giorno += $record['totale']; + } else { + echo ' + '.moneyFormat(abs($record['totale']), 2).''; + $avere_giorno += $record['totale']; + } + + +echo ' +'; + +if (end($records)==$record) { + echo ' + + TOTALE GIORNO + '.moneyFormat(abs($dare_giorno), 2).' + '.moneyFormat(abs($avere_giorno), 2).' + '; + $totale_dare += $dare_giorno; + $totale_avere += $avere_giorno; + $dare_giorno = 0; + $avere_giorno = 0; +} + +$last_data = $record['data']; + + \ No newline at end of file diff --git a/templates/libro_giornale/settings.php b/templates/libro_giornale/settings.php new file mode 100644 index 000000000..5765770b6 --- /dev/null +++ b/templates/libro_giornale/settings.php @@ -0,0 +1,23 @@ +. + */ + +return [ + 'font-size' => '10pt', + 'orientation' => 'L', +]; diff --git a/templates/libro_giornale/top.php b/templates/libro_giornale/top.php new file mode 100644 index 000000000..56f23f9ca --- /dev/null +++ b/templates/libro_giornale/top.php @@ -0,0 +1,34 @@ +. + */ + +include_once __DIR__.'/../../core.php'; + +echo ' + + + + + + + + + + + + '; diff --git a/update/2_4_28.sql b/update/2_4_28.sql index ec5101fd5..211f7c808 100644 --- a/update/2_4_28.sql +++ b/update/2_4_28.sql @@ -23,4 +23,11 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, ` INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Aggiungi riferimento tra documenti', '1', 'boolean', '1', 'Generali', '18', 'Permette l\'aggiunta del riferimento al documento nella descrizione della riga importata'); -- Aggiunto controllo sul widget fatturato per non conteggiare le fatture in Bozza -UPDATE `zz_widgets` SET `query` = 'SELECT\n CONCAT_WS(\' \', REPLACE(REPLACE(REPLACE(FORMAT((\n SELECT SUM(\n (co_righe_documenti.subtotale - co_righe_documenti.sconto) * IF(co_tipidocumento.reversed, -1, 1)\n )\n ), 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\'), \'€\') AS dato\nFROM co_righe_documenti\n INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id\n INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id\n INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id\nWHERE co_statidocumento.descrizione!=\'Bozza\' AND co_tipidocumento.dir=\'entrata\' |segment| AND data >= \'|period_start|\' AND data <= \'|period_end|\' AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato'; \ No newline at end of file +UPDATE `zz_widgets` SET `query` = 'SELECT\n CONCAT_WS(\' \', REPLACE(REPLACE(REPLACE(FORMAT((\n SELECT SUM(\n (co_righe_documenti.subtotale - co_righe_documenti.sconto) * IF(co_tipidocumento.reversed, -1, 1)\n )\n ), 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\'), \'€\') AS dato\nFROM co_righe_documenti\n INNER JOIN co_documenti ON co_righe_documenti.iddocumento = co_documenti.id\n INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id\n INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id\nWHERE co_statidocumento.descrizione!=\'Bozza\' AND co_tipidocumento.dir=\'entrata\' |segment| AND data >= \'|period_start|\' AND data <= \'|period_end|\' AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato'; + +-- Spostamento stampe contabili +UPDATE `zz_prints` SET `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name`='Stampe contabili') WHERE `zz_prints`.`name` = 'Mastrino'; +UPDATE `zz_prints` SET `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name`='Stampe contabili') WHERE `zz_prints`.`name` = 'Bilancio'; + +-- Aggiunta stampa libro giornale +INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name`='Stampe contabili'), '1', 'Libro giornale', 'Libro giornale', 'Libro giornale', 'libro_giornale', 'idconto', '', 'fa fa-print', '', '', '0', '0', '1', '1'); \ No newline at end of file
DATACODICEDENOMINAZIONEDESCRIZIONEDAREAVERE