diff --git a/modules/stampe_contabili/stampe_contabili.php b/modules/stampe_contabili/stampe_contabili.php
index e99bc0cba..7c1648f7c 100644
--- a/modules/stampe_contabili/stampe_contabili.php
+++ b/modules/stampe_contabili/stampe_contabili.php
@@ -32,7 +32,7 @@ $link = Prints::getHref($nome_stampa, $id_record);
echo '
@@ -71,7 +71,7 @@ echo '
if ($nome_stampa != 'Liquidazione IVA') {
echo '
- {[ "type": "checkbox", "label": "'.tr('Definitiva').'", "disabled": "1", "name": "definitiva", "help": "'.tr('Per abilitare il pulsante è necessario impostare nei campi Data inizio e Data fine uno dei 4 trimestri e non deve essere già stata creata la stampa definitiva del periodo selezionato').'" ]}
+ {[ "type": "checkbox", "label": "'.tr('Definitiva').'", "disabled": "1", "name": "definitiva", "help": "'.tr('Per abilitare il pulsante è necessario impostare nei campi Data inizio e Data fine uno dei 4 trimestri o un singolo mese e non deve essere già stata creata la stampa definitiva del periodo selezionato').'" ]}
';
}
@@ -153,7 +153,7 @@ if ($nome_stampa != 'Liquidazione IVA') {
controllaDate(date_start, date_end);
}
- // Controllo se le date inserite corrispondono ad uno dei 4 trimestri
+ // Controllo se le date inserite corrispondono ad uno dei 4 trimestri o ad un mese
function controllaDate(date_start, date_end) {
let intervallo_corretto = 0;
let date = new Date(date_start);
@@ -174,6 +174,22 @@ if ($nome_stampa != 'Liquidazione IVA') {
m_start += 3;
m_end += 3;
}
+
+ m_start = 0;
+ m_end = 1;
+ for (i=0; i<=11; i++) {
+ let start = new Date(year, m_start, 1);
+ let end = new Date(year, m_end, 0);
+
+ int_start = start.getFullYear() + "-" + ("0" + (start.getMonth() + 1)).slice(-2) + "-" + ("0" + start.getDate()).slice(-2);
+ int_end = end.getFullYear() + "-" + ("0" + (end.getMonth() + 1)).slice(-2) + "-" + ("0" + end.getDate()).slice(-2);
+
+ if (date_start == int_start && date_end == int_end) {
+ intervallo_corretto = 1;
+ }
+ m_start += 1;
+ m_end += 1;
+ }
$("#is_definitiva").addClass("hidden");
if (intervallo_corretto) {
diff --git a/templates/registro_iva/init.php b/templates/registro_iva/init.php
index cf8020334..e841bc876 100755
--- a/templates/registro_iva/init.php
+++ b/templates/registro_iva/init.php
@@ -48,7 +48,7 @@ FROM co_movimenti
INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica = co_documenti.idanagrafica
WHERE dir = '.prepare($dir).' AND idstatodocumento NOT IN (SELECT id FROM co_statidocumento WHERE descrizione="Bozza" OR descrizione="Annullata") AND is_descrizione = 0 AND co_documenti.data_competenza >= '.prepare($date_start).' AND co_documenti.data_competenza <= '.prepare($date_end).' AND '.((!empty($id_sezionale)) ? 'co_documenti.id_segment = '.prepare($id_sezionale).'' : '1=1').'
GROUP BY co_documenti.id, co_righe_documenti.idiva
-ORDER BY CAST(co_documenti.'.(($dir == 'entrata') ? 'data' : 'numero').' AS '.(($dir == 'entrata') ? 'DATE' : 'UNSIGNED').'), co_documenti.'.(($dir == 'entrata') ? 'numero_esterno' : 'data_competenza');
+ORDER BY CAST(co_documenti.numero AS UNSIGNED), co_documenti.numero_esterno';
$records = $dbo->fetchArray($query);
if (empty(get('notdefinitiva'))) {
diff --git a/templates/registro_iva/piece.php b/templates/registro_iva/piece.php
index a1a2bfdb8..56768aeba 100755
--- a/templates/registro_iva/piece.php
+++ b/templates/registro_iva/piece.php
@@ -19,17 +19,20 @@
include_once __DIR__.'/../../core.php';
+if ($numero != $record['numero']) {
+ $different = 1;
+}
+
echo '
';
echo '
- '.str_pad($record['idmovimenti'], 8, '0', STR_PAD_LEFT).' |
- '.$record['numero'].' |
- '.Translator::datetoLocale($record['data_registrazione']).' |
- '.$record['numero_esterno'].' |
- '.Translator::datetoLocale($record['data']).' |
- '.$record['codice_tipo_documento_fe'].' |
- '.$record['codice_anagrafica'].' / '.safe_truncate(mb_strtoupper(html_entity_decode($record['ragione_sociale']), 'UTF-8'), 50).' |
+ '.($different ? $record['numero'] : '').' |
+ '.($different ? Translator::datetoLocale($record['data_registrazione']) : '').' |
+ '.($different ? $record['numero_esterno'] : '').' |
+ '.($different ? Translator::datetoLocale($record['data']) : '').' |
+ '.($different ? $record['codice_tipo_documento_fe'] : '').' |
+ '.($different ? $record['codice_anagrafica'].' / '.safe_truncate(mb_strtoupper(html_entity_decode($record['ragione_sociale']), 'UTF-8'), 50) : '').' |
'.moneyFormat($record['totale']).' | ';
echo '
@@ -41,3 +44,12 @@ echo '
$iva[$record['desc_iva']][] = $record['iva'];
$totale[$record['desc_iva']][] = $record['subtotale'];
+
+$numero = $record['numero'];
+$data_registrazione = $record['data_registrazione'];
+$numero_esterno = $record['numero'];
+$data = $record['data'];
+$codice_fe = $record['numero'];
+$codice_anagrafica = $record['numero'];
+
+$different = 0;
\ No newline at end of file
diff --git a/templates/registro_iva/top.php b/templates/registro_iva/top.php
index b63afb5bf..104947c13 100755
--- a/templates/registro_iva/top.php
+++ b/templates/registro_iva/top.php
@@ -48,7 +48,6 @@ echo ''.$titolo.'
- '.tr('Movimento').' |
'.tr('N° Prot.').' |
'.tr('Data reg.').' |
'.tr('No doc.').' |