From c2763f2977967aefe27ccd0d375934ccfd7fd60f Mon Sep 17 00:00:00 2001 From: paola Date: Sat, 11 Jan 1997 11:43:34 +0000 Subject: [PATCH] aggiunta file programma "stampe di controllo" git-svn-id: svn://10.65.10.50/trunk@4061 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ef/ef0600.cpp | 593 +++++++++++++++++++++++++++++++++++++++++++++++++ ef/ef0600.h | 22 ++ ef/ef0600a.uml | 208 +++++++++++++++++ 3 files changed, 823 insertions(+) create mode 100755 ef/ef0600.cpp create mode 100755 ef/ef0600.h create mode 100755 ef/ef0600a.uml diff --git a/ef/ef0600.cpp b/ef/ef0600.cpp new file mode 100755 index 000000000..ef0ddf3f1 --- /dev/null +++ b/ef/ef0600.cpp @@ -0,0 +1,593 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include "ef0600.h" + +enum pt {undefined = 0, scadenza = 1, banca = 2, distinta = 3}; + +class TPrint_effetti_app : public TPrintapp +{ + pt _pr_type; + TRelation* _rel; + int _cur_1, _cur_2, _cur_3; + int _interline, i; + TString _ban, _cli, _val, _data_stampa, _ban_prec; + long _dist_prec; + TDate _scad_prec; + real _tot_data, _tot_mese, _tot_banca, _tot_distinta, _tot_stampa; + bool _prima_volta; +public: + virtual bool preprocess_page(int file, int counter); + virtual bool preprocess_print(int file, int counter); + virtual print_action postprocess_print(int file, int counter); + virtual void preprocess_header(); + void header_scadenza(); + void header_banca(); + void header_distinta(); + virtual bool user_create(); + virtual bool user_destroy(); + virtual bool set_print(int); + virtual void set_page (int file, int counter); + void set_scadenza(); + void set_banca(); + void set_distinta(); + const char* get_field(int ln, const char* fn) {return current_cursor()->curr(ln).get(fn);} + const char* look_tab(const char* tabname, TString& cod,const char* fld="S0"); + TPrint_effetti_app() : TPrintapp(), _ban(11), _ban_prec(11), _cli(60), _val(3){_rel = NULL; _interline = 1;} +}; + +void TPrint_effetti_app::preprocess_header() +{ + reset_header(); + const long firm = get_firm(); + int j = 1; + TLocalisamfile ditte(LF_NDITTE); + ditte.zero(); + ditte.put("CODDITTA", firm); + ditte.read(); + if (ditte.bad()) ditte.zero(); + TString s(ditte.get("RAGSOC")); + set_header(j, "Ditta: %ld %s@125gPag @#", firm, (const char*) s); + set_header(j++, "@102gData %s", (const char*) _data_stampa); + + switch(_pr_type) + { + case scadenza: + header_scadenza(); + break; + case banca: + header_banca(); + break; + case distinta: + header_distinta(); + break; + default: + break; + } +} + +void TPrint_effetti_app::header_scadenza() +{ + int j =1; + set_header(j, "@52gSTAMPA RI.BA. PER SCADENZA"); j++; + set_header(j++, (const char *)(TString(132).fill('-'))); + set_header(j++, " Scadenza Banca Cliente N.Riba N.Dist Importo Val N.Rata St.Def. Fattura del. N."); + set_header(j, (const char *)(TString(132).fill('-'))); +} + +void TPrint_effetti_app::header_banca() +{ + int j = 1; + set_header(j, "@45gSTAMPA RI.BA. PER BANCHE DI PRESENTAZIONE"); j++; + set_header(j++, (const char *)(TString(132).fill('-'))); + set_header(j++, " Banca Scadenza Cliente N.Riba N.Dist Importo Val. N.Rata St.Def. Fattura del. N."); + set_header(j, (const char *)(TString(132).fill('-'))); +} + +void TPrint_effetti_app::header_distinta() +{ + int j = 1; + set_header(j, "@55gSTAMPA RI.BA. PER DISTINTE"); j++; + set_header(j++, (const char *)(TString(132).fill('-'))); + set_header(j++, " Distinta "); + set_header(j++, "@1gTipo Num. N.Riba Scadenza Banca Cliente Importo Val. N.Rata St.Def. Fattura del. N."); + set_header(j, (const char *)(TString(132).fill('-'))); +} + + + +print_action TPrint_effetti_app::postprocess_print(int file, int counter) +{ + TString s; + TPrintrow pr; + TPrinter& p = printer(); + + if (_tot_data != 0.0) + { + pr.put("-------------------------------------------",50); + p.print(pr); + pr.reset(); + pr.put("Totale",52); + pr.put(_scad_prec.string(),60); + pr.put(_tot_data.string("###.###.##@,@@"),72); + p.print(pr); + _tot_data = 0.0; + pr.reset(); + } + + if(_tot_mese != 0.0) + { + pr.put("Totale ",50); + pr.put(itom(_scad_prec.month()),57); + pr.put(_tot_mese.string("###.###.##@,@@"),72); + p.print(pr); + _tot_mese = 0.0; + pr.reset(); + } + + if (_tot_banca != 0.0) + { + pr.put("Totale",50); + s = (look_tab("%BAN",_ban_prec)); + if (s.empty()) + s = "Nessuna Banca "; + s = s.left(20); + pr.put(s,57); + pr.put(_tot_banca.string("###.###.##@,@@"),72); + p.print(pr); + _tot_banca = 0.0; + pr.reset(); + } + + if (_tot_distinta != 0.0) + { + pr.put("Totale",50); + s << "Distinta " << _dist_prec; + if (_dist_prec == 0) + s = "Nessuna Distinta "; + pr.put(s,57); + pr.put(_tot_distinta.string("###.###.##@,@@"),72); + p.print(pr); + _tot_distinta = 0.0; + pr.reset(); + } + + if (_tot_stampa != 0.0) + { + pr.put("-----------------------------------------------------------------------------------------------------------------------------------",1); + p.print(pr); + pr.reset(); + pr.put("Totale Ri.Ba. stampate",50); + pr.put(_tot_stampa.string("###.###.##@,@@"),72); + p.print(pr); + _tot_stampa = 0.0; + pr.put("-----------------------------------------------------------------------------------------------------------------------------------",1); + p.print(pr); + pr.reset(); + p.print(pr); + } + + return NEXT_PAGE; + } + +void TPrint_effetti_app::set_page(int file, int counter) +{ + switch(_pr_type) + { + case scadenza: + if (file == LF_EFFETTI) + set_scadenza(); + break; + case banca: + if (file == LF_EFFETTI) + set_banca(); + break; + case distinta: + if (file == LF_EFFETTI) + set_distinta(); + break; + default: + break; + } + +} + + +void TPrint_effetti_app::set_scadenza() +{ + + set_row(1,"@1g@s@13g#t@26g#t@50g@pn@59g@pn@72g@pn@88g#t@95g@pn@103g@s@111g@s@121g@pn", + FLD(LF_EFFETTI, EFF_DATASCAD), + &_ban, + &_cli, + FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"), + FLD(LF_EFFETTI, EFF_NDIST, "#######@"), + FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"), + &_val, + FLD(LF_REFFETTI, REFF_NRATA,"##@"), + FLD(LF_EFFETTI, EFF_EFFSTAMP), + FLD(LF_REFFETTI, REFF_DATAFATT), + FLD(LF_REFFETTI, REFF_NFATT,"######@")); + + for( i = 0; i < _interline; i++) set_row(i+1," "); +} + +void TPrint_effetti_app::set_banca() +{ + set_row(1,"@1g#t@14g@s@26g#t@54g@pn@63g@pn@72g@pn@91g#t@98g@pn@106g@s@114g@s@124g@pn", + &_ban, + FLD(LF_EFFETTI, EFF_DATASCAD), + &_cli, + FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"), + FLD(LF_EFFETTI, EFF_NDIST, "#######@"), + FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"), + &_val, + FLD(LF_REFFETTI, REFF_NRATA,"##@"), + FLD(LF_EFFETTI, EFF_EFFSTAMP), + FLD(LF_REFFETTI, REFF_DATAFATT), + FLD(LF_REFFETTI, REFF_NFATT, "######@")); + + for( i = 0; i < _interline; i++) set_row(i+1,""); +} + +void TPrint_effetti_app::set_distinta() +{ + set_row(1,"@3g@s@5g@pn@16g@pn@27g@s@41g#t@55g#t@72g@pn@91g#t@98g@pn@106g@s@114g@s@124g@pn", + FLD(LF_EFFETTI, EFF_TIPODIST), + FLD(LF_EFFETTI, EFF_NDIST, "#######@"), + FLD(LF_EFFETTI, EFF_NPROGTR, "#####@"), + FLD(LF_EFFETTI, EFF_DATASCAD), + &_ban, + &_cli, + FLD(LF_EFFETTI, EFF_IMPORTO, "###.###.##@,@@"), + &_val, + FLD(LF_REFFETTI, REFF_NRATA,"##@"), + FLD(LF_EFFETTI, EFF_EFFSTAMP), + FLD(LF_REFFETTI, REFF_DATAFATT), + FLD(LF_REFFETTI, REFF_NFATT, "######@")); + + for( i = 0; i < _interline; i++) set_row(i+1,""); +} + +bool TPrint_effetti_app::preprocess_page(int file, int counter) + // no switch/case su file poichè c'è solo quello degli effetti +{ + TString s; + TRectype & rec = current_cursor()->curr(); + TDate scad = rec.get_date (EFF_DATASCAD); + TString ban = rec.get (EFF_CODABIP); + if (ban=="00000") + ban = ""; + long dist = rec.get_long (EFF_NDIST); + char tipodist = rec.get_char(EFF_TIPODIST); + real importo = rec.get_real(EFF_IMPORTO); + TString year; + TPrintrow pr; + TPrinter& p = printer(); + + if (_prima_volta) + { + _prima_volta = FALSE; + switch(_pr_type) + { + case scadenza: + _scad_prec = scad; + year = _scad_prec.string(); + year = year.right(4); + pr.put(itom(_scad_prec.month()),1); + pr.put(year,10); + p.print(pr); + pr.reset(); + p.print(pr); + break; + case banca: + _scad_prec = scad; + _ban_prec = ban; + s = (look_tab("%BAN",_ban_prec)); + if (s.empty()) + s = "Nessuna Banca di Presentazione"; + pr.put(s,1); + p.print(pr); + pr.reset(); + p.print(pr); + break; + case distinta: + _scad_prec = scad; + _dist_prec = dist; + s << "Distinta " << dist << " "; + switch(tipodist) + { + case 'B': + s << " Salvo Buon Fine"; + break; + case 'I': + s << " All'Incasso"; + break; + case 'S': + s << " Allo Sconto"; + break; + case 0: + s = "Nessuna Distinta"; + break; + } + pr.put(s,1); + p.print(pr); + pr.reset(); + p.print(pr); + s = ""; + break; + } + } + + if (scad !=_scad_prec) + { + pr.put("-------------------------------------------",50); + p.print(pr); + pr.reset(); + pr.put("Totale",52); + pr.put(_scad_prec.string(),60); + pr.put(_tot_data.string("###.###.##@,@@"),72); + p.print(pr); + _tot_data = 0.0; + pr.reset(); + + if((scad.month() != _scad_prec.month())&&_pr_type == scadenza) + { + pr.put("Totale ",50); + pr.put(itom(_scad_prec.month()),57); + pr.put(_tot_mese.string("###.###.##@,@@"),72); + p.print(pr); + _tot_mese = 0.0; + pr.reset(); + p.print(pr); + + year = scad.string(); + year = year.right(4); + pr.put(itom(scad.month()),1); + pr.put(year,10); + p.print(pr); + pr.reset(); + p.print(pr); + } + } + + switch(_pr_type) + { + case scadenza: + _tot_mese += importo; + break; + case banca: + if (ban !=_ban_prec) + { + pr.put("Totale",50); + s = (look_tab("%BAN",_ban_prec)); + if (s.empty()) + s = "Nessuna Banca "; + s = s.left(20); + pr.put(s,57); + pr.put(_tot_banca.string("###.###.##@,@@"),72); + p.print(pr); + _tot_banca = 0.0; + pr.reset(); + p.print(pr); + _ban_prec = ban; + s = (look_tab("%BAN",ban)); + if (s.empty()) + s = "Nessuna Banca di Presentazione"; + pr.put(s,1); + p.print(pr); + pr.reset(); + p.print(pr); + } + _tot_banca += importo; + break; + + case distinta: + if (dist !=_dist_prec) + { + pr.put("Totale",50); + s << "Distinta " << _dist_prec; + if (_dist_prec == 0) + s = "Nessuna Distinta"; + pr.put(s,57); + pr.put(_tot_distinta.string("###.###.##@,@@"),72); + p.print(pr); + _tot_distinta = 0.0; + pr.reset(); + p.print(pr); + _dist_prec = dist; + + s = ""; + s << "Distinta " << dist << " "; + switch(tipodist) + { + case 'B': + s <<" Salvo Buon Fine"; + break; + case 'I': + s << " All'Incasso"; + break; + case 'S': + s << " Allo Sconto"; + break; + case 0: + s = "Nessuna Distinta "; + break; + } + pr.put(s,1); + p.print(pr); + pr.reset(); + p.print(pr); + s = ""; + } + _tot_distinta += importo; + break; + } + + _scad_prec = scad; + _tot_data += importo; + _tot_stampa += importo ; + + _ban = get_field(LF_EFFETTI, EFF_CODABIP); + if (_ban=="00000") + _ban = ""; + s = get_field(LF_EFFETTI, EFF_CODCABP); + if (s=="00000") + s = ""; + _ban << " " << s; + + s = get_field(LF_EFFETTI, EFF_CODCF); + _cli = get_field(LF_CLIFO, CLI_RAGSOC); + s = _cli.mid(30,50); s.trim(); + _cli = _cli.mid(0,30); _cli.trim(); + _cli << " " << s; + + s = get_field(LF_EFFETTI, EFF_CODVAL); + (s.empty())?_val = s:_val = "Lit."; + + return TRUE; +} + + +bool TPrint_effetti_app::preprocess_print(int file, int counter) +{ + reset_print(); + return TRUE; +} + +const char* TPrint_effetti_app::look_tab(const char* tabname, TString& cod,const char* fld) +{ + TTable tab(tabname); + tab.curr().zero(); + tab.curr().put("CODTAB",cod); + tab.read(); + if (tab.bad()) tab.curr().zero(); + return tab.curr().get(fld); +} + +bool TPrint_effetti_app::set_print(int) +{ + disable_links(); + set_multiple_link(FALSE); + + TMask mask("ef0600a.msk"); + + mask.run(); + + force_setpage(FALSE); + + switch (mask.last_key()) + { + case K_ESC: + case K_QUIT: + return FALSE; + break; + } + + _pr_type = (pt) mask.get_int(RDB_TIPOST); + TDate data_stampa (mask.get(F_DATA_STAMPA)); + _data_stampa = data_stampa.string(); + + TRectype from(current_cursor()->curr()); + from.zero(); + TRectype to(from); + + TString cod_from, cod_to, filter; + filter = ""; + + switch(_pr_type) + { + case scadenza: + cod_from = mask.get(F_DA_DATA); + cod_to = mask.get(F_A_DATA); + from.put(EFF_DATASCAD,cod_from); + to.put(EFF_DATASCAD,cod_to); + select_cursor(_cur_1); + break; + + case banca: + cod_from = mask.get(F_DA_DATA2); + cod_to = mask.get(F_A_DATA2); + from.put(EFF_DATASCAD,cod_from); + to.put(EFF_DATASCAD,cod_to); + cod_from = mask.get(F_DABAN); + cod_to = mask.get(F_ABAN); + if (cod_from.empty()) cod_from = "00000"; // per selezionare tutte + if (cod_to.empty()) cod_to = "99999"; // le banche di presentazione + filter = ""; + filter << "(CODABIP>=" << cod_from << ")&&(CODABIP<=" << cod_to << ")" ; + select_cursor(_cur_2); + break; + + case distinta: + cod_from = mask.get(F_DA_DATA3); + cod_to = mask.get(F_A_DATA3); + from.put(EFF_DATASCAD,cod_from); + to.put(EFF_DATASCAD,cod_to); + cod_from = mask.get(F_DADIST); + cod_to = mask.get(F_ADIST); + if (cod_from.empty()) cod_from = "00000000"; // per selezionare tutte + if (cod_to.empty()) cod_to = "99999999"; // le distinte + filter = ""; + filter << "(NDIST>=" << cod_from << ") && (NDIST<=" << cod_to << ")" ; + cod_from = mask.get(F_DATIPODIST); + cod_to = mask.get(F_ATIPODIST); + if ((!cod_from.empty())&&(!cod_to.empty())&&(cod_from==cod_to)) // per selezionare un tipo + filter << "&&(TIPODIST==\"" << cod_from << "\")"; // di distinta + select_cursor(_cur_3); + break; + + default: + break; + } + + current_cursor()->setfilter(filter,TRUE); + current_cursor()->setregion(from, to); + + set_real_picture("###.###.##@,@@"); + _prima_volta=TRUE; + return TRUE; +} + +bool TPrint_effetti_app::user_create() +{ + _rel = new TRelation(LF_EFFETTI); + _rel->add(LF_REFFETTI, "NPROGTR==NPROGTR"); + _rel->add(LF_CLIFO, "TIPOCF=='C'|CODCF==CODCF"); + + _cur_1 = add_cursor(new TCursor(_rel,"",3));//STAMPA PER SCADENZA + + TString ordine = "CODABIP|DATASCAD|NPROGTR";//STAMPA PER BANCA + _cur_2 = add_cursor(new TSorted_cursor(_rel,ordine,"",3)); + + ordine = "TIPODIST|NDIST|NRIGADIST|DATASCAD|NPROGTR";//STAMPA PER DISTINTA + _cur_3 = add_cursor(new TSorted_cursor(_rel,ordine,"",3)); + + add_file(LF_EFFETTI); + enable_print_menu(); + return TRUE; +} + +bool TPrint_effetti_app::user_destroy() +{ + if (_rel) + delete _rel; + return TRUE; +} + +int ef0600(int argc, char* argv[]) +{ + TPrint_effetti_app app; + app.run(argc, argv, "Stampe Controllo Effetti"); + return 0; +} \ No newline at end of file diff --git a/ef/ef0600.h b/ef/ef0600.h new file mode 100755 index 000000000..102b80473 --- /dev/null +++ b/ef/ef0600.h @@ -0,0 +1,22 @@ +#ifndef __EF0600_H +#define __EF0600_H + +// campi maschera ef0600a.uml + +#define F_DATA_STAMPA 101 +#define RDB_TIPOST 102 +#define F_DA_DATA 103 +#define F_A_DATA 104 +#define F_DABAN 105 +#define F_ABAN 106 +#define F_DA_DATA2 107 +#define F_A_DATA2 108 +#define F_NUMBERRIGA 109 +#define F_DATIPODIST 110 +#define F_DADIST 111 +#define F_ATIPODIST 112 +#define F_ADIST 113 +#define F_DA_DATA3 114 +#define F_A_DATA3 115 + +#endif diff --git a/ef/ef0600a.uml b/ef/ef0600a.uml new file mode 100755 index 000000000..ece737360 --- /dev/null +++ b/ef/ef0600a.uml @@ -0,0 +1,208 @@ +#include "ef0600.h" + +PAGE "Stampe di Controllo Effetti" -1 -1 60 13 + +DATE F_DATA_STAMPA +BEGIN + PROMPT 30 1 "Data di stampa " + FLAGS "A" +END + +RADIOBUTTON RDB_TIPOST 24 +BEGIN + PROMPT 2 1 "Stampa per " + ITEM "1|Scadenza" + MESSAGE SHOW,1@|HIDE,2@|HIDE,3@ + ITEM "2|Banca" + MESSAGE SHOW,2@|HIDE,1@|HIDE,3@ + ITEM "3|Distinta" + MESSAGE SHOW,3@|HIDE,1@|HIDE,2@ +END + +GROUPBOX DLG_NULL 55 3 +BEGIN + PROMPT 1 6 "Stampa effetti per Data di scadenza" + GROUP 1 +END + +DATA F_DA_DATA +BEGIN + PROMPT 2 7 "Dalla Data " + GROUP 1 +END + +DATA F_A_DATA +BEGIN + PROMPT 30 7 "Alla Data " + GROUP 1 + VALIDATE DATE_CMP_FUNC >= F_DA_DATA + WARNING "Data limite superiore non valida" +END + +GROUPBOX DLG_NULL 55 4 +BEGIN + PROMPT 1 6 "Stampa effetti per Banca di presentazione" + GROUP 2 +END + +NUMBER F_DABAN 5 +BEGIN + PROMPT 2 7 "Dalla Banca " + FLAGS "RZ" + GROUP 2 + USE %BAN KEY 1 SELECT CODTAB ?= "?????" + INPUT CODTAB F_DABAN + DISPLAY "Codice ABI" CODTAB[1,5] + DISPLAY "Denominazione@50" S0 + OUTPUT F_DABAN CODTAB[1,5] + CHECKTYPE NORMAL +END + +NUMBER F_ABAN 5 +BEGIN + PROMPT 30 7 "Alla Banca " + FLAGS "RZ" + GROUP 2 + USE %BAN KEY 1 SELECT CODTAB ?= "?????" + INPUT CODTAB F_ABAN + DISPLAY "Codice ABI" CODTAB[1,5] + DISPLAY "Denominazione@50" S0 + OUTPUT F_ABAN CODTAB[1,5] + CHECKTYPE NORMAL +END + +DATA F_DA_DATA2 +BEGIN + PROMPT 2 8 "Dalla Data " + GROUP 2 +END + +DATA F_A_DATA2 +BEGIN + PROMPT 30 8 "Alla Data " + GROUP 2 + VALIDATE DATE_CMP_FUNC >= F_DA_DATA2 + WARNING "Data limite superiore non valida" +END + +GROUPBOX DLG_NULL 55 6 +BEGIN + PROMPT 1 6 "Stampa effetti per Distinta" + GROUP 3 +END + +LIST F_NUMBERRIGA 10 +BEGIN + PROMPT 1 60 "Numero Riga Distinta " + KEY 4 + GROUP 3 + ITEM "1|PRIMA RIGA" + FLAGS "D" +END + +TEXT DLG_NULL +BEGIN +PROMPT 2 7 "Dalla Distinta " +GROUP 3 +END + +LIST F_DATIPODIST 19 +BEGIN + PROMPT 4 8 " " + KEY 4 + GROUP 3 + ITEM " |** Nessuno **" + ITEM "I|All'incasso" + ITEM "B|Salvo buon fine" + ITEM "S|Allo sconto" +END + +NUMBER F_DADIST 7 +BEGIN + PROMPT 4 9 " " + FLAGS "R" + GROUP 3 + KEY 4 + USE LF_EFFETTI KEY 4 SELECT NRIGADIST = 1 + INPUT NDIST F_DADIST + INPUT TIPODIST F_DATIPODIST + INPUT NRIGADIST F_NUMBERRIGA + DISPLAY "Nr. distinta" NDIST + DISPLAY "Tipo distinta" TIPODIST + OUTPUT F_DADIST NDIST + OUTPUT F_DATIPODIST TIPODIST + OUTPUT F_NUMBERRIGA NRIGADIST + CHECKTYPE NORMAL +END + +TEXT DLG_NULL +BEGIN + PROMPT 30 7 "Alla Distinta " + GROUP 3 +END + +LIST F_ATIPODIST 19 +BEGIN + PROMPT 31 8 " " + GROUP 3 + KEY 4 + ITEM " |** Nessuno **" + ITEM "I|All'incasso" + ITEM "B|Salvo buon fine" + ITEM "S|Allo sconto" +END + +NUMBER F_ADIST 7 +BEGIN + PROMPT 31 9 " " + FLAGS "R" + KEY 4 + GROUP 3 + USE LF_EFFETTI KEY 4 SELECT NRIGADIST = 1 + INPUT NDIST F_ADIST + INPUT TIPODIST F_ATIPODIST + INPUT NRIGADIST F_NUMBERRIGA + DISPLAY "Nr. distinta" NDIST + DISPLAY "Tipo distinta" TIPODIST + OUTPUT F_ADIST NDIST + OUTPUT F_ATIPODIST TIPODIST + OUTPUT F_NUMBERRIGA NRIGADIST + CHECKTYPE NORMAL + //NUM_EXPR {#THIS_FIELD>=#F_DADIST} + //WARNING "Limite superiore non valido" +END + +DATA F_DA_DATA3 +BEGIN + PROMPT 2 10 "Dalla Data " + GROUP 3 +END + +DATA F_A_DATA3 +BEGIN + PROMPT 30 10 "Alla Data " + GROUP 3 + VALIDATE DATE_CMP_FUNC >= F_DA_DATA3 + WARNING "Data limite superiore non valida" +END + +BUTTON DLG_OK 9 2 +BEGIN + PROMPT -13 -1 "" +END + +BUTTON DLG_CANCEL 9 2 +BEGIN + PROMPT -23 -1 "" +END + +BUTTON DLG_QUIT 9 2 +BEGIN + PROMPT -33 -1 "" +END + +ENDPAGE +ENDMASK + + +