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
This commit is contained in:
cris 2000-11-22 10:10:29 +00:00
parent e52a54aa00
commit 9a52cc0a52
3 changed files with 506 additions and 134 deletions

View File

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

View File

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

View File

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