diff --git a/include/common/conti.php b/include/common/conti.php index 049f988b7..bc84f3940 100644 --- a/include/common/conti.php +++ b/include/common/conti.php @@ -66,7 +66,7 @@ if ($module['name'] == 'Fatture di acquisto' || $module['name'] == 'Fatture di v } $idrivalsainps = setting('Percentuale rivalsa INPS'); - $idritenutaacconto = setting("Percentuale ritenuta d'acconto"); + $idritenutaacconto = $result['id_ritenuta_acconto'] ?: setting("Percentuale ritenuta d'acconto"); $calcolo_ritenutaacconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); } // Caso particolare per aggiunta articolo in fatture di vendita diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index 2ec1b7ed8..bc747244e 100644 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -52,6 +52,8 @@ switch (post('op')) { $anagrafica->foro_competenza = post('foro_competenza'); $anagrafica->colore = post('colore'); $anagrafica->idtipointervento_default = post('idtipointervento_default'); + $anagrafica->id_ritenuta_acconto_acquisti = post('id_ritenuta_acconto_acquisti'); + $anagrafica->id_ritenuta_acconto_vendite = post('id_ritenuta_acconto_vendite'); $anagrafica->updateTipologie((array) post('idtipoanagrafica')); diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index 225a8719e..d37437137 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -225,6 +225,10 @@ if (!empty($google)) { {[ "type": "select", "label": "", "name": "idiva_acquisti", "ajax-source": "iva", "value": "$idiva_acquisti$", "extra": "" ]} +
+ {[ "type": "select", "label": "", "name": "id_ritenuta_acconto_acquisti", "values": "query=SELECT id, descrizione FROM co_ritenutaacconto ORDER BY descrizione ASC", "value": "$id_ritenuta_acconto_acquisti$", "extra": "" ]} +
+
{[ "type": "select", "label": "", "name": "idlistino_acquisti", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_acquisti$", "extra": "" ]}
@@ -254,9 +258,13 @@ if (!empty($google)) {
- {[ "type": "select", "label": "", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "" ]} + {[ "type": "select", "label": "", "name": "idiva_vendite", "ajax-source": "iva", "value": "$idiva_vendite$", "extra": "" ]}
+
+ {[ "type": "select", "label": "", "name": "id_ritenuta_acconto_vendite", "values": "query=SELECT id, descrizione FROM co_ritenutaacconto ORDER BY descrizione ASC", "value": "$id_ritenuta_acconto_vendite$", "extra": "" ]} +
+
{[ "type": "select", "label": "", "name": "idlistino_vendite", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_vendite$", "extra": "" ]}
diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php index 9920e9287..51eabf898 100644 --- a/modules/fatture/row-add.php +++ b/modules/fatture/row-add.php @@ -46,6 +46,10 @@ $result = [ $iva = $dbo->fetchArray('SELECT idiva_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS idiva FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); $result['idiva'] = $iva[0]['idiva'] ?: setting('Iva predefinita'); +// Leggo la ritenuta d'acconto predefinita per l'anagrafica e se non c'รจ leggo quella predefinita generica +$ritenuta_acconto = $dbo->fetchArray('SELECT id_ritenuta_acconto_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS id_ritenuta_acconto FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica)); +$result['id_ritenuta_acconto'] = $ritenuta_acconto[0]['id_ritenuta_acconto'] ?: setting("Percentuale ritenuta d'acconto"); + // Sconto unitario $rss = $dbo->fetchArray('SELECT prc_guadagno FROM mg_listini WHERE id=(SELECT idlistino_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica).')'); if (!empty($rss)) { diff --git a/update/2_4_2.sql b/update/2_4_2.sql index ad86deeea..376718d11 100644 --- a/update/2_4_2.sql +++ b/update/2_4_2.sql @@ -480,6 +480,10 @@ INSERT INTO `zz_email_print` (`id`, `id_email`, `id_print`) VALUES UPDATE `zz_emails` SET `main` = 1 WHERE `name` = 'Rapportino intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'); UPDATE `in_statiintervento` SET `id_email` = (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi')); +-- Ritenuta d'acconto predefinita per anagrafica +ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_vendite` INT(11) NULL DEFAULT NULL AFTER `idiva_acquisti`; +ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_acquisti` INT(11) NULL DEFAULT NULL AFTER `id_ritenuta_acconto_vendite`; + -- Correzione partite ive e codici fiscali UPDATE `an_anagrafiche` SET `piva` = REPLACE(`piva`, ' ', ''), `codice_fiscale` = REPLACE(`codice_fiscale`, ' ', '');