616 lines
47 KiB
SQL
616 lines
47 KiB
SQL
-- Gestione documentale
|
||
CREATE TABLE IF NOT EXISTS `zz_documenti_categorie` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`descrizione` varchar(255) NOT NULL,
|
||
`deleted_at` timestamp NULL DEFAULT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
|
||
CREATE TABLE IF NOT EXISTS `zz_documenti` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`idcategoria` int(11) NOT NULL,
|
||
`nome` varchar(255) NOT NULL,
|
||
`data` date DEFAULT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `zz_documenti_categorie` (`id`, `descrizione`) VALUES
|
||
(NULL, 'Documenti società'),
|
||
(NULL, 'Contratti assunzione personale');
|
||
|
||
-- Innesto modulo gestione documentale
|
||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Gestione documentale', 'Gestione documentale', 'gestione_documentale', '{ "main_query": [ { "type": "table", "fields": "Categoria, Nome, Data", "query": "SELECT id,(SELECT descrizione FROM zz_documenti_categorie WHERE zz_documenti_categorie.id = idcategoria) AS Categoria, zz_documenti.nome AS Nome, DATE_FORMAT( zz_documenti.`data`, ''%d/%m/%Y'' ) AS `Data` FROM zz_documenti WHERE `data` >= ''|period_start|'' AND `data` <= ''|period_end|'' HAVING 1=1"} ]}', '', 'fa fa-file-text-o', '2.4', '2.4', '1', NULL, '1', '1');
|
||
|
||
-- Innesto modulo categorie documenti
|
||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Categorie documenti', 'Categorie documenti', 'categorie_documenti', '{ "main_query": [ { "type": "table", "fields": "Descrizione", "query": "SELECT zz_documenti_categorie.`descrizione`as Descrizione, zz_documenti_categorie.`id`as id FROM zz_documenti_categorie WHERE deleted_at IS NULL HAVING 1=1"} ]}', '', 'fa fa-file-text-o', '2.4', '2.4', '1', NULL, '1', '1');
|
||
UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Categorie documenti' AND `t2`.`name` = 'Gestione documentale') SET `t1`.`parent` = `t2`.`id`;
|
||
|
||
-- Fatturazione elettronica
|
||
ALTER TABLE `an_nazioni` ADD `name` VARCHAR(255);
|
||
ALTER TABLE `co_documenti` ADD `codice_xml` VARCHAR(255);
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_regime_fiscale` (
|
||
`codice` varchar(4) NOT NULL,
|
||
`descrizione` varchar(255) NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_regime_fiscale` (`codice`, `descrizione`) VALUES
|
||
('RF01','Ordinario'),
|
||
('RF02','Contribuenti minimi (art.1, c.96-117, L. 244/07)'),
|
||
('RF04','Agricoltura e attività connesse e pesca (artt.34 e 34-bis, DPR 633/72)'),
|
||
('RF05','Vendita sali e tabacchi (art.74, c.1, DPR. 633/72)'),
|
||
('RF06','Commercio fiammiferi (art.74, c.1, DPR 633/72)'),
|
||
('RF07','Editoria (art.74, c.1, DPR 633/72)'),
|
||
('RF08','Gestione servizi telefonia pubblica (art.74, c.1, DPR 633/72)'),
|
||
('RF09','Rivendita documenti di trasporto pubblico e di sosta (art.74, c.1, DPR 633/72)'),
|
||
('RF10','Intrattenimenti, giochi e altre attività di cui alla tariffa allegata al DPR 640/72 (art.74, c.6, DPR 633/72)'),
|
||
('RF11','Agenzie viaggi e turismo (art.74-ter, DPR 633/72)'),
|
||
('RF12','Agriturismo (art.5, c.2, L. 413/91)'),
|
||
('RF13','Vendite a domicilio (art.25-bis, c.6, DPR 600/73)'),
|
||
('RF14','Rivendita beni usati, oggetti d’arte, d’antiquariato o da collezione (art.36, DL 41/95)'),
|
||
('RF15','Agenzie di vendite all’asta di oggetti d’arte, antiquariato o da collezione (art.40-bis, DL 41/95)'),
|
||
('RF16','IVA per cassa P.A. (art.6, c.5, DPR 633/72)'),
|
||
('RF17','IVA per cassa (art. 32-bis, DL 83/2012)'),
|
||
('RF18','Altro'),
|
||
('RF19','Regime forfettario (art.1, c.54-89, L. 190/2014)');
|
||
|
||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Regime Fiscale', '', 'query=SELECT codice AS id, descrizione FROM fe_regime_fiscale', 1, 'Generali', 19);
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_tipo_cassa` (
|
||
`codice` varchar(4) NOT NULL,
|
||
`descrizione` varchar(255) NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_tipo_cassa` (`codice`, `descrizione`) VALUES
|
||
('TC01','Cassa nazionale previdenza e assistenza avvocati e procuratori legali'),
|
||
('TC02','Cassa previdenza dottori commercialisti'),
|
||
('TC03','Cassa previdenza e assistenza geometri'),
|
||
('TC04','Cassa nazionale previdenza e assistenza ingegneri e architetti liberi professionisti'),
|
||
('TC05','Cassa nazionale del notariato'),
|
||
('TC06','Cassa nazionale previdenza e assistenza ragionieri e periti commerciali'),
|
||
('TC07','Ente nazionale assistenza agenti e rappresentanti di commercio (ENASARCO)'),
|
||
('TC08','Ente nazionale previdenza e assistenza consulenti del lavoro (ENPACL)'),
|
||
('TC09','Ente nazionale previdenza e assistenza medici (ENPAM)'),
|
||
('TC10','Ente nazionale previdenza e assistenza farmacisti (ENPAF)'),
|
||
('TC11','Ente nazionale previdenza e assistenza veterinari (ENPAV)'),
|
||
('TC12','Ente nazionale previdenza e assistenza impiegati dell agricoltura (ENPAIA)'),
|
||
('TC13','Fondo previdenza impiegati imprese di spedizione e agenzie marittime'),
|
||
('TC14','Istituto nazionale previdenza giornalisti italiani (INPGI)'),
|
||
('TC15','Opera nazionale assistenza orfani sanitari italiani (ONAOSI)'),
|
||
('TC16','Cassa autonoma assistenza integrativa giornalisti italiani (CASAGIT)'),
|
||
('TC17','Ente previdenza periti industriali e periti industriali laureati (EPPI)'),
|
||
('TC18','Ente previdenza e assistenza pluricategoriale (EPAP)'),
|
||
('TC19','Ente nazionale previdenza e assistenza biologi (ENPAB)'),
|
||
('TC20','Ente nazionale previdenza e assistenza professione infermieristica (ENPAPI)'),
|
||
('TC21','Ente nazionale previdenza e assistenza psicologi (ENPAP)'),
|
||
('TC22','INPS');
|
||
|
||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Tipo Cassa', '', 'query=SELECT codice AS id, descrizione FROM fe_tipo_cassa', 1, 'Fatturazione', 0);
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_modalita_pagamento` (
|
||
`codice` varchar(4) NOT NULL,
|
||
`descrizione` varchar(255) NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_modalita_pagamento` (`codice`, `descrizione`) VALUES
|
||
('MP01','Contanti'),
|
||
('MP02','Assegno'),
|
||
('MP03','Assegno circolare'),
|
||
('MP04','Contanti presso Tesoreria'),
|
||
('MP05','Bonifico'),
|
||
('MP06','Vaglia cambiario'),
|
||
('MP07','Bollettino bancario'),
|
||
('MP08','Carta di pagamento'),
|
||
('MP09','RID'),
|
||
('MP10','RID utenze'),
|
||
('MP11','RID veloce'),
|
||
('MP12','RIBA'),
|
||
('MP13','MAV'),
|
||
('MP14','Quietanza erario'),
|
||
('MP15','Giroconto su conti di contabilità speciale'),
|
||
('MP16','Domiciliazione bancaria'),
|
||
('MP17','Domiciliazione postale'),
|
||
('MP18','Bollettino di c/c postale'),
|
||
('MP19','SEPA Direct Debit'),
|
||
('MP20','SEPA Direct Debit CORE'),
|
||
('MP21','SEPA Direct Debit B2B'),
|
||
('MP22','Trattenuta su somme già riscosse');
|
||
|
||
ALTER TABLE `co_pagamenti` ADD `codice_modalita_pagamento_fe` varchar(4);
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP01' WHERE `descrizione` IN ('Rimessa diretta', 'Rimessa diretta a 30gg', 'Rimessa diretta 30gg fisso al 15', 'Contanti');
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP02' WHERE `descrizione` IN ('Assegno');
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP05' WHERE `descrizione` IN ('Bonifico 30gg d.f.', 'Bonifico 60gg d.f.', 'Bonifico 90gg d.f.', 'Bonifico 120gg d.f.', 'Bonifico 150gg d.f.', 'Bonifico 180gg d.f.', 'Bonifico 30/60gg d.f.', 'Bonifico 30/60gg d.f.', 'Bonifico 30/60/90gg d.f.', 'Bonifico 30/60/90gg d.f.', 'Bonifico 30/60/90gg d.f.', 'Bonifico 30/60/90/120gg d.f.', 'Bonifico 30/60/90/120gg d.f.', 'Bonifico 30/60/90/120gg d.f.', 'Bonifico 30/60/90/120gg d.f.', 'Bonifico 30/60/90/120/150gg d.f.', 'Bonifico 30/60/90/120/150gg d.f.', 'Bonifico 30/60/90/120/150gg d.f.', 'Bonifico 30/60/90/120/150gg d.f.', 'Bonifico 30/60/90/120/150gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30/60/90/120/150/180gg d.f.', 'Bonifico 30gg d.f.f.m.', 'Bonifico 60gg d.f.f.m.', 'Bonifico 90gg d.f.f.m.', 'Bonifico 120gg d.f.f.m.', 'Bonifico 150gg d.f.f.m.', 'Bonifico 180gg d.f.f.m.', 'Bonifico 30/60gg d.f.f.m.', 'Bonifico 30/60gg d.f.f.m.', 'Bonifico 30/60/90gg d.f.f.m.', 'Bonifico 30/60/90gg d.f.f.m.', 'Bonifico 30/60/90gg d.f.f.m.', 'Bonifico 30/60/90/120gg d.f.f.m.', 'Bonifico 30/60/90/120gg d.f.f.m.', 'Bonifico 30/60/90/120gg d.f.f.m.', 'Bonifico 30/60/90/120gg d.f.f.m.', 'Bonifico 30/60/90/120/150gg d.f.f.m.', 'Bonifico 30/60/90/120/150gg d.f.f.m.', 'Bonifico 30/60/90/120/150gg d.f.f.m.', 'Bonifico 30/60/90/120/150gg d.f.f.m.', 'Bonifico 30/60/90/120/150gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico 30/60/90/120/150/180gg d.f.f.m.', 'Bonifico bancario');
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP06' WHERE `descrizione` IN ('Cambiale');
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP08' WHERE `descrizione` IN ('Bancomat', 'Visa');
|
||
UPDATE `co_pagamenti` SET `codice_modalita_pagamento_fe` = 'MP12' WHERE `descrizione` IN ('Ri.Ba. 30gg d.f.', 'Ri.Ba. 60gg d.f.', 'Ri.Ba. 90gg d.f.', 'Ri.Ba. 120gg d.f.', 'Ri.Ba. 150gg d.f.', 'Ri.Ba. 180gg d.f.', 'Ri.Ba. 30/60gg d.f.', 'Ri.Ba. 30/60gg d.f.', 'Ri.Ba. 30/60/90gg d.f.', 'Ri.Ba. 30/60/90gg d.f.', 'Ri.Ba. 30/60/90gg d.f.', 'Ri.Ba. 30/60/90/120gg d.f.', 'Ri.Ba. 30/60/90/120gg d.f.', 'Ri.Ba. 30/60/90/120gg d.f.', 'Ri.Ba. 30/60/90/120gg d.f.', 'Ri.Ba. 30/60/90/120/150gg d.f.', 'Ri.Ba. 30/60/90/120/150gg d.f.', 'Ri.Ba. 30/60/90/120/150gg d.f.', 'Ri.Ba. 30/60/90/120/150gg d.f.', 'Ri.Ba. 30/60/90/120/150gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.', 'Ri.Ba. 30gg d.f.f.m.', 'Ri.Ba. 60gg d.f.f.m.', 'Ri.Ba. 90gg d.f.f.m.', 'Ri.Ba. 120gg d.f.f.m.', 'Ri.Ba. 150gg d.f.f.m.', 'Ri.Ba. 180gg d.f.f.m.', 'Ri.Ba. 30/60gg d.f.f.m.', 'Ri.Ba. 30/60gg d.f.f.m.', 'Ri.Ba. 30/60/90gg d.f.f.m.', 'Ri.Ba. 30/60/90gg d.f.f.m.', 'Ri.Ba. 30/60/90gg d.f.f.m.', 'Ri.Ba. 30/60/90/120gg d.f.f.m.', 'Ri.Ba. 30/60/90/120gg d.f.f.m.', 'Ri.Ba. 30/60/90/120gg d.f.f.m.', 'Ri.Ba. 30/60/90/120gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.', 'Ri.Ba. 30/60/90/120/150/180gg d.f.f.m.');
|
||
ALTER TABLE `co_pagamenti` ADD FOREIGN KEY (`codice_modalita_pagamento_fe`) REFERENCES `fe_modalita_pagamento`(`codice`) ON DELETE CASCADE;
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_tipi_documento` (
|
||
`codice` varchar(4) NOT NULL,
|
||
`descrizione` varchar(255) NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_tipi_documento` (`codice`, `descrizione`) VALUES
|
||
('TD01','Fattura'),
|
||
('TD02','Acconto/anticipo su fattura'),
|
||
('TD03','Acconto/anticipo su parcella'),
|
||
('TD04','Nota di credito'),
|
||
('TD05','Nota di debito'),
|
||
('TD06','Parcella');
|
||
|
||
ALTER TABLE `co_tipidocumento` ADD `codice_tipo_documento_fe` varchar(4) NOT NULL;
|
||
UPDATE `co_tipidocumento` SET `codice_tipo_documento_fe` = 'TD01' WHERE `descrizione` IN ('Fattura immediata di acquisto', 'Fattura immediata di vendita', 'Fattura differita di acquisto', 'Fattura differita di vendita', 'Fattura accompagnatoria di acquisto', 'Fattura accompagnatoria di vendita');
|
||
UPDATE `co_tipidocumento` SET `codice_tipo_documento_fe` = 'TD04', `descrizione` = 'Nota di credito' WHERE `descrizione` = 'Nota di accredito';
|
||
UPDATE `co_tipidocumento` SET `codice_tipo_documento_fe` = 'TD05', `descrizione` = 'Nota di debito' WHERE `descrizione` = 'Nota di addebito';
|
||
ALTER TABLE `co_tipidocumento` ADD FOREIGN KEY (`codice_tipo_documento_fe`) REFERENCES `fe_tipi_documento`(`codice`) ON DELETE CASCADE;
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_natura` (
|
||
`codice` varchar(2) NOT NULL,
|
||
`descrizione` text NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_natura` (`codice`, `descrizione`) VALUES
|
||
('N1','Escluse ex art. 15'),
|
||
('N2','Non soggette'),
|
||
('N3','Non imponibili'),
|
||
('N4','Esenti'),
|
||
('N5','Regime del margine / IVA non esposta in fattura'),
|
||
('N6','Inversione contabile (per le operazioni in reverse charge ovvero nei casi di autofatturazione per acquisti extra UE di servizi ovvero per importazioni di beni nei soli casi previsti)'),
|
||
('N7','IVA assolta in altro stato UE (vendite a distanza ex art. 40 c. 3 e 4 e art. 41 c. 1 lett. b, DL 331/93; prestazione di servizi di telecomunicazioni, tele-radiodiffusione ed elettronici ex art. 7-sexies lett. f, g, art. 74-sexies DPR 633/72)');
|
||
|
||
ALTER TABLE `co_iva` ADD `codice_natura_fe` varchar(4), ADD `deleted_at` timestamp NULL DEFAULT NULL, ADD `codice` int(11), ADD `default` boolean NOT NULL DEFAULT 0, ADD FOREIGN KEY (`codice_natura_fe`) REFERENCES `fe_natura`(`codice`) ON DELETE CASCADE;
|
||
UPDATE `co_iva` SET `deleted_at` = NOW();
|
||
|
||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_iva` WHERE 1=1 AND deleted_at IS NULL HAVING 2=2' WHERE `name` = 'IVA';
|
||
|
||
INSERT INTO `co_iva` (`descrizione`, `percentuale`, `indetraibile`, `esente`, `codice_natura_fe`, `codice`, `default`) VALUES
|
||
("Fuori campo IVA", 0, 0, 1, "N2", 300, 1),
|
||
("Es.art27DL98/11", 0, 0, 1, "N2", 301, 1),
|
||
("Escluso art. 2", 0, 0, 1, "N2", 302, 1),
|
||
("Escluso art. 3", 0, 0, 1, "N2", 303, 1),
|
||
("Escluso art. 4", 0, 0, 1, "N2", 304, 1),
|
||
("Escluso art. 5", 0, 0, 1, "N2", 305, 1),
|
||
("Esc.art7tr noUE", 0, 0, 1, "N2", 306, 1),
|
||
("Escl.art7ter UE", 0, 0, 1, "N6", 307, 1),
|
||
("Es. art.10 n.18", 0, 0, 1, "N4", 308, 1),
|
||
("Es.art.10 n.1/9", 0, 0, 1, "N4", 309, 1),
|
||
("Esente art. 10", 0, 0, 1, "N4", 310, 1),
|
||
("Art8,1/a triang", 0, 0, 1, "N3", 311, 1),
|
||
("N.I.art.8,2 ITA", 0, 0, 1, "N3", 312, 1),
|
||
("N.I.art.8,2 UE", 0, 0, 1, "N3", 313, 1),
|
||
("N.I. art. 9 c.1", 0, 0, 1, "N3", 314, 1),
|
||
("Escluso art. 15", 0, 0, 1, "N1", 315, 1),
|
||
("Art.17,6 let.a-", 0, 0, 1, "N6", 316, 1),
|
||
("N.I. art.74 ter", 0, 0, 1, "N5", 317, 1),
|
||
("N.I.art.14 L.49", 0, 0, 1, "N3", 318, 1),
|
||
("Es.art.10 n.27q", 0, 0, 1, "N4", 319, 1),
|
||
("N.I.a.8,2 no-UE", 0, 0, 1, "N3", 320, 1),
|
||
("Es. art.10 n.11", 0, 0, 1, "N4", 321, 1),
|
||
("N.I. art. 8 bis", 0, 0, 1, "N3", 322, 1),
|
||
("N.I. art.8,1 b", 0, 0, 1, "N3", 323, 1),
|
||
("N.I. art.8,1 c", 0, 0, 1, "N3", 324, 1),
|
||
("N.I. art.8,1 a", 0, 0, 1, "N3", 325, 1),
|
||
("N.V.escl.art.26", 0, 0, 1, "N2", 326, 1),
|
||
("N.I. altri acq.", 0, 0, 1, "N3", 327, 1),
|
||
("Op. non sog.ter", 0, 0, 1, "N2", 328, 1),
|
||
("N.I. art. 9 c.2", 0, 0, 1, "N3", 329, 1),
|
||
("Esc.art7quatrUE", 0, 0, 1, "N6", 330, 1),
|
||
("Esc.art7qtrNOUE", 0, 0, 1, "N2", 331, 1),
|
||
("Esc.art7quinqUE", 0, 0, 1, "N6", 332, 1),
|
||
("Esc.art7qnqNOUE", 0, 0, 1, "N2", 333, 1),
|
||
("Art.36-bis", 0, 0, 1, "N2", 334, 1),
|
||
("Art.17 comma 3", 0, 0, 1, "N2", 335, 1),
|
||
("DL41/95 art.36", 0, 0, 1, "N5", 336, 1),
|
||
("Es.art.19c3abis", 0, 0, 1, "N4", 337, 1),
|
||
("N.I. art.38 q.", 0, 0, 1, "N3", 338, 1),
|
||
("Escl.art.7nodet", 0, 0, 1, "N2", 339, 1),
|
||
("Esc.art.7spt/sx", 0, 0, 1, "N2", 340, 1),
|
||
("DL331/93 art.41", 0, 0, 1, "N3", 341, 1),
|
||
("DL331art42,40c2", 0, 0, 1, "N3", 342, 1),
|
||
("N.I.art.8,1 b2", 0, 0, 1, "N3", 343, 1),
|
||
("Escl.art.7bisUE", 0, 0, 1, "N6", 344, 1),
|
||
("DL331 a.50b,4-g", 0, 0, 1, "N3", 350, 1),
|
||
("DL331 a.50b,4-f", 0, 0, 1, "N3", 351, 1),
|
||
("Cess. dep. IVA", 0, 0, 1, "N2", 352, 1),
|
||
("N.I.Acq.dep.IVA", 0, 0, 1, "N2", 353, 1),
|
||
("Es.art1 L190/14", 0, 0, 1, "N2", 354, 1),
|
||
("Ces.gratuiteExp", 0, 0, 1, "N3", 355, 1),
|
||
("DL331/93 a.58,1", 0, 0, 1, "N3", 358, 1),
|
||
("Esc.legge67/88", 0, 0, 1, "N2", 367, 1),
|
||
("Imp.n.s. art.68", 0, 0, 1, "N3", 368, 1),
|
||
("Art.74 ter c. 8", 0, 0, 1, "N6", 369, 1),
|
||
("Escl.art.7bis", 0, 0, 1, "N2", 370, 1),
|
||
("N.I.art.71 V-SM", 0, 0, 1, "N3", 371, 1),
|
||
("N.I. art. 72", 0, 0, 1, "N3", 372, 1),
|
||
("N.I.art.74c.1-2", 0, 0, 1, "N2", 374, 1),
|
||
("Art. 74 c. 7-8", 0, 0, 1, "N6", 375, 1),
|
||
("Art. 17 c. 5", 0, 0, 1, "N6", 376, 1),
|
||
("Art.17,6 lett.a", 0, 0, 1, "N6", 377, 1),
|
||
("Art.74 ter c. 8", 0, 0, 1, "N3", 378, 1),
|
||
("Art.17,6 lett.b", 0, 0, 1, "N6", 379, 1),
|
||
("Art.17,6 lett.c", 0, 0, 1, "N6", 380, 1),
|
||
("Art.17,6 let.a3", 0, 0, 1, "N6", 381, 1),
|
||
("Art.17,6,lett.d", 0, 0, 1, "N6", 382, 1),
|
||
("Aliq. Iva 2%", 2, 0, 0, NULL, 2, 1),
|
||
("Aliq. Iva 4%", 4, 0, 0, NULL, 4, 1),
|
||
("Aliq. Iva 5%", 5, 0, 0, NULL, 5, 1),
|
||
("Aliq. Iva 7%", 7, 0, 0, NULL, 7, 1),
|
||
("Aliq. Iva 8%", 8, 0, 0, NULL, 8, 1),
|
||
("Aliq. Iva 10%", 10, 0, 0, NULL, 10, 1),
|
||
("Aliq. Iva 12,3%", 12.3, 0, 0, NULL, 13, 1),
|
||
("Aliq. Iva 20%", 20, 0, 0, NULL, 20, 1),
|
||
("Aliq. Iva 21%", 21, 0, 0, NULL, 21, 1),
|
||
("Aliq. Iva 22%", 22, 0, 0, NULL, 22, 1),
|
||
("Aliq. Iva 7,3%", 7.3, 0, 0, NULL, 73, 1),
|
||
("Aliq. Iva 7,5%", 7.5, 0, 0, NULL, 75, 1),
|
||
("Aliq. Iva 7,65%", 7.65, 0, 0, NULL, 76, 1),
|
||
("Aliq. Iva 7,7%", 7.7, 0, 0, NULL, 77, 1),
|
||
("Aliq. Iva 7,95%", 7.95, 0, 0, NULL, 79, 1),
|
||
("Aliq. Iva 8,3%", 8.3, 0, 0, NULL, 83, 1),
|
||
("Aliq. Iva 8,5%", 8.5, 0, 0, NULL, 85, 1),
|
||
("Aliq. Iva 8,8%", 8.8, 0, 0, NULL, 88, 1),
|
||
("Scorporo 2%", 2, 0, 0, NULL, 102, 1),
|
||
("Scorporo 4%", 4, 0, 0, NULL, 104, 1),
|
||
("Scorporo 5%", 5, 0, 0, NULL, 105, 1),
|
||
("Scorporo 7%", 7, 0, 0, NULL, 107, 1),
|
||
("Scorporo 8%", 8, 0, 0, NULL, 108, 1),
|
||
("Scorporo 10%", 10, 0, 0, NULL, 110, 1),
|
||
("Scorporo 12,3%", 12.3, 0, 0, NULL, 113, 1),
|
||
("Scorporo 20%", 20, 0, 0, NULL, 120, 1),
|
||
("Scorporo 21%", 21, 0, 0, NULL, 121, 1),
|
||
("Scorporo 22%", 22, 0, 0, NULL, 122, 1),
|
||
("Scorporo 7,3%", 7.3, 0, 0, NULL, 173, 1),
|
||
("Scorporo 7,5%", 7.5, 0, 0, NULL, 175, 1),
|
||
("Scorporo 7,65%", 7.65, 0, 0, NULL, 176, 1),
|
||
("Scorporo 7,7%", 7.7, 0, 0, NULL, 177, 1),
|
||
("Scorporo 7,95%", 7.95, 0, 0, NULL, 179, 1),
|
||
("Scorporo 8,3%", 8.3, 0, 0, NULL, 183, 1),
|
||
("Scorporo 8,5%", 8.5, 0, 0, NULL, 185, 1),
|
||
("Scorporo 8,8%", 8.8, 0, 0, NULL, 188, 1),
|
||
("Corr. Ventilati", 0, 0, 0, NULL, 200, 1),
|
||
("Iva Vent. 2%", 2, 0, 0, NULL, 202, 1),
|
||
("Iva Vent. 4%", 4, 0, 0, NULL, 204, 1),
|
||
("Iva Vent. 5%", 5, 0, 0, NULL, 205, 1),
|
||
("Iva Vent. 7%", 7, 0, 0, NULL, 207, 1),
|
||
("Iva Vent. 8%", 8, 0, 0, NULL, 208, 1),
|
||
("Iva Vent. 10%", 10, 0, 0, NULL, 210, 1),
|
||
("Iva Vent. 12,3%", 12.3, 0, 0, NULL, 213, 1),
|
||
("Iva Vent. 20%", 20, 0, 0, NULL, 220, 1),
|
||
("Iva Vent. 21%", 21, 0, 0, NULL, 221, 1),
|
||
("Iva Vent. 22%", 22, 0, 0, NULL, 222, 1),
|
||
("Iva Vent. 7,3%", 7.3, 0, 0, NULL, 273, 1),
|
||
("Iva Vent. 7,5%", 7.5, 0, 0, NULL, 275, 1),
|
||
("Iva Vent. 7,65%", 7.65, 0, 0, NULL, 276, 1),
|
||
("Iva Vent. 7,7%", 7.7, 0, 0, NULL, 277, 1),
|
||
("Iva Vent. 7,95%", 7.95, 0, 0, NULL, 279, 1),
|
||
("Iva Vent. 8,3%", 8.3, 0, 0, NULL, 283, 1),
|
||
("Iva Vent. 8,5%", 8.5, 0, 0, NULL, 285, 1),
|
||
("Iva Vent. 8,8%", 8.8, 0, 0, NULL, 288, 1),
|
||
("Iva Tot. Indetr 2%", 2, 100, 0, NULL, 602, 1),
|
||
("Iva Tot. Indetr 4%", 4, 100, 0, NULL, 604, 1),
|
||
("Iva Tot. Indetr 5%", 5, 100, 0, NULL, 605, 1),
|
||
("Iva Tot. Indetr 7%", 7, 100, 0, NULL, 607, 1),
|
||
("Iva Tot. Indetr 8%", 8, 100, 0, NULL, 608, 1),
|
||
("Iva Tot. Indetr 10%", 10, 100, 0, NULL, 610, 1),
|
||
("Iva Tot. Indetr 12,3%", 12.3, 100, 0, NULL, 613, 1),
|
||
("Iva Tot. Indetr 20%", 20, 100, 0, NULL, 620, 1),
|
||
("Iva Tot. Indetr 21%", 21, 100, 0, NULL, 621, 1),
|
||
("Iva Tot. Indetr 22%", 22, 100, 0, NULL, 622, 1),
|
||
("Iva Tot. Indetr 7,3%", 7.3, 100, 0, NULL, 673, 1),
|
||
("Iva Tot. Indetr 7,5%", 7.5, 100, 0, NULL, 675, 1),
|
||
("Iva Tot. Indetr 7,65%", 7.65, 100, 0, NULL, 676, 1),
|
||
("Iva Tot. Indetr 7,7%", 7.7, 100, 0, NULL, 677, 1),
|
||
("Iva Tot. Indetr 7,95%", 7.95, 100, 0, NULL, 679, 1),
|
||
("Iva Tot. Indetr 8,3%", 8.3, 100, 0, NULL, 683, 1),
|
||
("Iva Tot. Indetr 8,5%", 8.5, 100, 0, NULL, 685, 1),
|
||
("Iva Tot. Indetr 8,8%", 8.8, 100, 0, NULL, 688, 1),
|
||
("Iva Agric. 2%", 2, 0, 0, NULL, 802, 1),
|
||
("Iva Agric. 4%", 4, 0, 0, NULL, 804, 1),
|
||
("Iva Agric. 5%", 5, 0, 0, NULL, 805, 1),
|
||
("Iva Agric. 7%", 7, 0, 0, NULL, 807, 1),
|
||
("Iva Agric. 8%", 8, 0, 0, NULL, 808, 1),
|
||
("Iva Agric. 10%", 10, 0, 0, NULL, 810, 1),
|
||
("Iva Agric. 12,3", 12.3, 0, 0, NULL, 813, 1),
|
||
("Iva Agric. 20%", 20, 0, 0, NULL, 820, 1),
|
||
("Iva Agric. 21%", 21, 0, 0, NULL, 821, 1),
|
||
("Iva Agric. 22%", 22, 0, 0, NULL, 822, 1),
|
||
("Iva Agric. 7,3%", 7.3, 0, 0, NULL, 873, 1),
|
||
("Iva Agric. 7,5%", 7.5, 0, 0, NULL, 875, 1),
|
||
("Iva Agric. 7,65", 7.65, 0, 0, NULL, 876, 1),
|
||
("Iva Agric. 7,7%", 7.7, 0, 0, NULL, 877, 1),
|
||
("Iva Agric. 7,95", 7.95, 0, 0, NULL, 879, 1),
|
||
("Iva Agric. 8,3%", 8.3, 0, 0, NULL, 883, 1),
|
||
("Iva Agric. 8,5%", 8.5, 0, 0, NULL, 885, 1),
|
||
("Iva Agric. 8,8%", 8.8, 0, 0, NULL, 888, 1);
|
||
|
||
CREATE TABLE IF NOT EXISTS `fe_causali_pagamento_ritenuta` (
|
||
`codice` varchar(4) NOT NULL,
|
||
`descrizione` varchar(1000) NOT NULL,
|
||
PRIMARY KEY (`codice`)
|
||
) ENGINE=InnoDB;
|
||
|
||
INSERT INTO `fe_causali_pagamento_ritenuta` (`codice`, `descrizione`) VALUES
|
||
('A', 'Prestazioni di lavoro autonomo rientranti nell''esercizio di arte o professione abituale'),
|
||
('B', 'Utilizzazione economica, da parte dell''autore o dell''inventore, di opere dell''ingegno, di brevetti industriali e di processi, formule o informazioni relativi a esperienze acquisite in campo industriale, commerciale o scientifico'),
|
||
('C', 'Utili derivanti da contratti di associazione in partecipazione e da contratti di cointeressenza, quando l''apporto è costituito esclusivamente dalla prestazione di lavoro'),
|
||
('D', 'Utili spettanti ai soci promotori e ai soci fondatori delle società di capitali'),
|
||
('E', 'Levata di protesti cambiari da parte dei segretari comunali'),
|
||
('G', 'Indennità corrisposte per la cessazione di attività sportiva professionale'),
|
||
('H', 'Indennità corrisposte per la cessazione dei rapporti di agenzia delle persone fisiche e delle società di persone, con esclusione delle somme maturate entro il 31.12.2003, già imputate per competenza e tassate come reddito d''impresa'),
|
||
('I', 'Indennità corrisposte per la cessazione da funzioni notarili'),
|
||
('L', 'Utilizzazione economica, da parte di soggetto diverso dall''autore o dall''inventore, di opere dell''ingegno, di brevetti industriali e di processi, formule e informazioni relative a esperienze acquisite in campo industriale, commerciale o scientifico'),
|
||
('M', 'Prestazioni di lavoro autonomo non esercitate abitualmente, obblighi di fare, di non fare o permettere'),
|
||
('N', 'Indennità di trasferta, rimborso forfetario di spese, premi e compensi erogati nell''esercizio diretto di attività sportive dilettantistiche e in relazione a rapporti di collaborazione coordinata e continuativa di carattere amministrativo-gestionale, di natura non profe
|
||
ssionale, resi a favore di società e associazioni sportive dilettantistiche e di cori, bande e filodrammatiche da parte del diretto
|
||
re e dei collaboratori tecnici'),
|
||
('O', 'Prestazioni di lavoro autonomo non esercitate abitualmente, obblighi di fare, di non fare o permettere, per le quali non sussiste l''obbligo di iscrizione alla gestione separata (Circ. Inps 104/2001)'),
|
||
('P', 'Compensi corrisposti a soggetti non residenti privi di stabile organizzazione per l''uso o la concessione in uso di attrezzature industriali, commerciali o scientifiche che si trovano nel territorio dello Stato ovvero a società svizzere o stabili organizzazioni di soci
|
||
età svizzere che possiedono i requisiti di cui all''art. 15, c. 2 dell’Accordo tra la Comunità Europea e la Confederazione svizzera del 26.10
|
||
.2004 (pubblicato in G.U.C.E. 29.12.2004, n. 385/30)'),
|
||
('Q', 'Provvigioni corrisposte ad agente o rappresentante di commercio monomandatario'),
|
||
('R', 'Provvigioni corrisposte ad agente o rappresentante di commercio plurimandatario'),
|
||
('S', 'Provvigioni corrisposte a commissionario'),
|
||
('T', 'Provvigioni corrisposte a mediatore'),
|
||
('U', 'Provvigioni corrisposte a procacciatore di affari'),
|
||
('V', 'Provvigioni corrisposte a incaricato per le vendite a domicilio e provvigioni corrisposte a incaricato per la vendita porta a porta e per la vendita ambulante di giornali quotidiani e periodici (L. 25.02.1987, n. 67)'),
|
||
('W', 'Corrispettivi erogati nel 2013 per prestazioni relative a contratti d''appalto cui si sono resi applicabili le disposizioni contenute nell''art. 25-ter D.P.R. 600/1973'),
|
||
('X', 'Canoni corrisposti nel 2004 da società o enti residenti, ovvero da stabili organizzazioni di società estere di cui all''art. 26-quater, c. 1, lett. a) e b) D.P.R. 600/1973, a società o stabili organizzazioni di società, situate in altro Stato membro dell''Unione Europea in presenza dei relativi requisiti richiesti, per i quali è stato effettuato nel 2006 il rimborso della ritenuta ai sensi dell''art. 4 D. Lgs. 143/2005'),
|
||
('Y', 'Canoni corrisposti dal 1.01.2005 al 26.07.2005 da soggetti di cui al punto precedente'),
|
||
('Z', 'Titolo diverso dai precedenti');
|
||
|
||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Causale ritenuta d''acconto', '', 'query=SELECT codice AS id, descrizione FROM fe_causali_pagamento_ritenuta', 1, 'Fatturazione', 0);
|
||
|
||
INSERT INTO `zz_settings` (`idimpostazione`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Authorization ID Indice PA', '', 'string', 1, 'Generali', 0);
|
||
|
||
ALTER TABLE `an_anagrafiche` ADD `codice_destinatario` varchar(7);
|
||
|
||
-- Plugin Fatturazione Elettronica
|
||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `directory`, `options`) VALUES
|
||
(NULL, 'Fatturazione Elettronica', 'Fatturazione Elettronica', (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), 'tab', 'exportPA', 'custom'),
|
||
(NULL, 'Fatturazione Elettronica', 'Fatturazione Elettronica', (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di vendita'), (SELECT `id` FROM `zz_modules` WHERE `name`='Fatture di acquisto'), 'tab_main', 'importPA', 'custom');
|
||
|
||
--INSERT INTO `zz_emails` (`id`, `id_module`, `id_smtp`, `name`, `icon`, `subject`, `reply_to`, `cc`, `bcc`, `body`, `read_notify`, `main`) VALUES (NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 1, 'Fattura Elettronica', 'fa fa-file', 'Invio fattura numero {numero} del {data}', '', 'sdi01@pec.fatturapa.it', '', '<p>Gentile Cliente,</p>\r\n<p>inviamo in allegato la fattura numero {numero} del {data}.</p>\r\n<p> </p>\r\n<p>Distinti saluti</p>\r\n', '0', '0');
|
||
--INSERT INTO `zz_email_print` (`id`, `id_email`, `id_print`) VALUES (NULL, (SELECT `id` FROM `zz_emails` WHERE `name` = 'Fattura Elettronica' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita')), (SELECT `id` FROM `zz_prints` WHERE `name` = 'Fattura di vendita'));
|
||
UPDATE `zz_emails` SET `main` = 1 WHERE `name` = 'Fattura' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita');
|
||
|
||
-- Aggiornamento zz_settings
|
||
ALTER TABLE `zz_settings` CHANGE `idimpostazione` `id` int(11) NOT NULL AUTO_INCREMENT;
|
||
UPDATE `zz_views` SET `query` = REPLACE(`query`, 'idimpostazione', 'id');
|
||
|
||
-- Aggiunta conti in Articoli
|
||
ALTER TABLE `mg_articoli` ADD `idconto_vendita` int(11), ADD `idconto_acquisto` int(11);
|
||
|
||
-- Aggiunta log per invio email
|
||
CREATE TABLE IF NOT EXISTS `zz_operations` (
|
||
`id_module` int(11),
|
||
`id_plugin` int(11),
|
||
`id_email` int(11),
|
||
`id_record` int(11),
|
||
`id_utente` int(11) NOT NULL,
|
||
`op` varchar(255) NOT NULL,
|
||
`options` text,
|
||
FOREIGN KEY (`id_module`) REFERENCES `zz_modules`(`id`) ON DELETE CASCADE,
|
||
FOREIGN KEY (`id_plugin`) REFERENCES `zz_plugins`(`id`) ON DELETE CASCADE,
|
||
FOREIGN KEY (`id_email`) REFERENCES `zz_emails`(`id`) ON DELETE CASCADE,
|
||
FOREIGN KEY (`id_utente`) REFERENCES `zz_users`(`id`) ON DELETE CASCADE
|
||
) ENGINE=InnoDB;
|
||
|
||
ALTER TABLE `zz_smtp` RENAME `zz_smtps`;
|
||
|
||
-- Aggiorno tabella zz_smtp in zz_smtps per il modulo Account email
|
||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM zz_smtps WHERE 1=1 AND deleted_at IS NULL HAVING 2=2 ORDER BY `name`' WHERE `zz_modules`.`name` = 'Account email';
|
||
|
||
-- Ridenominazione enabled in visible su zz_views
|
||
ALTER TABLE `zz_views` CHANGE `enabled` `visible` BOOLEAN NOT NULL DEFAULT 1;
|
||
|
||
-- Rimozione permessi negati (comportamento di default)
|
||
DELETE FROM `zz_permissions` WHERE `permessi` = '-';
|
||
|
||
-- Ridenominazione plugin "Pianificazione interventi"
|
||
UPDATE `zz_plugins` SET `title` = 'Pianificazione attività' WHERE `name` = 'Pianificazione interventi';
|
||
|
||
-- Fix plugin "Pianificazione interventi"
|
||
UPDATE `zz_plugins` SET `options` = 'custom', `script` = '', `directory` = 'pianificazione_interventi' WHERE `name` = 'Pianificazione interventi';
|
||
|
||
-- Ridenominazione tabelle per i promemoria
|
||
ALTER TABLE `co_contratti_promemoria` RENAME `co_promemoria`;
|
||
ALTER TABLE `co_righe_contratti_materiali` RENAME `co_promemoria_righe`;
|
||
ALTER TABLE `co_righe_contratti_articoli` RENAME `co_promemoria_articoli`;
|
||
ALTER TABLE `co_promemoria_righe` CHANGE `id_riga_contratto` `id_promemoria` int(11) NOT NULL;
|
||
ALTER TABLE `co_promemoria_articoli` CHANGE `id_riga_contratto` `id_promemoria` int(11) NOT NULL;
|
||
UPDATE `zz_widgets` SET `query` = REPLACE(`query`, 'co_contratti_promemoria', 'co_promemoria');
|
||
|
||
-- Fix nome in zz_files
|
||
ALTER TABLE `zz_files` CHANGE `nome` `name` varchar(255) NOT NULL;
|
||
UPDATE `zz_files` SET `id_module` = NULL WHERE `id_plugin` IS NOT NULL;
|
||
|
||
-- Adeguamento variabili di filtraggio
|
||
UPDATE `zz_modules` SET `options` = REPLACE(`options`, '|idanagrafica|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idanagrafica|', '|id_anagrafica|');
|
||
UPDATE `zz_plugins` SET `options` = REPLACE(`options`, '|idanagrafica|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idanagrafica|', '|id_anagrafica|');
|
||
UPDATE `zz_widgets` SET `query` = REPLACE(`query`, '|idanagrafica|', '|id_anagrafica|');
|
||
UPDATE `zz_group_module` SET `clause` = REPLACE(`clause`, '|idanagrafica|', '|id_anagrafica|');
|
||
|
||
UPDATE `zz_modules` SET `options` = REPLACE(`options`, '|idtecnico|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idtecnico|', '|id_anagrafica|');
|
||
UPDATE `zz_plugins` SET `options` = REPLACE(`options`, '|idtecnico|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idtecnico|', '|id_anagrafica|');
|
||
UPDATE `zz_widgets` SET `query` = REPLACE(`query`, '|idtecnico|', '|id_anagrafica|');
|
||
UPDATE `zz_group_module` SET `clause` = REPLACE(`clause`, '|idtecnico|', '|id_anagrafica|');
|
||
|
||
UPDATE `zz_modules` SET `options` = REPLACE(`options`, '|idagente|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idagente|', '|id_anagrafica|');
|
||
UPDATE `zz_plugins` SET `options` = REPLACE(`options`, '|idagente|', '|id_anagrafica|'), `options2` = REPLACE(`options2`, '|idagente|', '|id_anagrafica|');
|
||
UPDATE `zz_widgets` SET `query` = REPLACE(`query`, '|idagente|', '|id_anagrafica|');
|
||
UPDATE `zz_group_module` SET `clause` = REPLACE(`clause`, '|idagente|', '|id_anagrafica|');
|
||
|
||
-- Adeguamento variabili di filtraggio per i plugin Sedi e Referenti in Anagrafiche
|
||
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nome, Indirizzo, Città, CAP, Provincia, Referente", "query": "SELECT an_sedi.id, an_sedi.nomesede AS Nome, an_sedi.indirizzo AS Indirizzo, an_sedi.citta AS Città, an_sedi.cap AS CAP, an_sedi.provincia AS Provincia, an_referenti.nome AS Referente FROM an_sedi LEFT OUTER JOIN an_referenti ON idsede = an_sedi.id WHERE 1=1 AND an_sedi.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_sedi.id DESC"} ]}', `directory` = 'sedi', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Sedi';
|
||
UPDATE `zz_plugins` SET `script` = '', `options` = ' { "main_query": [ { "type": "table", "fields": "Nominativo, Mansione, Telefono, Indirizzo email, Sede", "query": "SELECT an_referenti.id, an_referenti.nome AS Nominativo, mansione AS Mansione, an_referenti.telefono AS Telefono, an_referenti.email AS ''Indirizzo email'', IF(idsede = 0, ''Sede legale'', an_sedi.nomesede) AS Sede FROM an_referenti LEFT OUTER JOIN an_sedi ON idsede = an_sedi.id WHERE 1=1 AND an_referenti.idanagrafica=|id_parent| HAVING 2=2 ORDER BY an_referenti.id DESC"} ]}', `directory` = 'referenti', `version` = '2.3', `compatibility` = '2.*' WHERE `name` = 'Referenti';
|
||
|
||
UPDATE `an_referenti` SET `idsede` = 0 WHERE `idsede` = -1;
|
||
|
||
-- Rimozione co_preventivi_interventi
|
||
ALTER TABLE `in_interventi` ADD `id_preventivo` int(11), ADD FOREIGN KEY (`id_preventivo`) REFERENCES `co_preventivi`(`id`) ON DELETE CASCADE, ADD `id_contratto` int(11), ADD FOREIGN KEY (`id_contratto`) REFERENCES `co_contratti`(`id`) ON DELETE CASCADE;
|
||
UPDATE `in_interventi` SET `id_preventivo` = (SELECT `idpreventivo` FROM `co_preventivi_interventi` WHERE `co_preventivi_interventi`.`idintervento` = `in_interventi`.`id` LIMIT 1);
|
||
DROP TABLE `co_preventivi_interventi`;
|
||
|
||
-- Aggiunto input CKEditor automatico
|
||
UPDATE `zz_settings` SET `tipo` = 'ckeditor' WHERE `nome` = 'Dicitura fissa fattura';
|
||
|
||
-- Miglioramento dell'impostazione "Orario lavorativo"
|
||
UPDATE `zz_settings` SET `sezione` = 'Dashboard' WHERE `nome` IN ('Vista dashboard', 'Visualizzare la domenica sul calendario', 'Utilizzare i tooltip sul calendario');
|
||
DELETE FROM `zz_settings` WHERE `nome` = 'Abilitare orario lavorativo';
|
||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES
|
||
(NULL, 'Inizio orario lavorativo', '00:00:00', 'time', 1, 'Dashboard', 1),
|
||
(NULL, 'Fine orario lavorativo', '23:59:00', 'time', 1, 'Dashboard', 2);
|
||
|
||
-- Notifiche negli stati interventi
|
||
ALTER TABLE `in_statiintervento` ADD `notifica` boolean NOT NULL DEFAULT 0, ADD `id_email` int(11), ADD `destinatari` varchar(255);
|
||
ALTER TABLE `in_statiintervento` ADD FOREIGN KEY (`id_email`) REFERENCES `zz_emails`(`id`) ON DELETE CASCADE;
|
||
|
||
-- Email di notifica
|
||
INSERT INTO `zz_emails` (`id`, `id_module`, `id_smtp`, `name`, `icon`, `subject`, `reply_to`, `cc`, `bcc`, `body`, `read_notify`, `main`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 1, 'Notifica intervento', 'fa fa-envelope', 'Notifica intervento numero {numero} del {data}', '', '', '', '<p>Gentile Tecnico,</p>\r\n<p>un nuovo intervento {numero} in {data} è stato aggiunto.</p>\r\n<p> </p>\r\n<p>Distinti saluti</p>\r\n', '0', '0'),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 1, 'Notifica rimozione intervento', 'fa fa-envelope', 'Notifica intervento numero {numero} del {data}', '', '', '', '<p>Gentile Tecnico,</p>\r\n<p>sei stato rimosso dall''intervento {numero} in {data}.</p>\r\n<p> </p>\r\n<p>Distinti saluti</p>\r\n', '0', '0'),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'), 1, 'Stato intervento', 'fa fa-envelope', 'Intervento numero {numero} del {data}: {stato}.', '', '', '', '<p>Gentile Utente,</p>\r\n<p>l''intervento {numero} in {data} è stato spostato nello stato {stato}.</p>', '0', '0');
|
||
|
||
INSERT INTO `zz_email_print` (`id`, `id_email`, `id_print`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi')), (SELECT `id` FROM `zz_prints` WHERE `name` = 'Intervento'));
|
||
|
||
UPDATE `zz_emails` SET `main` = 1 WHERE `name` = 'Rapportino intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi');
|
||
UPDATE `in_statiintervento` SET `id_email` = (SELECT `id` FROM `zz_emails` WHERE `name` = 'Stato intervento' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Interventi'));
|
||
|
||
-- Ritenuta d'acconto predefinita per anagrafica
|
||
ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_vendite` INT(11) NULL DEFAULT NULL AFTER `idiva_acquisti`;
|
||
ALTER TABLE `an_anagrafiche` ADD `id_ritenuta_acconto_acquisti` INT(11) NULL DEFAULT NULL AFTER `id_ritenuta_acconto_vendite`;
|
||
|
||
-- Correzione partite ive e codici fiscali
|
||
UPDATE `an_anagrafiche` SET `piva` = REPLACE(`piva`, ' ', ''), `codice_fiscale` = REPLACE(`codice_fiscale`, ' ', '');
|
||
|
||
-- Aggiunta impostazione
|
||
INSERT INTO `zz_settings` (`id`, `nome`, `valore`, `tipo`, `editable`, `sezione`, `order`) VALUES (NULL, 'Stampa per anteprima e firma', (SELECT id FROM zz_prints WHERE main = 1 AND id_module = (SELECT id FROM zz_modules WHERE name = 'Interventi')), 'query=SELECT id, title AS descrizione FROM zz_prints WHERE id_module = (SELECT id FROM zz_modules WHERE name = ''Interventi'') AND is_record = 1', 1, 'Interventi', 3);
|
||
|
||
-- Fix nomi campi predefined
|
||
ALTER TABLE `zz_smtps` CHANGE `main` `predefined` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `zz_prints` CHANGE `main` `predefined` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `zz_emails` CHANGE `main` `predefined` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `dt_porto` ADD `predefined` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `dt_causalet` ADD `predefined` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `dt_spedizione` ADD `predefined` boolean NOT NULL DEFAULT 0;
|
||
|
||
-- Aggiunta tabelle per la gestione dei tipi spedizione
|
||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Tipi di spedizione', 'Tipi di spedizione', 'spedizioni', 'SELECT |select| FROM `dt_spedizione` WHERE 1=1 HAVING 2=2', '', 'fa fa-angle-right', '2.4.2', '2.4.2', '1', NULL, '1', '1');
|
||
|
||
UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Tipi di spedizione' AND `t2`.`name` = 'Tabelle') SET `t1`.`parent` = `t2`.`id`;
|
||
|
||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `visible`, `default`) VALUES
|
||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tipi di spedizione'), 'Descrizione', 'descrizione', 2, 1, 0, 1, 1),
|
||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Tipi di spedizione'), 'id', 'id', 1, 1, 0, 0, 1);
|
||
|
||
-- Aggiunto flag fiscale nei sezionali
|
||
ALTER TABLE `zz_segments` ADD `is_fiscale` boolean NOT NULL DEFAULT 1;
|
||
|
||
INSERT INTO `zz_segments` (`id_module`, `name`, `clause`, `position`, `pattern`,`note`, `predefined`, `is_fiscale`) VALUES
|
||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'Fatture pro-forma', '1=1', 'WHR', 'PRO-###', '', 0, 0);
|
||
|
||
-- Fix campi di ricerca
|
||
UPDATE `zz_modules` SET `options` = "SELECT |select| FROM `zz_segments` WHERE 1=1 HAVING 2=2 ORDER BY name, id_module" WHERE `name` = 'Segmenti';
|
||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'id', 'id', 0, 0, 0, 0, 0, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'Nome', 'name', 1, 1, 0, 0, 1, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'Modulo', '(SELECT name FROM zz_modules WHERE zz_modules.id = zz_segments.id_module)', 2, 1, 0, 0, 1, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'Maschera', 'pattern', 3, 1, 0, 0, 1, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'Note', 'note', 4, 1, 0, 0, 1, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Segmenti'), 'Predefinito', 'IF(predefined=1, ''Sì'', ''No'')', 5, 1, 0, 0, 1, 0, 1);
|
||
|
||
UPDATE `zz_views` SET `search` = 1 WHERE `name` = 'Nome' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche');
|
||
UPDATE `zz_views` SET `search` = 1 WHERE `name` = 'Filiale' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche');
|
||
UPDATE `zz_views` SET `search` = 1 WHERE `name` = 'IBAN' AND `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Banche');
|
||
|
||
-- Fix Date emissione nello Scadenzario
|
||
UPDATE `zz_views` SET `query` = 'data_emissione', `format` = '1' WHERE `zz_views`.`id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Scadenzario') AND name = 'Data emissione';
|
||
|
||
-- Normalizzazione default e predefined
|
||
ALTER TABLE `zz_views` CHANGE `default` `default` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `zz_prints` CHANGE `default` `default` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `an_tipianagrafiche` CHANGE `default` `default` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `an_zone` CHANGE `default` `default` boolean NOT NULL DEFAULT 0;
|
||
ALTER TABLE `zz_modules` CHANGE `default` `default` boolean NOT NULL DEFAULT 0;
|
||
|
||
ALTER TABLE `zz_segments` CHANGE `predefined` `predefined` boolean NOT NULL DEFAULT 0;
|
||
|
||
-- Fix colore per fatture senza numero esterno
|
||
UPDATE `zz_views` SET `query` = 'IF((SELECT COUNT(t.numero_esterno) FROM co_documenti AS t WHERE t.numero_esterno = co_documenti.numero_esterno AND t.numero_esterno != '''' AND t.id_segment = co_documenti.id_segment AND idtipodocumento IN (SELECT id FROM co_tipidocumento WHERE dir = ''entrata'') AND t.data >= ''|period_start|'' AND t.data <= ''|period_end|'') > 1, ''red'', '''')' WHERE `id_module` = (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita') AND `name` = '_bg_';
|
||
|
||
-- Campi per la gestione revisioni
|
||
ALTER TABLE `co_preventivi` ADD `master_revision` INT NOT NULL AFTER `tipo_sconto_globale`, ADD `default_revision` TINYINT(1) NOT NULL AFTER `master_revision`;
|
||
|
||
-- Plugin revisioni
|
||
INSERT INTO `zz_plugins` (`id`, `name`, `title`, `idmodule_from`, `idmodule_to`, `position`, `script`, `enabled`, `default`, `order`, `compatibility`, `version`, `options2`, `options`, `directory`, `help`) VALUES (NULL, 'Revisioni', 'Revisioni', 13, 13, 'tab', '', 1, 0, 0, '', '', NULL, 'custom', 'revisioni', '');
|
||
|
||
-- Modifica modilo preventivi per revisioni
|
||
UPDATE `zz_modules` SET `options` = 'SELECT |select| FROM `co_preventivi` WHERE 1=1 AND default_revision=1 HAVING 2=2 AND ((\'|period_start|\' >= `data_bozza` AND \'|period_start|\' <= `data_conclusione`) OR (\'|period_end|\' >= `data_bozza` AND \'|period_end|\' <= `data_conclusione`) OR (`data_bozza` >= \'|period_start|\' AND `data_bozza` <= \'|period_end|\') OR (`data_conclusione` >= \'|period_start|\' AND `data_conclusione` <= \'|period_end|\') OR (`data_bozza` >= \'|period_start|\' AND `data_conclusione` = \'0000-00-00\')) ORDER BY `id` DESC' WHERE `zz_modules`.`name` = 'Preventivi';
|
||
|
||
-- Chiave secondaria per le righe del preventivo
|
||
ALTER TABLE `co_righe_preventivi` ADD FOREIGN KEY (`idpreventivo`) REFERENCES `co_preventivi`(`id`) ON DELETE CASCADE;
|
||
|
||
-- Tabella categorie
|
||
CREATE TABLE IF NOT EXISTS `my_impianti_categorie` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`nome` varchar(255) NOT NULL,
|
||
`colore` varchar(255) NOT NULL,
|
||
`nota` varchar(1000) NOT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=InnoDB;
|
||
|
||
-- Categoria impianto
|
||
ALTER TABLE `my_impianti` ADD `id_categoria` INT(11) AFTER `idanagrafica`, ADD FOREIGN KEY (`id_categoria`) REFERENCES `my_impianti_categorie`(`id`) ON DELETE SET NULL;
|
||
|
||
-- Rinominato Categorie in Categorie articoli
|
||
UPDATE `zz_modules` SET `name` = 'Categorie articoli', `title` = 'Categorie articoli', `directory` = 'categorie_articoli' WHERE `zz_modules`.`name` = 'Categorie';
|
||
|
||
-- Modulo Categorie impianti
|
||
INSERT INTO `zz_modules` (`id`, `name`, `title`, `directory`, `options`, `options2`, `icon`, `version`, `compatibility`, `order`, `parent`, `default`, `enabled`) VALUES (NULL, 'Categorie impianti', 'Categorie impianti', 'categorie_impianti', 'SELECT |select| FROM `my_impianti_categorie` WHERE 1=1 HAVING 2=2', '', 'fa fa-angle-right', '2.4.2', '2.4.2', '1', NULL, '1', '1');
|
||
UPDATE `zz_modules` `t1` INNER JOIN `zz_modules` `t2` ON (`t1`.`name` = 'Categorie impianti' AND `t2`.`name` = 'MyImpianti') SET `t1`.`parent` = `t2`.`id`;
|
||
|
||
INSERT INTO `zz_views` (`id_module`, `name`, `query`, `order`, `search`, `slow`, `visible`, `default`) VALUES
|
||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Categorie impianti'), 'id', 'id', 1, 1, 0, 0, 1),
|
||
((SELECT `id` FROM `zz_modules` WHERE `name` = 'Categorie impianti'), 'Nome', 'nome', 2, 1, 0, 1, 1);
|
||
|
||
-- Per i preventivi già in essere imposto master_revision = id e default_revision = 1
|
||
UPDATE `co_preventivi` SET `master_revision` = `id`, `default_revision` = 1;
|
||
|
||
-- Colonna natura iva e codice iva
|
||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'IVA'), 'Natura', 'codice_natura_fe', 2, 1, 0, 0, 1, 0, 1),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'IVA'), 'Codice', 'codice', 1, 1, 0, 0, 1, 0, 1);
|
||
|
||
-- Colonna codice modalità pagamento
|
||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Pagamenti'), 'Codice pagamento', 'CONCAT(codice_modalita_pagamento_fe, '' - '', (SELECT descrizione FROM fe_modalita_pagamento WHERE codice = codice_modalita_pagamento_fe) )', 2, 1, 0, 0, 1, 0, 1);
|
||
|
||
-- Fix plugin "Impianti del cliente"
|
||
UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Matricola, Nome, Data, Descrizione", "query": "SELECT id, (SELECT `id` FROM `zz_modules` WHERE `name` = \'MyImpianti\') AS _link_module_, id AS _link_record_, matricola AS Matricola, nome AS Nome, DATE_FORMAT(data, \'%d/%m/%Y\') AS Data, descrizione AS Descrizione FROM my_impianti WHERE idanagrafica=|id_parent| HAVING 2=2 ORDER BY id DESC"} ]}' WHERE `zz_plugins`.`name` = 'Impianti del cliente';
|
||
|
||
-- Fix plugin "Ddt del cliente"
|
||
UPDATE `zz_plugins` SET `options` = ' { "main_query": [ { "type": "table", "fields": "Numero, Data, Descrizione, Qtà", "query": "SELECT dt_ddt.id, (SELECT `id` FROM `zz_modules` WHERE `name` = \'Ddt di vendita\') 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 WHERE dt_ddt.idanagrafica=|id_parent| GROUP BY dt_ddt.id HAVING 2=2 ORDER BY dt_ddt.id DESC"} ]}' WHERE `zz_plugins`.`name` = 'Ddt del cliente';
|
||
|
||
-- Aggiunto codice cig e codice cup per contratti
|
||
ALTER TABLE `co_contratti` ADD `codice_cig` VARCHAR(15) NOT NULL AFTER `tipo_sconto_globale`;
|
||
ALTER TABLE `co_contratti` ADD `codice_cup` VARCHAR(15) NOT NULL AFTER `codice_cig`;
|
||
|
||
-- Agiunta data e ora generazione fattura elettronica
|
||
ALTER TABLE `co_documenti` ADD `xmlgenerated_at` TIMESTAMP NULL AFTER `codice_xml`;
|
||
|
||
-- Colonna nella vista fatture per indicare se è stato generato o meno il file xml
|
||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_FE', 'IF(xmlgenerated_at IS NOT NULL, \'fa fa-file-code-o text-success\', \'\')', 10, 1, 0, 0, 1, 0, 0),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_title_FE', 'IF(xmlgenerated_at IS NOT NULL, \'Generata\', \'\')', 10, 1, 0, 0, 0, 0, 0);
|
||
|
||
-- Colonna nella vista fatture per indicare se è stata inviata o meno la mail
|
||
INSERT INTO `zz_views` (`id`, `id_module`, `name`, `query`, `order`, `search`, `slow`, `format`, `visible`, `summable`, `default`) VALUES
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_Inviata', 'IF((SELECT GROUP_CONCAT(DISTINCT`name` SEPARATOR \'\\n \') FROM zz_operations INNER JOIN zz_emails ON zz_operations.id_email = zz_emails.id WHERE zz_operations.id_module = (SELECT id FROM zz_modules WHERE `name` = \'Fatture di vendita\') AND op = \'send-email\' AND id_record = co_documenti.id GROUP BY id_email) IS NOT NULL, \'fa fa-envelope text-success\', \'\')', 11, 1, 0, 0, 1, 0, 0),
|
||
(NULL, (SELECT `id` FROM `zz_modules` WHERE `name` = 'Fatture di vendita'), 'icon_title_Inviata', '(SELECT GROUP_CONCAT(DISTINCT`name` SEPARATOR \'\n \') FROM zz_operations INNER JOIN zz_emails ON zz_operations.id_email = zz_emails.id WHERE zz_operations.id_module = (SELECT id FROM zz_modules WHERE `name` = \'Fatture di vendita\') AND op = \'send-email\' AND id_record = co_documenti.id GROUP BY id_email)', 12, 1, 0, 0, 0, 0, 0);
|