Completata la stampa delle schede di provvigione

git-svn-id: svn://10.65.10.50/trunk@5405 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
augusto 1997-10-21 12:55:51 +00:00
parent 769126ca52
commit 1cc73a03e1
4 changed files with 647 additions and 0 deletions

View File

@ -1,5 +1,77 @@
#include <mask.h>
#include <applicat.h>
#include <form.h>
#include "provv.h"
#include "pr1300a.h"
class TStampa_schedeprovv : public TSkeleton_application
{
protected:
virtual bool create();
virtual bool destroy();
virtual void main_loop();
};
bool TStampa_schedeprovv::create()
{
return TSkeleton_application::create();
}
bool TStampa_schedeprovv::destroy()
{
return TSkeleton_application::destroy();
}
void TStampa_schedeprovv::main_loop()
{
TMask m("pr1300a");
TForm frm("pr1300a");
/*
TForm frm("pr1300a");
const TPrint_section& head = frm.section('H', odd_page);
const TPrint_section& foot = frm.section('F', odd_page);
const int hh = head.height();
const int fh = foot.height();
const int fl = printer().formlen();
int rows[4]; // Righe orizzontali
rows[0] = hh-2; // Terzultima riga della testata
rows[1] = hh; // Ultima riga della testata
rows[2] = fl-fh+1; // Prima riga del footer
rows[3] = 0;
int rows[4]; // Righe orizzontali
rows[0] = 2; // Terzultima riga della testata
rows[1] = 4; // Ultima riga della testata
rows[2] = 60; // Prima riga del footer
rows[3] = 0;
frm.genera_fincatura(odd_page, rows[0], rows[1], rows);
frm.genera_intestazioni(odd_page, rows[1]-1);
*/
while (m.run()!=K_QUIT)
{
// filtro
TRectype start(LF_PROVV),end(LF_PROVV);
if (m.get(F_DAAGE).not_empty())
start.put(PROV_CODAGE,m.get(F_DAAGE));
if (m.get(F_AAGE).not_empty())
end.put(PROV_CODAGE,m.get(F_AAGE));
frm.cursor()->setregion(start,end);
// abilita le sezioni dei totali
frm.find_field('B',odd_page,"CLIENTI").show(!m.get_bool(F_RAGGCLI));
frm.find_field('B',odd_page,"HCLIENTI").show(!m.get_bool(F_RAGGDOC));
frm.find_field('B',odd_page,"DOCUMENTI").show(!m.get_bool(F_RAGGDOC));
frm.find_field('B',odd_page,"HDOCUMENTI").show(!m.get_bool(F_RAGGRATE));
frm.find_field('B',odd_page,"RATEDOC").show(!m.get_bool(F_RAGGRATE));
frm.print();
}
}
int pr1300(int argc, char** argv)
{
TStampa_schedeprovv a;
a.run(argc,argv,"Stampa schede di provvigione");
return 0;
}

510
pr/pr1300a.frm Executable file
View File

