Migliorie minori fatture di vendita

This commit is contained in:
Pek5892 2023-07-05 11:50:27 +02:00
parent d5cecabdae
commit df52e1749a
3 changed files with 18 additions and 40 deletions

View File

@ -85,6 +85,7 @@ switch (post('op')) {
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && ($stato->descrizione == 'Emessa') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){ if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && ($stato->descrizione == 'Emessa') && (Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax']))) && (!empty($data_fattura_precedente['datamax']))){
$fattura->data = $data_fattura_precedente['datamax']; $fattura->data = $data_fattura_precedente['datamax'];
$fattura->data_competenza = $data_fattura_precedente['datamax']; $fattura->data_competenza = $data_fattura_precedente['datamax'];
flash()->info(tr('Data di emissione aggiornata, come da impostazione!'));
} else { } else {
$fattura->data = post('data'); $fattura->data = post('data');
$fattura->data_competenza = post('data_competenza'); $fattura->data_competenza = post('data_competenza');
@ -217,6 +218,21 @@ switch (post('op')) {
} }
} }
// Controllo sulla presenza di fattura di vendita con lo stesso numero nello stesso periodo
if ($direzione == 'entrata') {
$count = Fattura::where('numero_esterno', $fattura->numero_esterno)
->where('id', '!=', $id_record)
->where('data', '>=', $_SESSION['period_start'])
->where('data', '<=', $_SESSION['period_end'])
->where('numero_esterno', '!=', NULL)
->whereHas('tipo', function ($query) use ($direzione) {
$query->where('dir', '=', $direzione);
})->count();
if (!empty($count)) {
flash()->warning(tr('Esiste già una fattura con lo stesso numero!'));
}
}
flash()->info(tr('Fattura modificata correttamente!')); flash()->info(tr('Fattura modificata correttamente!'));
break; break;

View File

@ -216,45 +216,6 @@ if ($dir == 'entrata') {
</div> </div>
<div class="panel-body"> <div class="panel-body">
<?php
if ($dir == 'entrata') {
$rs2 = $dbo->fetchArray('SELECT piva, codice_fiscale, citta, indirizzo, cap, id_nazione, tipo FROM an_anagrafiche WHERE idanagrafica='.prepare($record['idanagrafica']));
$campi_mancanti = [];
//di default è un azienda e chiedo la partita iva
if (empty($rs2[0]['piva']) and empty($rs2[0]['codice_fiscale']) and (empty($rs2[0]['tipo']) or $rs2[0]['tipo'] == 'Azienda')) {
array_push($campi_mancanti, 'Partita IVA');
array_push($campi_mancanti, 'Codice fiscale');
}
$nazione = Nazione::find($rs2[0]['id_nazione']);
//se è un privato o un ente pubblico controllo il codice fiscale
if ((($rs2[0]['tipo'] == 'Privato' && $nazione->iso2 == 'IT') or $rs2[0]['tipo'] == 'Ente pubblico') and empty($rs2[0]['codice_fiscale'])) {
array_push($campi_mancanti, 'Codice fiscale');
}
if ($rs2[0]['citta'] == '') {
array_push($campi_mancanti, 'Città');
}
if ($rs2[0]['indirizzo'] == '') {
array_push($campi_mancanti, 'Indirizzo');
}
if ($rs2[0]['cap'] == '') {
array_push($campi_mancanti, 'C.A.P.');
}
if (empty($rs2[0]['id_nazione'])) {
array_push($campi_mancanti, 'Nazione');
}
if (sizeof($campi_mancanti) > 0) {
echo "<div class='alert alert-warning'><i class='fa fa-warning'></i> Prima di procedere alla stampa completa i seguenti campi dell'anagrafica Cliente: <b>".implode(', ', $campi_mancanti).'</b><br/>
'.Modules::link('Anagrafiche', $record['idanagrafica'], tr('Vai alla scheda anagrafica'), null).'</div>';
}
}
?>
<div class="row"> <div class="row">
<?php <?php
if ($dir == 'uscita') { if ($dir == 'uscita') {
@ -1011,7 +972,7 @@ echo '
// Eliminazione ddt solo se ho accesso alla sede aziendale // Eliminazione ddt solo se ho accesso alla sede aziendale
$field_name = ($dir == 'entrata') ? 'idsede_partenza' : 'idsede_destinazione'; $field_name = ($dir == 'entrata') ? 'idsede_partenza' : 'idsede_destinazione';
if (in_array($record[$field_name], $user->sedi)) { if (in_array($record[$field_name], $user->sedi)) {
$disabilita_eliminazione = in_array($fattura->codice_stato_fe, ['RC', 'MC', 'EC01']); $disabilita_eliminazione = in_array($fattura->codice_stato_fe, ['RC', 'MC', 'EC01', 'WAIT']);
echo ' echo '
<a class="btn btn-danger ask '.($disabilita_eliminazione ? 'disabled' : '').'" data-backto="record-list" '.($disabilita_eliminazione ? 'disabled' : '').'> <a class="btn btn-danger ask '.($disabilita_eliminazione ? 'disabled' : '').'" data-backto="record-list" '.($disabilita_eliminazione ? 'disabled' : '').'>

1
update/2_4_48.sql Normal file
View File

@ -0,0 +1 @@
UPDATE `zz_settings` SET `help` = "Modifica automaticamente la data di emissione di una fattura al momento della sua emissione, impostando data successiva a quella dell'ultima fattura emessa" WHERE `zz_settings`.`nome` = 'Data emissione fattura automatica';