Importazione righe FE con quantità e importo a 0 come descrizioni
This commit is contained in:
parent
7815054a2e
commit
8d79786184
|
@ -372,6 +372,7 @@ if (!empty($righe)) {
|
|||
$qta = $riga['Quantita'];
|
||||
$um = $riga['UnitaMisura'];
|
||||
$prezzo_unitario = $riga['PrezzoUnitario'] ?: $riga['Importo'];
|
||||
$is_descrizione = empty((float)$riga['Quantita']) && empty((float)$prezzo_unitario);
|
||||
|
||||
echo '
|
||||
<tr data-id="'.$key.'" data-qta="'.$qta.'" data-prezzo_unitario="'.$prezzo_unitario.'" data-iva_percentuale="'.$riga['AliquotaIVA'].'">
|
||||
|
@ -404,8 +405,11 @@ if (!empty($righe)) {
|
|||
]).'
|
||||
<span id="riferimento_'.$key.'_iva"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>';
|
||||
|
||||
|
||||
if (!$is_descrizione) {
|
||||
echo '
|
||||
<tr id="dati_'.$key.'">
|
||||
<td colspan="4" class="row">
|
||||
<span class="hide" id="aliquota['.$key.']">'.$riga['AliquotaIVA'].'</span>
|
||||
|
@ -462,6 +466,24 @@ if (!empty($righe)) {
|
|||
</div>
|
||||
</td>
|
||||
</tr>';
|
||||
} else {
|
||||
echo '
|
||||
<input type="hidden" name="qta_riferimento['.$key.']" id="qta_riferimento_'.$key.'" value="'.$riga['Quantita'].'">
|
||||
|
||||
<input type="hidden" name="tipo_riferimento['.$key.']" id="tipo_riferimento_'.$key.'" value="">
|
||||
<input type="hidden" name="id_riferimento['.$key.']" id="id_riferimento_'.$key.'" value="">
|
||||
<input type="hidden" name="id_riga_riferimento['.$key.']" id="id_riga_riferimento_'.$key.'" value="">
|
||||
<input type="hidden" name="tipo_riga_riferimento['.$key.']" id="tipo_riga_riferimento_'.$key.'" value="">
|
||||
|
||||
<input type="hidden" name="tipo_riferimento_vendita['.$key.']" id="tipo_riferimento_vendita_'.$key.'" value="">
|
||||
<input type="hidden" name="id_riferimento_vendita['.$key.']" id="id_riferimento_vendita_'.$key.'" value="">
|
||||
<input type="hidden" name="id_riga_riferimento_vendita['.$key.']" id="id_riga_riferimento_vendita_'.$key.'" value="">
|
||||
<input type="hidden" name="tipo_riga_riferimento_vendita['.$key.']" id="tipo_riga_riferimento_vendita_'.$key.'" value="">
|
||||
|
||||
<input type="hidden" name="conto['.$key.']" value="">
|
||||
<input type="hidden" name="iva['.$key.']" value="">
|
||||
<input type="hidden" name="update_info['.$key.']" value="">';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -24,6 +24,7 @@ use Modules\Anagrafiche\Anagrafica;
|
|||
use Modules\Articoli\Articolo as ArticoloOriginale;
|
||||
use Modules\Articoli\Categoria;
|
||||
use Modules\Fatture\Components\Articolo;
|
||||
use Modules\Fatture\Components\Descrizione;
|
||||
use Modules\Fatture\Components\Riga;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Plugins\ListinoClienti\DettaglioPrezzo;
|
||||
|
@ -123,6 +124,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$id_rivalsa = $info['id_rivalsa'];
|
||||
$calcolo_ritenuta_acconto = $info['rivalsa_in_ritenuta'] ? 'IMP+RIV' : 'IMP';
|
||||
$ritenuta_contributi = !empty($fattura->id_ritenuta_contributi);
|
||||
$conto_arrotondamenti = null;
|
||||
|
||||
foreach ($righe as $key => $riga) {
|
||||
$articolo = ArticoloOriginale::find($articoli[$key]);
|
||||
|
@ -130,6 +132,8 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$riga['PrezzoUnitario'] = floatval($riga['PrezzoUnitario']);
|
||||
$riga['Quantita'] = floatval($riga['Quantita']);
|
||||
|
||||
$is_descrizione = empty($riga['Quantita']) && empty($riga['PrezzoUnitario']);
|
||||
|
||||
$codici = $riga['CodiceArticolo'] ?: [];
|
||||
$codici = !empty($codici) && !isset($codici[0]) ? [$codici] : $codici;
|
||||
|
||||
|
@ -161,6 +165,10 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
$obj->movimentazione($movimentazione);
|
||||
|
||||
$target_type = Articolo::class;
|
||||
} elseif($is_descrizione) {
|
||||
$obj = Descrizione::build($fattura);
|
||||
|
||||
$target_type = Descrizione::class;
|
||||
} else {
|
||||
$obj = Riga::build($fattura);
|
||||
|
||||
|
@ -190,9 +198,14 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
]);
|
||||
}
|
||||
|
||||
if (!$is_descrizione) {
|
||||
$obj->id_iva = $iva[$key];
|
||||
$obj->idconto = $conto[$key];
|
||||
|
||||
if (empty($conto_arrotondamenti) && !empty($conto[$key]) ){
|
||||
$conto_arrotondamenti = $conto[$key];
|
||||
}
|
||||
|
||||
$obj->id_rivalsa_inps = $id_rivalsa;
|
||||
$obj->ritenuta_contributi = $ritenuta_contributi;
|
||||
|
||||
|
@ -297,6 +310,8 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
|
||||
$tipo = null;
|
||||
$sconto_unitario = null;
|
||||
}
|
||||
|
||||
$obj->save();
|
||||
}
|
||||
|
||||
|
@ -317,7 +332,7 @@ class FatturaOrdinaria extends FatturaElettronica
|
|||
|
||||
$obj->descrizione = tr('Arrotondamento calcolato in automatico');
|
||||
$obj->id_iva = $iva_arrotondamento['id'];
|
||||
$obj->idconto = $conto[0];
|
||||
$obj->idconto = $conto_arrotondamenti;
|
||||
$obj->prezzo_unitario = round($diff, 4);
|
||||
$obj->qta = 1;
|
||||
|
||||
|
|
Loading…
Reference in New Issue