diff --git a/ce/ce2101.cpp b/ce/ce2101.cpp index afce8c224..182371abe 100755 --- a/ce/ce2101.cpp +++ b/ce/ce2101.cpp @@ -1288,9 +1288,8 @@ void TCespite::calc_perc(TRelation& rel, const TRectype& tmv, const TRectype& tm } else { - // La finanziaria 2009 permette l'ammortamento civilistico al 100% - // dei cespiti acquistati dal 2007 - if (ammmv.get_int(AMMMV_TPAMM) != 2 || tmv.get_date(MOVCE_DTMOV).year() < 2007) + const TDate dtmov = tmv.get_date(MOVCE_DTMOV); + if (!cce.primo_ammortamento_100(dtmov, ammmv.get_int(AMMMV_TPAMM), auto_o_moto())) { ammmv.put(AMMMV_PENOR, ammmv.get_real(AMMMV_PNOR)/2.0); ammmv.put(AMMMV_PEANT, ammmv.get_real(AMMMV_PANT)/2.0); @@ -1843,9 +1842,7 @@ void TCespite::calc_amm_residui(bool is_valid) } else { - // La finanziaria 2009 permette l'ammortamento civilistico al 100% - // anche dei cespiti acquistati dal 2007 - if (_ammpro.get_int(AMMCE_TPAMM) != 2 || dtfunz.year() < 2007) + if (!cce.primo_ammortamento_100(dtfunz, _ammpro.get_int(AMMCE_TPAMM), auto_o_moto())) { ammpro_put_perc(AMMCE_PNOR, ammini_get_real(AMMCE_PNOR)/2.0); ammpro_put_perc(AMMCE_PANT, ammini_get_real(AMMCE_PANT)/2.0); diff --git a/ce/celib.cpp b/ce/celib.cpp index be4a8e143..615fd7a5e 100755 --- a/ce/celib.cpp +++ b/ce/celib.cpp @@ -211,6 +211,20 @@ bool TDitta_cespiti::esente_art14() const return _cce.get_bool("B7"); } +// La finanziaria 2009 permette l'ammortamento civilistico al 100% dei cespiti acquistati dal 2007 +// Ma visto che ogni commercialista vuol dire la sua: abbiamo reso tutto configurabile nel campo S6 +bool TDitta_cespiti::primo_ammortamento_100(const TDate& data, int tiposit, bool veicolo) const +{ + if (data.year() < 2008) + return false; + + TString4 s6 = _cce.get("S6"); s6.left_just(4, '0'); + if (veicolo && s6[3] != '1') + return false; + + return tiposit >= 1 && tiposit <= 3 && s6[tiposit-1] == '1'; +} + bool TDitta_cespiti::legge_223_06() const { const TDate data(4, 7, 2006); diff --git a/ce/celib.h b/ce/celib.h index caf70e9e8..fb0e7ddba 100755 --- a/ce/celib.h +++ b/ce/celib.h @@ -41,6 +41,8 @@ public: real coefficiente_durata_esercizio() const; int anno_tuir() const { return _anno_tuir; } bool legge_223_06() const; + + bool primo_ammortamento_100(const TDate& datamov, int tiposit, bool veicolo) const; bool bollato_stampato() const; bool ammortamento_proporzionale() const { return _amm_prop; } diff --git a/ce/cetbcce.h b/ce/cetbcce.h index 801230e1b..4ed94d5c5 100755 --- a/ce/cetbcce.h +++ b/ce/cetbcce.h @@ -19,3 +19,8 @@ #define F_DURATA 125 #define F_COEFF_DURATA 126 + +#define F_AMMFIS2008 131 +#define F_AMMCIV2008 132 +#define F_AMMGES2008 133 +#define F_AMMAUT2008 134 diff --git a/ce/cetbcce.uml b/ce/cetbcce.uml index 070453895..7eb16349f 100755 --- a/ce/cetbcce.uml +++ b/ce/cetbcce.uml @@ -4,18 +4,9 @@ TOOLBAR "topbar" 0 0 0 2 #include ENDPAGE -TOOLBAR "" 0 -2 0 2 - -BUTTON DLG_ATTIV 10 2 -BEGIN - PROMPT -11 -11 "~Attivitá" -END - -ENDPAGE - PAGE "Esercizi Cespiti" 0 2 0 0 -GROUPBOX DLG_NULL 76 4 +GROUPBOX DLG_NULL 78 4 BEGIN PROMPT 1 0 "" FLAGS "R" @@ -38,7 +29,6 @@ BEGIN CHECKTYPE FORCED END - DATE F_DATAINI BEGIN PROMPT 2 2 "Data inizio " @@ -51,9 +41,14 @@ BEGIN FLAGS "D" END +BUTTON DLG_ATTIV 10 2 +BEGIN + PROMPT 64 1 "~Attivitá" +END + LISTBOX F_TIPOCONTAB 1 12 BEGIN - PROMPT 2 4 "Tipo Contabilita' " + PROMPT 42 4 "Tipo Contabilita' " ITEM "1|Ordinaria" ITEM "2|Semplificata" FIELD I0 @@ -61,37 +56,37 @@ END BOOLEAN F_DIT_PROF BEGIN - PROMPT 2 5 "Ditta relativa a professionista" + PROMPT 2 4 "Ditta relativa a professionista" FIELD B0 END BOOLEAN F_ESERCOST BEGIN - PROMPT 2 6 "Esercizio di costituzione" + PROMPT 2 5 "Esercizio di costituzione" FIELD B1 END BOOLEAN F_RINV_AMM BEGIN - PROMPT 2 7 "Rinvio ammortamento a data conseguimento primi ricavi" + PROMPT 2 6 "Rinvio ammortamento a data conseguimento primi ricavi" FIELD B2 END BOOLEAN F_ES_ART14 BEGIN - PROMPT 2 8 "Esercizio soggetto all'art. 14 c.2. Legge 449/97" + PROMPT 2 7 "Esercizio soggetto all'art. 14 c.2. Legge 449/97" FIELD B7 END -GROUPBOX DLG_NULL 76 7 +GROUPBOX DLG_NULL 78 7 BEGIN - PROMPT 1 10 "@BParametri di calcolo" + PROMPT 1 8 "@BParametri di calcolo" FLAGS "R" END LISTBOX F_TIPO_ARR 1 12 BEGIN - PROMPT 2 11 "Tipo arrotondamento " + PROMPT 2 9 "Tipo arrotondamento " ITEM "/|al centesimo" ITEM "+|per eccesso" ITEM "-|per difetto" @@ -100,7 +95,7 @@ END LISTBOX F_TIPO_RIP 1 8 BEGIN - PROMPT 40 11 "Tipo riproporzionamento " + PROMPT 40 9 "Tipo riproporzionamento " ITEM "2|a giorni" ITEM "1|a mesi" FIELD I1 @@ -108,36 +103,72 @@ END BOOLEAN F_AMM_VEND BEGIN - PROMPT 2 12 "Ammortamento anche parti vendute" + PROMPT 2 10 "Ammortamento anche parti vendute" FIELD B3 END BOOLEAN F_RAGGUAGLIO BEGIN - PROMPT 2 13 "Ragguaglio al periodo di possesso degli ammortamenti sulle parti vendute" + PROMPT 2 11 "Ragguaglio al periodo di possesso degli ammortamenti sulle parti vendute" FIELD B4 END BOOLEAN F_ESPOSIZIONE BEGIN - PROMPT 2 14 "Esposizione fondi per ammortamenti diretti su LIBRO CESPITI" + PROMPT 2 12 "Esposizione fondi per ammortamenti diretti su LIBRO CESPITI" FIELD B5 END NUMBER F_DURATA 3 BEGIN - PROMPT 2 15 "Giorni di durata esercizio " + PROMPT 2 13 "Giorni di durata esercizio " FLAGS "DG" FIELD I3 END NUMBER F_COEFF_DURATA 11 9 BEGIN - PROMPT 41 15 "Coefficiente di durata " + PROMPT 41 13 "Coefficiente di durata " FLAGS "DG" FIELD S5 END -ENDPAGE + +GROUPBOX DLG_NULL 78 6 +BEGIN + PROMPT 1 15 "@bAmmortamento cespiti nuovi (dal 2008)" END + +RADIOBUTTON F_AMMFIS2008 5 10 +BEGIN + PROMPT 2 16 "@bFiscale" + ITEM "0|50%" + ITEM "1|100%" + FIELD S6[1,1] +END + +RADIOBUTTON F_AMMCIV2008 5 10 +BEGIN + PROMPT 15 16 "@bCivilistico" + ITEM "0|50%" + ITEM "1|100%" + FIELD S6[2,2] +END + +RADIOBUTTON F_AMMGES2008 5 10 +BEGIN + PROMPT 28 16 "@bGestionale" + ITEM "0|50%" + ITEM "1|100%" + FIELD S6[3,3] +END + +RADIOBUTTON F_AMMAUT2008 5 15 +BEGIN + PROMPT 41 16 "@bAutomezzi" + ITEM "0|Esclusi" + ITEM "1|Inclusi" + FIELD S6[4,4] +END + ENDPAGE ENDMASK \ No newline at end of file