From 1da2f8909f6b3d239339fe03a64a32899654d360 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Thu, 14 Sep 2017 16:20:11 +0200 Subject: [PATCH] Miglioramenti nella gestione dell'IVA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aggiunta possibilità di specificare IVA di vendita e di acquisto predefinita per le anagrafiche. Aggiunto nuovo modulo per le Stampe contabili. Modifica nella gestione dei diritti di chiamata, ora applicati solo sulla prima sessione di lavoro della giornata (se questa viene eliminata, il diritto chiamata viene rimosso di conseguenza anche con altre sessioni presenti). --- assets/src/css/style.css | 3 +- include/top.php | 17 +- lib/functions.js | 9 +- modules/anagrafiche/actions.php | 3 +- modules/anagrafiche/edit.php | 24 +-- modules/ddt/add_articolo.php | 11 +- modules/fatture/actions.php | 52 +++--- modules/fatture/add_articolo.php | 12 +- modules/fatture/add_riga.php | 11 +- modules/interventi/actions.php | 2 +- modules/interventi/ajax_tecnici.php | 8 +- modules/interventi/modutil.php | 7 + modules/ordini/add_articolo.php | 11 +- modules/ordini/add_riga.php | 11 +- .../plugins/preventivi.consuntivo.php | 12 +- modules/stampe_contabili/edit.php | 26 +++ templates/registro_iva/logo_azienda.jpg | Bin 0 -> 4348 bytes .../registro_iva/pdfgen.registro_iva.php | 154 ++++++++++++++++++ templates/registro_iva/registroiva.html | 59 +++++++ templates/registro_iva/registroiva_body.html | 25 +++ update/2_3.sql | 15 +- 21 files changed, 372 insertions(+), 100 deletions(-) create mode 100644 modules/stampe_contabili/edit.php create mode 100644 templates/registro_iva/logo_azienda.jpg create mode 100644 templates/registro_iva/pdfgen.registro_iva.php create mode 100644 templates/registro_iva/registroiva.html create mode 100644 templates/registro_iva/registroiva_body.html diff --git a/assets/src/css/style.css b/assets/src/css/style.css index 84a4ad083..4adfde818 100644 --- a/assets/src/css/style.css +++ b/assets/src/css/style.css @@ -526,12 +526,13 @@ span.form-control { .main-header .logo { display: none; } + /* .content-wrapper, .right-side, .left-side, .main-sidebar { padding-top: 50px; - } + }*/ } @media screen and (max-width:1023px) { diff --git a/include/top.php b/include/top.php index 0b66c41b3..b5ba85e63 100644 --- a/include/top.php +++ b/include/top.php @@ -52,9 +52,12 @@ if (Auth::check()) { 'week' => tr('Settimana'), 'month' => tr('Mese'), 'today' => tr('Oggi'), - 'yesterday' => tr('Ieri'), - 'last7Days' => tr('Ultimi 7 giorni'), - 'last30Days' => tr('Ultimi 30 giorni'), + 'firstThreemester' => tr('I trimestre'), + 'secondThreemester' => tr('II trimestre'), + 'thirdThreemester' => tr('III trimestre'), + 'fourthThreemester' => tr('IV trimestre'), + 'firstSemester' => tr('I semestre'), + 'secondSemester' => tr('II semestre'), 'thisMonth' => tr('Questo mese'), 'lastMonth' => tr('Mese scorso'), 'thisYear' => tr("Quest'anno"), @@ -161,8 +164,12 @@ if (Auth::check()) {
- -
+ + + +
'; -// Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore -if ($dir == 'uscita') { - $rsf = $dbo->fetchArray('SELECT idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); - $idiva = $rsf[0]['idiva']; -} - -// Leggo l'iva predefinita dall'articolo e se non c'è leggo quella predefinita generica -$idiva = $idiva ?: get_var('Iva predefinita'); +// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica +$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); +$idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); // Iva echo ' diff --git a/modules/fatture/add_riga.php b/modules/fatture/add_riga.php index fcf1fee33..e1e16bb29 100644 --- a/modules/fatture/add_riga.php +++ b/modules/fatture/add_riga.php @@ -63,14 +63,9 @@ if (get_var('Percentuale rivalsa INPS') != '' || get_var("Percentuale ritenuta d '; } -// Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore -if ($dir == 'uscita') { - $rsf = $dbo->fetchArray('SELECT idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); - $idiva_predefinita = $rsf[0]['idiva']; -} - -// Leggo l'iva predefinita dall'articolo e se non c'è leggo quella predefinita generica -$idiva = $idiva ?: get_var('Iva predefinita'); +// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica +$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); +$idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); // Iva echo ' diff --git a/modules/interventi/actions.php b/modules/interventi/actions.php index 304d24f27..7db277a92 100644 --- a/modules/interventi/actions.php +++ b/modules/interventi/actions.php @@ -130,7 +130,7 @@ switch (post('op')) { 'km' => $km, 'prezzo_ore_unitario' => $prezzo_ore_unitario, - 'prezzo_km_unitario' => $prezzo_km_unitari, + 'prezzo_km_unitario' => $prezzo_km_unitario, 'prezzo_dirittochiamata' => $prezzo_dirittochiamata, 'prezzo_ore_unitario_tecnico' => $prezzo_ore_unitario_tecnico, 'prezzo_km_unitario_tecnico' => $prezzo_km_unitario_tecnico, diff --git a/modules/interventi/ajax_tecnici.php b/modules/interventi/ajax_tecnici.php index a786273e7..93db8f2c5 100644 --- a/modules/interventi/ajax_tecnici.php +++ b/modules/interventi/ajax_tecnici.php @@ -39,7 +39,7 @@ if ($user['gruppo'] == 'Tecnici') { $rss = $dbo->fetchArray('SELECT idtipointervento FROM in_interventi WHERE id='.prepare($id_record)); $idtipointervento = $rs[0]['idtipointervento']; -$query = 'SELECT * FROM an_anagrafiche JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE deleted=0 AND idintervento='.prepare($id_record)." AND idanagrafica IN (SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica = (SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico')) ORDER BY ragione_sociale ASC, in_interventi_tecnici.orario_inizio ASC"; +$query = 'SELECT * FROM an_anagrafiche JOIN in_interventi_tecnici ON in_interventi_tecnici.idtecnico = an_anagrafiche.idanagrafica WHERE deleted=0 AND idintervento='.prepare($id_record)." AND idanagrafica IN (SELECT idanagrafica FROM an_tipianagrafiche_anagrafiche WHERE idtipoanagrafica = (SELECT idtipoanagrafica FROM an_tipianagrafiche WHERE descrizione = 'Tecnico')) ORDER BY ragione_sociale ASC, in_interventi_tecnici.orario_inizio ASC, in_interventi_tecnici.id ASC"; $rs2 = $dbo->fetchArray($query); $prev_tecnico = ''; @@ -49,9 +49,11 @@ if (!empty($rs2)) { // Intestazione tecnico if ($prev_tecnico != $r['ragione_sociale']) { + $prev_tecnico = $r['ragione_sociale']; + echo '
- +
@@ -108,7 +110,7 @@ if (!empty($rs2)) { '; echo ' - + '; @@ -197,9 +197,9 @@ if (!empty($rsi)) { $totale_ore += $int['ore']; $totale_km += $int['km']; - $totale_costo += $int['manodopera_costo']; - $totale_addebito += $int['manodopera_addebito']; - $totale_scontato += $int['manodopera_scontato']; + $totale_costo += $int['manodopera_costo'] + $int['viaggio_costo']; + $totale_addebito += $int['manodopera_addebito'] + $int['viaggio_addebito']; + $totale_scontato += $int['manodopera_scontato'] + $int['viaggio_scontato']; } // Totali diff --git a/modules/stampe_contabili/edit.php b/modules/stampe_contabili/edit.php new file mode 100644 index 000000000..1b5a3cf3c --- /dev/null +++ b/modules/stampe_contabili/edit.php @@ -0,0 +1,26 @@ + +
+

'.tr('Registri iva').'

+
+ + +'; diff --git a/templates/registro_iva/logo_azienda.jpg b/templates/registro_iva/logo_azienda.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fd3914522510a5f6af55ca002d656131577943f GIT binary patch literal 4348 zcmcIG2UJtpwl@VrCxoJO0wL0+iU>%N7AX=0X-XSViqaGWl->m-1e5`!S7|~75d=X3 zN^z7RHAo$0C`u6!6#_qDW_+&y)_d>IU-Qnn>)hSXzWeNb_t_uYp8?>f4KM}(2m}J0 zs1w+q08Rn)P&#@#C_OzLJq$+AzyxPvVq|3EVq<54AL2TE_z)Kl51*j8Fdx5|01uCd zjEETeh@_MxuduAVtc1L{gro$`2nYs)F)=W4GBI&V@bU0T{N=IV32-m~J|H;=hyws~ zfFK;8{VsqX009uHw;YHsSymH+?*e`4T3wM!=3P%0DwPvc>F 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 pzkP8z7RFBvfetchArray($query); + +if ($dir == 'entrata') { + $body .= "REGISTRO IVA VENDITA

"; +} elseif ($dir == 'uscita') { + $body .= "REGISTRO IVA ACQUISTO

"; +} + +$body .= " +
'.$r['ragione_sociale'].' '.tr('Orario inizio').'
'; if ($rs[0]['stato'] != 'Fatturato') { diff --git a/modules/interventi/modutil.php b/modules/interventi/modutil.php index 9e63776c5..ea00bd212 100644 --- a/modules/interventi/modutil.php +++ b/modules/interventi/modutil.php @@ -124,6 +124,13 @@ function add_tecnico($idintervento, $idtecnico, $inizio, $fine, $idcontratto) } } + // Azzeramento forzato del diritto di chiamata nel caso questa non sia la prima sessione dell'intervento per il giorno di inizio [Luca] + $rs = $dbo->fetchArray('SELECT id FROM in_interventi_tecnici WHERE (DATE(orario_inizio)=DATE('.prepare($inizio).') OR DATE(orario_fine)=DATE('.prepare($inizio).')) AND idintervento='.prepare($idintervento)); + if (!empty($rs)) { + $costo_dirittochiamata_tecnico = 0; + $costo_dirittochiamata = 0; + } + // Inserisco le ore dei tecnici nella tabella "in_interventi_tecnici" $dbo->insert('in_interventi_tecnici', [ 'idintervento' => $idintervento, diff --git a/modules/ordini/add_articolo.php b/modules/ordini/add_articolo.php index 03e184b2e..a86ec03c2 100644 --- a/modules/ordini/add_articolo.php +++ b/modules/ordini/add_articolo.php @@ -56,14 +56,9 @@ echo ' '; -// Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore -if ($dir == 'uscita') { - $rsf = $dbo->fetchArray('SELECT idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); - $idiva_predefinita = $rsf[0]['idiva']; -} - -// Leggo l'iva predefinita dall'articolo e se non c'è leggo quella predefinita generica -$idiva = $idiva ?: get_var('Iva predefinita'); +// Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica +$iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); +$idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); // Iva echo ' diff --git a/modules/ordini/add_riga.php b/modules/ordini/add_riga.php index ae9858bc3..fa9232697 100644 --- a/modules/ordini/add_riga.php +++ b/modules/ordini/add_riga.php @@ -29,14 +29,9 @@ if (empty($idriga)) { $prezzo = 0; $sconto = 0; - // Nelle fatture di acquisto leggo l'iva di acquisto dal fornitore - if ($dir == 'uscita') { - $rsf = $dbo->fetchArray('SELECT idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); - $idiva = $rsf[0]['idiva']; - } - - // Leggo l'iva predefinita dall'articolo e se non c'è leggo quella predefinita generica - $idiva = $idiva ?: get_var('Iva predefinita'); + // Leggo l'iva predefinita per l'anagrafica e se non c'è leggo quella predefinita generica + $iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); + $idiva = $iva[0]['idiva'] ?: get_var('Iva predefinita'); } else { $op = 'editriga'; $button = tr('Modifica'); diff --git a/modules/preventivi/plugins/preventivi.consuntivo.php b/modules/preventivi/plugins/preventivi.consuntivo.php index 2b8573d22..1ee5db18b 100644 --- a/modules/preventivi/plugins/preventivi.consuntivo.php +++ b/modules/preventivi/plugins/preventivi.consuntivo.php @@ -64,15 +64,15 @@ if (!empty($rsi)) { - '.Translator::numberToLocale($int['manodopera_costo']).' + '.Translator::numberToLocale($int['manodopera_costo'] + $int['viaggio_costo']).' - '.Translator::numberToLocale($int['manodopera_addebito']).' + '.Translator::numberToLocale($int['manodopera_addebito'] + $int['viaggio_addebito']).' - '.Translator::numberToLocale($int['manodopera_scontato']).' + '.Translator::numberToLocale($int['manodopera_scontato'] + $int['viaggio_scontato']).'
+ + + + + + + + + + + + + "; + +for ($i = 0; $i < sizeof($rs); ++$i) { + $body .= ''; + if ($rs[$i]['numero'] == $rs[$i - 1]['numero']) { + $body .= " "; + $body .= " "; + } else { + $body .= " '; + $body .= " '; + } + $body .= " '; + if ($dir == 'entrata') { + $body .= "'; + } elseif ($dir == 'uscita') { + $body .= "'; + } + $body .= " '; + $body .= " '; + $body .= " '; + $body .= ''; + + $v_iva[$rs[$i]['desc_iva']] += $rs[$i]['iva']; + $v_totale[$rs[$i]['desc_iva']] += $rs[$i]['subtotale']; + + $totale_iva += $rs[$i]['iva']; + $totale_subtotale += $rs[$i]['subtotale']; +} + +$body .= ' +
Prot.DataN° DocumentoCausale
Ragione sociale
AliquotaImponibileImposta
".$rs[$i]['numero'].'".date('d/m/Y', strtotime($rs[$i]['data'])).'".$rs[$i]['numero_esterno'].' + Fattura di vendita
+ ".$rs[$i]['ragione_sociale'].' +
+ Fattura di acquisto
+ ".$rs[$i]['ragione_sociale'].' +
".$rs[$i]['desc_iva'].'".Translator::numberToLocale($rs[$i]['subtotale'], 2).' €".Translator::numberToLocale($rs[$i]['iva'], 2).' €
+ '; + +$body .= "

