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