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

This commit is contained in:
Luca 2018-08-27 18:06:50 +02:00
parent 3c2c2dcb4e
commit a8b0c13f64
3 changed files with 20 additions and 7 deletions

View File

@ -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);

View File

@ -84,7 +84,8 @@ if ($dir == 'entrata') {
</div>
<div class="col-md-3">
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "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(<?php echo $records[0]['idstatodocumento']; ?>); }}\" " ]}
<!-- TODO: Rimuovere possibilità di selezionare lo stato pagato obbligando l'utente ad aggiungere il movimento in prima nota -->
{[ "type": "select", "label": "<?php echo tr('Stato'); ?>", "name": "idstatodocumento", "required": 1, "values": "query=SELECT * FROM co_statidocumento", "value": "$idstatodocumento$", "class": "unblockable", "extra": " onchange = \"if ($('#idstatodocumento option:selected').text()=='Pagato'){if( confirm('<?php echo tr('Sicuro di voler impostare manualmente la fattura come pagata senza aggiungere il movimento in prima nota?'); ?>') ){ return true; }else{ $('#idstatodocumento').selectSet(<?php echo $records[0]['idstatodocumento']; ?>); }}\" " ]}
</div>
</div>

View File

@ -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), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"&euro;\") 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), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"&euro;\") 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), ",", "#"), ".", ","), "#", "."), "&euro;") 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), ",", "#"), ".", ","), "#", "."), "&euro;") 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), ",", "#"), ".", ","), "#", "."), "&euro;") 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), '','', ''#''), ''.'', '',''),''#'', ''.''), ''&euro;'') 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