diff --git a/modules/anagrafiche/bulk.php b/modules/anagrafiche/bulk.php
index 99230bef5..947a3405b 100755
--- a/modules/anagrafiche/bulk.php
+++ b/modules/anagrafiche/bulk.php
@@ -17,8 +17,6 @@
* along with this program. If not, see
diff --git a/modules/newsletter/actions.php b/modules/newsletter/actions.php
index 71fb03f55..e054b1300 100755
--- a/modules/newsletter/actions.php
+++ b/modules/newsletter/actions.php
@@ -52,7 +52,7 @@ switch (filter('op')) {
flash()->info(tr('Campagna newsletter salvata!'));
- if ($newsletter->state = 'OK') {
+ if ($newsletter['state'] === 'OK') {
$newsletter->completed_at = $newsletter->updated_at;
}
diff --git a/modules/ordini/actions.php b/modules/ordini/actions.php
index da07cd5ff..872a0a3e1 100755
--- a/modules/ordini/actions.php
+++ b/modules/ordini/actions.php
@@ -827,4 +827,4 @@ switch (post('op')) {
}
break;
-}
\ No newline at end of file
+}
diff --git a/modules/ordini/edit.php b/modules/ordini/edit.php
index aa7d37c7e..37c116aa8 100755
--- a/modules/ordini/edit.php
+++ b/modules/ordini/edit.php
@@ -60,16 +60,16 @@ if ($module['name'] == 'Ordini cliente') {
if (setting('Cambia automaticamente stato ordini fatturati')) {
if ($record['stato'] == 'Evaso' || $record['stato'] == 'Parzialmente evaso' || $record['stato'] == 'Fatturato' || $record['stato'] == 'Parzialmente fatturato') {
?>
- {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$", "extra": "readonly", "class": "unblockable" ]}
+ {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine ORDER BY descrizione", "value": "$idstatoordine$", "extra": "readonly", "class": "unblockable" ]}
- {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine WHERE descrizione IN('Bozza', 'Accettato', 'In attesa di conferma', 'Annullato')", "value": "$idstatoordine$", "class": "unblockable" ]}
+ {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine WHERE descrizione IN('Bozza', 'Accettato', 'In attesa di conferma', 'Annullato') ORDER BY descrizione", "value": "$idstatoordine$", "class": "unblockable" ]}
- {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT * FROM or_statiordine", "value": "$idstatoordine$", "class": "unblockable" ]}
+ {[ "type": "select", "label": "", "name": "idstatoordine", "required": 1, "values": "query=SELECT *, colore AS _bgcolor_ FROM or_statiordine ORDER BY descrizione", "value": "$idstatoordine$", "class": "unblockable" ]}
@@ -516,6 +516,6 @@ if (!empty($elementi)) {
?>
-
+
diff --git a/modules/ordini/row-list.php b/modules/ordini/row-list.php
index ef45d6c7a..d16bea8a2 100755
--- a/modules/ordini/row-list.php
+++ b/modules/ordini/row-list.php
@@ -618,11 +618,13 @@ $(".check").on("change", function() {
$("#duplica_righe").removeClass("disabled");
$("#confronta_righe").removeClass("disabled");
$("#aggiorna_righe").removeClass("disabled");
+ $("#elimina").addClass("disabled");
} else {
$("#elimina_righe").addClass("disabled");
$("#duplica_righe").addClass("disabled");
$("#confronta_righe").addClass("disabled");
- $("#aggiorna_righe").removeClass("disabled");
+ $("#aggiorna_righe").addClass("disabled");
+ $("#elimina").removeClass("disabled");
}
});
diff --git a/modules/preventivi/actions.php b/modules/preventivi/actions.php
index a8bce3e34..3f816fcf5 100755
--- a/modules/preventivi/actions.php
+++ b/modules/preventivi/actions.php
@@ -626,4 +626,4 @@ switch (post('op')) {
}
break;
-}
\ No newline at end of file
+}
diff --git a/modules/preventivi/edit.php b/modules/preventivi/edit.php
index 5af9a4d31..5479d3dae 100755
--- a/modules/preventivi/edit.php
+++ b/modules/preventivi/edit.php
@@ -115,7 +115,7 @@ echo '
- {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione FROM co_statipreventivi", "value": "$idstato$", "class": "unblockable" ]}
+ {[ "type": "select", "label": "", "name": "idstato", "required": 1, "values": "query=SELECT id, descrizione, colore AS _bgcolor_ FROM co_statipreventivi ORDER BY descrizione", "value": "$idstato$", "class": "unblockable" ]}
@@ -518,7 +518,7 @@ if (!empty($elementi)) {
?>
-
+
diff --git a/modules/stati_contratto/edit.php b/modules/stati_contratto/edit.php
index b2a14943b..136aec586 100755
--- a/modules/stati_contratto/edit.php
+++ b/modules/stati_contratto/edit.php
@@ -33,14 +33,18 @@ if ($record['can_delete']) {
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
-
+
{[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]}
+
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "" ]}
+
+
@@ -78,3 +82,14 @@ if (!empty($record['can_delete'])) {
}
?>
+
+
diff --git a/modules/stati_ordine/actions.php b/modules/stati_ordine/actions.php
index 37f8f5165..1babf0aef 100644
--- a/modules/stati_ordine/actions.php
+++ b/modules/stati_ordine/actions.php
@@ -24,6 +24,7 @@ switch (post('op')) {
$dbo->update('or_statiordine', [
'descrizione' => (count($dbo->fetchArray('SELECT descrizione FROM or_statiordine WHERE descrizione = '.prepare(post('descrizione')))) > 0) ? $dbo->fetchOne('SELECT descrizione FROM or_statiordine WHERE id ='.$id_record)['descrizione'] : post('descrizione'),
'icona' => post('icona'),
+ 'colore' => post('colore'),
'completato' => post('completato') ?: null,
'is_fatturabile' => post('is_fatturabile') ?: null,
'impegnato' => post('impegnato') ?: null,
@@ -36,6 +37,7 @@ switch (post('op')) {
case 'add':
$descrizione = post('descrizione');
$icona = post('icona');
+ $colore = post('colore');
$completato = post('completato') ?: null;
$is_fatturabile = post('is_fatturabile') ?: null;
$impegnato = post('impegnato') ?: null;
@@ -44,7 +46,7 @@ switch (post('op')) {
if (count($dbo->fetchArray('SELECT descrizione FROM or_statiordine WHERE descrizione='.prepare($descrizione))) > 0) {
flash()->error(tr('Stato ordine già esistente.'));
} else {
- $query = 'INSERT INTO or_statiordine(descrizione, icona, completato, is_fatturabile, impegnato) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($completato).', '.prepare($is_fatturabile).', '.prepare($impegnato).' )';
+ $query = 'INSERT INTO or_statiordine(descrizione, icona, colore, completato, is_fatturabile, impegnato) VALUES ('.prepare($descrizione).', '.prepare($icona).', '.prepare($colore).','.prepare($completato).', '.prepare($is_fatturabile).', '.prepare($impegnato).' )';
$dbo->query($query);
$id_record = $dbo->lastInsertedID();
flash()->info(tr('Nuovo stato ordine aggiunto.'));
@@ -54,7 +56,7 @@ switch (post('op')) {
case 'delete':
//scelgo se settare come eliminato o cancellare direttamente la riga se non è stato utilizzato negli ordini
- if (count($dbo->fetchArray('SELECT id FROM or_statiordine WHERE idstato='.prepare($id_record))) > 0) {
+ if (count($dbo->fetchArray('SELECT id FROM or_statiordine WHERE id='.prepare($id_record))) > 0) {
$query = 'UPDATE or_statiordine SET deleted_at = NOW() WHERE can_delete = 1 AND id='.prepare($id_record);
} else {
$query = 'DELETE FROM or_statiordine WHERE can_delete = 1 AND id='.prepare($id_record);
diff --git a/modules/stati_ordine/add.php b/modules/stati_ordine/add.php
index 501d4e860..0f656cbdc 100644
--- a/modules/stati_ordine/add.php
+++ b/modules/stati_ordine/add.php
@@ -24,9 +24,13 @@ include_once __DIR__.'/../../core.php';
-
+
+
diff --git a/modules/stati_ordine/edit.php b/modules/stati_ordine/edit.php
index c5c915a7f..ac341fa48 100644
--- a/modules/stati_ordine/edit.php
+++ b/modules/stati_ordine/edit.php
@@ -33,14 +33,18 @@ if ($record['can_delete']) {
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1 ]}
+
+
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "" ]}
+
@@ -53,3 +57,13 @@ include_once __DIR__.'/../../core.php';
-
+
{[ "type": "text", "label": "", "name": "descrizione", "required": 1, "value": "$descrizione$", "extra": "" ]}
-
+
{[ "type": "text", "label": "", "name": "icona", "required": 1, "class": "text-center", "value": "$icona$", "extra": "", "icon-after": "' : ''; ?>" ]}
+
+ {[ "type": "text", "label": "", "name": "colore", "required": 1, "class": "colorpicker text-center", "value": "$colore$", "extra": "maxlength='7'", "icon-after": "" ]}
+
+
@@ -78,3 +82,13 @@ if (!empty($record['can_delete'])) {
}
?>
+
diff --git a/modules/tipi_documento/actions.php b/modules/tipi_documento/actions.php
index 91cfdebc2..764dbee16 100644
--- a/modules/tipi_documento/actions.php
+++ b/modules/tipi_documento/actions.php
@@ -39,7 +39,7 @@ switch (filter('op')) {
'help' => filter('help'),
'predefined' => $predefined,
'enabled' => post('enabled'),
- 'id_segment' => post('id_segment')
+ 'id_segment' => post('id_segment'),
], ['id' => $id_record]);
flash()->info(tr('Salvataggio completato!'));
diff --git a/modules/tipi_documento/edit.php b/modules/tipi_documento/edit.php
index 70c04147c..bace8a40b 100644
--- a/modules/tipi_documento/edit.php
+++ b/modules/tipi_documento/edit.php
@@ -49,11 +49,11 @@ include_once __DIR__.'/../../core.php';
fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di acquisto"')['id'];
$id_module_vendite = database()->fetchOne('SELECT id FROM zz_modules WHERE title = "Fatture di vendita"')['id'];
-
- echo'
+
+ echo '
{[ "type": "select", "label": "'.tr('Sezionale predefinito').'", "name": "id_segment", "required": 1, "ajax-source": "segmenti", "select-options": '.json_encode(['id_module' => $record['dir'] == 'entrata' ? $id_module_vendite : $id_module_acquisti, 'is_sezionale' => 1]).', "value": "$id_segment$" ]}
diff --git a/plugins/exportFE/src/FatturaElettronica.php b/plugins/exportFE/src/FatturaElettronica.php
index 2732efaad..2687a598c 100755
--- a/plugins/exportFE/src/FatturaElettronica.php
+++ b/plugins/exportFE/src/FatturaElettronica.php
@@ -815,7 +815,7 @@ class FatturaElettronica
}
// Riferimento Amministrazione
- if ($fattura->getCliente()->tipo == "Ente pubblico") {
+ if ($fattura->getCliente()->tipo == 'Ente pubblico') {
if (!empty($fattura->getCliente()->riferimento_amministrazione)) {
$result['RiferimentoAmministrazione'] = $fattura->getCliente()->riferimento_amministrazione;
}
@@ -849,10 +849,6 @@ class FatturaElettronica
'Sede' => static::getSede($cliente),
];
- // Riferimento Amministrazione
- if (!empty($cliente->riferimento_amministrazione)) {
- $result['RiferimentoAmministrazione'] = $cliente->riferimento_amministrazione;
- }
return $result;
}
diff --git a/plugins/importFE/src/FatturaOrdinaria.php b/plugins/importFE/src/FatturaOrdinaria.php
index 7a85fac3f..aa890db0b 100755
--- a/plugins/importFE/src/FatturaOrdinaria.php
+++ b/plugins/importFE/src/FatturaOrdinaria.php
@@ -87,9 +87,7 @@ class FatturaOrdinaria extends FatturaElettronica
{
$linee = $this->getBody()['DatiBeniServizi']['DettaglioLinee'];
$linee = $this->forceArray($linee);
- $ritenuta = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['DatiRitenuta'];
$cassa_previdenziale = $this->getBody()['DatiGenerali']['DatiGeneraliDocumento']['DatiCassaPrevidenziale'];
- $linee = $this->forceArray($linee);
$imponibile = [];
$totale_imposta = [];
@@ -387,7 +385,8 @@ class FatturaOrdinaria extends FatturaElettronica
// Arrotondamenti differenti nella fattura XML
$diff = round(abs($totale_righe) + $totale_arrotondamento - abs($fattura->totale_imponibile), 2);
// Aggiunta della riga di arrotondamento nel caso in cui ci sia una differenza tra i totali, o tra l'imponibile dell'XML e quello ricavato dalla somma delle righe
- if (($diff != 0 && $diff != $totale_arrotondamento) || $fattura->totale_imponibile + $fattura->rivalsa_inps != $totale_imp) {
+
+ if (($diff != 0 && $diff != $totale_arrotondamento) || (($fattura->totale_imponibile + $fattura->rivalsa_inps) != $totale_imp)) {
// Rimozione dell'IVA calcolata automaticamente dal gestionale
$iva_arrotondamento = database()->fetchOne('SELECT * FROM co_iva WHERE percentuale=0 AND deleted_at IS NULL');
if ($diff != 0) {
@@ -506,6 +505,11 @@ class FatturaOrdinaria extends FatturaElettronica
if (!empty($riga['Ritenuta'])) {
$totali[] = $riga['PrezzoTotale'];
$ritenuta_norighe = false;
+ $ritenuta = $this->forceArray($ritenuta);
+ foreach ($ritenuta as $rit) {
+ $percentuale += floatval($rit['AliquotaRitenuta']);
+ $importo += floatval($rit['ImportoRitenuta']);
+ }
}
}
@@ -516,9 +520,6 @@ class FatturaOrdinaria extends FatturaElettronica
$totale = sum($totali);
}
- $percentuale = floatval($ritenuta['AliquotaRitenuta']);
- $importo = floatval($ritenuta['ImportoRitenuta']);
-
$totale_previsto = round($importo / $percentuale * 100, 2);
$percentuale_importo = round($totale_previsto / $totale * 100, 2);
$percentuale_importo = min($percentuale_importo, 100); // Nota: Fix per la percentuale che superava il 100% nel caso di importi con Rivalsa compresa
diff --git a/update/2_4_50.sql b/update/2_4_50.sql
new file mode 100644
index 000000000..ce0a11a75
--- /dev/null
+++ b/update/2_4_50.sql
@@ -0,0 +1,91 @@
+ALTER TABLE `co_staticontratti` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`;
+ALTER TABLE `co_statidocumento` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`;
+ALTER TABLE `dt_statiddt` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`;
+ALTER TABLE `or_statiordine` ADD `colore` VARCHAR(7) NOT NULL AFTER `icona`;
+
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Stati dei contratti'), 'color_Colore', 'colore', '7', '0', '0', '1', '0', '', '', '1', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Stati degli ordini'), 'color_Colore', 'colore', '7', '0', '0', '1', '0', '', '', '1', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ordini cliente'), '_bg_', 'or_statiordine.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ordini fornitore'), '_bg_', 'or_statiordine.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Contratti'), '_bg_', 'co_staticontratti.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ddt di vendita'), '_bg_', 'dt_statiddt.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0');
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Ddt di acquisto'), '_bg_', 'dt_statiddt.colore', '14', '0', '0', '1', '0', '', '', '0', '0', '0');
+
+UPDATE `co_staticontratti` SET `colore` = '#ffef99' WHERE `co_staticontratti`.`descrizione` = 'Bozza';
+UPDATE `co_staticontratti` SET `colore` = '#99e6ff' WHERE `co_staticontratti`.`descrizione` = 'In attesa di conferma';
+UPDATE `co_staticontratti` SET `colore` = '#99ffff' WHERE `co_staticontratti`.`descrizione` = 'Accettato';
+UPDATE `co_staticontratti` SET `colore` = '#e5e4e2' WHERE `co_staticontratti`.`descrizione` = 'Rifiutato';
+UPDATE `co_staticontratti` SET `colore` = '#fdd9a0' WHERE `co_staticontratti`.`descrizione` = 'In lavorazione';
+UPDATE `co_staticontratti` SET `colore` = '#98fb98' WHERE `co_staticontratti`.`descrizione` = 'Fatturato';
+UPDATE `co_staticontratti` SET `colore` = '#88de69' WHERE `co_staticontratti`.`descrizione` = 'Pagato';
+UPDATE `co_staticontratti` SET `colore` = '#5dd333' WHERE `co_staticontratti`.`descrizione` = 'Concluso';
+UPDATE `co_staticontratti` SET `colore` = '#b4ff99' WHERE `co_staticontratti`.`descrizione` = 'Parzialmente fatturato';
+
+UPDATE `co_statidocumento` SET `colore` = '#88de69' WHERE `co_statidocumento`.`descrizione` = 'Pagato';
+UPDATE `co_statidocumento` SET `colore` = '#ffef99' WHERE `co_statidocumento`.`descrizione` = 'Bozza';
+UPDATE `co_statidocumento` SET `colore` = '#99ffff' WHERE `co_statidocumento`.`descrizione` = 'Emessa';
+UPDATE `co_statidocumento` SET `colore` = '#e5e4e2' WHERE `co_statidocumento`.`descrizione` = 'Annullata';
+UPDATE `co_statidocumento` SET `colore` = '#98fb98' WHERE `co_statidocumento`.`descrizione` = 'Parzialmente pagato';
+
+UPDATE `dt_statiddt` SET `colore` = '#ffef99' WHERE `dt_statiddt`.`descrizione` = 'Bozza';
+UPDATE `dt_statiddt` SET `colore` = '#99ffff' WHERE `dt_statiddt`.`descrizione` = 'Evaso';
+UPDATE `dt_statiddt` SET `colore` = '#98fb98' WHERE `dt_statiddt`.`descrizione` = 'Fatturato';
+UPDATE `dt_statiddt` SET `colore` = '#b4ff99' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente fatturato';
+UPDATE `dt_statiddt` SET `colore` = '#FFDF80' WHERE `dt_statiddt`.`descrizione` = 'Parzialmente evaso';
+
+UPDATE `or_statiordine` SET `colore` = '#ffef99' WHERE `or_statiordine`.`descrizione` = 'Bozza';
+UPDATE `or_statiordine` SET `colore` = '#99ffff' WHERE `or_statiordine`.`descrizione` = 'Evaso';
+UPDATE `or_statiordine` SET `colore` = '#FFDF80' WHERE `or_statiordine`.`descrizione` = 'Parzialmente evaso';
+UPDATE `or_statiordine` SET `colore` = '#b4ff99' WHERE `or_statiordine`.`descrizione` = 'Parzialmente fatturato';
+UPDATE `or_statiordine` SET `colore` = '#98fb98' WHERE `or_statiordine`.`descrizione` = 'Fatturato';
+UPDATE `or_statiordine` SET `colore` = '#f9f5be' WHERE `or_statiordine`.`descrizione` = 'In attesa di conferma';
+UPDATE `or_statiordine` SET `colore` = '#99E6FF' WHERE `or_statiordine`.`descrizione` = 'Accettato';
+UPDATE `or_statiordine` SET `colore` = '#e5e4e2' WHERE `or_statiordine`.`descrizione` = 'Annullato';
+
+UPDATE `co_statipreventivi` SET `colore` = '#ffef99' WHERE `co_statipreventivi`.`descrizione` = 'Bozza';
+UPDATE `co_statipreventivi` SET `colore` = '#99e6ff' WHERE `co_statipreventivi`.`descrizione` = 'In attesa di conferma';
+UPDATE `co_statipreventivi` SET `colore` = '#99ffff' WHERE `co_statipreventivi`.`descrizione` = 'Accettato';
+UPDATE `co_statipreventivi` SET `colore` = '#e5e4e2' WHERE `co_statipreventivi`.`descrizione` = 'Rifiutato';
+UPDATE `co_statipreventivi` SET `colore` = '#fdd9a0' WHERE `co_statipreventivi`.`descrizione` = 'In lavorazione';
+UPDATE `co_statipreventivi` SET `colore` = '#d8bfd8' WHERE `co_statipreventivi`.`descrizione` = 'Concluso';
+UPDATE `co_statipreventivi` SET `colore` = '#88de69' WHERE `co_statipreventivi`.`descrizione` = 'Pagato';
+UPDATE `co_statipreventivi` SET `colore` = '#98fb98' WHERE `co_statipreventivi`.`descrizione` = 'Fatturato';
+UPDATE `co_statipreventivi` SET `colore` = '#b4ff99' WHERE `co_statipreventivi`.`descrizione` = 'Parzialmente fatturato';
+
+UPDATE `in_statiintervento` SET `colore` = '#ffef99' WHERE `in_statiintervento`.`descrizione` = 'Da programmare';
+UPDATE `in_statiintervento` SET `colore` = '#98fb98' WHERE `in_statiintervento`.`descrizione` = 'Fatturato';
+UPDATE `in_statiintervento` SET `colore` = '#d8bfd8' WHERE `in_statiintervento`.`descrizione` = 'Completato';
+UPDATE `in_statiintervento` SET `colore` = '#99e6ff' WHERE `in_statiintervento`.`descrizione` = 'Programmato';
+
+UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`d`.`conteggio`>1, \'red\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = '_bg_';
+UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF(`dup`.`numero_esterno` IS NOT NULL, \'red\', co_statidocumento.colore)' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = '_bg_';
+
+-- Allineamento query Fatture di vendita
+UPDATE `zz_modules` SET `options` = "
+SELECT
+ |select|
+FROM
+ `co_documenti`
+ LEFT JOIN (SELECT SUM(`totale`) AS `totale`, `iddocumento` FROM `co_movimenti` WHERE `totale` > 0 AND `primanota` = 1 GROUP BY `iddocumento`) AS `primanota` ON `primanota`.`iddocumento` = `co_documenti`.`id`
+ LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
+ LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
+ LEFT JOIN (SELECT `iddocumento`, SUM(`subtotale` - `sconto`) AS `totale_imponibile`, SUM(`iva`) AS `iva` FROM `co_righe_documenti` GROUP BY `iddocumento`) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento`
+ LEFT JOIN (SELECT `co_banche`.`id`, CONCAT(`co_banche`.`nome`, ' - ', `co_banche`.`iban`) AS descrizione FROM `co_banche` GROUP BY `co_banche`.`id`) AS banche ON `banche`.`id` =`co_documenti`.`id_banca_azienda`
+ LEFT 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 JOIN `co_ritenuta_contributi` ON `co_documenti`.`id_ritenuta_contributi` = `co_ritenuta_contributi`.`id`
+ LEFT JOIN (SELECT COUNT(id) as emails, em_emails.id_record FROM em_emails INNER JOIN zz_operations ON zz_operations.id_email = em_emails.id WHERE id_module IN(SELECT id FROM zz_modules WHERE name = 'Fatture di vendita') AND `zz_operations`.`op` = 'send-email' GROUP BY em_emails.id_record) AS `email` ON `email`.`id_record` = `co_documenti`.`id`
+ LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
+ LEFT JOIN (SELECT `numero_esterno`, `id_segment`, `idtipodocumento`, `data` FROM `co_documenti` WHERE `co_documenti`.`idtipodocumento` IN( SELECT `id` FROM `co_tipidocumento` WHERE `dir` = 'entrata') AND `numero_esterno` != '' GROUP BY `id_segment`, `numero_esterno`, `idtipodocumento` HAVING COUNT(`numero_esterno`) > 1 |date_period(`co_documenti`.`data`)| ) dup ON `co_documenti`.`numero_esterno` = `dup`.`numero_esterno` AND `dup`.`id_segment` = `co_documenti`.`id_segment` AND `dup`.`idtipodocumento` = `co_documenti`.`idtipodocumento`
+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';
+
+INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES ((SELECT id FROM zz_modules WHERE name = 'Tipi documento'), 'Sezionale', 'zz_segments.name', '8', '1', '0', '0', '0', '', '', '1', '0', '0');
+
+UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`name` IN ('Stampa calendario settimanale', "Intervento & checklist", "Intervento & checklist (senza costi)", "Barcode bulk");
+
|
---|