devcode-it / openstamanager

Il software gestionale open source per l'assistenza tecnica e la fatturazione
https://www.openstamanager.com
GNU General Public License v3.0
104 stars 69 forks source link

Totale widget "Crediti da clienti" e "Debiti verso fornitori" errati #149

Closed loviuz closed 6 years ago

loviuz commented 6 years ago

I widget attualmente conteggiano le fatture non ancora in stato "Pagato", ma tramite scadenzario o prima nota (meglio quest'ultima) dovrebbero conteggiare anche gli importi parzialmente pagati per mostrare il valore corretto.

Andi-bz commented 6 years ago

Con la nuova versione 2.3.1 Credito da clienti e Debiti verso fornitori il conteggio e a 0€

loviuz commented 6 years ago

Hai controllato che le fatture non siano in bozza o siano in "Pagato" senza essere passate per lo stato "Emessa"?

Andi-bz commented 6 years ago
foto_01
loviuz commented 6 years ago

Prova a rimettere in bozza una fattura emessa e a ri-emetterla... non cambia nulla?

Andi-bz commented 6 years ago

Non cambia nulla

loviuz commented 6 years ago

Puoi vedere se dentro logs/error.log hai degli errori SQL?

Andi-bz commented 6 years ago

Non si trova nessun file error.log nella cartella logs

loviuz commented 6 years ago

Riesci ad esportare la tabella zz_widgets e incollarla qui? Basterebbero anche solo i 2 record, però per sicurezza se puoi incollare il dump completo, perché a me e ad altri utenti funziona...

Andi-bz commented 6 years ago
-- phpMyAdmin SQL Dump
-- version 4.7.3
-- https://www.phpmyadmin.net/
--
-- Host: localhost:8889
-- Erstellungszeit: 20. Feb 2018 um 19:42
-- Server-Version: 5.6.35
-- PHP-Version: 5.6.31

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Datenbank: `open23`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `zz_widgets`
--

CREATE TABLE `zz_widgets` (
  `id` int(11) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `type` enum('stats','chart','custom','print') DEFAULT NULL,
  `id_module` int(11) NOT NULL,
  `location` enum('controller_top','controller_right','editor_top','editor_right') DEFAULT NULL,
  `class` varchar(50) DEFAULT NULL,
  `query` mediumtext,
  `bgcolor` varchar(7) DEFAULT NULL,
  `icon` varchar(255) DEFAULT NULL,
  `print_link` varchar(255) DEFAULT NULL,
  `more_link` varchar(5000) DEFAULT NULL,
  `more_link_type` enum('link','popup','javascript') DEFAULT NULL,
  `php_include` varchar(255) DEFAULT NULL,
  `text` mediumtext,
  `enabled` tinyint(1) DEFAULT NULL,
  `order` int(11) DEFAULT NULL,
  `help` varchar(255) DEFAULT NULL,
  `created_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

--
-- Daten für Tabelle `zz_widgets`
--

INSERT INTO `zz_widgets` (`id`, `name`, `type`, `id_module`, `location`, `class`, `query`, `bgcolor`, `icon`, `print_link`, `more_link`, `more_link_type`, `php_include`, `text`, `enabled`, `order`, `help`, `created_at`, `updated_at`) VALUES
(1, 'Numero di clienti', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND descrizione=\"Cliente\" AND deleted=0 HAVING 2=2', '#37a02d', 'fa fa-user', '', 'if($(\'#th_Tipologia input\').val()!= \'Cliente\'){ $(\'#th_Tipologia input\').val(\'Cliente\').trigger(\'keyup\');} else reset(\'Tipologia\');', 'javascript', '', 'Clienti', 1, 1, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(2, 'Numero di tecnici', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND descrizione=\"Tecnico\" AND deleted=0 HAVING 2=2', '#ff7e00', 'fa fa-cog', '', 'if($(\'#th_Tipologia input\').val()!= \'Tecnico\'){ $(\'#th_Tipologia input\').val(\'Tecnico\').trigger(\'keyup\');} else reset(\'Tipologia\');', 'javascript', '', 'Tecnici', 1, 2, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(3, 'Numero di fornitori', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND descrizione=\"Fornitore\" AND deleted=0 HAVING 2=2', '#a15d2d', 'fa fa-truck', '', 'if($(\'#th_Tipologia input\').val()!= \'Fornitore\'){ $(\'#th_Tipologia input\').val(\'Fornitore\').trigger(\'keyup\');} else reset(\'Tipologia\');', 'javascript', '', 'Fornitori', 1, 0, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(4, 'Numero di agenti', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND descrizione=\"Agente\" AND deleted=0 HAVING 2=2', '#2d70a1', 'fa fa-briefcase', '', 'if($(\'#th_Tipologia input\').val()!= \'Agente\'){$(\'#th_Tipologia input\').val(\'Agente\').trigger(\'keyup\');} else reset(\'Tipologia\');', 'javascript', '', 'Agenti', 1, 3, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(5, 'Interventi da pianificare', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM co_righe_contratti WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN (SELECT id FROM co_staticontratti WHERE pianificabile = 1)) AND idintervento IS NULL', '#ff7e00', 'fa fa-cog', '', './modules/contratti/widgets/contratti.pianificazionedashboard.interventi.php', 'popup', '', 'Interventi da pianificare', 1, 0, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(6, 'Ordini di servizio da impostare', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM co_ordiniservizio WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE pianificabile = 1)) AND idintervento IS NULL', '#45a9f1', 'fa fa-gears', '', './modules/contratti/widgets/contratti.pianificazionedashboard.php', 'popup', '', 'Ordini di servizio da impostare', 0, 2, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(7, 'Scadenze', 'stats', 1, 'controller_top', 'col-md-2', '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 idstatodocumento=(SELECT id FROM co_statidocumento WHERE descrizione=\"Emessa\") AND scadenza >= \"|period_start|\" AND scadenza <= \"|period_end|\" ORDER BY scadenza ASC', '#c62f2a', 'fa fa-money', '', './controller.php?id_module=18', 'link', '', 'Scadenze', 1, 1, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(8, 'Articoli in esaurimento', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM mg_articoli WHERE qta < threshold_qta AND attivo=1', '#a15d2d', 'fa fa-truck', '', './modules/articoli/widgets/articoli.dashboard.php', 'popup', '', 'Articoli in esaurimento', 1, 5, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(9, 'Preventivi in lavorazione', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM co_preventivi WHERE idstato=(SELECT id FROM co_statipreventivi WHERE descrizione=\"In lavorazione\")', '#44aae4', 'fa fa-tasks', '', './modules/preventivi/widgets/preventivi.dashboard.php', 'popup', '', 'Preventivi in lavorazione', 1, 3, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(10, 'Contratti in scadenza', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE descrizione=\"Accettato\" OR descrizione=\"In lavorazione\" OR descrizione=\"In attesa di pagamento\") AND rinnovabile=1 AND NOW() > DATE_ADD(data_conclusione, INTERVAL -ABS(giorni_preavviso_rinnovo) DAY) AND YEAR(data_conclusione) > 1970', '#c62f2a', 'fa fa-edit', '', './modules/contratti/widgets/contratti_scadenza.dashboard.php', 'popup', '', 'Contratti in scadenza', 0, 4, NULL, '2018-01-28 08:54:50', '2018-01-30 08:49:36'),
(11, 'Rate contrattuali', 'stats', 1, 'controller_top', 'col-md-2', 'SELECT COUNT(id) AS dato FROM co_ordiniservizio_pianificazionefatture WHERE idcontratto IN( SELECT id FROM co_contratti WHERE idstato IN(SELECT id FROM co_staticontratti WHERE descrizione IN(\"Bozza\", \"Accettato\", \"In lavorazione\", \"In attesa di pagamento\")) ) AND co_ordiniservizio_pianificazionefatture.iddocumento=0', '#4ccc4c', 'fa fa-folder-open', '', './modules/contratti/widgets/contratti.ratecontrattuali.php', 'popup', '', 'Rate contrattuali', 0, 2, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(12, 'Stampa inventario', 'print', 21, 'controller_top', 'col-md-12', '', '#45a9f1', 'fa fa-print', '', 'if( confirm(\'Stampare l\\\'inventario?\') ){ window.open(\'pdfgen.php?ptype=magazzino_inventario&search_codice=\'+$(\'#th_Codice input\').val()+\'&search_descrizione=\'+$(\'#th_Descrizione input\').val()+\'&search_categoria=\'+$(\'#th_Categoria input\').val()+\'&search_subcategoria=\'+$(\'#th_Subcategoria input\').val()+\'&search_tipo=solo prodotti attivi\'); }', 'javascript', '', 'Stampa inventario', 1, 1, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(13, 'Fatturato', 'stats', 14, 'controller_top', 'col-md-4', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(SUM((SELECT SUM(subtotale+iva-sconto) FROM co_righe_documenti WHERE iddocumento=co_documenti.id)+iva_rivalsainps+rivalsainps+bollo-ritenutaacconto), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"&euro;\") AS dato FROM co_documenti WHERE idtipodocumento IN(SELECT id FROM co_tipidocumento WHERE dir=\"entrata\") AND data >= \"|period_start|\" AND data <= \"|period_end|\" AND 1=1', '#4dc347', 'fa fa-money', '', '', '', '', 'Fatturato', 1, 0, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(14, 'Acquisti', 'stats', 15, 'controller_top', 'col-md-4', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT((SELECT ABS(SUM(da_pagare))), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"&euro;\") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE dir=\'uscita\' AND data_emissione >= \"|period_start|\" AND data_emissione <= \"|period_end|\"', '#c2464c', 'fa fa-money', '', '', '', '', 'Acquisti', 1, 0, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(15, 'Crediti da clienti', 'stats', 14, 'controller_top', 'col-md-4', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(da_pagare-pagato, 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"€\") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=\'entrata\'', '#f4af1b', 'fa fa-warning', '', '', '', '', 'Crediti da clienti', 1, 1, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(16, 'Debiti verso fornitori', 'stats', 15, 'controller_top', 'col-md-4', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT( -(da_pagare-pagato), 2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"€\") AS dato FROM (co_scadenziario INNER JOIN co_documenti ON co_scadenziario.iddocumento=co_documenti.id) INNER JOIN co_tipidocumento ON co_documenti.idtipodocumento=co_tipidocumento.id WHERE co_tipidocumento.dir=\'uscita\'', '#f4af1b', 'fa fa-warning', '', '', '', '', 'Debiti verso fornitori', 1, 1, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(17, 'Numero di vettori', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND descrizione=\"Vettore\" AND deleted=0 HAVING 2=2', '#00C0EF', 'fa fa-truck', '', 'if($(\'#th_Tipologia input\').val()!= \'Vettore\'){$(\'#th_Tipologia input\').val(\'Vettore\').trigger(\'keyup\');} else reset(\'Tipologia\');', 'javascript', '', 'Vettori', 1, 4, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(18, 'Tutte le anagrafiche', 'stats', 2, 'controller_top', 'col-md-2', 'SELECT COUNT(an_anagrafiche.idanagrafica) AS dato FROM an_anagrafiche INNER JOIN (an_tipianagrafiche_anagrafiche INNER JOIN an_tipianagrafiche ON an_tipianagrafiche_anagrafiche.idtipoanagrafica=an_tipianagrafiche.idtipoanagrafica) ON an_anagrafiche.idanagrafica=an_tipianagrafiche_anagrafiche.idanagrafica WHERE 1=1 AND deleted=0 HAVING 2=2', '#CCCCCC', 'fa fa-users', '', 'reset(\'Tipologia\');', 'javascript', '', 'Tutti', 1, 5, NULL, '2018-01-28 08:54:50', '2018-02-20 14:22:04'),
(19, 'Stampa riepilogo', 'print', 3, 'controller_right', 'col-md-12', '', '#45a9f1', 'fa fa-print', '', 'if(confirm(\'Stampare il riepilogo?\')){ window.open(\'pdfgen.php?ptype=riepilogo_interventi&id_module=$id_module$\'); }', 'javascript', '', 'Stampa riepilogo', 1, 1, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(20, 'Valore magazzino', 'stats', 21, 'controller_top', 'col-md-12', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(SUM(prezzo_acquisto*qta),2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"&euro;\") AS dato FROM mg_articoli WHERE qta>0', '#A15D2D', 'fa fa-money', '', '', '', '', 'Valore magazzino', 1, 1, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50'),
(21, 'Articoli in magazzino', 'stats', 21, 'controller_top', 'col-md-12', 'SELECT CONCAT_WS(\" \", REPLACE(REPLACE(REPLACE(FORMAT(SUM(qta),2), \",\", \"#\"), \".\", \",\"), \"#\", \".\"), \"unit&agrave;\") AS dato FROM mg_articoli WHERE qta>0', '#45A9F1', 'fa fa-check-square-o', '', '', '', '', 'Articoli in magazzino', 1, 1, NULL, '2018-01-28 08:54:50', '2018-01-28 08:54:50');

--
-- Indizes der exportierten Tabellen
--

--
-- Indizes für die Tabelle `zz_widgets`
--
ALTER TABLE `zz_widgets`
  ADD PRIMARY KEY (`id`),
  ADD KEY `id_module` (`id_module`);

--
-- AUTO_INCREMENT für exportierte Tabellen
--

--
-- AUTO_INCREMENT für Tabelle `zz_widgets`
--
ALTER TABLE `zz_widgets`
  MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=22;
--
-- Constraints der exportierten Tabellen
--

--
-- Constraints der Tabelle `zz_widgets`
--
ALTER TABLE `zz_widgets`
  ADD CONSTRAINT `zz_widgets_ibfk_1` FOREIGN KEY (`id_module`) REFERENCES `zz_modules` (`id`) ON DELETE CASCADE;
Andi-bz commented 6 years ago

Comunque i widget non funzionano neanche nella versione online. Esempi fatture vendite:

bildschirmfoto 2018-02-26 um 09 21 02 Ho cambiato solo il stato da emessa a pagato. Magari il errore avviene quando non si fa la operazione nel scadenzario o nella prima nota?