Fix progressivo invio autofatture
This commit is contained in:
parent
7839a4423c
commit
3ea126572d
|
@ -113,12 +113,10 @@ if ($abilita_autofattura) {
|
|||
])).'</b>
|
||||
</div>';
|
||||
} elseif ($autofattura_collegata != null) {
|
||||
$link_module = $fattura->direzione == 'entrata' ? 'Fatture di acquisto' : 'Fatture di vendita';
|
||||
$link_desc = $fattura->direzione == 'entrata' ? tr("Questa autofattura è già stata importata come fattura di acquisto") : tr("È presente un'autofattura collegata");
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info"></i> '.$link_desc.':
|
||||
<b>'.Modules::link($link_module, $autofattura_collegata->id, tr('Fattura num. _NUM_ del _DATE_', [
|
||||
<i class="fa fa-info"></i> '.tr("Questa autofattura è già stata importata come fattura di acquisto").':
|
||||
<b>'.Modules::link('Fatture di acquisto', $autofattura_collegata->id, tr('Fattura num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $autofattura_collegata->numero_esterno,
|
||||
'_DATE_' => dateFormat($autofattura_collegata->data),
|
||||
])).'</b>
|
||||
|
|
|
@ -75,11 +75,10 @@ if (isset($id_record)) {
|
|||
return $item->aliquota != null && substr($item->aliquota->codice_natura_fe, 0, 2) == 'N6';
|
||||
})->id;
|
||||
$autofattura_vendita = Fattura::find($fattura->id_autofattura);
|
||||
if (empty($autofattura_vendita) && !empty($fattura->progressivo_invio)) {
|
||||
$autofattura_collegata = Fattura::where('progressivo_invio', '=', $fattura->progressivo_invio)->where('id', '!=', $fattura->id)->first();
|
||||
}
|
||||
$abilita_autofattura = (($fattura->anagrafica->nazione->iso2 != 'IT' && !empty($fattura->anagrafica->nazione->iso2)) || $reverse_charge) && $dir == 'uscita' && $fattura->id_autofattura == null && empty($autofattura_collegata);
|
||||
|
||||
$abilita_autofattura = (($fattura->anagrafica->nazione->iso2 != 'IT' && !empty($fattura->anagrafica->nazione->iso2)) || $reverse_charge) && $dir == 'uscita' && $fattura->id_autofattura == null;
|
||||
|
||||
$fattura_acquisto_originale = Fattura::where('id_autofattura', '=', $fattura->id)->first();
|
||||
$autofattura_collegata = Fattura::where('id_autofattura', '=', $fattura->id)->where('id', '!=', $fattura_acquisto_originale->id)->orderBy('id', 'DESC')->first();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -144,22 +144,24 @@ switch (filter('op')) {
|
|||
$id_fattura = $fattura_pa->save($info);
|
||||
$fattura_pa->delete();
|
||||
$fattura = Fattura::find($id_fattura);
|
||||
$id_autofattura = post('autofattura');
|
||||
|
||||
if ($fattura->isAutofattura()) {
|
||||
$autofattura_collegata = Fattura::where('progressivo_invio', '=', $fattura->progressivo_invio)->where('id', '!=', $fattura->id)->first();
|
||||
if (!empty($autofattura_collegata)) {
|
||||
$fattura->registraScadenze(true);
|
||||
$autofattura_collegata->registraScadenze(true);
|
||||
$mastrino = Mastrino::build('Compensazione autofattura', $fattura->data, false, true);
|
||||
if ($fattura->isAutofattura() && !empty($id_autofattura)) {
|
||||
$autofattura_collegata = Fattura::find($id_autofattura);
|
||||
$fattura->registraScadenze(true);
|
||||
$autofattura_collegata->registraScadenze(true);
|
||||
$mastrino = Mastrino::build('Compensazione autofattura', $fattura->data, false, true);
|
||||
|
||||
$movimento1 = Movimento::build($mastrino, $fattura->anagrafica->idconto_cliente);
|
||||
$movimento1->setTotale($fattura->totale, 0);
|
||||
$movimento1->save();
|
||||
$movimento1 = Movimento::build($mastrino, $fattura->anagrafica->idconto_cliente);
|
||||
$movimento1->setTotale($fattura->totale, 0);
|
||||
$movimento1->save();
|
||||
|
||||
$movimento2 = Movimento::build($mastrino, $fattura->anagrafica->idconto_fornitore);
|
||||
$movimento2->setTotale(0, $fattura->totale);
|
||||
$movimento2->save();
|
||||
}
|
||||
$movimento2 = Movimento::build($mastrino, $fattura->anagrafica->idconto_fornitore);
|
||||
$movimento2->setTotale(0, $fattura->totale);
|
||||
$movimento2->save();
|
||||
|
||||
$fattura->id_autofattura = $id_autofattura;
|
||||
$fattura->save();
|
||||
}
|
||||
|
||||
// Aggiorno la tipologia di anagrafica fornitore
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Modules\Fatture\Fattura;
|
||||
use Modules\Pagamenti\Pagamento;
|
||||
use Plugins\ImportFE\FatturaElettronica;
|
||||
use Util\XML;
|
||||
|
@ -264,6 +265,25 @@ if (!empty($anagrafica)) {
|
|||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "'.tr('Collega a fattura pro-forma').'", "name": "ref_fattura", "values": "query='.$query.'" ]}
|
||||
</div>';
|
||||
} elseif ($is_autofattura) {
|
||||
$query = "SELECT
|
||||
co_documenti.id,
|
||||
CONCAT('Fattura num. ', co_documenti.numero_esterno, ' del ', DATE_FORMAT(co_documenti.data, '%d/%m/%Y')) AS descrizione
|
||||
FROM co_documenti
|
||||
INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento
|
||||
WHERE
|
||||
co_tipidocumento.dir = 'entrata' AND
|
||||
co_tipidocumento.codice_tipo_documento_fe IN('TD16', 'TD17', 'TD18', 'TD19', 'TD20') AND
|
||||
(co_documenti.data BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND
|
||||
co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione != 'Bozza') AND
|
||||
co_documenti.idanagrafica = ".prepare($anagrafica->id);
|
||||
|
||||
$autofattura_collegata = Fattura::where('progressivo_invio', '=', $fattura_pa->getHeader()['DatiTrasmissione']['ProgressivoInvio'])->first();
|
||||
|
||||
echo '
|
||||
<div class="col-md-3">
|
||||
{[ "type": "select", "label": "'.tr('Autofattura collegata').'", "name": "autofattura", "values": "query='.$query.'", "value": "'.$autofattura_collegata->id.'" ]}
|
||||
</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue