Bugfix: i ddt non tornavano in "Bozza" dopo rimoziona dalla fattura
This commit is contained in:
parent
95aa649ee1
commit
00864a0bd3
|
@ -1235,6 +1235,10 @@ switch (post('op')) {
|
||||||
if (!empty($id_record) && isset($post['idarticolo'])) {
|
if (!empty($id_record) && isset($post['idarticolo'])) {
|
||||||
$idriga = post('idriga');
|
$idriga = post('idriga');
|
||||||
$idarticolo = post('idarticolo');
|
$idarticolo = post('idarticolo');
|
||||||
|
|
||||||
|
// Leggo se la riga è collegata a un ddt, per aggiornargli lo stato
|
||||||
|
$rs = $dbo->fetchArray('SELECT qta, descrizione, idarticolo, idddt, idiva FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga));
|
||||||
|
$idddt = $rs[0]['idddt'];
|
||||||
|
|
||||||
if (!rimuovi_articolo_dafattura($idarticolo, $id_record, $idriga)) {
|
if (!rimuovi_articolo_dafattura($idarticolo, $id_record, $idriga)) {
|
||||||
$_SESSION['errors'][] = tr('Alcuni serial number sono già stati utilizzati!');
|
$_SESSION['errors'][] = tr('Alcuni serial number sono già stati utilizzati!');
|
||||||
|
@ -1243,6 +1247,15 @@ switch (post('op')) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($dbo->query('DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga))) {
|
if ($dbo->query('DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga))) {
|
||||||
|
if( !empty($idddt) ){
|
||||||
|
// Se nella fattura non c'é più il ddt rimosso, aggiorno lo stato del ddt in "Bozza"
|
||||||
|
$rs = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idddt='.prepare($idddt));
|
||||||
|
|
||||||
|
if( sizeof($rs) == 0 ){
|
||||||
|
$dbo->query('UPDATE dt_ddt SET idstatoddt=(SELECT id FROM dt_statiddt WHERE descrizione="Bozza") WHERE id = '.prepare($idddt));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ricalcolo inps, ritenuta e bollo
|
// Ricalcolo inps, ritenuta e bollo
|
||||||
if ($dir == 'entrata') {
|
if ($dir == 'entrata') {
|
||||||
ricalcola_costiagg_fattura($id_record);
|
ricalcola_costiagg_fattura($id_record);
|
||||||
|
@ -1363,6 +1376,7 @@ switch (post('op')) {
|
||||||
// Se la riga è stata creata da un ordine, devo riportare la quantità evasa nella tabella degli ordini
|
// Se la riga è stata creata da un ordine, devo riportare la quantità evasa nella tabella degli ordini
|
||||||
// al valore di prima, riaggiungendo la quantità che sto togliendo
|
// al valore di prima, riaggiungendo la quantità che sto togliendo
|
||||||
$rs = $dbo->fetchArray('SELECT qta, descrizione, idarticolo, idordine, idiva FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga));
|
$rs = $dbo->fetchArray('SELECT qta, descrizione, idarticolo, idordine, idiva FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga));
|
||||||
|
$idordine = $rs[0]['idordine'];
|
||||||
|
|
||||||
// Rimpiazzo la quantità negli ordini
|
// Rimpiazzo la quantità negli ordini
|
||||||
$dbo->query('UPDATE or_righe_ordini SET qta_evasa=qta_evasa-'.$rs[0]['qta'].' WHERE descrizione='.prepare($rs[0]['descrizione']).' AND idarticolo='.prepare($rs[0]['idarticolo']).' AND idordine='.prepare($rs[0]['idordine']).' AND idiva='.prepare($rs[0]['idiva']));
|
$dbo->query('UPDATE or_righe_ordini SET qta_evasa=qta_evasa-'.$rs[0]['qta'].' WHERE descrizione='.prepare($rs[0]['descrizione']).' AND idarticolo='.prepare($rs[0]['idarticolo']).' AND idordine='.prepare($rs[0]['idordine']).' AND idiva='.prepare($rs[0]['idiva']));
|
||||||
|
@ -1370,6 +1384,7 @@ switch (post('op')) {
|
||||||
// Se la riga è stata creata da un ddt, devo riportare la quantità evasa nella tabella dei ddt
|
// Se la riga è stata creata da un ddt, devo riportare la quantità evasa nella tabella dei ddt
|
||||||
// al valore di prima, riaggiungendo la quantità che sto togliendo
|
// al valore di prima, riaggiungendo la quantità che sto togliendo
|
||||||
$rs = $dbo->fetchArray('SELECT qta, descrizione, idarticolo, idddt, idiva FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga));
|
$rs = $dbo->fetchArray('SELECT qta, descrizione, idarticolo, idddt, idiva FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga));
|
||||||
|
$idddt = $rs[0]['idddt'];
|
||||||
|
|
||||||
// Rimpiazzo la quantità nei ddt
|
// Rimpiazzo la quantità nei ddt
|
||||||
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa=qta_evasa-'.$rs[0]['qta'].' WHERE descrizione='.prepare($rs[0]['descrizione']).' AND idarticolo='.prepare($rs[0]['idarticolo']).' AND idddt='.prepare($rs[0]['idddt']).' AND idiva='.prepare($rs[0]['idiva']));
|
$dbo->query('UPDATE dt_righe_ddt SET qta_evasa=qta_evasa-'.$rs[0]['qta'].' WHERE descrizione='.prepare($rs[0]['descrizione']).' AND idarticolo='.prepare($rs[0]['idarticolo']).' AND idddt='.prepare($rs[0]['idddt']).' AND idiva='.prepare($rs[0]['idiva']));
|
||||||
|
@ -1377,6 +1392,15 @@ switch (post('op')) {
|
||||||
$query = 'DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga);
|
$query = 'DELETE FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND id='.prepare($idriga);
|
||||||
|
|
||||||
if ($dbo->query($query)) {
|
if ($dbo->query($query)) {
|
||||||
|
if( !empty($idddt) ){
|
||||||
|
// Se nella fattura non c'é più il ddt rimosso, aggiorno lo stato del ddt in "Bozza"
|
||||||
|
$rs = $dbo->fetchArray('SELECT id FROM co_righe_documenti WHERE iddocumento='.prepare($id_record).' AND idddt='.prepare($idddt));
|
||||||
|
|
||||||
|
if( sizeof($rs) == 0 ){
|
||||||
|
$dbo->query('UPDATE dt_ddt SET idstatoddt=(SELECT id FROM dt_statiddt WHERE descrizione="Bozza") WHERE id = '.prepare($idddt));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Ricalcolo inps, ritenuta e bollo
|
// Ricalcolo inps, ritenuta e bollo
|
||||||
if ($dir == 'entrata') {
|
if ($dir == 'entrata') {
|
||||||
ricalcola_costiagg_fattura($id_record);
|
ricalcola_costiagg_fattura($id_record);
|
||||||
|
|
Loading…
Reference in New Issue