diff --git a/src/ef/dc800000.frm b/src/ef/dc800000.frm index 6f54d50db..5b10ecde0 100644 --- a/src/ef/dc800000.frm +++ b/src/ef/dc800000.frm @@ -1,5 +1,5 @@ USE 31 -JOIN 14 INTO NPROGTR==NPROGTR +JOIN 14 INTO NPROGTR==NPROGTR JOIN 20 INTO TIPOCF=="C" CODCF==CODCF JOIN 17 TO 20 INTO TIPOCF==TIPOCF CODCF==CODCF JOIN 16 TO 17 INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDEFF @@ -85,17 +85,17 @@ END STRING 9 11 BEGIN KEY "scritta titolo righe del body" -PROMPT 94 7 "FATTURA NUM" +PROMPT 88 7 "FATTURA NUM" END STRING 10 8 BEGIN KEY "scritta titolo righe del body" -PROMPT 111 7 "DATA FATT." +PROMPT 104 7 "DATA FATT." END STRING 11 7 BEGIN KEY "scritta titolo righe del body" -PROMPT 129 7 "IMPORTO" +PROMPT 135 7 "IMPORTO" END STRING 12 BEGIN @@ -256,10 +256,10 @@ END STRING 35 3 BEGIN KEY "test sulla valuta" -PROMPT 2 8 "" -FIELD CODVAL + PROMPT 2 8 "" + FIELD CODVAL FLAGS "H" -MESSAGE EMPTY ENABLE,4@|DISABLE,3@ + MESSAGE EMPTY ENABLE,4@|DISABLE,3@ END STRING 36 17 1 BEGIN @@ -267,30 +267,20 @@ KEY "cod cliente" PROMPT 2 4 "@RCod. For: " FIELD 20->CODCF END -SECTION RIGHE_EFFETTO 5 1 1 FILE 14 GROUP NPROGTR -STRINGA 1 +STRINGA 201 14 3 BEGIN -PROMPT 92 1 "Ft. n." -FIELD 14->NFATT +PROMPT 88 1 "Ft. n." +MESSAGE _FATT,!NFATT END -DATA 2 +STRINGA 202 16 3 BEGIN -PROMPT 107 1 "del " -FIELD 14->DATAFATT +PROMPT 104 1 "del " +MESSAGE _FATT,!DATAFATT END -VALUTA 3 21 3 +STRINGA 203 21 3 BEGIN -PROMPT 124 1 "" -FIELD 14->IMPORTOVAL -GROUP 3 -END -VALUTA 4 18 -BEGIN -PROMPT 124 1 "" -FIELD 14->IMPORTO -GROUP 4 -FLAGS "D" -END +PROMPT 121 1 "" +MESSAGE _FATT,!IMPEFF END STRINGA 31 32 BEGIN diff --git a/src/ef/df000000.frm b/src/ef/df000000.frm index 70e6db619..94eab7aff 100755 --- a/src/ef/df000000.frm +++ b/src/ef/df000000.frm @@ -85,17 +85,17 @@ END STRING 9 11 BEGIN KEY "scritta titolo righe del body" -PROMPT 94 7 "FATTURA NUM" +PROMPT 88 7 "FATTURA NUM" END STRING 10 8 BEGIN KEY "scritta titolo righe del body" -PROMPT 111 7 "DATA FATT." +PROMPT 104 7 "DATA FATT." END STRING 11 7 BEGIN KEY "scritta titolo righe del body" -PROMPT 129 7 "IMPORTO" +PROMPT 135 7 "IMPORTO" END STRING 12 BEGIN @@ -279,30 +279,20 @@ KEY "CIG" PROMPT 25 5 "CIG " FIELD CIG END -SECTION RIGHE_EFFETTO 5 1 1 FILE 14 GROUP NPROGTR -STRINGA 1 +STRINGA 201 14 3 BEGIN -PROMPT 92 1 "Ft. n." -FIELD 14->NFATT +PROMPT 88 1 "Ft. n." +MESSAGE _FATT,!NFATT END -DATA 2 +STRINGA 202 16 3 BEGIN -PROMPT 107 1 "del " -FIELD 14->DATAFATT +PROMPT 104 1 "del " +MESSAGE _FATT,!DATAFATT END -VALUTA 3 21 3 +STRINGA 203 21 3 BEGIN -PROMPT 124 1 "" -FIELD 14->IMPORTOVAL -GROUP 3 -END -VALUTA 4 18 -BEGIN -PROMPT 124 1 "" -FIELD 14->IMPORTO -GROUP 4 -FLAGS "D" -END +PROMPT 121 1 "" +MESSAGE _FATT,!IMPEFF END STRINGA 31 32 BEGIN diff --git a/src/ef/df900000.frm b/src/ef/df900000.frm index 73a5c725f..68f2d8a08 100755 --- a/src/ef/df900000.frm +++ b/src/ef/df900000.frm @@ -99,19 +99,19 @@ END STRING 9 11 BEGIN KEY "scritta titolo righe del body" - PROMPT 94 7 "FATTURA NUM" + PROMPT 88 7 "FATTURA NUM" END STRING 10 8 BEGIN KEY "scritta titolo righe del body" - PROMPT 111 7 "DATA FATT." + PROMPT 104 7 "DATA FATT." END STRING 11 7 BEGIN KEY "scritta titolo righe del body" - PROMPT 129 7 "IMPORTO" + PROMPT 135 7 "IMPORTO" END STRING 12 @@ -323,35 +323,20 @@ BEGIN PROMPT 25 5 "CIG " FIELD CIG END - -SECTION RIGHE_EFFETTO 5 1 1 FILE 14 GROUP NPROGTR - STRINGA 1 - BEGIN - PROMPT 92 1 "Ft. n." - FIELD 14->NFATT - END - - DATA 2 - BEGIN - PROMPT 107 1 "del " - FIELD 14->DATAFATT - END - - VALUTA 3 21 3 - BEGIN - PROMPT 124 1 "" - FIELD 14->IMPORTOVAL - GROUP 3 - END - - VALUTA 4 18 - BEGIN - PROMPT 124 1 "" - FIELD 14->IMPORTO - GROUP 4 - FLAGS "D" - END - +STRINGA 201 14 3 +BEGIN +PROMPT 88 1 "Ft. n." +MESSAGE _FATT,!NFATT +END +STRINGA 202 16 3 +BEGIN +PROMPT 104 1 "del " +MESSAGE _FATT,!DATAFATT +END +STRINGA 203 21 3 +BEGIN +PROMPT 121 1 "" +MESSAGE _FATT,!IMPEFF END STRINGA 31 32 BEGIN diff --git a/src/ef/ef0101.cpp b/src/ef/ef0101.cpp index 2c2232dc3..935e7820e 100755 --- a/src/ef/ef0101.cpp +++ b/src/ef/ef0101.cpp @@ -222,7 +222,8 @@ TToken_string& TEffetto::dati_fatt(long num, const bool valuta, TToken_string& d { dati.add(righe_eff.get(REFF_NFATT));//prende il numero dati.add(righe_eff.get(REFF_DATAFATT));//prende la data - dati.add(righe_eff.get(valuta ? REFF_IMPFATTVAL : REFF_IMPFATT));//prende l'importo + dati.add(righe_eff.get(valuta ? REFF_IMPFATTVAL : REFF_IMPFATT));//prende l'importo + dati.add(righe_eff.get(valuta ? REFF_IMPORTOVAL : REFF_IMPORTO));//prende l'importo scadenza righe_eff.next();// passa alla riga successiva } return dati; diff --git a/src/ef/ef0500.cpp b/src/ef/ef0500.cpp index 2316605a3..5e28e9baa 100755 --- a/src/ef/ef0500.cpp +++ b/src/ef/ef0500.cpp @@ -729,8 +729,13 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s) long num = effetto.numero(); const bool in_valuta = effetto.in_valuta(); bool condition = (effetto.fatt());//TRUE se effetto non raggruppato - TToken_string dati; effetto.dati_fatt(num, in_valuta, dati); + TToken_string dati; + + effetto.dati_fatt(num, in_valuta, dati); + + const int elem = dati.items(); TString in(s.get()); + if (in[0]=='!') { in.ltrim(1); @@ -745,16 +750,13 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s) // "!DATIFATT" stampa numero e data fattura delle fatture a cui si riferisce l'effetto if (in == "DATIFATT") { - int elem = dati.items(); - TString descfatt; for (int i = 0; i < elem; i+=3) { - descfatt << dati.get(i); - descfatt << ' '; - descfatt << dati.get(i+1); - descfatt << '\n'; + valore << dati.get(i); + valore << ' '; + valore << dati.get(i+1); + valore << '\n'; } - cf.set(descfatt); } // "!IMPFATT" se 1 sola fattura ne stampa l' importo if (in == "IMPFATT") @@ -762,11 +764,10 @@ bool TRiba_form::validate(TForm_item &cf, TToken_string &s) if (condition) { const real importo(dati.get(2)); - cf.set(importo.string()); + valore << importo.string(); } } } - valore = cf.get(); cf.put_paragraph(valore); return true; } @@ -975,7 +976,10 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s) // "!DATI" numero e data fattura TEffetto effetto(cursor()->file().curr()); //= eff.curr(); long num = effetto.numero(); - TToken_string dati; effetto.dati_fatt(num, FALSE, dati); + TToken_string dati; + + effetto.dati_fatt(num, FALSE, dati); + const int elem = dati.items(); TString80 in(s.get()); // prende il primo parametro, il codice del messaggio if (in[0]=='!') @@ -984,18 +988,59 @@ bool TDistinta_form::validate(TForm_item &cf, TToken_string &s) // "!DATIFATT" stampa numero e data fattura delle fatture a cui si riferisce l'effetto if (in == "DATIFATT") { - TString descfatt; - for (int i = 0; i < elem; i+=3) + for (int i = 0; i < elem; i += 4) { - descfatt << dati.get(i); - descfatt << ' '; - descfatt << dati.get(i+1); - descfatt << '\n'; + if (valore.full()) + valore << '\n'; + valore << dati.get(i); + valore << ' '; + valore << dati.get(i+1); } - cf.set(descfatt); } } - valore = cf.get(); + if (in == "NFATT") + { + for (int i = 0; i < elem; i += 4) + { + if (valore.full()) + valore << '\n'; + valore << dati.get(i); + } + } + if (in == "DATAFATT") + { + for (int i = 0; i < elem; i += 4) + { + if (valore.full()) + valore << '\n'; + valore << dati.get(i + 1); + + } + } + // "!IMPFATT" se 1 sola fattura ne stampa l' importo + if (in == "IMPFATT") + { + for (int i = 0; i < elem; i += 4) + { + const real importo(dati.get(i + 2)); + + if (valore.full()) + valore << '\n'; + valore << importo.stringa(cf.width(), 2); + } + } + // "!IMPFATT" se 1 sola fattura ne stampa l' importo + if (in == "IMPEFF") + { + for (int i = 0; i < elem; i += 4) + { + const real importo(dati.get(i + 3)); + + if (valore.full()) + valore << '\n'; + valore << importo.stringa(cf.width(), 2); + } + } cf.put_paragraph(valore); return (TRUE); }