Errore aga032

git-svn-id: svn://10.65.10.50/trunk@4359 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1997-05-21 11:00:10 +00:00
parent 1c07c0b7b7
commit be723d6c6c
2 changed files with 101 additions and 100 deletions

View File

@ -1,4 +1,4 @@
#include <applicat.h> #include <applicat.h>
#include <urldefid.h>//per definizione BAR_ITEM #include <urldefid.h>//per definizione BAR_ITEM
#include <msksheet.h> #include <msksheet.h>
#include <sheet.h> #include <sheet.h>
@ -6,7 +6,7 @@
#include <lffiles.h> #include <lffiles.h>
#include "ef0.h" #include "ef0.h"
#include "ef0101.h" #include "ef0101.h"
#include "ef0400.h" #include "ef0400.h"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
//Classe per l'eliminazione di effetti di effetti con selezione per gruppi // //Classe per l'eliminazione di effetti di effetti con selezione per gruppi //
@ -14,21 +14,21 @@
class TEliminazione_effetti: public TApplication class TEliminazione_effetti: public TApplication
{ {
TMask *_msk; TMask *_msk;
TRelation *_rel; TRelation *_rel;
TLocalisamfile *_reff, *_cession; TLocalisamfile *_reff, *_cession;
TRectype *_from, *_to; TRectype *_from, *_to;
virtual bool create() ; virtual bool create() ;
virtual bool destroy() ; virtual bool destroy() ;
virtual bool menu(MENU_TAG); virtual bool menu(MENU_TAG);
protected: protected:
static bool from_numero_handler(TMask_field& f, KEY k); static bool from_numero_handler(TMask_field& f, KEY k);
static bool to_numero_handler(TMask_field& f, KEY k); static bool to_numero_handler(TMask_field& f, KEY k);
static bool from_data_handler(TMask_field& f, KEY k); static bool from_data_handler(TMask_field& f, KEY k);
static bool to_data_handler(TMask_field& f, KEY k); static bool to_data_handler(TMask_field& f, KEY k);
static bool conferma_handler(TMask_field& f, KEY k); static bool conferma_handler(TMask_field& f, KEY k);
static bool annulla_handler(TMask_field& f, KEY k); static bool annulla_handler(TMask_field& f, KEY k);
static void elimina(); static void elimina();
public: public:
TEliminazione_effetti() {}; TEliminazione_effetti() {};
virtual ~TEliminazione_effetti() {}; virtual ~TEliminazione_effetti() {};
}; };
@ -39,29 +39,29 @@ inline TEliminazione_effetti& app(){return (TEliminazione_effetti&)main_app();}
// crea l'applicazione // crea l'applicazione
bool TEliminazione_effetti::create() bool TEliminazione_effetti::create()
{ {
_msk = new TMask("ef0400a"); _msk = new TMask("ef0400a");
_rel = new TRelation(LF_EFFETTI); _rel = new TRelation(LF_EFFETTI);
_reff = new TLocalisamfile(LF_REFFETTI); _reff = new TLocalisamfile(LF_REFFETTI);
_cession = new TLocalisamfile(LF_CESS); _cession = new TLocalisamfile(LF_CESS);
_rel->first(); _rel->first();
_from = new TRectype(_rel->lfile().curr()); _from = new TRectype(_rel->lfile().curr());
_rel->last(); _rel->last();
_to = new TRectype(_rel->lfile().curr()); _to = new TRectype(_rel->lfile().curr());
_msk->set_handler(F_DA_RIBA, from_numero_handler); _msk->set_handler(F_DA_RIBA, from_numero_handler);
_msk->set_handler(F_A_RIBA, to_numero_handler); _msk->set_handler(F_A_RIBA, to_numero_handler);
_msk->set_handler(F_DA_DATA, from_data_handler); _msk->set_handler(F_DA_DATA, from_data_handler);
_msk->set_handler(F_A_DATA, to_data_handler); _msk->set_handler(F_A_DATA, to_data_handler);
_msk->set_handler(DLG_OK, conferma_handler); _msk->set_handler(DLG_OK, conferma_handler);
_msk->set_handler(DLG_CANCEL, annulla_handler); _msk->set_handler(DLG_CANCEL, annulla_handler);
dispatch_e_menu(BAR_ITEM(1)); dispatch_e_menu(BAR_ITEM(1));
return TRUE; return TRUE;
} }
// distrugge l'applicazione // distrugge l'applicazione
bool TEliminazione_effetti::destroy() bool TEliminazione_effetti::destroy()
{ {
delete _msk; delete _msk;
delete _rel; delete _rel;
delete _reff; delete _reff;
delete _cession; delete _cession;
delete _from; delete _from;
@ -74,77 +74,78 @@ bool TEliminazione_effetti::menu(MENU_TAG)
{ {
KEY key = K_ENTER; KEY key = K_ENTER;
while (key != K_QUIT)//finchè non si chiude la maschera while (key != K_QUIT)//finchè non si chiude la maschera
{ {
key = _msk->run(); _msk->reset();
key = _msk->run();
} }
return FALSE; return FALSE;
} }
//Handler per la gestione della prima chiave (from) del cursore per numero //Handler per la gestione della prima chiave (from) del cursore per numero
bool TEliminazione_effetti::from_numero_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::from_numero_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_TAB) if (k == K_TAB)
{ {
if (!f.get().empty())// se il campo non è vuoto if (!f.get().empty())// se il campo non è vuoto
{ {
TRectype* from = app()._from; TRectype* from = app()._from;
long num = m.get_long(F_DA_RIBA); long num = m.get_long(F_DA_RIBA);
from->put(EFF_NPROGTR, num); from->put(EFF_NPROGTR, num);
} }
} }
return TRUE; return TRUE;
} }
//Handler per la gestione della seconda chiave (to) del cursore per numero //Handler per la gestione della seconda chiave (to) del cursore per numero
bool TEliminazione_effetti::to_numero_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::to_numero_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_TAB) if (k == K_TAB)
{ {
if (!f.get().empty())// se il campo non è vuoto if (!f.get().empty())// se il campo non è vuoto
{ {
TRectype* to = app()._to; TRectype* to = app()._to;
long num = m.get_long(F_A_RIBA); long num = m.get_long(F_A_RIBA);
to->put(EFF_NPROGTR, num); to->put(EFF_NPROGTR, num);
} }
} }
return TRUE; return TRUE;
} }
//Handler per la gestione della prima chiave (from) del cursore per data //Handler per la gestione della prima chiave (from) del cursore per data
bool TEliminazione_effetti::from_data_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::from_data_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_TAB) if (k == K_TAB)
{ {
if (!f.get().empty())// se il campo non è vuoto if (!f.get().empty())// se il campo non è vuoto
{ {
TRectype* from = app()._from; TRectype* from = app()._from;
TDate data = m.get(F_DA_DATA); TDate data = m.get(F_DA_DATA);
long num = m.get_long(F_DA_RIBA); long num = m.get_long(F_DA_RIBA);
from->put(EFF_NPROGTR, num); from->put(EFF_NPROGTR, num);
from->put(EFF_DATASCAD, data); from->put(EFF_DATASCAD, data);
} }
} }
return TRUE; return TRUE;
} }
//Handler per la gestione della seconda chiave (to) del cursore per numero //Handler per la gestione della seconda chiave (to) del cursore per numero
bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_TAB) if (k == K_TAB)
{ {
if (!f.get().empty())// se il campo non è vuoto if (!f.get().empty())// se il campo non è vuoto
{ {
TRectype* to = app()._to; TRectype* to = app()._to;
TDate data = m.get(F_A_DATA); TDate data = m.get(F_A_DATA);
long num = m.get_long(F_A_RIBA); long num = m.get_long(F_A_RIBA);
to->put(EFF_NPROGTR, num); to->put(EFF_NPROGTR, num);
to->put(EFF_DATASCAD, data); to->put(EFF_DATASCAD, data);
} }
} }
return TRUE; return TRUE;
} }
@ -153,8 +154,8 @@ bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k)
void TEliminazione_effetti::elimina() void TEliminazione_effetti::elimina()
{ {
const TRectype *from = app()._from; const TRectype *from = app()._from;
const TRectype *to = app()._to; const TRectype *to = app()._to;
TMask *m = app()._msk; TMask *m = app()._msk;
TRelation *rel = app()._rel; TRelation *rel = app()._rel;
const char* filter; const char* filter;
int key; int key;
@ -167,8 +168,8 @@ void TEliminazione_effetti::elimina()
break; break;
case 'D': //selezione effetti per data case 'D': //selezione effetti per data
key = 3; key = 3;
break; break;
} }
switch (op2) //scelgo il filtro per il cursore switch (op2) //scelgo il filtro per il cursore
{ {
case 'S': //cancello effetti stampati case 'S': //cancello effetti stampati
@ -176,44 +177,44 @@ void TEliminazione_effetti::elimina()
break; break;
case 'C': //cancello effetti contabilizzati case 'C': //cancello effetti contabilizzati
filter = "EFFCONT=\"X\""; filter = "EFFCONT=\"X\"";
break; break;
default : //cancello tutti gli effetti default : //cancello tutti gli effetti
filter = ""; filter = "";
break; break;
} }
TCursor cur(rel,filter,key,from,to); // istanzio il cursore TCursor cur(rel,filter,key,from,to); // istanzio il cursore
TLocalisamfile& delfile = cur.file();// prendo un riferimento al file TLocalisamfile& delfile = cur.file();// prendo un riferimento al file
long n = cur.items();// prendo il numero di elementi del cursore long n = cur.items();// prendo il numero di elementi del cursore
cur.freeze();// congelo lo stato del cursore cur.freeze();// congelo lo stato del cursore
for (cur=0; cur.pos() < n; ++cur)// scandisco tutti gli elementi del cursore for (cur=0; cur.pos() < n; ++cur)// scandisco tutti gli elementi del cursore
{ {
TEffetto eff(delfile.curr());// istanzio un effetto TEffetto eff(delfile.curr());// istanzio un effetto
eff.remove(delfile); // e lo cancello eff.remove(delfile); // e lo cancello
} }
} }
//Handler per gestire la conferma della cancellazione degli effetti //Handler per gestire la conferma della cancellazione degli effetti
bool TEliminazione_effetti::conferma_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::conferma_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_SPACE) if (k == K_SPACE)
{ {
if (yesno_box("Vuoi veramete eliminare gli effetti selezionati")) if (yesno_box("Vuoi veramete eliminare gli effetti selezionati"))
elimina(); elimina();
} }
return TRUE; return TRUE;
} }
// Handler per gestire la conferma dell'annullamento dei dati // Handler per gestire la conferma dell'annullamento dei dati
// inseriti nella maschera // inseriti nella maschera
bool TEliminazione_effetti::annulla_handler(TMask_field& f, KEY k) bool TEliminazione_effetti::annulla_handler(TMask_field& f, KEY k)
{ {
TMask &m = f.mask(); TMask &m = f.mask();
if (k == K_SPACE) if (k == K_SPACE)
{ {
if (yesno_box("Vuoi veramete annullare i dati inseriti")) if (yesno_box("Vuoi veramete annullare i dati inseriti"))
m.reset(); m.reset();
} }
return TRUE; return TRUE;
} }
@ -222,4 +223,4 @@ int ef0400(int argc, char* argv[])
TEliminazione_effetti a ; TEliminazione_effetti a ;
a.run(argc, argv, "Eliminazione Effetti"); a.run(argc, argv, "Eliminazione Effetti");
return 0; return 0;
} }

