mirror of
https://github.com/devcode-it/openstamanager.git
synced 2025-02-02 08:56:48 +01:00
Gestione conti predefiniti crediti e debiti tramite impostazione
This commit is contained in:
parent
fb3a6a8ad4
commit
af7eb19567
@ -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;
|
||||
|
@ -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 '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat($crediti_clienti).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['descrizione'] == 'Debiti fornitori e debiti diversi') {
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
@ -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 '
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>Clienti</td>
|
||||
<td class="text-right">'.numberFormat(abs($crediti_clienti)).'</td>
|
||||
</tr>';
|
||||
} elseif ($liv2_p['descrizione'] == 'Debiti fornitori e debiti diversi') {
|
||||
} elseif ($liv2_p['id'] == setting('Conto di secondo livello per i debiti fornitori')) {
|
||||
echo '
|
||||
<tr>
|
||||
<td></td>
|
||||
|
@ -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).'
|
||||
|
@ -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';
|
||||
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);
|
Loading…
x
Reference in New Issue
Block a user