From 8c3cc48f33b2e144abeaf20a9cf957423a16450d Mon Sep 17 00:00:00 2001 From: Luca Date: Fri, 28 Dec 2018 19:06:53 +0100 Subject: [PATCH] Split payment pre-selezionato quando creo una fattura ad un ente pubblico --- modules/anagrafiche/edit.php | 2 +- modules/fatture/edit.php | 1 + modules/fatture/src/Fattura.php | 9 +++++++++ modules/iva/ajax/select.php | 7 ++++++- 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/anagrafiche/edit.php b/modules/anagrafiche/edit.php index debc763c3..6f0e05164 100644 --- a/modules/anagrafiche/edit.php +++ b/modules/anagrafiche/edit.php @@ -351,7 +351,7 @@ if (!empty($google)) {
- {[ "type": "checkbox", "label": "", "name": "split_payment", "value": "$split_payment$", "help": "è obbligatorio per:'); ?>", "placeholder": "", "extra" : "" ]} + {[ "type": "checkbox", "label": "", "name": "split_payment", "value": "$split_payment$", "help": "è obbligatorio per:'); ?>", "placeholder": "", "extra" : "" ]}
diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 8808f4350..e1f055f6d 100644 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -10,6 +10,7 @@ $tipodoc = $rs[0]['descrizione']; $_SESSION['superselect']['idanagrafica'] = $record['idanagrafica']; $_SESSION['superselect']['ddt'] = $dir; +$_SESSION['superselect']['split_payment'] = $record['split_payment']; if ($dir == 'entrata') { $conto = 'vendite'; diff --git a/modules/fatture/src/Fattura.php b/modules/fatture/src/Fattura.php index 360f7d9e8..75e1836ef 100644 --- a/modules/fatture/src/Fattura.php +++ b/modules/fatture/src/Fattura.php @@ -63,6 +63,12 @@ class Fattura extends Document ]); $id_pagamento = $pagamento['id']; $id_banca = $pagamento['idbanca']; + + $split_payment = $database->fetchOne('SELECT split_payment FROM an_anagrafiche WHERE idanagrafica = :id_anagrafica', [ + ':id_anagrafica' => $id_anagrafica, + ])['split_payment']; + + // Se la fattura è di vendita e non è stato associato un pagamento predefinito al cliente leggo il pagamento dalle impostazioni if ($direzione == 'entrata' && empty($id_pagamento)) { @@ -97,6 +103,9 @@ class Fattura extends Document if (!empty($id_banca)) { $model->idbanca = $id_banca; } + if (!empty($split_payment)) { + $model->split_payment = $split_payment; + } $model->save(); return $model; diff --git a/modules/iva/ajax/select.php b/modules/iva/ajax/select.php index 0bc1bfdf6..474c4d002 100644 --- a/modules/iva/ajax/select.php +++ b/modules/iva/ajax/select.php @@ -5,7 +5,7 @@ include_once __DIR__.'/../../../core.php'; switch ($resource) { case 'iva': $query = 'SELECT id, IF(codice IS NULL, descrizione, CONCAT(codice, " - ", descrizione)) AS descrizione FROM co_iva |where| ORDER BY descrizione ASC'; - + foreach ($elements as $element) { $filter[] = 'id='.prepare($element); } @@ -16,6 +16,11 @@ switch ($resource) { if (empty($filter)) { $where[] = 'deleted_at IS NULL'; + + //se sto valorizzando un documento con lo split payment impedisco la selezione delle aliquote iva con natura N6 (reverse charge) + if (isset($superselect['split_payment']) and !empty($superselect['split_payment'])) { + $where[] = '(codice_natura_fe IS NULL OR codice_natura_fe != "N6")'; + } } break;