Errore aga032
git-svn-id: svn://10.65.10.50/trunk@4359 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
1c07c0b7b7
commit
be723d6c6c
157
ef/ef0400.cpp
157
ef/ef0400.cpp
@ -1,4 +1,4 @@
|
||||
#include <applicat.h>
|
||||
#include <applicat.h>
|
||||
#include <urldefid.h>//per definizione BAR_ITEM
|
||||
#include <msksheet.h>
|
||||
#include <sheet.h>
|
||||
@ -6,7 +6,7 @@
|
||||
#include <lffiles.h>
|
||||
#include "ef0.h"
|
||||
#include "ef0101.h"
|
||||
#include "ef0400.h"
|
||||
#include "ef0400.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//Classe per l'eliminazione di effetti di effetti con selezione per gruppi //
|
||||
@ -14,21 +14,21 @@
|
||||
class TEliminazione_effetti: public TApplication
|
||||
{
|
||||
TMask *_msk;
|
||||
TRelation *_rel;
|
||||
TRelation *_rel;
|
||||
TLocalisamfile *_reff, *_cession;
|
||||
TRectype *_from, *_to;
|
||||
virtual bool create() ;
|
||||
virtual bool destroy() ;
|
||||
virtual bool menu(MENU_TAG);
|
||||
protected:
|
||||
TRectype *_from, *_to;
|
||||
virtual bool create() ;
|
||||
virtual bool destroy() ;
|
||||
virtual bool menu(MENU_TAG);
|
||||
protected:
|
||||
static bool from_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 to_data_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 to_data_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 void elimina();
|
||||
public:
|
||||
public:
|
||||
TEliminazione_effetti() {};
|
||||
virtual ~TEliminazione_effetti() {};
|
||||
};
|
||||
@ -39,29 +39,29 @@ inline TEliminazione_effetti& app(){return (TEliminazione_effetti&)main_app();}
|
||||
// crea l'applicazione
|
||||
bool TEliminazione_effetti::create()
|
||||
{
|
||||
_msk = new TMask("ef0400a");
|
||||
_rel = new TRelation(LF_EFFETTI);
|
||||
_msk = new TMask("ef0400a");
|
||||
_rel = new TRelation(LF_EFFETTI);
|
||||
_reff = new TLocalisamfile(LF_REFFETTI);
|
||||
_cession = new TLocalisamfile(LF_CESS);
|
||||
_rel->first();
|
||||
_cession = new TLocalisamfile(LF_CESS);
|
||||
_rel->first();
|
||||
_from = new TRectype(_rel->lfile().curr());
|
||||
_rel->last();
|
||||
_rel->last();
|
||||
_to = new TRectype(_rel->lfile().curr());
|
||||
_msk->set_handler(F_DA_RIBA, from_numero_handler);
|
||||
_msk->set_handler(F_A_RIBA, to_numero_handler);
|
||||
_msk->set_handler(F_DA_DATA, from_data_handler);
|
||||
_msk->set_handler(F_A_DATA, to_data_handler);
|
||||
_msk->set_handler(DLG_OK, conferma_handler);
|
||||
_msk->set_handler(DLG_CANCEL, annulla_handler);
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
_msk->set_handler(DLG_OK, conferma_handler);
|
||||
_msk->set_handler(DLG_CANCEL, annulla_handler);
|
||||
dispatch_e_menu(BAR_ITEM(1));
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// distrugge l'applicazione
|
||||
bool TEliminazione_effetti::destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _reff;
|
||||
delete _cession;
|
||||
delete _from;
|
||||
@ -74,77 +74,78 @@ bool TEliminazione_effetti::menu(MENU_TAG)
|
||||
{
|
||||
KEY key = K_ENTER;
|
||||
while (key != K_QUIT)//finchè non si chiude la maschera
|
||||
{
|
||||
key = _msk->run();
|
||||
{
|
||||
_msk->reset();
|
||||
key = _msk->run();
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
//Handler per la gestione della prima chiave (from) del cursore per numero
|
||||
bool TEliminazione_effetti::from_numero_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_TAB)
|
||||
{
|
||||
if (!f.get().empty())// se il campo non è vuoto
|
||||
{
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
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)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_TAB)
|
||||
{
|
||||
{
|
||||
if (!f.get().empty())// se il campo non è vuoto
|
||||
{
|
||||
{
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//Handler per la gestione della prima chiave (from) del cursore per data
|
||||
bool TEliminazione_effetti::from_data_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_TAB)
|
||||
{
|
||||
{
|
||||
if (!f.get().empty())// se il campo non è vuoto
|
||||
{
|
||||
{
|
||||
TRectype* from = app()._from;
|
||||
TDate data = m.get(F_DA_DATA);
|
||||
long num = m.get_long(F_DA_RIBA);
|
||||
from->put(EFF_NPROGTR, num);
|
||||
from->put(EFF_DATASCAD, data);
|
||||
long num = m.get_long(F_DA_RIBA);
|
||||
from->put(EFF_NPROGTR, num);
|
||||
from->put(EFF_DATASCAD, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//Handler per la gestione della seconda chiave (to) del cursore per numero
|
||||
bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_TAB)
|
||||
{
|
||||
{
|
||||
if (!f.get().empty())// se il campo non è vuoto
|
||||
{
|
||||
{
|
||||
TRectype* to = app()._to;
|
||||
TDate data = m.get(F_A_DATA);
|
||||
long num = m.get_long(F_A_RIBA);
|
||||
to->put(EFF_NPROGTR, num);
|
||||
to->put(EFF_DATASCAD, data);
|
||||
long num = m.get_long(F_A_RIBA);
|
||||
to->put(EFF_NPROGTR, num);
|
||||
to->put(EFF_DATASCAD, data);
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -153,8 +154,8 @@ bool TEliminazione_effetti::to_data_handler(TMask_field& f, KEY k)
|
||||
void TEliminazione_effetti::elimina()
|
||||
{
|
||||
const TRectype *from = app()._from;
|
||||
const TRectype *to = app()._to;
|
||||
TMask *m = app()._msk;
|
||||
const TRectype *to = app()._to;
|
||||
TMask *m = app()._msk;
|
||||
TRelation *rel = app()._rel;
|
||||
const char* filter;
|
||||
int key;
|
||||
@ -167,8 +168,8 @@ void TEliminazione_effetti::elimina()
|
||||
break;
|
||||
case 'D': //selezione effetti per data
|
||||
key = 3;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
switch (op2) //scelgo il filtro per il cursore
|
||||
{
|
||||
case 'S': //cancello effetti stampati
|
||||
@ -176,44 +177,44 @@ void TEliminazione_effetti::elimina()
|
||||
break;
|
||||
case 'C': //cancello effetti contabilizzati
|
||||
filter = "EFFCONT=\"X\"";
|
||||
break;
|
||||
break;
|
||||
default : //cancello tutti gli effetti
|
||||
filter = "";
|
||||
break;
|
||||
}
|
||||
TCursor cur(rel,filter,key,from,to); // istanzio il cursore
|
||||
TLocalisamfile& delfile = cur.file();// prendo un riferimento al file
|
||||
long n = cur.items();// prendo il numero di elementi del cursore
|
||||
cur.freeze();// congelo lo stato del cursore
|
||||
TCursor cur(rel,filter,key,from,to); // istanzio il cursore
|
||||
TLocalisamfile& delfile = cur.file();// prendo un riferimento al file
|
||||
long n = cur.items();// prendo il numero di elementi del cursore
|
||||
cur.freeze();// congelo lo stato del cursore
|
||||
for (cur=0; cur.pos() < n; ++cur)// scandisco tutti gli elementi del cursore
|
||||
{
|
||||
TEffetto eff(delfile.curr());// istanzio un effetto
|
||||
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)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
{
|
||||
if (yesno_box("Vuoi veramete eliminare gli effetti selezionati"))
|
||||
elimina();
|
||||
}
|
||||
elimina();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Handler per gestire la conferma dell'annullamento dei dati
|
||||
// inseriti nella maschera
|
||||
// Handler per gestire la conferma dell'annullamento dei dati
|
||||
// inseriti nella maschera
|
||||
bool TEliminazione_effetti::annulla_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
{
|
||||
if (yesno_box("Vuoi veramete annullare i dati inseriti"))
|
||||
m.reset();
|
||||
}
|
||||
m.reset();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -222,4 +223,4 @@ int ef0400(int argc, char* argv[])
|
||||
TEliminazione_effetti a ;
|
||||
a.run(argc, argv, "Eliminazione Effetti");
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
@ -4,21 +4,21 @@
|
||||
PAGE "Eliminazione Effetti" -1 -1 57 14
|
||||
|
||||
LIST F_TIPOSEL 24
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo Selezione "
|
||||
ITEM "N|Numero progressivo"
|
||||
MESSAGE DISABLE,2@
|
||||
MESSAGE ENABLE,1@
|
||||
ITEM "D|Data scadenza"
|
||||
MESSAGE DISABLE,1@
|
||||
MESSAGE ENABLE,2@
|
||||
END
|
||||
MESSAGE ENABLE,2@
|
||||
END
|
||||
|
||||
LIST F_TIPOCANC 24
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 2 3 "Tipo Cancellazione "
|
||||
ITEM "T|Tutti"
|
||||
ITEM "S|Quelli stampati"
|
||||
ITEM "S|Quelli stampati"
|
||||
ITEM "C|Quelli contabilizzati"
|
||||
END
|
||||
|
||||
@ -26,32 +26,32 @@ GROUPBOX DLG_NULL 55 3
|
||||
BEGIN
|
||||
PROMPT 1 5 "Selezione effetti per numero progressivo"
|
||||
GROUP 1
|
||||
END
|
||||
END
|
||||
|
||||
NUMBER F_DA_RIBA 7 0
|
||||
NUMBER F_DA_RIBA 7 0
|
||||
BEGIN
|
||||
PROMPT 2 6 "Dalla Riba "
|
||||
GROUP 1
|
||||
GROUP 1
|
||||
FIELD LF_EFFETTI->NPROGTR
|
||||
USE LF_EFFETTI KEY 1
|
||||
INPUT NPROGTR F_DA_RIBA
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
OUTPUT F_DA_RIBA NPROGTR
|
||||
CHECKTYPE NORMAL
|
||||
// CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER F_A_RIBA 7 0
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 30 6 "Alla Riba "
|
||||
GROUP 1
|
||||
GROUP 1
|
||||
FIELD LF_EFFETTI->NPROGTR
|
||||
USE LF_EFFETTI KEY 1
|
||||
INPUT NPROGTR F_A_RIBA
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
OUTPUT F_A_RIBA NPROGTR
|
||||
CHECKTYPE NORMAL
|
||||
// CHECKTYPE NORMAL
|
||||
NUM_EXPR {#THIS_FIELD>=#F_DA_RIBA}
|
||||
WARNING "Limite superiore non valido"
|
||||
END
|
||||
@ -60,15 +60,15 @@ GROUPBOX DLG_NULL 55 3
|
||||
BEGIN
|
||||
PROMPT 1 9 "Selezione effetti per data scadenza"
|
||||
GROUP 2
|
||||
END
|
||||
END
|
||||
|
||||
DATA F_DA_DATA
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 2 10 "Dalla Data "
|
||||
GROUP 2
|
||||
GROUP 2
|
||||
FIELD LF_EFFETTI->DATASCAD
|
||||
USE LF_EFFETTI KEY 3
|
||||
INPUT DATASCAD F_DA_DATA
|
||||
INPUT DATASCAD F_DA_DATA
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
OUTPUT F_DA_DATA DATASCAD
|
||||
@ -77,19 +77,19 @@ BEGIN
|
||||
END
|
||||
|
||||
DATA F_A_DATA
|
||||
BEGIN
|
||||
BEGIN
|
||||
PROMPT 30 10 "Alla Data "
|
||||
GROUP 2
|
||||
FIELD LF_EFFETTI->DATASCAD
|
||||
USE LF_EFFETTI KEY 3
|
||||
INPUT DATASCAD F_A_DATA
|
||||
INPUT DATASCAD F_A_DATA
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
OUTPUT F_A_DATA DATASCAD
|
||||
OUTPUT F_A_RIBA NPROGTR
|
||||
//CHECKTYPE NORMAL
|
||||
//CHECKTYPE NORMAL
|
||||
VALIDATE DATE_CMP_FUNC >= F_DA_DATA
|
||||
WARNING "Data limite superiore non valida"
|
||||
WARNING "Data limite superiore non valida"
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
@ -105,9 +105,9 @@ END
|
||||
BUTTON DLG_QUIT 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 ""
|
||||
END
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user