From 680e0926df0d3dc30aac91c767ee8b281becbcda Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 22 May 2006 15:18:49 +0000 Subject: [PATCH] Patch level :4.0 418 Files correlati : Ricompilazione Demo : [ ] Commento :aggiunta la stampa della Proiezione cespiti su gentile richiesta del crpa (da testare!!!) git-svn-id: svn://10.65.10.50/trunk@14001 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ce/ce4300.cpp | 55 ++++++++++-------- ce/ce4300a.rep | 148 ++++++++++++++++++++++++++++--------------------- ce/cemenu.men | 1 + 3 files changed, 117 insertions(+), 87 deletions(-) diff --git a/ce/ce4300.cpp b/ce/ce4300.cpp index 697644ba8..a5cd78fc1 100755 --- a/ce/ce4300.cpp +++ b/ce/ce4300.cpp @@ -216,6 +216,8 @@ void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk) { pi.addstatus(1); + real costo, alien, famm; + //Colonna COSTO const TString& idcespite = rel_cespi.curr().get(CESPI_IDCESPITE); const int codcat = rel_cespi.curr().get_int(CESPI_CODCAT); @@ -223,7 +225,10 @@ void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk) salce.put(SALCE_CODES, _anno); salce.put(SALCE_TPSALDO, 1); if (salce.read() == NOERR) - add_value(codcat, SALCE_CSTO, salce.get_real(SALCE_CSTO)); + { + costo = salce.get_real(SALCE_CSTO); + add_value(codcat, SALCE_CSTO, costo); + } //Colonna ALIENAZIONI //cerca tutti i movimenti di vendita relativi al cespite corrente all'interno dell'esercizio.. @@ -234,6 +239,7 @@ void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk) { const real vendita = movce.get(MOVCE_IMPVEN).as_real(); add_value(codcat, MOVCE_IMPVEN, vendita); + alien += vendita; } //Colonna FAMM (fondo ammortamento) @@ -243,30 +249,43 @@ void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk) ammce.put(AMMCE_TPAMM, 1); //tipoamm fiscale if (ammce.read() == NOERR) { - real famm; famm += ammce.get_real(AMMCE_QNOR); famm += ammce.get_real(AMMCE_QACC); famm += ammce.get_real(AMMCE_QANT); - add_value(codcat, AMMCE_QNOR, famm); + add_value(codcat, "AMMO0", famm); } - //Colonna PERCAMM (aliquota ammortamento) //Colonna QAMM //Per questi ci vuole un tiposaldo diverso ammce.put(AMMCE_TPSALDO, 2); //tiposaldo finale if (ammce.read() == NOERR) { - real percamm; - percamm += ammce.get_real(AMMCE_PNOR); - percamm += ammce.get_real(AMMCE_PACC); - percamm += ammce.get_real(AMMCE_PANT); - add_value(codcat, AMMCE_PNOR, percamm); - real qamm; qamm += ammce.get_real(AMMCE_QNOR); qamm += ammce.get_real(AMMCE_QACC); qamm += ammce.get_real(AMMCE_QANT); - add_value(codcat, AMMCE_QACC, qamm); + add_value(codcat, "AMMO1", qamm); + + //Colonne degli ammortamenti + //Si calcolano in questo modo perche' si calcolano cespite + real residuo = costo - alien - famm - qamm; //qamm e' AMMO1 + TString8 ammo; + for (int a = 2; a <= 5 && residuo > ZERO; a++) + { + ammo.format("AMMO%d", a); + if (qamm >= residuo) + { + add_value(codcat, ammo, residuo); + residuo = ZERO; + } + else + { + add_value(codcat, ammo, qamm); + residuo -= qamm; + } + } + if (residuo > 0) + add_value(codcat, "AMMOX", residuo); } } //for(cur_cespi... @@ -302,19 +321,9 @@ bool TStampa_proiez_ammo_rep::get_usr_val(const TString& name, TVariant& var) co var = get_value(codcat, MOVCE_IMPVEN); return true; } - if (name == "#FAMM") //fondo ammortamento alla fine dell'esercizio precedente + if (name.starts_with("#AMMO")) //fondi ammortamento { - var = get_value(codcat, AMMCE_QNOR); - return true; - } - if (name == "#PERCAMM") //percentuale ammortamento - { - var = get_value(codcat, AMMCE_PNOR); - return true; - } - if (name == "#QAMM") //fondo ammortamento esercizio corrente - { - var = get_value(codcat, AMMCE_QACC); + var = get_value(codcat, name.mid(1)); return true; } diff --git a/ce/ce4300a.rep b/ce/ce4300a.rep index c1fb53643..818087c2e 100755 --- a/ce/ce4300a.rep +++ b/ce/ce4300a.rep @@ -57,41 +57,41 @@ MESSAGE RESET,F2.110
  • - - - - - - - - - + + + + + + + + + - + #FINESCPREC - - + + #FINESCPREC - - - + + + #ANNOES - + #ANNOES+1 - + #ANNOES+2 - + #ANNOES+3 - + #ANNOES+4 - +
    @@ -99,94 +99,114 @@ MESSAGE RESET,F2.110 CODTAB[7,8] - + S0 - - #PERCAMM + + #101 @ +#102 @ +- +DUP +0 E; IF + #105 @ + 100 * + SWAP + F; + 0 + ROUND +ELSE + DROP + 0 +THEN +#THIS ! - + #COSTO MESSAGE ADD,F2.101 - + #ALIENAZ MESSAGE ADD,F2.102 - - #FAMM + + #AMMO0 MESSAGE ADD,F2.103 - + #101-#102-#103 - - #QAMM + + #AMMO1 MESSAGE ADD,F2.105 - + + #AMMO2 MESSAGE ADD,F2.106 - + + #AMMO3 MESSAGE ADD,F2.107 - + + #AMMO4 MESSAGE ADD,F2.108 - + + #AMMO5 MESSAGE ADD,F2.109 - + + #AMMOX MESSAGE ADD,F2.110
    - + - - + + - - - + + + - - + + - - + + - + #101-#102-#103 - + MESSAGE ADD,F1.105 - + MESSAGE ADD,F1.106 - + MESSAGE ADD,F1.107 - + MESSAGE ADD,F1.108 - + MESSAGE ADD,F1.109 - + MESSAGE ADD,F1.110
    - + - +
  • @@ -194,34 +214,34 @@ MESSAGE RESET,F2.110
  • - + MESSAGE ADD,F1.101 - + MESSAGE ADD,F1.102 - + MESSAGE ADD,F1.103 - + #101-#102-#103 - + MESSAGE ADD,F1.105 - + MESSAGE ADD,F1.106 - + MESSAGE ADD,F1.107 - + MESSAGE ADD,F1.108 - + MESSAGE ADD,F1.109 - + MESSAGE ADD,F1.110
  • diff --git a/ce/cemenu.men b/ce/cemenu.men index 086917360..291351541 100755 --- a/ce/cemenu.men +++ b/ce/cemenu.men @@ -120,6 +120,7 @@ Item_02 = "Prospetto cespiti", "ce3 -2", "F" Item_03 = "Prospetto rivalutazioni", "ce3 -3", "F" Item_04 = "Registro cespiti", "ce3 -0", "F" Item_05 = "Registro cespiti sintetico", "ce3 -8", "F" +Item_06 = "Proiezione degli ammortamenti", "ce4 -2", "F" [CEMENU_012] Caption = "Servizi"