diff --git a/modules/fatture/row-list.php b/modules/fatture/row-list.php index e729c270a..caf079d93 100644 --- a/modules/fatture/row-list.php +++ b/modules/fatture/row-list.php @@ -36,6 +36,7 @@ foreach ($righe as $riga) { $r['ritenuta_acconto'] = !empty($r['idritenutaacconto']) ? moneyFormat(abs($r['ritenutaacconto']), 2) : null; $r['ritenuta_contributi'] = !empty($r['ritenuta_contributi']) ? moneyFormat(abs($r['ritenuta_contributi']), 2) : null; + $r['rivalsa'] = !empty($r['idrivalsainps']) ? moneyFormat(abs($r['rivalsainps']), 2) : null; $extra = ''; @@ -98,7 +99,8 @@ foreach ($righe as $riga) { $extra_riga = ''; if (!$r['is_descrizione']) { - $extra_riga = tr('_DESCRIZIONE_CONTO__ID_DOCUMENTO__NUMERO_RIGA__CODICE_CIG__CODICE_CUP__RITENUTA_ACCONTO__RITENUTA_CONTRIBUTI_', [ + $extra_riga = tr('_DESCRIZIONE_CONTO__ID_DOCUMENTO__NUMERO_RIGA__CODICE_CIG__CODICE_CUP__RITENUTA_ACCONTO__RITENUTA_CONTRIBUTI__RIVALSA_', [ + '_RIVALSA_' => $r['rivalsa'] ? '
Rivalsa: '.$r['rivalsa'] : null, '_RITENUTA_ACCONTO_' => $r['ritenuta_acconto'] ? '
Ritenuta acconto: '.$r['ritenuta_acconto'] : null, '_RITENUTA_CONTRIBUTI_' => $r['ritenuta_contributi'] ? '
Ritenuta contributi: '.$r['ritenuta_contributi'] : null, '_DESCRIZIONE_CONTO_' => $r['descrizione_conto'] ?: null, diff --git a/templates/fatturato/pdfgen.fatturato.php b/templates/fatturato/pdfgen.fatturato.php index 123981af6..95f7b3bfb 100644 --- a/templates/fatturato/pdfgen.fatturato.php +++ b/templates/fatturato/pdfgen.fatturato.php @@ -47,16 +47,16 @@ $body .= "Totale for ($r = 0; $r < sizeof($rs); ++$r) { // Lettura totali - $rs2 = $dbo->fetchArray("SELECT SUM(subtotale-co_righe_documenti.sconto) AS imponibile, SUM(iva) AS iva, (SELECT SUM(bollo) FROM co_documenti WHERE DATE_FORMAT(data,'%m-%Y') = \"".$rs[$r]['periodo'].'" AND idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="'.$dir."\")) AS bollo, SUM(co_righe_documenti.rivalsainps) AS rivalsainps, SUM(co_righe_documenti.ritenutaacconto) AS ritenutaacconto FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE DATE_FORMAT(data,'%m-%Y') = \"".$rs[$r]['periodo'].'" AND idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="'.$dir.'")'); + $rs2 = $dbo->fetchArray("SELECT SUM(subtotale-co_righe_documenti.sconto) AS imponibile, SUM(iva) AS iva FROM co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id WHERE DATE_FORMAT(data,'%m-%Y') = \"".$rs[$r]['periodo'].'" AND idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir="'.$dir.'")'); $body .= "".$mesi[intval(date('m', strtotime($rs[$r]['data'])))].' '.date('Y', strtotime($rs[$r]['data']))."\n"; $body .= "".moneyFormat($rs2[0]['imponibile'])."\n"; $body .= "".moneyFormat($rs2[0]['iva'])."\n"; - $body .= "".moneyFormat($rs2[0]['imponibile'] + $rs2[0]['iva'] + $rs2[0]['rivalsainps'] + $rs2[0]['bollo'] + $rs2[0]['ritenutaacconto'])."\n"; + $body .= "".moneyFormat($rs2[0]['imponibile'] + $rs2[0]['iva'])."\n"; $totale_imponibile += $rs2[0]['imponibile']; $totale_iva += $rs2[0]['iva']; - $totale += $rs2[0]['imponibile'] + $rs2[0]['iva'] + $rs2[0]['rivalsainps'] + $rs2[0]['bollo'] + $rs2[0]['ritenutaacconto']; + $totale += $rs2[0]['imponibile'] + $rs2[0]['iva']; } // Totali diff --git a/update/2_4_13.sql b/update/2_4_13.sql index 34ea3d3a8..06954d789 100755 --- a/update/2_4_13.sql +++ b/update/2_4_13.sql @@ -185,7 +185,59 @@ UPDATE `zz_views` SET `visible` = '1' WHERE `zz_views`.`name` = 'Prezzo di vendi INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT id FROM zz_modules WHERE `name`='Articoli'), 'Barcode', 'mg_articoli.barcode', '2', '1', '0', '0', '', '', '1', '0', '1'); - +-- Aggiunto help per maschera codice attività UPDATE `zz_settings` SET `help` = '

Impostare la maschera senza indicare l''anno per evitare il reset del contatore.

' WHERE `zz_settings`.`nome` = 'Formato codice attività'; +-- Rimosso stato completato dallo stato ordine Parzialmente evaso UPDATE `or_statiordine` SET `completato` = '0' WHERE `or_statiordine`.`descrizione` = ='Parzialmente evaso'; + +-- Fatture di vendita perfezionato campo totale +UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti` + INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` + INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` + INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` + LEFT JOIN `fe_stati_documento` ON `co_documenti`.`codice_stato_fe` = `fe_stati_documento`.`codice` + LEFT OUTER JOIN ( + SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale` + FROM `co_righe_documenti` + GROUP BY `iddocumento` + ) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento` + LEFT JOIN ( + SELECT `numero_esterno`, `id_segment` + FROM `co_documenti` + WHERE `co_documenti`.`idtipodocumento` IN(SELECT `id` FROM `co_tipidocumento` WHERE `dir` = ''entrata'') |date_period(`co_documenti`.`data`)| AND `numero_esterno` != '''' + GROUP BY `id_segment`, `numero_esterno` + HAVING COUNT(`numero_esterno`) > 1 + ) dup ON `co_documenti`.`numero_esterno` = `dup`.`numero_esterno` AND `dup`.`id_segment` = `co_documenti`.`id_segment` + LEFT OUTER JOIN ( + SELECT `zz_operations`.`id_email`, `zz_operations`.`id_record` + FROM `zz_operations` + INNER JOIN `em_emails` ON `zz_operations`.`id_email` = `em_emails`.`id` + INNER JOIN `em_templates` ON `em_emails`.`id_template` = `em_templates`.`id` + INNER JOIN `zz_modules` ON `zz_operations`.`id_module` = `zz_modules`.`id` + WHERE `zz_modules`.`name` = ''Fatture di vendita'' AND `zz_operations`.`op` = ''send-email'' + GROUP BY `zz_operations`.`id_record` + ) AS `email` ON `email`.`id_record` = `co_documenti`.`id` +WHERE 1=1 AND `dir` = ''entrata'' |segment(`co_documenti`.`id_segment`)| |date_period(`co_documenti`.`data`)| +HAVING 2=2 +ORDER BY `co_documenti`.`data` DESC, CAST(`co_documenti`.`numero_esterno` AS UNSIGNED) DESC' WHERE `name` = 'Fatture di vendita'; + +-- Fatture di acquisto perfezionato campo totale +UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti` + INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` + INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id` + INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` + LEFT OUTER JOIN ( + SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale` + FROM `co_righe_documenti` + GROUP BY `iddocumento` + ) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento` +WHERE 1=1 AND `dir` = ''uscita'' |segment(`co_documenti`.`id_segment`)| |date_period(`co_documenti`.`data`)| +HAVING 2=2 +ORDER BY `co_documenti`.`data` DESC, CAST(IF(`co_documenti`.`numero_esterno` = '''', `co_documenti`.`numero`, `co_documenti`.`numero_esterno`) AS UNSIGNED) DESC' WHERE `name` = 'Fatture di acquisto'; + +-- Widget Fatturato fatture di vendita +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS('' '', REPLACE(REPLACE(REPLACE(FORMAT((SELECT SUM(subtotale-sconto)), 2), '','', ''#''), ''.'', '',''), ''#'', ''.''), ''€'') AS dato FROM (co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''entrata'' |segment| AND data >= ''|period_start|'' AND data <= ''|period_end|'' AND 1=1' WHERE `zz_widgets`.`name` = 'Fatturato'; + +-- Widget Acquisti fatture di acquisto +UPDATE `zz_widgets` SET `query` = 'SELECT CONCAT_WS('' '', REPLACE(REPLACE(REPLACE(FORMAT((SELECT SUM(subtotale-sconto)), 2), '','', ''#''), ''.'', '',''), ''#'', ''.''), ''€'') AS dato FROM (co_righe_documenti INNER JOIN co_documenti ON co_righe_documenti.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=''uscita'' |segment| AND data >= ''|period_start|'' AND data <= ''|period_end|'' AND 1=1' WHERE `zz_widgets`.`name` = 'Acquisti'; \ No newline at end of file