Aggiunta tabella co_statidocumento_lang
This commit is contained in:
parent
331e525ee9
commit
2f42eb061e
|
@ -18,6 +18,7 @@
|
|||
*/
|
||||
|
||||
use Plugins\ListinoFornitori\DettaglioFornitore;
|
||||
use Modules\Fatture\Stato;
|
||||
|
||||
// Inizializzazione
|
||||
$documento = $options['documento'];
|
||||
|
@ -88,7 +89,7 @@ if (!empty($options['create_document'])) {
|
|||
|
||||
// Opzioni aggiuntive per le Fatture
|
||||
if (in_array($final_module['name'], ['Fatture di vendita', 'Fatture di acquisto'])) {
|
||||
$stato_predefinito = $database->fetchOne("SELECT id FROM co_statidocumento WHERE descrizione = 'Bozza'");
|
||||
$stato_predefinito = (new Stato())->getByName('Bozza')->id_record;
|
||||
|
||||
if (!empty($options['reversed'])) {
|
||||
$idtipodocumento = $dbo->selectOne('co_tipidocumento', ['id'], [
|
||||
|
@ -109,7 +110,7 @@ if (!empty($options['create_document'])) {
|
|||
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT * FROM co_statidocumento WHERE descrizione IN (\'Emessa\', \'Bozza\')", "value": "'.$stato_predefinito['id'].'"]}
|
||||
{[ "type": "select", "label": "'.tr('Stato').'", "name": "id_stato", "required": 1, "values": "query=SELECT * FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `name` IN (\'Emessa\', \'Bozza\')", "value": "'.$stato_predefinito['id'].'"]}
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
|
|
|
@ -70,20 +70,22 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
co_righe_contratti.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
INNER JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
INNER JOIN co_righe_contratti ON co_righe_contratti.idarticolo = mg_articoli.id
|
||||
WHERE
|
||||
co_documenti.idanagrafica ='.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo ='.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`co_righe_contratti`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `co_righe_contratti` ON `co_righe_contratti`.`idarticolo` = `mg_articoli`.`id`
|
||||
INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -71,20 +71,22 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
dt_righe_ddt.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
INNER JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
INNER JOIN dt_righe_ddt ON dt_righe_ddt.idarticolo = mg_articoli.id
|
||||
WHERE
|
||||
co_documenti.idanagrafica ='.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo ='.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`dt_righe_ddt`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `dt_righe_ddt` ON `dt_righe_ddt`.`idarticolo` = `mg_articoli`.`id`
|
||||
INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
`mg_articoli`.`id`, `co_righe_documenti`.`id`
|
||||
ORDER BY
|
||||
`updated_at` DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -102,14 +102,15 @@ switch ($op) {
|
|||
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
MAX(`data`) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.setting('Lingua').')
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
|
||||
INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_documenti`.`id_segment`
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
`co_statidocumento_lang`.`name` = "Emessa" AND `co_tipidocumento`.`dir`="entrata" AND `co_documenti`.`id_segment`='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && ($stato->descrizione == 'Emessa') && Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax'])) && (!empty($data_fattura_precedente['datamax']))) {
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
|
@ -311,7 +312,7 @@ switch ($op) {
|
|||
// Elenco fatture in stato Bozza per il cliente
|
||||
case 'fatture_bozza':
|
||||
$id_anagrafica = post('id_anagrafica');
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
$stato = (new Stato())->getByName('Bozza')->id_record;
|
||||
|
||||
$fatture = Fattura::vendita()
|
||||
->where('idanagrafica', $id_anagrafica)
|
||||
|
@ -330,8 +331,8 @@ switch ($op) {
|
|||
// Elenco fatture Scadute per il cliente
|
||||
case 'fatture_scadute':
|
||||
$id_anagrafica = post('id_anagrafica');
|
||||
$stato1 = Stato::where('descrizione', 'Emessa')->first();
|
||||
$stato2 = Stato::where('descrizione', 'Parzialmente pagato')->first();
|
||||
$stato1 = (new Stato())->getByName('Emessa')->id_record;
|
||||
$stato2 = (new Stato())->getByName('Parzialmente pagato')->id_record;
|
||||
|
||||
$fatture = Fattura::vendita()
|
||||
->select('*', 'co_documenti.id AS id', 'co_documenti.data AS data')
|
||||
|
@ -404,10 +405,10 @@ switch ($op) {
|
|||
|
||||
case 'reopen':
|
||||
if (!empty($id_record)) {
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
$stato = (new Stato())->getByName('Bozza')->id_record;
|
||||
$fattura->stato()->associate($stato);
|
||||
$fattura->save();
|
||||
$stato = Stato::where('descrizione', 'Emessa')->first();
|
||||
$stato = (new Stato())->getByName('Emessa')->id_record;
|
||||
$fattura->stato()->associate($stato);
|
||||
$fattura->save();
|
||||
flash()->info(tr('Fattura riaperta!'));
|
||||
|
|
|
@ -28,11 +28,10 @@ use Modules\Fatture\Stato;
|
|||
use Plugins\ExportFE\FatturaElettronica;
|
||||
use Plugins\ExportFE\Interaction;
|
||||
use Plugins\ReceiptFE\Ricevuta;
|
||||
use Util\XML;
|
||||
use Util\Zip;
|
||||
|
||||
$anagrafica_azienda = Anagrafica::find(setting('Azienda predefinita'));
|
||||
$stato_emessa = $dbo->selectOne('co_statidocumento', 'id', ['descrizione' => 'Emessa'])['id'];
|
||||
$stato_emessa = (new Stato())->getByName('Emessa')->id_record;
|
||||
$is_fiscale = $dbo->selectOne('zz_segments', 'is_fiscale', ['id' => $_SESSION['module_'.$id_module]])['is_fiscale'];
|
||||
|
||||
switch (post('op')) {
|
||||
|
@ -185,7 +184,7 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
// Selezione delle fatture da esportare
|
||||
$fatture = $dbo->fetchArray('SELECT co_documenti.id, numero_esterno, data, ragione_sociale, co_tipidocumento.descrizione, co_tipidocumento.dir 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 WHERE co_documenti.id IN('.implode(',', $id_records).')');
|
||||
$fatture = $dbo->fetchArray('SELECT `co_documenti`.`id`, `numero_esterno`, `data`, `ragione_sociale`, `co_tipidocumento`.`descrizione`, `co_tipidocumento`.`dir` 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` WHERE `co_documenti`.`id` IN('.implode(',', $id_records).')');
|
||||
|
||||
$failed = [];
|
||||
$added = 0;
|
||||
|
@ -263,7 +262,7 @@ switch (post('op')) {
|
|||
}
|
||||
|
||||
// Selezione delle fatture da esportare
|
||||
$fatture = $dbo->fetchArray('SELECT co_documenti.id, numero_esterno, data, ragione_sociale, co_tipidocumento.descrizione, co_tipidocumento.dir 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 WHERE co_documenti.id IN('.implode(',', $id_records).')');
|
||||
$fatture = $dbo->fetchArray('SELECT `co_documenti`.`id`, `numero_esterno`, `data`, `ragione_sociale`, `co_tipidocumento`.`descrizione`, `co_tipidocumento`.`dir` 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` WHERE `co_documenti`.`id` IN('.implode(',', $id_records).')');
|
||||
|
||||
$failed = [];
|
||||
$added = 0;
|
||||
|
@ -463,7 +462,7 @@ switch (post('op')) {
|
|||
|
||||
case 'change-stato':
|
||||
$list = [];
|
||||
$new_stato = Stato::where('descrizione', 'Emessa')->first();
|
||||
$new_stato = (new Stato())->getByName('Emessa')->id_record;
|
||||
$fatture = Fattura::vendita()
|
||||
->whereIn('id', $id_records)
|
||||
->orderBy('data')
|
||||
|
@ -477,14 +476,15 @@ switch (post('op')) {
|
|||
|
||||
$data_fattura_precedente = $dbo->fetchOne('
|
||||
SELECT
|
||||
MAX(DATA) AS datamax
|
||||
MAX(`data`) AS datamax
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento
|
||||
INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento = co_tipidocumento.id
|
||||
INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_documenti`.`idstatodocumento` AND `co_statidocumento_lang`.`id_lang` = '.setting('Lingua').')
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento` = `co_tipidocumento`.`id`
|
||||
INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_documenti`.`id_segment`
|
||||
WHERE
|
||||
co_statidocumento.descrizione = "Emessa" AND co_tipidocumento.dir="entrata" AND co_documenti.id_segment='.$fattura->id_segment);
|
||||
`co_statidocumento_lang`.`name` = "Emessa" AND `co_tipidocumento`.`dir`="entrata" AND `co_documenti`.`id_segment`='.$fattura->id_segment);
|
||||
|
||||
if ((setting('Data emissione fattura automatica') == 1) && ($dir == 'entrata') && Carbon::parse($data)->lessThan(Carbon::parse($data_fattura_precedente['datamax'])) && (!empty($data_fattura_precedente['datamax']))) {
|
||||
$fattura->data = $data_fattura_precedente['datamax'];
|
||||
|
@ -576,7 +576,7 @@ switch (post('op')) {
|
|||
$documento = Fattura::find($id);
|
||||
++$count;
|
||||
|
||||
if ($documento->stato->descrizione == 'Bozza') {
|
||||
if ($documento->stato->name == 'Bozza') {
|
||||
$documento->id_segment = post('id_segment');
|
||||
$documento->save();
|
||||
++$n_doc;
|
||||
|
|
|
@ -153,7 +153,7 @@ if (!empty($fattura->ref_documento) && $fattura->isNota()) {
|
|||
}
|
||||
|
||||
// Ricordo che si sta emettendo una fattura conto terzi
|
||||
if ($dir == 'entrata' && $fattura->stato->descrizione == 'Bozza') {
|
||||
if ($dir == 'entrata' && $fattura->stato->name == 'Bozza') {
|
||||
if ($fattura->is_fattura_conto_terzi) {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
|
@ -239,19 +239,19 @@ if ($dir == 'entrata') {
|
|||
|
||||
<?php
|
||||
|
||||
$query = 'SELECT *, colore AS _bgcolor_ FROM co_statidocumento';
|
||||
$query = 'SELECT *, `colore` AS _bgcolor_, `co_statidocumento_lang`.`name` as descrizione FROM `co_statidocumento` LEFT JOIN `co_statidocumento` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')';
|
||||
if (empty($record['is_fiscale'])) {
|
||||
$query .= " WHERE descrizione = 'Bozza'";
|
||||
$query .= " WHERE `name` = 'Bozza'";
|
||||
|
||||
$plugin = $dbo->fetchArray("SELECT id FROM zz_plugins WHERE name='Fatturazione Elettronica' AND idmodule_to = ".prepare($id_module));
|
||||
echo '<script>$("#link-tab_'.$plugin[0]['id'].'").addClass("disabled");</script>';
|
||||
}
|
||||
// Forzo il passaggio della fattura da Bozza ad Emessa per il corretto calcolo del numero.
|
||||
elseif ($record['stato'] == 'Bozza') {
|
||||
$query .= " WHERE descrizione IN ('Emessa', 'Bozza')";
|
||||
$query .= " WHERE `name` IN ('Emessa', 'Bozza')";
|
||||
}
|
||||
|
||||
$query .= ' ORDER BY descrizione';
|
||||
$query .= ' ORDER BY `name`';
|
||||
|
||||
?>
|
||||
<?php if ($dir == 'entrata') {
|
||||
|
@ -709,7 +709,7 @@ if ($dir == 'entrata' && !empty($fattura->dichiarazione)) {
|
|||
$descrizione_iva_accettata .= '<li>'.Aliquota::find($iva_accettata->id)->name.'</li>';
|
||||
}
|
||||
|
||||
if ($fattura->stato->descrizione == 'Bozza') {
|
||||
if ($fattura->stato->name == 'Bozza') {
|
||||
echo '
|
||||
<div class="alert alert-info">
|
||||
<i class="fa fa-info"></i> '.tr("La fattura è collegata ad una dichiarazione d'intento con diponibilità residura pari a _MONEY_.", ['_MONEY_' => moneyFormat($diff)]).'<br>'.tr('Per collegare una riga alla dichiarazione è sufficiente specificare come IVA <ul>_IVA_</ul>', ['_IVA_' => $descrizione_iva_accettata]).'</b>
|
||||
|
|
|
@ -44,7 +44,7 @@ if (isset($id_record)) {
|
|||
`co_documenti`.`idpagamento`,
|
||||
`co_documenti`.`id` AS iddocumento,
|
||||
`co_documenti`.`split_payment` AS split_payment,
|
||||
`co_statidocumento`.`descrizione` AS `stato`,
|
||||
`co_statidocumento_lang`.`name` AS `stato`,
|
||||
`co_tipidocumento`.`descrizione` AS `descrizione_tipo`,
|
||||
`co_tipidocumento`.`id` AS `idtipodocumento`,
|
||||
(SELECT `is_fiscale` FROM `zz_segments` WHERE `zz_segments`.`id` = `co_documenti`.`id_segment`) AS is_fiscale,
|
||||
|
@ -53,6 +53,7 @@ if (isset($id_record)) {
|
|||
(SELECT `descrizione` FROM `dt_causalet` WHERE `id`=`idcausalet`) AS causale_desc
|
||||
FROM `co_documenti`
|
||||
LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento`=`co_statidocumento`.`id`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
|
||||
INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento`=`co_pagamenti`.`id`
|
||||
|
|
|
@ -71,19 +71,21 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
co_righe_documenti.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
LEFT JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
LEFT JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
WHERE
|
||||
co_documenti.idanagrafica = '.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo = '.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`co_righe_documenti`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
`co_documenti`
|
||||
LEFT JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
LEFT JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN `co_statidocumento_lang` ON `co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).'
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` = '.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` = '.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
`mg_articoli`.`id`, `co_righe_documenti`.`id`
|
||||
ORDER BY
|
||||
`updated_at` DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -265,13 +265,11 @@ if (!function_exists('aggiungi_movimento')) {
|
|||
}
|
||||
|
||||
// Lettura info fattura
|
||||
$query = 'SELECT *, co_documenti.data_competenza, co_documenti.note, co_documenti.idpagamento, co_documenti.id AS iddocumento, co_statidocumento.descrizione AS `stato`, co_tipidocumento.descrizione AS `descrizione_tipo` FROM ((co_documenti LEFT OUTER JOIN co_statidocumento ON co_documenti.idstatodocumento=co_statidocumento.id) INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_documenti.id='.prepare($iddocumento);
|
||||
$query = 'SELECT *, `co_documenti`.`data_competenza`, `co_documenti`.`note`, `co_documenti`.`idpagamento`, `co_documenti`.`id` AS iddocumento, `co_statidocumento_lang`.`name` AS `stato`, `co_tipidocumento`.`descrizione` AS descrizione_tipo FROM ((`co_documenti` LEFT JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento`=`co_statidocumento`.`id`) INNER JOIN `an_anagrafiche` ON `co_documenti`.`idanagrafica`=`an_anagrafiche`.`idanagrafica`) INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id` WHERE `co_documenti`.`id`='.prepare($iddocumento);
|
||||
|
||||
$rs = $dbo->fetchArray($query);
|
||||
$n = sizeof($rs);
|
||||
$data = $rs[0]['data_competenza'];
|
||||
$idanagrafica = $rs[0]['idanagrafica'];
|
||||
$ragione_sociale = $rs[0]['ragione_sociale'];
|
||||
$stato = $rs[0]['stato'];
|
||||
|
||||
$idmastrino = get_new_idmastrino();
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ class Fattura extends Document
|
|||
$database = database();
|
||||
|
||||
// Individuazione dello stato predefinito per il documento
|
||||
$stato_documento = Stato::where('descrizione', 'Bozza')->first();
|
||||
$stato_documento = (new Stato())->getByName('Bozza')->id_record;
|
||||
$direzione = $tipo_documento->dir;
|
||||
|
||||
// Conto predefinito sulla base del flusso di denaro
|
||||
|
@ -249,7 +249,7 @@ class Fattura extends Document
|
|||
|
||||
$this->numero = static::getNextNumero($data, $direzione, $value);
|
||||
|
||||
if ($this->stato->descrizione == 'Bozza') {
|
||||
if ($this->stato->name == 'Bozza') {
|
||||
$this->numero_esterno = null;
|
||||
} elseif (!empty($previous)) {
|
||||
$this->numero_esterno = static::getNextNumeroSecondario($data, $direzione, $value);
|
||||
|
@ -719,7 +719,7 @@ class Fattura extends Document
|
|||
$new->id_ricevuta_principale = null;
|
||||
|
||||
// Spostamento dello stato
|
||||
$stato = Stato::where('descrizione', 'Bozza')->first();
|
||||
$stato = (new Stato())->getByName('Bozza')->id_record;
|
||||
$new->stato()->associate($stato);
|
||||
|
||||
return $new;
|
||||
|
|
|
@ -32,4 +32,34 @@ class Stato extends Model
|
|||
{
|
||||
return $this->hasMany(Fattura::class, 'idstatodocumento');
|
||||
}
|
||||
|
||||
/**
|
||||
* Ritorna l'attributo name dello stato fattura.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getNameAttribute()
|
||||
{
|
||||
return database()->table($this->table.'_lang')
|
||||
->select('name')
|
||||
->where('id_record', '=', $this->id)
|
||||
->where('id_lang', '=', setting('Lingua'))
|
||||
->first()->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ritorna l'id dello stato fattura a partire dal nome.
|
||||
*
|
||||
* @param string $name il nome da ricercare
|
||||
*
|
||||
* @return \Illuminate\Support\Collection
|
||||
*/
|
||||
public function getByName($name)
|
||||
{
|
||||
return database()->table($this->table.'_lang')
|
||||
->select('id_record')
|
||||
->where('name', '=', $name)
|
||||
->where('id_lang', '=', setting('Lingua'))
|
||||
->first();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ switch ($op) {
|
|||
if (!$contratti->isEmpty()) {
|
||||
foreach ($contratti as $contratto) {
|
||||
echo '
|
||||
<li>'.$contratto->getReference().' ['.$contratto->stato->descrizione.']: '.dateFormat($contratto->data_accettazione).' - '.dateFormat($contratto->data_conclusione).'</li>';
|
||||
<li>'.$contratto->getReference().' ['.$contratto->stato->name.']: '.dateFormat($contratto->data_accettazione).' - '.dateFormat($contratto->data_conclusione).'</li>';
|
||||
}
|
||||
} else {
|
||||
echo '
|
||||
|
|
|
@ -165,7 +165,7 @@ switch (post('op')) {
|
|||
if (empty($id_documento)) {
|
||||
if (!empty($accodare)) {
|
||||
$where = $raggruppamento == 'sede' ? ' AND idsede_destinazione = '.prepare($intervento['idsede_destinazione']) : '';
|
||||
$documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento INNER JOIN zz_segments ON zz_segments.id = co_documenti.id_segment WHERE co_statidocumento.descrizione = "Bozza" AND co_documenti.idanagrafica = '.prepare($id_anagrafica).' AND co_tipidocumento.id='.prepare($tipo_documento['id']).' AND co_documenti.id_segment = '.prepare($id_segment).$where);
|
||||
$documento = $dbo->fetchOne('SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` LEFT JOIN `co_statidocumenti_lang` ON (`co_statidocumenti`.`id` = `co_statidocumenti_lang`.`id_record` AND `co_statidocumenti_lang`.`id_lang` = "'.prepare(setting('Lingua')).'") INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` INNER JOIN `zz_segments` ON `zz_segments`.`id` = `co_documenti`.`id_segment` WHERE `co_statidocumento_lang`.`name` = "Bozza" AND `co_documenti`.`idanagrafica` = '.prepare($id_anagrafica).' AND co_tipidocumento.id='.prepare($tipo_documento['id']).' AND `co_documenti`.`id_segment` = '.prepare($id_segment).$where);
|
||||
|
||||
$id_documento = $documento['id'];
|
||||
$id_documento_cliente[$id_anagrafica] = $id_documento;
|
||||
|
|
|
@ -858,7 +858,7 @@ $(document).ready(function() {
|
|||
|
||||
// Collegamenti diretti
|
||||
// Fatture collegate a questo intervento
|
||||
$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_statidocumento`.`descrizione` AS stato_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento` WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`');
|
||||
$elementi = $dbo->fetchArray('SELECT `co_documenti`.*, `co_tipidocumento`.`descrizione` AS tipo_documento, `co_statidocumento_lang`.`name` AS stato_documento, `co_tipidocumento`.`dir` FROM `co_documenti` JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento` JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`idstatodocumento` = `co_documenti`.`idstatodocumento` AND `co_statidocumento_lang`.`lang` = "'.prepare(setting('Lingua')).'") WHERE `co_documenti`.`id` IN (SELECT `iddocumento` FROM `co_righe_documenti` WHERE `idintervento` = '.prepare($id_record).') ORDER BY `data`');
|
||||
|
||||
if (!empty($elementi)) {
|
||||
echo '
|
||||
|
|
|
@ -71,20 +71,22 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
in_righe_interventi.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
INNER JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
INNER JOIN in_righe_interventi ON in_righe_interventi.idarticolo = mg_articoli.id
|
||||
WHERE
|
||||
co_documenti.idanagrafica ='.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo ='.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`in_righe_interventi`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `in_righe_interventi` ON `in_righe_interventi`.`idarticolo` = `mg_articoli`.`id`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`idstatodocumento` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`lang` = "'.prepare(setting('Lingua')).'")
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
`mg_articoli`.`id`, `co_righe_documenti`.`id`
|
||||
ORDER BY
|
||||
`updated_at` DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -71,20 +71,22 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
or_righe_ordini.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
INNER JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
INNER JOIN or_righe_ordini ON or_righe_ordini.idarticolo = mg_articoli.id
|
||||
WHERE
|
||||
co_documenti.idanagrafica ='.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo ='.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`or_righe_ordini`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `or_righe_ordini` ON `or_righe_ordini`.`idarticolo` = `mg_articoli`.`id`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`idstatodocumento` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`lang` = "'.prepare(setting('Lingua')).'")
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
`mg_articoli`.`id`, `co_righe_documenti`.`id`
|
||||
ORDER BY
|
||||
`updated_at` DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -69,20 +69,22 @@ $righe = $dbo->fetchArray(
|
|||
|
||||
$ultimo_prezzo_vendita = $dbo->fetchArray(
|
||||
'SELECT
|
||||
co_righe_preventivi.idarticolo,
|
||||
co_righe_documenti.prezzo_unitario,
|
||||
DATE(co_righe_documenti.updated_at) AS updated_at
|
||||
`co_righe_preventivi`.`idarticolo`,
|
||||
`co_righe_documenti`.`prezzo_unitario`,
|
||||
DATE(`co_righe_documenti`.`updated_at`) AS updated_at
|
||||
FROM
|
||||
co_documenti
|
||||
INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
INNER JOIN mg_articoli ON mg_articoli.id = co_righe_documenti.idarticolo
|
||||
INNER JOIN co_righe_preventivi ON co_righe_preventivi.idarticolo = mg_articoli.id
|
||||
`co_documenti`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id` = `co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `co_righe_preventivi` ON `co_righe_preventivi`.`idarticolo` = `mg_articoli`.`id`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
|
||||
WHERE
|
||||
co_documenti.idanagrafica ='.prepare($id_anagrafica).' AND co_righe_documenti.idarticolo ='.prepare($riga['idarticolo']).' AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Emessa" OR descrizione = "Pagato" OR descrizione = "Parzialmente pagato")
|
||||
`co_documenti`.`idanagrafica` ='.prepare($id_anagrafica).' AND `co_righe_documenti`.`idarticolo` ='.prepare($riga['idarticolo']).' AND `co_statidocumento_lang`.`name` IN ("Emessa", "Pagato", "Parzialmente pagato")
|
||||
GROUP BY
|
||||
mg_articoli.id, co_righe_documenti.id
|
||||
`mg_articoli`.`id`, `co_righe_documenti`.`id`
|
||||
ORDER BY
|
||||
updated_at DESC'
|
||||
`updated_at` DESC'
|
||||
)[0];
|
||||
?>
|
||||
|
||||
|
|
|
@ -271,7 +271,7 @@ class Preventivo extends Document
|
|||
$descrizione = $parziale ? 'Parzialmente fatturato' : 'Fatturato';
|
||||
$codice_intervento = 'FAT';
|
||||
} else {
|
||||
$descrizione = $this->stato->descrizione;
|
||||
$descrizione = $this->stato->name;
|
||||
$codice_intervento = 'OK';
|
||||
}
|
||||
|
||||
|
|
|
@ -121,7 +121,7 @@ foreach ($id_documenti as $id_documento) {
|
|||
$dir = $fattura->direzione;
|
||||
|
||||
// Inclusione delle sole fatture in stato Emessa, Parzialmente pagato o Pagato
|
||||
if (!in_array($fattura->stato->descrizione, ['Emessa', 'Parzialmente pagato', 'Pagato'])) {
|
||||
if (!in_array($fattura->stato->name, ['Emessa', 'Parzialmente pagato', 'Pagato'])) {
|
||||
++$counter;
|
||||
continue;
|
||||
}
|
||||
|
@ -243,9 +243,9 @@ if ($numero_documenti + $numero_scadenze > 1) {
|
|||
|
||||
if (!empty($id_records) && get('origine') == 'fatture' && !empty($counter)) {
|
||||
$descrizione_stati = [];
|
||||
$stati = $database->fetchArray("SELECT * FROM `co_statidocumento` WHERE descrizione IN ('Emessa', 'Parzialmente pagato', 'Pagato') ORDER BY descrizione");
|
||||
$stati = $database->fetchArray("SELECT * FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '".prepare(setting('Lingua'))."') WHERE `name` IN ('Emessa', 'Parzialmente pagato', 'Pagato') ORDER BY `name`");
|
||||
foreach ($stati as $stato) {
|
||||
$descrizione_stati[] = '<i class="'.$stato['icona'].'"></i> <small>'.$stato['descrizione'].'</small>';
|
||||
$descrizione_stati[] = '<i class="'.$stato['icona'].'"></i> <small>'.$stato['name'].'</small>';
|
||||
}
|
||||
|
||||
echo '
|
||||
|
|
|
@ -157,7 +157,7 @@ class Mastrino extends Model
|
|||
$stato = 'Emessa';
|
||||
}
|
||||
|
||||
$database->query('UPDATE co_documenti SET idstatodocumento = (SELECT id FROM co_statidocumento WHERE descrizione = '.prepare($stato).') WHERE id = '.prepare($id_documento));
|
||||
$database->query('UPDATE `co_documenti` SET `idstatodocumento` = (SELECT `co_statidocumento`.`id` FROM `co_statidocumento` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = "'.prepare(setting('Lingua')).'") WHERE `name` = '.prepare($stato).') WHERE id = '.prepare($id_documento));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -22,11 +22,14 @@ include_once __DIR__.'/../../core.php';
|
|||
switch (post('op')) {
|
||||
case 'update':
|
||||
$dbo->update('co_statidocumento', [
|
||||
'descrizione' => (count($dbo->fetchArray('SELECT descrizione FROM co_statidocumento WHERE descrizione = '.prepare(post('descrizione')))) > 0) ? $dbo->fetchOne('SELECT descrizione FROM co_statidocumento WHERE id ='.$id_record)['descrizione'] : post('descrizione'),
|
||||
'icona' => post('icona'),
|
||||
'colore' => post('colore'),
|
||||
], ['id' => $id_record]);
|
||||
|
||||
$dbo->update('co_statidocumento_lang', [
|
||||
'name' => post('descrizione'),
|
||||
], ['id_record' => $id_record]);
|
||||
|
||||
flash()->info(tr('Informazioni salvate correttamente.'));
|
||||
|
||||
break;
|
||||
|
|
|
@ -20,5 +20,5 @@
|
|||
include_once __DIR__.'/../../core.php';
|
||||
|
||||
if (isset($id_record)) {
|
||||
$record = $dbo->fetchOne('SELECT * FROM co_statidocumento WHERE id='.prepare($id_record));
|
||||
$record = $dbo->fetchOne('SELECT * FROM `co_statidocumento` LEFT JOIN (`co_statidocumento_lang`) ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `co_statidocumento`.`id`='.prepare($id_record));
|
||||
}
|
||||
|
|
|
@ -176,9 +176,50 @@ function init_calendar(calendar) {
|
|||
</script>';
|
||||
|
||||
// Clienti top
|
||||
$clienti = $dbo->fetchArray('SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale, (SELECT COUNT(*) FROM co_documenti INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN zz_segments ON co_documenti.id_segment=zz_segments.id WHERE co_documenti.idanagrafica = an_anagrafiche.idanagrafica AND co_documenti.data BETWEEN '.prepare($start).' AND '.prepare($end)." AND co_tipidocumento.dir='entrata' AND zz_segments.autofatture=0) AS qta, an_anagrafiche.idanagrafica, an_anagrafiche.ragione_sociale FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN an_anagrafiche ON an_anagrafiche.idanagrafica=co_documenti.idanagrafica INNER JOIN zz_segments ON co_documenti.id_segment=zz_segments.id WHERE co_tipidocumento.dir='entrata' AND (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa') AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' AND zz_segments.autofatture=0 GROUP BY an_anagrafiche.idanagrafica ORDER BY totale DESC LIMIT 20');
|
||||
$clienti = $dbo->fetchArray('SELECT
|
||||
SUM(IF(`reversed`=1, - (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`), (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`))) AS totale,
|
||||
(SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_documenti`.`idanagrafica` = `an_anagrafiche`.`idanagrafica` AND `co_documenti`.`data` BETWEEN '.prepare($start).' AND '.prepare($end)." AND `co_tipidocumento`.`dir`='entrata' AND `zz_segments`.`autofatture`=0) AS qta,
|
||||
`an_anagrafiche`.`idanagrafica`,
|
||||
`an_anagrafiche`.`ragione_sociale`
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = ".prepare(setting('Lingua')).")
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id`
|
||||
INNER JOIN `an_anagrafiche` ON `an_anagrafiche`.`idanagrafica`=`co_documenti`.`idanagrafica`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir`='entrata'
|
||||
AND `co_statidocumento_lang`.`name` IN('Pagato', 'Parzialmente pagato', 'Emessa')
|
||||
AND `co_documenti`.`data` BETWEEN ".prepare($start).' AND '.prepare($end).'
|
||||
AND `zz_segments`.`autofatture`=0
|
||||
GROUP BY
|
||||
`an_anagrafiche`.`idanagrafica`
|
||||
ORDER BY
|
||||
`totale` DESC LIMIT 20');
|
||||
|
||||
$totale = $dbo->fetchArray("SELECT SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN zz_segments ON co_documenti.id_segment=zz_segments.id WHERE (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa') AND co_tipidocumento.dir='entrata' AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' AND zz_segments.autofatture=0');
|
||||
$totale = $dbo->fetchArray("SELECT
|
||||
SUM(IF(`reversed`=1, -(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`), (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`))) AS totale
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = ".prepare(setting('Lingua')).")
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_statidocumento_lang`.`name` IN ('Pagato', 'Parzialmente pagato', 'Emessa')
|
||||
AND `co_tipidocumento`.`dir`='entrata'
|
||||
AND `co_documenti`.`data` BETWEEN ".prepare($start).' AND '.prepare($end).'
|
||||
AND `zz_segments`.`autofatture`=0');
|
||||
|
||||
echo '
|
||||
<div class="row">
|
||||
|
@ -225,9 +266,47 @@ echo '
|
|||
</div>';
|
||||
|
||||
// Articoli più venduti
|
||||
$articoli = $dbo->fetchArray("SELECT SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)) AS qta, SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale, mg_articoli.id, mg_articoli.codice, mg_articoli.descrizione, mg_articoli.um FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo INNER JOIN zz_segments ON co_documenti.id_segment=zz_segments.id WHERE co_tipidocumento.dir='entrata' AND (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa') AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' AND zz_segments.autofatture=0 GROUP BY co_righe_documenti.idarticolo ORDER BY qta DESC LIMIT 20');
|
||||
$articoli = $dbo->fetchArray("SELECT
|
||||
SUM(IF(`reversed`=1, -`co_righe_documenti`.`qta`, `co_righe_documenti`.`qta`)) AS qta,
|
||||
SUM(IF(`reversed`=1, -(`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`), (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`))) AS totale,
|
||||
`mg_articoli`.`id`,
|
||||
`mg_articoli`.`codice`,
|
||||
`mg_articoli`.`descrizione`,
|
||||
`mg_articoli`.`um`
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON `co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '".setting('Lingua')."'
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id`=`co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir`='entrata'
|
||||
AND `co_statidocumento_lang`.`name` IN ('Pagato', 'Parzialmente pagato', 'Emessa')
|
||||
AND `co_documenti`.`data` BETWEEN ".prepare($start).' AND '.prepare($end).'
|
||||
AND `zz_segments`.`autofatture`=0
|
||||
GROUP BY
|
||||
`co_righe_documenti`.`idarticolo`
|
||||
ORDER BY
|
||||
`qta` DESC LIMIT 20');
|
||||
|
||||
$totale = $dbo->fetchArray("SELECT SUM(IF(reversed=1, -co_righe_documenti.qta, co_righe_documenti.qta)) AS totale_qta, SUM(IF(reversed=1, -(co_righe_documenti.subtotale - co_righe_documenti.sconto), (co_righe_documenti.subtotale - co_righe_documenti.sconto))) AS totale FROM co_documenti INNER JOIN co_statidocumento ON co_statidocumento.id = co_documenti.idstatodocumento INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id INNER JOIN co_righe_documenti ON co_righe_documenti.iddocumento=co_documenti.id INNER JOIN mg_articoli ON mg_articoli.id=co_righe_documenti.idarticolo INNER JOIN zz_segments ON co_documenti.id_segment=zz_segments.id WHERE co_tipidocumento.dir='entrata' AND (co_statidocumento.descrizione = 'Pagato' OR co_statidocumento.descrizione = 'Parzialmente pagato' OR co_statidocumento.descrizione = 'Emessa') AND co_documenti.data BETWEEN ".prepare($start).' AND '.prepare($end).' AND zz_segments.autofatture=0');
|
||||
$totale = $dbo->fetchArray("SELECT
|
||||
SUM(IF(`reversed`=1, - `co_righe_documenti`.`qta`, `co_righe_documenti`.`qta`)) AS totale_qta,
|
||||
SUM(IF(`reversed`=1, - (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`), (`co_righe_documenti`.`subtotale` - `co_righe_documenti`.`sconto`))) AS totale
|
||||
FROM
|
||||
`co_documenti`
|
||||
INNER JOIN `co_statidocumento` ON `co_statidocumento`.`id` = `co_documenti`.`idstatodocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON `co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '".setting('Lingua')."'
|
||||
INNER JOIN `co_tipidocumento` ON `co_documenti`.`idtipodocumento`=`co_tipidocumento`.`id`
|
||||
INNER JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento`=`co_documenti`.`id`
|
||||
INNER JOIN `mg_articoli` ON `mg_articoli`.`id`=`co_righe_documenti`.`idarticolo`
|
||||
INNER JOIN `zz_segments` ON `co_documenti`.`id_segment`=`zz_segments`.`id`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir`='entrata'
|
||||
AND `co_statidocumento_lang`.name IN ('Pagato', 'Parzialmente pagato', 'Emessa')
|
||||
AND `co_documenti`.`data` BETWEEN ".prepare($start).' AND '.prepare($end)."
|
||||
AND `zz_segments`.`autofatture`=0");
|
||||
|
||||
echo '
|
||||
<div class="col-md-6">
|
||||
|
|
|
@ -26,7 +26,7 @@ use Util\XML;
|
|||
if ($fattura !== null) {
|
||||
/* Per le PA EC02 e EC01 sono dei stati successivi a NE il quale a sua volta è successivo a RC. EC01 e EC02 sono definiti all'interno della ricevuta di NE che di fatto indica il rifiuto o l'accettazione. */
|
||||
$stato_fe = $database->fetchOne('SELECT * FROM fe_stati_documento WHERE codice = '.prepare($fattura->codice_stato_fe));
|
||||
$abilita_genera = $fattura->stato->descrizione != 'Bozza' && (empty($fattura->codice_stato_fe) || intval($stato_fe['is_generabile']));
|
||||
$abilita_genera = $fattura->stato->name != 'Bozza' && (empty($fattura->codice_stato_fe) || intval($stato_fe['is_generabile']));
|
||||
$ricevuta_principale = $fattura->getRicevutaPrincipale();
|
||||
|
||||
if (!empty($fattura_pa)) {
|
||||
|
|
|
@ -67,7 +67,7 @@ class FatturaElettronica
|
|||
|
||||
// Controllo sulla possibilità di creare la fattura elettronica
|
||||
// Posso fatturare ai privati utilizzando il codice fiscale
|
||||
if ($this->documento->stato->descrizione == 'Bozza') {
|
||||
if ($this->documento->stato->name == 'Bozza') {
|
||||
throw new \UnexpectedValueException();
|
||||
}
|
||||
}
|
||||
|
@ -424,7 +424,7 @@ class FatturaElettronica
|
|||
$errors = [];
|
||||
|
||||
// Controlli sulla fattura stessa
|
||||
if ($fattura->stato->descrizione == 'Bozza') {
|
||||
if ($fattura->stato->name == 'Bozza') {
|
||||
$missing = [
|
||||
'state' => tr('Stato ("Emessa")'),
|
||||
];
|
||||
|
|
|
@ -148,7 +148,7 @@ switch (filter('op')) {
|
|||
$fattura_pa->delete();
|
||||
$fattura = Fattura::find($id_fattura);
|
||||
$id_autofattura = post('autofattura');
|
||||
$new_stato = Stato::where('descrizione', 'Pagato')->first();
|
||||
$new_stato = (new Stato())->getByName('Pagato')->id_record;
|
||||
|
||||
if ($fattura->isAutofattura() && !empty($id_autofattura)) {
|
||||
$autofattura_collegata = Fattura::find($id_autofattura);
|
||||
|
|
|
@ -255,15 +255,15 @@ echo '
|
|||
|
||||
if (!empty($anagrafica)) {
|
||||
$query = "SELECT
|
||||
co_documenti.id,
|
||||
CONCAT('Fattura num. ', co_documenti.numero_esterno, ' del ', DATE_FORMAT(co_documenti.data, '%d/%m/%Y')) AS descrizione
|
||||
FROM co_documenti
|
||||
INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento
|
||||
`co_documenti`.`id`,
|
||||
CONCAT('Fattura num. ', `co_documenti`.`numero_esterno`, ' del ', DATE_FORMAT(`co_documenti`.`data`, '%d/%m/%Y')) AS descrizione
|
||||
FROM `co_documenti`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
co_tipidocumento.dir = 'uscita' AND
|
||||
(co_documenti.data BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND
|
||||
co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione != 'Bozza') AND
|
||||
co_documenti.idanagrafica = ".prepare($anagrafica->id);
|
||||
`co_tipidocumento`.`dir` = 'uscita' AND
|
||||
(`co_documenti`.`data` BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND
|
||||
`co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` != 'Bozza') AND
|
||||
`co_documenti`.`idanagrafica` = ".prepare($anagrafica->id);
|
||||
|
||||
// Riferimenti ad altre fatture
|
||||
if (in_array($dati_generali['TipoDocumento'], ['TD04', 'TD05'])) {
|
||||
|
@ -280,16 +280,16 @@ if (!empty($anagrafica)) {
|
|||
</div>';
|
||||
} elseif ($is_autofattura) {
|
||||
$query = "SELECT
|
||||
co_documenti.id,
|
||||
CONCAT('Fattura num. ', co_documenti.numero_esterno, ' del ', DATE_FORMAT(co_documenti.data, '%d/%m/%Y')) AS descrizione
|
||||
FROM co_documenti
|
||||
INNER JOIN co_tipidocumento ON co_tipidocumento.id = co_documenti.idtipodocumento
|
||||
`co_documenti`.`id`,
|
||||
CONCAT('Fattura num. ', `co_documenti`.`numero_esterno`, ' del ', DATE_FORMAT(`co_documenti`.`data`, '%d/%m/%Y')) AS descrizione
|
||||
FROM `co_documenti`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
co_tipidocumento.dir = 'entrata' AND
|
||||
co_tipidocumento.codice_tipo_documento_fe IN('TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21', 'TD28') AND
|
||||
(co_documenti.data BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND
|
||||
co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione != 'Bozza') AND
|
||||
co_documenti.idanagrafica = ".prepare($anagrafica->id);
|
||||
`co_tipidocumento`.`dir` = 'entrata' AND
|
||||
`co_tipidocumento`.`codice_tipo_documento_fe` IN('TD16', 'TD17', 'TD18', 'TD19', 'TD20', 'TD21', 'TD28') AND
|
||||
(`co_documenti`.`data` BETWEEN NOW() - INTERVAL 1 YEAR AND NOW()) AND
|
||||
`co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` != 'Bozza') AND
|
||||
`co_documenti`.`idanagrafica` = ".prepare($anagrafica->id);
|
||||
|
||||
$autofattura_collegata = Fattura::where('progressivo_invio', '=', $fattura_pa->getHeader()['DatiTrasmissione']['ProgressivoInvio'])->first();
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ switch ($operazione) {
|
|||
$tipo = Tipo::find(post('idtipodocumento'));
|
||||
|
||||
if (!empty($accodare)) {
|
||||
$documento = $dbo->fetchOne('SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id WHERE co_statidocumento.descrizione = \'Bozza\' AND idanagrafica = '.prepare($contratto->idanagrafica));
|
||||
$documento = $dbo->fetchOne('SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = "'.prepare(setting('Lingua')).'") WHERE `co_statidocumento`.`name` = \'Bozza\' AND `idanagrafica` = '.prepare($contratto->idanagrafica));
|
||||
|
||||
$id_documento = $documento['id'];
|
||||
}
|
||||
|
@ -219,8 +219,7 @@ switch ($operazione) {
|
|||
$contratto = $pianificazione->contratto;
|
||||
if (!empty($accodare)) {
|
||||
$documento = $dbo->fetchOne(
|
||||
'SELECT co_documenti.id FROM co_documenti INNER JOIN co_statidocumento ON co_documenti.idstatodocumento = co_statidocumento.id
|
||||
WHERE co_statidocumento.descrizione = \'Bozza\' AND idanagrafica = '.prepare($contratto->idanagrafica)
|
||||
'SELECT `co_documenti`.`id` FROM `co_documenti` INNER JOIN `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id` LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).') WHERE `co_statidocumento_lang`.`name` = \'Bozza\' AND `idanagrafica` = '.prepare($contratto->idanagrafica)
|
||||
);
|
||||
|
||||
$id_documento = $documento['id'];
|
||||
|
|
|
@ -83,7 +83,7 @@ if (!$pianificazioni->isEmpty()) {
|
|||
'.Modules::link('Fatture di vendita', $fattura->id, tr('Fattura num. _NUM_ del _DATE_', [
|
||||
'_NUM_' => $fattura->numero_esterno,
|
||||
'_DATE_' => dateFormat($fattura->data),
|
||||
])).' (<i class="'.$fattura->stato->icona.'"></i> '.$fattura->stato->descrizione.')';
|
||||
])).' (<i class="'.$fattura->stato->icona.'"></i> '.$fattura->stato->name.')';
|
||||
} else {
|
||||
echo '
|
||||
<i class="fa fa-hourglass-start"></i> '.tr('Non ancora fatturato');
|
||||
|
|
|
@ -243,8 +243,8 @@ class Ricevuta
|
|||
|
||||
// Correzione eventuale per lo stato della fattura in Bozza
|
||||
$fattura = $this->getFattura();
|
||||
if ($fattura->stato->descrizione == 'Bozza') {
|
||||
$stato_emessa = Stato::where('descrizione', 'Emessa')->first();
|
||||
if ($fattura->stato->name == 'Bozza') {
|
||||
$stato_emessa = (new Stato())->getByName('Emessa')->id_record;
|
||||
$fattura->stato()->associate($stato_emessa);
|
||||
$fattura->save();
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ switch ($operazione) {
|
|||
|
||||
$fattura = Fattura::find($id_record);
|
||||
|
||||
if ($fattura->stato->descrizione != 'Bozza') {
|
||||
if ($fattura->stato->name != 'Bozza') {
|
||||
$fattura->gestoreMovimenti = new GestoreMovimenti($fattura);
|
||||
$fattura->gestoreMovimenti->registra();
|
||||
}
|
||||
|
|
|
@ -157,7 +157,7 @@ if (!empty($interventi)) {
|
|||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" class="text-left" >'.tr('Tipo').': <b>'.$intervento->tipo->descrizione.'</b></td>
|
||||
<td colspan="2" class="text-left" >'.tr('stato').': <b>'.$intervento->stato->descrizione.'</b></td>
|
||||
<td colspan="2" class="text-left" >'.tr('stato').': <b>'.$intervento->stato->name.'</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="text-left" >'.tr('richiesta').': <b>'.$intervento->richiesta.'</b></td>
|
||||
|
|
|
@ -38,7 +38,7 @@ $raggruppamenti = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = '.prepare($dir).' AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = '.prepare($dir).' AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` = "Bozza" OR `name` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`periodo`
|
||||
ORDER BY
|
||||
|
|
|
@ -64,7 +64,7 @@ if (!empty($vendita_banco)) {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`cod_iva`, `aliquota`, `descrizione`, `co_documenti`.`id`
|
||||
UNION
|
||||
|
@ -118,7 +118,7 @@ if (!empty($vendita_banco)) {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`cod_iva`, `aliquota`, `descrizione`, `co_documenti`.`id`
|
||||
UNION
|
||||
|
@ -170,7 +170,7 @@ if (!empty($vendita_banco)) {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
GROUP BY
|
||||
`cod_iva`, `aliquota`, `descrizione`, `co_documenti`.`id`
|
||||
UNION
|
||||
|
@ -222,7 +222,7 @@ if (!empty($vendita_banco)) {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
GROUP BY
|
||||
`cod_iva`, `aliquota`, `descrizione`, `co_documenti`.`id`
|
||||
UNION
|
||||
|
@ -267,7 +267,7 @@ else {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -286,7 +286,7 @@ else {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -305,7 +305,7 @@ else {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY aliquota desc');
|
||||
|
@ -324,7 +324,7 @@ else {
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -344,7 +344,7 @@ $iva_vendite_nonesigibile = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 1 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "entrata" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 1 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -363,7 +363,7 @@ $iva_acquisti_detraibile = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND `co_iva`.`indetraibile` != 100
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `co_documenti`.`split_payment` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND `co_iva`.`indetraibile` != 100
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -382,7 +382,7 @@ $iva_acquisti_nondetraibile = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND `co_iva`.`indetraibile` != 0
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND `co_iva`.`indetraibile` != 0
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -401,7 +401,7 @@ $iva_acquisti = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -420,7 +420,7 @@ $iva_acquisti_anno_precedente = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($anno_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($anno_precedente_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
@ -439,7 +439,7 @@ $iva_acquisti_periodo_precedente = $dbo->fetchArray('
|
|||
INNER JOIN `co_documenti` ON `co_documenti`.`id` = `co_righe_documenti`.`iddocumento`
|
||||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
WHERE
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN(SELECT `id` FROM `co_statidocumento` WHERE `descrizione` = "Bozza" OR `descrizione` = "Annullata") AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
`co_tipidocumento`.`dir` = "uscita" AND `co_righe_documenti`.`is_descrizione` = 0 AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `co_documenti`.`data_competenza` >= '.prepare($periodo_precedente_start).' AND `co_documenti`.`data_competenza` <= '.prepare($periodo_precedente_end).'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY `aliquota` desc');
|
||||
|
|
|
@ -24,23 +24,24 @@ $id_module = $module['id'];
|
|||
|
||||
$module_query = '
|
||||
SELECT
|
||||
numero_esterno,
|
||||
an_anagrafiche.ragione_sociale,
|
||||
SUM(prezzo_unitario*qta) as \'Totale\',
|
||||
provvigione_percentuale,
|
||||
provvigione
|
||||
`numero_esterno`,
|
||||
`an_anagrafiche`.`ragione_sociale`,
|
||||
SUM(`prezzo_unitario`*`qta`) as \'Totale\',
|
||||
`provvigione_percentuale`,
|
||||
`provvigione`
|
||||
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 (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 `co_statidocumento` ON `co_documenti`.`idstatodocumento` = `co_statidocumento`.`id`
|
||||
LEFT JOIN an_anagrafiche as agenti ON agenti.idanagrafica = co_documenti.idagente
|
||||
LEFT JOIN co_righe_documenti ON co_righe_documenti.iddocumento = co_documenti.id
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento_lang`.`id_record` = `co_statidocumento`.`id` AND `co_statidocumento_lang`.`id_lang` = '.prepare(setting('Lingua')).')
|
||||
LEFT JOIN `an_anagrafiche` as agenti ON `agenti`.`idanagrafica` = `co_documenti`.`idagente`
|
||||
LEFT JOIN `co_righe_documenti` ON `co_righe_documenti`.`iddocumento` = `co_documenti`.`id`
|
||||
WHERE
|
||||
1=1 AND provvigione > 0
|
||||
1=1 AND `provvigione` > 0
|
||||
GROUP BY
|
||||
co_documenti.id
|
||||
`co_documenti`.`id`
|
||||
HAVING
|
||||
2=2
|
||||
ORDER BY
|
||||
|
@ -58,15 +59,15 @@ if (!empty(get('date_end'))) {
|
|||
$date_end = get('date_end');
|
||||
}
|
||||
|
||||
$module_query = str_replace('1=1', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', $module_query);
|
||||
$module_query = str_replace('1=1', '1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` = "Pagato")', $module_query);
|
||||
|
||||
if (get('is_emessa') == 'true' && get('is_parz_pagata') == 'true') {
|
||||
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Emessa" OR descrizione = "Parzialmente pagato")', $module_query);
|
||||
$module_query = str_replace('1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` = "Pagato")', '1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Pagato", "Emessa", "Parzialmente pagato"))', $module_query);
|
||||
} elseif (get('is_emessa') == 'true') {
|
||||
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Emessa")', $module_query);
|
||||
$module_query = str_replace('1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` = "Pagato")', '1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Pagato", "Emessa"))', $module_query);
|
||||
} elseif (get('is_parz_pagata') == 'true') {
|
||||
$module_query = str_replace('1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato")', '1=1 AND co_documenti.idstatodocumento IN (SELECT id FROM co_statidocumento WHERE descrizione = "Pagato" OR descrizione = "Parzialmente pagato")', $module_query);
|
||||
$module_query = str_replace('1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` = "Pagato")', '1=1 AND `co_documenti`.`idstatodocumento` IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Pagato", "Parzialmente pagato"))', $module_query);
|
||||
}
|
||||
|
||||
$module_query = str_replace('1=1', '1=1 AND co_documenti.idagente='.prepare($id_record), $module_query);
|
||||
$module_query = str_replace('1=1', '1=1 AND `co_documenti`.`idagente`='.prepare($id_record), $module_query);
|
||||
$records = $dbo->fetchArray($module_query);
|
||||
|
|
|
@ -73,7 +73,7 @@ if ((!empty($vendita_banco)) && ($id_sezionale == -1) && ($tipo == 'vendite')) {
|
|||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
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 '.(($id_sezionale != -1) ? '`co_documenti`.`id_segment` = '.prepare($id_sezionale).'' : '1=1').'
|
||||
`dir` = '.prepare($dir).' AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `is_descrizione` = 0 AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND '.(($id_sezionale != -1) ? '`co_documenti`.`id_segment` = '.prepare($id_sezionale).'' : '1=1').'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
UNION
|
||||
|
@ -130,7 +130,7 @@ FROM
|
|||
INNER JOIN `co_tipidocumento` ON `co_tipidocumento`.`id` = `co_documenti`.`idtipodocumento`
|
||||
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 '.(($id_sezionale != -1) ? '`co_documenti`.`id_segment` = '.prepare($id_sezionale).'' : '1=1').'
|
||||
`dir` = '.prepare($dir).' AND `idstatodocumento` NOT IN (SELECT `id_record` FROM `co_statidocumento_lang` WHERE `name` IN ("Bozza", "Annullata")) AND `is_descrizione` = 0 AND `co_documenti`.`data_competenza` >= '.prepare($date_start).' AND `co_documenti`.`data_competenza` <= '.prepare($date_end).' AND '.(($id_sezionale != -1) ? '`co_documenti`.`id_segment` = '.prepare($id_sezionale).'' : '1=1').'
|
||||
GROUP BY
|
||||
`co_iva`.`id`, `co_documenti`.`id`
|
||||
ORDER BY
|
||||
|
|
|
@ -66,7 +66,7 @@ if (dateFormat($intervento->inizio)) {
|
|||
}
|
||||
echo '
|
||||
<p><small><b>'.tr('Cliente').':</b> '.$intervento->anagrafica->ragione_sociale.'</small></p>
|
||||
<p><small><b>'.tr('Stato').':</b> '.$intervento->stato->descrizione.'</small></p>
|
||||
<p><small><b>'.tr('Stato').':</b> '.$intervento->stato->name.'</small></p>
|
||||
<p><small><b>'.tr('Data richiesta').':</b> '.dateFormat($intervento->data_richiesta).'</small></p>
|
||||
<p><small><b>'.tr('Richiesta').':</b> '.$intervento->richiesta.'</p>';
|
||||
if ($intervento->descrizione) {
|
||||
|
|
|
@ -309,33 +309,6 @@ UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_module
|
|||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'COUNT(`co_pagamenti_lang`.`name`)' WHERE `zz_modules`.`name` = 'Pagamenti' AND `zz_views`.`name` = 'Rate';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_pagamenti_lang`.`id`' WHERE `zz_modules`.`name` = 'Pagamenti' AND `zz_views`.`name` = 'id';
|
||||
|
||||
-- Allineamento vista 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((`subtotale` - `sconto` + `rivalsainps`) * `co_iva`.`percentuale` / 100) AS `iva` FROM `co_righe_documenti` LEFT JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` 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 `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND |lang|)
|
||||
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';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_pagamenti_lang`.`name`' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'Pagamento';
|
||||
|
||||
-- Allineamento vista Anagrafiche
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|
@ -360,36 +333,6 @@ HAVING
|
|||
ORDER BY
|
||||
TRIM(`ragione_sociale`)" WHERE `name` = 'Anagrafiche';
|
||||
|
||||
-- Allineamento vista 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 `co_ritenuta_contributi` ON `co_documenti`.`id_ritenuta_contributi` = `co_ritenuta_contributi`.`id`
|
||||
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
|
||||
LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.|lang|)
|
||||
LEFT JOIN (SELECT `co_banche`.`id`, CONCAT(`nome`, ' - ', `iban`) AS `descrizione` FROM `co_banche`) AS `banche` ON `banche`.`id` = `co_documenti`.`id_banca_azienda`
|
||||
LEFT JOIN (SELECT `iddocumento`, GROUP_CONCAT(`co_pianodeiconti3`.`descrizione`) AS `descrizione` FROM `co_righe_documenti` INNER JOIN `co_pianodeiconti3` ON `co_pianodeiconti3`.`id` = `co_righe_documenti`.`idconto` GROUP BY iddocumento) AS `conti` ON `conti`.`iddocumento` = `co_documenti`.`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 COUNT(`d`.`id`) AS `conteggio`, IF(`d`.`numero_esterno` = '', `d`.`numero`, `d`.`numero_esterno`) AS `numero_documento`, `d`.`idanagrafica` AS `anagrafica`, `d`.`id_segment` 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 `d`.`id_segment`, `numero_documento`, `d`.`idanagrafica`) AS `d` ON (`d`.`numero_documento` = IF(`co_documenti`.`numero_esterno` = '',`co_documenti`.`numero`,`co_documenti`.`numero_esterno`) AND `d`.`anagrafica` = `co_documenti`.`idanagrafica` AND `d`.`id_segment` = `co_documenti`.`id_segment`)
|
||||
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` )|
|
||||
GROUP BY
|
||||
`co_documenti`.`id`, `d`.`conteggio`
|
||||
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 `name` = 'Fatture di acquisto';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = 'CONCAT(`co_pagamenti`.`codice_modalita_pagamento_fe`, " - ", `co_pagamenti_lang`.`name`)' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = 'Pagamento';
|
||||
|
||||
-- Allineamento vista Scadenzario
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|
@ -491,4 +434,102 @@ UPDATE `zz_modules` SET `options` = 'SELECT\n |select|\nFROM \n `zz_groups` \n L
|
|||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Utenti e permessi'), 'N. utenti abilitati', '`utenti_abilitati`.`num`', '3', '1', '0', '0', '0', '', '', '1', '0', '0');
|
||||
|
||||
-- Aggiunta colonna N. API abilitate
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Utenti e permessi'), 'N. API abilitate', '`api_abilitate`.`num`', '3', '1', '0', '0', '0', '', '', '1', '0', '0');
|
||||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `html_format`, `search_inside`, `order_by`, `visible`, `summable`, `default`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Utenti e permessi'), 'N. API abilitate', '`api_abilitate`.`num`', '3', '1', '0', '0', '0', '', '', '1', '0', '0');
|
||||
|
||||
-- Aggiunta tabella co_statidocumento_lang
|
||||
CREATE TABLE IF NOT EXISTS `co_statidocumento_lang` (
|
||||
`id` int NOT NULL,
|
||||
`id_lang` int NOT NULL,
|
||||
`id_record` int NOT NULL,
|
||||
`name` VARCHAR(255) NOT NULL
|
||||
);
|
||||
ALTER TABLE `co_statidocumento_lang`
|
||||
ADD PRIMARY KEY (`id`);
|
||||
|
||||
ALTER TABLE `co_statidocumento_lang`
|
||||
MODIFY `id` int NOT NULL AUTO_INCREMENT;
|
||||
|
||||
INSERT INTO `co_statidocumento_lang` (`id`, `id_lang`, `id_record`, `name`) SELECT NULL, (SELECT `id` FROM `zz_langs` WHERE `iso_code` = 'it'), `id`, `descrizione` FROM `co_statidocumento`;
|
||||
|
||||
ALTER TABLE `co_statidocumento`
|
||||
DROP `descrizione`;
|
||||
|
||||
ALTER TABLE `co_statidocumento` CHANGE `id` `id` INT NOT NULL AUTO_INCREMENT;
|
||||
|
||||
ALTER TABLE `co_statidocumento_lang` ADD CONSTRAINT `co_statidocumento_lang_ibfk_1` FOREIGN KEY (`id_record`) REFERENCES `co_statidocumento`(`id`) ON DELETE CASCADE ON UPDATE RESTRICT;
|
||||
|
||||
-- Allineamento vista Stati fatture
|
||||
UPDATE `zz_modules` SET `options` = "
|
||||
SELECT
|
||||
|select|
|
||||
FROM
|
||||
`co_statidocumento`
|
||||
LEFT JOIN `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND |lang|)
|
||||
WHERE
|
||||
1=1
|
||||
HAVING
|
||||
2=2" WHERE `name` = 'Stati fatture';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_statidocumento_lang`.`name`' WHERE `zz_modules`.`name` = 'Stati fatture' AND `zz_views`.`name` = 'Descrizione';
|
||||
|
||||
-- Allineamento vista 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((`subtotale` - `sconto` + `rivalsainps`) * `co_iva`.`percentuale` / 100) AS `iva` FROM `co_righe_documenti` LEFT JOIN `co_iva` ON `co_iva`.`id` = `co_righe_documenti`.`idiva` 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 `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND co_statidocumento_lang.|lang|)
|
||||
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 `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND co_pagamenti_lang.|lang|)
|
||||
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';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_statidocumento_lang`.`name`' WHERE `zz_modules`.`name` = 'Fatture di vendita' AND `zz_views`.`name` = 'icon_title_Stato';
|
||||
|
||||
|
||||
-- Allineamento vista 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 `co_statidocumento_lang` ON (`co_statidocumento`.`id` = `co_statidocumento_lang`.`id_record` AND `co_statidocumento_lang`.|lang|)
|
||||
LEFT JOIN `co_ritenuta_contributi` ON `co_documenti`.`id_ritenuta_contributi` = `co_ritenuta_contributi`.`id`
|
||||
LEFT JOIN `co_pagamenti` ON `co_documenti`.`idpagamento` = `co_pagamenti`.`id`
|
||||
LEFT JOIN `co_pagamenti_lang` ON (`co_pagamenti`.`id` = `co_pagamenti_lang`.`id_record` AND `co_pagamenti_lang`.|lang|)
|
||||
LEFT JOIN (SELECT `co_banche`.`id`, CONCAT(`nome`, ' - ', `iban`) AS `descrizione` FROM `co_banche`) AS `banche` ON `banche`.`id` = `co_documenti`.`id_banca_azienda`
|
||||
LEFT JOIN (SELECT `iddocumento`, GROUP_CONCAT(`co_pianodeiconti3`.`descrizione`) AS `descrizione` FROM `co_righe_documenti` INNER JOIN `co_pianodeiconti3` ON `co_pianodeiconti3`.`id` = `co_righe_documenti`.`idconto` GROUP BY iddocumento) AS `conti` ON `conti`.`iddocumento` = `co_documenti`.`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 COUNT(`d`.`id`) AS `conteggio`, IF(`d`.`numero_esterno` = '', `d`.`numero`, `d`.`numero_esterno`) AS `numero_documento`, `d`.`idanagrafica` AS `anagrafica`, `d`.`id_segment` 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 `d`.`id_segment`, `numero_documento`, `d`.`idanagrafica`) AS `d` ON (`d`.`numero_documento` = IF(`co_documenti`.`numero_esterno` = '',`co_documenti`.`numero`,`co_documenti`.`numero_esterno`) AND `d`.`anagrafica` = `co_documenti`.`idanagrafica` AND `d`.`id_segment` = `co_documenti`.`id_segment`)
|
||||
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` )|
|
||||
GROUP BY
|
||||
`co_documenti`.`id`, `d`.`conteggio`
|
||||
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 `name` = 'Fatture di acquisto';
|
||||
UPDATE `zz_views` INNER JOIN `zz_modules` ON `zz_views`.`id_module` = `zz_modules`.`id` SET `zz_views`.`query` = '`co_statidocumento_lang`.`name`' WHERE `zz_modules`.`name` = 'Fatture di acquisto' AND `zz_views`.`name` = 'icon_title_Stato';
|
||||
|
||||
-- Fix plugin Ddt del cliente
|
||||
UPDATE `zz_plugins` SET `options` = '{ \"main_query\": [ { \"type\": \"table\", \"fields\": \"Numero, Data, Descrizione, Qtà\", \"query\": \"SELECT dt_ddt.id, IF(dt_tipiddt.dir = \'entrata\', (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt di vendita\'), (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt di acquisto\')) AS _link_module_, dt_ddt.id AS _link_record_, IF(dt_ddt.numero_esterno = \'\', dt_ddt.numero, dt_ddt.numero_esterno) AS Numero, DATE_FORMAT(dt_ddt.data, \'%d/%m/%Y\') AS Data, dt_righe_ddt.descrizione AS `Descrizione`, REPLACE(REPLACE(REPLACE(FORMAT(dt_righe_ddt.qta, 2), \',\', \'#\'), \'.\', \',\'), \'#\', \'.\') AS `Qtà` FROM dt_ddt LEFT JOIN dt_righe_ddt ON dt_ddt.id=dt_righe_ddt.idddt JOIN dt_tipiddt ON dt_ddt.idtipoddt = dt_tipiddt.id WHERE dt_ddt.idanagrafica=|id_parent| HAVING 2=2 ORDER BY dt_ddt.id DESC\"} ]}' WHERE `zz_plugins`.`name` = 'Ddt del cliente';
|
|
@ -51,6 +51,7 @@ return [
|
|||
'co_staticontratti',
|
||||
'co_staticontratti_lang',
|
||||
'co_statidocumento',
|
||||
'co_statidocumento_lang'
|
||||
'co_statipreventivi',
|
||||
'co_tipidocumento',
|
||||
'co_tipi_scadenze',
|
||||
|
|
Loading…
Reference in New Issue