diff --git a/ca/ca3800.uml b/ca/ca3800.uml index c0b357028..e58bcd77e 100755 --- a/ca/ca3800.uml +++ b/ca/ca3800.uml @@ -6,7 +6,7 @@ ENDPAGE PAGE "Stampa bilancio commessa" 0 2 0 0 -GROUPBOX DLG_NULL 76 4 +GROUPBOX DLG_NULL 76 5 BEGIN PROMPT 0 1 "" END @@ -38,25 +38,30 @@ END BOOLEAN F_VITAINTERA BEGIN - PROMPT 1 3 "Inclusi esercizi successivi (vita intera)" + PROMPT 1 3 "Includere esercizi successivi (vita intera)" MESSAGE FALSE ENABLE,F_FINE_ES MESSAGE TRUE CLEAR,F_FINE_ES END +BOOLEAN F_INCLUDE_DOCUMENTI +BEGIN + PROMPT 1 4 "Includere documenti non contabilizzati (di tipo ordine)" +END + DATE F_DATASTAMPA BEGIN - PROMPT 2 5 "Data stampa " + PROMPT 2 6 "Data stampa " FLAGS "A" END -GROUPBOX DLG_NULL 76 8 +GROUPBOX DLG_NULL 76 7 BEGIN - PROMPT 0 6 "@bParametri" + PROMPT 0 7 "@bParametri" END LISTBOX F_TIPOSTAMPA 1 30 BEGIN - PROMPT 1 7 "Stampa " + PROMPT 1 8 "Stampa " ITEM "0|Normale" MESSAGE CLEAR,F_FASE|CLEAR,F_CDC ITEM "1|Dettaglia per Fase" @@ -73,12 +78,12 @@ END STRING F_FASE 10 BEGIN - PROMPT 2 8 "Fase " + PROMPT 2 9 "Fase " END STRING F_CDC 20 BEGIN - PROMPT 2 9 "CdC " + PROMPT 2 10 "CdC " USE LF_CDC INPUT CODCOSTO F_CDC DISPLAY "Codice centro di costo" CODCOSTO @@ -99,7 +104,7 @@ END BOOLEAN F_TIPODETR BEGIN - PROMPT 1 10 "Utilizzare consuntivi per le detrazioni " + PROMPT 1 11 "Utilizzare consuntivi per le detrazioni " END GROUPBOX F_PRE0 76 5 @@ -133,7 +138,7 @@ PAGE "Istruzioni" 0 2 0 0 GROUPBOX DLG_NULL 78 9 BEGIN - PROMPT 1 1 "@bUtilizzo campi dalla/alla data ed esercizio" + PROMPT 1 1 "@bUtilizzo campi data Inizio/Fine ed esercizio" END TEXT -1 @@ -171,6 +176,21 @@ BEGIN PROMPT 1 8 " a quello selezionato." END +GROUPBOX DLG_NULL 78 9 +BEGIN + PROMPT 1 10 "@bUtilizzo Parametri" +END + +TEXT -1 +BEGIN + PROMPT 1 11 "3) Includere documenti equivale a considerare nel calcolo anche i documenti" +END + +TEXT -1 +BEGIN + PROMPT 1 12 " non contabilizzati di tipo ordine con data inclusa nell'intervallo selezionato" +END + ENDPAGE ENDMASK diff --git a/ca/ca3883.cpp b/ca/ca3883.cpp index 9df84873b..4e2561533 100755 --- a/ca/ca3883.cpp +++ b/ca/ca3883.cpp @@ -1298,6 +1298,8 @@ void TPrint_saldana_recordset::parse_rmovana(TAssoc_array* cms, const TDate& dat } } break; + default: + break; } query << "JOIN MOVANA INTO NUMREG==NUMREG\nFROM DATACOMP=#MINDATACOMP\nTO DATACOMP=#DATACALCOLO"; @@ -1351,7 +1353,8 @@ int TPrint_saldana_recordset::numerazioni_ordini(TString_array& num_ordini, TStr for (bool ok = num_recset.move_first(); ok; ok = num_recset.move_next()) //giro sui vari tipi numerazione { const TString4 codtab = num_recset.get("CODTAB").as_string(); - const TCodice_numerazione& numerazione = cached_numerazione(codtab); + + const TCodice_numerazione numerazione(codtab); for (int t = numerazione.ntipi_doc() - 1; t >= 0; t--) { const TString& tipo_doc = numerazione.tipo_doc(t); @@ -1383,7 +1386,7 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain TString query; query << "USE RDOC KEY 3\n"; - query << "SELECT (BETWEEN(DOC.DATADOC, #DATAINIES, #DATACALCOLO))&&(RIGAEVASA!=\"X\")"; + query << "SELECT (BETWEEN(DOC.DATADOC,#DATAINIES,#DATACALCOLO))&&(RIGAEVASA!=\"X\")"; //filtro su cdc/cms/fasi (fatto come per saldi e rmovana; purtroppo non si può metodizzare perchè in tutti i files.. //..i nomi dei campi sono diversi! @@ -1392,33 +1395,35 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain case 1: case 4: if (_fase.full()) - query << "&&(FASCMS=\"" << _fase << "\")\n"; + query << "&&(FASCMS=\"" << _fase << "\")"; break; case 2: case 8: if (_cdc.full()) - query << "&&(CODCOSTO=\"" << _cdc << "\")\n"; + query << "&&(CODCOSTO=\"" << _cdc << "\")"; break; case 3: if (_fase.full() || _cdc.full()) { if (_fase.full() && _cdc.full()) - query << "&&(FASCMS=\"" << _fase << "\")&&(CODCOSTO=\"" << _cdc << "\")\n"; + query << "&&(FASCMS=\"" << _fase << "\")&&(CODCOSTO=\"" << _cdc << "\")"; else { if (_fase.full()) - query << "&&(FASCMS=\"" << _fase << "\")\n"; + query << "&&(FASCMS=\"" << _fase << "\")"; else - query << "&&(CODCOSTO=\"" << _cdc << "\")\n"; + query << "&&(CODCOSTO=\"" << _cdc << "\")"; } } break; + default: + break; } - query << "JOIN DOC INTO PROVV=='D' ANNO==ANNO CODNUM==CODNUM\nFROM PROVV='D' ANNO=#ANNO CODNUM=#CODNUM\nTO PROVV='D' ANNO=#ANNO CODNUM=#CODNUM"; + query << "\nJOIN DOC INTO PROVV=='D' ANNO==ANNO CODNUM==CODNUM\nFROM PROVV='D' ANNO=#ANNO CODNUM=#CODNUM\nTO PROVV='D' ANNO=#ANNO CODNUM=#CODNUM"; TISAM_recordset recset(query); recset.set_var("#ANNO", (long)_datacalcolo.year()); - recset.set_var("#CODNUM", codnum); + recset.set_var("#CODNUM", TVariant(codnum)); recset.set_var("#DATAINIES", datainiesc); recset.set_var("#DATACALCOLO", _datacalcolo); @@ -1474,8 +1479,8 @@ void TPrint_saldana_recordset::parse_rdoc(TAssoc_array* cms, const TDate& datain if (!rigadoc.is_evasa()) { //trasforma tutte le righe a valore, assegnando al prezzo il valore del residuo - const real valore = rigadoc.valore(true); - const real residuo = rigadoc.valore(false); + const real valore = rigadoc.valore(true, AUTO_DECIMALS); + const real residuo = rigadoc.valore(false, AUTO_DECIMALS); //ovviamente questo è vero se il residuo è inferiore al valore; se fosse uguale sarebbe riga ancora da evadere,.. //..se fosse maggiore sarebbe riga del cazzo if (residuo < valore) @@ -1544,7 +1549,9 @@ void TPrint_saldana_recordset::create_lines_to_print(const TString& query) parse_rmovana(cms, datainiesc, datafinesc); // 2_b) calcolo dei saldi da documenti non ancora contabilizzati e quindi senza movana e saldana - parse_rdoc(cms, datainiesc, datafinesc); + // si fa solo se l'utente Adolfo lo ha deciso sulla maschera + if (_include_documenti) + parse_rdoc(cms, datainiesc, datafinesc); } //if((_datacalcolo