Patch level : 12.0 1152

Files correlati     : dc800000.frm df900000.frm df000000.frm ef0.exe

Commento:
La stampa distinte ri non stampava il numero, la data fatturae l'importo dell'effetto
This commit is contained in:
Alessandro Bonazzi 2022-05-23 22:46:39 +02:00
parent 63a1458045
commit 5ca3a6caea
5 changed files with 111 additions and 100 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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);
}