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'];