Stile del codice

This commit is contained in:
Dasc3er 2021-02-23 11:40:27 +01:00
parent 5fd3197da2
commit 30db43ce30
15 changed files with 88 additions and 50 deletions

View File

@ -117,11 +117,11 @@ function orderValue($table, $field, $id)
function reorderRows($table, $field, $id)
{
$righe = database()->select($table, 'id', [$field => $id]);
$i=1;
$i = 1;
foreach($righe as $riga){
foreach ($righe as $riga) {
database()->query('UPDATE '.$table.' SET `order`='.$i.' WHERE id='.prepare($riga['id']));
$i++;
++$i;
}
}

View File

@ -307,7 +307,7 @@ $riga = $contratto->getRiga($type, $id_riga);
$order = explode(',', post('order', true));
foreach ($order as $i => $id_riga) {
$dbo->query('UPDATE `co_righe_contratti` SET `order` = '.prepare($i+1).' WHERE id='.prepare($id_riga));
$dbo->query('UPDATE `co_righe_contratti` SET `order` = '.prepare($i + 1).' WHERE id='.prepare($id_riga));
}
break;

View File

@ -407,7 +407,7 @@ switch (post('op')) {
$order = explode(',', post('order', true));
foreach ($order as $i => $id_riga) {
$dbo->query('UPDATE `dt_righe_ddt` SET `order` = '.prepare($i+1).' WHERE id='.prepare($id_riga));
$dbo->query('UPDATE `dt_righe_ddt` SET `order` = '.prepare($i + 1).' WHERE id='.prepare($id_riga));
}
break;

View File

@ -677,7 +677,7 @@ switch (post('op')) {
$order = explode(',', post('order', true));
foreach ($order as $i => $id_riga) {
$dbo->query('UPDATE `co_righe_documenti` SET `order` = '.prepare($i+1).' WHERE id='.prepare($id_riga));
$dbo->query('UPDATE `co_righe_documenti` SET `order` = '.prepare($i + 1).' WHERE id='.prepare($id_riga));
}
break;

View File

@ -89,7 +89,6 @@ switch (post('op')) {
if (!empty($id_records)) {
foreach ($id_records as $id_record) {
Prints::render($print['id'], $id_record, $dir.'tmp/');
}

View File

@ -40,44 +40,40 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione) && $fattura->stato->des
$id_iva = setting("Iva per lettere d'intento");
$iva = Aliquota::find($id_iva);
if (!empty($iva)){
if ($diff > 0) {
echo '
if (!empty($iva)) {
if ($diff > 0) {
echo '
<div class="alert alert-info">
<i class="fa fa-warning"></i> '.tr("La fattura è collegata a una dichiarazione d'intento con diponibilità di _MONEY_: per collegare una riga alla dichiarazione è sufficiente inserire come IVA _IVA_", [
'_MONEY_' => moneyFormat(abs($diff)),
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
} elseif ($diff == 0) {
echo '
} elseif ($diff == 0) {
echo '
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha raggiunto il massimale previsto di _MONEY_: le nuove righe della fattura devono presentare IVA diversa da _IVA_", [
'_MONEY_' => moneyFormat(abs($fattura->dichiarazione->massimale)),
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
} else {
echo '
} else {
echo '
<div class="alert alert-danger">
<i class="fa fa-warning"></i> '.tr("La dichiarazione d'intento ha superato il massimale previsto di _MONEY_: per rimuovere righe della fattura dalla dichiarazione è sufficiente modificare l'IVA in qualcosa di diverso da _IVA_", [
'_MONEY_' => moneyFormat(abs($diff)),
'_IVA_' => '"'.$iva->descrizione.'"',
]).'.</b>
</div>';
}
}else{
}
} else {
//TODO link ad impostazioni con nuova ricerca rapida
echo '
<div class="alert alert-warning">
<i class="fa fa-warning"></i> '.tr("Attenzione nessuna aliq. IVA definita per la dichiarazione d'intento. _SETTING_", [
'_SETTING_' => Modules::link("Impostazioni", $dbo->fetchOne("SELECT `id` FROM `zz_settings` WHERE nome=\"Iva per lettere d'intento\"")['id'], tr('Selezionala dalle impostazioni')),
'_SETTING_' => Modules::link('Impostazioni', $dbo->fetchOne("SELECT `id` FROM `zz_settings` WHERE nome=\"Iva per lettere d'intento\"")['id'], tr('Selezionala dalle impostazioni')),
]).'
</div>';
}
}

