Fix selezione iva in righe documenti

This commit is contained in:
MatteoPistorello 2023-10-06 13:21:37 +02:00
parent 19317428f5
commit 648b708683
6 changed files with 35 additions and 6 deletions

View File

@ -28,6 +28,7 @@ use Modules\Contratti\Components\Riga;
use Modules\Contratti\Components\Sconto;
use Modules\Contratti\Contratto;
use Modules\Contratti\Stato;
use Modules\Iva\Aliquota;
use Plugins\PianificazioneInterventi\Promemoria;
switch (post('op')) {
@ -563,7 +564,11 @@ switch (post('op')) {
$articolo->qta = 1;
$articolo->costo_unitario = $originale->prezzo_acquisto;
$id_iva = ($contratto->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($contratto->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $contratto->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
$id_anagrafica = $contratto->idanagrafica;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');

View File

@ -29,6 +29,7 @@ use Modules\DDT\Components\Sconto;
use Modules\DDT\DDT;
use Modules\DDT\Stato;
use Modules\DDT\Tipo;
use Modules\Iva\Aliquota;
$module = Modules::get($id_module);
@ -575,8 +576,12 @@ switch (filter('op')) {
$articolo->qta = 1;
$articolo->costo_unitario = $originale->prezzo_acquisto;
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($dir == 'entrata') {
$id_iva = ($ddt->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($ddt->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $ddt->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
} else {
$id_iva = ($ddt->anagrafica->idiva_acquisti ?: setting('Iva predefinita'));
}

View File

@ -962,7 +962,11 @@ switch ($op) {
$articolo->idconto = $id_conto;
if ($dir == 'entrata') {
$id_iva = ($fattura->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($fattura->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $fattura->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
} else {
$id_iva = ($fattura->anagrafica->idiva_acquisti ?: setting('Iva predefinita'));
}

View File

@ -31,6 +31,7 @@ use Modules\Interventi\Components\Sconto;
use Modules\Interventi\Components\Sessione;
use Modules\Interventi\Intervento;
use Modules\Interventi\Stato;
use Modules\Iva\Aliquota;
use Modules\TipiIntervento\Tipo as TipoSessione;
use Plugins\ComponentiImpianti\Componente;
use Plugins\ListinoClienti\DettaglioPrezzo;
@ -1064,7 +1065,11 @@ switch (post('op')) {
$articolo->qta = 1;
$articolo->costo_unitario = $originale->prezzo_acquisto;
$id_iva = ($intervento->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($intervento->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $intervento->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
$id_anagrafica = $intervento->idanagrafica;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
use Carbon\Carbon;
use Modules\Anagrafiche\Anagrafica;
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\Iva\Aliquota;
use Modules\Ordini\Components\Articolo;
use Modules\Ordini\Components\Descrizione;
use Modules\Ordini\Components\Riga;
@ -624,7 +625,11 @@ switch (post('op')) {
$articolo->confermato = ($dir == 'entrata' ? setting('Conferma automaticamente le quantità negli ordini cliente') : setting('Conferma automaticamente le quantità negli ordini fornitore'));
if ($dir == 'entrata') {
$id_iva = ($ordine->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($ordine->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $ordine->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
} else {
$id_iva = ($ordine->anagrafica->idiva_acquisti ?: setting('Iva predefinita'));
}

View File

@ -22,6 +22,7 @@ include_once __DIR__.'/../../core.php';
use Carbon\Carbon;
use Modules\Anagrafiche\Anagrafica;
use Modules\Articoli\Articolo as ArticoloOriginale;
use Modules\Iva\Aliquota;
use Modules\Preventivi\Components\Articolo;
use Modules\Preventivi\Components\Descrizione;
use Modules\Preventivi\Components\Riga;
@ -438,7 +439,11 @@ switch (post('op')) {
$articolo->costo_unitario = $originale->prezzo_acquisto;
$articolo->confermato = setting('Conferma automaticamente le quantità nei preventivi');
$id_iva = ($preventivo->anagrafica->idiva_vendite ?: $originale->idiva_vendita) ?: setting('Iva predefinita');
// L'aliquota dell'articolo ha precedenza solo se ha aliquota a 0, altrimenti anagrafica -> articolo -> impostazione
if ($originale->idiva_vendita) {
$aliquota_articolo = floatval(Aliquota::find($originale->idiva_vendita)->percentuale);
}
$id_iva = ($preventivo->anagrafica->idiva_vendite && (!$originale->idiva_vendita || $aliquota_articolo != 0) ? $preventivo->anagrafica->idiva_vendite : $originale->idiva_vendita) ?: setting('Iva predefinita');
$id_anagrafica = $preventivo->idanagrafica;
$prezzi_ivati = setting('Utilizza prezzi di vendita comprensivi di IVA');