diff --git a/lib/functions.js b/lib/functions.js index 393b26e2e..f7205667a 100644 --- a/lib/functions.js +++ b/lib/functions.js @@ -21,6 +21,8 @@ var isMobile = { }; + + // Aggiunta dell'ingranaggio all'unload della pagina $(window).on("beforeunload", function () { $("#main_loading").show(); @@ -420,6 +422,7 @@ function launch_modal(title, href, init_modal, id) { id = '#bs-popup'; } + if (init_modal == null) { init_modal = 1; } @@ -427,9 +430,13 @@ function launch_modal(title, href, init_modal, id) { $('html').addClass('modal-open'); $(id).on('hidden.bs.modal', function () { - $('html').removeClass('modal-open'); - $(this).html(''); - $(this).data('modal', null); + + if ($('.modal-backdrop').length < 1 ) { + $('html').removeClass('modal-open'); + $(this).html(''); + $(this).data('modal', null); + } + }); // Lettura contenuto div diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index 34685702e..8e19a4790 100644 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -255,7 +255,7 @@ $totale = sum([ $netto_a_pagare = sum([ $totale, - $marca_da_bollo, + $records[0]['bollo'], -$records[0]['ritenutaacconto'], ]); @@ -363,8 +363,6 @@ if (abs($records[0]['ritenutaacconto']) > 0) { '; - - //$netto_a_pagare -= $records[0]['ritenutaacconto']; } // NETTO A PAGARE diff --git a/modules/interventi/add_articolo.php b/modules/interventi/add_articolo.php index 61b2ae96e..7d67982a8 100644 --- a/modules/interventi/add_articolo.php +++ b/modules/interventi/add_articolo.php @@ -34,7 +34,7 @@ if (empty($idriga)) { $listino = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id = (SELECT idlistino_vendite FROM an_anagrafiche WHERE idanagrafica = '.prepare($idanagrafica).')'); if (!empty($listino[0]['prc_guadagno'])) { - $sconto = $listino[0]['prc_guadagno']; + $sconto_unitario = $listino[0]['prc_guadagno']; $tipo_sconto = 'PRC'; } } else { diff --git a/modules/interventi/add_righe.php b/modules/interventi/add_righe.php index 50715862c..05b91efeb 100644 --- a/modules/interventi/add_righe.php +++ b/modules/interventi/add_righe.php @@ -21,7 +21,7 @@ if (empty($idriga)) { $prezzo_acquisto = '0'; if (!empty($rs[0]['prc_guadagno'])) { - $sconto = $rs[0]['prc_guadagno']; + $sconto_unitario = $rs[0]['prc_guadagno']; $tipo_sconto = 'PRC'; } } else { diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php index 7f8f417e0..629e2f803 100644 --- a/modules/preventivi/actions.php +++ b/modules/preventivi/actions.php @@ -255,9 +255,10 @@ switch (post('op')) { $rs2 = $dbo->fetchArray('SELECT descrizione, percentuale, indetraibile FROM co_iva WHERE id='.prepare($idiva)); $iva = ($subtot - $sconto) / 100 * $rs2[0]['percentuale']; $iva_indetraibile = $iva / 100 * $rs2[0]['indetraibile']; + $desc_iva = $rs2[0]['descrizione']; // Modifica riga generica sul documento - $query = 'UPDATE co_righe_preventivi SET idiva='.prepare($idiva).', iva='.prepare($iva).', iva_indetraibile='.prepare($iva_indetraibile).', descrizione='.prepare($descrizione).', subtotale='.prepare($subtot).', sconto='.prepare($sconto).', sconto_unitario='.prepare($sconto_unitario).', tipo_sconto='.prepare($tipo_sconto).', um='.prepare($um).', qta='.prepare($qta).' WHERE id='.prepare($idriga); + $query = 'UPDATE co_righe_preventivi SET idiva='.prepare($idiva).', desc_iva='.prepare($desc_iva).', iva='.prepare($iva).', iva_indetraibile='.prepare($iva_indetraibile).', descrizione='.prepare($descrizione).', subtotale='.prepare($subtot).', sconto='.prepare($sconto).', sconto_unitario='.prepare($sconto_unitario).', tipo_sconto='.prepare($tipo_sconto).', um='.prepare($um).', qta='.prepare($qta).' WHERE id='.prepare($idriga); $dbo->query($query); $_SESSION['infos'][] = 'Riga modificata!'; diff --git a/modules/preventivi/row-list.php b/modules/preventivi/row-list.php index 41028983a..0e0b2f8f4 100644 --- a/modules/preventivi/row-list.php +++ b/modules/preventivi/row-list.php @@ -5,7 +5,7 @@ include_once __DIR__.'/../../core.php'; /* ARTICOLI + RIGHE GENERICHE */ -$q_art = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo),'') AS codice, IFNULL((SELECT descrizione FROM co_iva WHERE id=idiva),'') AS desc_iva FROM co_righe_preventivi WHERE idpreventivo=".prepare($id_record).' ORDER BY `order`'; +$q_art = "SELECT *, IFNULL((SELECT codice FROM mg_articoli WHERE id=idarticolo), '') AS codice FROM co_righe_preventivi WHERE idpreventivo=".prepare($id_record).' ORDER BY `order`'; $rs = $dbo->fetchArray($q_art); echo ' diff --git a/templates/fatture/body.php b/templates/fatture/body.php index a88030143..1e4f8f9dc 100644 --- a/templates/fatture/body.php +++ b/templates/fatture/body.php @@ -192,6 +192,19 @@ if (!empty($records[0]['note'])) {

