From 5fcdb7f918a39dd24333c272282369b66a1cc46b Mon Sep 17 00:00:00 2001 From: Thomas Zilio Date: Mon, 22 Jul 2019 15:04:39 +0200 Subject: [PATCH 1/5] Fix ripristino qta_evasa --- CHANGELOG.md | 3 +++ modules/fatture/actions.php | 15 ++++++------ modules/fatture/modutil.php | 48 +++++-------------------------------- 3 files changed, 16 insertions(+), 50 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e34e2bc1..57d041d85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,9 @@ Il formato utilizzato è basato sulle linee guida di [Keep a Changelog](http://k - Miglioramento del sistema di importazione delle ricevute delle Fatture Elettroniche, per permetterne il caricamento manuale - Standardizzazione dei nomi predefiniti delle stampa e dei relativi file generati +### Rimosso (Removed) + - Supporto ai raggruppamenti di **Contratti** e **Preventivi** nelle **Fatture** + ### Fixed - Fix export delle tabelle principali in Excel diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index d31a481ff..5d5f98bac 100644 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -151,10 +151,10 @@ switch (post('op')) { // eliminazione documento case 'delete': - $rs = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record)); + $righe = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record)); // Controllo sui seriali - foreach ($rs as $r) { + foreach ($righe as $r) { $non_rimovibili = seriali_non_rimuovibili('id_riga_documento', $r['id'], $dir); if (!empty($non_rimovibili)) { flash()->error(tr('Alcuni serial number sono già stati utilizzati!')); @@ -163,16 +163,10 @@ switch (post('op')) { } } - // Rimozione righe - foreach ($rs as $r) { - rimuovi_riga_fattura($id_record, $r['id'], $dir); - } - // Se ci sono dei preventivi collegati li rimetto nello stato "In attesa di pagamento" $rs = $dbo->fetchArray('SELECT idpreventivo FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idpreventivo IS NOT NULL'); for ($i = 0; $i < sizeof($rs); ++$i) { $dbo->query("UPDATE co_preventivi SET idstato=(SELECT id FROM co_statipreventivi WHERE descrizione='In lavorazione') WHERE id=".prepare($rs[$i]['idpreventivo'])); - $dbo->query('UPDATE co_righe_preventivi SET qta_evasa=0 WHERE idpreventivo='.prepare($rs[$i]['idpreventivo'])); } // Se ci sono degli interventi collegati li rimetto nello stato "Completato" @@ -181,6 +175,11 @@ switch (post('op')) { $dbo->query("UPDATE in_interventi SET idstatointervento = (SELECT idstatointervento FROM in_statiintervento WHERE descrizione = 'Completato') WHERE id=".prepare($rs[$i]['idintervento'])); } + // Rimozione righe + foreach ($righe as $r) { + rimuovi_riga_fattura($id_record, $r['id'], $dir); + } + elimina_scadenza($id_record); elimina_movimento($id_record); diff --git a/modules/fatture/modutil.php b/modules/fatture/modutil.php index e521e0ff1..a7397fe76 100755 --- a/modules/fatture/modutil.php +++ b/modules/fatture/modutil.php @@ -696,51 +696,15 @@ function rimuovi_riga_fattura($id_documento, $id_riga, $dir) } // Rimozione articoli collegati ad un preventivo importato con riga unica - if (empty($riga['idarticolo']) && $riga['idpreventivo']) { - //rimetto a magazzino gli articoli collegati al preventivo - $rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_preventivi WHERE idpreventivo = '.prepare($riga['idpreventivo'])); - for ($i = 0; $i < sizeof($rsa); ++$i) { - if ($riga['is_preventivo']) { - if (!empty($rsa[$i]['idarticolo'])) { - add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]); - } - } else { - $qta_evasa = $rsa[$i]['qta_evasa'] + $riga['qta']; - // Ripristino le quantità da evadere nel preventivo - $dbo->update('co_righe_preventivi', - [ - 'qta_evasa' => $qta_evasa, - ], - [ - 'id' => $rsa[$i]['id'], - ] - ); - } - } + if ($riga['idpreventivo']) { + $query = 'UPDATE co_righe_preventivi SET qta_evasa = qta_evasa - '.$riga['qta'].' WHERE idarticolo='.prepare($riga['idarticolo']).' AND descrizione = '.prepare($riga['descrizione']).' AND idpreventivo = '.prepare($riga['idpreventivo']); + $dbo->query($query); } // Rimozione articoli collegati ad un contratto importato con riga unica - if (empty($riga['idarticolo']) && $riga['idcontratto']) { - //rimetto a magazzino gli articoli collegati al contratto - $rsa = $dbo->fetchArray('SELECT id, idarticolo, qta FROM co_righe_contratti WHERE idcontratto = '.prepare($riga['idcontratto'])); - for ($i = 0; $i < sizeof($rsa); ++$i) { - if ($riga['is_contratto']) { - if (!empty($rsa[$i]['idarticolo'])) { - add_movimento_magazzino($rsa[$i]['idarticolo'], $rsa[$i]['qta'], ['iddocumento' => $id_documento]); - } - } else { - $qta_evasa = $rsa[$i]['qta_evasa'] + $riga['qta']; - // Ripristino le quantità da evadere nel contratto - $dbo->update('co_righe_contratti', - [ - 'qta_evasa' => $qta_evasa, - ], - [ - 'id' => $rsa[$i]['id'], - ] - ); - } - } + if ($riga['idcontratto']) { + $query = 'UPDATE co_righe_contratti SET qta_evasa = qta_evasa - '.$riga['qta'].' WHERE idarticolo='.prepare($riga['idarticolo']).' AND descrizione = '.prepare($riga['descrizione']).' AND idcontratto = '.prepare($riga['idcontratto']); + $dbo->query($query); } //Rimozione righe generiche From f107eadcc93de4d894035088de72683422a6b487 Mon Sep 17 00:00:00 2001 From: Luca Date: Mon, 22 Jul 2019 18:54:32 +0200 Subject: [PATCH 2/5] Fix minori --- include/init/init.php | 20 +++++++++++--------- modules/contratti/buttons.php | 2 +- modules/ddt/edit.php | 6 +++--- modules/ordini/buttons.php | 4 ++-- modules/preventivi/buttons.php | 2 +- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/include/init/init.php b/include/init/init.php index 8f24b4f55..8945f85c4 100644 --- a/include/init/init.php +++ b/include/init/init.php @@ -193,18 +193,20 @@ if (!$has_settings) {

'.tr('Impostazioni di base').'

-
'; +
+
'; + - foreach ($settings as $setting => $required) { - if (empty(setting($setting))) { - echo ' -
- '.Settings::input($setting, $required).' -
'; + foreach ($settings as $setting => $required) { + if (empty(setting($setting))) { + echo ' +
+ '.Settings::input($setting, $required).' +
'; + } } - } - echo ' + echo '
'; } diff --git a/modules/contratti/buttons.php b/modules/contratti/buttons.php index 1b9b0926d..403407bf5 100644 --- a/modules/contratti/buttons.php +++ b/modules/contratti/buttons.php @@ -9,7 +9,7 @@ $rs_documento = $dbo->fetchArray('SELECT * FROM co_righe_contratti WHERE idcontr /* permetto di fatturare il contratto solo se contiene righe e si trova in uno stato fatturabile */ echo ' -'; diff --git a/modules/ddt/edit.php b/modules/ddt/edit.php index f0f30d379..0053b64bd 100644 --- a/modules/ddt/edit.php +++ b/modules/ddt/edit.php @@ -134,11 +134,11 @@ $_SESSION['superselect']['idsede_destinazione'] = $record['idsede_destinazione']
- {[ "type": "select", "label": "", "name": "idaspettobeni", "value": "$idaspettobeni$", "ajax-source": "aspetto-beni", "readonly": "", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "idaspettobeni", "value": "$idaspettobeni$", "ajax-source": "aspetto-beni", "readonly": "", "icon-after": "add||||" ]}
- {[ "type": "select", "label": "", "name": "idcausalet", "value": "$idcausalet$", "ajax-source": "causali", "readonly": "", "icon-after": "add|" ]} + {[ "type": "select", "label": "", "name": "idcausalet", "value": "$idcausalet$", "ajax-source": "causali", "readonly": "", "icon-after": "add||||" ]}
@@ -160,7 +160,7 @@ $_SESSION['superselect']['idsede_destinazione'] = $record['idsede_destinazione']
- {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "readonly": "", "disabled": , "required": , "icon-after": "add||tipoanagrafica=Vettore|" ]} + {[ "type": "select", "label": "", "name": "idvettore", "ajax-source": "vettori", "value": "$idvettore$", "readonly": "", "disabled": , "required": , "icon-after": "add||tipoanagrafica=Vettore||" ]}
diff --git a/modules/ordini/buttons.php b/modules/ordini/buttons.php index 955a6c975..c6350a361 100644 --- a/modules/ordini/buttons.php +++ b/modules/ordini/buttons.php @@ -12,13 +12,13 @@ echo ' echo '
  • -  '.tr('ddt').' +  '.tr('Ddt').'
  • '; echo '
  • -  '.tr('fattura').' +  '.tr('Fattura').'
  • '; diff --git a/modules/preventivi/buttons.php b/modules/preventivi/buttons.php index 2df24a2b0..dba54cc3a 100644 --- a/modules/preventivi/buttons.php +++ b/modules/preventivi/buttons.php @@ -21,7 +21,7 @@ echo '