@ -0,0 +1,510 @@
#define A_CLIFO LF_CLIFO
#define A_COMUNI LF_COMUNI
#define G_TOTAGE 10
#define G_TOTCLI 20
#define G_TOTDOC 30
USE LF_PROVV BY CODAGE CODCLI CODNUM NDOC NRATA
JOIN LF_CLIFO INTO TIPOCF="C"|CODCF=CODCLI
JOIN LF_COMUNI TO LF_CLIFO INTO STATO==STATOCF|COM==COMCF
JOIN LF_AGENTI INTO CODAGE==CODAGE
JOIN LF_CLIFO TO LF_AGENTI ALIAS A_CLIFO INTO TIPOCF="F"|CODCF=CODFORN
JOIN LF_COMUNI TO A_CLIFO@ ALIAS A_COMUNI INTO STATO==STATOCF|COM==COMCF
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 7
END
SECTION HEADER ODD 3
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta "
MESSAGE _DITTA, !RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 45 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 70 1 "Pagina "
MESSAGE _PAGENO
END
STRINGA 5 146
BEGIN
KEY "Separatore (iniziale)"
PROMPT 1 3 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END
/*
STRINGA 3
BEGIN
KEY "Codice Agente "
PROMPT 2 2 ""
FIELD LF_AGENTI->CODAGE
END
STRINGA 4
BEGIN
KEY "Ragione sociale"
PROMPT 8 2 ""
FIELD LF_AGENTI->RAGSOC
END
STRINGA 5
BEGIN
KEY "Indirizzo"
PROMPT 2 3 ""
FLAGS "H"
FIELD A_CLIFO@->INDCF
MESSAGE COPY,7
END
STRINGA 6
BEGIN
KEY "Numero civico"
PROMPT 52 3 ""
FLAGS "H"
FIELD A_CLIFO@->CIVCF
MESSAGE APPEND,7
END
STRINGA 7
BEGIN
KEY "Indirizzo completo"
PROMPT 2 3 ""
END
STRINGA 8
BEGIN
KEY "C.A.P."
PROMPT 2 4 "C.A.P. "
FIELD A_CLIFO@->CAPCF
END
STRINGA 9
BEGIN
KEY "Localita'"
PROMPT 26 4 ""
FIELD A_CLIFO@->LOCALITACF
END
STRINGA 10
BEGIN
KEY "Comune"
PROMPT 2 5 ""
FLAGS "H"
FIELD A_COMUNI@->DENCOM
MESSAGE COPY,12
END
STRINGA 11
BEGIN
KEY "Provincia"
PROMPT 52 5 ""
FLAGS "H"
FIELD A_COMUNI@->PROVCOM
MESSAGE APPEND,12
END
STRINGA 12
BEGIN
KEY "Comune completo"
PROMPT 2 5 ""
END
*/
END
SECTION BODY ODD 3 COLUMNWISE
STRINGA 1 20
BEGIN
SPECIAL STRINGA INTESTAZIONE "Agente" "Agente"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Descrizione"
PROMPT 1 1 "Agente "
MESSAGE RESET,G_TOTAGE@
FIELD CODAGE
END
STRINGA 2 30
BEGIN
SPECIAL STRINGA INTESTAZIONE "Rag.Soc." "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "RSoc"
PROMPT 2 1 ""
FIELD LF_AGENTI->RAGSOC
MESSAGE COPY,402
END
SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
// **************************
// clienti dello stesso agente
// Header clienti
SECTION HCLIENTI 1 1 1 GROUP
STRINGA 1 15
BEGIN
KEY "Descrizione"
PROMPT 1 1 " Cliente "
FIELD LF_PROVV->CODCLI
MESSAGE RESET,G_TOTCLI@
END
STRINGA 2 30
BEGIN
KEY "RSoc"
PROMPT 2 1 ""
FIELD LF_CLIFO->RAGSOC
MESSAGE COPY,302
END
END
SECTION DOCUMENTI 1 0 0 FILE LF_PROVV GROUP CODCLI
// body cliente: docs dello stesso cliente
// Header docs
SECTION HDOCUMENTI 1 1 1 GROUP
STRINGA 1 20
BEGIN
KEY "ndoc"
PROMPT 1 1 " Documento"
MESSAGE RESET,G_TOTDOC@
END
STRINGA 2 30
BEGIN
KEY "DATADOC"
PROMPT 2 1 ""
MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC
MESSAGE COPY,202
END
END
SECTION RATEDOC 1 0 0 FILE LF_PROVV GROUP CODNUM+NDOC
// body doc: rate dello stesso documento
SECTION FILTRO_RATE 1 0 0 STREXPR SALDATA!="X"
SECTION INFORATA 1 1 1 GROUP
STRINGA 101 15
BEGIN
KEY "nrata"
PROMPT 1 1 " Rata "
FIELD LF_PROVV->NRATA
END
STRINGA 102 15
BEGIN
KEY "DATADOC"
PROMPT 2 1 "del "
FIELD LF_PROVV->DATASCAD
END
NUMBER 103 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Totale documento/rata" "Totale documento/rata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 3 1 ""
PICTURE "###.###.###.###"
FIELD LF_PROVV->IMPRATA
MESSAGE ADD,203
END
NUMBER 104 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Totale provv." "Totale provv."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 4 1 ""
PICTURE "##.###.###.###"
FIELD LF_PROVV->IMPPROVV
MESSAGE ADD,204
END
NUMBER 105 7
BEGIN
SPECIAL STRINGA INTESTAZIONE "Perc. provv." "Perc. provv."
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 5 1 ""
PICTURE "##@,@#%"
MESSAGE _NUMEXPR,#104/#103*100
END
NUMBER 106 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Importo pagato" "Importo pagato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 6 1 ""
PICTURE "###.###.###.###"
FIELD PAGATO
MESSAGE ADD,206
END
NUMBER 107 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Provv. pagata" "Provv. pagata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 7 1 ""
PICTURE "##.###.###.###"
FIELD PROVVPAG
MESSAGE ADD,207
END
NUMBER 108 15
BEGIN
SPECIAL STRINGA INTESTAZIONE "Importo maturato" "Importo maturato"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 8 1 ""
PICTURE "###.###.###.###"
FIELD PAGMAT
MESSAGE ADD,208
END
NUMBER 109 14
BEGIN
SPECIAL STRINGA INTESTAZIONE "Provv. maturata" "Provv. maturata"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "IMPORTO"
PROMPT 9 1 ""
PICTURE "##.###.###.###"
FIELD PROVVMAT
MESSAGE ADD,209
END
END // RATA
END // FILTRO RATE
END // fine rate stsso doc
// Footer docs
SECTION FDOCUMENTI 2 1 1 GROUP
STRINGA 201 20
BEGIN
KEY "ndoc"
PROMPT 1 1 " Totale documento"
END
STRINGA 202 30
BEGIN
KEY "DESCR"
PROMPT 2 1 ""
END
NUMBER 203 15
BEGIN
KEY "IMPORTO"
PROMPT 3 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,303
GROUP G_TOTDOC
END
NUMBER 204 14
BEGIN
KEY "IMPORTO"
PROMPT 4 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,304
GROUP G_TOTDOC
END
NUMBER 205 7
BEGIN
KEY "IMPORTO"
PROMPT 5 1 ""
PICTURE "##@,@#%"
MESSAGE _NUMEXPR,#204/#203*100
END
NUMBER 206 15
BEGIN
KEY "IMPORTO"
PROMPT 6 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,306
GROUP G_TOTDOC
END
NUMBER 207 14
BEGIN
KEY "IMPORTO"
PROMPT 7 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,307
GROUP G_TOTDOC
END
NUMBER 208 15
BEGIN
KEY "IMPORTO"
PROMPT 8 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,308
GROUP G_TOTDOC
END
NUMBER 209 14
BEGIN
KEY "IMPORTO"
PROMPT 9 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,309
GROUP G_TOTDOC
END
END
END // end documenti
// Footer clienti
SECTION FCLIENTI 2 1 1 GROUP
STRINGA 301 20
BEGIN
KEY "cli"
PROMPT 1 1 " Totale cliente "
END
STRINGA 302 30
BEGIN
KEY "DESCR"
PROMPT 2 1 ""
END
NUMBER 303 15
BEGIN
KEY "IMPORTO"
PROMPT 3 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,403
GROUP G_TOTCLI
END
NUMBER 304 14
BEGIN
KEY "IMPORTO"
PROMPT 4 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,404
GROUP G_TOTCLI
END
NUMBER 305 7
BEGIN
KEY "IMPORTO"
PROMPT 5 1 ""
PICTURE "##@,@#%"
MESSAGE _NUMEXPR,#304/#303*100
END
NUMBER 306 15
BEGIN
KEY "IMPORTO"
PROMPT 6 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,406
GROUP G_TOTCLI
END
NUMBER 307 14
BEGIN
KEY "IMPORTO"
PROMPT 7 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,407
GROUP G_TOTCLI
END
NUMBER 308 15
BEGIN
KEY "IMPORTO"
PROMPT 8 1 ""
PICTURE "###.###.###.###"
MESSAGE ADD,408
GROUP G_TOTCLI
END
NUMBER 309 14
BEGIN
KEY "IMPORTO"
PROMPT 9 1 ""
PICTURE "##.###.###.###"
MESSAGE ADD,409
GROUP G_TOTCLI
END
END
END // end clienti
NUMERO 401 20
BEGIN
PROMPT 1 2 "Totale agente"
END
STRINGA 402 30
BEGIN
KEY "DESCR"
PROMPT 2 2 ""
END
NUMBER 403 15
BEGIN
KEY "IMPORTO"
PROMPT 3 2 ""
PICTURE "###.###.###.###"
GROUP G_TOTAGE
END
NUMBER 404 14
BEGIN
KEY "IMPORTO"
PROMPT 4 2 ""
PICTURE "##.###.###.###"
GROUP G_TOTAGE
END
NUMBER 405 7
BEGIN
KEY "IMPORTO"
PROMPT 5 2 ""
PICTURE "##@,@#%"
MESSAGE _NUMEXPR,#404/#403*100
GROUP G_TOTAGE
END
NUMBER 406 15
BEGIN
KEY "IMPORTO"
PROMPT 6 2 ""
PICTURE "###.###.###.###"
GROUP G_TOTAGE
END
NUMBER 407 14
BEGIN
KEY "IMPORTO"
PROMPT 7 2 ""
PICTURE "##.###.###.###"
GROUP G_TOTAGE
END
NUMBER 408 15
BEGIN
KEY "IMPORTO"
PROMPT 8 2 ""
PICTURE "###.###.###.###"
GROUP G_TOTAGE
END
NUMBER 409 14
BEGIN
KEY "IMPORTO"
PROMPT 9 2 ""
PICTURE "##.###.###.###"
GROUP G_TOTAGE
END
END // Fine body
SECTION FOOTER ODD 3
END // Fine footer
END // Fine Form