View File

@ -4,21 +4,21 @@
PAGE "Eliminazione Effetti" -1 -1 57 14 PAGE "Eliminazione Effetti" -1 -1 57 14
LIST F_TIPOSEL 24 LIST F_TIPOSEL 24
BEGIN BEGIN
PROMPT 2 1 "Tipo Selezione " PROMPT 2 1 "Tipo Selezione "
ITEM "N|Numero progressivo" ITEM "N|Numero progressivo"
MESSAGE DISABLE,2@ MESSAGE DISABLE,2@
MESSAGE ENABLE,1@ MESSAGE ENABLE,1@
ITEM "D|Data scadenza" ITEM "D|Data scadenza"
MESSAGE DISABLE,1@ MESSAGE DISABLE,1@
MESSAGE ENABLE,2@ MESSAGE ENABLE,2@
END END
LIST F_TIPOCANC 24 LIST F_TIPOCANC 24
BEGIN BEGIN
PROMPT 2 3 "Tipo Cancellazione " PROMPT 2 3 "Tipo Cancellazione "
ITEM "T|Tutti" ITEM "T|Tutti"
ITEM "S|Quelli stampati" ITEM "S|Quelli stampati"
ITEM "C|Quelli contabilizzati" ITEM "C|Quelli contabilizzati"
END END
@ -26,32 +26,32 @@ GROUPBOX DLG_NULL 55 3
BEGIN BEGIN
PROMPT 1 5 "Selezione effetti per numero progressivo" PROMPT 1 5 "Selezione effetti per numero progressivo"
GROUP 1 GROUP 1
END END
NUMBER F_DA_RIBA 7 0 NUMBER F_DA_RIBA 7 0
BEGIN BEGIN
PROMPT 2 6 "Dalla Riba " PROMPT 2 6 "Dalla Riba "
GROUP 1 GROUP 1
FIELD LF_EFFETTI->NPROGTR FIELD LF_EFFETTI->NPROGTR
USE LF_EFFETTI KEY 1 USE LF_EFFETTI KEY 1
INPUT NPROGTR F_DA_RIBA INPUT NPROGTR F_DA_RIBA
DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Nr. progressivo" NPROGTR
DISPLAY "Data scadenza" DATASCAD DISPLAY "Data scadenza" DATASCAD
OUTPUT F_DA_RIBA NPROGTR OUTPUT F_DA_RIBA NPROGTR
CHECKTYPE NORMAL // CHECKTYPE NORMAL
END END
NUMBER F_A_RIBA 7 0 NUMBER F_A_RIBA 7 0
BEGIN BEGIN
PROMPT 30 6 "Alla Riba " PROMPT 30 6 "Alla Riba "
GROUP 1 GROUP 1
FIELD LF_EFFETTI->NPROGTR FIELD LF_EFFETTI->NPROGTR
USE LF_EFFETTI KEY 1 USE LF_EFFETTI KEY 1
INPUT NPROGTR F_A_RIBA INPUT NPROGTR F_A_RIBA
DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Nr. progressivo" NPROGTR
DISPLAY "Data scadenza" DATASCAD DISPLAY "Data scadenza" DATASCAD
OUTPUT F_A_RIBA NPROGTR OUTPUT F_A_RIBA NPROGTR
CHECKTYPE NORMAL // CHECKTYPE NORMAL
NUM_EXPR {#THIS_FIELD>=#F_DA_RIBA} NUM_EXPR {#THIS_FIELD>=#F_DA_RIBA}
WARNING "Limite superiore non valido" WARNING "Limite superiore non valido"
END END
@ -60,15 +60,15 @@ GROUPBOX DLG_NULL 55 3
BEGIN BEGIN
PROMPT 1 9 "Selezione effetti per data scadenza" PROMPT 1 9 "Selezione effetti per data scadenza"
GROUP 2 GROUP 2
END END
DATA F_DA_DATA DATA F_DA_DATA
BEGIN BEGIN
PROMPT 2 10 "Dalla Data " PROMPT 2 10 "Dalla Data "
GROUP 2 GROUP 2
FIELD LF_EFFETTI->DATASCAD FIELD LF_EFFETTI->DATASCAD
USE LF_EFFETTI KEY 3 USE LF_EFFETTI KEY 3
INPUT DATASCAD F_DA_DATA INPUT DATASCAD F_DA_DATA
DISPLAY "Data scadenza" DATASCAD DISPLAY "Data scadenza" DATASCAD
DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Nr. progressivo" NPROGTR
OUTPUT F_DA_DATA DATASCAD OUTPUT F_DA_DATA DATASCAD
@ -77,19 +77,19 @@ BEGIN
END END
DATA F_A_DATA DATA F_A_DATA
BEGIN BEGIN
PROMPT 30 10 "Alla Data " PROMPT 30 10 "Alla Data "
GROUP 2 GROUP 2
FIELD LF_EFFETTI->DATASCAD FIELD LF_EFFETTI->DATASCAD
USE LF_EFFETTI KEY 3 USE LF_EFFETTI KEY 3
INPUT DATASCAD F_A_DATA INPUT DATASCAD F_A_DATA
DISPLAY "Data scadenza" DATASCAD DISPLAY "Data scadenza" DATASCAD
DISPLAY "Nr. progressivo" NPROGTR DISPLAY "Nr. progressivo" NPROGTR
OUTPUT F_A_DATA DATASCAD OUTPUT F_A_DATA DATASCAD
OUTPUT F_A_RIBA NPROGTR OUTPUT F_A_RIBA NPROGTR
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
VALIDATE DATE_CMP_FUNC >= F_DA_DATA VALIDATE DATE_CMP_FUNC >= F_DA_DATA
WARNING "Data limite superiore non valida" WARNING "Data limite superiore non valida"
END END
BUTTON DLG_OK 9 2 BUTTON DLG_OK 9 2
@ -105,9 +105,9 @@ END
BUTTON DLG_QUIT 9 2 BUTTON DLG_QUIT 9 2
BEGIN BEGIN
PROMPT -33 -1 "" PROMPT -33 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK