aggiunto oggetto TEffetto ed integrato nella variazione effetti
git-svn-id: svn://10.65.10.50/trunk@3867 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c0267f0832
commit
e37b4da06e
386
ef/ef0100.cpp
386
ef/ef0100.cpp
@ -4,209 +4,343 @@
|
||||
#include <utility.h>
|
||||
#include <lffiles.h>
|
||||
#include <clifo.h>
|
||||
#include "effetti.h"
|
||||
#include "cession.h"
|
||||
#include <comuni.h>
|
||||
#include <effetti.h>
|
||||
#include <reffetti.h>
|
||||
#include <cession.h>
|
||||
#include "ef0.h"
|
||||
#include "ef0100.h"
|
||||
#include "ef0101.h"
|
||||
|
||||
class Variazione_Effetti: public TRelation_application
|
||||
//Classe per la gestione di effetti con metodi
|
||||
// standard di: inserimento, modifica, cancellazione.
|
||||
class TVariazione_effetti: public TRelation_application
|
||||
{
|
||||
TMask* _msk;
|
||||
TEffObb *_rel;
|
||||
|
||||
TMask *_msk;
|
||||
TEffetto *_effetto;
|
||||
TRelation *_rel;
|
||||
TLocalisamfile *_reff, *_cess, *_com;
|
||||
protected:
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
static bool handle_sheet(TMask_field& f, KEY);
|
||||
static bool codval_handler(TMask_field& f, KEY k);
|
||||
static bool impeff_notify(TSheet_field& s, int r, KEY key);
|
||||
virtual const char* get_next_key();
|
||||
TSheet_field& obb_sheet() const;
|
||||
void obb_pack();
|
||||
TSheet_field& cess_sheet() const;
|
||||
TSheet_field& righe_sheet() const;
|
||||
void common_f(const TMask& m);
|
||||
static void calcola_totali();
|
||||
virtual int read(TMask& m);
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write(const TMask& m);
|
||||
virtual bool remove();
|
||||
bool user_create();
|
||||
bool user_destroy();
|
||||
virtual TMask* get_mask(int mode) {return _msk;}
|
||||
virtual bool changing_mask(int mode) {return FALSE;}
|
||||
virtual TMask* get_mask(int mode) {return _msk;}
|
||||
virtual bool changing_mask(int mode) {return FALSE;}
|
||||
public:
|
||||
static bool codcf_handler(TMask_field& f, KEY k);
|
||||
static bool effcomp_handler(TMask_field& f, KEY k);
|
||||
virtual TRelation* get_relation() const {return _rel;}
|
||||
Variazione_Effetti() {}
|
||||
TVariazione_effetti() {};
|
||||
virtual ~TVariazione_effetti() {};
|
||||
};
|
||||
|
||||
inline TVariazione_effetti& app() {return (TVariazione_effetti&)main_app();}
|
||||
|
||||
const char* Variazione_Effetti::get_next_key()
|
||||
void TVariazione_effetti::init_query_mode(TMask&)
|
||||
{
|
||||
_msk->reset(F_TOTIMP);
|
||||
_msk->reset(F_TOTIMPVAL);
|
||||
}
|
||||
|
||||
void TVariazione_effetti::init_insert_mode(TMask&)
|
||||
{
|
||||
_msk->reset(F_TOTIMP);
|
||||
_msk->reset(F_TOTIMPVAL);
|
||||
TToken_string riga("|||||||||");
|
||||
righe_sheet().row(0)=riga;
|
||||
righe_sheet().set_dirty();
|
||||
}
|
||||
|
||||
//Ritorna il prossimo numero valido di chiave
|
||||
const char* TVariazione_effetti::get_next_key()
|
||||
{
|
||||
TLocalisamfile& effetti=_rel->lfile();
|
||||
long nprogtr=1L;
|
||||
|
||||
if (!effetti.empty())
|
||||
if ( !effetti.empty() )
|
||||
{
|
||||
effetti.zero();
|
||||
effetti.setkey(1);
|
||||
effetti.last();
|
||||
if (effetti.good())
|
||||
if ( effetti.good() )
|
||||
nprogtr+=effetti.get_long(EFF_NPROGTR);
|
||||
}
|
||||
return format("%d|%ld",F_NPROGTR,nprogtr);
|
||||
}
|
||||
|
||||
TSheet_field& Variazione_Effetti::obb_sheet() const
|
||||
//Ritorna un riferimento allo sheet dei cessionari
|
||||
TSheet_field& TVariazione_effetti::cess_sheet() const
|
||||
{
|
||||
TSheet_field& o_sheet=(TSheet_field&) _msk->field(F_SHEET_EFF);
|
||||
TSheet_field& o_sheet = (TSheet_field&)_msk->field(F_SHEET_EFF);
|
||||
return o_sheet;
|
||||
}
|
||||
|
||||
void Variazione_Effetti::obb_pack()
|
||||
//Ritorna un riferimento allo sheet delle righe
|
||||
TSheet_field& TVariazione_effetti::righe_sheet() const
|
||||
{
|
||||
TArray& rows=obb_sheet().rows_array();
|
||||
int nr=rows.items();
|
||||
|
||||
for (int i=0;i<nr;i++)
|
||||
{
|
||||
TToken_string& riga=(TToken_string&)rows[i];
|
||||
if (riga.empty_items())
|
||||
rows.destroy(i,FALSE);
|
||||
}
|
||||
TSheet_field& r_sheet = (TSheet_field&)_msk->field(F_SHEET_RIGHE);
|
||||
return r_sheet;
|
||||
}
|
||||
|
||||
void Variazione_Effetti::common_f(const TMask& m)
|
||||
//Metodo che permette di scivere su file i dati inseriti nella maschera;
|
||||
// comune a write e rewrite
|
||||
void TVariazione_effetti::common_f(const TMask& m)
|
||||
{
|
||||
long nprogtr=m.get_long(F_NPROGTR);
|
||||
|
||||
_rel->lfile().zero();
|
||||
long nprogtr = m.get_long(F_NPROGTR);
|
||||
|
||||
m.autosave(*_rel);
|
||||
// LF_CESS SAVER!
|
||||
_rel->destroy_rows();
|
||||
obb_pack();
|
||||
TArray& rows=obb_sheet().rows_array();
|
||||
for (int i=0; i<rows.items();i++)
|
||||
{
|
||||
TToken_string& row=(TToken_string&)rows[i];
|
||||
TRectype& rec=_rel->obbligato(i);
|
||||
_effetto->head() = _rel->curr();
|
||||
|
||||
TSheet_field& shcess = cess_sheet();
|
||||
TSheet_field& shrighe = righe_sheet();
|
||||
|
||||
int items = shcess.items();
|
||||
_effetto->destroy_rows_c();
|
||||
int ii = 0;
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TToken_string& row = shcess.row(i);
|
||||
if ( row.items()!= 0 )
|
||||
{
|
||||
TRectype& rec = _effetto->row_c(ii+1, TRUE);
|
||||
row.restart();
|
||||
rec.zero();
|
||||
rec.put(CES_NPROGTR, nprogtr);
|
||||
rec.put(CES_NRIGA, ii+1);
|
||||
rec.put(CES_RAGSOC, row.get());
|
||||
rec.put(CES_LOCALITA, row.get());
|
||||
rec.put(CES_STATO, row.get_int());
|
||||
rec.put(CES_COM, row.get());
|
||||
ii++;
|
||||
}
|
||||
}
|
||||
|
||||
items = shrighe.items();
|
||||
_effetto->destroy_rows_r();
|
||||
ii = 0;
|
||||
for (i = 0; i < items; i++)
|
||||
{
|
||||
TToken_string& row = shrighe.row(i);
|
||||
real imp_eff(row.get(1));
|
||||
if (imp_eff == 0.0) continue;
|
||||
row.restart();
|
||||
TRectype& rec = _effetto->row_r(ii+1, TRUE);
|
||||
rec.zero();
|
||||
rec.put(CES_NPROGTR,nprogtr);
|
||||
rec.put(CES_NRIGA,i+1);
|
||||
rec.put(CES_RAGSOC,row.get());
|
||||
rec.put(CES_LOCALITA,row.get());
|
||||
rec.put(CES_STATO,row.get_int());
|
||||
rec.put(CES_COM,row.get());
|
||||
rec.put(REFF_NPROGTR, nprogtr);
|
||||
rec.put(REFF_NRIGATR, ii+1);
|
||||
rec.put(REFF_IMPFATT, row.get());
|
||||
rec.put(REFF_IMPORTO, row.get());
|
||||
rec.put(REFF_IMPFATTVAL, row.get());
|
||||
rec.put(REFF_IMPORTOVAL, row.get());
|
||||
rec.put(REFF_ANNO, row.get_int());
|
||||
rec.put(REFF_NUMPART, row.get());
|
||||
rec.put(REFF_NRIGA, row.get_int());
|
||||
rec.put(REFF_NRATA, row.get_int());
|
||||
rec.put(REFF_NFATT, row.get());
|
||||
rec.put(REFF_DATAFATT, row.get());
|
||||
ii++;
|
||||
}
|
||||
_effetto->renum(_effetto->numero());
|
||||
}
|
||||
|
||||
int Variazione_Effetti::read(TMask& m)
|
||||
int TVariazione_effetti::read(TMask& m)
|
||||
{
|
||||
m.autoload(*_rel);
|
||||
// LF_CESS loader!
|
||||
TToken_string riga(80);
|
||||
obb_sheet().reset();
|
||||
for (int i=0; i<_rel->obbligati_items();i++)
|
||||
int err = _rel->status();
|
||||
if (err == NOERR)
|
||||
{
|
||||
TRectype& rec=_rel->obbligato(i);
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(CES_RAGSOC));
|
||||
riga.add(rec.get(CES_LOCALITA));
|
||||
riga.add(rec.get(CES_STATO));
|
||||
riga.add(rec.get(CES_COM));
|
||||
obb_sheet().row(i)=riga;
|
||||
err = _effetto->read(_rel->curr());
|
||||
if (err == NOERR)
|
||||
{
|
||||
TString16 codcom(3);
|
||||
TToken_string riga(80);
|
||||
|
||||
TSheet_field& shcess = cess_sheet();
|
||||
shcess.reset();
|
||||
TSheet_field& shrighe = righe_sheet();
|
||||
shrighe.reset();
|
||||
|
||||
int items = _effetto->rows_c();
|
||||
for (int i = 1; i <= items; i++)
|
||||
{
|
||||
const TRectype& rec = _effetto->row_c(i);
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(CES_RAGSOC));
|
||||
riga.add(rec.get(CES_LOCALITA));
|
||||
riga.add(rec.get(CES_STATO));
|
||||
codcom = rec.get(CES_COM);
|
||||
riga.add(codcom);
|
||||
_com->zero();
|
||||
_com->put("COM", codcom);
|
||||
if (_com->read() == NOERR) riga.add(_com->get(COM_DENCOM));
|
||||
shcess.row(i-1)=riga;
|
||||
}
|
||||
|
||||
items = _effetto->rows_r();
|
||||
for (i = 1; i <= items; i++)
|
||||
{
|
||||
const TRectype& rec = _effetto->row_r(i);
|
||||
riga.cut(0);
|
||||
riga.add(rec.get(REFF_IMPFATT));
|
||||
riga.add(rec.get(REFF_IMPORTO));
|
||||
riga.add(rec.get(REFF_IMPFATTVAL));
|
||||
riga.add(rec.get(REFF_IMPORTOVAL));
|
||||
riga.add(rec.get(REFF_ANNO));
|
||||
riga.add(rec.get(REFF_NUMPART));
|
||||
riga.add(rec.get(REFF_NRIGA));
|
||||
riga.add(rec.get(REFF_NRATA));
|
||||
riga.add(rec.get(REFF_NFATT));
|
||||
riga.add(rec.get(REFF_DATAFATT));
|
||||
shrighe.row(i-1) = riga;
|
||||
}
|
||||
}
|
||||
}
|
||||
return _rel->status();
|
||||
return err;
|
||||
}
|
||||
|
||||
int Variazione_Effetti::rewrite(const TMask& m)
|
||||
int TVariazione_effetti::rewrite(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return _rel->rewrite(TRUE);
|
||||
return _effetto->rewrite();
|
||||
}
|
||||
|
||||
int Variazione_Effetti::write(const TMask& m)
|
||||
int TVariazione_effetti::write(const TMask& m)
|
||||
{
|
||||
common_f(m);
|
||||
return _rel->write(TRUE);
|
||||
int err = _effetto->write();
|
||||
if (err == NOERR)
|
||||
_rel->read(); // per posizionare correttamente la relazione
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TVariazione_effetti::remove()
|
||||
{
|
||||
return _effetto->remove() == NOERR;
|
||||
}
|
||||
|
||||
|
||||
bool Variazione_Effetti::user_create()
|
||||
bool TVariazione_effetti::user_create()
|
||||
{
|
||||
_msk = new TMask("ef0100a") ;
|
||||
_rel = new TEffObb;
|
||||
|
||||
_msk->set_handler(F_CODCF,codcf_handler);
|
||||
_msk->set_handler(F_EFFCOMP,effcomp_handler);
|
||||
_rel = new TRelation(LF_EFFETTI);
|
||||
_reff = new TLocalisamfile(LF_REFFETTI);
|
||||
_cess = new TLocalisamfile(LF_CESS);
|
||||
_com = new TLocalisamfile(LF_COMUNI);
|
||||
_effetto = new TEffetto;
|
||||
_msk->set_handler(F_CODVAL, codval_handler);
|
||||
_msk->set_handler(F_SHEET_RIGHE, handle_sheet);
|
||||
righe_sheet().set_append(FALSE);
|
||||
righe_sheet().set_notify(impeff_notify);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Variazione_Effetti::user_destroy()
|
||||
bool TVariazione_effetti::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _effetto;
|
||||
delete _reff;
|
||||
delete _cess;
|
||||
delete _com;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Variazione_Effetti::codcf_handler(TMask_field& f, KEY k)
|
||||
//Permette di effettuare il controllo sul fatto che venga inserita almeno una
|
||||
// riga per un effetto
|
||||
bool TVariazione_effetti::handle_sheet(TMask_field &f, KEY k)
|
||||
{
|
||||
long codcf = atol(f.get()), n = 0;
|
||||
TString ragsoc(50);
|
||||
TToken_string line;
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
TArray_sheet cli(-1,-1,59,20,"Clienti","Codice|Ragione sociale@50|Sospeso|Codice fiscale@18");
|
||||
|
||||
switch (k)
|
||||
TMask& m = f.mask();
|
||||
const int mode = m.mode();
|
||||
if ( k==K_ENTER && (mode== MODE_INS || mode== MODE_MOD) )
|
||||
{
|
||||
|
||||
TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE);
|
||||
int items = sf.items();
|
||||
bool found=FALSE;
|
||||
for (int i=0; i< items && !found; i++)
|
||||
{
|
||||
TToken_string& row=sf.row(i);
|
||||
real imp_eff(row.get(1));
|
||||
if (imp_eff != 0.0) found=TRUE;
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
error_box("L'effetto deve contenere almeno una riga!");
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//Permette il controllo sulla abilitazione dei campi collegati al codice
|
||||
// valuta
|
||||
bool TVariazione_effetti::codval_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask &m = f.mask();
|
||||
TString val(f.get());
|
||||
if (f.to_check(k, TRUE))
|
||||
{
|
||||
case K_TAB:
|
||||
if (f.focusdirty()) // When changing focus put customer's name
|
||||
{
|
||||
clifo.zero();
|
||||
clifo.setkey(1);
|
||||
clifo.put(CLI_TIPOCF,"C");
|
||||
clifo.put(CLI_CODCF,codcf);
|
||||
clifo.read();
|
||||
if (clifo.good())
|
||||
{
|
||||
ragsoc=clifo.get(CLI_RAGSOC);
|
||||
f.mask().set(F_CFRAGSOC,(const char*)ragsoc);
|
||||
} else
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case K_F8: // If F8 was pressed perform customer's search
|
||||
clifo.setkey(1);
|
||||
clifo.first();
|
||||
while (clifo.good() && clifo.get(CLI_TIPOCF)=="C")
|
||||
{
|
||||
line.cut(0);
|
||||
if (codcf == clifo.get_long(CLI_CODCF)) n=cli.items();
|
||||
line.add(clifo.get(CLI_CODCF));
|
||||
line.add(clifo.get(CLI_RAGSOC));
|
||||
line.add(clifo.get(CLI_SOSPESO));
|
||||
line.add(clifo.get(CLI_COFI));
|
||||
cli.add(line);
|
||||
clifo.next();
|
||||
}
|
||||
cli.select(n);
|
||||
if (cli.run()==K_ENTER)
|
||||
{
|
||||
line=cli.row(-1);
|
||||
f.set(line.get(0));
|
||||
f.mask().set(F_CFRAGSOC,line.get(1));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
const bool condition = (val == "LIT" || val.empty());
|
||||
m.enable(-1,!condition);
|
||||
TSheet_field& sf = (TSheet_field&)m.field(F_SHEET_RIGHE);
|
||||
if (condition){
|
||||
m.reset(-1);
|
||||
m.reset(F_TOTIMPVAL);
|
||||
int items = sf.items();
|
||||
for (int i= 0; i < items; i++){
|
||||
TToken_string& row = sf.row(i);
|
||||
row.add(" ", 2);
|
||||
row.add(" ", 3);
|
||||
}
|
||||
}
|
||||
sf.enable_column(F_IMPFATTVAL, !condition);
|
||||
sf.enable_column(F_IMPEFFVAL, !condition);
|
||||
sf.force_update();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Variazione_Effetti::effcomp_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (!f.mask().get(F_NRATA).empty())
|
||||
f.set("X");
|
||||
void TVariazione_effetti::calcola_totali()
|
||||
{
|
||||
TMask* m = app()._msk;
|
||||
TSheet_field& sf = (TSheet_field&)m->field(F_SHEET_RIGHE);
|
||||
int items = sf.items();
|
||||
real imp, impval, impeff, impeffval;
|
||||
for (int i = 0; i < items; i++)
|
||||
{
|
||||
TToken_string& row = sf.row(i);
|
||||
imp = row.get(1);
|
||||
impeff += imp;
|
||||
impval = row.get(3);
|
||||
impeffval += impval;
|
||||
}
|
||||
m->set(F_TOTIMP, impeff);
|
||||
m->set(F_TOTIMPVAL, impeffval);
|
||||
}
|
||||
|
||||
bool TVariazione_effetti::impeff_notify(TSheet_field& s, int r, KEY key)
|
||||
{
|
||||
if (s.to_check(key, TRUE)) calcola_totali();
|
||||
if (key == K_DEL && s.items()==1)
|
||||
{
|
||||
error_box("IMPOSSIBILE CANCELLARE: L'effetto deve contenere almeno una riga!");
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int ef0100(int argc, char* argv[])
|
||||
{
|
||||
Variazione_Effetti a ;
|
||||
a.run(argc, argv, "Gestione effetti");
|
||||
TVariazione_effetti a ;
|
||||
a.run(argc, argv, "Gestione Effetti");
|
||||
return 0;
|
||||
}
|
||||
|
75
ef/ef0100.h
75
ef/ef0100.h
@ -3,44 +3,53 @@
|
||||
|
||||
// campi maschera ef0100a.msk
|
||||
|
||||
#define F_NPROGTR 101
|
||||
#define F_CODCF 102
|
||||
#define F_NPROGTR 101
|
||||
#define F_CODCF 102
|
||||
#define F_CFRAGSOC 103
|
||||
#define F_TIPOPAG 104
|
||||
#define F_DATASCAD 105
|
||||
#define F_IMPORTO 106
|
||||
#define F_NFATT 107
|
||||
#define F_DATAFATT 108
|
||||
#define F_IMPFATT 109
|
||||
#define F_NRATA 110
|
||||
#define F_ULTRATA 111
|
||||
#define F_CODABI 112
|
||||
#define F_CODCAB 113
|
||||
#define F_DATAEMISS 114
|
||||
#define F_NUMEMISS 115
|
||||
#define F_IMPBOLLO 116
|
||||
#define F_EFFSTAMP 117
|
||||
#define F_SHEET_EFF 118
|
||||
#define F_TIPODIST 119
|
||||
#define F_DATADIST 121
|
||||
#define F_NDIST 122
|
||||
#define F_NRIGADIST 123
|
||||
#define F_DATASCAD 104
|
||||
#define F_TIPOPAG 105
|
||||
#define F_ULTCLASS 106
|
||||
#define F_CODVAL 107
|
||||
#define F_DATACAM 108
|
||||
#define F_CAMBIO 109
|
||||
#define F_ULTRATA 110
|
||||
#define F_SHEET_RIGHE 111
|
||||
#define F_TOTIMP 112
|
||||
#define F_TOTIMPVAL 113
|
||||
#define F_CODABI 114
|
||||
#define F_CODCAB 115
|
||||
#define F_CODABIP 116
|
||||
#define F_CODCABP 117
|
||||
#define F_DATAEMISS 118
|
||||
#define F_NUMEMISS 119
|
||||
#define F_EFFSTAMP 120
|
||||
#define F_TIPODIST 121
|
||||
#define F_NDIST 122
|
||||
#define F_DATADIST 123
|
||||
#define F_DISTSTAM 124
|
||||
#define F_CODABIP 125
|
||||
#define F_CODCABP 126
|
||||
#define F_EFFCONT 127
|
||||
#define F_CODFOR 128
|
||||
#define F_ULTCLASS 129
|
||||
#define F_DATARIBA 130
|
||||
#define F_DISRIBAEST 131
|
||||
#define F_EFFCOMP 132
|
||||
|
||||
|
||||
#define F_NRIGADIST 125
|
||||
#define F_DATARIBA 126
|
||||
#define F_DISRIBAEST 127
|
||||
#define F_EFFCONT 128
|
||||
#define F_EFFCOMP 129
|
||||
#define F_SHEET_EFF 130
|
||||
// Identificatori campi per lo spreadsheet "Obbligati principali"
|
||||
#define F_RAGSOC 101
|
||||
#define F_LOCALITA 102
|
||||
#define F_LOCALITA 102
|
||||
#define F_STATO 103
|
||||
#define F_COM 104
|
||||
#define F_COM 104
|
||||
#define F_DENCOM 105
|
||||
|
||||
// Identificatori campi per lo spreadsheet "Righe Effetto"
|
||||
#define F_IMPFATT 101
|
||||
#define F_IMPEFF 102
|
||||
#define F_IMPFATTVAL 103
|
||||
#define F_IMPEFFVAL 104
|
||||
#define F_ANNO 105
|
||||
#define F_NUMPART 106
|
||||
#define F_NUMRIGA 107
|
||||
#define F_NUMRATA 108
|
||||
#define F_NUMFATT 109
|
||||
#define F_DATAFATT 110
|
||||
|
||||
#endif // __EF0100_H
|
||||
|
376
ef/ef0100a.uml
376
ef/ef0100a.uml
@ -6,108 +6,77 @@ TOOLBAR "" 0 20 0 2
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Gestione Effetti" 0 -1 0 19
|
||||
PAGE "Gestione Effetti 1/3" 0 -1 0 19
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 0 "Dati effetto"
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
NUMBER F_NPROGTR 7
|
||||
BEGIN
|
||||
PROMPT 2 1 "Numero "
|
||||
PROMPT 2 2 "Numero "
|
||||
FIELD LF_EFFETTI->NPROGTR
|
||||
FLAGS "R"
|
||||
KEY 1
|
||||
USE LF_EFFETTI KEY 1
|
||||
JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF="C"
|
||||
INPUT NPROGTR F_NPROGTR
|
||||
DISPLAY "Nr. Progressivo" NPROGTR
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
DISPLAY "Codice cliente" CODCF
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
DISPLAY "Data fattura" DATAFATT
|
||||
DISPLAY "Numero fattura" NFATT
|
||||
DISPLAY "Importo fattura @R" IMPFATT
|
||||
DISPLAY "Importo effetto @R" IMPORTO
|
||||
DISPLAY "Tipo" TIPOPAG
|
||||
DISPLAY "Nr distinta" NDIST
|
||||
DISPLAY "Tipo distinta" TIPODIST
|
||||
DISPLAY "Nr. distinta" NDIST
|
||||
OUTPUT F_NPROGTR NPROGTR
|
||||
OUTPUT F_CODCF CODCF
|
||||
OUTPUT F_DATASCAD DATASCAD
|
||||
OUTPUT F_TIPOPAG TIPOPAG
|
||||
OUTPUT F_CFRAGSOC LF_CLIFO->RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Inserire il numero progressivo dell'effetto"
|
||||
END
|
||||
|
||||
NUMBER F_CODCF 6
|
||||
BEGIN
|
||||
PROMPT 2 2 "Cod. cliente "
|
||||
PROMPT 2 3 "Cod. cliente "
|
||||
FIELD LF_EFFETTI->CODCF
|
||||
KEY 2
|
||||
USE LF_EFFETTI KEY 2
|
||||
JOIN LF_CLIFO TO LF_EFFETTI KEY 1 INTO CODCF=CODCF TIPOCF="C"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CODCF
|
||||
INPUT NPROGTR F_NPROGTR
|
||||
DISPLAY "Ragione sociale@60" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
/*
|
||||
DISPLAY "Codice cliente" CODCF
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
DISPLAY "Data fattura" DATAFATT
|
||||
DISPLAY "Numero fattura" NFATT
|
||||
DISPLAY "Importo fattura @R" IMPFATT
|
||||
DISPLAY "Importo effetto @R" IMPORTO
|
||||
DISPLAY "Tipo" TIPOPAG
|
||||
DISPLAY "Nr distinta" NDIST
|
||||
DISPLAY "Tipo distinta" TIPODIST
|
||||
DISPLAY "Nr. distinta" NDIST
|
||||
COPY OUTPUT F_NPROGTR
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Inserire il codice del cliente. F8 ricerca cliente."
|
||||
END
|
||||
|
||||
STRING F_CFRAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 25 2 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_CFRAGSOC
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
*/
|
||||
OUTPUT F_CODCF CODCF
|
||||
OUTPUT F_CFRAGSOC RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST F_TIPOPAG 18
|
||||
STRING F_CFRAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 2 4 "Tipo effetto "
|
||||
FIELD LF_EFFETTI->TIPOPAG
|
||||
ITEM "2|Tratta"
|
||||
MESSAGE DISABLE,F_CODFOR|RESET,F_CODFOR
|
||||
ITEM "3|Ricevuta bancaria"
|
||||
MESSAGE DISABLE,F_CODFOR|UNDO,F_CODFOR
|
||||
ITEM "4|Cessione"
|
||||
MESSAGE ENABLE,F_CODFOR|UNDO,F_CODFOR
|
||||
ITEM "5|Paghero'"
|
||||
MESSAGE DISABLE,F_CODFOR|UNDO,F_CODFOR
|
||||
HELP "Inserire il tipo dell'effetto"
|
||||
END
|
||||
|
||||
STRING F_ULTCLASS 1
|
||||
BEGIN
|
||||
PROMPT 42 4 "Ulteriore classificazione "
|
||||
FIELD LF_EFFETTI->ULTCLASS
|
||||
USE %CLR
|
||||
INPUT CODTAB[1,1] F_TIPOPAG SELECT
|
||||
INPUT CODTAB[2,2] F_ULTCLASS
|
||||
DISPLAY "Classificazione" CODTAB[2,2]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ULTCLASS CODTAB[2,2]
|
||||
HELP "Inserire l'ulteriore classificazione dell'effetto"
|
||||
PROMPT 25 3 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
//JOIN LF_EFFETTI TO LF_CLIFO KEY 2 INTO CODCF==CODCF
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_CFRAGSOC
|
||||
DISPLAY "Ragione sociale@60" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
/*DISPLAY "Nr. progressivo" LF_EFFETTI->NPROGTR
|
||||
DISPLAY "Data scadenza" LF_EFFETTI->DATASCAD
|
||||
DISPLAY "Tipo distinta" LF_EFFETTI->TIPODIST
|
||||
DISPLAY "Nr. distinta" LF_EFFETTI->NDIST*/
|
||||
COPY OUTPUT F_CODCF
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
DATE F_DATASCAD
|
||||
BEGIN
|
||||
PROMPT 2 5 "Data scadenza "
|
||||
PROMPT 2 4 "Data scadenza "
|
||||
FIELD LF_EFFETTI->DATASCAD
|
||||
KEY 3
|
||||
USE LF_EFFETTI KEY 3
|
||||
@ -115,281 +84,308 @@ BEGIN
|
||||
INPUT DATASCAD F_DATASCAD
|
||||
INPUT NPROGTR F_NPROGTR
|
||||
DISPLAY "Data scadenza" DATASCAD
|
||||
DISPLAY "Nr progressivo" NPROGTR
|
||||
DISPLAY "Nr. progressivo" NPROGTR
|
||||
DISPLAY "Codice cliente" CODCF
|
||||
DISPLAY "Data fattura" DATAFATT
|
||||
DISPLAY "Numero fattura" NFATT
|
||||
DISPLAY "Importo fattura @R" IMPFATT
|
||||
DISPLAY "Importo effetto @R" IMPORTO
|
||||
DISPLAY "Tipo" TIPOPAG
|
||||
DISPLAY "Nr distinta" NDIST
|
||||
DISPLAY "Tipo pag." TIPOPAG
|
||||
DISPLAY "Nr. distinta" NDIST
|
||||
DISPLAY "Tipo distinta" TIPODIST
|
||||
COPY OUTPUT F_NPROGTR
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Inserire la data di scadenza dell'effetto"
|
||||
END
|
||||
|
||||
NUMBER F_IMPORTO 15
|
||||
LIST F_TIPOPAG 24
|
||||
BEGIN
|
||||
PROMPT 42 5 "Importo effetto "
|
||||
FIELD LF_EFFETTI->IMPORTO
|
||||
PROMPT 2 6 "Tipo pagamento "
|
||||
FIELD LF_EFFETTI->TIPOPAG
|
||||
ITEM "2|Tratta"
|
||||
ITEM "3|Ricevuta Bancaria"
|
||||
ITEM "4|Cessione"
|
||||
ITEM "5|Paghero'"
|
||||
ITEM "6|Lettera di credito"
|
||||
ITEM "7|Tratta accettata"
|
||||
ITEM "8|Rapporti interb. diretti"
|
||||
ITEM "9|Bonifici"
|
||||
END
|
||||
|
||||
STRING F_ULTCLASS 1
|
||||
BEGIN
|
||||
PROMPT 46 6 "Ulteriore classificazione "
|
||||
FIELD LF_EFFETTI->ULTCLASS
|
||||
USE %CLR
|
||||
INPUT CODTAB[1,1] F_TIPOPAG SELECT
|
||||
INPUT CODTAB[2,2] F_ULTCLASS
|
||||
DISPLAY "Classificazione" CODTAB[2,2]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ULTCLASS CODTAB[2,2]
|
||||
END
|
||||
|
||||
STRING F_CODVAL 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice valuta "
|
||||
FIELD LF_EFFETTI->CODVAL
|
||||
FLAGS "UZ"
|
||||
USE %VAL
|
||||
INPUT CODTAB F_CODVAL
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Nome@50" S0
|
||||
OUTPUT F_CODVAL CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
DATA F_DATACAM
|
||||
BEGIN
|
||||
PROMPT 46 7 "Data cambio "
|
||||
FIELD LF_EFFETTI->DATACAMBIO
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
HELP "Inserire l'importo dell'effetto"
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
WARNING "Manca l'importo dell'effetto"
|
||||
USE CAM
|
||||
INPUT CODTAB[1,3] F_CODVAL SELECT
|
||||
INPUT CODTAB[4,11] F_DATACAM
|
||||
DISPLAY "Valuta@9" CODTAB[1,3]
|
||||
DISPLAY "Data@12" D0
|
||||
DISPLAY "Cambio@19" R10
|
||||
OUTPUT F_DATACAM D0
|
||||
OUTPUT F_CAMBIO R10
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_NFATT 7
|
||||
BEGIN
|
||||
PROMPT 2 7 "Nr. fattura "
|
||||
FIELD LF_EFFETTI->NFATT
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
HELP "Inserire il numero della fattura"
|
||||
WARNING "Manca il numero della fattura"
|
||||
END
|
||||
|
||||
DATE F_DATAFATT
|
||||
BEGIN
|
||||
PROMPT 2 8 "Data fattura "
|
||||
FIELD LF_EFFETTI->DATAFATT
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
HELP "Inserire la data della fattura"
|
||||
WARNING "Manca la data della fattura"
|
||||
END
|
||||
|
||||
NUMBER F_IMPFATT 15
|
||||
BEGIN
|
||||
PROMPT 42 8 "Importo fattura "
|
||||
FIELD LF_EFFETTI->IMPFATT
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
NUM_EXPR {#THIS_FIELD>=#F_IMPORTO}
|
||||
HELP "Inserire l'importo della fattura"
|
||||
WARNING "L'importo dell'effetto deve essere contenuto nell'importo di fattura"
|
||||
END
|
||||
|
||||
NUMBER F_NRATA 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Nr. rata "
|
||||
FIELD LF_EFFETTI->NRATA
|
||||
HELP "Inserire il numero della rata"
|
||||
NUMBER F_CAMBIO 15 5
|
||||
BEGIN
|
||||
PROMPT 2 8 "Cambio "
|
||||
FIELD LF_EFFETTI->CAMBIO
|
||||
FLAGS "RU"
|
||||
PICTURE ".5"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "E' stata specificata una valuta senza il cambio relativo"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_ULTRATA
|
||||
BEGIN
|
||||
PROMPT 42 9 "Ultima rata"
|
||||
PROMPT 46 8 "Ultima rata"
|
||||
FIELD LF_EFFETTI->ULTRATA
|
||||
HELP "Inserire se e' l'ultima rata relativa alla fattura"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 38 4
|
||||
SPREADSHEET F_SHEET_RIGHE 76 7
|
||||
BEGIN
|
||||
PROMPT 1 10 "Banca d'appoggio"
|
||||
PROMPT 2 10 "RIGHE EFFETTO"
|
||||
ITEM "Importo fatt.@18"
|
||||
ITEM "Importo effet.@18"
|
||||
ITEM "Imp.fatt.val.@18"
|
||||
ITEM "Imp.effet.val.@18"
|
||||
ITEM "Anno partita"
|
||||
ITEM "Nr. partita"
|
||||
ITEM "Nr. riga"
|
||||
ITEM "Nr. rata"
|
||||
ITEM "Nr. fattura"
|
||||
ITEM "Data fattura"
|
||||
END
|
||||
|
||||
NUMBER F_TOTIMP 18 2
|
||||
BEGIN
|
||||
PROMPT 2 18 "Totale importi "
|
||||
FLAG "D"
|
||||
END
|
||||
|
||||
NUMBER F_TOTIMPVAL 18 3
|
||||
BEGIN
|
||||
PROMPT 2 19 "Totale importi in valuta "
|
||||
FLAG "D"
|
||||
//GROUP 1
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Gestione Effetti 2/3" 0 -1 0 19
|
||||
|
||||
GROUPBOX DLG_NULL 38 4
|
||||
BEGIN
|
||||
PROMPT 1 1 "BANCA D'APPOGGIO"
|
||||
END
|
||||
|
||||
NUMBER F_CODABI 5
|
||||
BEGIN
|
||||
PROMPT 2 11 "Codice ABI "
|
||||
PROMPT 2 2 "Codice ABI "
|
||||
FIELD LF_EFFETTI->CODABI
|
||||
FLAGS "RZ"
|
||||
USE %BAN KEY 1 SELECT CODTAB ?="?????"
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "?????"
|
||||
INPUT CODTAB F_CODABI
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABI CODTAB[1,5]
|
||||
OUTPUT F_CODCAB CODTAB[6,10]
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Inserire il codice ABI della banca d'appoggio"
|
||||
WARNING "Codice ABI assente"
|
||||
END
|
||||
|
||||
NUMBER F_CODCAB 5
|
||||
BEGIN
|
||||
PROMPT 2 12 "Codice CAB "
|
||||
PROMPT 2 3 "Codice CAB "
|
||||
FIELD LF_EFFETTI->CODCAB
|
||||
FLAGS "RZ"
|
||||
USE %BAN
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "??????????"
|
||||
INPUT CODTAB[1,5] F_CODABI
|
||||
INPUT CODTAB[6,10] F_CODCAB
|
||||
COPY DISPLAY F_CODABI
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABI CODTAB[1,5]
|
||||
OUTPUT F_CODCAB CODTAB[6,10]
|
||||
CHECKTYPE REQUIRED
|
||||
HELP "Inserire il codice CAB della banca d'appoggio"
|
||||
VALIDATE REQIF_FUNC 1 F_CODCABP
|
||||
WARNING "Banca assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 38 4
|
||||
BEGIN
|
||||
PROMPT 41 10 "Banca di presentazione"
|
||||
PROMPT 41 1 "BANCA DI PRESENTAZIONE"
|
||||
END
|
||||
|
||||
NUMBER F_CODABIP 5
|
||||
BEGIN
|
||||
PROMPT 42 11 "Codice ABI "
|
||||
PROMPT 42 2 "Codice ABI "
|
||||
FIELD LF_EFFETTI->CODABIP
|
||||
FLAGS "RZ"
|
||||
USE %BAN KEY 1 SELECT CODTAB ?="?????"
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "?????"
|
||||
INPUT CODTAB F_CODABIP
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABIP CODTAB[1,5]
|
||||
OUTPUT F_CODCABP CODTAB[6,10]
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Inserire il codice ABI della banca di presentazione effetti"
|
||||
WARNING "Codice ABI assente"
|
||||
END
|
||||
|
||||
NUMBER F_CODCABP 5
|
||||
BEGIN
|
||||
PROMPT 42 12 "Codice CAB "
|
||||
PROMPT 42 3 "Codice CAB "
|
||||
FIELD LF_EFFETTI->CODCABP
|
||||
FLAGS "RZ"
|
||||
USE %BAN
|
||||
USE %BAN KEY 1 SELECT CODTAB ?= "??????????"
|
||||
INPUT CODTAB[1,5] F_CODABIP
|
||||
INPUT CODTAB[6,10] F_CODCABP
|
||||
COPY DISPLAY F_CODABIP
|
||||
DISPLAY "Codice ABI" CODTAB[1,5]
|
||||
DISPLAY "Codice CAB" CODTAB[6,10]
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT F_CODABIP CODTAB[1,5]
|
||||
OUTPUT F_CODCABP CODTAB[6,10]
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Inserire il codice CAB della banca di presentazione effetti"
|
||||
CHECKTYPE NORMAL
|
||||
VALIDATE REQIF_FUNC 1 F_CODCABP
|
||||
WARNING "Banca assente"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 1 14 "Dati stampa"
|
||||
PROMPT 1 5 ""
|
||||
END
|
||||
|
||||
DATE F_DATAEMISS
|
||||
BEGIN
|
||||
PROMPT 2 15 "Data di emissione "
|
||||
PROMPT 2 6 "Data di emissione "
|
||||
FIELD LF_EFFETTI->DATAEMISS
|
||||
END
|
||||
|
||||
NUMBER F_NUMEMISS 8
|
||||
BEGIN
|
||||
PROMPT 48 15 "Nr. di emissione "
|
||||
PROMPT 42 6 "Nr. di emissione "
|
||||
FIELD LF_EFFETTI->NUMEMISS
|
||||
END
|
||||
|
||||
NUMBER F_IMPBOLLO 15
|
||||
BEGIN
|
||||
PROMPT 2 16 "Importo bollo "
|
||||
FIELD LF_EFFETTI->IMPBOLLO
|
||||
FLAGS "R"
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFSTAMP
|
||||
BEGIN
|
||||
PROMPT 48 16 "Effetto stampato"
|
||||
PROMPT 2 7 "Effetto stampato"
|
||||
FIELD LF_EFFETTI->EFFSTAMP
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Pag. 2" 0 -1 0 19
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
GROUPBOX DLG_NULL 78 5
|
||||
BEGIN
|
||||
PROMPT 1 0 "Dati distinta"
|
||||
PROMPT 1 9 ""
|
||||
END
|
||||
|
||||
LIST F_TIPODIST 15
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo distinta "
|
||||
PROMPT 2 10 "Tipo distinta "
|
||||
FIELD LF_EFFETTI->TIPODIST
|
||||
ITEM " |** Nessuno **"
|
||||
MESSAGE DISABLE,2@|RESET,2@
|
||||
ITEM "I|All'incasso"
|
||||
MESSAGE ENABLE,2@|UNDO,2@
|
||||
MESSAGE ENABLE,2@
|
||||
ITEM "B|Salvo buon fine"
|
||||
MESSAGE ENABLE,2@|UNDO,2@
|
||||
MESSAGE ENABLE,2@
|
||||
ITEM "S|Allo sconto"
|
||||
MESSAGE ENABLE,2@|UNDO,2@
|
||||
HELP "Inserire il tipo di distinta"
|
||||
MESSAGE ENABLE,2@
|
||||
END
|
||||
|
||||
NUMBER F_NDIST 8
|
||||
BEGIN
|
||||
PROMPT 53 1 "Nr Distinta "
|
||||
PROMPT 52 10 "Nr. distinta "
|
||||
FIELD LF_EFFETTI->NDIST
|
||||
FLAGS "D"
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
HELP "Inserire il numero della distinta"
|
||||
WARNING "Numero di distinta obbligatorio se si e' inserito il tipo di distinta"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
DATE F_DATADIST
|
||||
BEGIN
|
||||
PROMPT 2 2 "Data distinta "
|
||||
PROMPT 2 11 "Data distinta "
|
||||
FIELD LF_EFFETTI->DATADIST
|
||||
FLAGS "D"
|
||||
HELP "Inserire la data della distinta"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN F_DISTSTAM
|
||||
BEGIN
|
||||
PROMPT 36 2 "Stampata"
|
||||
PROMPT 2 12 "Distinta stampata"
|
||||
FIELD LF_EFFETTI->DISTSTAM
|
||||
FLAGS "D"
|
||||
HELP "Inserire se la distinta e' stato stampata"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER F_NRIGADIST 6
|
||||
BEGIN
|
||||
PROMPT 53 2 "Nr di riga "
|
||||
PROMPT 52 12 "Nr. di riga "
|
||||
FIELD LF_EFFETTI->NRIGADIST
|
||||
FLAGS "D"
|
||||
HELP "Inserire il numero di riga della distinta"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "Dati Ri.Ba."
|
||||
PROMPT 1 14 ""
|
||||
END
|
||||
|
||||
DATE F_DATARIBA
|
||||
BEGIN
|
||||
PROMPT 2 5 "Data Ri.Ba. "
|
||||
PROMPT 2 15 "Data Ri.Ba. "
|
||||
FIELD LF_EFFETTI->DATARIBA
|
||||
HELP "Inserire la data della Ricevuta Bancaria"
|
||||
END
|
||||
|
||||
BOOLEAN F_DISRIBAEST
|
||||
BEGIN
|
||||
PROMPT 49 5 "Distinta Ri.Ba. estratta"
|
||||
PROMPT 52 15 "Distinta Ri.Ba. estratta"
|
||||
FIELD LF_EFFETTI->DISRIBAEST
|
||||
END
|
||||
|
||||
NUMBER F_CODFOR 6
|
||||
BEGIN
|
||||
PROMPT 2 7 "Cod. fornitore "
|
||||
FIELD LF_EFFETTI->CODFOR
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_CODFOR
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
OUTPUT F_CODFOR CODCF
|
||||
CHECKTYPE NORMAL
|
||||
HELP "Inserire il codice del fornitore relativo alla cessione"
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFCONT
|
||||
BEGIN
|
||||
PROMPT 49 7 "Effetto contabilizzato"
|
||||
PROMPT 2 17 "Effetto contabilizzato"
|
||||
FIELD LF_EFFETTI->EFFCONT
|
||||
HELP "Inserire se l'effetto e' contabilizzato"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEET_EFF 76 4
|
||||
BOOLEAN F_EFFCOMP
|
||||
BEGIN
|
||||
PROMPT 2 10 "Obbligati principali"
|
||||
PROMPT 52 17 "Effetto completato"
|
||||
FIELD LF_EFFETTI->EFFCOMP
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Gestione Effetti 3/3" 0 -1 0 19
|
||||
|
||||
SPREADSHEET F_SHEET_EFF 76 8
|
||||
BEGIN
|
||||
PROMPT 2 1 "OBBLIGATI PRINCIPALI"
|
||||
ITEM "Ragione Sociale@50"
|
||||
ITEM "Localita'@35"
|
||||
ITEM "Stato"
|
||||
@ -397,14 +393,10 @@ BEGIN
|
||||
ITEM "Comune@50"
|
||||
END
|
||||
|
||||
BOOLEAN F_EFFCOMP
|
||||
BEGIN
|
||||
PROMPT 2 15 "Effetto compilato"
|
||||
FIELD LF_EFFETTI->EFFCOMP
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
||||
#include "ef0100c.uml"
|
||||
#include "ef0100b.uml"
|
||||
|
||||
|
@ -4,76 +4,76 @@ PAGE "Obbligati principali" -1 -1 76 12
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Rag. sociale "
|
||||
HELP "Inserire la ragione sociale dell'obbligato"
|
||||
PROMPT 2 2 "Rag. sociale "
|
||||
HELP "Inserire la ragione sociale dell'obbligato"
|
||||
END
|
||||
|
||||
STRING F_LOCALITA 35
|
||||
BEGIN
|
||||
PROMPT 2 4 "Localita "
|
||||
HELP "Inserire la localita dell'obbligato"
|
||||
PROMPT 2 4 "Localita' "
|
||||
HELP "Inserire la localita dell'obbligato"
|
||||
END
|
||||
|
||||
NUMBER F_STATO 3
|
||||
BEGIN
|
||||
PROMPT 60 4 "Stato "
|
||||
FLAGS "RZ"
|
||||
USE %STA
|
||||
INPUT CODTAB F_STATO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Stato@50" S0
|
||||
OUTPUT F_STATO CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Stato assente"
|
||||
HELP "Inserire lo stato in cui risiede l'obbligato"
|
||||
PROMPT 60 4 "Stato "
|
||||
FLAGS "RZ"
|
||||
USE %STA
|
||||
INPUT CODTAB F_STATO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Stato@50" S0
|
||||
OUTPUT F_STATO CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Stato assente"
|
||||
HELP "Inserire lo stato in cui risiede l'obbligato"
|
||||
END
|
||||
|
||||
STRING F_COM 4
|
||||
BEGIN
|
||||
PROMPT 2 6 "Comune "
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO F_STATO
|
||||
INPUT COM F_COM
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Codice" COM
|
||||
DISPLAY "Comune@50" DENCOM
|
||||
OUTPUT F_STATO STATO
|
||||
OUTPUT F_COM COM
|
||||
OUTPUT F_DENCOM DENCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
HELP "Inserire il comune in cui risiede l'obbligato"
|
||||
ADD MASK ba4100a
|
||||
PROMPT 2 6 "Comune "
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO F_STATO
|
||||
INPUT COM F_COM
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Codice" COM
|
||||
DISPLAY "Comune@50" DENCOM
|
||||
OUTPUT F_STATO STATO
|
||||
OUTPUT F_COM COM
|
||||
OUTPUT F_DENCOM DENCOM
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Comune assente"
|
||||
HELP "Inserire il comune in cui risiede l'obbligato"
|
||||
ADD MASK ba4100a
|
||||
END
|
||||
|
||||
STRING F_DENCOM 50
|
||||
BEGIN
|
||||
PROMPT 24 6 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOM
|
||||
DISPLAY "Comune @50" DENCOM
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Codice" COM
|
||||
COPY OUTPUT F_COM
|
||||
CHECKTYPE NORMAL
|
||||
ADD MASK ba4100a
|
||||
PROMPT 24 6 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOM
|
||||
DISPLAY "Comune @50" DENCOM
|
||||
DISPLAY "Stato" STATO
|
||||
DISPLAY "Codice" COM
|
||||
COPY OUTPUT F_COM
|
||||
CHECKTYPE NORMAL
|
||||
ADD MASK ba4100a
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 9 2
|
||||
BEGIN
|
||||
PROMPT -13 -1 ""
|
||||
PROMPT -13 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 9 2
|
||||
BEGIN
|
||||
PROMPT -23 -1 ""
|
||||
PROMPT -23 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_DELREC 9 2
|
||||
BEGIN
|
||||
PROMPT -33 -1 "Elimina"
|
||||
MESSAGE EXIT, K_DEL
|
||||
PROMPT -33 -1 "Elimina"
|
||||
MESSAGE EXIT, K_DEL
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
237
ef/ef0101.cpp
237
ef/ef0101.cpp
@ -1,121 +1,186 @@
|
||||
#include "effetti.h"
|
||||
#include "effetti.h"
|
||||
#include "reffetti.h"
|
||||
#include "cession.h"
|
||||
#include "ef0101.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
TEffObb::TEffObb():TRelation(LF_EFFETTI), _oldobbligati(0)
|
||||
//////// Riga Effetto
|
||||
/////////////////////////////////////////////////////////////
|
||||
TRiga_effetto::TRiga_effetto(TEffetto* eff)
|
||||
: TRectype(LF_REFFETTI), _eff(eff)
|
||||
{
|
||||
add(LF_CESS,"NPROGTR=NPROGTR");
|
||||
}
|
||||
|
||||
void TEffObb::destroy_rows()
|
||||
TRiga_effetto::TRiga_effetto(const TRiga_effetto& rec, TEffetto* eff)
|
||||
: TRectype(rec), _eff(eff)
|
||||
{
|
||||
_obbligati.destroy();
|
||||
}
|
||||
|
||||
TRectype& TEffObb::obbligato(int i)
|
||||
{
|
||||
TRectype *r=(TRectype*)_obbligati.objptr(i);
|
||||
/////////////////////////////////////////////////////////////
|
||||
////////// Effetto
|
||||
/////////////////////////////////////////////////////////////
|
||||
TEffetto::TEffetto()
|
||||
: TRectype(LF_EFFETTI), _righe(LF_REFFETTI, "NRIGATR"), _cess(LF_CESS, "NRIGA")
|
||||
{
|
||||
}
|
||||
|
||||
if (r == NULL)
|
||||
TEffetto::TEffetto(TRectype& rec)
|
||||
: TRectype(LF_EFFETTI), _righe(LF_REFFETTI, "NRIGATR"), _cess(LF_CESS, "NRIGA")
|
||||
{
|
||||
read(rec);
|
||||
}
|
||||
|
||||
void TEffetto::set_key(TRectype& rec, long numeff) const
|
||||
{
|
||||
CHECKD(numeff >= 0, "Numero effetto non valido ", numeff);
|
||||
rec.put("NPROGTR",numeff);
|
||||
}
|
||||
|
||||
void TEffetto::set_key4(TRectype& rec,char tipodist, long ndist, long nrigadist)
|
||||
{
|
||||
CHECK(tipodist == 'I' || tipodist == 'S' || tipodist == 'B', "Tipo distinta");
|
||||
CHECKD(ndist >= 0, "Numero distinta non valido ", ndist);
|
||||
CHECKD(nrigadist >= 0, "Numero riga distinta non valido ", nrigadist);
|
||||
|
||||
rec.put("TIPODIST", tipodist);
|
||||
rec.put("NDIST", ndist);
|
||||
rec.put("NRIGADIST", nrigadist);
|
||||
}
|
||||
|
||||
long TEffetto::get_next_key(const long codcf) const
|
||||
{
|
||||
static long n = 0;
|
||||
if (n == 0)
|
||||
{
|
||||
r = new TRectype(LF_CESS);
|
||||
_obbligati.add(r,i);
|
||||
}
|
||||
return *r;
|
||||
TLocalisamfile eff(LF_EFFETTI);
|
||||
TRectype& curr = eff.curr();
|
||||
set_key(curr, 9999999L);
|
||||
|
||||
const int err = eff.read(_isgreat);
|
||||
|
||||
if (err != _isemptyfile)
|
||||
{
|
||||
if (err == NOERR)
|
||||
eff.prev();
|
||||
if (curr.get_long("CODCF")==codcf)
|
||||
n = curr.get_long("NPROGTR");
|
||||
}
|
||||
}
|
||||
n++;
|
||||
return n;
|
||||
}
|
||||
|
||||
int TEffObb::read_obbligati()
|
||||
long TEffetto::renum(long numeff)
|
||||
{
|
||||
const TLocalisamfile& robb = lfile(LF_CESS);
|
||||
if (numeff <= 0)
|
||||
{
|
||||
long codcf = codicec();
|
||||
numeff = get_next_key(codcf);
|
||||
}
|
||||
char num[7]; sprintf(num, "%ld", numeff);
|
||||
renum_key("NPROGTR", num); // aggiorna testata
|
||||
_righe.renum_key("NPROGTR", num); // aggiorna righe ok
|
||||
_cess.renum_key("NPROGTR", num); // aggiorna cessionari ok
|
||||
return numeff;
|
||||
}
|
||||
|
||||
position_rels();
|
||||
destroy_rows();
|
||||
for (bool ok=is_first_match(LF_CESS);ok;ok=next_match(LF_CESS))
|
||||
int TEffetto::read(const TRectype& rec)
|
||||
{
|
||||
head() = rec;
|
||||
TRectype *k_reff = new TRectype(LF_REFFETTI), *k_cess= new TRectype(LF_CESS);
|
||||
const long nu = numero();
|
||||
CHECK(nu > 0, "Numero effetto nullo.");
|
||||
set_key(*k_reff, nu);
|
||||
set_key(*k_cess, nu);
|
||||
|
||||
TLocalisamfile eff(LF_EFFETTI);
|
||||
int err = TRectype::read(eff);
|
||||
if (err == NOERR)
|
||||
{
|
||||
const int nriga=robb.get_int(CES_NRIGA) -1;
|
||||
obbligato(nriga)=robb.curr();
|
||||
_righe.read(k_reff);
|
||||
_cess.read(k_cess);
|
||||
}
|
||||
else
|
||||
{
|
||||
head() = rec;
|
||||
destroy_rows_r();
|
||||
destroy_rows_c();
|
||||
_cess.set_key(k_cess);
|
||||
_righe.set_key(k_reff);
|
||||
}
|
||||
_oldobbligati=obbligati_items();
|
||||
return NOERR;
|
||||
}
|
||||
|
||||
int TEffObb::read(TIsamop op, TReclock lockop, TDate& atdate)
|
||||
{
|
||||
int err=file().read(op,lockop,atdate);
|
||||
if (err==NOERR) read_obbligati();
|
||||
return err;
|
||||
}
|
||||
|
||||
int TEffObb::write_rec(bool re, const TRectype& rec, TLocalisamfile& f)
|
||||
{
|
||||
if (re)
|
||||
{
|
||||
const bool scrivi= (f.rewrite(rec)!=NOERR);
|
||||
if (scrivi) f.write(rec);
|
||||
} else
|
||||
f.write(rec);
|
||||
return f.status();
|
||||
int TEffetto::read(char tipodist, long ndist, long nrigadist)
|
||||
{
|
||||
TRectype rec(LF_EFFETTI);
|
||||
set_key4(rec, tipodist,ndist, nrigadist);
|
||||
return read(rec);
|
||||
}
|
||||
|
||||
int TEffObb::cancella(TLocalisamfile& f, int da, int a)
|
||||
{
|
||||
const long nprogtr=lfile().get_long(EFF_NPROGTR);
|
||||
int TEffetto::write(bool force)
|
||||
{
|
||||
const bool nuovo = numero() <= 0; // E' nuovo di zecca!
|
||||
if (nuovo && force) // quindi ...
|
||||
force = FALSE; // ... non fare la rewrite
|
||||
|
||||
for (int i=da; i<=a;i++)
|
||||
TLocalisamfile eff(LF_EFFETTI);
|
||||
int err = NOERR;
|
||||
if (force)
|
||||
{
|
||||
f.zero();
|
||||
f.put(CES_NPROGTR,nprogtr);
|
||||
f.put(CES_NRIGA,i);
|
||||
if (f.read(_isequal,_lock)==NOERR)
|
||||
f.remove();
|
||||
if ((err=_righe.write(force)) == NOERR) err = _cess.write(force);
|
||||
if (err == NOERR)
|
||||
{
|
||||
err = TRectype::rewrite(eff);
|
||||
if (err != NOERR)
|
||||
err = TRectype::write(eff);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (nuovo)
|
||||
{
|
||||
TEffetto& myself = *(TEffetto*)this;
|
||||
if (numero() <= 0)
|
||||
myself.renum();
|
||||
do
|
||||
{
|
||||
err = TRectype::write(eff);
|
||||
if (err == _isreinsert)
|
||||
myself.renum();
|
||||
} while (err == _isreinsert);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = TRectype::write(eff);
|
||||
if (err != NOERR)
|
||||
err = TRectype::rewrite(eff);
|
||||
}
|
||||
if (err == NOERR)
|
||||
if ((err=_righe.write(force)) == NOERR) err= _cess.write(force);
|
||||
}
|
||||
return f.status();
|
||||
return err;
|
||||
}
|
||||
|
||||
int TEffObb::registra(bool re, bool force)
|
||||
{
|
||||
TLocalisamfile& c=lfile(LF_EFFETTI);
|
||||
int err=write_rec(re,c.curr(),c);
|
||||
if (err!=NOERR) return err;
|
||||
|
||||
TLocalisamfile& robb=lfile(LF_CESS);
|
||||
const long nprogtr=c.get_long(CES_NPROGTR);
|
||||
|
||||
for (int i=0; i<obbligati_items(); i++)
|
||||
{
|
||||
if (!re)
|
||||
obbligato(i).put(CES_NPROGTR,nprogtr);
|
||||
err=write_rec(TRUE,obbligato(i),robb);
|
||||
}
|
||||
if (i<_oldobbligati)
|
||||
cancella(robb,i+1,_oldobbligati);
|
||||
_oldobbligati=obbligati_items();
|
||||
return err;
|
||||
int TEffetto::remove()const
|
||||
{
|
||||
TLocalisamfile eff(LF_EFFETTI);
|
||||
int err;
|
||||
if ((err=_righe.remove()) == NOERR) err= _cess.remove();
|
||||
if (err == NOERR)
|
||||
err = TRectype::remove(eff);
|
||||
return err;
|
||||
}
|
||||
|
||||
int TEffObb::write(bool force, TDate&)
|
||||
{
|
||||
_oldobbligati=0;
|
||||
return registra(FALSE,force);
|
||||
}
|
||||
|
||||
int TEffObb::rewrite(bool force, TDate&)
|
||||
{
|
||||
return registra(TRUE,force);
|
||||
}
|
||||
|
||||
int TEffObb::remove(TDate&)
|
||||
{
|
||||
TLocalisamfile& c=lfile(LF_EFFETTI);
|
||||
|
||||
c.remove();
|
||||
|
||||
TLocalisamfile& robb=lfile(LF_CESS);
|
||||
cancella(robb,1,_oldobbligati);
|
||||
_oldobbligati=0;
|
||||
|
||||
return c.status();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
112
ef/ef0101.h
112
ef/ef0101.h
@ -2,37 +2,91 @@
|
||||
#include <relation.h>
|
||||
#endif
|
||||
|
||||
class TEffetto;
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// classe per gestire le righe di un effetto
|
||||
////////////////////////////////////////////////
|
||||
|
||||
class TEffObb:public TRelation
|
||||
class TRiga_effetto : public TRectype
|
||||
{
|
||||
// @DPRIV
|
||||
TArray _obbligati;
|
||||
int _oldobbligati;
|
||||
// @END
|
||||
TEffetto * _eff;
|
||||
protected:
|
||||
// @FPROT
|
||||
int write_rec(bool re, const TRectype& r, TLocalisamfile& f);
|
||||
int cancella(TLocalisamfile& f, int da, int a);
|
||||
int registra(bool re, bool force);
|
||||
int read_obbligati();
|
||||
// @END
|
||||
public:
|
||||
virtual int next(TReclock lockop=_nolock) {return (lfile().next(lockop) || read_obbligati());}
|
||||
virtual int prev(TReclock lockop=_nolock) {return (lfile().prev(lockop) || read_obbligati());}
|
||||
virtual int first(TReclock lockop=_nolock) {return (lfile().first(lockop) || read_obbligati());}
|
||||
virtual int last(TReclock lockop=_nolock) {return (lfile().last(lockop) || read_obbligati());}
|
||||
virtual int skip(TReclock lockop=_nolock) {return (lfile().skip(lockop) || read_obbligati());}
|
||||
virtual int read(TIsamop = _isgteq, TReclock lockop = _nolock, TDate& atdate = (TDate&) botime);
|
||||
virtual int write(bool force=TRUE, TDate& atdate = (TDate&) botime);
|
||||
virtual int rewrite(bool force=TRUE, TDate& atdate = (TDate&) botime);
|
||||
virtual int remove(TDate& atdate = (TDate&) botime);
|
||||
|
||||
TRectype& obbligato(int i);
|
||||
int obbligati_items() const {return _obbligati.items();}
|
||||
void destroy_rows();
|
||||
|
||||
TEffObb();
|
||||
virtual ~TEffObb() {}
|
||||
TObject* dup() const // duplica l'oggetto corrente
|
||||
{ return new TRiga_effetto(*this); }
|
||||
public:
|
||||
int numeror() const // restituisce il numero della riga
|
||||
{ return get_int("NRIGATR");}
|
||||
void set_numeror(int numero) // setta il valore del numero di riga con quello passato
|
||||
{ put("NRIGATR", numero);}
|
||||
void set_eff(TEffetto * eff) // setta l'effetto con quello passato
|
||||
{ _eff = eff; }
|
||||
const TEffetto & eff() const
|
||||
{ CHECK(_eff, "Effetto nullo"); return *_eff;}
|
||||
TRiga_effetto(TEffetto* eff);
|
||||
TRiga_effetto(const TRiga_effetto& rec, TEffetto* eff);
|
||||
virtual ~TRiga_effetto() {}
|
||||
};
|
||||
|
||||
/////////////////////////////////////////////////
|
||||
// classe per gestire gli effetti
|
||||
////////////////////////////////////////////////
|
||||
class TEffetto:public TRectype
|
||||
{
|
||||
TRecord_array _righe,_cess;
|
||||
protected:
|
||||
|
||||
long get_next_key(const long codcf) const; // ritorna la prossima chiave
|
||||
|
||||
public:
|
||||
long renum(long numeff = 0); // rinumera le chiavi
|
||||
|
||||
const TRectype& head() const
|
||||
{ return *this; } // Ritorna la testata dell'effetto
|
||||
TRectype& head()
|
||||
{ return *this; }
|
||||
|
||||
TRecord_array& righe() {return _righe;}
|
||||
TRecord_array& cess() {return _cess;}
|
||||
TRectype& row_c(int i, bool create=FALSE)
|
||||
{ return _cess.row(i,create); } // ritorna la riga i dei cessionari
|
||||
TRectype& row_r(int i, bool create=FALSE)
|
||||
{ return _righe.row(i,create); } // ritorna la riga i delle righe
|
||||
|
||||
int rows_r() const // ritorna il numero delle righe presenti
|
||||
{ return _righe.rows(); } // nelle righe effetto
|
||||
int rows_c() const // ritorna il numero delle righe presenti
|
||||
{ return _cess.rows(); } // nei cessionari
|
||||
|
||||
bool destroy_row_r(int n, bool pack = FALSE) // elimina l'elemento riga nella posizione n
|
||||
{ return _righe.destroy_row(n, pack); } // nelle righe effetto
|
||||
void destroy_rows_r() // elimina tutti gli elementi riga
|
||||
{ _righe.destroy_rows(); } // nelle righe effetto
|
||||
|
||||
bool destroy_row_c(int n, bool pack = FALSE) // elimina l'elemento riga nella posizione n
|
||||
{ return _cess.destroy_row(n, pack); } // nei cessionari
|
||||
void destroy_rows_c() // elimina tutti gli elementi riga
|
||||
{ _cess.destroy_rows(); } // nei cessionari
|
||||
int read(const TRectype& rec);
|
||||
int read(char tipodist, long ndist, long nrigadist);
|
||||
int write(bool force=FALSE);
|
||||
int rewrite()
|
||||
{ return write(TRUE); }
|
||||
int remove()const;
|
||||
long numero() const // metodi per ritornare i campi chiave
|
||||
{ return get_long("NPROGTR"); } // del file EFFETTI
|
||||
long codicec() const
|
||||
{ return get_long("CODCF"); }
|
||||
TDate datasc() const
|
||||
{ return get_date("DATASCAD"); }
|
||||
char tipodist() const
|
||||
{ return get_char("TIPODIST"); }
|
||||
long ndist() const
|
||||
{ return get_long("NDIST"); }
|
||||
long nrgdist() const
|
||||
{ return get_long("NRIGADIST"); }
|
||||
void set_key4(TRectype& rec,char tipodist, long ndist, long nrigadist); //setta i campi per la quarta chiave del file
|
||||
void set_key(TRectype& rec,long numeff) const; //setta i campi per la chiave
|
||||
TEffetto();
|
||||
TEffetto(TRectype& rec);
|
||||
virtual ~TEffetto() {}
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user