diff --git a/modules/fatture/crea_autofattura.php b/modules/fatture/crea_autofattura.php index 69ad5abef..8da84802e 100644 --- a/modules/fatture/crea_autofattura.php +++ b/modules/fatture/crea_autofattura.php @@ -29,7 +29,7 @@ echo '
- {[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT_WS(\" - \",codice_tipo_documento_fe, descrizione) AS descrizione FROM co_tipidocumento WHERE dir=\"entrata\" AND codice_tipo_documento_fe IN(\"TD16\", \"TD17\", \"TD18\", \"TD19\", \"TD20\", \"TD21\") ORDER BY codice_tipo_documento_fe" ]} + {[ "type": "select", "label": "'.tr('Tipo documento').'", "name": "idtipodocumento", "required": 1, "values": "query=SELECT id, CONCAT_WS(\" - \",codice_tipo_documento_fe, descrizione) AS descrizione FROM co_tipidocumento WHERE dir=\"entrata\" AND codice_tipo_documento_fe IN(\"TD16\", \"TD17\", \"TD18\", \"TD19\", \"TD20\", \"TD21\", \"TD28\") ORDER BY codice_tipo_documento_fe" ]}
diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 39a626e9c..504e4f39c 100755 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -755,7 +755,7 @@ class Fattura extends Document public function isAutofattura() { return in_array($this->tipo->codice_tipo_documento_fe, ['TD16','TD17','TD18','TD19', - 'TD20', 'TD21']); + 'TD20', 'TD21', 'TD28']); } /** diff --git a/plugins/importFE/generate.php b/plugins/importFE/generate.php index 7bf03de25..d2bec2936 100755 --- a/plugins/importFE/generate.php +++ b/plugins/importFE/generate.php @@ -126,7 +126,7 @@ if (isset($fattura_body['DatiPagamento'])) { } $is_autofattura = false; -if (in_array($dati_generali['TipoDocumento'], ['TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21'])) { +if (in_array($dati_generali['TipoDocumento'], ['TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21', 'TD28'])) { $is_autofattura = true; } @@ -273,7 +273,7 @@ if (!empty($anagrafica)) { INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento WHERE co_tipidocumento.dir = 'entrata' AND - co_tipidocumento.codice_tipo_documento_fe IN('TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21') AND + co_tipidocumento.codice_tipo_documento_fe IN('TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21', 'TD28') AND (co_documenti.data BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione != 'Bozza') AND co_documenti.idanagrafica = ".prepare($anagrafica->id); diff --git a/plugins/xml/asso-invoice.xsl b/plugins/xml/asso-invoice.xsl index 17199dcb5..4117fc248 100755 --- a/plugins/xml/asso-invoice.xsl +++ b/plugins/xml/asso-invoice.xsl @@ -1879,6 +1879,9 @@ fattura per autoconsumo o per cessioni gratuite senza rivalsa + + fattura per acquisti da San Marino + diff --git a/update/2_4_37.sql b/update/2_4_37.sql index cfeaf61ef..c9496a336 100644 --- a/update/2_4_37.sql +++ b/update/2_4_37.sql @@ -60,4 +60,12 @@ ALTER TABLE `or_righe_ordini` CHANGE `iva` `iva` DECIMAL(15,6) NOT NULL, CHANGE -- Aggiunta colonna Anagrafica in Movimenti 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 `name`='Movimenti'), 'Anagrafica', 'IF(`reference_type`=\"Modules\\\\Fatture\\\\Fattura\",(SELECT ragione_sociale FROM co_documenti LEFT JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica WHERE co_documenti.id=mg_movimenti.reference_id),IF(`reference_type`=\"Modules\\\\DDT\\\\DDT\",(SELECT ragione_sociale FROM dt_ddt LEFT JOIN an_anagrafiche ON dt_ddt.idanagrafica=an_anagrafiche.idanagrafica WHERE dt_ddt.id=mg_movimenti.reference_id),IF(`reference_type`=\"Modules\\\\Interventi\\\\Intervento\",(SELECT ragione_sociale FROM in_interventi LEFT JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.id=mg_movimenti.reference_id),"")))', 8, 1, 0, 0, 0, '', '', 1, 0, 1); \ No newline at end of file +((SELECT `id` FROM `zz_modules` WHERE `name`='Movimenti'), 'Anagrafica', 'IF(`reference_type`=\"Modules\\\\Fatture\\\\Fattura\",(SELECT ragione_sociale FROM co_documenti LEFT JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica WHERE co_documenti.id=mg_movimenti.reference_id),IF(`reference_type`=\"Modules\\\\DDT\\\\DDT\",(SELECT ragione_sociale FROM dt_ddt LEFT JOIN an_anagrafiche ON dt_ddt.idanagrafica=an_anagrafiche.idanagrafica WHERE dt_ddt.id=mg_movimenti.reference_id),IF(`reference_type`=\"Modules\\\\Interventi\\\\Intervento\",(SELECT ragione_sociale FROM in_interventi LEFT JOIN an_anagrafiche ON in_interventi.idanagrafica=an_anagrafiche.idanagrafica WHERE in_interventi.id=mg_movimenti.reference_id),"")))', 8, 1, 0, 0, 0, '', '', 1, 0, 1); + +-- Aggiunta tipologia fattura TD28 +INSERT INTO `fe_tipi_documento` (`codice`, `descrizione`) VALUES +('TD28', 'Fattura per acquisti da San Marino'); +INSERT INTO `co_tipidocumento` (`id`, `descrizione`, `dir`, `reversed`, `codice_tipo_documento_fe`) VALUES +(NULL, 'Fattura per acquisti da San Marino', 'entrata', '0', 'TD28'); +INSERT INTO `co_tipidocumento` (`id`, `descrizione`, `dir`, `reversed`, `codice_tipo_documento_fe`) VALUES +(NULL, 'Fattura per acquisti da San Marino', 'uscita', '0', 'TD28'); \ No newline at end of file