DEFINIZIONE MODELLO DENUNCIA SEZIONE: 1 - Testata NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO CALC. Codice impresa : Testo 8,0 1 1 Ragione sociale impresa : Testo 60,0 1 2 Protetto Codice fiscale impresa : Testo 16,0 2 1 Protetto Partita IVA Testo 11,0 2 2 Protetto Codice consulente : Testo 6,0 2 3 Protetto Mese Denuncia Numero 2,0 3 1 Protetto Obblig. Protetto 0 Note: Indicare il mese di riferimento della denuncia Anno Denuncia Numero 4,0 3 2 Protetto Comune Sede Legale Testo 4 1 Protetto 35,0 0 Note: Indicare il Comune della Sede Legale CAP Sede Legale Testo 5,0 4 2 Protetto Provincia Sede Leg. Testo 2,0 4 3 Protetto Frazione Sede Leg. Testo 30,0 4 4 Protetto Tipo Indir. Sede Leg. Testo 15,0 5 1 Protetto Note: Indicare il Tipo di indirizzo (VIA, VIALE, PIAZZA, CORSO ecc...) Indirizzo Sede Legale Testo 40,0 5 2 Protetto Num. Civico Sede Leg. Testo 10,0 5 3 Protetto Telefono Testo 20,0 5 4 Protetto Comune Sede Amministr. Testo 35,0 6 1 Protetto Note: Comune della Sede Ammiinistrativa CAP Sede Amm. Testo 5,0 6 2 Protetto Provincia Sede Amm. Testo 2,0 6 3 Protetto Frazione Sede Amm. Testo 30,0 6 4 Protetto Tipo Indir. Sede Amm. Testo 15,0 7 1 Protetto Note: Indicare il Tipo di indirizzo (VIA, VIALE, PIAZZA, CORSO ecc...) Indirizzo Sede Amm. Testo 40,0 7 2 Protetto Num. Civico Sede Amm. Testo 10,0 7 3 Protetto Telef. Sede Amm. Testo 20,0 8 1 Protetto Fax Sede Amm. Testo 20,0 8 2 Protetto Email Testo 50,0 8 3 Protetto Num. Posiz. INAIL Testo 15,0 9 1 Protetto Num. Posiz. INPS Testo 12,0 9 3 Protetto Num. Iscriz. CCIA Testo 8,0 9 4 Protetto Tipo Iscrizione Testo 1,0 10 1 Protetto Tipo Impresa Testo 1,0 10 2 Protetto Contratto applicato Testo 2,0 11 1 Protetto CCNL Previdenza Testo 2,0 11 2 Obblig. Lista Valori: 01 - Industria; 02 Artigianato; 03 Cooperazione; 04 Piccola Media Ind.; Note: Indicare il Contratto Collettivo Nazionale applicato ai dipendenti dell’impresa. Il dato deve essere obbligatoriamente indicato ai fini della determinazione del fondo negoziale di riferimento per la previdenza complementare SEZIONE: 2 - Cantieri NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO CALC. Progr. Cantiere Testo 2,0 1 1 Obblig. Solo Nuovo Note: Progressivo del cantiere Denominazione cantiere Testo 60,0 1 2 Obblig. Solo Nuovo Note: Denominazione ed indirizzo del cantiere. Nel caso in lo spazio risulti insufficiente riportare per entrambi riportare in via prioritaria i dati relativi a via, piazza e numero civico. Codice Cantiere CE Testo 5,0 1 2 Sempre Note: Codice del Cantiere presso la Cassa Edile. (Campo precompilato per i cantieri già aperti) Codice Geografico Testo 8,0 1 4 C.A.P. cantiere Testo 5,0 2 1 Tipo Indirizzo Testo 15,0 2 2 Sempre Obblig. Note: VIA, PIAZZA, CORSO ecc... Solo Nuovo Solo Nuovo 0 Denominazione 2 parte Testo 30,0 2 2 Nascosto Note: Campo disponibile per continuare la descrizione del cantiere Descr. Via/Indirizzo Testo 40,0 2 3 Solo Nuovo Note: Indicare la descrizione dell'indirizzo (es. ROMA, GARIBALDI ...) Numero Civico Testo 10,0 2 4 Solo Nuovo Comune Testo 35,0 3 1 Solo Nuovo Provincia Testo 2,0 3 2 Solo Nuovo Frazione/Località Testo 30,0 3 3 Solo Nuovo *Mese Inizio Numero 2,0 4 1 Obblig. Solo Nuovo 0 Note: Indicare il mese il Mese di inizio cantiere *Anno inizio Numero 4,0 4 2 Obblig. Solo Nuovo 0 Note: Indicare l'anno di inizio cantiere *Giorno Inizio Numero 2,0 4 3 Committente Testo 5 1 60,0 Solo Nuovo 1 Note: Per appalti pubblici e privati indicare il nominativo del committente. Per i lavoro in proprio va indicato: "proprio". Per le società di lavoro temporaneo va indicata l'impresa edile presso la quale sono impegnati i lavoratori. Per le Imprese che lavorano in appalto/subappalto per altra impresa edile indicare il nominativo della stessa Committente (descr. 2) Testo 30,0 5 2 Nascosto Note: Campo disponibile per continuare la descrizione del committente Tipo Cantiere Numero 1,0 6 1 Obblig. 0 Lista Valori: 1 - Committente Pubblico; 2 Committente Privato; 3 - Lavori in Proprio; 4 Lavori in appalto/subbappalto da impresa edile; Attività Numero 2,0 6 2 Obblig. 0 Lista Valori: 01 - OG1 nuova edilizia civile comp. Impianti e fogna; 02 - OG1 nuova edilizia industriale esclusi impianti; 03 Ristrutturazione di edifici civili; 04 Ristrutturazione di edifici industriali; 05 - OG2 restauro e manutenzione di beni tutelati; 06 OG3 opere stradali, ponti etc.; 07 - OG4 opere d’arte nel sottosuolo; 08 OG5 dighe; 09 OG6 acquedotti e fognature; 10 - OG6 gasdotti; 11 - OG6 oleodotti; 12 - OG6 opere di irrigazione ed evacuazione; 13 - OG7 opere marittime; 14 OG8 opere fluviali; 15 - OG9 impianti per la produzione di energia elettr; 16 OG10 impianti per la trasformazione e distribuzi; 17 OG12 OG13 Bonifica e protezione ambientale; Note: Codice attività cantiere in vigore da Ottobre 2007 Retribuzione imponibile Numero 6,0 6 3 0 Note: Indicare l'importo in EURO della Retribuzione imponibile complessiva ai fini INPS per il lavoro prestato nel Cantiere. Attività Numero 2,0 6 4 Nascosto 0 Note: Indicare l'attività produttiva prevalente del cantiere Situazione Cantiere Numero 1,0 7 1 Obblig. 0 Giorno Numero 2,0 7 2 Obblig. 1 Lista Valori: 1 - Normale Attività; 2 - Ripresa Lavori; 3 Sospensione; 4 Cessazione; 5 Senza Dipendenti; Note: Indicare il giorno del mese in cui si è verificato l'evento indicato nella casella "Situazione" Lav. Trasfertisti Testo 1,0 8 5 Lista Valori: S - Trasfertisti; Note: Indicare se nel cantiere vengono impiegati operai in trasferta iscritti ad altra Cassa Edile. In tal caso compilare l'apposito modello. Subappalto Testo 1,0 8 6 Lista Valori: S - Subappalto; Note: Indicare se i lavori del cantiere seno stati affidati ad altra imprsa edile in appalto o subappalto. Lav. Interinali Testo 1,0 8 7 Lista Valori: S - Interinali; Note: Indicare se l'impresa si avvale di lavoratori inviati da società di lavoro interinale. In caso affermativo, compilare l'apposito modulo. Archivio Committ. Testo 1,0 9 1 Sempre Codice Committ. Testo 8,0 9 2 Sempre Contatore cantiere Numero 3,0 9 3 Nascosto 1 SEZIONE: 3 - Elenco dei lavoratori occupati NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO Cognome Testo CALC. 30,0 1 1 Obblig. Solo Nuovo Note: Indicare il cognome del lavoratore Nome Testo 30,0 1 2 Obblig. Solo Nuovo Note: Indicare il nome del lavoratore Codice operaio c.e. Testo 9,0 1 3 Sempre Note: Codice del lavoratore presso la Cassa Edile, desunto dalle cominicazioni della Cassa Edile Tipo Dipendente Testo 1,0 1 4 Nascosto Forzatura CF Testo 1,0 1 4 Nascosto Codice fiscale Testo 16,0 2 1 Obblig. Lista Valori: F - Forza Codice Fiscale; Solo Nuovo Note: Codice fiscale del lavoratore Data di nascita Data 10,0 2 1 Obblig. Solo Nuovo Note: Data di nascita del lavoratore (formato gg/mm/aaaa) Comune di nasc. Testo 30,0 2 3 Obblig. Variaz. Anagr. Note: Comune di Nascita del Dipendente Prov. di nasc. Testo 2,0 2 4 Obblig. Variaz. Anagr. Note: Provincia di nascita (EU=Europa, EE=Extraeuropei) Tipo Indirizzo Testo 15,0 3 1 Obblig. Variaz. Anagr. Note: Indicare il Tipo di indirizzo (VIA, VIALE, PIAZZA, CORSO ecc...) Indirizzo Testo 30,0 3 2 Obblig. Variaz. Anagr. Note: Indirizzo del lavoratore Num. Civico Testo 10,0 3 3 Obblig. Variaz. Anagr. Note: Numero civico dell'indirizzo Frazione Testo 20,0 3 4 Comune Testo 30,0 4 1 Variaz. Anagr. Obblig. Variaz. Anagr. Note: Comune di Residenza del lavoratore C.a.p. Testo 5,0 4 2 Obblig. Variaz. Anagr. Note: C.A.P. di residenza del lavoratore Provincia Testo 2,0 4 3 Obblig. Variaz. Anagr. Note: Provincia di residenza del lavoratore Località Testo 30,0 4 3 Presso Testo 30,0 4 4 Cantiere Testo 2,0 5 1 Note: Indicare il numero progressivo Cantiere (campo "CANTIERE" sul Riepilogo) nel quale, nel mese, il lavoratore è stato PREVALENTEMENTE occupato. L'indicazione è obbligatoria per i riscontri relativi alle certificazioni di regolarità contributiva nonchè per i riscontri riguardanti i lavoratori in trasferta e per le società di lavoro temporaneo. Fuori prov. Testo 1,0 5 1 Lista Valori: S - Fuori provincia; Note: Indicare "S" se il lavoratore è impegnato in cantiere fuori provincia Altra cassa Testo 4,0 5 1 Note: Da utilizzare nei casi di iscrizione anche ad altra Cassa durante il mese. Indicare il codice Banca Dati APE per identificare la Cassa Edile. Data assunzione Data 10,0 6 1 Obblig. Note: Undicare la data di inizio del rapporto di lavoro con l'impresa (nel formato gg/mm/aaaa) Tipo assunzione Numero 1,0 6 2 0 Lista Valori: 1 - Tempo Indeterminato; 2 Tempo Determinato; 3 Part Time; 4 Formazione Lavoro; 5 Apprendistato; 6 Cottimista; Note: indicare la tipologia del rapporto di lavoro (vedi tabella CNCE) Giorno Cessazione Numero 2,0 6 3 0 Note: Indicare il giorno (gg) di cessazione nel mese del rapporto di lavoro Tipo cessaz. Numero 1,0 6 4 0 Lista Valori: 1Licenziamento; 2 Dimissioni; 3 Trasferimento o Trasferta in altra Provincia; 4 Decesso; 5 - Da Operaio a Impiegato; Note: Indicare il tipo di cessazione Livello Testo 2,0 7 1 Obblig. Lista Valori: 1A - Appr. Artig. istr/form. 1° gr. 1° sem.; 1B - Appr. Artig. istr/form. 1° gr. 2° sem.; 1C Appr. Artig. istr/form. 1° gr. 3° sem.; 1D - Appr. Artig. istr/form. 1° gr. 4° sem.; 1E Appr. Artig. istr/form. 1° gr. 5° sem.; 1F - Appr. Artig. istr/form. 1° gr. 6° sem.; 1G Appr. Artig. istr/form. 1° gr. 7° sem.; 1H - Appr. Artig. istr/form. 1° gr. 8° sem.; 1L Appr. Artig. istr/form. 1° gr. 9° sem.; 2A - Appr. Artig. istr/form. 2° gr. 1° sem.; 2B - Appr. Artig. istr/form. 2° gr. 2° sem.; 2C - Appr. Artig. istr/form. 2° gr. 3° sem.; 2D Appr. Artig. istr/form. 2° gr. 4° sem.; 2E - Appr. Artig. istr/form. 2° gr. 5° sem.; 2F Appr. Artig. istr/form. 2° gr. 6° sem.; 2G - Appr. Artig. istr/form. 2° gr. 7° sem.; 3A Appr. Artig. istr/form. 3° gr. 1° sem.; 3B - Appr. Artig. istr/form. 3° gr. 2° sem.; 3C Appr. Artig. istr/form. 3° gr. 3° sem.; 4A - Appr. Artig. prof. 1° gr.super 1° sem.; 4B - Appr. Artig. prof. 1° gr.super 2° sem.; 4C - Appr. Artig. prof. 1° gr.super 3° sem.; 4D - Appr. Artig. prof. 1° gr.super 4° sem.; 4E - Appr. Artig. prof. 1° gr.super 5° sem.; 4F - Appr. Artig. prof. 1° gr.super 6° sem.; 4G - Appr. Artig. prof. 1° gr.super 7° sem.; 4H - Appr. Artig. prof. 1° gr.super 8° sem.; 4L - Appr. Artig. prof. 1° gr.super 9° sem.; 4M - Appr. Artig. prof. 1° gr.super 10° sem.; 5A - Appr. Artig. prof. 1° gr. 1° sem.; 5B - Appr. Artig. prof. 1° gr. 2° sem.; 5C - Appr. Artig. prof. 1° gr. 3° sem.; 5D - Appr. Artig. prof. 1° gr. 4° sem.; 5E - Appr. Artig. prof. 1° gr. 5° sem.; 5F - Appr. Artig. prof. 1° gr. 6° sem.; 5G - Appr. Artig. prof. 1° gr. 7° sem.; 5H - Appr. Artig. prof. 1° gr. 8° sem.; 5L - Appr. Artig. prof. 1° gr. 9° sem.; 5M - Appr. Artig. prof. 1° gr. 10° sem.; 6A Appr. Artig. prof. 2° gr. 1° sem.; 6B Appr. Artig. prof. 2° gr. 2° sem.; 6C Appr. Artig. prof. 2° gr. 3° sem.; 6D - Appr. Artig. prof. 2° gr. 4° sem.; 6E Appr. Artig. prof. 2° gr. 5° sem.; 6F Appr. Artig. prof. 2° gr. 6° sem.; 6G Appr. Artig. prof. 2° gr. 7° sem.; 6H Appr. Artig. prof. 2° gr. 8° sem.; 6L Appr. Artig. prof. 2° gr. 9° sem.; 7A Appr. Artig. prof. 3° gr. 1° sem.; 7B Appr. Artig. prof. 3° gr. 2° sem.; 7C Appr. Artig. prof. 3° gr. 3° sem.; 7D Appr. Artig. prof. 3° gr. 4° sem.; 7E Appr. Artig. prof. 3° gr. 5° sem.; 7F Appr. Artig. prof. 3° gr. 6° sem.; A1 Apprendista 1° semestre; A2 Apprendista 2° semestre; A3 Apprendista 3° semestre; A4 Apprendista 4° semestre; A5 Apprendista 5° semestre; A6 Apprendista 6° semestre; A7 Apprendista 7° semestre; A8 Apprendista 8° semestre; A9 Apprendista 9° semestre; AB Appr. Prof. Qualifica 2° Liv.; AC - Appr. Prof. Qualifica 3° Liv.; AD - Appr. Prof. Qualifica 4° Liv.; AF - Appr. Prof. 1° ins. Qual. 2° Liv.; AG - Appr. Prof. 1° ins. Qual. 3° Liv. Retr. 1° liv.; AH - Appr. Prof. 1° ins. Qual. 3° Liv. Retr. 2° liv.; AL - Appr. Prof. 1° ins. Qual. 4° Liv. Retr. 2° liv.; AM Appr. Prof. 1° ins. Qual. 4° Liv. Retr. 3° liv.; C1 - Capo Sq Qualificato; C2 Capo Sq. Specializzato; D1 Discontinuo 50 ore; D2 Discontinuo 60 ore; D3 Discontinuo 60 ore con alloggio; F1 CFL (retrib. operaio comune); F2 - CFL (retrib. operaio qualificato); I1 Impiegato 1° liv.; I2 - Impiegato 2° liv.; I3 Impiegato 3° liv.; I4 - Impiegato 4° liv.; I5 Impiegato 5° liv.; I6 - Impiegato 6° liv.; I7 Impiegato 7° liv.; O1 - Operaio comune; O2 Operaio qualificato; O3 Operaio specializzato; O4 Operaio IV livello; Q1 Quadro; Note: Indicare il livello di inquadramento del dipendente Mansione Testo 2,0 7 2 Lista Valori: 00 - Non Indicata (Impiegati); 01 Muratore; 02 Carpentiere Pontatore; 03 Ferraiolo; 04 Gruista; 05 Autista; 06 Manovale Badilante; 07 Piastrellista, Posat., Lucid., Marm., Pavim., Lev; 08 Asfaltista, Bitumatore, Rullista, Calderario; 09 Verniciatore, Tappezziere, Imbianchino, Dec., Stuc; 10 Meccanico, Tornitore, Fresatore; 11 Magazziniere, Guardiano, Commesso; 12 Elettricista, Idraulico, Lattoniere, Falegname; 13 Saldatore, Giuntista, Fabbro; 14 Scalpellino, Selciatore; 15 Imp. Calcestruzzi, Attrezzista, Cementista; 16 Fornellista; 17 Macchinista, Escav., Compress., Rusp., Palis, Sond; 18 Cuoco; 19 Varie; 20 - Capo Squadra; Note: Indicare la Mansione del dipendente Paga Oraria Numero 7,5 7 3 0 Note: Paga Oraria (importo in Euro con 2 decimali separati da virgola) Livello Precedente Testo 2,0 7 4 Sempre Contratto Applicato Testo 2,0 7 5 Nascosto Imponibile G.N.F. Numero 4,0 8 1 0 Note: Indicare l'importo della retribuzione del lavoratore calcolata sugli elementi di cui al punto 10, per tutte le ore di lavoro ordinario e per le festività (escluso 4 Novembre), arrotondando all'unità di Euro. Imponibile Contrib. Numero 4,0 8 2 0 Note: Indicare l'importo della retribuzione imponibile del lavoratore su cui sono calcolati contributi dovuti alla Cassa Edile (per i capisquadra indicare l'importo GNF dedotta la maggiorazione). L'importo va arrotondato alla unità di Euro. Imponibile TFR Numero 4,0 8 3 0 Note: Tale campo dovrà essere indicato soltatnto nel caso di versamenti per il Fondo di previdenza complementare di settore. Imp. GNF Calcolato Numero 4,0 8 4 Protetto 0 Calcolato Espressione di Calcolo: LAVIMPCALC = 0 Dim Cpag Dim Paga Dim TipoPaga Paga = LAVALTRIDATI1 IF (LEFT (LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q") THEN IF Paga = 0 THEN TipoPaga = CAMPO("TESCCNL",1) SELECT CASE TipoPaga CASE "I" Set Cpag = TABELLA("PAGIND", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "A" Set Cpag = TABELLA("PAGART", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag ("PAGMIN")) END IF CASE "C" Set Cpag = TABELLA("PAGCOOP", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF END SELECT END IF LAVIMPCALC = Clng(Paga * (LAVOREORD + LAVOREFEST)) END IF Ore ordinarie Numero 5,1 9 1 0 Note: Indicare le ore dilavoro ordinario effettivamente prestate nel mese. Nei casi di metà ora lavorativa indicare " ,5" Ore malattia Numero 3,0 9 2 0 Note: Numero ore di malattia per cui è stato corrisposto un trattamento economico integrativo o sostitutivo da parte dell'impresa, escluse le ore relative ai giorni di carenza di trattamento INPS Ore infortunio Numero 3,0 9 3 0 Note: Numero delle ore di infortunio in cui è stato corrisposto un trattamento economico integrativo o sostitutivo da parte dell'impresa, escluse le ore relative ai giorni di carenza di trattamento INAIL. Ore carenza Numero 2,0 9 4 0 Note: Numero delle ore di carenza di trattamento INPS e/o INAIL. Ore ferie Numero 3,0 10 1 0 Note: Indicare il numero delle ore di assenza per ferie godute nel mese. Ore festività Numero 2,0 10 2 0 Note: Numero delle ore relative alle giornate di festività godute, per le quali si effettua l'accantonamento GNF (n. 11 + Santo Patrono, con esclusione del 4/11). Ore C.I.G. Numero 3,0 10 3 0 Note: Numero delle ore di assenza per le quali sia stata fatta la richiesta di intervento C.I.G. Ore perm. non. Retr Numero 3,0 10 4 0 Note: Ore di Permesso diverse da quelle indicate nella casistica precedente e non retribuite dall'impresa al lavoratore. Ore Cong. Matrim. Numero 3,0 11 1 0 Note: Ore di Congedo Matrimoniale Ore Cong. Mat/Pat Numero 3,0 11 2 Note: Ore di Congedoper maternità/paternità 0 Ore Cong. Serv. Milit. Numero 3,0 11 3 Sempre 0 Note: Ore di Congedo per Servizio Militare Totale Ore Congedi Numero 3,0 11 4 Protetto 0 Calcolato Espressione di Calcolo: LAVORECONG = LAVOREC01 + LAVOREC02 + LAVOREC03 Note: Vanno inserite le ore di assenza causate dai seguenti motivi: Congedo matrimoniale; Assenza obbligatoria per maternità; Servizio militare. Ore Perm. Sind. Numero 3,0 12 1 0 Note: Ore di Assenza Giustificata per Permessi Sindacali Ore Perm Retrib. Numero 2,0 12 3 0 Note: Ore di Assenza Giustificata per Permessi Retribuiti (88 ore) Ore Ass. Fac. Mat/Pat Numero 3,0 12 4 0 Note: Ore di Assenza Giustificata Facoltativa per maternità o paternità Ore Corsi Formaz. Numero 3,0 13 1 0 Note: Ore di Assenza Giustificata per Corsi di Formazione Ore Ass. Provv. Disc. Numero 3,0 13 2 0 Note: Ore di Assenza Giustificata per Provvedimenti Disciplinari Ore Assem. Sind. Numero 3,0 13 2 0 Note: Ore di Assenza Giustificata per Assemblee Sindacali Ore Ass. Funz. Elett. Numero 3,0 13 3 0 Note: Ore di Assenza Giustificata per Funzioni Elettive Ore Congedi Parent. Numero 3,0 13 4 0 Note: Ore di Assenza Giustificata per Congedi Parentali Ore Ass. Provv.Aut.Giud. Numero 3,0 14 1 0 Note: Ore di Assenza Giustificata per Provvedimenti Autorità Giudiziaria Ore Ferie collettive Numero 3,0 14 2 0 Note: Ore di Assenza Giustificata per Ferie Collettive non maturate Ore Altre Casse Ed. Numero 3,0 14 3 0 Note: Ore di Assenze giustificate come Ore Dichiarate ad altre Casse Edili Ore Sciopero Numero 3,0 14 4 0 Note: Ore di Assenza Giustificata per Sciopero Altre Ore Assenza Giust. Numero 3,0 14 5 0 Note: Altre Ore di Assenza Giustificata solo per importazione da Paghe Ore Ass. ing. Sanzionate Numero 3,0 15 1 0 Note: Ore di Assenze ingiustificate sanzionate Ore Aspett. non retrib. Numero 3,0 15 2 0 Note: Ore di Assenza Giustificata per Aspettativa non retribuita Ore Donaz. Sangue Numero 3,0 15 3 0 Note: Ore di Assenza Giustificata per Donazione Sangue Totale Ore Ass. Giust. Numero 3,0 15 4 Protetto 0 Calcolato Espressione di Calcolo: LAVOREASSGIU = LAVOREA01 + LAVOREA02 + LAVOREA03 + LAVOREA04 + LAVOREA05 + LAVOREA06 + LAVOREA07 + LAVOREA08 + LAVOREA09 + LAVOREA10 + LAVOREA11 + LAVOREA12 + LAVOREA13 + LAVOREA14 + LAVOREA15 + LAVALTREOREASSG Note: Indicare le ore di assenza causate dalle seguenti motivazioni: Permessi sindacali; Assemblee sindacali; Permessi retribuiti (88 ore); Assenza facoltativa per maternità; Corsi di Formazione; Provvedimenti disciplinari; Funzioni elettive; Congedi parentali; Provvedimenti autorità giudiziaria; Ferie Collettive non maturate; Ore dichiarate ad altre Casse Edili; Scioperi; Assenze ingiustificate sanzionate; aspettativa non retribuita; donazione sangue. Totale Ore dichiarate Numero 5,1 16 1 Protetto 0 Calcolato Espressione di Calcolo: LAVTOTORE = LAVOREORD + LAVOREMAL + LAVOREINF + LAVORECAR + LAVOREFERIE + LAVOREFEST + LAVORECIG + LAVORECONG + LAVOREASSGIU + LAVOREPNRET Ore Lav. Trim. Prec. Numero 3,0 16 2 0 Note: Ore Ordinarie Lavorate nel Trimestre precedente Accantonamento G.N.F. Numero 4,0 17 1 0 Note: Indicare l'importo di accantonamento per gratifica natalizia e ferie relativo alle ore di lavoro ordinario e le festività. L'importo va arrotondato all'unità di Euro. Acc. GNF calcolato Numero 4,0 17 2 Protetto 0 Calcolato Espressione di Calcolo: LAVACCCALC = 0 Dim ACCCALC Dim PercAcc PercAcc = CAMPO("TOTPERCACC", 4) IF PercAcc = 0 THEN PercAcc = 14.20 END IF IF LAVIMPGNF > 0 THEN ACCCALC = clng (LAVIMPGNF * PercAcc / 100) ELSE ACCCALC = clng(LAVIMPGNFCAL * PercAcc / 100) END IF LAVACCCALC = ACCCALC Accantonamento Ferie Numero 4,0 17 2 0 Accanton. G.N.F. mal/inf Numero 4,0 17 3 0 Note: Indicare l'importo di accantonamento per gratifica natalizia e ferie relativo alle ore di assenza (comprese quelle di carenza) per malattia, infortunio sul lavororo e malattia professionale, congedo per maternità/paternità. L'importo va arrotondato all'unità di Euro. Adesione Fondo PREVEDI Testo 1,0 18 1 Lista Valori: S - Aderisce al Fondo; Tipo Adesione TFR Testo 1,0 18 2 Lista Valori: 1 - Anteriore al 28/04/93; 2 Posteriore al 28/04/93; 3 - Ante 28/04/93 100% TFR; Note: Indicare -1- se la data di assunzione del lavoratore è antecedente al 28/04/1993 (quota TFR pari al 18%); indicare -2- se è successiva al 28/04/1993 (quota TFR pari al 100%); indicare -3- se è antecedente al 28/04/1993 (con quota TFR pari al 100%): non compilare se il lavoratore non aderisce alla Previdenza Complementare o aderisce in forma silente Modalità Adesione Testo 1,0 18 3 Lista Valori: P - Parziale (solo TFR); T Silenzio/Assenso; Note: PREVIDENZA COMPLEMENTARE – adesione silente / parziale . Indicare Tper i lavoratori che devono versare al PREVEDI la sola quota TFR per effetto del silenzio assenso; indicare P per i lavoratori che hanno scelto esplicitamente di versare il solo TFR. Adesione Fondo PREVEDI (Prec.) Testo 1,0 18 4 Nascosto Note: Segnale Adesione al Fondo PREVEDI da Denuncia precedente Adesione dopo 01/01/2007 Testo 1,0 18 5 Lista Valori: 1 - Prima del 01/01/2007; 2 Dopo il 01/01/2007; Adesione dopo 01/2007 (Impostato da Cassa Edile) Testo 1,0 18 7 Nascosto Tipo adesione TFR (Impostato da Cassa Edile) Testo 1,0 18 8 Nascosto Modalità adesione (impostato da Cassa Edile) Testo 1,0 18 9 Nascosto Fondo Prev. Complem. Testo 2,0 19 1 Lista Valori: 01 - Prevedi; 02 Cooperlavoro; 03 Fondapi; Note: Indicare il fondo di previdenza complementare cui aderisce il lavoratore in virtù degli accordi contrattuali applicabili all’impresa, secondo la seguente codifica:- 01: Prevedi - 02: Cooperlavoro- 03: FondapiNOTE: questo campo deve essere valorizzato anche nel caso che il fondo prescelto non preveda il versamento del contributo tramite la Cassa Edile; il campo non deve essere valorizzato se il lavoratore non aderisce ad uno dei fondi qui elencati. Data sottoscriz. mod. Data TFR 10,0 19 2 Note: Indicare la data di sottoscrizione del Modulo TFR-1 e TFR-2 da parte del lavoratore Scelta Modulo TFR Testo 2,0 19 3 Lista Valori: AZ - 100% TFR Azienda/INPS; FP 100% TFR Fondo Previd.; NS Nessuna scelta; VI 18% Fondo, 82% Az./Inps; Note: Indicare la scelta effettuata dal lavoratore sul modulo TFR-1 e TFR-2 in relazione alla gestione del TFR, secondo la seguente codifica: - FP: 100% TFR a fondo previdenza - AZ: 100% TFR ad Azienda/INPS- VI: 18% al Fondo previdenza e 82% ad Azienda/INPS- NS: Nessuna scelta. Num Fondo COVIP Numero 3,0 19 4 0 Scelta opzione TFR (impostata da Cassa Edile) Testo 2,0 19 6 Nascosto Codice Fondo (Impostato da Cassa Edile) Testo 2,0 19 7 Nascosto Data modello TFR (Impostato da Cassa Edile) Data 10,0 19 8 Nascosto PREVEDI Contrib. Ditta Numero 4,0 20 1 0 Note: Da compilare nel caso il lavoratore aderisca al Fondo Previdenza complementare di Settore. 1% riferito alla retribuzione utile ai fini del calcolo del TFR PREVEDI Contrib. Lavor. Numero 4,0 20 2 0 Note: Da compilare nel caso il lavoratore aderisca al Fondo Previdenza complementare di Settore. 1% riferito alla retribuzione utile ai fini del calcolo del TFR ed eventuale ulteriore contributo volontario del lavoratore. PREVEDI Contrib. Volont. Numero 4,0 20 3 0 PREVEDI Quota TFR Numero 4,0 20 4 0 Note: Da compilare nel caso il lavoratore aderisca al Fondo Previdenza complementare di Settore. 100% dell'accantonamento TFR maturato mensilmente per il lavoratori di prima occupazione assunti successivamente al 28 Aprile 1993; 18% dell'accantonamento TFR maturato mensilmente per gli altri lavoratori. Contrib. ditta (Impiegati) Numero 4,0 20 5 Protetto 0 Calcolato Espressione di Calcolo: LAVIMPPREV1A = 0 IF LAVFLAGADE = "S" AND (LEFT(LAVLIVELLO ,1) = "I" OR LEFT (LAVLIVELLO ,1) = "Q") THEN LAVIMPPREV1A = LAVIMPPREV1 END IF Contrib. ditta (Operai) Numero 4,0 20 5 Protetto 0 Calcolato Espressione di Calcolo: LAVIMPPREV1B = 0 IF LAVFLAGADE = "S" AND LEFT(LAVLIVELLO ,1) <> "I" AND LEFT (LAVLIVELLO ,1) <> "Q" THEN LAVIMPPREV1B = LAVIMPPREV1 END IF Da Anno pregresso Numero 4,0 21 1 0 Note: Anno iniziale di competenza del versamento pregresso Da Mese pregresso Numero 2,0 21 2 0 Note: Mese iniziale di competenza del versamento pregresso Ad Anno pregresso Numero 4,0 21 3 0 Note: Anno finale di competenza del versamento pregresso A Mese pregresso Numero 2,0 21 4 0 Note: Mese finale di competenza del versamento pregresso Contrib. Lavoratore Numero 4,0 22 1 0 Note: Importo contributo obbligatorio a carico del lavoratore. Indicare la somma dei contributi maturati nel periodo indicato Contrib. Volontario Numero 4,0 22 2 0 Note: Importo contributo facoltativo a carico del lavoratore. Indicare la somma dei contributi maturati nel periodo indicato Contrib. Ditta Numero 4,0 22 3 0 Note: Importo contributo a carico della ditta. Indicare la somma dei contributi maturati nel periodo indicato Quota TFR Numero 4,0 22 4 0 Note: Importo contributo detratto dal TFR. Indicare la somma dei contributi maturati nel periodo indicato Rivalutazione Q. TFR Numero 4,0 22 5 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo Recup Contrib. Ditta Impiegati Numero 4,0 22 6 Protetto 0 Calcolato Espressione di Calcolo: LAVPREPDITT1A = 0 IF (LEFT(LAVLIVELLO ,1) = "I" OR LEFT(LAVLIVELLO ,1) = "Q") AND CAMPO("TESTIPOIMP",1) <> "C" THEN LAVPREPDITT1A = LAVPREPCONTDITT END IF Recup Contrib. Ditta Operai Numero 4,0 22 7 Protetto 0 Calcolato Espressione di Calcolo: LAVPREPDITT1B = 0 IF (LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q") AND CAMPO("TESTIPOIMP",1) <> "C" THEN LAVPREPDITT1B = LAVPREPCONTDITT END IF Note: Testo 100,0 23 1 Note: Eventuali annotazioni da comunicare alla Cassa Edile Contatore Dip. Numero 3,0 24 1 Nascosto 1 Altri dati 2 Numero 4,0 24 2 Nascosto 0 Note: Campo numerico disponbile per richiedere altri dati Altri dati 3 Numero 4,0 24 3 Nascosto 0 Note: Campo numerico disponbile per richiedere altri dati Data inizio mal/inf Data 10,0 25 1 Note: Indicare la data di effettivo inizio della malattia, infortunio o malattia professionale, anche se avvenuto nei mesi precedenti (nel formato gg/mm/aaaa). Il giorno in cui è avvenuto l'infortunio è a carico dell'impresa per intero, per cui non va indicato. Giorno Fine mal/inf Numero 2,0 25 2 0 Note: Indicare il giorno di termine di malattia, infortunio, o malattia professionale nel caso in cui questo ricada all'interno del mese di riferimento della denuncia. Tipo mal./inf. Testo 1,0 25 3 Lista Valori: I - Infortunio; M Malattia; P Malattia Professionale; Note: Indicare "M" nel caso di malattia, "I" nel caso di infortunio, P= malattia professionale. Ricaduta Testo 1,0 26 1 Lista Valori: S - Ricaduta; Note: Indicare "S" nel caso in cui l'evento sia dovuto ad una ricaduta Giorno Ricaduta Numero 2,0 26 2 0 Note: Indicare il Giorno di ricaduta nel mese di denuncia Ore ass.ing. Numero 3,0 26 3 0 Note: Indicare il numero delle ore di assenza ingiustificata nel mese precedente l'evento. Conguaglio/Rimborso Numero 4,0 26 4 0 Note: Indicare l'importo della somma corrisposta al lavoratore, di cui all'impresa compete il rimborso o il conguaglio da parte della Cassa Edile. L'importo va arrotondato all'unità di euro. Data inizio mal/inf Data 10,0 27 1 Note: Indicare la data di effettivo inizio della malattia, infortunio o malattia professionale, anche se avvenuto nei mesi precedenti (nel formato gg/mm/aaaa). Il giorno in cui è avvenuto l'infortunio è a carico dell'impresa per intero, per cui non va indicato. Giorno Fine mal/inf Numero 2,0 27 2 0 Note: Indicare il giorno di termine di malatia, infortunio, o malattia professionale nel caso in cui questo ricada all'interno del mese di riferimento della denuncia. Tipo mal./inf. Testo 1,0 27 3 Lista Valori: I - Infortunio; M Malattia; P Malattia Professionale; Note: Indicare "M" nel caso di malattia, "I" nel caso di infortunio o malattia professionale. Ricaduta Testo 1,0 28 1 Lista Valori: S - Ricaduta; Note: Indicare "S" nel caso in cui l'evento sia dovuto ad una ricaduta Giorno Ricaduta Numero 2,0 28 2 0 Note: Indicare il Giorno di ricaduta della malattia nel mese di denuncia Ore ass. ingiust. Numero 3,0 28 3 0 Note: Indicare il numero delle ore di assenza ingiustificata nel mese precedente l'evento. Coguaglio/Rimborso Numero 4,0 28 4 0 Note: Indicare l'importo della somma corrisposta al lavoratore, di cui all'impresa compete il rimborso o il conguaglio da parte della Cassa Edile. L'importo va arrotondato all'unità di euro. Data inizio mal/inf Data 10,0 29 1 Note: Indicare la data di effettivo inizio della malattia, infortunio o malattia professionale, anche se avvenuto nei mesi precedenti (nel formato gg/mm/aaaa). Il giorno in cui è avvenuto l'infortunio è a carico dell'impresa per intero, per cui non va indicato. Giorno Fine mal/inf Numero 2,0 29 2 0 Note: Indicare il giorno di termine di malattia, infortunio, o malattia professionale nel caso in cui questo ricada all'interno del mese di riferimento della denuncia. Tipo mal./inf. Testo 1,0 29 3 Lista Valori: I - Infortunio; M Malattia; Note: Indicare "M" nel caso di malattia, "I" nel caso di infortunio, P= malattia professionale, T=TBC. Ricaduta Testo 1,0 30 1 Lista Valori: S - Ricaduta; Note: Indicare "S" nel caso in cui l'evento sia dovuto ad una ricaduta Giorno Ricaduta Numero 2,0 30 2 0 Note: Indicare il Giorno di ricaduta nel mese di denuncia Ore ass.ing. Numero 3,0 30 3 Sempre 0 Note: Non Gestito. Ore soggette ai provvedimenti disciplinari previsti dalla norma del contratto, avvenute nel mese di calendario precedente l'inizio dell'evento. Il trattamento economico dovuto dall'impresa all'operaio è ridotto di 1/173 per ogni ora di assenz Conguaglio/Rimborso Numero 4,0 30 4 0 Note: Non Gestito. Iimporto dell'indennità integrativa di infortunio sul lavoro , malattia professionale che viene richiesto a rimborso, arrotondato all'unità di Euro. Anno recupero 1 Numero 4,0 31 1 0 Note: Anno di competenza del versamento pregresso Mese competenza 1 Numero 2,0 31 2 0 Note: Mese di competenza del versamento pregresso Contrib. Ditta Numero 4,0 31 3 0 Note: Importo contributo a carico della ditta relativo al periodo anno / mese indicato Contrib. Lavoratore Numero 4,0 32 1 0 Note: Importo contributo obbligatorio a carico del lavoratore relativo al periodo anno / mese indicato. Contrib. Volontario Numero 4,0 32 2 0 Note: Importo contributo facoltativo a carico del lavoratore relativo al periodo anno / mese indicato Quota TFR Numero 4,0 32 3 0 Note: Importo contributo detratto dal TFR relativo al periodo anno / mese indicato Rivalutazione Numero 4,0 32 4 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo Anno recupero 2 Numero 4,0 33 1 0 Note: Anno di competenza del versamento pregresso Mese competenza 2 Numero 2,0 33 2 0 Note: Mese di competenza del versamento pregresso Contrib. Ditta Numero 4,0 33 3 0 Note: Importo contributo a carico della ditta relativo al periodo anno / mese indicato Contrib. Lavoratore Numero 4,0 34 1 0 Note: Importo contributo obbligatorio a carico del lavoratore relativo al periodo anno / mese indicato. Contrib. Volontario Numero 4,0 34 2 0 Note: Importo contributo facoltativo a carico del lavoratore relativo al periodo anno / mese indicato Quota TFR Numero 4,0 34 3 0 Note: Importo contributo detratto dal TFR relativo al periodo anno / mese indicato Rivalutazione Numero 4,0 34 4 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo Anno recupero 3 Numero 4,0 35 1 0 Note: Anno di competenza del versamento pregresso Mese competenza 3 Numero 2,0 35 2 0 Note: Mese di competenza del versamento pregresso Contrib. Ditta Numero 4,0 35 3 0 Note: Importo contributo a carico della ditta relativo al periodo anno / mese indicato Contrib. Lavoratore Numero 4,0 36 1 0 Note: Importo contributo obbligatorio a carico del lavoratore relativo al periodo anno / mese indicato. Contrib. Volontario Numero 4,0 36 2 0 Note: Importo contributo facoltativo a carico del lavoratore relativo al periodo anno / mese indicato Quota TFR Numero 4,0 36 3 0 Note: Importo contributo detratto dal TFR relativo al periodo anno / mese indicato Rivalutazione Numero 4,0 36 4 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo Anno recupero 4 Numero 4,0 37 1 0 Note: Anno di competenza del versamento pregresso Mese competenza 4 Numero 2,0 37 2 0 Note: Mese di competenza del versamento pregresso Contrib. Ditta Numero 4,0 37 3 0 Note: Importo contributo a carico della ditta relativo al periodo anno / mese indicato Contrib. Lavoratore Numero 4,0 38 1 0 Note: Importo contributo obbligatorio a carico del lavoratore relativo al periodo anno / mese indicato. Contrib. Volontario Numero 4,0 38 2 0 Note: Importo contributo facoltativo a carico del lavoratore relativo al periodo anno / mese indicato Quota TFR Numero 4,0 38 3 0 Note: Importo contributo detratto dal TFR relativo al periodo anno / mese indicato Rivalutazione Numero 4,0 38 4 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo Anno Recupero 5 Numero 4,0 39 1 0 Note: Anno di competenza del versamento pregresso Mese competenza 5 Numero 2,0 39 2 0 Note: Mese di competenza del versamento pregresso Contrib. Ditta Numero 4,0 39 3 0 Note: Importo contributo a carico della ditta relativo al periodo anno / mese indicato Contrib. Lavoratore Numero 4,0 40 1 0 Note: Importo contributo obbligatorio a carico del lavoratore relativo al periodo anno / mese indicato. Contrib. Volontario Numero 4,0 40 2 0 Note: Importo contributo facoltativo a carico del lavoratore relativo al periodo anno / mese indicato Quota TFR Numero 4,0 40 3 0 Note: Importo contributo detratto dal TFR relativo al periodo anno / mese indicato Rivalutazione Numero 4,0 40 4 0 Note: Importo della rivalutazione effettuata sulla quota TFR per effetto del decreto ex art. 1 comma 765 legge 296/06 del 30 Gennaio 2007, ovvero altri indennizzi richiesti dalla Cassa Edile per il ritardato versamento del contributo SEZIONE: 4 - Riepilogo accantonamenti e contributi NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO CALC. Tot. Imponibile GNF e Numero 7,0 contr. 1 1 Protetto 0 Calcolato Espressione di Calcolo: TOTIMPGNF=TOTALE("LAVIMPGNF") Note: Totale Retribuzione imponibile ai fini dell'accantonamento di gratifica natalizia e ferie corrispondente alla somma degli imponibili GNF indicati per ciascun lavoratore. Tot. Imponib. Contr. Numero 7,0 1 2 Protetto 0 Calcolato Protetto 0 Calcolato Protetto 14,20 Espressione di Calcolo: TOTIMPCONTR= TOTALE("LAVIMPCONTR") Note: Totale Imponibile contributivo Tot. Imponib. TFR Numero 7,0 1 3 Espressione di Calcolo: TOTIMPTFR=TOTALE("LAVIMPTFR") Note: Totale Imponibile TFR % Accantonamento Numero 7,4 2 1 Note: Percentuale di accantonamento 1. Tot. Accantonamento Numero 7,0 2 2 Protetto 0 Calcolato Espressione di Calcolo: TOTACCGNF=TOTALE("LAVACCGNF") + TOTALE("LAVGNFFERIE") Note: Importo dell'accantonamento globale netto per le ore lavorative costituito dalla somma degli accantonamenti GNF e degli Accantonamenti Ferie di ciascun lavoratore. 2. Tot. Accant. Mal./Iinf. Numero 7,0 2 3 Protetto 0 Calcolato Espressione di Calcolo: TOTGNFMALINF=TOTALE("LAVGNFMALINF") Note: Totale accantonamento G.N.F. globale netto per le ore di assenza per Malattia, Infortunio o malattia professionale. 3. Tot. N.1 + N.2 Numero 7,0 2 4 Protetto 0 Calcolato Espressione di Calcolo: TOTACC=TOTACCGNF + TOTGNFMALINF Note: Totale accantonamento (accantonamento ore lavorate + accantonamento malattie e infortuni). % Contributi Numero 7,4 3 1 Protetto 0 Note: Percentuale di calcolo dei contributi dovuti alla Cassa Edile 4. Contributi Numero 7,0 3 2 Protetto 0 Calcolato Espressione di Calcolo: TOTCONTR=Clng(TOTIMPCONTR * TOTPERCCONTR / 100) Note: Importo totale dei contributi dovuti alla Cassa Edile 5. Contrib. Prev. Numero 7,0 3 3 Protetto 0 Calcolato Complem. Espressione di Calcolo: TOTCONTRCOMPL=TOTALE("LAVIMPPREV1") + TOTALE("LAVIMPPREV2") + TOTALE ("LAVIMPPREV3") + TOTALE("LAVIMPPREV4") + TOTALE("LAVPREPCONTLAV") + TOTALE ("LAVPREPCONTVOL") + TOTALE("LAVPREPCONTDITT") + TOTALE("LAVPREPQTFR") + TOTALE("LAVPREPRIVAL") Note: Contributi previdenziali complementari - PREVEDI 6. Crediti/Debiti prec. Numero 9,0 3 4 0 Note: Importo Crediti (segno -) o Debiti precedenti Di cui Prevedi Pregresso Numero 9,0 3 4 Protetto 0 Calcolato Espressione di Calcolo: TOTPREVPRE = 0 TOTPREVPRE =TOTALE("LAVPREPCONTLAV") + TOTALE ("LAVPREPCONTVOL") + TOTALE("LAVPREPCONTDITT") + TOTALE("LAVPREPQTFR") + TOTALE("LAVPREPRIVAL") Note: Totale Importi Prevedi periodi pregressi % Contr. Ass. Impr. Numero 7,4 4 1 Protetto 0 Note: Il campo dovrà essere utilizzato dalle imprese che provvedono al versamento del contributo a favore delle Associazioni dei Datori di Lavoro 7. Contrib. assoc. imprese Numero 9,0 4 2 Protetto 0 Calcolato Espressione di Calcolo: TOTCONTRASSIMPR=Clng(TOTIMPCONTR * TOTPERCCONTRASS / 100) Note: Contributo associativo per imprese iscritte all'ANCE della provincia. % Contr. Ass. F/P Numero 7,4 4 3 Protetto 0 Note: % di Calcolo dei contributi asociativi per imprese Fuori Provincia 7.1 Contr. Ass. Fuori Prov. Numero 9,0 4 4 Protetto 0 Calcolato Espressione di Calcolo: TOTCONTRASSFP=Clng(TOTIMPCONTR * TOTPERCCONTRFP / 100) Note: Contributi Associativi Fuori Provincia Versa Contrib. RLST Testo 1,0 5 1 Protetto % Contrib. RLST Numero 5,3 5 2 Protetto 8. Contributo RLST Numero 9,0 5 3 0 Conguaglio Numero 7,0 6 1 0 0 Note: Indicare l'importo di eventuali differenze a Credito o a Debito, comunicato preventivamente dalla Cassa Edile Tot. Ore Malattia Numero 6,0 6 1 Protetto 0 Calcolato Espressione di Calcolo: TOTOREMAL = TOTALE("LAVOREMAL") Note: Totale delle ore di malattia registrate per tutti i lavoratori presenti nella denuncia, escluse le ore di carenza. *9. Totale da versare Numero 9,0 6 3 Protetto 0 Calcolato Espressione di Calcolo: TOTDAVERSARE = TOTACCGNF + TOTGNFMALINF + TOTCONTR + TOTCONTRCOMPL + TOTCONTRASSIMPR + TOTCONTRASSFP + TOTIMPDIFF + TOTCONTRRLST TOTCONGUAGLIO IF TOTDAVERSARE < 0 THEN TOTDAVERSARE = 0 END IF Note: Importo da versare alla Cassa Edile (accantonamento ore lavorate + accantonamento mal./inf. + contributi + contributi prev. compl. + contributi assoc. imprese della prov. + contributi assoc. imprese fuori prov.- conguaglio). N.B. se il risultato è inferiore a zero va riportato nel campo importo a credito. 10. Importo a credito Numero 9,0 6 4 Protetto 0 Calcolato Espressione di Calcolo: TOTIMPCREDITO = 0 Dim TOT TOT = TOTACCGNF + TOTGNFMALINF + TOTCONTR + TOTCONTRCOMPL + TOTCONTRASSIMPR + TOTCONTRASSFP + TOTIMPDIFF + TOTCONTRRLST - TOTCONGUAGLIO IF TOT < 0 THEN TOTIMPCREDITO = -1 * TOT END IF Note: L'importo a credito va riportato solo nel caso in cui l'importo conguaglio sia superiore al totale (accantonamento ore lavorate + accantonamento mal./inf. + contributi assoc. imprese della provincia + contributi assoc. imprese fuori provincia). Tot. da Versare Importato Numero 9,0 6 4 Protetto 0 Note: Importo del Totale da Versare importato dal file Paghe. Viene evidenziato con messaggio d'avviso l'eventuale discordanza tra l'importo da versare calcolato e quello indicato nel file di impotazione prodotto dalla procedura Paghe dell'utente. Tot. Ore Ordinarie Numero 6,0 7 1 Protetto 0 Calcolato Espressione di Calcolo: Dim X Dim Tot1 X = 0 Tot1 = cdbl(TOTALE("LAVOREORD") ) X = Int(Tot1) If X > 0 Then If (Tot1 / X) > 1 Then X = X + 1 End If End If TOTOREORD = X Note: Totale delle ore ordinarie registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore Infortunio Numero 6,0 7 2 Protetto 0 Calcolato Espressione di Calcolo: TOTOREINF = TOTALE("LAVOREINF") Note: Totale delle ore di infortunio registrate per tutti i lavoratori presenti nella denuncia, escluse le ore di carenza. Tot. Ore Carenza Numero 6,0 7 3 Protetto 0 Calcolato Espressione di Calcolo: TOTORECAR = TOTALE("LAVORECAR") Note: Totale delle ore di carenza del trattamento per malattia e infortunio registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore Ferie Numero 6,0 8 1 Protetto 0 Calcolato Espressione di Calcolo: TOTOREFERIE = TOTALE("LAVOREFERIE") Note: Totale delle ore di ferie registrate per tutti i lavoratori della denuncia. Tot. Ore Festività Numero 6,0 8 2 Protetto 0 Calcolato Espressione di Calcolo: TOTOREFEST = TOTALE("LAVOREFEST") Note: Totale delle ore di festività registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore CIG Numero 6,0 8 3 Protetto 0 Calcolato Espressione di Calcolo: TOTORECIG = TOTALE("LAVORECIG") Note: Totale delle ore di CIG registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore Congedi Numero 6,0 8 4 Protetto 0 Calcolato Espressione di Calcolo: TOTORECONG = TOTALE("LAVORECONG") Note: Totale delle ore per congedi registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore Ass. giustif. Numero 6,0 9 1 Protetto 0 Calcolato Espressione di Calcolo: TOTOREASSGIU = TOTALE("LAVOREASSGIU") Note: Totale delle ore per assenze giustificate registrate per tutti i lavoratori presenti nella denuncia. Tot. Ore Perm. non Numero 6,0 9 2 Protetto 0 Calcolato retr. Espressione di Calcolo: TOTOREPNRET = TOTALE("LAVOREPNRET") Note: Totale delle ore per permessi non retribuiti registrati per tutti i lavoratori presenti nella denuncia. Totale ore Numero 6,0 9 3 Protetto 0 Calcolato Espressione di Calcolo: TOTORE = TOTOREORD + TOTOREMAL + TOTOREINF + TOTORECAR + TOTOREFERIE + TOTOREFEST + TOTORECIG + TOTORECONG + TOTOREASSGIU + TOTOREPNRET Note: Totale Ore registrate per tutti i lavoratori presenti nella denuncia. *Totale lav. in denuncia Numero 4,0 10 1 Protetto 0 Calcolato Espressione di Calcolo: TOTNUMLAV = TOTALE("LAVCNTDIP") Note: Numero complessivo dei lavoratori presenti in denuncia Num. Cantieri Numero 4,0 10 2 Protetto 0 Calcolato Protetto 0 Calcolato 0 Calcolato Espressione di Calcolo: TOTCANT = TOTALE("CANTCONT") Totale Retrib Imp. Cantieri Numero 9,0 10 3 Espressione di Calcolo: TOTRETRCANT = TOTALE("CANTRETRIBIMP") Note: Totale Retibuzione Imponibile Cantieri Prevedi Ditta (Impiegati) Numero 9,0 11 1 Protetto Espressione di Calcolo: TOTPREVDITIMP=TOTALE("LAVIMPPREV1A") + TOTALE("LAVPREPDITT1A") Prevedi Ditta (Operai) Numero 9,0 11 2 Protetto 0 Calcolato Espressione di Calcolo: TOTPREVDITOPE=TOTALE("LAVIMPPREV1B") + TOTALE("LAVPREPDITT1B") Prevedi Lavoratore Obbl. Numero 9,0 11 3 Protetto 0 Calcolato Espressione di Calcolo: TOTPREVLAVOBB=TOTALE("LAVIMPPREV2") + TOTALE("LAVPREPCONTLAV") Prevedi Lavoratore Vol. Numero 9,0 11 4 Protetto 0 Calcolato Espressione di Calcolo: TOTPREVLAVVOL=TOTALE("LAVIMPPREV4") + TOTALE("LAVPREPCONTVOL") Prevedi Quota TFR Numero 9,0 12 1 Protetto 0 Calcolato Espressione di Calcolo: TOTPREVTFR=TOTALE("LAVIMPPREV3") + TOTALE("LAVPREPQTFR") Prevedi Rivalutazione Numero 9,0 12 2 Protetto 0 Calcolato Espressione di Calcolo: TOTPREPRIVAL = TOTALE("LAVPREPRIVAL") SEZIONE: 5 - Denunce Nuovo Lavoro NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO CALC. A) CANTIERE di riferimento Testo 60,0 1 1 Protetto Calcolato Espressione di Calcolo: APPCANTDENOM = "" APPCANTDENOM = FLeggiCampo("CANTPROGR", APPCANT, 2, "CANTDENOM") Progr. Cantiere Riferimento Testo 2,0 1 2 Obblig. Solo Nuovo Note: Indicare il Progressivo del Cantiere NUOVO a cui si riferisce la denuncia di nuovo lavoro. B) TIPO COMMITTENTE Testo 1,0 2 3 Obblig. Lista Valori: 1 - Pubblico; 2 Privato; Tipo Contratto Testo 1,0 2 4 Obblig. Lista Valori: 1 - Appalto; 2 Subappalto; 3 - In Proprio; Committ./Impr. concedente Testo 50,0 3 1 Note: Indicare la Denominazione del Committente o dell'Impresa Concedente Cod. Fisc. Committ. Testo 16,0 3 2 P. IVA Committente Testo 11,0 3 3 Indirizzo committente Testo 50,0 4 1 Città Committente Testo 50,0 4 2 Prov. Committente Testo 2,0 4 3 50,0 5 1 C) Testo COMMITTENTE/ENTE Note: Ragione sociale del committente principale dell'opera. Campo obbligatorio in caso di subappalto. Cod. Fisc. Comm./Ente Testo 16,0 5 2 Note: Codice fiscale del committente principale/Ente dell'opera. Indirizzo Committ./Ente Testo 50,0 6 1 Note: Indirizzo del Committente principale. Campo obbligatorio in caso di subappalto Città Committ./Ente Testo 50,0 6 2 Prov. Committ./Ente Testo 2,0 6 3 D) DESCRIZIONE LAVORI Testo 50,0 7 1 Obblig. Note: Descrivere il genere dei lavori Indirizzo del cantiere Testo 50,0 7 2 Obblig. Data inizio lavori 10,0 8 1 Obblig. Data Note: Data inizio lavori presunta Data fine lavori Data 10,0 8 2 Obblig. Note: Data fine lavori presunta % Incidenza manodopera Numero 5,2 8 3 0 Importo netto lavori Numero 7,0 8 4 Obblig. 0 Num. operai presunto Numero 4,0 8 5 Obblig. 0 Note: Numero presumibile operai da occupare D.I.A./Permesso n° Testo 25,0 9 1 Note: Numero D.I.A. o permesso di costruire Data D.I.A. Data 10,0 9 2 E) Manodopera da utilizzare Testo 1,0 9 3 Note Testo 200,0 10 1 F.1 Impresa Subappaltatrice Testo 50,0 1 12 Lista Valori: 1 - In trasferta da altra CE; 2 - Già iscritta alla CE di PR; 3 - Da iscrivere alla CE di PR; 4 Assunta con Lav. temporaneo; Note: Impresa subappaltatrice Cod. fisc. subapp. Testo 16,0 12 2 Indirizzo subapp. Testo 30,0 13 1 Comune subapp. Testo 50,0 13 2 Prov. subapp. Testo 2,0 13 3 CAP subapp. Testo 5,0 13 4 Manodopera da utilizzare Testo 1,0 13 5 Descr. lavori subappalto Testo 50,0 14 1 Importo lavori subappalto Numero 7,0 14 2 0 Numero operai Numero 4,0 14 3 0 Note: Numero lavoratori subappalto Lista Valori: 1 - In trasferta da altra CE; 2 - Già iscritta alla CE di PR; 3 - Da iscrivere alla CE di PR; 4 Assunta con Lav. temporaneo; Data inizio lavori Data 10,0 14 4 Note: Data inizio lavori presunta Data fine lavori Data 10,0 14 5 Note: Data fine lavori presunta F.2 Impresa Subappaltatrice Testo 50,0 15 1 Note: Impresa subappaltatrice Cod. fisc. subapp. Testo 16,0 15 2 Indirizzo subapp. Testo 30,0 16 1 Comune subapp. Testo 50,0 16 2 Prov. subapp. Testo 2,0 16 3 CAP subapp. Testo 5,0 16 4 Manodopera da utilizzare Testo 1,0 16 5 Descr. lavori subappalto Testo 50,0 17 1 Importo lavori subappalto Numero 7,0 17 2 0 Numero operai Numero 4,0 17 3 0 Note: Numero lavoratori subappalto Data inizio lavori Data 10,0 17 4 Note: Data inizio lavori presunta Data fine lavori Data 10,0 17 5 Note: Data fine lavori presunta F.3 Impresa Subappaltatrice Testo 50,0 18 1 Note: Impresa subappaltatrice Cod. fisc. subapp. Testo 16,0 18 2 Indirizzo subapp. Testo 30,0 19 1 Comune subapp. Testo 50,0 19 2 Prov. subapp. Testo 2,0 19 3 CAP subapp. Testo 5,0 19 4 Lista Valori: 1 - In trasferta da altra CE; 2 - Già iscritta alla CE di PR; 3 - Da iscrivere alla CE di PR; 4 Assunta con Lav. temporaneo; Manodopera da utilizzare Testo 1,0 19 5 Lista Valori: 1 - In trasferta da altra CE; 2 - Già iscritta alla CE di PR; 3 - Da iscrivere alla CE di PR; 4 Assunta con Lav. temporaneo; Descr. lavori subappalto Testo 50,0 20 1 Importo lavori subappalto Numero 7,0 20 2 0 Numero operai Numero 4,0 20 3 0 Note: Numero lavoratori subappalto Data inizio lavori Data 10,0 20 4 Note: Data inizio lavori presunta Data fine lavori Data 10,0 20 5 Note: Data fine lavori presunta SEZIONE: 7 - Storico Eventi di Malattia NOME CAMPO TIPO DIM. RIGA COL. OBBLIG. PROTEZIONE DEFAULT CAMPO LISTA VALORI CAMPO CALC. Data Inizio Evento Data 10,0 1 1 Protetto Tipo Evento Testo 1,0 1 2 Protetto Data Inizio Assenza Data 10,0 1 3 Protetto Data Fine Assenza Data 10,0 1 4 Protetto Ricaduta Testo 1,0 2 5 Protetto Giorni Durata Numero 3,2 2 6 Protetto 0 Carenza Calcolata Numero 7,2 2 7 Protetto 0 Quota Calcolata Numero 7,2 2 8 Protetto 0 ELENCO CONTROLLI SEZIONE: 2 CAMPO: PROGR. CANTIERE Tipo Errore: AVVISO Messaggio errore: Formattazione valore numerico Script di controllo: Questo controllo non emette nessun errore, viene utilizzato solo per memorizzare il Progressivo Cantiere nel formato "00". CONTROLLO=TRUE IF isnumeric(CANTPROGR) THEN IF Len(CANTPROGR) < 2 THEN SETCAMPO "0" & CANTPROGR,"CANTPROGR" END IF END IF CAMPO: C.A.P. CANTIERE Tipo Errore: BLOCCANTE Messaggio errore: Indicare il CAP del Cantiere Script di controllo: CONTROLLO = TRUE IF NOT IsNumeric(CANTCAP) THEN CONTROLLO = FALSE ELSE IF Int(CANTCAP) = 0 THEN CONTROLLO = FALSE IF Len(CANTCAP) < 5 THEN CONTROLLO = FALSE END IF CAMPO: TIPO INDIRIZZO Tipo Errore: AVVISO Messaggio errore: Tipo Indirizzo non valido Script di controllo: CONTROLLO = TRUE Dim CTipoInd IF CANTTIPOVIA <> "" THEN Set CTipoInd = TABELLA("TIPOIND", CANTTIPOVIA) IF CTipoInd is Nothing THEN CONTROLLO = False END IF END IF CAMPO: DESCR. VIA/INDIRIZZO Tipo Errore: AVVISO Messaggio errore: Descrizione Indirizzo non valido Script di controllo: CONTROLLO = True Dim x, i, h, eVero eVero = True x = Trim(CANTINDIRIZZO & "") For i = 1 To Len(x) h = Asc (Mid(x, i, 1)) If h = 32 Or h = 39 Or h = 46 Or h = 44 Or h = 47 or h = 45 Then ' spazio, accento (apostrofo), punto, virgola, slash eVero = True Else If (h >= 65 And h <= 90) Then ' Lettere Maiuscole eVero = True Else If (h >= 97 And h <= 122) Then ' Lettere Minuscole eVero = True Else If (h >= 224 And h <= 255) Then ' Lettere Minuscole accentate eVero = True Else If (h >= 192 And h <= 221) Then ' Lettere Maiuscole accentate eVero = True Else eVero = False Exit For End If End If End If End If End If Next CONTROLLO = eVero ' Controllo Spazi Dim p p = 0 p = Instr(1,CANTINDIRIZZO," ") IF p > 0 THEN CONTROLLO = FALSE CAMPO: *MESE INIZIO Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno cantiere non corretti Script di controllo: CONTROLLO=TRUE IF CANTMESEINIZIO <> "0" THEN IF CANTMESEINIZIO > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE("01/" & CANTMESEINIZIO & "/" & CANTANNOINIZIO) THEN CONTROLLO = FALSE ELSE IF CDATE("01/" & CANTMESEINIZIO & "/" & CANTANNOINIZIO) > cDATE(PERIODOFINE()) THEN CONTROLLO = FALSE END IF IF Len(CANTMESEINIZIO) < 2 THEN SETCAMPO "0" & CANTMESEINIZIO ,"CANTMESEINIZIO" END IF END IF END IF ELSE CONTROLLO = FALSE END IF CAMPO: *ANNO INIZIO Tipo Errore: AVVISO Messaggio errore: Impostazione Anno Script di controllo: CONTROLLO=TRUE IF CANTANNOINIZIO <> "0" THEN IF Len(CANTANNOINIZIO) < 2 THEN SETCAMPO "0" & CANTANNOINIZIO ,"CANTANNOINIZIO" END IF END IF CAMPO: *GIORNO INIZIO Tipo Errore: BLOCCANTE Messaggio errore: Giorno inizio Cantiere non valido Script di controllo: CONTROLLO = TRUE IF CANTCODINTERNO = "" THEN IF CANTGGINIZIO > 0 THEN IF NOT ISDATE (CANTGGINIZIO & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: TIPO CANTIERE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Tipo Cantiere Script di controllo: CONTROLLO = TRUE IF CANTTIPO = 0 THEN CONTROLLO = FALSE END IF CAMPO: GIORNO Tipo Errore: BLOCCANTE Messaggio errore: Giorno non valido per il mese Script di controllo: CONTROLLO = TRUE IF CANTGIORNO > 0 THEN IF NOT ISDATE(CANTGIORNO & "/" & Month(PERIODOINIZIO ()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE END IF END IF CAMPO: SUBAPPALTO Tipo Errore: BLOCCANTE Messaggio errore: Indicare segnale subappalto Script di controllo: CONTROLLO = TRUE IF CANTTIPO = 4 THEN IF CANTSUBAPP = "" THEN CONTROLLO = FALSE END IF END IF CONTROLLI DI RIEPILOGO DELLA SEZIONE 2 Tipo Errore: BLOCCANTE Messaggio errore: Il Cantiere esiste già. Indicare il cantiere con un progressivo diverso Descrizione del controllo: Controlla che non vengano inseriti più Cantieri con lo stesso Progressivo. Tipo Errore: AVVISO Messaggio errore: Attenzione stai eliminando un Cantiere Pubblico Descrizione del controllo: CONTROLLO = TRUE IF CANTTIPO = "1" AND CANTCODINTERNO <> "" THEN CONTROLLO = FALSE Tipo Errore: BLOCCANTE Messaggio errore: Manca Scheda Denuncia nuovo Lavoro/Appalto per il nuovo cantiere Descrizione del controllo: CONTROLLO=TRUE IF CANTCODINTERNO = "" THEN IF Not INLista(CANTPROGR, "APPCANT",5) THEN CONTROLLO = FALSE END IF END IF Tipo Errore: AVVISO Messaggio errore: Compilare la sezione Denuncia nuovo Lavoro per il nuovo cantiere aperto Descrizione del controllo: CONTROLLO=TRUE IF CANTCODINTERNO = "" THEN IF Not INLista(CANTPROGR, "APPCANT",5) THEN CONTROLLO = FALSE END IF END IF SEZIONE: 3 CAMPO: COGNOME Tipo Errore: BLOCCANTE Messaggio errore: Caratteri o numero di spazi non validi Script di controllo: CONTROLLO = True Dim x, i, h, eVero eVero = True x = Trim(LAVCOGNOME & "") For i = 1 To Len(x) h = Asc (Mid(x, i, 1)) If h = 32 Or h = 39 Then ' spazio o accento (apostrofo) eVero = True Else If (h >= 65 And h <= 90) Then ' Lettere Maiuscole eVero = True Else If (h >= 97 And h <= 122) Then ' Lettere Minuscole eVero = True Else If (h >= 224 And h <= 255) Then ' Lettere Minuscole accentate eVero = True Else If (h >= 192 And h <= 221) Then ' Lettere Maiuscole accentate eVero = True Else eVero = False Exit For End If End If End If End If End If Next CONTROLLO = eVero ' Controllo Spazi Dim p p = 0 p = Instr(1,LAVCOGNOME," ") IF p > 0 THEN CONTROLLO = FALSE CAMPO: NOME Tipo Errore: BLOCCANTE Messaggio errore: Caratteri o numero di spazi non validi Script di controllo: CONTROLLO = True Dim x, i, h, eVero eVero = True x = Trim(LAVNOME & "") For i = 1 To Len(x) h = Asc(Mid (x, i, 1)) If h = 32 Or h = 39 Then ' spazio o accento (apostrofo) eVero = True Else If (h >= 65 And h <= 90) Then ' Lettere Maiuscole eVero = True Else If (h >= 97 And h <= 122) Then ' Lettere Minuscole eVero = True Else If (h >= 224 And h <= 255) Then ' Lettere Minuscole accentate eVero = True Else If (h >= 192 And h <= 221) Then ' Lettere Maiuscole accentate eVero = True Else eVero = False Exit For End If End If End If End If End If Next CONTROLLO = eVero ' Controllo Spazi Dim p p = 0 p = Instr(1,LAVNOME," ") IF p > 0 THEN CONTROLLO = FALSE CAMPO: CODICE FISCALE Tipo Errore: AVVISO Messaggio errore: Codice Fiscale errato Script di controllo: Viane eseguito il controllo Formale della struttura del Codice Fiscale e di congruità con i dati Anagrafici del lavoratore indicati (Cognome, Nome, Data di Nascita) CONTROLLO = TRUE 'IF LAVFORZCF <> "F" THEN CONTROLLO = ControlloCodiceFiscale(LAVCODFISCALE, LAVCOGNOME,LAVNOME, LAVDATANASCITA, "","") 'IF CONTROLLO = FALSE THEN 'SETCAMPO "S","LAVFORZCF" 'ELSE 'SETCAMPO "","LAVFORZCF" 'END IF Tipo Errore: AVVISO Messaggio errore: Manca Codice Fiscale Script di controllo: CONTROLLO = TRUE IF LAVCODFISCALE = "" THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Codice Fiscale < 16 caratteri Script di controllo: Controllo Bloccante se il Codice Fiscale è minore di 16 caratteri. CONTROLLO = TRUE IF LAVCODFISCALE <> "" THEN IF LEN(LAVCODFISCALE) < 16 THEN CONTROLLO = FALSE END IF CAMPO: DATA DI NASCITA Tipo Errore: BLOCCANTE Messaggio errore: Inserire una Data di Nascita Valida Script di controllo: Controlla che la Data di Nascita sia compreso in un intervallo valido e che il Lavoratore abbia almeno 15 anni di età. CONTROLLO = TRUE IF ISDATE(LAVDATANASCITA) THEN IF (Cdate(LAVDATANASCITA) < Cdate ("01/01/1900")) or (Cdate(LAVDATANASCITA) > Cdate(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ETA(LAVDATANASCITA,cdate(PERIODOFINE()) < 15 THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: COMUNE DI NASC. Tipo Errore: BLOCCANTE Messaggio errore: Inserire Comune e Provincia di Nascita Script di controllo: CONTROLLO = TRUE IF LAVCODFISCALE <> "" THEN IF LAVCOMNAS = "" THEN CONTROLLO = FALSE END IF END IF CAMPO: PROV. DI NASC. Tipo Errore: BLOCCANTE Messaggio errore: Inserire Provincia di Nascita Script di controllo: CONTROLLO = TRUE IF LAVCODFISCALE <> "" THEN IF LAVPROVNAS = "" THEN CONTROLLO = FALSE END IF END IF CAMPO: TIPO INDIRIZZO Tipo Errore: AVVISO Messaggio errore: Tipo indirizzo non valido Script di controllo: CONTROLLO = TRUE 'Dim CTipoInd 'IF LAVTIPOIND <> "" THEN 'Set CTipoInd = TABELLA("TIPOIND", LAVTIPOIND) 'IF CTipoInd is Nothing THEN 'CONTROLLO = False 'END IF 'END IF CAMPO: C.A.P. Tipo Errore: BLOCCANTE Messaggio errore: CAP non Valido Script di controllo: Controlla che il CAP sia un valore numerico. CONTROLLO = TRUE IF LAVCAP <> "" THEN IF NOT IsNumeric(LAVCAP) THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Cap non valido per il Comune Script di controllo: CONTROLLO = TRUE dim cCap dim Capcitta IF LAVCAP <> "" AND LAVCOMUNE <> "" THEN Set cCap = TABELLA("TABCAP", LAVCOMUNE) IF Not cCap is Nothing THEN CapCitta = cCap("CAPNGEN") IF CapCitta <> "" THEN IF left(LAVCAP,2) <> Left(Capcitta,2) THEN CONTROLLO = FALSE oMESS = "Cap non valido per il Comune " & LAVCOMUNE END IF IF LAVCAP = Capcitta THEN CONTROLLO = FALSE oMESS = "Cap generico non valido per il Comune " & LAVCOMUNE END IF END IF END IF END IF CAMPO: CANTIERE Tipo Errore: BLOCCANTE Messaggio errore: Indicare un Cantiere tra quelli inseriti Script di controllo: Controlla che il Progressivo Cantiere sia uno tra quelli elencati nella Sezione Cantieri per gli Operai CONTROLLO=TRUE IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q" THEN IF LAVCANT<> "" THEN IF IsNumeric(LAVCANT) THEN IF Len(LAVCANT) < 2 THEN SETCAMPO "0" & LAVCANT,"LAVCANT" LAVCANT = "0" & LAVCANT END IF END IF IF Not INLista(LAVCANT, "CANTPROGR",2) THEN CONTROLLO = FALSE ELSE IF TOTALE("CANTCONT") > 0 THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: DATA ASSUNZIONE Tipo Errore: BLOCCANTE Messaggio errore: Inserire una Data di Assunzione Valida per il Periodo Script di controllo: Controlla che la data di Assunzione non sia successiva al Periodo di Denuncia. CONTROLLO = TRUE IF ISDATE(LAVDATAASS) THEN IF (Cdate(LAVDATAASS) > Cdate(PERIODOFINE())) or (Cdate(LAVDATAASS) < Cdate("01/01/1900")) THEN CONTROLLO = FALSE END IF END IF CAMPO: GIORNO CESSAZIONE Tipo Errore: BLOCCANTE Messaggio errore: Giorno non valido per il Mese Script di controllo: Controlla che il Giorno di cessazione sia un giorno valido all'interno del Periodo di Denuncia. CONTROLLO = TRUE IF LAVGGCESS > 0 THEN IF NOT ISDATE(LAVGGCESS & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare Giorno e Tipo Cessazione Script di controllo: Controlla che siano indicati entrambi (o nessuno) dei campi Tipo e Giorno di Cessazione del rapporto di lavoro. CONTROLLO = TRUE IF (LAVTIPOCESS = 0 AND LAVGGCESS > 0) OR (LAVTIPOCESS > 0 AND LAVGGCESS = 0) THEN CONTROLLO = FALSE END IF CAMPO: LIVELLO Tipo Errore: AVVISO Messaggio errore: Attenzione: Non è ammesso diminuire il Livello del dipendente Script di controllo: Controlla che non venga indicato per il Lavoratore un Livello (categoria) inferiore a quella del mese precedente in base ai dati inviati dalla Cassa Edile. CONTROLLO = TRUE IF LAVLIVELLOP <> "" THEN IF LAVLIVELLO < LAVLIVELLOP THEN CONTROLLO = FALSE END IF END IF CAMPO: MANSIONE Tipo Errore: BLOCCANTE Messaggio errore: Mansione non consentita per il Livello-Qualifica Script di controllo: Controlla che per le Categorie Impiegati e Quadri non venga indicata una mansione diversa dal valore "00". CONTROLLO = TRUE IF LAVMANS <> "" THEN IF (LEFT(LAVLIVELLO ,1) = "I" OR LEFT(LAVLIVELLO ,1) = "Q") THEN IF LAVMANS <> "00" THEN CONTROLLO = FALSE ELSE IF LAVMANS = "00" THEN CONTROLLO = FALSE END IF END IF CAMPO: PAGA ORARIA Tipo Errore: BLOCCANTE Messaggio errore: Paga Oraria MINORE di quella consentita per il Livello e Contratto Script di controllo: Viene controllato che il valore della Paga Oraria indicata non sia minore (con tolleranza di 2 centesimi) a quella prevista nella Tabella Paghe per il Livello e il Contratto del Lavoratore. CONTROLLO = TRUE Dim Cpag Dim Paga Dim TipoPaga IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT (LAVLIVELLO ,1) <> "Q" THEN Paga = 0 TipoPaga = CAMPO("TESCCNL",1) SELECT CASE TipoPaga CASE "I", "Z" Set Cpag = TABELLA("PAGIND", LAVLIVELLO) CASE "A" Set Cpag = TABELLA("PAGART", LAVLIVELLO) CASE "C", "E" Set Cpag = TABELLA("PAGCOOP", LAVLIVELLO) CASE "P" Set Cpag = TABELLA("PAGPMI", LAVLIVELLO) END SELECT IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) IF LAVALTRIDATI1 > 0 THEN IF Paga > 0 Then IF LAVALTRIDATI1 < (Paga - 0.02) THEN CONTROLLO = False END IF END IF ELSE LAVALTRIDATI1 = Paga SETCAMPO Paga,"LAVALTRIDATI1" END IF END IF END IF CAMPO: IMPONIBILE G.N.F. Tipo Errore: BLOCCANTE Messaggio errore: Imponibile GNF inferiore a quello previsto in base alla Paga Oraria e le Ore Ordinarie e Festive indicate. Script di controllo: Viene controllato che l'Imponibile GNF indicato non sia inferiore (con tolleranza di 1 euro) a quanto calcolato moltiplicando la Paga Oraria indicata (o minima prevista nella Tabella Paghe) e il numero di Ore Ordinarie + le Ore Festive indicate in denuncia. CONTROLLO = TRUE Dim Cpag Dim Paga Dim TipoPaga Dim LAVIMPGNFW LAVIMPGNFW = 0 Paga = LAVALTRIDATI1 IF (LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q") THEN IF Paga = 0 THEN TipoPaga = CAMPO("TESCCNL",1) SELECT CASE TipoPaga CASE "I","Z" Set Cpag = TABELLA("PAGIND", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "A" Set Cpag = TABELLA ("PAGART", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "C", "E" Set Cpag = TABELLA("PAGCOOP", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "P" Set Cpag = TABELLA("PAGPMI", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag ("PAGMIN")) END IF END SELECT END IF IF LAVIMPGNF = 0 THEN IF Paga > 0 THEN LAVIMPGNFW = Clng(Paga * (LAVOREORD + LAVOREFEST)) LAVIMPGNF = LAVIMPGNFW SETCAMPO LAVIMPGNFW, "LAVIMPGNF" ELSE IF (LAVOREORD + LAVOREFEST) > 0 THEN CONTROLLO = FALSE oMess = "Indicare Imponibile GNF per le Ore Ordinarie e Festive indicate." END IF END IF ELSE IF LAVIMPGNF < (Paga * (LAVOREORD + LAVOREFEST) - 1) THEN CONTROLLO = False END IF END IF END IF Tipo Errore: AVVISO Messaggio errore: Attenzione: Imponibile GNF troppo alto Script di controllo: CONTROLLO = TRUE Dim Cpag Dim Paga Dim TipoPaga Dim LAVIMPGNFW LAVIMPGNFW = 0 Paga = LAVALTRIDATI1 IF (LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q") THEN IF Paga = 0 THEN TipoPaga = CAMPO("TESCCNL",1) SELECT CASE TipoPaga CASE "I","Z" Set Cpag = TABELLA("PAGIND", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "A" Set Cpag = TABELLA ("PAGART", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "C", "E" Set Cpag = TABELLA("PAGCOOP", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag("PAGMIN")) END IF CASE "P" Set Cpag = TABELLA("PAGPMI", LAVLIVELLO) IF Not Cpag is Nothing THEN Paga = cDbl(Cpag ("PAGMIN")) END IF END SELECT END IF IF LAVIMPGNF > clng(Paga * (LAVOREORD + LAVOREFEST) * 1.3) THEN CONTROLLO = False END IF END IF CAMPO: IMPONIBILE CONTRIB. Tipo Errore: BLOCCANTE Messaggio errore: Manca Imponibile Contributivo Script di controllo: Controlla che venga, se sono presenti Ore Ordinarie o Ore Festive, venga indicato anche l'Imponibile Contributivo. CONTROLLO = TRUE IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q" THEN IF LAVOREORD > 0 OR LAVOREFEST > 0 THEN IF LAVIMPCONTR = 0 THEN ' se caposquadra IF LAVMANS = "20" THEN CONTROLLO = FALSE ELSE SETCAMPO LAVIMPGNF, "LAVIMPCONTR" END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Imponibile Contributivo NON deve essere > Imponib. GNF Script di controllo: CONTROLLO = TRUE IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q" THEN IF LAVIMPCONTR > 0 THEN IF LAVIMPCONTR > LAVIMPGNF THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: IMPONIBILE TFR Tipo Errore: BLOCCANTE Messaggio errore: Inserire Imponibile TFR per il Lavoratore che aderisce al PREVEDI Script di controllo: Verifica che se: il Lavoratore Aderisce al PREVEDI e non abbia interrotto il rapporto di lavoro entro il 15 del mese e abbia Ore Ordinarie e un Imponibile GNF > 0, venga indicato l'Imponibile TFR al fine del controllo dei campi PREVEDI. CONTROLLO = TRUE dim GGASS GGASS = 0 IF LAVFLAGADE = "S" OR LAVMODADETFR = "T" THEN IF IsDate (LAVDATAASS) THEN IF Month(PERIODOINIZIO()) = Month(CDate(LAVDATAASS)) AND Year(PERIODOINIZIO()) = Year(CDate(LAVDATAASS)) THEN GGASS = Day(CDate(LAVDATAASS)) END IF END IF IF (LAVGGCESS = 0 OR LAVGGCESS > 15) AND GGASS < 16 THEN IF NOT (LAVGGCESS > 0 AND GGASS > 0 AND (LAVGGCESS GGASS) < 15) THEN IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q" THEN ' Operai IF LAVOREORD > 0 OR LAVOREFEST > 0 OR LAVIMPGNF > 0 OR LAVGNFMALINF > 0 THEN IF LAVIMPTFR = 0 THEN CONTROLLO = FALSE END IF END IF ELSE ' Impiegati IF LAVIMPTFR = 0 THEN CONTROLLO = FALSE END IF ' fine END IF END IF END IF END IF Tipo Errore: AVVISO Messaggio errore: L'Imponibile TFR non può essere minore dell'Imponibile GNF Script di controllo: Controlla che l'Imponibile TFR eventualmente indicato non sia inferiore all'Imponibile GNF. CONTROLLO = TRUE IF LAVMANS <> 20 THEN IF LAVIMPTFR > 0 THEN IF LAVIMPTFR < LAVIMPGNF THEN CONTROLLO = FALSE END IF END IF CAMPO: ORE ORDINARIE Tipo Errore: BLOCCANTE Messaggio errore: Per le Ore parziali vanno indicate solo le mezz'ore con ,5 Script di controllo: CONTROLLO = TRUE Dim X Dim Tot1 X = 0 Tot1 = cdbl(LAVOREORD) X = Int(LAVOREORD) If (Tot1 - X) > 0 Then If (Tot1 - X) <> 0.5 Then CONTROLLO = FALSE End If End If CAMPO: ORE MALATTIA Tipo Errore: BLOCCANTE Messaggio errore: Mancano le Ore di Malattia, o di Carenza o di Infortunio per i dati di malattia inseriti Script di controllo: Viene controllato che in presenza di uno o più periodi di malattia siano indicate anche le Ore di Malattia o Infortunio o Carenza. CONTROLLO = TRUE IF LAVOREMAL = 0 AND LAVOREINF = 0 AND LAVORECAR = 0 AND (LAVINIZIOMAL1 <> "" OR LAVINIZIOMAL2 <> "" OR LAVINIZIOMAL3 <> "") THEN CONTROLLO = False END IF Tipo Errore: BLOCCANTE Messaggio errore: Mancano le Ore di assenza e i Dati di Malattia per l' Acc. GNF Malattia/Infortuni inserito Script di controllo: Viene controllato che in presenza di un Importo di Accantonamento GNF per Malattia/Infortunio vengano indicate anche le Ore di Malattia o Infortunio o Carenza. CONTROLLO = TRUE IF LAVGNFMALINF > 0 AND LAVOREMAL = 0 AND LAVOREINF = 0 AND LAVORECAR = 0 THEN CONTROLLO = False END IF CAMPO: ORE FESTIVITÀ Tipo Errore: AVVISO Messaggio errore: Ore di Festività < di quelle previste Script di controllo: Viene controllato che le Ore di Festività non siano inferiori a quelle previste dal calendario delle Festività del Periodo di Denuncia. Il controllo non tiene conto della Festività del Patrono, mentre nel caso in cui il Lavoratore sia assunto e/o licenziato o dimesso nel Mese conteggia solo le Festività che ricadono nel periodo di lavoro. CONTROLLO = TRUE Dim sDataIni Dim sDataFine Dim DATAASS Dim OFEST Dim TOTORE OFEST = 0 TOTORE = cdbl(LAVOREORD) + cdbl(LAVOREMAL) + cdbl(LAVOREINF) + cdbl(LAVORECAR) + cdbl(LAVOREFERIE) + cdbl (LAVOREFEST) + cdbl(LAVORECIG) + cdbl(LAVORECONG) + cdbl(LAVOREPNRET) IF TOTORE > 0 AND LAVTIPOASS <> 3 THEN DATAASS = LAVDATAASS sDataIni = PERIODOINIZIO() sDataFine = PERIODOFINE() IF LAVGGCESS > 0 THEN sDataFine = Cdate(LAVGGCESS & "/" & Month(PERIODOINIZIO()) & "/" & Year (PERIODOINIZIO())) END IF IF IsDate(DATAASS) THEN IF Cdate(DATAASS) > Cdate(sDataIni) And Cdate (DATAASS) <= Cdate(sDataFine) THEN sDataIni = DATAASS END IF END IF OFEST = Clng(8 * GiorniFest (sDataIni, sDataFine)) IF LAVOREFEST < OFEST THEN CONTROLLO = FALSE END IF END IF CAMPO: ORE PERM RETRIB. Tipo Errore: BLOCCANTE Messaggio errore: Non è ammesso indicare più di 88 Ore di Permesso Retribuito Script di controllo: CONTROLLO = TRUE IF LAVOREA03 > 88 THEN CONTROLLO = FALSE END IF CAMPO: ACCANTONAMENTO G.N.F. Tipo Errore: BLOCCANTE Messaggio errore: L'Accantonamento GNF deve essere il 14,20% dell'Imponibile GNF del Lavoratore Script di controllo: Controlla che l'Accantonamento GNF sia uguale alla Percentuale di Accantonamento prevista dalla Cassa Edile (14,20 %) dell'imponibile GNF. Il controllo ha la tolleranza di +/- 2 euro. CONTROLLO = TRUE Dim LAVACCGNFW Dim PercAcc PercAcc = CAMPO("TOTPERCACC", 4) IF PercAcc = 0 THEN PercAcc = 14.20 END IF LAVACCGNFW = 0 IF LEFT(LAVLIVELLO ,1) <> "I" AND LEFT(LAVLIVELLO ,1) <> "Q" THEN IF LAVACCGNF = 0 THEN LAVACCGNFW = clng(LAVIMPGNF * PercAcc / 100) LAVACCGNF = LAVACCGNFW SETCAMPO LAVACCGNFW, "LAVACCGNF" ELSE IF LAVACCGNF < (clng(LAVIMPGNF * PercAcc / 100) - 2) THEN CONTROLLO = False END IF END IF END IF Tipo Errore: AVVISO Messaggio errore: Accantonamento GNF > 14.20% dell'Imponibile GNF Script di controllo: CONTROLLO = TRUE IF LAVACCGNF > (clng(LAVIMPGNF * 14.20 / 100) + 2) THEN CONTROLLO = False END IF CAMPO: ACCANTONAMENTO FERIE Tipo Errore: BLOCCANTE Messaggio errore: Accantonamento Ferie minore del minimo calcolato Script di controllo: CONTROLLO = TRUE Dim TipoPaga Dim PercAcc PercAcc = CAMPO("TOTPERCACC", 4) IF PercAcc = 0 THEN PercAcc = 14.20 END IF TipoPaga = CAMPO("TESCCNL",1) ' Se cooperativa IF TipoPaga = "P" THEN IF LAVGNFFERIE = 0 THEN IF LAVOREFERIE > 0 OR LAVOREA03 > 0 THEN CONTROLLO = FALSE oMess = "Indicare Accantonamento Ferie per le ore di ferie inserite" END IF ELSE IF LAVGNFFERIE < (clng((LAVOREFERIE + LAVOREA03) * LAVALTRIDATI1 * PercAcc / 100) - 1) THEN CONTROLLO = False END IF END IF END IF CAMPO: ACCANTON. G.N.F. MAL/INF Tipo Errore: AVVISO Messaggio errore: Accant. GNF Malattia < del minimo Script di controllo: Controlla che l'Accantonamento GNF per Malattia/Infortuni sia: A) Nel Caso di Malattia non inferiore alla Percentuale di Accantonamento prevista dalla Cassa Edile (14,20 %) dell'imponibile calcolato moltiplicando la Paga Oraria per le Ore di Malattia + le Ore di Carenza. B) Nel caso di Infortunio controlla che l'Accantonamento GNF sia uguale alla Percentuale di Accantonamento variabile in base ai giorni totali di Infortunio (14,20 % fino a 3 Giorni, 5,7% da 3 a 90 GG, 3,6% oltre i 90 GG) dell'imponibile GNF calcolato moltiplicando la Paga Oraria per le Ore di Infortunio + le Ore di Carenza. Il controllo ha la tolleranza di +/- 1 euro. CONTROLLO = TRUE Dim PercAcc PercAcc = CAMPO("TOTPERCACC", 4) IF PercAcc = 0 THEN PercAcc = 14.20 END IF IF LAVOREINF = 0 THEN IF LAVGNFMALINF < (clng((LAVOREMAL + LAVORECAR) * LAVALTRIDATI1 * PercAcc / 100) - 1) THEN CONTROLLO = False END IF ELSE ' Se Infortunio calcolo Giorni di Infortunio Dim FineMal Dim GGINF GGINF = 0 ' Periodo 1 IF LAVTIPOMAL1 = "I" THEN IF LAVFINEMAL1 > 0 THEN FineMal = Cdate(LAVFINEMAL1 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) ELSE FineMal = Cdate (PERIODOFINE()) END IF IF ISDATE(LAVINIZIOMAL1) THEN GGINF = DateDiff("d", CDate(LAVINIZIOMAL1), CDate(FineMal )) + 1 END IF END IF ' Periodo 2 IF LAVTIPOMAL2 = "I" THEN IF LAVFINEMAL2 > 0 THEN FineMal = Cdate(LAVFINEMAL2 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) ELSE FineMal = Cdate(PERIODOFINE()) END IF IF ISDATE(LAVINIZIOMAL2) THEN GGINF = GGINF + DateDiff("d", CDate (LAVINIZIOMAL2), CDate(FineMal )) + 1 END IF END IF IF GGINF > 0 THEN IF GGINF <= 3 THEN IF LAVGNFMALINF < (clng((LAVOREINF + LAVORECAR) * LAVALTRIDATI1 * 14.20 / 100) - 1) THEN CONTROLLO = False END IF END IF IF GGINF > 3 AND GGINF <= 90 THEN IF LAVGNFMALINF < (clng((LAVOREINF + LAVORECAR) * LAVALTRIDATI1 * 5.7 / 100) - 1) THEN CONTROLLO = False END IF END IF IF GGINF > 90 THEN IF LAVGNFMALINF < (clng((LAVOREINF + LAVORECAR) * LAVALTRIDATI1 * 3.6 / 100) - 1) THEN CONTROLLO = False END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare Accantonamento Malattia/Infortunio per le ore di assenza inserite Script di controllo: CONTROLLO = TRUE IF LAVGNFMALINF = 0 AND (LAVOREMAL > 0 OR LAVOREINF > 0 OR LAVORECAR > 0) THEN CONTROLLO = False END IF CAMPO: ADESIONE FONDO PREVEDI Tipo Errore: BLOCCANTE Messaggio errore: Non è ammesso cancellare l'Adesione al FONDO Previdenziale Script di controllo: CONTROLLO = TRUE IF LAVFLAGADEP = "S" THEN IF LAVFLAGADE = "" THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Non è ammesso cancellare l'Adesione al FONDO Previdenziale Script di controllo: CONTROLLO = TRUE IF LAVFLAGADEP = "S" THEN IF LAVFLAGADE = "" THEN CONTROLLO = FALSE END IF END IF CAMPO: TIPO ADESIONE TFR Tipo Errore: BLOCCANTE Messaggio errore: Indicare il campo Tipo Adesione TFR per lavoratore aderente al Prevedi Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE = "S" THEN IF LAVFLAGPASS = "" THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare il segnale di Tipo Adesione TFR se il lavoratore NON aderisce al Fondo Prevedi o aderisce in forma silente Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE = "" THEN IF LAVFLAGPASS <> "" THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito modificare il valore impostato dalla Cassa Edile Script di controllo: CONTROLLO = TRUE IF LAVFLAGPASSP <> "" AND LAVFLAGADEP = "S" THEN IF NOT (LAVFLAGPASSP = "1" AND LAVFLAGPASS = "3") THEN IF LAVFLAGPASSP <> LAVFLAGPASS THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: MODALITÀ ADESIONE Tipo Errore: BLOCCANTE Messaggio errore: L'adesione parziale (solo quota TFR) non può essere modificata in adesione tacita Script di controllo: CONTROLLO = TRUE IF LAVMODADETFRP = "P" THEN IF LAVMODADETFR = "T" THEN oMess = "L'adesione parziale (solo quota TFR) non può essere modificata in adesione tacita" CONTROLLO = FALSE END IF END IF IF LAVMODADETFRP = "T" THEN IF (LAVMODADETFR = "" OR LAVMODADETFR = "P") AND LAVFLAGADE = "" THEN oMess = "L'adesione tacita può essere modificata solo in caso di adesione esplicita al fondo" CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Per adesione parziale è obbligatorio compilare il campo Adesione Fondo Previd.= S Script di controllo: CONTROLLO = TRUE IF LAVMODADETFR = "P" AND LAVFLAGADE = "" THEN CONTROLLO = FALSE END IF CAMPO: ADESIONE DOPO 01/01/2007 Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito modificare il valore impostato dalla Cassa Edile Script di controllo: CONTROLLO = TRUE IF LAVFLAGDATAADEP <> "" AND LAVFLAGDATAADEP <> LAVFLAGDATAADE THEN CONTROLLO = FALSE END IF CAMPO: FONDO PREV. COMPLEM. Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito modificare il valore impostato dalla Cassa Edile Script di controllo: CONTROLLO = TRUE IF LAVFONDOPREVP <> "" AND LAVFONDOPREVP <> LAVFONDOPREV THEN CONTROLLO = FALSE END IF CAMPO: DATA SOTTOSCRIZ. MOD. TFR Tipo Errore: BLOCCANTE Messaggio errore: Data sottoscrizione Modello TFR non valida per il periodo (prec. 01/01/2007 o > mese denuncia) Script di controllo: CONTROLLO = TRUE IF ISDATE(LAVDATAMODTFR) THEN IF (Cdate(LAVDATAMODTFR) > Cdate(PERIODOFINE ())) or (Cdate(LAVDATAMODTFR) < Cdate("01/01/2007")) THEN CONTROLLO = False END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Non Indicare Data Sottoscrizione Modello TFR1-TFR2 per Lavoratore che non ha effettuato alcuna scelta Script di controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "NS" OR LAVSCELTATFR = "" THEN IF LAVDATAMODTFR <> "" THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito modificare il valore impostato dalla Cassa Edile Script di controllo: CONTROLLO = TRUE IF IsDate(LAVDATAMODTFRP) AND CDate(LAVDATAMODTFRP) >= CDate("01/01/2007") THEN IF IsDate(LAVDATAMODTFR) THEN IF LAVSCELTATFRP <> "AZ" THEN IF CDate(LAVDATAMODTFRP) <> CDate(LAVDATAMODTFR) THEN CONTROLLO = FALSE END IF ELSE IF CDate(LAVDATAMODTFRP) > CDate (LAVDATAMODTFR) THEN oMess = "La nuova data di sottoscrizione modulo TFR / adesione Fondo deve essere successiva alla data impostata dalla Cassa Edile" CONTROLLO = FALSE END IF END IF ELSE ' è stata cancellata la data CONTROLLO = FALSE END IF END IF CAMPO: SCELTA MODULO TFR Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito modificare il valore impostato dalla Cassa Edile Script di controllo: CONTROLLO = TRUE IF LAVSCELTATFRP <> "" THEN IF LAVSCELTATFR = "" THEN oMess = "Non è possibile cancellare la scelta modulo TFR impostata dalla Cassa Edile" CONTROLLO = FALSE ELSE SELECT CASE LAVSCELTATFRP CASE "AZ" IF LAVSCELTATFR <> "FP" AND LAVSCELTATFR <> "VI" AND LAVSCELTATFR <> "AZ" THEN oMess = "La scelta -AZ- impostata dalla Cassa Edile può essere modificata solamente in -VI- oppure -FP-" CONTROLLO = FALSE END IF CASE "VI" IF LAVSCELTATFR <> "FP" AND LAVSCELTATFR <> "VI" THEN oMess = "La scelta -VI- impostata dalla Cassa Edile può essere modificata solamente in -FP-" CONTROLLO = FALSE END IF CASE "NS" IF LAVSCELTATFR = "AZ" THEN oMess = "Il lavoratore silente (-NS-) non può modificare la scelta in -AZ-" CONTROLLO = FALSE END IF CASE "FP" IF LAVSCELTATFR <> "FP" THEN oMess = "Il lavoratore che ha aderito al fondo (-FP-) non può modificare la scelta" CONTROLLO = FALSE END IF END SELECT END IF END IF CAMPO: NUM FONDO COVIP Tipo Errore: AVVISO Messaggio errore: Imposta in importazione Codice Fondo da COVIP Script di controllo: CONTROLLO = TRUE IF LAVFONDOPREV = "" THEN IF IsNumeric(LAVNUMCOVIP) THEN SELECT CASE Int (LAVNUMCOVIP) CASE 136 SETCAMPO "01", "LAVFONDOPREV" CASE 96 SETCAMPO "02", "LAVFONDOPREV" CASE 116 SETCAMPO "03", "LAVFONDOPREV" END SELECT END IF END IF CAMPO: PREVEDI CONTRIB. DITTA Tipo Errore: BLOCCANTE Messaggio errore: Inserire il Contributo Impresa PREVEDI Script di controllo: Verifica che per il Lavoratore aderente al PREVEDI e che non abbia interrotto il rapporto di lavoro entro il 15 del mese e abbia Ore Ordinarie e un Imponibile GNF > 0, venga indicato il Contributo a Carico Ditta. CONTROLLO = TRUE IF LAVFLAGADE = "S" AND LAVMODADETFR = "" AND LAVIMPTFR > 0 THEN IF LAVIMPPREV1 = 0 THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Il Contributo Previdenziale Impresa deve essere >= 1 % dell'Imp. TFR Script di controllo: Controlla che nel caso di adesione al Prevedi, il Contributo Previdenziale Impresa indicato sia >= dell'1 % dell'Imp. TFR con la tolleranza di 1 euro. CONTROLLO = TRUE IF LAVFLAGADE = "S" AND LAVMODADETFR = "" AND LAVIMPTFR > 0 THEN IF LAVIMPPREV1 < (round((1* LAVIMPTFR) / 100 ,0) - 1) THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare il Contributo Impresa se il lavoratore NON aderisce al Fondo Prevedi o aderisce in forma silente Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE = "" THEN IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare il Contributo Ditta per chi versa solo la quota TFR pur con adesione esplicita Script di controllo: CONTROLLO = TRUE IF LAVMODADETFR = "P" THEN IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE END IF CAMPO: PREVEDI CONTRIB. LAVOR. Tipo Errore: BLOCCANTE Messaggio errore: Inserire il Contributo Previdenziale Lavoratore PREVEDI Script di controllo: Verifica che per il Lavoratore aderente al PREVEDI e che non abbia interrotto il rapporto di lavoro entro il 15 del mese e abbia Ore Ordinarie e un Imponibile GNF > 0, venga indicato il Contributo a Carico Lavoratore. CONTROLLO = TRUE IF LAVFLAGADE = "S" AND LAVMODADETFR = "" AND LAVIMPTFR > 0 THEN IF LAVIMPPREV2 = 0 THEN CONTROLLO = FALSE END IFF Tipo Errore: BLOCCANTE Messaggio errore: Il Contributo Previdenziale Lavoratore deve essere >= del 1% dell'Imponib. TFR Script di controllo: Controlla che nel caso di adesione al Prevedi, il Contributo Previdenziale Lavoratore indicato sia >= dell'1 % dell'Imp. TFR con la tolleranza di 1 euro. CONTROLLO = TRUE IF LAVFLAGADE = "S" AND LAVMODADETFR = "" AND LAVIMPTFR > 0 THEN IF LAVIMPPREV2 < (round( LAVIMPTFR / 100 ,0) - 1) THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare il Contributo Lavoratore se il lavoratore NON aderisce al Fondo Prevedi o aderisce in forma silente Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE = "" THEN IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare il Contributo per chi versa solo la quota TFR pur con adesione esplicita Script di controllo: CONTROLLO = TRUE IF LAVMODADETFR = "P" THEN IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE END IF CAMPO: PREVEDI CONTRIB. VOLONT. Tipo Errore: BLOCCANTE Messaggio errore: Contrib. Volontario non richiesto per lavoratore che NON aderisce al Prevedi Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE "" AND LAVMODADETFR <> "T" THEN IF LAVIMPPREV4 <> 0 THEN CONTROLLO = FALSE END IF END IF CAMPO: PREVEDI QUOTA TFR Tipo Errore: BLOCCANTE Messaggio errore: Inserire il Contributo Previdenziale "Quota TFR" Script di controllo: Verifica che per il Lavoratore aderente al PREVEDI e che non abbia interrotto il rapporto di lavoro entro il 15 del mese e abbia Ore Ordinarie e un Imponibile GNF > 0, venga indicata la Quota TFR. CONTROLLO = TRUE IF LAVFLAGADE = "S" OR LAVMODADETFR = "T" THEN IF LAVIMPTFR > 0 THEN IF LAVIMPPREV3 = 0 THEN CONTROLLO = FALSE END IF END IF Tipo Errore: AVVISO Messaggio errore: La Previd. Complementare QUOTA TFR non congruente con l'Imponib. TFR Script di controllo: Controlla che la Quota TFR indicata non sia inferiore rispettivamente al 100% per gli assunti dopo il 28/04/93 o al 18% per gli assunti precedentemente dell'Accantonamento TFR calcolato con la seguente espressione: Accantonamento TFR = Imponibile TFR / 13,5 per gli Apprendisti. Accantonamento TFR = Imponibile TFR / 13,5 meno lo 0,50% dell'imponibile TFR stesso, per gli Operai. CONTROLLO = TRUE DIM X IF LAVFLAGADE = "S" OR LAVMODADETFR = "T" THEN IF LAVIMPPREV3 > 0 THEN ' Calcolo X accantonamento TFR SELECT CASE LAVLIVELLO CASE "A1","A2","A3","A4","A5","A6","A7","A8" X = Cdbl((LAVIMPTFR / 13.5)) CASE ELSE X = Cdbl((LAVIMPTFR / 13.5) - (0.50 * LAVIMPTFR / 100)) END SELECT IF LAVFLAGADE = "S" THEN SELECT CASE LAVFLAGPASS ' Se assunto dopo il 28 aprile 1993 perc. del 100% su accantonamento TFR CASE "2", "3" IF LAVIMPPREV3 < round((99.8 * X) / 100 , 0) THEN CONTROLLO = FALSE ' Se assunto prima del 28 aprile 1993 perc. del 18% su accantonamento TFR CASE "1" IF LAVIMPPREV3 < round ((17.8 * X) / 100 ,0) THEN CONTROLLO = FALSE END SELECT END IF IF LAVMODADETFR = "T" THEN ' Lavoratore silente perc. del 100% su accantonamento TFR IF LAVIMPPREV3 < round((99.8 * X) / 100 ,0) THEN CONTROLLO = FALSE END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare la Quota TFR se il lavoratore NON aderisce al Fondo Prevedi Script di controllo: CONTROLLO = TRUE IF LAVFLAGADE = "" AND LAVMODADETFR <> "P" AND LAVMODADETFR <> "T" THEN IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE END IF CAMPO: DA MESE PREGRESSO Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE dim wData oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF ISDATE ("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) THEN wData = cDATE("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) END IF IF ISDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) < cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) END IF ELSE wData = cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) END IF END IF IF ISDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) THEN IF isDate (wData) THEN IF cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) < cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) END IF ELSE wData = cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) END IF END IF IF ISDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) < cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) END IF ELSE wData = cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) END IF END IF IF ISDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) < cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) END IF ELSE wData = cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) END IF END IF IF isDate(wData) THEN ' Imposta periodo LAVPREPANNODA = Year (CDATE(wData)) SETCAMPO Year(CDATE(wData)) ,"LAVPREPANNODA" SETCAMPO Month(CDATE (wData)) ,"LAVPREPMESEDA" ELSE ' altrimenti controlla periodo CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPREPMESEDA <> "" AND LAVPREPMESEDA > 0 THEN IF LAVPREPMESEDA > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF END IF CAMPO: A MESE PREGRESSO Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE dim wData oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF ISDATE ("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) THEN wData = cDATE("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) END IF IF ISDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) > cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) END IF ELSE wData = cDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) END IF END IF IF ISDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) THEN IF isDate (wData) THEN IF cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) > cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) END IF ELSE wData = cDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) END IF END IF IF ISDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) > cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) END IF ELSE wData = cDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) END IF END IF IF ISDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) THEN IF isDate(wData) THEN IF cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) > cdate(wData) THEN wData = cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) END IF ELSE wData = cDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) END IF END IF IF isDate(wData) THEN ' Imposta data SETCAMPO Year(CDATE (wData)) ,"LAVPREPANNOA" SETCAMPO Month(CDATE(wData)) ,"LAVPREPMESEA" ELSE ' altrimenti controlla periodo CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPREPMESEA <> "" and LAVPREPMESEA > 0 THEN IF LAVPREPMESEA > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE("01/" & LAVPREPMESEA & "/" & LAVPREPANNOA) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPREPMESEA & "/" & LAVPREPANNOA) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Il Periodo finale non può essere precedente a quello inziale Script di controllo: CONTROLLO=TRUE IF ISDATE("01/" & LAVPREPMESEA & "/" & LAVPREPANNOA) AND ISDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) THEN IF CDATE("01/" & LAVPREPMESEA & "/" & LAVPREPANNOA) < CDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) THEN CONTROLLO = FALSE END IF END IF CAMPO: CONTRIB. LAVORATORE Tipo Errore: AVVISO Messaggio errore: Controllo somma Contrib. Lavoratore Prevedi Pregressi Script di controllo: CONTROLLO = TRUE dim TotContr TotContr = 0 TotContr = LAVPRERCONTLAV1 + LAVPRERCONTLAV2 + LAVPRERCONTLAV3 + LAVPRERCONTLAV4 + LAVPRERCONTLAV5 IF TotContr > 0 then SETCAMPO TotContr,"LAVPREPCONTLAV" ELSE IF LAVPREPCONTLAV > 0 THEN CONTROLLO = FALSE oMess = "Non sono stati indicati i recuperi mensili dei contributi pregressi" END IF END IF CAMPO: CONTRIB. VOLONTARIO Tipo Errore: AVVISO Messaggio errore: Controllo somma contributi Volontari pregressi Prevedi Script di controllo: CONTROLLO = TRUE dim TotContr TotContr = 0 TotContr = LAVPRERCONTVOL1 + LAVPRERCONTVOL2 + LAVPRERCONTVOL3 + LAVPRERCONTVOL4 + LAVPRERCONTVOL5 IF TotContr > 0 then SETCAMPO TotContr,"LAVPREPCONTVOL" ELSE IF LAVPREPCONTVOL > 0 THEN CONTROLLO = FALSE oMess = "Non sono stati indicati i recuperi mensili dei contributi pregressi" END IF END IF CAMPO: CONTRIB. DITTA Tipo Errore: AVVISO Messaggio errore: Controllo somma Contributi pregressi ditta Script di controllo: CONTROLLO = TRUE dim TotContr TotContr = 0 TotContr = LAVPRERCONTDIT1 + LAVPRERCONTDIT2 + LAVPRERCONTDIT3 + LAVPRERCONTDIT4 + LAVPRERCONTDIT5 IF TotContr > 0 then SETCAMPO TotContr,"LAVPREPCONTDITT" ELSE IF LAVPREPCONTDITT > 0 THEN CONTROLLO = FALSE oMess = "Non sono stati indicati i recuperi mensili dei contributi pregressi" END IF END IF CAMPO: QUOTA TFR Tipo Errore: AVVISO Messaggio errore: Controllo somma Quota TFR pregressa Script di controllo: CONTROLLO = TRUE dim TotContr TotContr = 0 TotContr = LAVPRERQTFR1 + LAVPRERQTFR2 + LAVPRERQTFR3 + LAVPRERQTFR4 + LAVPRERQTFR5 IF TotContr > 0 then SETCAMPO TotContr,"LAVPREPQTFR" ELSE IF LAVPREPQTFR > 0 THEN CONTROLLO = FALSE oMess = "Non sono stati indicati i recuperi mensili dei contributi pregressi" END IF END IF CAMPO: RIVALUTAZIONE Q. TFR Tipo Errore: AVVISO Messaggio errore: Controllo somma Rivalutazione Q. TFR pregressa Script di controllo: CONTROLLO = TRUE dim TotContr TotContr = 0 TotContr = LAVPRERRIVAL1 + LAVPRERRIVAL2 + LAVPRERRIVAL3 + LAVPRERRIVAL4 + LAVPRERRIVAL5 IF TotContr > 0 then SETCAMPO TotContr,"LAVPREPRIVAL" ELSE IF LAVPREPRIVAL > 0 THEN CONTROLLO = FALSE oMess = "Non sono stati indicati i recuperi mensili dele rivalutazioni pregresse" END IF END IF CAMPO: DATA INIZIO MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Indicare la Data di Inizio e Tipo Malattia (1) Script di controllo: Viene controllato se sono inseriti entrambi i campi "Data di Inizio Malattia" e "Tipo Malattia". Viene anche richiesta la Data di Inizio Assenza anche in presenza di Ricaduta, Fine Malattia, Quota di Rimborso. CONTROLLO = TRUE IF LAVINIZIOMAL1 = "" AND LAVTIPOMAL1 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL1 <> "" AND LAVTIPOMAL1 = "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL1 = "" AND LAVRICMAL1 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL1 = "" AND LAVFINEMAL1 > 0 THEN CONTROLLO = False END IF IF LAVINIZIOMAL1 = "" AND LAVCONGRIMB1 > 0 THEN CONTROLLO = False END IF Tipo Errore: BLOCCANTE Messaggio errore: Mancano i dati di Malattia per le Ore di Malattia o di Infortunio indicate Script di controllo: Controlla che se sono state indicate le Ore di Malattia o Infortunio o Carenza venga anche indicato l'evento di Malattia o Infrotunio. CONTROLLO = TRUE IF (LAVOREMAL > 0 OR LAVOREINF > 0 OR LAVORECAR > 0) AND LAVINIZIOMAL1 = "" THEN CONTROLLO = False END IF Tipo Errore: BLOCCANTE Messaggio errore: Data Inizio Malattia 1 non valida per il periodo Script di controllo: Controlla che la data indicata sia una data valida tra il 01/01/1950 e il Periodo di Fine denuncia. CONTROLLO = TRUE IF ISDATE(LAVINIZIOMAL1) THEN IF (Cdate(LAVINIZIOMAL1) > Cdate(PERIODOFINE())) or (Cdate(LAVINIZIOMAL1) < Cdate("01/01/1950")) THEN CONTROLLO = False END IF END IF CAMPO: GIORNO FINE MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Giorno Fine Malattia 1 non valido Script di controllo: Controlla che il giorno di Fine Assenza sia un giorno valido nel Periodo di Denuncia e successivo alla data di inizio malattia se iniziata nello stesso mese di denuncia. CONTROLLO = TRUE IF LAVFINEMAL1 > 0 THEN IF NOT ISDATE(LAVFINEMAL1 & "/" & Month(PERIODOINIZIO ()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE(LAVINIZIOMAL1) THEN IF Cdate(LAVFINEMAL1 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) < Cdate (LAVINIZIOMAL1) THEN CONTROLLO = False END IF END IF END IF END IF CAMPO: GIORNO RICADUTA Tipo Errore: BLOCCANTE Messaggio errore: Giorno di Ricaduta 1 non valido Script di controllo: Controlla che il Giorno di Ricaduta non sia successivo all'eventuale giorno di Fine assenza nel mese CONTROLLO = TRUE IF LAVGGRICMAL1 > 0 THEN IF NOT ISDATE(LAVGGRICMAL1 & "/" & Month (PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE (LAVINIZIOMAL1) THEN IF Cdate(LAVGGRICMAL1 & "/" & Month(PERIODOINIZIO()) & "/" & Year (PERIODOINIZIO())) < Cdate(LAVINIZIOMAL1) THEN CONTROLLO = False END IF END IF END IF IF LAVFINEMAL1 > 0 AND LAVGGRICMAL1 > LAVFINEMAL1 THEN CONTROLLO = FALSE END IF CAMPO: CONGUAGLIO/RIMBORSO Tipo Errore: AVVISO Messaggio errore: Chiedere il Rimborso per i GG. di malattia alla Cassa Edile ? Script di controllo: Richiede l'indicazione della quota da chiedere a Rimborso nel caso in cui i giorni di Malattia o di Infortunio calcolati in base agli estremi del periodo di assenza (Data Inizio Malattia e Giorno Fine) siano più di 3 in caso di Malattia e > di 4 in caso di Infortunio. CONTROLLO = TRUE Dim FineMal Dim GGMAL IF LAVCONGRIMB1 = 0 THEN GGMAL = 0 IF LAVFINEMAL1 > 0 THEN FineMal = Cdate(LAVFINEMAL1 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) ELSE FineMal = Cdate(PERIODOFINE()) END IF IF ISDATE(LAVINIZIOMAL1) THEN GGMAL = DateDiff("d", CDate (LAVINIZIOMAL1), CDate(FineMal )) + 1 END IF SELECT CASE LAVTIPOMAL1 CASE "M" IF GGMAL > 3 THEN CONTROLLO = FALSE IF GGMAL = 4 THEN Dim CFest If DatePart("w", FineMal ) = vbSunday Then CONTROLLO = TRUE Else Set CFest = Tabella("FESTIVITA", cstr(FineMal)) If Not CFest Is Nothing Then If CFest("Festivo") = 1 Then CONTROLLO = TRUE End If End If END IF END IF CASE "I" IF GGMAL > 4 THEN CONTROLLO = FALSE END IF END SELECT END IF CAMPO: DATA INIZIO MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Indicare la Data di Inizio e Tipo Malattia (2) Script di controllo: Viene controllato se sono inseriti entrambi i campi "Data di Inizio Malattia" e "Tipo Malattia". Viene anche richiesta la Data di Inizio Assenza anche in presenza di Ricaduta, Fine Malattia, Quota di Rimborso. CONTROLLO = TRUE IF LAVINIZIOMAL2 = "" AND LAVTIPOMAL2 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL2 <> "" AND LAVTIPOMAL2 = "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL2 = "" AND LAVRICMAL2 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL2 = "" AND LAVFINEMAL2 > 0 THEN CONTROLLO = False END IF IF LAVINIZIOMAL2 = "" AND LAVCONGRIMB2 > 0 THEN CONTROLLO = False END IF Tipo Errore: BLOCCANTE Messaggio errore: Data Inizio Malattia 2 non valida per il periodo Script di controllo: CONTROLLO = TRUE IF ISDATE(LAVINIZIOMAL2) THEN IF (Cdate(LAVINIZIOMAL2) > Cdate(PERIODOFINE())) or (Cdate(LAVINIZIOMAL2) < Cdate("01/01/1950")) THEN CONTROLLO = False END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Inserire Data Inizio Malattia (2° periodo) Script di controllo: CONTROLLO = TRUE IF LAVCONGRIMB2 > 0 AND LAVINIZIOMAL2 = "" THEN CONTROLLO = False END IF CAMPO: GIORNO FINE MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Giorno non valido per il Periodo Script di controllo: CONTROLLO = TRUE IF LAVFINEMAL2 > 0 THEN IF NOT ISDATE(LAVFINEMAL2 & "/" & Month(PERIODOINIZIO ()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE(LAVINIZIOMAL2) THEN IF Cdate(LAVFINEMAL2 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) < Cdate (LAVINIZIOMAL2) THEN CONTROLLO = False END IF END IF END IF END IF CAMPO: GIORNO RICADUTA Tipo Errore: BLOCCANTE Messaggio errore: Giorno di Ricaduta 2 non valido Script di controllo: CONTROLLO = TRUE IF LAVGGRICMAL2 > 0 THEN IF NOT ISDATE(LAVGGRICMAL2 & "/" & Month (PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE (LAVINIZIOMAL2) THEN IF Cdate(LAVGGRICMAL2 & "/" & Month(PERIODOINIZIO()) & "/" & Year (PERIODOINIZIO())) < Cdate(LAVINIZIOMAL2) THEN CONTROLLO = False END IF END IF END IF IF LAVFINEMAL2 > 0 AND LAVGGRICMAL2 > LAVFINEMAL2 THEN CONTROLLO = FALSE END IF CAMPO: COGUAGLIO/RIMBORSO Tipo Errore: AVVISO Messaggio errore: Chiedere il Rimborso per i GG di Malattia alla Cassa Edile ? Script di controllo: Richiede l'indicazione della quota da chiedere a Rimborso nel caso in cui i giorni di Malattia o di Infortunio calcolati in base agli estremi del periodo di assenza (Data Inizio Malattia e Giorno Fine) siano più di 3 in caso di Malattia e > di 4 in caso di Infortunio. CONTROLLO = TRUE Dim FineMal Dim GGMAL IF LAVCONGRIMB2 = 0 THEN GGMAL = 0 IF LAVFINEMAL2 > 0 THEN FineMal = Cdate(LAVFINEMAL2 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) ELSE FineMal = Cdate(PERIODOFINE()) END IF IF ISDATE(LAVINIZIOMAL2) THEN GGMAL = DateDiff("d", CDate (LAVINIZIOMAL2), CDate(FineMal )) + 1 END IF SELECT CASE LAVTIPOMAL2 CASE "M" IF GGMAL > 3 THEN CONTROLLO = FALSE IF GGMAL = 4 THEN Dim CFest If DatePart("w", FineMal ) = vbSunday Then CONTROLLO = TRUE Else Set CFest = Tabella("FESTIVITA", cstr(FineMal)) If Not CFest Is Nothing Then If CFest("Festivo") = 1 Then CONTROLLO = TRUE End If End If END IF END IF CASE "I" IF GGMAL > 4 THEN CONTROLLO = FALSE END IF END SELECT END IF CAMPO: DATA INIZIO MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Indicare la Data di Inizio e Tipo Malattia (3) Script di controllo: CONTROLLO = TRUE IF LAVINIZIOMAL3 = "" AND LAVTIPOMAL3 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL3 <> "" AND LAVTIPOMAL3 = "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL3 = "" AND LAVRICMAL3 <> "" THEN CONTROLLO = False END IF IF LAVINIZIOMAL3 = "" AND LAVFINEMAL3 > 0 THEN CONTROLLO = False END IF IF LAVINIZIOMAL3 = "" AND LAVCONGRIMB3 > 0 THEN CONTROLLO = False END IF Tipo Errore: BLOCCANTE Messaggio errore: Data Inizio Malattia 3 non valida per il periodo Script di controllo: CONTROLLO = TRUE IF ISDATE(LAVINIZIOMAL3) THEN IF (Cdate(LAVINIZIOMAL3) > Cdate(PERIODOFINE())) or (Cdate(LAVINIZIOMAL3) < Cdate("01/01/1950")) THEN CONTROLLO = False END IF END IF CAMPO: GIORNO FINE MAL/INF Tipo Errore: BLOCCANTE Messaggio errore: Giorno fine malattia non valido per il Periodo Script di controllo: CONTROLLO = TRUE IF LAVFINEMAL3 > 0 THEN IF NOT ISDATE(LAVFINEMAL3 & "/" & Month(PERIODOINIZIO ()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE(LAVINIZIOMAL3) THEN IF Cdate(LAVFINEMAL3 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) < Cdate (LAVINIZIOMAL3) THEN CONTROLLO = False END IF END IF END IF END IF CAMPO: RICADUTA Tipo Errore: BLOCCANTE Messaggio errore: Giorno di Ricaduta 3 non valido Script di controllo: CONTROLLO = TRUE IF LAVGGRICMAL3 > 0 THEN IF NOT ISDATE(LAVGGRICMAL3 & "/" & Month (PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) THEN CONTROLLO = FALSE ELSE IF ISDATE (LAVINIZIOMAL3) THEN IF Cdate(LAVGGRICMAL3 & "/" & Month(PERIODOINIZIO()) & "/" & Year (PERIODOINIZIO())) < Cdate(LAVINIZIOMAL3) THEN CONTROLLO = False END IF END IF END IF IF LAVFINEMAL3 > 0 AND LAVGGRICMAL3 > LAVFINEMAL3 THEN CONTROLLO = FALSE END IF CAMPO: CONGUAGLIO/RIMBORSO Tipo Errore: BLOCCANTE Messaggio errore: Chiedere il Rimborso per i GG di Malattia alla Cassa Edile ? Script di controllo: CONTROLLO = TRUE Dim FineMal Dim GGMAL IF LAVCONGRIMB3 = 0 THEN GGMAL = 0 IF LAVFINEMAL3 > 0 THEN FineMal = Cdate(LAVFINEMAL3 & "/" & Month(PERIODOINIZIO()) & "/" & Year(PERIODOINIZIO())) ELSE FineMal = Cdate(PERIODOFINE()) END IF IF ISDATE(LAVINIZIOMAL3) THEN GGMAL = DateDiff("d", CDate (LAVINIZIOMAL3), CDate(FineMal )) + 1 END IF SELECT CASE LAVTIPOMAL3 CASE "M" IF GGMAL > 3 THEN CONTROLLO = FALSE IF GGMAL = 4 THEN Dim CFest If DatePart("w", FineMal ) = vbSunday Then CONTROLLO = TRUE Else Set CFest = Tabella("FESTIVITA", cstr(FineMal)) If Not CFest Is Nothing Then If CFest("Festivo") = 1 Then CONTROLLO = TRUE End If End If END IF END IF CASE "I" IF GGMAL > 4 THEN CONTROLLO = FALSE END IF END SELECT END IF CAMPO: MESE COMPETENZA 1 Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPRERMESE1 <> "" and LAVPRERMESE1 > 0 THEN IF LAVPRERMESE1 > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE ("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare periodo di riferimento per i contributi pregressi inseriti Script di controllo: CONTROLLO=TRUE IF cint(LAVPRERCONTDIT1 + LAVPRERCONTLAV1 + LAVPRERCONTVOL1 + LAVPRERQTFR1 + LAVPRERRIVAL1) > 0 THEN IF NOT ISDATE("01/" & LAVPRERMESE1 & "/" & LAVPRERANNO1) THEN CONTROLLO = FALSE oMess = "Indicare periodo di riferimento per i contributi pregressi inseriti" END IF END IF CAMPO: MESE COMPETENZA 2 Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPRERMESE2 <> "" and LAVPRERMESE2 > 0 THEN IF LAVPRERMESE2 > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE ("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare periodo di riferimento per i contributi pregressi inseriti Script di controllo: CONTROLLO=TRUE IF cint(LAVPRERCONTDIT2 + LAVPRERCONTLAV2 + LAVPRERCONTVOL2 + LAVPRERQTFR2 + LAVPRERRIVAL2) > 0 THEN IF NOT ISDATE("01/" & LAVPRERMESE2 & "/" & LAVPRERANNO2) THEN CONTROLLO = FALSE oMess = "Indicare periodo di riferimento per i contributi pregressi inseriti" END IF END IF CAMPO: MESE COMPETENZA 3 Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPRERMESE3 <> "" and LAVPRERMESE3 > 0 THEN IF LAVPRERMESE3 > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE ("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare periodo di riferimento per i contributi pregressi inseriti Script di controllo: CONTROLLO=TRUE IF cint(LAVPRERCONTDIT3 + LAVPRERCONTLAV3 + LAVPRERCONTVOL3 + LAVPRERQTFR3 + LAVPRERRIVAL3) > 0 THEN IF NOT ISDATE("01/" & LAVPRERMESE3 & "/" & LAVPRERANNO3) THEN CONTROLLO = FALSE oMess = "Indicare periodo di riferimento per i contributi pregressi inseriti" END IF END IF CAMPO: MESE COMPETENZA 4 Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPRERMESE4 <> "" and LAVPRERMESE4 > 0 THEN IF LAVPRERMESE4 > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE ("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare periodo di riferimento per i contributi pregressi inseriti Script di controllo: CONTROLLO=TRUE IF cint(LAVPRERCONTDIT4 + LAVPRERCONTLAV4 + LAVPRERCONTVOL4 + LAVPRERQTFR4 + LAVPRERRIVAL4) > 0 THEN IF NOT ISDATE("01/" & LAVPRERMESE4 & "/" & LAVPRERANNO4) THEN CONTROLLO = FALSE oMess = "Indicare periodo di riferimento per i contributi pregressi inseriti" END IF END IF CAMPO: MESE COMPETENZA 5 Tipo Errore: BLOCCANTE Messaggio errore: Mese/Anno periodo pregresso non ammessi per la denuncia Script di controllo: CONTROLLO=TRUE oMess = "Mese/Anno periodo pregresso non ammessi per la denuncia" IF LAVPRERMESE5 <> "" and LAVPRERMESE5 > 0 THEN IF LAVPRERMESE5 > 12 THEN CONTROLLO = FALSE ELSE IF NOT ISDATE ("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) THEN CONTROLLO = FALSE ELSE IF NOT CDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) < cDATE(PERIODOINIZIO()) THEN CONTROLLO = FALSE END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare periodo di riferimento per i contributi pregressi inseriti Script di controllo: CONTROLLO=TRUE IF cint(LAVPRERCONTDIT5 + LAVPRERCONTLAV5 + LAVPRERCONTVOL5 + LAVPRERQTFR5 + LAVPRERRIVAL5) > 0 THEN IF NOT ISDATE("01/" & LAVPRERMESE5 & "/" & LAVPRERANNO5) THEN CONTROLLO = FALSE oMess = "Indicare periodo di riferimento per i contributi pregressi inseriti" END IF END IF CONTROLLI DI RIEPILOGO DELLA SEZIONE 3 Tipo Errore: BLOCCANTE Messaggio errore: Non è consentito cancellare il Dipendente Descrizione del controllo: Non permette di Eliminare la Scheda di un Lavoratore comunicato dalla Cassa Edile. Tipo Errore: AVVISO Messaggio errore: Il Dipendente esiste già (Codice Fiscale ripetuto) Descrizione del controllo: Controlla che non si possano inserire nuovi dipendenti con lo stesso Codice Fiscale. Tipo Errore: BLOCCANTE Messaggio errore: Ore Totali del Lavoratore < del minimo previste nel mese comprese le Festività Descrizione del controllo: Per i Lavoratori non a Part-time e per le Categoria (livelli) diversi da (D1,D2,D3, Impiegati e Quadri) vengono calcolate le Ore Lavorative Teoriche lavorabili nel Mese in base alla Data di assunzione e il Giorno di Cessazione se ricadenti nel mese. Le ore Minime Lavorabili sono calcolate moltiplicando i Giorni Lavorabili nel mese per 8 ore giornaliere. Le Ore Massime Lavorabili sono calcolate Moltiplicando i Giorni Lavorabili nel mese x 10 Ore giornaliere + altre 10 ore di tolleranza. Le ore Minime e Massime così calcolate sono confrontate con le Ore Totali inserite calcolate come somma dei seguenti campi della denuncia: Ore Ordinarie + Ore Malattia + Ore Infortunio + Ore Carenza + Ore Ferie + Ore Festività + Ore CIG + Ore Congedi + Ore Ass. Giustificate + Ore Permessi Non Retribuiti. Se le Ore Totali inserite sono < (delle Ore Minime Calcolate - 12) o > delle (Ore Massime Calcolate) il controllo da esito negativo. Tipo Errore: BLOCCANTE Messaggio errore: Non Indicare Ore o Importi per Impiegati e Quadri Descrizione del controllo: Controlla che per gli Impiegati e Quadri non vengano in denuncia Imponibili, Accantonamenti e Ore, ma solo gli evntuali dati del Prevedi. Tipo Errore: BLOCCANTE Messaggio errore: Inserire almeno un dato (importo o ore) o cancellare il dipendente Descrizione del controllo: Richiede che per un Lavoratore non Impiegato o Quadro sia indicato almeno un dato in denuncia. Tipo Errore: BLOCCANTE Messaggio errore: Incongruenza da Dati Previdenza e scelta TFR AZ (100% Azienda/INPS) Descrizione del controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "AZ" THEN IF LAVFLAGADEP = "S" THEN CONTROLLO = FALSE IF LAVFONDOPREV <> "" THEN CONTROLLO = FALSE IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE oMess = "Scelta TFR in Azienda (AZ 100% Azienda/INPS) non ammessa per iscritti al Prevedi" ELSE IF LAVFLAGADE = "" THEN IF LAVFONDOPREV <> "" THEN CONTROLLO = FALSE IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE oMess = "Non compilare dati PREVIDENZA e CODICE FONDO per scelta TFR AZ (100% Azienda/INPS)" END IF IF LAVFLAGADE = "S" THEN IF LAVFONDOPREV <> "" THEN CONTROLLO = FALSE IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE oMess = "Incongruenza tra compilazione Dati Previdenza, Codice Fondo e scelta TFR AZ (100% Azienda/INPS)" END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Per scelta TFR = NS in presenza di Contributi Prevedi indicare il codice fondo "01" oppure non indicare i contributi Prevedi Descrizione del controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "NS" THEN IF LAVFONDOPREV <> "01" THEN IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare obbligatoriamente un valore del campo Scelta Modulo TFR Descrizione del controllo: CONTROLLO = TRUE IF DateDiff("M", CDate(LAVDATAASS), CDate(PERIODOINIZIO())) >= 6 THEN IF LAVSCELTATFR = "" THEN CONTROLLO = FALSE oMess = "Indicare obbligatoriamente un valore del campo Scelta Modulo TFR" END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Per lavoratore aderente Prevedi indicare Scelta TFR: FP/VI/NS e Codice Fondo 01 Descrizione del controllo: CONTROLLO = TRUE IF LAVFLAGADE = "S" THEN IF NOT (LAVSCELTATFR = "FP" OR LAVSCELTATFR = "VI" OR LAVSCELTATFR = "NS") THEN IF DateDiff("M", CDate(LAVDATAASS), CDate(PERIODOINIZIO())) >= 6 THEN CONTROLLO = FALSE END IF END IF IF LAVFONDOPREV <> "01" THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Incongruenza tra Modalità Adesione Silenzio/Assenso (T) e adesione esplicita al Prevedi Descrizione del controllo: CONTROLLO = TRUE IF LAVMODADETFR = "T" THEN IF LAVFLAGADE = "S" THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Non indicare contributi Prevedi pregressi per Lavoratore non aderente o che versa solo TFR Descrizione del controllo: CONTROLLO = TRUE IF LAVFLAGADE <> "S" OR LAVMODADETFR = "P" OR LAVMODADETFR = "T" THEN IF LAVPREPCONTLAV > 0 THEN CONTROLLO = FALSE IF LAVPREPCONTVOL > 0 THEN CONTROLLO = FALSE IF LAVPREPCONTDITT > 0 THEN CONTROLLO = FALSE END IF Tipo Errore: AVVISO Messaggio errore: Inserire i contributi prevedi o quota TFR pregressi per il periodo indicato Descrizione del controllo: CONTROLLO = TRUE IF int(LAVPREPMESEDA) > 0 THEN IF LAVPREPCONTLAV = 0 AND LAVPREPCONTVOL = 0 AND LAVPREPCONTDITT= 0 AND LAVPREPQTFR = 0 THEN CONTROLLO = FALSE END IF ELSE IF LAVPREPCONTLAV > 0 OR LAVPREPCONTVOL > 0 OR LAVPREPCONTDITT> 0 OR LAVPREPQTFR > 0 THEN CONTROLLO = FALSE END IF END IF Tipo Errore: AVVISO Messaggio errore: Date periodi pregressi non valide o incomplete Descrizione del controllo: CONTROLLO = TRUE IF LAVPREPANNODA > 0 OR LAVPREPMESEDA > 0 THEN IF NOT ISDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) THEN CONTROLLO = FALSE END IF END IF IF LAVPREPANNOA > 0 OR LAVPREPMESEA > 0 OR ISDATE("01/" & LAVPREPMESEDA & "/" & LAVPREPANNODA) THEN IF NOT ISDATE ("01/" & LAVPREPMESEA & "/" & LAVPREPANNOA) THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Per Scelta TFR FP o VI i dati di PREVIDENZA sono richiesti solo se FONDO = 01 Prevedi Descrizione del controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "FP" OR LAVSCELTATFR = "VI" THEN IF LAVFONDOPREV <> "01" THEN IF LAVFLAGADE <> "" THEN CONTROLLO = FALSE IF LAVIMPPREV1 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV2 > 0 THEN CONTROLLO = FALSE IF LAVIMPPREV3 > 0 THEN CONTROLLO = FALSE ELSE IF LAVIMPTFR > 0 THEN IF LAVIMPPREV1 = 0 AND LAVIMPPREV2 = 0 AND LAVIMPPREV3 = 0 THEN CONTROLLO = FALSE oMess = "Se il lavoratore aderisce a PREVEDI inserire i contributi previdenziali relativi al mese corrente" END IF END IF END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Se scelta TFR = VI, Tipo Adesione deve essere 1 (Prima assunzione ante 28/04/93 quota TFR 18%) Descrizione del controllo: CONTROLLO = TRUE IF LAVFONDOPREV = "01" THEN SELECT CASE LAVSCELTATFR CASE "VI" IF LAVFLAGPASS <> "1" THEN CONTROLLO = FALSE END IF CASE "FP" IF LAVFLAGPASS <> "2" AND LAVFLAGPASS <> "3" THEN oMess = "Per scelta TFR = FP, Tipo adesione deve essere 2 o 3 (versamento 100% TFR)" CONTROLLO = FALSE END IF CASE "NS" IF LAVFLAGPASS = "1" THEN oMess = "Per scelta TFR = NS, Tipo adesione non può assumere il valore 1 (versamento 18% TFR)" CONTROLLO = FALSE END IF END SELECT END IF Tipo Errore: AVVISO Messaggio errore: Per scelta -NS- su SCELTA MODULO TFR è dovuto al Fondo Prevedi il versamento dell'intero TFR. Compilare i dati della previdenza complementare Descrizione del controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "NS" AND LAVFONDOPREV = "" THEN IF LAVFLAGADE = "" AND LAVMODADETFR = "" AND LAVIMPPREV3 = 0 THEN CONTROLLO = FALSE END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Per scelta -NS- su SCELTA MODULO TFR è dovuto al Fondo Prevedi il versamento dell'intero TFR. Compilare gli importi della previdenza complementare Descrizione del controllo: CONTROLLO = TRUE IF LAVSCELTATFR = "NS" AND LAVFONDOPREV = "01" THEN IF LAVFLAGADE = "" AND LAVMODADETFR = "" AND LAVIMPPREV3 = 0 THEN CONTROLLO = FALSE END IF END IF SEZIONE: 4 CAMPO: 8. CONTRIBUTO RLST Tipo Errore: BLOCCANTE Messaggio errore: Contributo RLST non congruente con la percentuale prevista Script di controllo: CONTROLLO = TRUE IF TOTVERSARLST = "S" THEN IF TOTCONTRRLST < Clng(TOTIMPCONTR * TOTPERCRLST / 100) -1 OR TOTCONTRRLST > Clng(TOTIMPCONTR * TOTPERCRLST / 100) + 1 THEN CONTROLLO = FALSE END IF ELSE IF TOTCONTRRLST > 0 THEN IF TOTCONTRRLST < Clng(TOTIMPCONTR * TOTPERCRLST / 100) -1 OR TOTCONTRRLST > Clng(TOTIMPCONTR * TOTPERCRLST / 100) + 1 THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: TOTALE RETRIB IMP. CANTIERI Tipo Errore: AVVISO Messaggio errore: Totale Retr. Imponibile Cantieri deve essere >= Tot. Imp. GNF Script di controllo: Verifica che il Totale degli Importi di Retribuzioen Imponibile indicati nella Sezione Cantieri sia >= della somma degli Imponibili GNF dei Lavoratori. CONTROLLO = TRUE IF TOTALE("CANTCONT") > 0 THEN IF TOTIMPGNF > TOTRETRCANT THEN CONTROLLO = FALSE END IF END IF SEZIONE: 5 CAMPO: PROGR. CANTIERE RIFERIMENTO Tipo Errore: BLOCCANTE Messaggio errore: Indicare un Canteire fra quelli inseriti Script di controllo: CONTROLLO=TRUE IF APPCANT<> "" THEN IF IsNumeric(APPCANT) THEN IF Len(APPCANT) < 2 THEN SETCAMPO "0" & APPCANT,"APPCANT" APPCANT = "0" & APPCANT END IF END IF ' Verifico esistanza cantiere IF Not INLista(APPCANT, "CANTPROGR",2) THEN CONTROLLO = FALSE ELSE 'Verifico sia cantiere nuovo END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Il cantiere a cui si riferisce l'appalto non è nuovo Script di controllo: CONTROLLO=TRUE Dim CodCANTCE CodCantCE = "" IF APPCANT<> "" THEN 'Verifico sia cantiere nuovo IF INLista(APPCANT, "CANTPROGR",2) THEN CodCantCE = FLeggiCampo("CANTPROGR", APPCANT, 2, "CANTCODINTERNO") IF CodCantCE <> "" THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: TIPO CONTRATTO Tipo Errore: BLOCCANTE Messaggio errore: Per Commmittente Pubblico il Tipo Contratto può essere solo Appalto o Subappalto Script di controllo: CONTROLLO = TRUE IF APPTIPOCOMM = "1" THEN IF NOT (APPTIPOCONTR = "1" OR APPTIPOCONTR = "2") THEN CONTROLLO = FALSE END IF CAMPO: COMMITT./IMPR. CONCEDENTE Tipo Errore: BLOCCANTE Messaggio errore: Inserire Committente/Impresa concedente per Subappalto Script di controllo: CONTROLLO = TRUE ' Subappalto IF APPTIPOCONTR = "2" THEN IF APPCOMMIT = "" THEN CONTROLLO = FALSE END IF END IF CAMPO: COD. FISC. COMMITT. Tipo Errore: BLOCCANTE Messaggio errore: Codice Fiscale errato Script di controllo: CONTROLLO = TRUE IF APPCOMMCFISC <> "" AND not isNumeric(APPCOMMCFISC) THEN CONTROLLO = ControlloCodiceFiscale(APPCOMMCFISC, "", "", "", "", "") END IF IF APPCOMMCFISC <> "" AND isNumeric (APPCOMMCFISC) = TRUE THEN CONTROLLO = ControlloPartitaIva(APPCOMMCFISC) END IF Tipo Errore: BLOCCANTE Messaggio errore: Indicare Cod. Fiscale Committente/Impresa concedente Script di controllo: CONTROLLO = TRUE IF APPCOMMIT <> "" THEN IF APPCOMMCFISC = "" THEN CONTROLLO = FALSE omess = "Indicare Cod. Fiscale Committente/Impresa concedente" END IF END IF CAMPO: P. IVA COMMITTENTE Tipo Errore: BLOCCANTE Messaggio errore: Partita Iva Committente errata Script di controllo: CONTROLLO = TRUE IF APPCOMMPIVA <> "" AND isNumeric(APPCOMMPIVA) THEN CONTROLLO = ControlloPartitaIva(APPCOMMPIVA) END IF CAMPO: INDIRIZZO COMMITTENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Indirizzo Committente/Impresa concedente Script di controllo: CONTROLLO = TRUE IF APPCOMMIT <> "" THEN IF APPCOMMINDIR = "" THEN CONTROLLO = FALSE omess = "Indicare Indirizzo Committente/Impresa concedente" END IF END IF CAMPO: CITTÀ COMMITTENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare CIttà Committente/Impresa concedente Script di controllo: CONTROLLO = TRUE IF APPCOMMIT <> "" THEN IF APPCOMMCITTA = "" THEN CONTROLLO = FALSE omess = "Indicare CIttà Committente/Impresa concedente" END IF END IF CAMPO: PROV. COMMITTENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Provincia Committente/Impresa concedente Script di controllo: CONTROLLO = TRUE IF APPCOMMIT <> "" THEN IF APPCOMMPROV = "" THEN CONTROLLO = FALSE omess = "Indicare Provincia Committente/Impresa concedente" END IF END IF CAMPO: C) COMMITTENTE/ENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Committente Principale/Ente Script di controllo: CONTROLLO = TRUE ' se Committente o Ente pubblico IF APPTIPOCOMM= "1" OR (APPTIPOCOMM= "2" AND APPTIPOCONTR "1") THEN IF COMMITTPRINC = "" THEN CONTROLLO = FALSE omess = "Indicare Committente Principale/Ente" END IF END IF CAMPO: COD. FISC. COMM./ENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Cod. Fiscale Committente Principale/Ente Script di controllo: CONTROLLO = TRUE IF COMMITTPRINC <> "" THEN IF CFCOMMPRINC = "" THEN CONTROLLO = FALSE omess = "Indicare Cod. Fiscale Committente Principale/Ente" END IF END IF Tipo Errore: BLOCCANTE Messaggio errore: Codice fiscale committente principale errato Script di controllo: CONTROLLO = TRUE IF CFCOMMPRINC <> "" AND not isNumeric(CFCOMMPRINC) THEN CONTROLLO = ControlloCodiceFiscale(CFCOMMPRINC, "", "", "", "", "") END IF IF CFCOMMPRINC <> "" AND isNumeric (CFCOMMPRINC) = TRUE THEN CONTROLLO = ControlloPartitaIva(CFCOMMPRINC) END IF CAMPO: INDIRIZZO COMMITT./ENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Indirizzo Committente Principale/Ente Script di controllo: CONTROLLO = TRUE IF COMMITTPRINC <> "" THEN IF INDIRCOMMPRINC = "" THEN CONTROLLO = FALSE omess = "Indicare Indirizzo Committente Principale/Ente" END IF END IF CAMPO: CITTÀ COMMITT./ENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Città Committente Principale/Ente Script di controllo: CONTROLLO = TRUE IF COMMITTPRINC <> "" THEN IF CITTACOMMPRINC = "" THEN CONTROLLO = FALSE omess = "Indicare Indirizzo Committente Principale/Ente" END IF END IF CAMPO: PROV. COMMITT./ENTE Tipo Errore: BLOCCANTE Messaggio errore: Indicare Provincia Committente Principale/Ente Script di controllo: CONTROLLO = TRUE IF COMMITTPRINC <> "" THEN IF PROVCOMMPRINC = "" THEN CONTROLLO = FALSE omess = "Indicare Provincia Committente Principale/Ente" END IF END IF CAMPO: DATA INIZIO LAVORI Tipo Errore: BLOCCANTE Messaggio errore: Data Fine Lavori precedente Data Inizio Lavori Script di controllo: CONTROLLO = TRUE IF ISDATE(DATAINILAV) and ISDATE(DATAFINELAV) THEN IF Cdate(DATAINILAV) > Cdate (DATAFINELAV) THEN CONTROLLO = FALSE END IF END IF CAMPO: F.1 IMPRESA SUBAPPALTATRICE Tipo Errore: BLOCCANTE Messaggio errore: Indicare tutti i dati identificativi del subappalto Script di controllo: CONTROLLO = TRUE IF NOT(IMPRESASUB1 = "" AND CODFISCSUB1 = "" AND INDIRSUB1 = "" AND COMUNESUB1 = "" AND CAPSUB1 = "" AND DESCRLAVSUB1 = "" AND DATAINILAVSUB1 = "" AND DATAFINELAVSUB1 = "") THEN IF IMPRESASUB1 <> "" THEN IF NOT (CODFISCSUB1 <> "" AND INDIRSUB1 <> "" AND COMUNESUB1 <> "" AND CAPSUB1 <> "" AND DESCRLAVSUB1 <> "" AND DATAINILAVSUB1 <> "" AND DATAFINELAVSUB1 <> "") THEN CONTROLLO = FALSE END IF ELSE IF (CODFISCSUB1 <> "" OR INDIRSUB1 <> "" OR COMUNESUB1 <> "" OR CAPSUB1 <> "" OR DESCRLAVSUB1 <> "" OR DATAINILAVSUB1 <> "" OR DATAFINELAVSUB1 <> "") THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: COD. FISC. SUBAPP. Tipo Errore: BLOCCANTE Messaggio errore: Codice Fiscale subappaltante errato Script di controllo: CONTROLLO = TRUE IF CODFISCSUB1 <> "" AND not isNumeric(CODFISCSUB1) THEN CONTROLLO = ControlloCodiceFiscale(CODFISCSUB1, "", "", "", "", "") END IF IF CODFISCSUB1 <> "" AND isNumeric (CODFISCSUB1) = TRUE THEN CONTROLLO = ControlloPartitaIva(CODFISCSUB1) END IF CAMPO: F.2 IMPRESA SUBAPPALTATRICE Tipo Errore: BLOCCANTE Messaggio errore: Indicare tutti i dati identificativi del subappalto Script di controllo: CONTROLLO = TRUE IF NOT(IMPRESASUB2 = "" AND CODFISCSUB2 = "" AND INDIRSUB2 = "" AND COMUNESUB2 = "" AND CAPSUB2 = "" AND DESCRLAVSUB2 = "" AND DATAINILAVSUB2 = "" AND DATAFINELAVSUB2 = "") THEN IF IMPRESASUB2 <> "" THEN IF NOT (CODFISCSUB2 <> "" AND INDIRSUB2 <> "" AND COMUNESUB2 <> "" AND CAPSUB2 <> "" AND DESCRLAVSUB2 <> "" AND DATAINILAVSUB2 <> "" AND DATAFINELAVSUB2 <> "") THEN CONTROLLO = FALSE END IF ELSE IF (CODFISCSUB2 <> "" OR INDIRSUB2 <> "" OR COMUNESUB2 <> "" OR CAPSUB2 <> "" OR DESCRLAVSUB2 <> "" OR DATAINILAVSUB2 <> "" OR DATAFINELAVSUB2 <> "") THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: COD. FISC. SUBAPP. Tipo Errore: BLOCCANTE Messaggio errore: Codice Fiscale subappaltante errato Script di controllo: CONTROLLO = TRUE IF CODFISCSUB2 <> "" AND not isNumeric(CODFISCSUB2) THEN CONTROLLO = ControlloCodiceFiscale(CODFISCSUB2, "", "", "", "", "") END IF IF CODFISCSUB2 <> "" AND isNumeric (CODFISCSUB2) = TRUE THEN CONTROLLO = ControlloPartitaIva(CODFISCSUB2) END IF CAMPO: F.3 IMPRESA SUBAPPALTATRICE Tipo Errore: BLOCCANTE Messaggio errore: Indicare tutti i dati identificativi del subappalto Script di controllo: CONTROLLO = TRUE IF NOT(IMPRESASUB3 = "" AND CODFISCSUB3 = "" AND INDIRSUB3 = "" AND COMUNESUB3 = "" AND CAPSUB3 = "" AND DESCRLAVSUB3 = "" AND DATAINILAVSUB3 = "" AND DATAFINELAVSUB3 = "") THEN IF IMPRESASUB3 <> "" THEN IF NOT (CODFISCSUB3 <> "" AND INDIRSUB3 <> "" AND COMUNESUB3 <> "" AND CAPSUB3 <> "" AND DESCRLAVSUB3 <> "" AND DATAINILAVSUB3 <> "" AND DATAFINELAVSUB3 <> "" THEN CONTROLLO = FALSE END IF END IF END IF CAMPO: COD. FISC. SUBAPP. Tipo Errore: BLOCCANTE Messaggio errore: Codice Fiscale subappaltante errato Script di controllo: CONTROLLO = TRUE IF NOT(IMPRESASUB3 = "" AND CODFISCSUB3 = "" AND INDIRSUB3 = "" AND COMUNESUB3 = "" AND CAPSUB3 = "" AND DESCRLAVSUB3 = "" AND DATAINILAVSUB3 = "" AND DATAFINELAVSUB3 = "") THEN IF IMPRESASUB3 <> "" THEN IF NOT (CODFISCSUB3 <> "" AND INDIRSUB3 <> "" AND COMUNESUB3 <> "" AND CAPSUB3 <> "" AND DESCRLAVSUB3 <> "" AND DATAINILAVSUB3 <> "" AND DATAFINELAVSUB3 <> "") THEN CONTROLLO = FALSE END IF ELSE IF (CODFISCSUB3 <> "" OR INDIRSUB3 <> "" OR COMUNESUB3 <> "" OR CAPSUB3 <> "" OR DESCRLAVSUB3 <> "" OR DATAINILAVSUB3 <> "" OR DATAFINELAVSUB3 <> "") THEN CONTROLLO = FALSE END IF END IF END IF STAMPA