5
pr/pr1300a.h Executable file
View File

@ -0,0 +1,5 @@
#define F_DAAGE 101
#define F_AAGE 102
#define F_RAGGRATE 103
#define F_RAGGDOC 104
#define F_RAGGCLI 105

60
pr/pr1300a.uml Executable file
View File

@ -0,0 +1,60 @@
#include "pr1300a.h"
PAGE "Stampa schede di provvigione" -1 -1 78 20
STRING F_DAAGE 6
BEGIN
PROMPT 2 1 "Dall'agente "
FLAGS "U"
USE LF_AGENTI
INPUT CODAGE F_DAAGE
DISPLAY "Codice" CODAGE
DISPLAY "Descr@50" RAGSOC
OUTPUT F_DAAGE CODAGE
GROUP G_CODAGE
END
STRING F_AAGE 6
BEGIN
PROMPT 2 3 " all'agente "
FLAGS "U"
COPY USE F_DAAGE
INPUT CODART F_AAGE
COPY DISPLAY F_DAAGE
OUTPUT F_AAGE CODART
GROUP G_CODAGE
END
BOOL F_RAGGCLI
BEGIN
PROMPT 2 5 "Raggruppo i clienti"
MESSAGE TRUE "X",F_RAGGDOC|DISABLE,F_RAGGDOC
MESSAGE FALSE ENABLE,F_RAGGDOC
END
BOOL F_RAGGDOC
BEGIN
PROMPT 2 7 "Raggruppo i documenti"
MESSAGE TRUE "X",F_RAGGRATE|DISABLE,F_RAGGRATE
MESSAGE FALSE ENABLE,F_RAGGRATE
END
BOOL F_RAGGRATE
BEGIN
PROMPT 2 9 "Raggruppo le rate"
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK