diff --git a/ca/ca3800.uml b/ca/ca3800.uml index 1ed214c51..d1805b421 100755 --- a/ca/ca3800.uml +++ b/ca/ca3800.uml @@ -81,12 +81,12 @@ BEGIN PROMPT 2 7 "Includere esercizi successivi (vita intera)" END -RADIOBUTTON F_TIPOSTIMA 1 24 +RADIOBUTTON F_TIPOSTIMA 1 35 BEGIN - PROMPT 45 7 "Tipo di stima" - FLAGS "Z" + PROMPT 35 7 "Tipo di stima" ITEM "T|Tempo" - ITEM "C|Costi" + ITEM "C|Costi consuntivi\Ricavi preventivi" + ITEM "R|Costi consuntivi\Ricavi consuntivi" END BOOLEAN F_FASI @@ -98,7 +98,7 @@ END STRING F_FASE 10 BEGIN - PROMPT 25 8 "Fase " + PROMPT 2 9 "Fase " END GROUPBOX F_PRE0 76 5 diff --git a/ca/ca3800a.rep b/ca/ca3800a.rep index 157a016e7..e56a68513 100755 --- a/ca/ca3800a.rep +++ b/ca/ca3800a.rep @@ -24,22 +24,23 @@ - + - + ANNO - + - + TIPOSTIMA
  • -
  • +
  • +
  • diff --git a/ca/ca3883.cpp b/ca/ca3883.cpp index 8c5eb746a..c1cf26a7b 100755 --- a/ca/ca3883.cpp +++ b/ca/ca3883.cpp @@ -398,28 +398,51 @@ int TPrint_saldana_recordset::estrai_saldi(const TRecordset& saldana, const int //stampa bilancio di commessa (_tipo=8) if (_tipo == 8) { - if (_tipostima == 'C' && indbil == 3) - { - const TImporto imp_saldo(saldana.get(SALDANA_SEZIONE).as_string()[0], - saldana.get(SALDANA_SALDO).as_real()); - saldo = imp_saldo; - flag |= saldo.is_zero() ? 0 : 1; - } - else - saldo.reset(); + if (_tipostima == 'R') //stampa adolfica nuova con ricavi consuntivi (spezzabili per fase) + { + const TImporto imp_saldo(saldana.get(SALDANA_SEZIONE).as_string()[0], + saldana.get(SALDANA_SALDO).as_real()); + saldo.reset(); + saldop.reset(); + if (!imp_saldo.is_zero()) + { + if (indbil == 3) //colonna costi + { + saldo = imp_saldo; + flag = 1; + } + else //indbil == 4; colonna ricavi + { + saldop = imp_saldo; + flag = 2; + } + } + } + else //programma originale con ricavi di budget totalizzati ad inizio commessa + { + if (_tipostima == 'C' && indbil == 3) + { + const TImporto imp_saldo(saldana.get(SALDANA_SEZIONE).as_string()[0], + saldana.get(SALDANA_SALDO).as_real()); + saldo = imp_saldo; + flag |= saldo.is_zero() ? 0 : 1; + } + else + saldo.reset(); - if (_tipostima == 'T' || (_tipostima == 'C' && indbil == 4)) //stima Tempo o (Costi e indbil=ricavo) - { - const TImporto imp_saldop(saldana.get(SALDANA_SEZIONEP).as_string()[0], - saldana.get(SALDANA_SALDOP).as_real()); - const TImporto imp_saldov(saldana.get(SALDANA_SEZIONEV).as_string()[0], - saldana.get(SALDANA_SALDOV).as_real()); - saldop = imp_saldop; - saldop += imp_saldov; - flag |= saldop.is_zero() ? 0 : 2; - } - else - saldop.reset(); + if (_tipostima == 'T' || (_tipostima == 'C' && indbil == 4)) //stima Tempo o (Costi e indbil=ricavo) + { + const TImporto imp_saldop(saldana.get(SALDANA_SEZIONEP).as_string()[0], + saldana.get(SALDANA_SALDOP).as_real()); + const TImporto imp_saldov(saldana.get(SALDANA_SEZIONEV).as_string()[0], + saldana.get(SALDANA_SALDOV).as_real()); + saldop = imp_saldop; + saldop += imp_saldov; + flag |= saldop.is_zero() ? 0 : 2; + } + else + saldop.reset(); + } } // stampa stima ricavi (_tipo=9) else @@ -781,7 +804,20 @@ const TVariant& TPrint_saldana_recordset::get(const char* column_name) const else if (strcmp(column_name, "TIPOSTIMA") == 0) { - var.set(_tipostima == 'T' ? "T" : "C"); + switch (_tipostima) + { + case 'T': + var.set("T"); + break; + case 'C': + var.set("C"); + break; + case 'R': + var.set("R"); + break; + default: + break; + } } else if (strcmp(column_name, "DEPTH") == 0)