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 '
- '.tr('Stampa registro').' '.tr('IVA vendite').'
+ '.tr('Registro').' '.tr('IVA vendite').'
- '.tr('Stampa registro').' '.tr('IVA acquisti').'
+ '.tr('Registro').' '.tr('IVA acquisti').'
- '.tr('Stampa liquidazione').' '.tr('IVA').'
+ '.tr('Liquidazione').' '.tr('IVA').'
@@ -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à').'
- '.tr('Stampa').' '.tr('bilancio').'
+ '.tr('Stampa').' '.tr('Bilancio').'
- '.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 '
+
+
+
+ DATA
+ CODICE
+ DENOMINAZIONE
+ DESCRIZIONE
+ DARE
+ AVERE
+
+
+ ';
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