Fix importazione FE note di credito

This commit is contained in:
MatteoPistorello 2021-07-02 18:24:09 +02:00
parent 91a0667aec
commit e1494ea7b2
1 changed files with 10 additions and 5 deletions

View File

@ -165,19 +165,22 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
$dbo = database(); $dbo = database();
$fattura = Modules\Fatture\Fattura::find($iddocumento); $fattura = Modules\Fatture\Fattura::find($iddocumento);
$is_nota = $fattura->isNota();
// Totale marca da bollo, inps, ritenuta, idagente // Totale marca da bollo, inps, ritenuta, idagente
$query = 'SELECT data, bollo, ritenutaacconto, rivalsainps, split_payment FROM co_documenti WHERE id='.prepare($iddocumento); $query = 'SELECT data, bollo, ritenutaacconto, rivalsainps, split_payment FROM co_documenti WHERE id='.prepare($iddocumento);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$totale_bolli = $rs[0]['bollo']; $totale_bolli = $is_nota ? -$rs[0]['bollo'] : $rs[0]['bollo'];
$totale_ritenutaacconto = $rs[0]['ritenutaacconto']; $totale_ritenutaacconto = $is_nota ? -$rs[0]['ritenutaacconto'] : $rs[0]['ritenutaacconto'];
$totale_ritenutacontributi = $fattura->totale_ritenuta_contributi; $totale_ritenutacontributi = $is_nota ? -$fattura->totale_ritenuta_contributi : $fattura->totale_ritenuta_contributi;
$totale_rivalsainps = $rs[0]['rivalsainps']; $totale_rivalsainps = $is_nota ? -$rs[0]['rivalsainps'] : $rs[0]['rivalsainps'];
$data_documento = $rs[0]['data']; $data_documento = $rs[0]['data'];
$split_payment = $rs[0]['split_payment']; $split_payment = $rs[0]['split_payment'];
$netto_fattura = get_netto_fattura($iddocumento); $netto_fattura = get_netto_fattura($iddocumento);
$totale_fattura = get_totale_fattura($iddocumento); $totale_fattura = get_totale_fattura($iddocumento);
$totale_fattura = $is_nota ? -$totale_fattura: $totale_fattura;
$imponibile_fattura = get_imponibile_fattura($iddocumento); $imponibile_fattura = get_imponibile_fattura($iddocumento);
// Calcolo l'iva della rivalsa inps // Calcolo l'iva della rivalsa inps
@ -194,12 +197,13 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
// Lettura iva indetraibile fattura // Lettura iva indetraibile fattura
$query = 'SELECT SUM(iva_indetraibile) AS iva_indetraibile FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento); $query = 'SELECT SUM(iva_indetraibile) AS iva_indetraibile FROM co_righe_documenti GROUP BY iddocumento HAVING iddocumento='.prepare($iddocumento);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$iva_indetraibile_fattura = $rs[0]['iva_indetraibile']; $iva_indetraibile_fattura = $is_nota ? -$rs[0]['iva_indetraibile'] : $rs[0]['iva_indetraibile'];
// Lettura iva delle righe in fattura // Lettura iva delle righe in fattura
$query = 'SELECT iva FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento); $query = 'SELECT iva FROM co_righe_documenti WHERE iddocumento='.prepare($iddocumento);
$rs = $dbo->fetchArray($query); $rs = $dbo->fetchArray($query);
$iva_fattura = sum(array_column($rs, 'iva'), null) + $iva_rivalsainps - $iva_indetraibile_fattura; $iva_fattura = sum(array_column($rs, 'iva'), null) + $iva_rivalsainps - $iva_indetraibile_fattura;
$iva_fattura = $is_nota ? -$iva_fattura : $iva_fattura;
// Imposto i segni + e - in base se la fattura è di acquisto o vendita // Imposto i segni + e - in base se la fattura è di acquisto o vendita
if ($dir == 'uscita') { if ($dir == 'uscita') {
@ -293,6 +297,7 @@ function aggiungi_movimento($iddocumento, $dir, $primanota = 0)
foreach ($righe as $riga) { foreach ($righe as $riga) {
// Retrocompatibilità // Retrocompatibilità
$idconto_riga = !empty($riga['idconto']) ? $riga['idconto'] : $idconto; $idconto_riga = !empty($riga['idconto']) ? $riga['idconto'] : $idconto;
$riga['imponibile'] = $is_nota ? -$riga['imponibile'] : $riga['imponibile'];
$query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_riga).', '.prepare($riga['imponibile'] * $segno_mov2_ricavivendite).', '.prepare($primanota).')'; $query2 = 'INSERT INTO co_movimenti(idmastrino, data, iddocumento, id_anagrafica, descrizione, idconto, totale, primanota) VALUES('.prepare($idmastrino).', '.prepare($data).', '.prepare($iddocumento).", '', ".prepare($descrizione.' del '.date('d/m/Y', strtotime($data)).' ('.$ragione_sociale.')').', '.prepare($idconto_riga).', '.prepare($riga['imponibile'] * $segno_mov2_ricavivendite).', '.prepare($primanota).')';
$dbo->query($query2); $dbo->query($query2);