From cbf893df33ab27aee7811f3b20749fcfe9e5b621 Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Fri, 15 Feb 2019 09:25:56 +0100 Subject: [PATCH] Fix ritenuta e rivalsa in collegamento documenti --- modules/anagrafiche/actions.php | 1 - modules/anagrafiche/edit.php | 48 ++++++++++++------------------- modules/fatture/actions.php | 51 ++++++++++++++++++++++++--------- update/2_4_7.sql | 3 ++ 4 files changed, 59 insertions(+), 44 deletions(-) diff --git a/modules/anagrafiche/actions.php b/modules/anagrafiche/actions.php index 5759d8e0a..3c5c92890 100644 --- a/modules/anagrafiche/actions.php +++ b/modules/anagrafiche/actions.php @@ -80,7 +80,6 @@ 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 70dfab6d8..9d1942c09 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -326,7 +326,7 @@ if (!empty($google)) {
- {[ "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": "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": "" ]}
@@ -335,9 +335,23 @@ if (!empty($google)) { {[ "type": "select", "label": "", "name": "idlistino_vendite", "values": "query=SELECT id, nome AS descrizione FROM mg_listini ORDER BY nome ASC", "value": "$idlistino_vendite$", "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": "" ]} -
+
+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": "" ]} +
@@ -349,32 +363,6 @@ if (!empty($google)) { {[ "type": "select", "label": "", "name": "idagente", "values": "query=SELECT an_anagrafiche.idanagrafica AS id, IF(deleted_at IS NOT NULL, CONCAT(ragione_sociale, ' (Eliminato)'), ragione_sociale ) AS descrizione FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE (descrizione='Agente' AND deleted_at IS NULL)ORDER BY ragione_sociale", "value": "$idagente$", "extra": "" ]}
-
-
-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'])); - - /*echo ' -

'.tr('Piano dei conti collegato: _NAME_', [ - '_NAME_' => $conto['numero'].'.'.$conto['numero_conto'].' '.$conto['descrizione'], - ]).Modules::link('Piano dei conti', null, '').'

';*/ - 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/fatture/actions.php b/modules/fatture/actions.php index 07354749d..74bcc3a4d 100644 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -637,12 +637,13 @@ switch (post('op')) { $id_record = $fattura->id; } - $parziale = false; - - $id_iva = get('id_iva'); + $id_rivalsa_inps = setting('Percentuale rivalsa'); + $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto"); + $calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); $id_conto = get('id_conto'); - $righe = $ordine->getRighe(); + $parziale = false; + $righe = $ordine->getRighe(); foreach ($righe as $riga) { if (post('evadere')[$riga->id] == 'on') { $qta = post('qta_da_evadere')[$riga->id]; @@ -650,6 +651,10 @@ switch (post('op')) { $copia = $riga->copiaIn($fattura, $qta); $copia->id_conto = $id_conto; + $copia->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto; + $copia->id_ritenuta_acconto = $id_ritenuta_acconto; + $copia->id_rivalsa_inps = $id_rivalsa_inps; + // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { $copia->movimenta($copia->qta); @@ -695,10 +700,12 @@ switch (post('op')) { $id_record = $fattura->id; } - $parziale = false; - - $id_iva = get('id_iva'); + $id_rivalsa_inps = setting('Percentuale rivalsa'); + $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto"); + $calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); $id_conto = get('id_conto'); + + $parziale = false; $righe = $ddt->getRighe(); foreach ($righe as $riga) { if (post('evadere')[$riga->id] == 'on') { @@ -707,6 +714,10 @@ switch (post('op')) { $copia = $riga->copiaIn($fattura, $qta); $copia->id_conto = $id_conto; + $copia->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto; + $copia->id_ritenuta_acconto = $id_ritenuta_acconto; + $copia->id_rivalsa_inps = $id_rivalsa_inps; + // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { $serials = is_array(post('serial')[$riga->id]) ? post('serial')[$riga->id] : []; @@ -749,10 +760,13 @@ switch (post('op')) { $id_record = $fattura->id; } - $parziale = false; - - $id_iva = get('id_iva'); + $id_rivalsa_inps = setting('Percentuale rivalsa'); + $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto"); + $calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); $id_conto = get('id_conto'); + $id_iva = get('id_iva'); + + $parziale = false; $righe = $preventivo->getRighe(); foreach ($righe as $riga) { if (post('evadere')[$riga->id] == 'on') { @@ -762,6 +776,10 @@ switch (post('op')) { $copia->id_iva = $id_iva; $copia->id_conto = $id_conto; + $copia->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto; + $copia->id_ritenuta_acconto = $id_ritenuta_acconto; + $copia->id_rivalsa_inps = $id_rivalsa_inps; + // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { $copia->movimenta($copia->qta); @@ -810,10 +828,13 @@ switch (post('op')) { $id_record = $fattura->id; } - $parziale = false; - - $id_iva = get('id_iva'); + $id_rivalsa_inps = setting('Percentuale rivalsa'); + $id_ritenuta_acconto = ($dir == 'uscita') ? $fattura->anagrafica->id_ritenuta_acconto_acquisti : setting("Percentuale ritenuta d'acconto"); + $calcolo_ritenuta_acconto = setting("Metodologia calcolo ritenuta d'acconto predefinito"); $id_conto = get('id_conto'); + $id_iva = get('id_iva'); + + $parziale = false; $righe = $contratto->getRighe(); foreach ($righe as $riga) { if (post('evadere')[$riga->id] == 'on') { @@ -823,6 +844,10 @@ switch (post('op')) { $copia->id_iva = $id_iva; $copia->id_conto = $id_conto; + $copia->calcolo_ritenuta_acconto = $calcolo_ritenuta_acconto; + $copia->id_ritenuta_acconto = $id_ritenuta_acconto; + $copia->id_rivalsa_inps = $id_rivalsa_inps; + // Aggiornamento seriali dalla riga dell'ordine if ($copia->isArticolo()) { $copia->movimenta($copia->qta); diff --git a/update/2_4_7.sql b/update/2_4_7.sql index 239a6be15..37c7c65dd 100644 --- a/update/2_4_7.sql +++ b/update/2_4_7.sql @@ -17,3 +17,6 @@ INSERT INTO `co_staticontratti` (`id`, `descrizione`, `pianificabile`, `fatturab (NULL, 'Parzialmente fatturato', 0, 1, 'fa fa-file-text-o text-warning'); 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`;