diff --git a/modules/anagrafiche/src/Anagrafica.php b/modules/anagrafiche/src/Anagrafica.php index fca45d771..b29d9f1c8 100755 --- a/modules/anagrafiche/src/Anagrafica.php +++ b/modules/anagrafiche/src/Anagrafica.php @@ -356,22 +356,18 @@ class Anagrafica extends Model protected static function creaConto(Anagrafica $anagrafica, $campo) { + $categoria_conto_id = null; if ($campo == 'idconto_cliente') { - $type = 'Crediti clienti e crediti diversi'; + $categoria_conto_id = setting('Conto di secondo livello per i crediti clienti'); } else { - $type = 'Debiti fornitori e debiti diversi'; + $categoria_conto_id = setting('Conto di secondo livello per i debiti fornitori'); } $database = database(); - // Individuazione della categoria - $categoria_conto = $database->table('co_pianodeiconti2') - ->where('descrizione', '=', $type) - ->first(); - // Query di base $table = $database->table('co_pianodeiconti3') - ->where('idpianodeiconti2', '=', $categoria_conto->id); + ->where('idpianodeiconti2', '=', $categoria_conto_id); // Verifica su un possibile conto esistente ma non collegato $conto = (clone $table) @@ -399,7 +395,7 @@ class Anagrafica extends Model ->insertGetId([ 'numero' => $new_numero, 'descrizione' => $anagrafica->ragione_sociale, - 'idpianodeiconti2' => $categoria_conto->id, + 'idpianodeiconti2' => $categoria_conto_id, ]); return $id_conto; diff --git a/templates/bilancio/body.php b/templates/bilancio/body.php index f5aca9adb..b65f3073b 100644 --- a/templates/bilancio/body.php +++ b/templates/bilancio/body.php @@ -62,14 +62,14 @@ echo ' } if (empty(get('elenco_analitico'))) { - if ($liv2_p['descrizione'] == 'Crediti clienti e crediti diversi') { + if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) { echo ' Clienti '.numberFormat($crediti_clienti).' '; - } elseif ($liv2_p['descrizione'] == 'Debiti fornitori e debiti diversi') { + } elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) { echo ' @@ -140,14 +140,14 @@ echo ' } if (empty(get('elenco_analitico'))) { - if ($liv2_p['descrizione'] == 'Crediti clienti e crediti diversi') { + if ($liv2_p['id'] == setting('Conto di secondo livello per i crediti clienti')) { echo ' Clienti '.numberFormat(abs($crediti_clienti)).' '; - } elseif ($liv2_p['descrizione'] == 'Debiti fornitori e debiti diversi') { + } elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) { echo ' diff --git a/templates/bilancio/init.php b/templates/bilancio/init.php index e468b15b8..8659fa2d9 100644 --- a/templates/bilancio/init.php +++ b/templates/bilancio/init.php @@ -48,7 +48,7 @@ FROM INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE - co_pianodeiconti2.descrizione="Debiti fornitori e debiti diversi" + co_pianodeiconti2.descrizione='.prepare(setting('Conto di secondo livello per i debiti fornitori')).' AND co_pianodeiconti3.id IN (SELECT idconto_fornitore FROM an_anagrafiche) AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' @@ -70,7 +70,7 @@ FROM INNER JOIN co_pianodeiconti3 ON co_movimenti.idconto=co_pianodeiconti3.id INNER JOIN co_pianodeiconti2 ON co_pianodeiconti3.idpianodeiconti2=co_pianodeiconti2.id WHERE - co_pianodeiconti2.descrizione="Crediti clienti e crediti diversi" + co_pianodeiconti2.id='.prepare(setting('Conto di secondo livello per i crediti clienti')).' AND co_pianodeiconti3.id IN (SELECT idconto_cliente FROM an_anagrafiche) AND co_movimenti.data>='.prepare($date_start).' AND co_movimenti.data<='.prepare($date_end).' diff --git a/update/2_4_33.sql b/update/2_4_33.sql index 88db48977..531ee5b23 100644 --- a/update/2_4_33.sql +++ b/update/2_4_33.sql @@ -160,7 +160,7 @@ INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione` INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Sezionale per autofatture di acquisto', (SELECT `id` FROM `zz_segments` WHERE `name`='Autofatture' AND `id_module`=(SELECT `id` FROM `zz_modules` WHERE name="Fatture di acquisto")), 'query=SELECT id, name AS descrizione FROM zz_segments WHERE id_module=(SELECT id FROM zz_modules WHERE name=\"Fatture di acquisto\") ORDER BY name', '1', 'Fatturazione', NULL, NULL); -INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto per autofattura', '', 'query=SELECT `id`, CONCAT_WS(\' - \', `numero`, `descrizione`) AS descrizione FROM `co_pianodeiconti3` ORDER BY `descrizione` ASC', '1', 'Piano dei conti', NULL, NULL) ; +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto per autofattura', '', 'query=SELECT `id`, CONCAT_WS(\' - \', `numero`, `descrizione`) AS descrizione FROM `co_pianodeiconti3` ORDER BY `descrizione` ASC', '1', 'Piano dei conti', NULL, NULL); INSERT INTO `co_pianodeiconti2` (`numero`, `descrizione`, `idpianodeiconti1`, `dir`) VALUES ('910', 'Conti compensativi', (SELECT `id` FROM `co_pianodeiconti1` WHERE `descrizione`='Patrimoniale'), 'entrata/uscita'); @@ -171,4 +171,9 @@ INSERT INTO `co_pianodeiconti3` (`numero`, `descrizione`, `idpianodeiconti2`, `d ALTER TABLE `co_documenti` ADD `id_autofattura` INT NULL AFTER `id_ricevuta_principale`, ADD FOREIGN KEY (`id_autofattura`) REFERENCES `co_documenti`(`id`) ON DELETE SET NULL; -- Fix widget Scadenze -UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(co_documenti.id) AS dato FROM co_scadenziario INNER JOIN (((co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN co_pagamenti ON co_documenti.idpagamento=co_pagamenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) ON co_scadenziario.iddocumento=co_documenti.id WHERE ABS(pagato) < ABS(da_pagare) AND scadenza >= \"|period_start|\" AND scadenza <= \"|period_end|\" ORDER BY scadenza ASC' WHERE `zz_widgets`.`name` = 'Scadenze'; \ No newline at end of file +UPDATE `zz_widgets` SET `query` = 'SELECT COUNT(co_documenti.id) AS dato FROM co_scadenziario INNER JOIN (((co_documenti INNER JOIN an_anagrafiche ON co_documenti.idanagrafica=an_anagrafiche.idanagrafica) INNER JOIN co_pagamenti ON co_documenti.idpagamento=co_pagamenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id) ON co_scadenziario.iddocumento=co_documenti.id WHERE ABS(pagato) < ABS(da_pagare) AND scadenza >= \"|period_start|\" AND scadenza <= \"|period_end|\" ORDER BY scadenza ASC' WHERE `zz_widgets`.`name` = 'Scadenze'; + +-- Impostazione per gestire conto per la creazione conti anagrafiche +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto di secondo livello per i crediti clienti', (SELECT `id` FROM `co_pianodeiconti2` WHERE `descrizione`="Crediti clienti e crediti diversi"), 'query=SELECT `id`, CONCAT_WS(\' - \', `numero`, `descrizione`) AS descrizione FROM `co_pianodeiconti2` WHERE idpianodeiconti1=(SELECT id FROM co_pianodeiconti1 WHERE descrizione="Patrimoniale") ORDER BY `descrizione` ASC', '1', 'Piano dei conti', NULL, NULL); + +INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`, `help`) VALUES (NULL, 'Conto di secondo livello per i debiti fornitori', (SELECT `id` FROM `co_pianodeiconti2` WHERE `descrizione`="Debiti fornitori e debiti diversi"), 'query=SELECT `id`, CONCAT_WS(\' - \', `numero`, `descrizione`) AS descrizione FROM `co_pianodeiconti2` WHERE idpianodeiconti1=(SELECT id FROM co_pianodeiconti1 WHERE descrizione="Patrimoniale") ORDER BY `descrizione` ASC', '1', 'Piano dei conti', NULL, NULL); \ No newline at end of file