From 1dbff3e36f8811801a632a036299327abad5925e Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 15 Feb 2023 17:38:31 +0100 Subject: [PATCH 1/8] Fix #1187 --- modules/stampe_contabili/stampe_contabili.php | 10 +++++----- templates/registro_iva/init.php | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/stampe_contabili/stampe_contabili.php b/modules/stampe_contabili/stampe_contabili.php index fd16ff5cd..4187a87ec 100644 --- a/modules/stampe_contabili/stampe_contabili.php +++ b/modules/stampe_contabili/stampe_contabili.php @@ -73,6 +73,10 @@ echo '
'; echo ' +
+ {[ "type": "select", "label": "'.tr('Periodo').'", "name": "periodo", "required": "1", "values": '.json_encode($periodi).', "value": "manuale" ]} +
+
{[ "type": "date", "label": "'.tr('Data inizio').'", "required": "1", "name": "date_start", "value": "'.$_SESSION['period_start'].'" ]}
@@ -80,10 +84,6 @@ echo '
{[ "type": "date", "label": "'.tr('Data fine').'", "required": "1", "name": "date_end", "value": "'.$_SESSION['period_end'].'" ]}
- -
- {[ "type": "select", "label": "'.tr('Periodo').'", "name": "periodo", "required": "1", "values": '.json_encode($periodi).', "value": "manuale" ]} -
'; echo ' @@ -91,7 +91,7 @@ echo ' if ($nome_stampa != 'Liquidazione IVA') { echo '
- {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_sezionale", "required": "1", "values": "query=SELECT id AS id, name AS descrizione FROM zz_segments WHERE id_module = (SELECT id FROM zz_modules WHERE name = \''.(($dir == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto').'\') AND is_fiscale = 1 UNION SELECT 0 AS id, \'Tutti i sezionali\' AS descrizione" ]} + {[ "type": "select", "label": "'.tr('Sezionale').'", "name": "id_sezionale", "required": "1", "values": "query=SELECT id AS id, name AS descrizione FROM zz_segments WHERE id_module = (SELECT id FROM zz_modules WHERE name = \''.(($dir == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto').'\') AND is_fiscale = 1 UNION SELECT -1 AS id, \'Tutti i sezionali\' AS descrizione" ]}
'; } echo ' diff --git a/templates/registro_iva/init.php b/templates/registro_iva/init.php index 48ea65c3d..dc68c8465 100755 --- a/templates/registro_iva/init.php +++ b/templates/registro_iva/init.php @@ -33,7 +33,7 @@ $vendita_banco = $dbo->fetchNum("SELECT * FROM zz_modules WHERE name='Vendita al $v_iva = []; $v_totale = []; -if ((!empty($vendita_banco)) && (empty($id_sezionale)) && ($tipo == 'vendite')){ +if ((!empty($vendita_banco)) && ($id_sezionale == -1) && ($tipo == 'vendite')){ $query = ' SELECT data_registrazione, @@ -74,7 +74,7 @@ if ((!empty($vendita_banco)) && (empty($id_sezionale)) && ($tipo == 'vendite')){ INNER JOIN co_movimenti ON co_movimenti.iddocumento = co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE - dir = '.prepare($dir).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND '.((!empty($id_sezionale)) ? 'co_documenti.id_segment = '.prepare($id_sezionale).'' : '1=1').' + dir = '.prepare($dir).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND '.(($id_sezionale != -1) ? 'co_documenti.id_segment = '.prepare($id_sezionale) : '1=1').' GROUP BY co_iva.id, id UNION @@ -134,7 +134,7 @@ FROM INNER JOIN co_movimenti ON co_movimenti.iddocumento = co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica WHERE - dir = '.prepare($dir).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND '.((!empty($id_sezionale)) ? 'co_documenti.id_segment = '.prepare($id_sezionale).'' : '1=1').' + dir = '.prepare($dir).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND '.(($id_sezionale != -1) ? 'co_documenti.id_segment = '.prepare($id_sezionale).'' : '1=1').' GROUP BY co_documenti.id, co_righe_documenti.idiva ORDER BY From 14fe4f3e47d24f8bc87fb44da01871a7cdcad65f Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Wed, 15 Feb 2023 17:44:12 +0100 Subject: [PATCH 2/8] fix minore --- modules/interventi/bulk.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/interventi/bulk.php b/modules/interventi/bulk.php index 81422bf63..ecd6762bb 100755 --- a/modules/interventi/bulk.php +++ b/modules/interventi/bulk.php @@ -119,7 +119,7 @@ switch (post('op')) { // Se non c'è già una fattura appena creata per questo cliente, creo una fattura nuova if (empty($id_documento)) { if (!empty($accodare)) { - $documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment WHERE co_statidocumento.descrizione = "Bozza" AND co_documenti.idanagrafica = '.$id_anagrafica.' AND co_tipidocumento.id='.$tipo_documento['id'].' AND co_documenti.id_segment = '.$id_segment); + $documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment WHERE co_statidocumento.descrizione = "Bozza" AND co_documenti.idanagrafica = '.prepare($id_anagrafica).' AND co_tipidocumento.id='.prepare($tipo_documento['id']).' AND co_documenti.id_segment = '.prepare($id_segment)); $id_documento = $documento['id']; $id_documento_cliente[$id_anagrafica] = $id_documento; From e3e471f57ee04cf459b77a8bc314d802f0aa8147 Mon Sep 17 00:00:00 2001 From: Luca Date: Wed, 15 Feb 2023 20:03:19 +0100 Subject: [PATCH 3/8] Fix name file Fatture Elettroniche in zz_files se si aggiorna da una versione precedente alla 2.4.4 --- update/2_4_40.sql | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/update/2_4_40.sql b/update/2_4_40.sql index 9985fba69..c13979fca 100644 --- a/update/2_4_40.sql +++ b/update/2_4_40.sql @@ -179,4 +179,7 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione` INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id from zz_modules WHERE title = "Attività"), 'KM', 'sum(in_interventi_tecnici.km)', '29', '1', '0', '1', '0', NULL, NULL, '0', '1', '0'); -- Aggiunta impostazione data emissione automatica -INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa"); \ No newline at end of file +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa"); + +-- Fix name file Fatture Elettroniche in zz_files se si aggiorna da una versione precedente alla 2.4.4 +UPDATE `zz_files` SET `name` = 'Fattura Elettronica' WHERE `name` = 'Fattura Elettronica (XML)'; \ No newline at end of file From 018eef09926d7f8d5c0929515addd765894bba81 Mon Sep 17 00:00:00 2001 From: loviuz Date: Thu, 16 Feb 2023 09:32:25 +0100 Subject: [PATCH 4/8] Aggiunta specifica su importazione articoli su sede --- modules/articoli/src/Import/CSV.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/articoli/src/Import/CSV.php b/modules/articoli/src/Import/CSV.php index 4bb97e98c..949d1a5fd 100644 --- a/modules/articoli/src/Import/CSV.php +++ b/modules/articoli/src/Import/CSV.php @@ -194,6 +194,10 @@ class CSV extends CSVImporter 'field' => 'dir', 'label' => 'Cliente/Fornitore listino', ], + [ + 'field' => 'nome_sede', + 'label' => 'Sede', + ], ]; } @@ -406,7 +410,7 @@ class CSV extends CSVImporter $sede = Sede::where('nomesede', $nome_sede) ->where('idanagrafica', $anagrafica_azienda->id) ->first(); - $id_sede = $sede->id; + $id_sede = $sede->id ?: 0; } if( isset($record['qta']) ) { @@ -422,11 +426,11 @@ class CSV extends CSVImporter public static function getExample() { return [ - ['Codice', 'Barcode', 'Immagine', 'Import immagine', 'Descrizione', 'Fornitore predefinito', 'Quantità', 'Unità di misura', 'Prezzo acquisto', 'Prezzo vendita', 'Peso lordo (KG)', 'Volume (M3)', 'Categoria', 'Sottocategoria', 'Ubicazione', 'Note', 'Anagrafica listino', 'Codice fornitore', 'Barcode fornitore', 'Descrizione fornitore', 'Qta minima', 'Qta massima', 'Prezzo listino', 'Sconto listino', 'Cliente/Fornitore listino'], - ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '1', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '', '', '10', '5', 'Fornitore'], - ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '2', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '1', '10', '9', '', 'Fornitore'], - ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '3', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '11', '20', '8', '5', 'Fornitore'], - ['00004', '719376861871', '', '', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Verdi', '', '', '', '1', '10', '20', '10', 'Cliente'], + ['Codice', 'Barcode', 'Immagine', 'Import immagine', 'Descrizione', 'Fornitore predefinito', 'Quantità', 'Unità di misura', 'Prezzo acquisto', 'Prezzo vendita', 'Peso lordo (KG)', 'Volume (M3)', 'Categoria', 'Sottocategoria', 'Ubicazione', 'Note', 'Anagrafica listino', 'Codice fornitore', 'Barcode fornitore', 'Descrizione fornitore', 'Qta minima', 'Qta massima', 'Prezzo listino', 'Sconto listino', 'Cliente/Fornitore listino', 'Sede'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '1', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '', '', '10', '5', 'Fornitore', 'Sede2'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '2', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '1', '10', '9', '', 'Fornitore', 'Sede2'], + ['00004', '719376861871', 'https://immagini.com/immagine.jpg', '3', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Rossi', 'artforn01', '384574557484', 'Articolo di prova fornitore', '11', '20', '8', '5', 'Fornitore', 'Sede2'], + ['00004', '719376861871', '', '', 'Articolo', 'Mario Rossi', '10', 'Kg', '5.25', '12.72', '10.2', '500', 'Categoria4', 'Sottocategoria2', 'Scaffale 1', 'Articolo di prova', 'Mario Verdi', '', '', '', '1', '10', '20', '10', 'Cliente', 'Sede2'], [], ['Import immagine = 1 -> Permette di importare l\'immagine come principale dell\'articolo mantenendo gli altri allegati già presenti'], ['Import immagine = 2 -> Permette di importare l\'immagine come principale dell\'articolo rimuovendo tutti gli allegati presenti'], From 708757e03babdadd16dedb374b25663cc37a6203 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 16 Feb 2023 11:06:51 +0100 Subject: [PATCH 5/8] Correzione codice destinatario in stampa documenti --- templates/fatture/header.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/templates/fatture/header.php b/templates/fatture/header.php index f47c4a588..725ed13b4 100755 --- a/templates/fatture/header.php +++ b/templates/fatture/header.php @@ -93,8 +93,12 @@ echo '

'.tr('Spett.le', [], ['upper' => true]).'

$c_ragionesociale$

-

'.(!empty($c_indirizzo) ? $c_indirizzo : '').(!empty($c_citta_full) ? '
'.$c_citta_full : '').'

- '.(!empty($c_codice_destinatario) ? tr('Cod.Fatturazione').': '.$c_codice_destinatario : '').' +

'.(!empty($c_indirizzo) ? $c_indirizzo : '').(!empty($c_citta_full) ? '
'.$c_citta_full : '').'

'; + if (empty($destinazione)) { + echo ' + '.(!empty($c_codice_destinatario) ? tr('Cod.Fatturazione').': '.$c_codice_destinatario : '').''; + } + echo ' @@ -121,7 +125,8 @@ if (!empty($destinazione)) {

'.tr('Destinazione diversa', [], ['upper' => true]).'

- $c_destinazione$ +

$c_destinazione$

+

'.(!empty($c_codice_destinatario) ? tr('Cod.Fatturazione').': '.$c_codice_destinatario : '').'

'; } From 4c1227596625dc59e07bf1786cfbb26746828d5d Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 16 Feb 2023 14:53:42 +0100 Subject: [PATCH 6/8] Fix #1185 --- modules/ordini/src/Ordine.php | 28 +++++++++++++++++++++++++--- 1 file changed, 25 insertions(+), 3 deletions(-) diff --git a/modules/ordini/src/Ordine.php b/modules/ordini/src/Ordine.php index c4457f553..72df4eea3 100755 --- a/modules/ordini/src/Ordine.php +++ b/modules/ordini/src/Ordine.php @@ -92,7 +92,7 @@ class Ordine extends Document $model->idpagamento = $id_pagamento; } - $model->numero = static::getNextNumero($data, $direzione); + $model->numero = static::getNextNumero($data, $direzione, $id_segment); $model->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $id_segment); $model->save(); @@ -198,10 +198,32 @@ class Ordine extends Document * * @return string */ - public static function getNextNumero($data, $direzione) + public static function getNextNumero($data, $direzione, $id_segment) { - $maschera = '#'; + if ($direzione == 'entrata') { + $maschera = '#'; + } else { + $maschera = Generator::getMaschera($id_segment); + if (strpos($maschera, 'm') !== false) { + $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ + 'YEAR(data) = '.prepare(date('Y', strtotime($data))), + 'MONTH(data) = '.prepare(date('m', strtotime($data))), + 'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')', + ]); + } elseif ((strpos($maschera, 'YYYY') !== false) or (strpos($maschera, 'yy') !== false)) { + $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ + 'YEAR(data) = '.prepare(date('Y', strtotime($data))), + 'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')', + ]); + } else { + $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ + 'YEAR(data) = '.prepare(date('Y', strtotime($data))), + 'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')', + ]); + } + } + $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ 'YEAR(data) = '.prepare(date('Y', strtotime($data))), 'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')', From 1c592767d6a9452bfb1f07c0b25294eed9bf6f03 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 16 Feb 2023 16:54:48 +0100 Subject: [PATCH 7/8] fix minore --- modules/ordini/src/Ordine.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/modules/ordini/src/Ordine.php b/modules/ordini/src/Ordine.php index 72df4eea3..220aa7647 100755 --- a/modules/ordini/src/Ordine.php +++ b/modules/ordini/src/Ordine.php @@ -224,10 +224,6 @@ class Ordine extends Document } } - $ultimo = Generator::getPreviousFrom($maschera, 'or_ordini', 'numero', [ - 'YEAR(data) = '.prepare(date('Y', strtotime($data))), - 'idtipoordine IN (SELECT id FROM or_tipiordine WHERE dir = '.prepare($direzione).')', - ]); $numero = Generator::generate($maschera, $ultimo); return $numero; From 5287372b0c68c6db1c492101f046314bc9921aa6 Mon Sep 17 00:00:00 2001 From: Pek5892 Date: Thu, 16 Feb 2023 17:42:10 +0100 Subject: [PATCH 8/8] Fix #295 --- modules/ddt/actions.php | 6 +++--- modules/ddt/src/DDT.php | 12 ++++++++---- update/2_4_40.sql | 6 ++++-- 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/modules/ddt/actions.php b/modules/ddt/actions.php index 636e67f2a..b2b0ea77e 100755 --- a/modules/ddt/actions.php +++ b/modules/ddt/actions.php @@ -55,8 +55,8 @@ switch (filter('op')) { $ddt->save(); flash()->info(tr('Aggiunto ddt in _TYPE_ numero _NUM_!', [ - '_TYPE_' => $dir, - '_NUM_' => $ddt->numero, + '_TYPE_' => ($dir == 'entrata' ? 'uscita': 'entrata'), + '_NUM_' => ($dir == 'uscita' ? $ddt->numero: $ddt->numero_esterno) ])); break; @@ -531,7 +531,7 @@ switch (filter('op')) { // Duplica ddt case 'copy': $new = $ddt->replicate(); - $new->numero = DDT::getNextNumero($new->data, $dir); + $new->numero = DDT::getNextNumero($new->data, $dir, $id_segment); $new->numero_esterno = DDT::getNextNumeroSecondario($new->data, $dir, $new->id_segment); $stato = Stato::where('descrizione', '=', 'Bozza')->first(); diff --git a/modules/ddt/src/DDT.php b/modules/ddt/src/DDT.php index 3bdb61e62..b3e6f09c3 100755 --- a/modules/ddt/src/DDT.php +++ b/modules/ddt/src/DDT.php @@ -99,7 +99,7 @@ class DDT extends Document $model->idpagamento = $id_pagamento; } - $model->numero = static::getNextNumero($data, $direzione); + $model->numero = static::getNextNumero($data, $direzione, $id_segment); $model->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $id_segment); // Imposto, come sede aziendale, la prima sede disponibile come utente @@ -263,15 +263,19 @@ class DDT extends Document * * @return string */ - public static function getNextNumero($data, $direzione) + public static function getNextNumero($data, $direzione, $id_segment) { - $maschera = '#'; + if ($direzione == 'entrata') { + return ''; + } + + $maschera = Generator::getMaschera($id_segment); $ultimo = Generator::getPreviousFrom($maschera, 'dt_ddt', 'numero', [ 'YEAR(data) = '.prepare(date('Y', strtotime($data))), 'idtipoddt IN (SELECT id FROM dt_tipiddt WHERE dir = '.prepare($direzione).')', ]); - $numero = Generator::generate($maschera, $ultimo); + $numero = Generator::generate($maschera, $ultimo, 1, Generator::dateToPattern($data)); return $numero; } diff --git a/update/2_4_40.sql b/update/2_4_40.sql index c13979fca..1ca6f1218 100644 --- a/update/2_4_40.sql +++ b/update/2_4_40.sql @@ -91,7 +91,7 @@ FROM LEFT JOIN `dt_statiddt` ON `dt_statiddt`.`id` = `dt_ddt`.`idstatoddt` LEFT JOIN (SELECT `zz_operations`.`id_email`, `zz_operations`.`id_record` FROM `zz_operations` INNER JOIN `em_emails` ON `zz_operations`.`id_email` = `em_emails`.`id` INNER JOIN `em_templates` ON `em_emails`.`id_template` = `em_templates`.`id` INNER JOIN `zz_modules` ON `zz_operations`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Ddt di vendita' AND `zz_operations`.`op` = 'send-email' GROUP BY `zz_operations`.`id_record`) AS `email` ON `email`.`id_record` = `dt_ddt`.`id` WHERE - 1=1 AND `dir` = 'entrata' AND (`data` BETWEEN '2023-01-01' AND '2023-12-31 23:59:59') + 1=1 AND `dir` = 'entrata' |date_period(`data`)| HAVING 2=2 ORDER BY @@ -182,4 +182,6 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, "Data emissione fattura automatica", '0', 'boolean', '1', 'Fatturazione', NULL, "Impedisce l'emissione di fatture di vendita con data precedente alla data dell'ultima fattura emessa"); -- Fix name file Fatture Elettroniche in zz_files se si aggiorna da una versione precedente alla 2.4.4 -UPDATE `zz_files` SET `name` = 'Fattura Elettronica' WHERE `name` = 'Fattura Elettronica (XML)'; \ No newline at end of file +UPDATE `zz_files` SET `name` = 'Fattura Elettronica' WHERE `name` = 'Fattura Elettronica (XML)'; + +ALTER TABLE `dt_ddt` CHANGE `numero` `numero` VARCHAR(100) NOT NULL;