RIEPILOGO IVA

"; + +$body .= " + + + + + + + + + "; + +foreach ($v_iva as $desc_iva => $tot_iva) { + if ($desc_iva != '') { + $body .= "\n"; + + $body .= "\n"; + + $body .= "\n"; + } +} + +$body .= " + + + + '; + +$body .= ' +
Cod. IVAImponibileImposta
\n"; + $body .= $desc_iva."\n"; + $body .= "\n"; + $body .= Translator::numberToLocale($v_totale[$desc_iva], 2)." €\n"; + $body .= "\n"; + $body .= Translator::numberToLocale($v_iva[$desc_iva], 2)." €\n"; + $body .= "
TOTALE".Translator::numberToLocale($totale_subtotale, 2)." €".Translator::numberToLocale($totale_iva, 2).' €
+ '; + +$orientation = 'L'; +$report_name = 'registro_iva.pdf'; diff --git a/templates/registro_iva/registroiva.html b/templates/registro_iva/registroiva.html new file mode 100644 index 000000000..c311fc99a --- /dev/null +++ b/templates/registro_iva/registroiva.html @@ -0,0 +1,59 @@ + + + + $body$ + diff --git a/templates/registro_iva/registroiva_body.html b/templates/registro_iva/registroiva_body.html new file mode 100644 index 000000000..cf0eca607 --- /dev/null +++ b/templates/registro_iva/registroiva_body.html @@ -0,0 +1,25 @@ + + +
+ + + + + +
+ + $f_ragionesociale$ +

