diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php
index 3c5c92890..5759d8e0a 100644
--- a/modules/anagrafiche/actions.php
+++ b/modules/anagrafiche/actions.php
@@ -80,6 +80,7 @@ switch (post('op')) {
$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->split_payment = post('split_payment');
$anagrafica->tipologie = (array) post('idtipoanagrafica');
diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php
index 9d1942c09..070ad0781 100644
--- a/modules/anagrafiche/edit.php
+++ b/modules/anagrafiche/edit.php
@@ -326,7 +326,7 @@ if (!empty($google)) {
- {[ "type": "select", "label": "", "name": "idsede_fatturazione", "values": "query=SELECT id, IF(citta = '', nomesede, CONCAT_WS(', ', nomesede, citta)) AS descrizione FROM an_sedi WHERE idanagrafica='' UNION SELECT '0' AS id, 'Sede legale' AS descrizione ORDER BY descrizione", "value": "$idsede_fatturazione$" , "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": "" ]}
@@ -336,21 +336,7 @@ if (!empty($google)) {
-fetchOne('SELECT co_pianodeiconti2.numero as numero, co_pianodeiconti3.numero as numero_conto, co_pianodeiconti3.descrizione as descrizione FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = '.prepare($record['idconto_cliente']));
-
- if (!empty($conto['numero_conto'])) {
- $piano_dei_conti_cliente = tr('_NAME_', [
- '_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
- ]);
- echo Modules::link('Piano dei conti', null, null, null, 'class="pull-right"');
- } else {
- $piano_dei_conti_cliente = tr('Nessuno');
- } ?>
-
- {[ "type": "select", "label": "", "name": "piano_dei_conti_cliente", "values": "list=\"\": \"\"", "readonly": 1, "value": "", "extra": "" ]}
+ {[ "type": "select", "label": "", "name": "idsede_fatturazione", "values": "query=SELECT id, IF(citta = '', nomesede, CONCAT_WS(', ', nomesede, citta)) AS descrizione FROM an_sedi WHERE idanagrafica='' UNION SELECT '0' AS id, 'Sede legale' AS descrizione ORDER BY descrizione", "value": "$idsede_fatturazione$" , "extra": "" ]}
@@ -364,6 +350,28 @@ $conto = $dbo->fetchOne('SELECT co_pianodeiconti2.numero as numero, co_pianodeic
+
+
+
+ fetchOne('SELECT co_pianodeiconti2.numero as numero, co_pianodeiconti3.numero as numero_conto, co_pianodeiconti3.descrizione as descrizione FROM co_pianodeiconti3 INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE co_pianodeiconti3.id = '.prepare($record['idconto_cliente']));
+
+ if (!empty($conto['numero_conto'])) {
+ $piano_dei_conti_cliente = tr('_NAME_', [
+ '_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'],
+ ]);
+ echo Modules::link('Piano dei conti', null, null, null, 'class="pull-right"');
+ } else {
+ $piano_dei_conti_cliente = tr('Nessuno');
+ } ?>
+
+ {[ "type": "select", "label": "", "name": "piano_dei_conti_cliente", "values": "list=\"\": \"\"", "readonly": 1, "value": "", "extra": "" ]}
+
+
+
+
diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php
index 1967f6b41..8c45d93fe 100644
--- a/modules/anagrafiche/src/Anagrafica.php
+++ b/modules/anagrafiche/src/Anagrafica.php
@@ -46,6 +46,7 @@ class Anagrafica extends Model
$codice = Generator::generate(setting('Formato codice anagrafica'), $ultimo['codice']);
$model->codice = $codice;
+ $model->id_ritenuta_acconto_vendite = setting("Percentuale ritenuta d'acconto");
$model->save();
$model->tipologie = $tipologie;
diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php
index 7732526c2..0d3f44d49 100644
--- a/modules/fatture/actions.php
+++ b/modules/fatture/actions.php
@@ -635,7 +635,7 @@ switch (post('op')) {
}
$id_rivalsa_inps = setting('Percentuale rivalsa');
- $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto");
+ $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : $fattura->anagrafica->id_ritenuta_acconto_vendite;
$calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito");
$id_conto = get('id_conto');
@@ -700,7 +700,7 @@ switch (post('op')) {
}
$id_rivalsa_inps = setting('Percentuale rivalsa');
- $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto");
+ $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : $fattura->anagrafica->id_ritenuta_acconto_vendite;
$calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito");
$id_conto = get('id_conto');
@@ -762,7 +762,7 @@ switch (post('op')) {
}
$id_rivalsa_inps = setting('Percentuale rivalsa');
- $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto");
+ $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : $fattura->anagrafica->id_ritenuta_acconto_vendite;
$calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito");
$id_conto = get('id_conto');
$id_iva = get('id_iva');
@@ -832,7 +832,7 @@ switch (post('op')) {
}
$id_rivalsa_inps = setting('Percentuale rivalsa');
- $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto");
+ $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : $fattura->anagrafica->id_ritenuta_acconto_vendite;
$calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito");
$id_conto = get('id_conto');
$id_iva = get('id_iva');
diff --git a/modules/fatture/row-add.php b/modules/fatture/row-add.php
index 7ab7523fd..b7db6ba9e 100644
--- a/modules/fatture/row-add.php
+++ b/modules/fatture/row-add.php
@@ -55,6 +55,7 @@ if ($listino[0]['prc_guadagno'] > 0) {
}
// Leggo la ritenuta d'acconto predefinita per l'anagrafica e se non c'รจ leggo quella predefinita generica
+// id_ritenuta_acconto_vendite oppure id_ritenuta_acconto_acquisti
$ritenuta_acconto = $dbo->fetchOne('SELECT id_ritenuta_acconto_'.($dir == 'uscita' ? 'acquisti' : 'vendite').' AS id_ritenuta_acconto FROM an_anagrafiche WHERE idanagrafica='.prepare($idanagrafica));
$options['id_ritenuta_acconto_predefined'] = $ritenuta_acconto['id_ritenuta_acconto'];
diff --git a/update/2_4_7.sql b/update/2_4_7.sql
index 7e66e9446..9fa73d84d 100644
--- a/update/2_4_7.sql
+++ b/update/2_4_7.sql
@@ -18,9 +18,6 @@ INSERT INTO `co_staticontratti` (`id`, `descrizione`, `pianificabile`, `fatturab
UPDATE `zz_widgets` SET `query` = REPLACE(`query`, 'In attesa di pagamento', 'Fatturato');
--- Rimozione id_ritenuta_acconto_vendite non supportata
-ALTER TABLE `an_anagrafiche` DROP `id_ritenuta_acconto_vendite`;
-
-- Fix ritenuta contributi
ALTER TABLE `co_documenti` CHANGE `id_ritenuta_contributi` `id_ritenuta_contributi` INT(11);
UPDATE `co_documenti` SET `id_ritenuta_contributi` = NULL WHERE `id_ritenuta_contributi` = 0;