From 9a52cc0a5254f57b047e446f96732f62339b8e05 Mon Sep 17 00:00:00 2001 From: cris Date: Wed, 22 Nov 2000 10:10:29 +0000 Subject: [PATCH] Patch level : at Files correlati : Ricompilazione Demo : [ ] Commento : chiusura periodica anche con parametri non presi da tab.sezioni, ma dati sul omento (nel caso siano tutti uguali) git-svn-id: svn://10.65.10.50/trunk@9346 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- at/at0600.cpp | 382 ++++++++++++++++++++++++++++++++++--------------- at/at0600a.h | 28 +++- at/at0600a.uml | 230 +++++++++++++++++++++++++++-- 3 files changed, 506 insertions(+), 134 deletions(-) diff --git a/at/at0600.cpp b/at/at0600.cpp index 813a4550c..c8f145516 100755 --- a/at/at0600.cpp +++ b/at/at0600.cpp @@ -29,10 +29,15 @@ class TChiusuraPeriodica : public TPrintapp TMask* _msk; TRelation* _rel; int _cur; - TDate _data_chiusura; + TDate _data_chiusura, _dataud; TParagraph_string _operazione; - bool _definitiva, _sospesi; + bool _definitiva, _sospesi, _usosez; TString16 _codsez, _codsot; + int _numdon; + TString16 _catfin1, _catfin2; + TAssoc_array _categorie; + int _contatore, _totale; + protected: virtual bool user_create(); @@ -46,8 +51,10 @@ protected: public: void filtra_sezioni(); void header_sezione(const TString16 codsez, const TString16 codsot); + void footer_sezione(); + void fine_stampa(); void crea_intestazione(); - TChiusuraPeriodica() : _data_chiusura(TODAY), _operazione("",30) {} + TChiusuraPeriodica() : _data_chiusura(TODAY), _operazione("",35) {} }; HIDDEN inline TChiusuraPeriodica& app() { return (TChiusuraPeriodica&) main_app(); } @@ -71,125 +78,195 @@ void TChiusuraPeriodica::filtra_sezioni() current_cursor()->setregion(da, a); } -print_action TChiusuraPeriodica::postprocess_print(int file, int counter) -{ - printer().formfeed(); - return NEXT_PAGE; -} - bool TChiusuraPeriodica::preprocess_page(int file, int counter) { - _operazione = "Non deve essere filtrato"; + _operazione = "Situazione da controllare"; TRectype& recsez = current_cursor()->curr(LF_SEZIONI); TRectype& recsog = current_cursor()->curr(); - if (!(app()._sospesi)) - { - const char stato = modstato_tcs(recsog.get(SOG_STATO)); - if (stato == 'S') - return FALSE; - const char statosi = modstato_tcs(recsog.get(SOG_STATOSI)); - if (statosi == 'S') - return FALSE; - const char statoaf = modstato_tcs(recsog.get(SOG_STATOAF)); - if (statoaf == 'S') - return FALSE; - } // salto pagina se cambio sezione const TString16 codsez = recsog.get(SOG_CODSEZ); const TString16 codsot = recsog.get(SOG_CODSOT); if ((_codsez!=codsez)||(_codsot!=codsot)) { if (_codsez != "**") - printer().formfeed(); + footer_sezione(); + _contatore = 0; _codsez = codsez; _codsot = codsot; header_sezione(codsez, codsot); } TLocalisamfile& filesog = current_cursor()->file(); - const TString16 cat_estinti = recsez.get(SEZ_CATESTI); - const TString16 cat_cancellati = recsez.get(SEZ_CATCANC); - const TString16 cat_emeriti = recsez.get(SEZ_CATEMER); - const int intesti = recsez.get_int(SEZ_INTESTI); - const int donemer = recsez.get_int(SEZ_DONEMER); - if ((cat_estinti.not_empty() && intesti!=0) || cat_cancellati.not_empty() || (cat_emeriti.not_empty() && donemer!=0)) - { - const TString16 catsog = recsog.get(SOG_CATDON); - if (catsog == cat_cancellati && cat_cancellati.not_empty()) - { - _operazione = "Cancellato"; - if (_definitiva) - filesog.remove(); - } - else - { - if ((cat_estinti.not_empty() && intesti!=0) || (cat_emeriti.not_empty() && donemer!=0)) - { - bool dimesso = current_cursor()->curr(-ALIAS_CTD).get_bool("B0"); - if (!dimesso) - { - TDate dataultdon = recsog.get(SOG_DATAULTDON); - if (dataultdon.ok()) - { - dataultdon.addyear(intesti); - if (dataultdon < app()._data_chiusura) + const TString16 catsog = recsog.get(SOG_CATDON); + if (_usosez) + { + const TString16 cat_estinti = recsez.get(SEZ_CATESTI); + const TString16 cat_cancellati = recsez.get(SEZ_CATCANC); + const TString16 cat_emeriti = recsez.get(SEZ_CATEMER); + const int intesti = recsez.get_int(SEZ_INTESTI); + const int donemer = recsez.get_int(SEZ_DONEMER); + if ((cat_estinti.not_empty() && intesti!=0) || cat_cancellati.not_empty() || (cat_emeriti.not_empty() && donemer!=0)) + { + if (catsog == cat_cancellati && cat_cancellati.not_empty()) + { + _operazione = "Cancellato"; + if (_definitiva) + filesog.remove(); + } + else + { + if ((cat_estinti.not_empty() && intesti!=0) || (cat_emeriti.not_empty() && donemer!=0)) + { + bool dimesso = current_cursor()->curr(-ALIAS_CTD).get_bool("B0"); + if (!dimesso) + { + TDate dataultdon = recsog.get(SOG_DATAULTDON); + if (dataultdon.ok()) { - const int totdon = recsog.get_int(SOG_TOTDON); - if (cat_emeriti.not_empty() && donemer!=0 && totdon>donemer) - { - _operazione = "da"; - _operazione << " "; - _operazione << catsog; - _operazione << " a "; - _operazione << cat_emeriti; - if (_definitiva) - { - recsog.put(SOG_CATDON,cat_emeriti); - recsog.put(SOG_DATADIM, _data_chiusura); - filesog.rewrite(); - } - } - else + dataultdon.addyear(intesti); + if (dataultdon < app()._data_chiusura) { - if (cat_estinti.not_empty()) - { + const int totdon = recsog.get_int(SOG_TOTDON); + if (cat_emeriti.not_empty() && donemer!=0 && totdon>donemer) + { _operazione = "da"; _operazione << " "; _operazione << catsog; _operazione << " a "; - _operazione << cat_estinti; + _operazione << cat_emeriti; if (_definitiva) { - recsog.put(SOG_CATDON,cat_estinti); + recsog.put(SOG_CATDON,cat_emeriti); recsog.put(SOG_DATADIM, _data_chiusura); + recsog.put(SOG_DATAULTAGG, TODAY); + recsog.put(SOG_UTENULTAGG, user()); filesog.rewrite(); - } + } + } + else + { + if (cat_estinti.not_empty()) + { + _operazione = "da"; + _operazione << " "; + _operazione << catsog; + _operazione << " a "; + _operazione << cat_estinti; + if (_definitiva) + { + recsog.put(SOG_CATDON,cat_estinti); + recsog.put(SOG_DATADIM, _data_chiusura); + recsog.put(SOG_DATAULTAGG, TODAY); + recsog.put(SOG_UTENULTAGG, user()); + filesog.rewrite(); + } + } } } - } - } - } + } + } + } + } + } + } + else + { + const int totdon = recsog.get_int(SOG_TOTDON); + if (_catfin1.not_empty() && totdon<=_numdon) + { + _operazione = "da"; + _operazione << " "; + _operazione << catsog; + _operazione << " a "; + _operazione << _catfin1; + if (_definitiva) + { + recsog.put(SOG_CATDON,_catfin1); + recsog.put(SOG_DATADIM, TODAY); + recsog.put(SOG_DATAULTAGG, TODAY); + recsog.put(SOG_UTENULTAGG, user()); + filesog.rewrite(); } - } - } + } + else + { + if (_catfin2.not_empty()) + { + _operazione = "da"; + _operazione << " "; + _operazione << catsog; + _operazione << " a "; + _operazione << _catfin2; + if (_definitiva) + { + recsog.put(SOG_CATDON, _catfin2); + recsog.put(SOG_DATADIM, TODAY); + recsog.put(SOG_DATAULTAGG, TODAY); + recsog.put(SOG_UTENULTAGG, user()); + filesog.rewrite(); + } + } + } + } + _contatore++; + _totale++; return TRUE; } +print_action TChiusuraPeriodica::postprocess_print(int file, int counter) +{ + if (_contatore > 0) + footer_sezione(); + fine_stampa(); + return NEXT_PAGE; +} + +void TChiusuraPeriodica::footer_sezione() +{ + // stampa totale soggetti appartenenti alla sezione + reset_footer(); + TString sep(132); + sep.fill('-'); + set_footer(2, (const char *) sep); + set_footer(3,"TOTALE SOGGETTI STAMPATI %d", _contatore); + printer().formfeed(); + reset_footer(); +} + +void TChiusuraPeriodica::fine_stampa() +{ + // stampa totale soggetti a fine stampa + reset_footer(); + TString sep(132); + sep.fill('-'); + set_footer(2, (const char *) sep); + if (_totale > 0 && _totale != _contatore) + { + set_footer(3,"TOTALE SOGGETTI STAMPATI %d", _totale); + printer().formfeed(); + } + reset_footer(); +} + void TChiusuraPeriodica::header_sezione(const TString16 codsez, const TString16 codsot) { const TString80 densez = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSEZ); const TString80 densot = current_cursor()->curr(LF_SEZIONI).get(SEZ_DENSOT); - TString intestazione(116); + TString intestazione(132); intestazione = "Sezione: "; intestazione << codsez; - intestazione << "/"; - intestazione << codsot; - intestazione << " "; + if (codsot.not_empty()) + { + intestazione << '/'; + intestazione << codsot; + } + intestazione << ' '; intestazione << densez; if (densot.not_empty()) { - intestazione << "/"; + intestazione << '/'; intestazione << densot; } + intestazione.center_just(); set_header(1,"@0g%s", (const char*) intestazione); return; @@ -202,44 +279,84 @@ void TChiusuraPeriodica::set_page(int file, int cnt) set_row(1,"@12g@S", FLD(LF_SOGGETTI,SOG_COGNOME)); set_row(1,"@38g@S", FLD(LF_SOGGETTI,SOG_NOME)); set_row(1,"@64g@ld", FLD(LF_SOGGETTI,SOG_DATAULTDON)); - set_row(1,"@75g@pn", FLD(LF_SOGGETTI,SOG_TOTDON, "###")); - set_row(1,"@79g@6,rs", FLD(LF_SOGGETTI,SOG_TESSAVIS)); - set_row(1,"@86g#a", &_operazione); + set_row(1,"@75g@ld", FLD(LF_SOGGETTI,SOG_DATAISC)); + set_row(1,"@86g@pn", FLD(LF_SOGGETTI,SOG_TOTDON, "###")); + set_row(1,"@90g@6,rs", FLD(LF_SOGGETTI,SOG_TESSAVIS)); + set_row(1,"@97g#a", &_operazione); } bool TChiusuraPeriodica::filter_func_chiusura(const TRelation* rel) { bool filtrato = FALSE; - - TRectype& recsez = rel->lfile(LF_SEZIONI).curr(); TRectype& recsog = rel->lfile().curr(); - const TString16 cat_estinti = recsez.get(SEZ_CATESTI); - const TString16 cat_cancellati = recsez.get(SEZ_CATCANC); - const TString16 cat_emeriti = recsez.get(SEZ_CATEMER); - const int intesti = recsez.get_int(SEZ_INTESTI); - const int donemer = recsez.get_int(SEZ_DONEMER); - if ((cat_estinti.not_empty() && intesti!=0) || cat_cancellati.not_empty() || (cat_emeriti.not_empty() && donemer!=0)) - { - const TString16 catsog = recsog.get(SOG_CATDON); - if (catsog == cat_cancellati && cat_cancellati.not_empty()) - filtrato = TRUE; // da cancellare - else + if (!app()._sospesi) + { + const char stato = modstato_tcs(recsog.get(SOG_STATO)); + if (stato == 'S') + return FALSE; + const char statosi = modstato_tcs(recsog.get(SOG_STATOSI)); + if (statosi == 'S') + return FALSE; + const char statoaf = modstato_tcs(recsog.get(SOG_STATOAF)); + if (statoaf == 'S') + return FALSE; + } + if (app()._usosez) + { + TRectype& recsez = rel->lfile(LF_SEZIONI).curr(); + const TString16 cat_estinti = recsez.get(SEZ_CATESTI); + const TString16 cat_cancellati = recsez.get(SEZ_CATCANC); + const TString16 cat_emeriti = recsez.get(SEZ_CATEMER); + const int intesti = recsez.get_int(SEZ_INTESTI); + const int donemer = recsez.get_int(SEZ_DONEMER); + if ((cat_estinti.not_empty() && intesti!=0) || cat_cancellati.not_empty() || (cat_emeriti.not_empty() && donemer!=0)) + { + const TString16 catsog = recsog.get(SOG_CATDON); + if (catsog == cat_cancellati && cat_cancellati.not_empty()) + filtrato = TRUE; // da cancellare + else + { + if ((cat_estinti.not_empty() && intesti!=0) || (cat_emeriti.not_empty() && donemer!=0)) + { + const bool dimesso = rel->lfile(-ALIAS_CTD).get_bool("B0"); + if (!dimesso) + { + TDate dataultdon = recsog.get(SOG_DATAULTDON); + if (dataultdon.ok()) + { + dataultdon.addyear(intesti); + filtrato = (dataultdon < app()._data_chiusura); + } + } + } + } + } + } + else + { + TAssoc_array& categorie = app()._categorie; + if (categorie.items() != 0) { - if ((cat_estinti.not_empty() && intesti!=0) || (cat_emeriti.not_empty() && donemer!=0)) - { - const bool dimesso = rel->lfile(-ALIAS_CTD).get_bool("B0"); - if (!dimesso) - { - TDate dataultdon = recsog.get(SOG_DATAULTDON); - if (dataultdon.ok()) - { - dataultdon.addyear(intesti); - filtrato = (dataultdon < app()._data_chiusura); - } - } - } - } - } + const TString16 cat = recsog.get(SOG_CATDON); + filtrato = categorie.is_key((const char*) cat); + } + if (filtrato) + { + const bool dimesso = rel->lfile(-ALIAS_CTD).get_bool("B0"); + if (!dimesso) + { + TDate data = recsog.get(SOG_DATAULTDON); + if (data.ok()) + filtrato = (data < app()._dataud); + else + { + data = recsog.get(SOG_DATAISC); + if (data.ok()) + filtrato = (data < app()._dataud); + } + } + } + } return filtrato; } @@ -251,14 +368,41 @@ bool TChiusuraPeriodica::set_print(int) { _codsez = "**"; _codsez = "**"; + _contatore = 0; + _totale = 0; + _usosez = _msk->get_bool(F_USOSEZ); + _data_chiusura = _msk->get_date(F_DATA); + _categorie.destroy(); + const TString16 catpri = _msk->get(F_CAT1); + const TString16 catsec = _msk->get(F_CAT2); + const TString16 catter = _msk->get(F_CAT3); + const TString16 catqua = _msk->get(F_CAT4); + const TString16 catqui = _msk->get(F_CAT5); + const TString16 catses = _msk->get(F_CAT6); + if (catpri.not_empty()) + _categorie.add((const char*) catpri); + if (catsec.not_empty()) + _categorie.add((const char*) catsec); + if (catter.not_empty()) + _categorie.add((const char*) catter); + if (catqua.not_empty()) + _categorie.add((const char*) catqua); + if (catqui.not_empty()) + _categorie.add((const char*) catqui); + if (catses.not_empty()) + _categorie.add((const char*) catses); + _dataud = _msk->get_date(F_DATAUD); + _numdon = _msk->get_int(F_NUMDON); + _catfin1 = _msk->get(F_CATFIN1); + _catfin2 = _msk->get(F_CATFIN2); _definitiva = _msk->get_bool(F_DEFINITIVA); _sospesi = _msk->get_bool(F_SOSPESI); - _data_chiusura = _msk->get(F_DATA); reset_files(); add_file(LF_SOGGETTI); filtra_sezioni(); current_cursor()->set_filterfunction(filter_func_chiusura,TRUE); reset_print(); + printer().footerlen(0); crea_intestazione(); return TRUE; } @@ -269,25 +413,29 @@ bool TChiusuraPeriodica::set_print(int) void TChiusuraPeriodica::crea_intestazione() { reset_header(); - TString sep(116); + TString sep(132); sep = ""; if (_definitiva) sep << "CHIUSURA - DEFINITIVA - ALLA DATA "; else sep << "CHIUSURA - PROVVISORIA - ALLA DATA "; - sep << _data_chiusura.string(); + if (_usosez) + sep << _data_chiusura.string(); + else + sep << _dataud.string(); sep.center_just(); set_header(2, "@0g%s", (const char*) sep); TDate data_stampa(TODAY); set_header(2,"@0g%10s", (const char*) data_stampa.string()); sep = ""; sep << "Pag. @#"; - set_header(2, "@100g%s", (const char*) sep); + set_header(2, "@120g%s", (const char*) sep); sep = ""; sep.fill('-'); set_header(3, (const char *) sep); - set_header(4,"@0gCodice@9gC.@12gCognome@38gNome@64gData u.d.@75gTot@79gTess.@86gOperazione"); - set_header(5,"@0g--------@9g--@12g-------------------------@38g-------------------------@64g----------@75g---@79g------@86g------------------------------"); + set_header(4,"@0gCodice@9gC.@12gCognome@38gNome@64gData u.d.@75gData isc.@86gDon.@90gTess.@97gOperazione"); + set_header(5,"@0g--------@9g--@12g-------------------------@38g-------------------------@64g----------@75g----------@86g---@90g------@97g-----------------------------------"); + printer().footerlen(3); } bool TChiusuraPeriodica::user_create() diff --git a/at/at0600a.h b/at/at0600a.h index 04b70c6b8..5ddd3134d 100755 --- a/at/at0600a.h +++ b/at/at0600a.h @@ -9,6 +9,28 @@ #define F_D_SEZFIN 106 #define F_SOTFIN 107 #define F_D_SOTFIN 108 -#define F_DATA 109 -#define F_SOSPESI 110 -#define F_DEFINITIVA 111 +#define F_USOSEZ 109 +// se uso dati sezione +#define F_DATA 110 +// se non uso dati sezione +#define F_CAT1 201 +#define F_D_CAT1 202 +#define F_CAT2 203 +#define F_D_CAT2 204 +#define F_CAT3 205 +#define F_D_CAT3 206 +#define F_CAT4 207 +#define F_D_CAT4 208 +#define F_CAT5 209 +#define F_D_CAT5 210 +#define F_CAT6 211 +#define F_D_CAT6 212 +#define F_DATAUD 213 // data ultima donazione fino a +#define F_NUMDON 214 // numero donazioni di riferimento +#define F_CATFIN1 215 // categoria di arrivo con donazioni < numdon +#define F_CATFIN2 216 // categoria di arrivo con donazioni >= numdon +#define F_D_CATFIN1 217 +#define F_D_CATFIN2 218 +// opzioni comuni +#define F_SOSPESI 301 +#define F_DEFINITIVA 302 diff --git a/at/at0600a.uml b/at/at0600a.uml index 5f2847e32..e900dca43 100755 --- a/at/at0600a.uml +++ b/at/at0600a.uml @@ -1,6 +1,17 @@ #include "at0600a.h" +TOOLBAR "" 0 20 0 2 +BUTTON DLG_OK 9 2 +BEGIN + PROMPT -12 -11 "" +END -PAGE "Chiusura Periodica" -1 -1 78 12 +BUTTON DLG_QUIT 9 2 +BEGIN + PROMPT -22 -11 "" +END +ENDPAGE + +PAGE "Chiusura Periodica" -1 -1 78 20 GROUPBOX DLG_NULL 77 4 BEGIN @@ -124,9 +135,16 @@ BEGIN HELP "Sottogruppo finale" END -GROUPBOX DLG_NULL 77 3 +GROUPBOX DLG_NULL 77 14 BEGIN - PROMPT 1 6 "Opzioni per la chiusura" + PROMPT 1 5 "Opzioni per la chiusura" +END + +BOOLEAN F_USOSEZ +BEGIN + PROMPT 2 6 "Uso opzioni di chiusura indicate in tabella sezioni" + MESSAGE TRUE RESET,1@|DISABLE,1@|ENABLE,2@ + MESSAGE FALSE RESET,2@|DISABLE,2@|ENABLE,1@ END DATE F_DATA @@ -134,28 +152,212 @@ BEGIN PROMPT 2 7 "Data di riferimento " CHECKTYPE REQUIRED HELP "Data di riferimento per i conteggi di chiusura" + GROUP 2 END +TEXT DLG_NULL +BEGIN + PROMPT 2 8 "Categorie" +END + +STRING F_CAT1 2 +BEGIN + PROMPT 2 9 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT1 + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@30" S0 + OUTPUT F_CAT1 CODTAB + OUTPUT F_D_CAT1 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT1 30 +BEGIN + PROMPT 8 9 "" + FLAGS "D" +END + +STRING F_CAT2 2 +BEGIN + PROMPT 2 10 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT2 + COPY DISPLAY F_CAT1 + OUTPUT F_CAT2 CODTAB + OUTPUT F_D_CAT2 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT2 30 +BEGIN + PROMPT 8 10 "" + FLAGS "D" +END + +STRING F_CAT3 2 +BEGIN + PROMPT 2 11 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT3 + COPY DISPLAY F_CAT1 + OUTPUT F_CAT3 CODTAB + OUTPUT F_D_CAT3 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT3 30 +BEGIN + PROMPT 8 11 "" + FLAGS "D" +END + +STRING F_CAT4 2 +BEGIN + PROMPT 40 9 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT4 + COPY DISPLAY F_CAT1 + OUTPUT F_CAT4 CODTAB + OUTPUT F_D_CAT4 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT4 30 +BEGIN + PROMPT 46 9 "" + FLAGS "D" +END + +STRING F_CAT5 2 +BEGIN + PROMPT 40 10 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT5 + COPY DISPLAY F_CAT1 + OUTPUT F_CAT5 CODTAB + OUTPUT F_D_CAT5 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT5 30 +BEGIN + PROMPT 46 10 "" + FLAGS "D" +END + +STRING F_CAT6 2 +BEGIN + PROMPT 40 11 "" + FLAGS "U" + USE CTD + INPUT CODTAB F_CAT6 + COPY DISPLAY F_CAT1 + OUTPUT F_CAT6 CODTAB + OUTPUT F_D_CAT6 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + HELP "Categoria di appartenenza" + GROUP 1 +END + +STRING F_D_CAT6 30 +BEGIN + PROMPT 46 11 "" + FLAGS "D" +END + +DATE F_DATAUD +BEGIN + PROMPT 2 12 "Data ultima donazione fino al " + GROUP 1 +END + +TEXT DLG_NULL +BEGIN + PROMPT 47 12 "(iscrizione se non ha don.)" +END + +NUMBER F_NUMDON 3 +BEGIN + PROMPT 2 13 "Numero donazioni di riferimento " + GROUP 1 +END + +STRING F_CATFIN1 2 +BEGIN + PROMPT 2 14 "Cat. per num. don. fino al num. indicato " + FLAGS "U" + USE CTD + INPUT CODTAB F_CATFIN1 + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@30" S0 + OUTPUT F_CATFIN1 CODTAB + OUTPUT F_D_CATFIN1 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + GROUP 1 +END + +STRING F_D_CATFIN1 30 20 +BEGIN + PROMPT 56 14 "" + FLAGS "D" +END + +STRING F_CATFIN2 2 +BEGIN + PROMPT 2 15 "Cat. per num. don. maggiore del num. indicato " + FLAGS "U" + USE CTD + INPUT CODTAB F_CATFIN2 + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@30" S0 + OUTPUT F_CATFIN2 CODTAB + OUTPUT F_D_CATFIN2 S0 + CHECKTYPE NORMAL + WARNING "Codice non presente" + GROUP 1 +END + +STRING F_D_CATFIN2 30 20 +BEGIN + PROMPT 56 15 "" + FLAGS "D" +END + + BOOLEAN F_SOSPESI BEGIN - PROMPT 35 7 "Anche sospesi" + PROMPT 2 17 "Anche sospesi" HELP "Indicare se si vogliono processare per la chiusura anche i soggetti sospesi" END BOOLEAN F_DEFINITIVA BEGIN - PROMPT 53 7 "Chiusura definitiva" + PROMPT 30 17 "Chiusura definitiva" HELP "Se chiusura definitiva, le operazioni stampate verranno registrate" END -BUTTON DLG_OK 9 2 -BEGIN - PROMPT -12 10 "" -END - -BUTTON DLG_QUIT 9 2 -BEGIN - PROMPT -22 10 "" -END ENDPAGE ENDMASK