+ $f_indirizzo$ + $f_citta$ + $f_piva$ + $f_codicefiscale$ + $f_capsoc$ + $f_telefono$ +

+
+
+ Logo +
+
+
diff --git a/update/2_3.sql b/update/2_3.sql index 6dd12cea7..acb2fc1b6 100644 --- a/update/2_3.sql +++ b/update/2_3.sql @@ -757,9 +757,6 @@ INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), '_link_record_', 'mg_movimenti.idarticolo', 7, 1, 0, 0, 1), ((SELECT `id` FROM `zz_modules` WHERE `name` = 'Movimenti'), '_link_hash_', 'CONCAT(\'tab_\', (SELECT `id` FROM `zz_plugins` WHERE `name` = \'Movimenti\' AND idmodule_to = (SELECT `id` FROM `zz_modules` WHERE `name` = \'Articoli\')))', 7, 1, 0, 0, 1); --- Impostazione dei titoli di default -UPDATE `zz_modules` SET `title` = `name` WHERE `title` = ''; - -- Aggiunta del campo di dicitura fissa per la fatturazione ALTER TABLE `co_iva` ADD `dicitura` varchar(255); @@ -773,6 +770,11 @@ ALTER TABLE `an_anagrafiche` CHANGE `idlistino` `idlistino_vendite` int(11), ADD UPDATE `an_anagrafiche` SET `idlistino_vendite` = NULL WHERE `idlistino_vendite` = 0; UPDATE `an_anagrafiche` SET `idlistino_acquisti` = `idlistino_vendite` WHERE `idlistino_vendite` IS NOT NULL; +-- Miglioramento della gestione dell'iva predefinita +ALTER TABLE `an_anagrafiche` CHANGE `idiva` `idiva_vendite` int(11), ADD `idiva_acquisti` int(11) AFTER `idiva_vendite`; +UPDATE `an_anagrafiche` SET `idiva_vendite` = NULL WHERE `idiva_vendite` = 0; +UPDATE `an_anagrafiche` SET `idiva_acquisti` = `idiva_vendite` WHERE `idiva_vendite` IS NOT NULL; + -- Rimozione data_sla e ora_sla ALTER TABLE `in_interventi` DROP `data_sla`, DROP `ora_sla`; @@ -933,3 +935,10 @@ UPDATE `co_iva` SET `dicitura` = 'Operazione soggetta a reverse charge ex art. 1 -- Aggiunta campi in co_pagamenti per la selezione del conto di default ALTER TABLE `co_pagamenti` ADD `idconto_vendite` int(11), ADD `idconto_acquisti` int(11); + +-- Aggiunta del modulo Stampe contabili +INSERT INTO `zz_modules` (`id`, `name`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Stampe contabili', 'stampe_contabili', 'custom', '', 'fa fa-angle-right', '2.3', '2.3', '1', 1, '1', '1'); +UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Stampe contabili' AND `t2`.`name` = 'Contabilità') SET `t1`.`parent` = `t2`.`id`; + +-- Impostazione dei titoli di default +UPDATE `zz_modules` SET `title` = `name` WHERE `title` = '';