From a8b0c13f6438374a152ff7c4eedba077230b8a4f Mon Sep 17 00:00:00 2001 From: Luca Date: Mon, 27 Aug 2018 18:06:50 +0200 Subject: [PATCH] Fix widget Fatture vendita e acquisto, calcolo in automatico la scadenza nel caso in cui passo da bozza a pagato o parzialmente pagato. Lo stato annullato viene considerato come bozza --- modules/fatture/actions.php | 12 +++++++++--- modules/fatture/edit.php | 3 ++- update/2_4_1.sql | 12 +++++++++--- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/fatture/actions.php b/modules/fatture/actions.php index faa97fa4b..6078c88b5 100644 --- a/modules/fatture/actions.php +++ b/modules/fatture/actions.php @@ -151,16 +151,22 @@ switch (post('op')) { } // Elimino la scadenza e tutti i movimenti, poi se la fattura è emessa le ricalcolo - if ($rs[0]['descrizione'] == 'Bozza') { + if ($rs[0]['descrizione'] == 'Bozza' or $rs[0]['descrizione'] == 'Annullata' ) { elimina_scadenza($id_record); elimina_movimento($id_record, 0); + //elimino movimento anche prima nota (se pagata o parzialmente pagata) elimina_movimento($id_record, 1); } elseif ($rs[0]['descrizione'] == 'Emessa') { elimina_scadenza($id_record); elimina_movimento($id_record, 0); - } + } elseif ( ($rs[0]['descrizione'] == 'Pagato' or $rs[0]['descrizione'] == 'Parzialmente pagato') and ($dbo->fetchNum("SELECT id FROM co_scadenziario WHERE iddocumento = ".prepare($id_record)) == 0)) { + + aggiungi_scadenza($id_record, $pagamento); + aggiungi_movimento($id_record, $dir); + + } - // Se la fattura è in stato "Emessa" posso inserirla in scadenziario e aprire il mastrino cliente + // Se la fattura è in stato "Emessa" posso inserirla in scadenzario e aprire il mastrino cliente if ($rs[0]['descrizione'] == 'Emessa') { aggiungi_scadenza($id_record, $pagamento); aggiungi_movimento($id_record, $dir); diff --git a/modules/fatture/edit.php b/modules/fatture/edit.php index 6c1ddd1ea..ebc821229 100644 --- a/modules/fatture/edit.php +++ b/modules/fatture/edit.php @@ -84,7 +84,8 @@ if ($dir == 'entrata') {
- {[ "type": "select", "label": "", "name": "idstatodocumento", "required": 1, "values": "query=SELECT * FROM co_statidocumento", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato'){if( confirm('Sicuri di voler impostare manualmente la fattura come pagata senza aggiungerla in prima nota?') ){ return true; }else{ $('#idstatodocumento').selectSet(); }}\" " ]} + + {[ "type": "select", "label": "", "name": "idstatodocumento", "required": 1, "values": "query=SELECT * FROM co_statidocumento", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato'){if( confirm('') ){ return true; }else{ $('#idstatodocumento').selectSet(); }}\" " ]}
diff --git a/update/2_4_1.sql b/update/2_4_1.sql index 9a38a78c5..b5830ec60 100644 --- a/update/2_4_1.sql +++ b/update/2_4_1.sql @@ -361,9 +361,15 @@ ALTER TABLE `my_impianti` CHANGE `immagine` `immagine` varchar(255); UPDATE `my_impianti` SET `immagine` = NULL WHERE `immagine` = ''; INSERT INTO `zz_files` (`id_module`, `id_record`, `nome`, `filename`, `original`) SELECT (SELECT `id` FROM `zz_modules` WHERE `name` = 'MyImpianti'), `id`, 'Immagine', `immagine`, `immagine` FROM `my_impianti` WHERE `immagine` IS NOT NULL; --- Fix widgets fatturato -UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"€\") AS dato FROM co_documenti WHERE idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir=\"entrata\") AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione=\"Bozza\" OR descrizione=\"Annullata\") |segment| AND data >= \"|period_start|\" AND data <= \"|period_end|\" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato'; -UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"€\") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir=\'uscita\' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione=\"Bozza\" OR descrizione=\"Annullata\") |segment| AND data_emissione >= \"|period_start|\" AND data_emissione <= \"|period_end|\"' WHERE `zz_widgets`.`name` = 'Acquisti'; +-- Fix widgets fatturato, prendo importi dallo scadenzario +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''entrata'' |segment| AND data_emissione >= "|period_start|" AND data_emissione <= "|period_end|" AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato'; + +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''uscita'' |segment| AND data_emissione >= "|period_start|" AND data_emissione <= "|period_end|" AND 1=1', `help` = 'Fatturato IVA inclusa.' WHERE `zz_widgets`.`name` = 'Acquisti'; + +-- Per i crediti / debiti considero o no il periodo temporale? +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS(" ", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare-pagato))), 2), ",", "#"), ".", ","), "#", "."), "€") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''entrata'' |segment| AND 1=1', `help` = 'Crediti IVA inclusa.' WHERE `zz_widgets`.`name` = 'Crediti da clienti'; + +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS('' '', REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare-pagato))), 2), '','', ''#''), ''.'', '',''),''#'', ''.''), ''€'') AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''uscita'' |segment| AND 1=1', `help` = 'Debiti IVA inclusa.' WHERE `zz_widgets`.`name` = 'Debiti verso fornitori'; -- Introduzione del tipo documento nelle tabelle Fatture INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `enabled`, `default`) VALUES