diff --git a/assets/src/js/functions/functions.js b/assets/src/js/functions/functions.js
index 5b22f5b99..faaa50574 100755
--- a/assets/src/js/functions/functions.js
+++ b/assets/src/js/functions/functions.js
@@ -563,3 +563,60 @@ function salvaForm(button, form, data = {}) {
});
});
}
+
+/**
+ * Nasconde una specifica colonna di una tabella indicata.
+ *
+ * @param table
+ * @param column
+ */
+function hideTableColumn(table, column) {
+ column = "" + column; // Cast a stringa
+
+ // Verifica sulle colonne nascoste in precedenza
+ let hiddenColumns = table.getAttribute("hidden-columns");
+ hiddenColumns = hiddenColumns ? hiddenColumns.split(",") : [];
+ if (hiddenColumns.includes(column)) {
+ return;
+ }
+
+ // Salvataggio delle colonne nascoste
+ hiddenColumns.push(column);
+ table.setAttribute("hidden-columns", hiddenColumns.join(","));
+
+ let rows = table.rows;
+ for (let row of rows) {
+ let currentColumn = 1;
+ for (let i = 0; i < row.cells.length; i++) {
+ let cell = row.cells[i];
+
+ // Individuazione del colspan
+ let colspan = parseInt(cell.getAttribute("colspan"));
+ let hiddenColspan = cell.getAttribute("colspan-hidden");
+ hiddenColspan = parseInt(hiddenColspan ? hiddenColspan : 0);
+ let totalColspan = colspan + hiddenColspan;
+
+ // Gestione dell'operazione nel caso di cella multipla
+ if (totalColspan && totalColspan > 1) {
+ if (column >= currentColumn && column <= currentColumn + totalColspan - 1) {
+ cell.setAttribute("colspan", colspan - 1);
+ cell.setAttribute("colspan-hidden", hiddenColspan + 1);
+
+ // Cella nascosta nel caso colspan sia nullo
+ if (colspan - 1 === 0) {
+ cell.classList.add("hidden");
+ }
+ }
+
+ currentColumn += totalColspan;
+ }
+ // Gestione di una cella normale
+ else {
+ if (column === "" + currentColumn) {
+ cell.classList.add("hidden");
+ }
+ currentColumn++;
+ }
+ }
+ }
+}
diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php
index 803922401..792befc4f 100755
--- a/modules/fatture/row-list.php
+++ b/modules/fatture/row-list.php
@@ -117,7 +117,7 @@ foreach ($righe as $riga) {
// Quantità e unità di misura
echo '
- '.numberFormat($riga->qta, 'qta').' '.$riga->um.'
+ '.numberFormat($fattura->isNota() ? -$riga->qta : $riga->qta, 'qta').' '.$riga->um.'
| ';
// Prezzi unitari
@@ -152,7 +152,7 @@ foreach ($righe as $riga) {
// Importo
echo '
- '.moneyFormat($riga->importo).'
+ '.moneyFormat($fattura->isNota() ? -$riga->importo : $riga->importo).'
| ';
}
@@ -205,6 +205,9 @@ $totale_imponibile = $fattura->totale_imponibile;
$iva = $fattura->iva;
$totale = $fattura->totale;
$netto_a_pagare = $fattura->netto;
+$rivalsa_inps = $fattura->rivalsa_inps;
+$ritenuta_acconto = $fattura->ritenuta_acconto;
+$ritenuta_contributi = $fattura->totale_ritenuta_contributi;
// Inversione dei valori per le Note
$imponibile = $fattura->isNota() ? -$imponibile : $imponibile;
@@ -213,6 +216,9 @@ $totale_imponibile = $fattura->isNota() ? -$totale_imponibile : $totale_imponibi
$iva = $fattura->isNota() ? -$iva : $iva;
$totale = $fattura->isNota() ? -$totale : $totale;
$netto_a_pagare = $fattura->isNota() ? -$netto_a_pagare : $netto_a_pagare;
+$rivalsa_inps = $fattura->isNota() ? -$rivalsa_inps : $rivalsa_inps;
+$ritenuta_acconto = $fattura->isNota() ? -$ritenuta_acconto : $ritenuta_acconto;
+$ritenuta_contributi = $fattura->isNota() ? -$ritenuta_contributi : $ritenuta_contributi;
// IMPONIBILE
echo '
@@ -253,21 +259,24 @@ if (!empty($sconto)) {
}
// RIVALSA INPS
-if (!empty($fattura->rivalsa_inps)) {
+if (!empty($rivalsa_inps)) {
echo '
';
if ($dir == 'entrata') {
+ $descrizione_rivalsa = $database->fetchOne('SELECT CONCAT_WS(\' - \', codice, descrizione) AS descrizione FROM fe_tipo_cassa WHERE codice = '.prepare(setting('Tipo Cassa Previdenziale')));
echo '
- ';
+
+
+ ';
}
echo '
'.tr('Rivalsa', [], ['upper' => true]).' :
|
- '.moneyFormat($fattura->rivalsa_inps, 2).'
+ '.moneyFormat($rivalsa_inps, 2).'
|
|
';
@@ -306,28 +315,28 @@ echo '
';
// RITENUTA D'ACCONTO
-if (!empty($fattura->ritenuta_acconto)) {
+if (!empty($ritenuta_acconto)) {
echo '
'.tr("Ritenuta d'acconto", [], ['upper' => true]).':
|
- '.moneyFormat(abs($fattura->ritenuta_acconto), 2).'
+ '.moneyFormat($ritenuta_acconto, 2).'
|
|
';
}
// RITENUTA CONTRIBUTI
-if (!empty($fattura->totale_ritenuta_contributi)) {
+if (!empty($ritenuta_contributi)) {
echo '
'.tr('Ritenuta contributi', [], ['upper' => true]).':
|
- '.moneyFormat(abs($fattura->totale_ritenuta_contributi), 2).'
+ '.moneyFormat($ritenuta_contributi, 2).'
|
|
';