'.nl2br($records[0]['note']).'

'; } +if (abs($records[0]['bollo']) > 0) { + echo ' +
+ + + + +
+

+ '.tr('Spazio per applicazione marca da bollo', [], ['upper' => true]).' +
'; +} + // Info per il footer $imponibile = sum($imponibile); $iva = sum($iva); diff --git a/templates/fatture/footer.php b/templates/fatture/footer.php index 21512e1e7..0eaec5da3 100755 --- a/templates/fatture/footer.php +++ b/templates/fatture/footer.php @@ -102,22 +102,22 @@ echo ' '; // TOTALI -$width = round(100/(!empty($sconto) ? 5 : 3), 2); +$width = round(100 / (!empty($sconto) ? 5 : 3), 2); echo " - ".tr('Imponibile', [], ['upper' => true])." - "; + ".tr('Imponibile', [], ['upper' => true]).' + '; if (!empty($sconto)) { - echo " + echo " ".tr('Sconto', [], ['upper' => true])." - ".tr('Imponibile scontato', [], ['upper' => true])." - "; + ".tr('Imponibile scontato', [], ['upper' => true]).' + '; } echo " @@ -132,8 +132,8 @@ echo " - ".Translator::numberToLocale($imponibile)." € - "; + ".Translator::numberToLocale($imponibile).' € + '; if (!empty($sconto)) { echo " @@ -143,11 +143,11 @@ if (!empty($sconto)) { - ".Translator::numberToLocale($imponibile - $sconto)." € - "; + ".Translator::numberToLocale($imponibile - $sconto).' € + '; } - echo " +echo " ".Translator::numberToLocale($iva)." € @@ -157,58 +157,120 @@ if (!empty($sconto)) { '; - // Rivalsa INPS - if ($records[0]['rivalsainps'] != 0) { - $rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idrivalsainps!=0 LIMIT 0,1)'); +// Aggiunta della marca da bollo al totale +$totale = sum($totale, $records[0]['bollo']); - echo " - - - ".tr("Rivalsa INPS _PRC_%", [ - '_PRC_' => Translator::numberToLocale($rs2[0]['percentuale'], 0), - ], ['upper' => true])." - +// Rivalsa INPS +if (!empty($records[0]['rivalsainps'])) { + $rs2 = $dbo->fetchArray('SELECT percentuale FROM co_rivalsainps WHERE id=(SELECT idrivalsainps FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idrivalsainps!=0 LIMIT 0,1)'); - - ".tr('Totale documento', [], ['upper' => true])." - - - - - - ".Translator::numberToLocale($records[0]['rivalsainps'])." € - - - - ".Translator::numberToLocale($totale + $records[0]['rivalsainps']).' € - - '; + $first_colspan = 3; + $second_colspan = 2; + if (abs($records[0]['bollo']) > 0) { + --$first_colspan; + } + if (empty($sconto)) { + --$first_colspan; + --$second_colspan; } -// Ritenuta d'acconto -if ($records[0]['ritenutaacconto'] != 0) { - $rs2 = $dbo->fetchArray('SELECT percentuale FROM co_ritenutaacconto WHERE id=(SELECT idritenutaacconto FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idritenutaacconto!=0 LIMIT 0,1)'); - - echo " + echo ' - - ".tr("Ritenuta d'acconto _PRC_%", [ + + '.tr('Rivalsa INPS _PRC_%', [ '_PRC_' => Translator::numberToLocale($rs2[0]['percentuale'], 0), - ], ['upper' => true])." - + ], ['upper' => true]).' + '; - - ".tr('Netto a pagare', [], ['upper' => true])." + if (abs($records[0]['bollo']) > 0) { + echo ' + + + '.tr('Marca da bollo', [], ['upper' => true]).' + '; + } + + echo ' + + + '.tr('Totale documento', [], ['upper' => true]).' - - ".Translator::numberToLocale($records[0]['ritenutaacconto'])." € - + + '.Translator::numberToLocale($records[0]['rivalsainps']).' € + '; - - ".Translator::numberToLocale($totale - $records[0]['ritenutaacconto']).' € + if (abs($records[0]['bollo']) > 0) { + echo ' + + + '.Translator::numberToLocale($records[0]['bollo']).' € + '; + } + + echo ' + + + '.Translator::numberToLocale($totale + $records[0]['rivalsainps']).' € + + '; +} + +// Ritenuta d'acconto +if (!empty($records[0]['ritenutaacconto'])) { + $rs2 = $dbo->fetchArray('SELECT percentuale FROM co_ritenutaacconto WHERE id=(SELECT idritenutaacconto FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento).' AND idritenutaacconto!=0 LIMIT 0,1)'); + + $first_colspan = 3; + $second_colspan = 2; + if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) { + --$first_colspan; + } + if (empty($sconto)) { + --$first_colspan; + --$second_colspan; + } + + echo ' + + + '.tr("Ritenuta d'acconto _PRC_%", [ + '_PRC_' => Translator::numberToLocale($rs2[0]['percentuale'], 0), + ], ['upper' => true]).' + '; + + if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) { + echo ' + + + '.tr('Marca da bollo', [], ['upper' => true]).' + '; + } + + echo ' + + '.tr('Netto a pagare', [], ['upper' => true]).' + + + + + + '.Translator::numberToLocale($records[0]['ritenutaacconto']).' € + '; + + if (empty($records[0]['rivalsainps']) && abs($records[0]['bollo']) > 0) { + echo ' + + + '.Translator::numberToLocale($records[0]['bollo']).' € + '; + } + + echo ' + + + '.Translator::numberToLocale($totale - $records[0]['ritenutaacconto']).' € '; } diff --git a/templates/fatture/init.php b/templates/fatture/init.php index 3f5587bdc..4f1b89461 100644 --- a/templates/fatture/init.php +++ b/templates/fatture/init.php @@ -10,6 +10,10 @@ $records = $dbo->fetchArray('SELECT *, (SELECT dir FROM co_tipidocumento WHERE id=idtipodocumento) AS dir FROM co_documenti WHERE id='.prepare($iddocumento)); +$records[0]['rivalsainps'] = floatval($records[0]['rivalsainps']); +$records[0]['ritenutaacconto'] = floatval($records[0]['ritenutaacconto']); +$records[0]['bollo'] = floatval($records[0]['bollo']); + $module_name = ($records[0]['dir'] == 'entrata') ? 'Fatture di vendita' : 'Fatture di acquisto'; $id_cliente = $records[0]['idanagrafica'];