View File

@ -336,7 +336,7 @@ switch (post('op')) {
$order = explode(',', post('order', true));
foreach ($order as $i => $id_riga) {
$dbo->query('UPDATE `or_righe_ordini` SET `order` = '.prepare($i+1).' WHERE id='.prepare($id_riga));
$dbo->query('UPDATE `or_righe_ordini` SET `order` = '.prepare($i + 1).' WHERE id='.prepare($id_riga));
}
break;

View File

@ -346,7 +346,7 @@ switch (post('op')) {
$order = explode(',', post('order', true));
foreach ($order as $i => $id_riga) {
$dbo->query('UPDATE `co_righe_preventivi` SET `order` = '.prepare($i+1).' WHERE id='.prepare($id_riga));
$dbo->query('UPDATE `co_righe_preventivi` SET `order` = '.prepare($i + 1).' WHERE id='.prepare($id_riga));
}
break;

View File

@ -1090,7 +1090,7 @@ class FatturaElettronica
$dati['RiferimentoNumeroLinea'] = $element['riferimento_linea'];
$result[] = $dati;
}
return $result;
}

View File

@ -611,9 +611,9 @@ class Validator
$output = number_format($output, 6, '.', '');
} elseif (in_array($key, ['Quantita'])) {
//Se i decimali per la quantità sono < 2 li imposto a 2 che è il minimo per lo standard della fatturazione elettronica
if (setting('Cifre decimali per quantità') == 1){
if (setting('Cifre decimali per quantità') == 1) {
$output = number_format($output, 2, '.', '');
}else{
} else {
$output = number_format($output, setting('Cifre decimali per quantità'), '.', '');
}
} else {

View File

@ -44,7 +44,7 @@ echo '
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">
<span class="tip" title="'.tr("La statistica considera le fatture di acquisto nel periodo temporale definito").'"><i class="fa fa-question-circle"></i></span>
<span class="tip" title="'.tr('La statistica considera le fatture di acquisto nel periodo temporale definito').'"><i class="fa fa-question-circle"></i></span>
'.tr('Prezzo medio acquisto').'
</h3>
</div>
@ -73,7 +73,7 @@ echo '
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">
<span class="tip" title="'.tr("La statistica considera le fatture di vendita nel periodo temporale definito").'"><i class="fa fa-question-circle"></i></span>
<span class="tip" title="'.tr('La statistica considera le fatture di vendita nel periodo temporale definito').'"><i class="fa fa-question-circle"></i></span>
'.tr('Prezzo medio vendita').'
</h3>
</div>

View File

@ -181,7 +181,7 @@ abstract class Component extends Model
}
reorderRows($this->table, $this->getDocumentID(), $this->getDocument()['id']);
return $result;
}

View File

