Codice iva in selezione 'Iva per lettere d'intento'

This commit is contained in:
Luca 2022-03-03 17:55:41 +01:00
parent 9e2ff37d39
commit 902b5c4903
2 changed files with 36 additions and 13 deletions

View File

@ -38,22 +38,32 @@ if ($dir == 'entrata') {
}
// Informazioni sulla dichiarazione d'intento, visibili solo finchè la fattura è in bozza
if ($dir == 'entrata' && !empty($fattura->dichiarazione) && $fattura->stato->descrizione == 'Bozza') {
if ($dir == 'entrata' && !empty($fattura->dichiarazione) ) {
$diff = $fattura->dichiarazione->massimale - $fattura->dichiarazione->totale;
$diff_in_days = Carbon::parse($fattura->dichiarazione->data_fine)->diffAsCarbonInterval($fattura->data);
$id_iva = setting("Iva per lettere d'intento");
$iva = Aliquota::find($id_iva);
if (!empty($iva)) {
if ($diff > 0) {
echo '
<div class="alert alert-info">
<i class="fa fa-warning"></i> '.tr("La fattura è collegata a una dichiarazione d'intento con diponibilità di _MONEY_: per collegare una riga alla dichiarazione è sufficiente inserire come IVA _IVA_", [
'_MONEY_' => moneyFormat(abs($diff)),
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
} elseif ($diff == 0) {
if ($fattura->stato->descrizione == 'Bozza' && ($diff > 0)){
echo '
<div class="alert alert-info">
<i class="fa fa-info"></i> '.tr("La fattura è collegata a una dichiarazione d'intento con una diponibilità di _MONEY_: per collegare una riga alla dichiarazione è sufficiente specificare come IVA _IVA_", [
'_MONEY_' => moneyFormat(abs($diff)),
'_IVA_' => '"<b>'.$iva->codice.' - '.$iva->descrizione.'</b>"',
]).'.</b>
</div>';
}
if ($diff == 0) {
echo '
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha raggiunto il massimale previsto di _MONEY_: le nuove righe della fattura devono presentare IVA diversa da _IVA_", [
@ -61,15 +71,25 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione) && $fattura->stato->des
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
} else {
} elseif ($diff < 0) {
echo '
<div class="alert alert-danger">
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha superato il massimale previsto di _MONEY_: per rimuovere righe della fattura dalla dichiarazione è sufficiente modificare l'IVA in qualcosa di diverso da _IVA_", [
'_MONEY_' => moneyFormat(abs($diff)),
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
}
elseif ($diff_in_days < 0) {
echo '
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha come data di fine validità _SCADENZA_ mentre la fattura ha data _DATA_", [
'_SCADENZA_' => dateFormat($fattura->dichiarazione->data_fine),
'_DATA_' => dateFormat($fattura->data),
]).'.</b>
</div>';
}
} else {
//TODO link ad impostazioni con nuova ricerca rapida
echo '

View File

@ -80,4 +80,7 @@ INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `visible`,
UPDATE `zz_views` SET `summable` = '1' WHERE (`zz_views`.`name` = 'Q.tà ordinata' OR `zz_views`.`name` = 'Q.tà' OR `zz_views`.`name` = 'Q.tà disponibile' OR `zz_views`.`name` = 'Q.tà impegnata') AND `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Articoli');
-- Stampe definitive registri iva
CREATE TABLE `co_stampecontabili` ( `id` INT NOT NULL AUTO_INCREMENT , `id_print` INT NOT NULL , `date_start` DATE NOT NULL , `date_end` DATE NOT NULL , `first_page` INT NOT NULL , `last_page` INT NOT NULL , `dir` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`));
CREATE TABLE `co_stampecontabili` ( `id` INT NOT NULL AUTO_INCREMENT , `id_print` INT NOT NULL , `date_start` DATE NOT NULL , `date_end` DATE NOT NULL , `first_page` INT NOT NULL , `last_page` INT NOT NULL , `dir` VARCHAR(255) NOT NULL , PRIMARY KEY (`id`));
-- Codice iva in selezione Iva per lettere d'intento
UPDATE `zz_settings` SET `tipo` = 'query=SELECT id, CONCAT(codice,\' - \',descrizione) AS descrizione FROM `co_iva` WHERE codice_natura_fe LIKE \'N3.%\' AND deleted_at IS NULL ORDER BY descrizione ASC' WHERE `zz_settings`.`nome` = 'Iva per lettere d''intento';