@ -25,7 +25,8 @@ include_once __DIR__.'/../../core.php';
try {
$fattura_pa = new FatturaElettronica($id_record);
} catch (UnexpectedValueException $e) {
echo '<div class="text-center">'.tr("Questo documento non è una fattura elettronica").'</div>';
echo '<div class="text-center">'.tr('Questo documento non è una fattura elettronica').'</div>';
return;
}
$file = Upload::where('filename', $fattura_pa->getFilename())
@ -35,7 +36,8 @@ $file = Upload::where('filename', $fattura_pa->getFilename())
$file = Models\Upload::find($file['id']);
if (empty($file)) {
echo '<div class="text-center">'.tr("Questo documento non è una fattura elettronica").'</div>';
echo '<div class="text-center">'.tr('Questo documento non è una fattura elettronica').'</div>';
return;
}
@ -77,8 +79,6 @@ if ($file->isFatturaElettronica()) {
border-bottom: solid 1px #000000;
}
</style>';
} else {
echo '
<style>

View File

@ -1,4 +1,5 @@
<?php
// Ricalcolo ordine riga per ciascun documento
$campi['co_righe_preventivi'] = 'idpreventivo';
$campi['co_righe_documenti'] = 'iddocumento';
@ -6,9 +7,9 @@ $campi['co_righe_contratti'] = 'idcontratto';
$campi['or_righe_ordini'] = 'idordine';
$campi['dt_righe_ddt'] = 'idddt';
foreach($campi as $tabella => $campo){
foreach ($campi as $tabella => $campo) {
$documenti = $dbo->fetchArray('SELECT '.$campo.' FROM '.$tabella.' GROUP BY '.$campo);
foreach($documenti as $documento){
foreach ($documenti as $documento) {
reorderRows($tabella, $campo, $documento);
}
}
}

View File

@ -79,7 +79,7 @@ ALTER TABLE `co_preventivi` ADD `garanzia` TEXT NOT NULL AFTER `condizioni_forni
ALTER TABLE `an_anagrafiche` CHANGE `piva` `piva` VARCHAR(16) NOT NULL;
-- Aggiunta stampa bilancio
INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE name='Piano dei conti'), '1', 'Bilancio', 'Bilancio', 'Bilancio', 'bilancio', '', '', 'fa fa-print', '', '', '0', '0', '1', '1');
INSERT INTO `zz_prints` (`id`, `id_module`, `is_record`, `name`, `title`, `filename`, `directory`, `previous`, `options`, `icon`, `version`, `compatibility`, `order`, `predefined`, `default`, `enabled`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE name='Piano dei conti'), '1', 'Bilancio', 'Bilancio', 'Bilancio', 'bilancio', '', '', 'fa fa-print', '', '', '0', '0', '1', '1');
-- Aggiunta flag notifica cliente e tecnici in in_statiintervento
ALTER TABLE `in_statiintervento` ADD `notifica_cliente` TINYINT NOT NULL AFTER `notifica`, ADD `notifica_tecnici` TINYINT NOT NULL AFTER `notifica_cliente`;
@ -91,25 +91,44 @@ INSERT INTO `zz_api_resources` (`id`, `version`, `type`, `resource`, `class`, `e
ALTER TABLE `co_documenti` ADD `is_ritenuta_pagata` BOOLEAN NOT NULL AFTER `id_ricevuta_principale`;
-- Modificato options modulo scadenzario
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_scadenziario`\r\n LEFT JOIN `co_documenti` ON `co_scadenziario`.`iddocumento` = `co_documenti`.`id`\r\n LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\r\n LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`\r\n LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`\r\n LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`\r\nWHERE 1=1 AND\r\n (`co_statidocumento`.`descrizione` IS NULL OR `co_statidocumento`.`descrizione` IN(\'Emessa\',\'Parzialmente pagato\',\'Pagato\'))\r\nHAVING 2=2\r\nORDER BY `scadenza` ASC' WHERE `zz_modules`.`name`='Scadenzario';
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_scadenziario`
LEFT JOIN `co_documenti` ON `co_scadenziario`.`iddocumento` = `co_documenti`.`id`
LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
WHERE 1=1 AND
(`co_statidocumento`.`descrizione` IS NULL OR `co_statidocumento`.`descrizione` IN(''Emessa'',''Parzialmente pagato'',''Pagato''))
HAVING 2=2
ORDER BY `scadenza` ASC' WHERE `zz_modules`.`name`='Scadenzario';
-- Modificato nome segmento
UPDATE `zz_segments` SET `name` = 'Scadenzario completo per periodo' WHERE `zz_segments`.`name` = 'Scadenzario completo';
-- Fix stampe predefinite Preventivi e Contratti
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Preventivi') AND `zz_prints`.`name` = 'Consuntivo preventivo';
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Contratti') AND `zz_prints`.`name` = 'Consuntivo contratto';
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Contratti') AND `zz_prints`.`name` = 'Ordine di servizio';
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Preventivi') AND `zz_prints`.`name` = 'Consuntivo preventivo';
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Contratti') AND `zz_prints`.`name` = 'Consuntivo contratto';
UPDATE `zz_prints` SET `predefined` = '0' WHERE `zz_prints`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Contratti') AND `zz_prints`.`name` = 'Ordine di servizio';
-- Eliminata colonna idsede_controparte e rinominata idsede_azienda in idsede
ALTER TABLE `mg_movimenti` CHANGE `idsede_azienda` `idsede` INT(11) NOT NULL;
ALTER TABLE `mg_movimenti` DROP `idsede_controparte`;
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_movimenti` JOIN `mg_articoli` ON `mg_articoli`.id = `mg_movimenti`.`idarticolo` LEFT JOIN `an_sedi` ON `mg_movimenti`.`idsede` = `an_sedi`.`id` WHERE 1=1 HAVING 2=2 ORDER BY mg_movimenti.data DESC, mg_movimenti.created_at DESC' WHERE `zz_modules`.`name` = 'Movimenti';
UPDATE `zz_views` SET `query` = 'IF( mg_movimenti.idsede=0, \'Sede legale\', an_sedi.nomesede )' WHERE `zz_views`.`name` = 'Sede' 'Movimenti' AND `zz_views`.`id_module`= (SELECT `id` FROM `zz_modules` WHERE `name`='Movimenti');
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_articoli`\r\n LEFT OUTER JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica\r\n LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id\r\n LEFT OUTER JOIN (\r\n SELECT SUM(qta - qta_evasa) AS qta_impegnata, idarticolo FROM or_righe_ordini\r\n INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id\r\n WHERE idstatoordine IN (SELECT id FROM or_statiordine WHERE completato = 0)\r\n GROUP BY idarticolo\r\n ) ordini ON ordini.idarticolo = mg_articoli.id\r\n LEFT OUTER JOIN (SELECT `idarticolo`, `idsede`, SUM(`qta`) AS `qta` FROM `mg_movimenti` WHERE `idsede` = |giacenze_sedi_idsede| GROUP BY `idarticolo`, `idsede`) movimenti ON `mg_articoli`.`id` = `movimenti`.`idarticolo`\r\nWHERE 1=1 AND `mg_articoli`.`deleted_at` IS NULL HAVING 2=2 AND `Q.tà` > 0 ORDER BY `descrizione`' WHERE `zz_modules`.`name` = 'Giacenze sedi';
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_movimenti` JOIN `mg_articoli` ON `mg_articoli`.id = `mg_movimenti`.`idarticolo` LEFT JOIN `an_sedi` ON `mg_movimenti`.`idsede` = `an_sedi`.`id` WHERE 1=1 HAVING 2=2 ORDER BY mg_movimenti.data DESC, mg_movimenti.created_at DESC' WHERE `zz_modules`.`name` = 'Movimenti';
UPDATE `zz_views` SET `query` = 'IF( mg_movimenti.idsede=0, ''Sede legale'', an_sedi.nomesede )' WHERE `zz_views`.`name` = 'Sede' 'Movimenti' AND `zz_views`.`id_module`= (SELECT `id` FROM `zz_modules` WHERE `name`='Movimenti');
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `mg_articoli`
LEFT OUTER JOIN an_anagrafiche ON mg_articoli.id_fornitore = an_anagrafiche.idanagrafica
LEFT OUTER JOIN co_iva ON mg_articoli.idiva_vendita = co_iva.id
LEFT OUTER JOIN (
SELECT SUM(qta - qta_evasa) AS qta_impegnata, idarticolo FROM or_righe_ordini
INNER JOIN or_ordini ON or_righe_ordini.idordine = or_ordini.id
WHERE idstatoordine IN (SELECT id FROM or_statiordine WHERE completato = 0)
GROUP BY idarticolo
) ordini ON ordini.idarticolo = mg_articoli.id
LEFT OUTER JOIN (SELECT `idarticolo`, `idsede`, SUM(`qta`) AS `qta` FROM `mg_movimenti` WHERE `idsede` = |giacenze_sedi_idsede| GROUP BY `idarticolo`, `idsede`) movimenti ON `mg_articoli`.`id` = `movimenti`.`idarticolo`
WHERE 1=1 AND `mg_articoli`.`deleted_at` IS NULL HAVING 2=2 AND `Q.` > 0 ORDER BY `descrizione`' WHERE `zz_modules`.`name` = 'Giacenze sedi';
-- Rimozione campo idsede_azienda
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF( mg_movimenti.idsede=0, \'Sede legale\', an_sedi.nomesede )' WHERE `zz_views`.`name` = 'Sede' AND `zz_modules`.`name` = 'Movimenti';
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'IF( mg_movimenti.idsede=0, ''Sede legale'', an_sedi.nomesede )' WHERE `zz_views`.`name` = 'Sede' AND `zz_modules`.`name` = 'Movimenti';
-- Aggiunto metodo di pagamento PagoPA
INSERT INTO `fe_modalita_pagamento` (`codice`, `descrizione`) VALUES
@ -119,17 +138,40 @@ INSERT INTO `co_pagamenti` (`id`, `descrizione`, `giorno`, `num_giorni`, `prc`,
(NULL, 'PagoPA', '0', '1', '100', 'MP23');
-- Aggiunti referenti ai documenti
ALTER TABLE `or_ordini` ADD `idreferente` INT NULL DEFAULT NULL AFTER `idanagrafica`;
ALTER TABLE `or_ordini` ADD `idreferente` INT NULL DEFAULT NULL AFTER `idanagrafica`;
ALTER TABLE `co_documenti` ADD `idreferente` INT NULL DEFAULT NULL AFTER `idanagrafica`;
ALTER TABLE `dt_ddt` ADD `idreferente` INT NULL DEFAULT NULL AFTER `idanagrafica`;
-- Colorazione riga fatture di acquisto con stesso numero e fornitore
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti`\r\n LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`\r\n LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`\r\n LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`\r\n LEFT JOIN (\r\n SELECT `iddocumento`,\r\n SUM(`subtotale` - `sconto`) AS `totale_imponibile`,\r\n SUM(`subtotale` - `sconto` + `iva`) AS `totale`\r\n FROM `co_righe_documenti`\r\n GROUP BY `iddocumento`\r\n ) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento`\r\n LEFT JOIN (\r\n SELECT COUNT(`d`.`id`) AS `conteggio`, IF(`d`.`numero_esterno`=\'\', `d`.`numero`, `d`.`numero_esterno`) AS `numero_documento` FROM `co_documenti` AS `d` LEFT JOIN `co_tipidocumento` AS `d_tipo` ON `d`.`idtipodocumento` = `d_tipo`.`id` WHERE 1=1 AND `d_tipo`.`dir` = \'uscita\' AND ( \'|period_start|\' <= `d`.`data` AND \'|period_end|\' >= `d`.`data` OR \'|period_start|\' <= `d`.`data_competenza` AND \'|period_end|\' >= `d`.`data_competenza` )\r\n GROUP BY `numero_documento`, `d`.`idanagrafica`\r\n ) AS `d` ON `d`.`numero_documento` = IF(`co_documenti`.`numero_esterno`=\'\', `co_documenti`.`numero`, `co_documenti`.`numero_esterno`)\r\nWHERE 1=1 AND `dir` = \'uscita\' |segment(`co_documenti`.`id_segment`)||date_period(custom, \'|period_start|\' <= `co_documenti`.`data` AND \'|period_end|\' >= `co_documenti`.`data`, \'|period_start|\' <= `co_documenti`.`data_competenza` AND \'|period_end|\' >= `co_documenti`.`data_competenza` )|\r\nHAVING 2=2\r\nORDER BY `co_documenti`.`data` DESC, CAST(IF(`co_documenti`.`numero` = \'\', `co_documenti`.`numero_esterno`, `co_documenti`.`numero`) AS UNSIGNED) DESC' WHERE `zz_modules`.`name`='Fatture di acquisto';
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_documenti`
LEFT JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica`
LEFT JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
LEFT JOIN (
SELECT `iddocumento`,
SUM(`subtotale` - `sconto`) AS `totale_imponibile`,
SUM(`subtotale` - `sconto` + `iva`) AS `totale`
FROM `co_righe_documenti`
GROUP BY `iddocumento`
) AS righe ON `co_documenti`.`id` = `righe`.`iddocumento`
LEFT JOIN (
SELECT COUNT(`d`.`id`) AS `conteggio`,
IF(`d`.`numero_esterno`='''', `d`.`numero`, `d`.`numero_esterno`) AS `numero_documento`
FROM `co_documenti` AS `d`
LEFT JOIN `co_tipidocumento` AS `d_tipo` ON `d`.`idtipodocumento` = `d_tipo`.`id`
WHERE 1=1
AND `d_tipo`.`dir` = ''uscita''
AND (''|period_start|'' <= `d`.`data` AND ''|period_end|'' >= `d`.`data` OR ''|period_start|'' <= `d`.`data_competenza` AND ''|period_end|'' >= `d`.`data_competenza`)
GROUP BY `numero_documento`, `d`.`idanagrafica`
) AS `d` ON `d`.`numero_documento` = IF(`co_documenti`.`numero_esterno`='''', `co_documenti`.`numero`, `co_documenti`.`numero_esterno`)
WHERE 1=1 AND `dir` = ''uscita'' |segment(`co_documenti`.`id_segment`)||date_period(custom, ''|period_start|'' <= `co_documenti`.`data` AND ''|period_end|'' >= `co_documenti`.`data`, ''|period_start|'' <= `co_documenti`.`data_competenza` AND ''|period_end|'' >= `co_documenti`.`data_competenza` )|
HAVING 2=2
ORDER BY `co_documenti`.`data` DESC, CAST(IF(`co_documenti`.`numero` = '''', `co_documenti`.`numero_esterno`, `co_documenti`.`numero`) AS UNSIGNED) DESC' WHERE `zz_modules`.`name`='Fatture di acquisto';
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Fatture di acquisto'), '_bg_', 'IF(`d`.`conteggio`>1, \'red\', \'\')', '1', '0', '0', '0', '', '', '0', '0', '0');
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `zz_modules`.`id` FROM `zz_modules` WHERE `zz_modules`.`name`='Fatture di acquisto'), '_bg_', 'IF(`d`.`conteggio`>1, ''red'', '''')', '1', '0', '0', '0', '', '', '0', '0', '0');
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) (SELECT `zz_groups`.`id`, `zz_views`.`id` FROM `zz_groups`, `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = '_bg_');
INSERT INTO `zz_group_view` (`id_gruppo`, `id_vista`) (SELECT `zz_groups`.`id`, `zz_views`.`id` FROM `zz_groups`, `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = '_bg_');
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`) VALUES (NULL, 'Descrizione fattura pianificata', 'Canone {rata} del contratto numero {numero}', 'text', '1', 'Fatturazione');
@ -146,4 +188,4 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`
ALTER TABLE `or_ordini` ADD `codice_commessa` VARCHAR(100) NULL AFTER `updated_at`;
-- Copiato in or_ordini id_documento_fe in numero_cliente dove è presente
UPDATE `or_ordini` SET `numero_cliente`= `id_documento_fe` WHERE `id_documento_fe`!='' AND `id_documento_fe` IS NOT NULL;
UPDATE `or_ordini` SET `numero_cliente`= `id_documento_fe` WHERE `id_documento_fe`!='' AND `id_documento_fe` IS NOT NULL;