Modificato MainApp in main_app e aggiornati i vari TRelation::lfile()
git-svn-id: svn://10.65.10.50/trunk@273 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
c71c0a1884
commit
53a4d0abbf
@ -29,7 +29,7 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
|
|
||||||
int len = curr.length(n);
|
int len = curr.length(n);
|
||||||
if (curr.type(n) == _datefld) len = 10;
|
if (curr.type(n) == _datefld) len = 10;
|
||||||
if (len > strlen(n)) head << '@' << len;
|
if (len > (int)strlen(n)) head << '@' << len;
|
||||||
}
|
}
|
||||||
|
|
||||||
KEY ch;
|
KEY ch;
|
||||||
@ -65,7 +65,7 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
pind->addstatus(1);
|
pind->addstatus(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (go) cursor.file()->remove();
|
if (go) cursor.file().remove();
|
||||||
sheet.uncheck(j);
|
sheet.uncheck(j);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -87,25 +87,25 @@ bool TEdit_file::browse(int logicnum, const char* name)
|
|||||||
|
|
||||||
if (s != curr.key(1))
|
if (s != curr.key(1))
|
||||||
{
|
{
|
||||||
cursor.file()->write();
|
cursor.file().write();
|
||||||
if (cursor.file()->good())
|
if (cursor.file().good())
|
||||||
{
|
{
|
||||||
curr = svrec;
|
curr = svrec;
|
||||||
cursor.file()->remove();
|
cursor.file().remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
cursor.file()->rewrite();
|
cursor.file().rewrite();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case K_DEL: // delete record
|
case K_DEL: // delete record
|
||||||
if (yesno_box("Confermare la cancellazione del record"))
|
if (yesno_box("Confermare la cancellazione del record"))
|
||||||
cursor.file()->remove();
|
cursor.file().remove();
|
||||||
break;
|
break;
|
||||||
case K_INS: // insert new record
|
case K_INS: // insert new record
|
||||||
curr.zero();
|
curr.zero();
|
||||||
if (edit_record(curr,FALSE) == K_ENTER)
|
if (edit_record(curr,FALSE) == K_ENTER)
|
||||||
cursor.file()->write();
|
cursor.file().write();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
sheet.force_update();
|
sheet.force_update();
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
#include <relapp.h>
|
#include <relapp.h>
|
||||||
#include <stdtypes.h>
|
#include <stdtypes.h>
|
||||||
#include <lffiles.h>
|
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <execp.h>
|
#include <execp.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include "ba3.h"
|
#include "ba3.h"
|
||||||
#include "ba3100.h"
|
#include "ba3100.h"
|
||||||
#include "batbreg.h"
|
#include "batbreg.h"
|
||||||
@ -22,7 +22,7 @@ class BA3100_application : public TRelation_application
|
|||||||
|
|
||||||
bool user_create() ;
|
bool user_create() ;
|
||||||
bool user_destroy() ;
|
bool user_destroy() ;
|
||||||
virtual bool protected_record(TRectype& rec);
|
virtual bool protected_record(const TRectype& rec);
|
||||||
virtual TMask* get_mask( int mode) { return _msk;}
|
virtual TMask* get_mask( int mode) { return _msk;}
|
||||||
virtual bool changing_mask( int mode) { return FALSE;}
|
virtual bool changing_mask( int mode) { return FALSE;}
|
||||||
virtual TRelation* get_relation() const { return _rel;}
|
virtual TRelation* get_relation() const { return _rel;}
|
||||||
@ -89,22 +89,22 @@ void BA3100_application::init_modify_mode(TMask& m)
|
|||||||
m.send_key(K_SHIFT + K_CTRL + 'd' + enable, -GR_RECORD_PROTECTED);
|
m.send_key(K_SHIFT + K_CTRL + 'd' + enable, -GR_RECORD_PROTECTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool BA3100_application::protected_record(TRectype& rec)
|
bool BA3100_application::protected_record(const TRectype& rec)
|
||||||
{
|
{
|
||||||
bool prot = rec.get_bool(FPC);
|
bool prot = rec.get_bool(FPC);
|
||||||
if (!prot)
|
if (!prot)
|
||||||
{
|
{
|
||||||
if (_tabname == "%IVD") // Impedisce la cancellazione di una classe se ha sottoclassi
|
if (_tabname == "%IVD") // Impedisce la cancellazione di una classe se ha sottoclassi
|
||||||
{
|
{
|
||||||
const TRecnotype pos = _rel->lfile()->recno();
|
const TRecnotype pos = _rel->lfile().recno();
|
||||||
const TString cod(rec.get("CODTAB"));
|
const TString cod(rec.get("CODTAB"));
|
||||||
const int err = _rel->lfile()->next();
|
const int err = _rel->lfile().next();
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
TString next(_rel->lfile()->get("CODTAB")); next.cut(cod.len());
|
TString next(_rel->lfile().get("CODTAB")); next.cut(cod.len());
|
||||||
prot = cod == next;
|
prot = cod == next;
|
||||||
}
|
}
|
||||||
_rel->lfile()->readat(pos);
|
_rel->lfile().readat(pos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return prot;
|
return prot;
|
||||||
|
@ -49,7 +49,7 @@ public:
|
|||||||
|
|
||||||
bool BA3200_application::set_print(int)
|
bool BA3200_application::set_print(int)
|
||||||
{
|
{
|
||||||
TRectype from(_rel->lfile()->curr()); from.zero();
|
TRectype from(_rel->lfile().curr()); from.zero();
|
||||||
TRectype to (from);
|
TRectype to (from);
|
||||||
|
|
||||||
if (_msk->run() == K_ENTER)
|
if (_msk->run() == K_ENTER)
|
||||||
@ -297,8 +297,6 @@ void BA3200_application::user_create()
|
|||||||
if (!fexist(_rptname))
|
if (!fexist(_rptname))
|
||||||
fatal_box("Impossibile aprire il file '%s'", (const char*)_rptname);
|
fatal_box("Impossibile aprire il file '%s'", (const char*)_rptname);
|
||||||
|
|
||||||
|
|
||||||
// _tab = new TTable (_tabname);
|
|
||||||
_rel = new TRelation (_tabname);
|
_rel = new TRelation (_tabname);
|
||||||
_cur = new TCursor (_rel);
|
_cur = new TCursor (_rel);
|
||||||
|
|
||||||
@ -308,7 +306,7 @@ void BA3200_application::user_create()
|
|||||||
add_cursor (_cur);
|
add_cursor (_cur);
|
||||||
add_file (_tabname);
|
add_file (_tabname);
|
||||||
|
|
||||||
_logicnum = _cur->file()->num();
|
_logicnum = _cur->file().num();
|
||||||
|
|
||||||
reset_print ();
|
reset_print ();
|
||||||
|
|
||||||
@ -326,7 +324,6 @@ void BA3200_application::user_destroy()
|
|||||||
delete _msk;
|
delete _msk;
|
||||||
delete _cur;
|
delete _cur;
|
||||||
delete _rel;
|
delete _rel;
|
||||||
// delete _tab;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int ba3200(int argc, char* argv[])
|
int ba3200(int argc, char* argv[])
|
||||||
|
@ -219,8 +219,8 @@ static bool codice_handler (TMask_field& field, KEY key)
|
|||||||
if (key == K_TAB)
|
if (key == K_TAB)
|
||||||
{
|
{
|
||||||
const TEdit_field& e = (const TEdit_field&)field;
|
const TEdit_field& e = (const TEdit_field&)field;
|
||||||
const TLocalisamfile* t = e.browse()->cursor()->file();
|
const TLocalisamfile& t = e.browse()->cursor()->file();
|
||||||
const long num = t->get_long("I2");
|
const long num = t.get_long("I2");
|
||||||
field.mask().set(F_NPAGINI, num+1);
|
field.mask().set(F_NPAGINI, num+1);
|
||||||
field.mask().set(F_NPAGFI, 0L);
|
field.mask().set(F_NPAGFI, 0L);
|
||||||
}
|
}
|
||||||
|
113
ba/ba3500.cpp
113
ba/ba3500.cpp
@ -113,23 +113,24 @@ TMask* BA3500_application::get_mask(int mode)
|
|||||||
|
|
||||||
void BA3500_application::read_tabinl(TMask& m)
|
void BA3500_application::read_tabinl(TMask& m)
|
||||||
{
|
{
|
||||||
long paginilib,pagfinlib,codditta,paginiut,pagfinut,annoreg;
|
long paginilib,pagfinlib,codditta,paginiut,pagfinut;
|
||||||
int mesereg;
|
int mesereg,annoreg;
|
||||||
TString codvidim,codreg;
|
TString codvidim,codreg;
|
||||||
bool stampa_bol = FALSE;
|
bool stampa_bol = FALSE;
|
||||||
bool pagine_ann = FALSE;
|
bool pagine_ann = FALSE;
|
||||||
bool ok = FALSE;
|
bool ok = FALSE;
|
||||||
// TTable* tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
// TTable* tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
||||||
TTable* tab_inl = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_inl = (TTable&)_rel->lfile(-ALIAS);
|
||||||
long numrig, anno;
|
long numrig;
|
||||||
|
int anno;
|
||||||
TString codlib;
|
TString codlib;
|
||||||
|
|
||||||
anno = atol(m.get(F_ANNO));
|
anno = m.get_int(F_ANNO);
|
||||||
codlib = m.get(F_CODLIB);
|
codlib = m.get(F_CODLIB);
|
||||||
|
|
||||||
_rel->update();
|
_rel->update();
|
||||||
|
|
||||||
_righe_gia_presenti = new TRighe_gia_presenti(tab_inl->items());
|
_righe_gia_presenti = new TRighe_gia_presenti(tab_inl.items());
|
||||||
_righe_gia_presenti->reset();
|
_righe_gia_presenti->reset();
|
||||||
|
|
||||||
// int lognum = name2log(TAB_INL); //trasformo il nome della tab in un logicnum
|
// int lognum = name2log(TAB_INL); //trasformo il nome della tab in un logicnum
|
||||||
@ -138,19 +139,19 @@ void BA3500_application::read_tabinl(TMask& m)
|
|||||||
|
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
TRecfield num (tab_inl->curr(),"CODTAB",7,12);
|
TRecfield num (tab_inl.curr(),"CODTAB",7,12);
|
||||||
numrig = long(num);
|
numrig = long(num);
|
||||||
annoreg = tab_inl->get_long("I0");
|
annoreg = tab_inl.get_int("I0");
|
||||||
mesereg = tab_inl->get_int ("I1");
|
mesereg = tab_inl.get_int ("I1");
|
||||||
paginilib = tab_inl->get_long("I2");
|
paginilib = tab_inl.get_long("I2");
|
||||||
pagfinlib = tab_inl->get_long("I3");
|
pagfinlib = tab_inl.get_long("I3");
|
||||||
codditta = tab_inl->get_long("I4");
|
codditta = tab_inl.get_long("I4");
|
||||||
codreg = tab_inl->get("S0");
|
codreg = tab_inl.get("S0");
|
||||||
paginiut = tab_inl->get_long("I5");
|
paginiut = tab_inl.get_long("I5");
|
||||||
pagfinut = tab_inl->get_long("I6");
|
pagfinut = tab_inl.get_long("I6");
|
||||||
codvidim = tab_inl->get("S1");
|
codvidim = tab_inl.get("S1");
|
||||||
stampa_bol = tab_inl->get_bool("B0");
|
stampa_bol = tab_inl.get_bool("B0");
|
||||||
pagine_ann = tab_inl->get_bool("B1");
|
pagine_ann = tab_inl.get_bool("B1");
|
||||||
|
|
||||||
_righe_tabinl.add_riga(annoreg,mesereg,paginilib,pagfinlib,codditta,codreg,paginiut,pagfinut,codvidim,stampa_bol,pagine_ann);
|
_righe_tabinl.add_riga(annoreg,mesereg,paginilib,pagfinlib,codditta,codreg,paginiut,pagfinut,codvidim,stampa_bol,pagine_ann);
|
||||||
_righe_gia_presenti->set(numrig);
|
_righe_gia_presenti->set(numrig);
|
||||||
@ -224,7 +225,7 @@ int BA3500_application::rewrite(const TMask& m)
|
|||||||
{
|
{
|
||||||
long items;
|
long items;
|
||||||
// TTable *tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
// TTable *tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
||||||
TTable *tab_inl = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_inl = (TTable&)_rel->lfile(-ALIAS);
|
||||||
|
|
||||||
int anno = m.get_int(F_ANNO);
|
int anno = m.get_int(F_ANNO);
|
||||||
TString cod_lib = m.get(F_CODLIB);
|
TString cod_lib = m.get(F_CODLIB);
|
||||||
@ -242,25 +243,25 @@ int BA3500_application::rewrite(const TMask& m)
|
|||||||
long year = atol(riga.get(0));
|
long year = atol(riga.get(0));
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
{
|
{
|
||||||
tab_inl->put ("CODTAB", codtab);
|
tab_inl.put ("CODTAB", codtab);
|
||||||
tab_inl->put ("I0", year);
|
tab_inl.put ("I0", year);
|
||||||
tab_inl->put ("I1", riga.get());
|
tab_inl.put ("I1", riga.get());
|
||||||
tab_inl->put ("I2", riga.get());
|
tab_inl.put ("I2", riga.get());
|
||||||
tab_inl->put ("I3", riga.get());
|
tab_inl.put ("I3", riga.get());
|
||||||
tab_inl->put ("I4", riga.get());
|
tab_inl.put ("I4", riga.get());
|
||||||
tab_inl->put ("S0", riga.get());
|
tab_inl.put ("S0", riga.get());
|
||||||
tab_inl->put ("I5", riga.get());
|
tab_inl.put ("I5", riga.get());
|
||||||
tab_inl->put ("I6", riga.get());
|
tab_inl.put ("I6", riga.get());
|
||||||
tab_inl->put ("S1", riga.get());
|
tab_inl.put ("S1", riga.get());
|
||||||
tab_inl->put ("B0", riga.get());
|
tab_inl.put ("B0", riga.get());
|
||||||
tab_inl->put ("B1", riga.get());
|
tab_inl.put ("B1", riga.get());
|
||||||
if (_righe_gia_presenti->IS_IN(i))
|
if (_righe_gia_presenti->IS_IN(i))
|
||||||
{
|
{
|
||||||
tab_inl->rewrite();
|
tab_inl.rewrite();
|
||||||
_righe_gia_presenti->togli(i);
|
_righe_gia_presenti->togli(i);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tab_inl->write();
|
tab_inl.write();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return _rel->rewrite();
|
return _rel->rewrite();
|
||||||
@ -270,7 +271,7 @@ int BA3500_application::write(const TMask& m)
|
|||||||
{
|
{
|
||||||
long items;
|
long items;
|
||||||
// TTable *tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
// TTable *tab_inl = (TTable*)_rel->lfile(TAB_INL);
|
||||||
TTable *tab_inl = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_inl = (TTable&)_rel->lfile(-ALIAS);
|
||||||
|
|
||||||
int anno = m.get_int(F_ANNO);
|
int anno = m.get_int(F_ANNO);
|
||||||
TString cod_lib = m.get(F_CODLIB);
|
TString cod_lib = m.get(F_CODLIB);
|
||||||
@ -281,7 +282,7 @@ int BA3500_application::write(const TMask& m)
|
|||||||
|
|
||||||
items = cs.items();
|
items = cs.items();
|
||||||
|
|
||||||
tab_inl->zero();
|
tab_inl.zero();
|
||||||
|
|
||||||
for (int i = 0; i < items; i++)
|
for (int i = 0; i < items; i++)
|
||||||
{
|
{
|
||||||
@ -290,19 +291,19 @@ int BA3500_application::write(const TMask& m)
|
|||||||
long year = atol(riga.get(0));
|
long year = atol(riga.get(0));
|
||||||
if (year != 0)
|
if (year != 0)
|
||||||
{
|
{
|
||||||
tab_inl->put ("CODTAB", codtab);
|
tab_inl.put ("CODTAB", codtab);
|
||||||
tab_inl->put ("I0", year);
|
tab_inl.put ("I0", year);
|
||||||
tab_inl->put ("I1", riga.get());
|
tab_inl.put ("I1", riga.get());
|
||||||
tab_inl->put ("I2", riga.get());
|
tab_inl.put ("I2", riga.get());
|
||||||
tab_inl->put ("I3", riga.get());
|
tab_inl.put ("I3", riga.get());
|
||||||
tab_inl->put ("I4", riga.get());
|
tab_inl.put ("I4", riga.get());
|
||||||
tab_inl->put ("S0", riga.get());
|
tab_inl.put ("S0", riga.get());
|
||||||
tab_inl->put ("I5", riga.get());
|
tab_inl.put ("I5", riga.get());
|
||||||
tab_inl->put ("I6", riga.get());
|
tab_inl.put ("I6", riga.get());
|
||||||
tab_inl->put ("S1", riga.get());
|
tab_inl.put ("S1", riga.get());
|
||||||
tab_inl->put ("B0", riga.get());
|
tab_inl.put ("B0", riga.get());
|
||||||
tab_inl->put ("B1", riga.get());
|
tab_inl.put ("B1", riga.get());
|
||||||
tab_inl->write();
|
tab_inl.write();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return _rel->write();
|
return _rel->write();
|
||||||
@ -322,9 +323,9 @@ bool BA3500_application::remove()
|
|||||||
|
|
||||||
int BA3500_application::cancella(long items)
|
int BA3500_application::cancella(long items)
|
||||||
{
|
{
|
||||||
TTable *tab_inl = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_inl = (TTable&)_rel->lfile(-ALIAS);
|
||||||
TRecfield an (_rel->lfile(-ALIAS)->curr(),"CODTAB",0,3);
|
TRecfield an(tab_inl.curr(),"CODTAB",0,3);
|
||||||
TRecfield cl (_rel->lfile(-ALIAS)->curr(),"CODTAB",4,6);
|
TRecfield cl(tab_inl.curr(),"CODTAB",4,6);
|
||||||
long anno;
|
long anno;
|
||||||
TString codlib, dep;
|
TString codlib, dep;
|
||||||
|
|
||||||
@ -332,15 +333,15 @@ int BA3500_application::cancella(long items)
|
|||||||
codlib = (const char*)cl;
|
codlib = (const char*)cl;
|
||||||
for (long i = 0; i < items; i++)
|
for (long i = 0; i < items; i++)
|
||||||
{
|
{
|
||||||
tab_inl->zero();
|
tab_inl.zero();
|
||||||
dep = format ("%04d", anno);
|
dep = format ("%04d", anno);
|
||||||
dep << format ("%-3s" , (const char*) codlib);
|
dep << format ("%-3s" , (const char*) codlib);
|
||||||
dep << format ("%6d" , i);
|
dep << format ("%6d" , i);
|
||||||
tab_inl->put("CODTAB", dep);
|
tab_inl.put("CODTAB", dep);
|
||||||
if (tab_inl->read(_isequal, _lock) == NOERR)
|
if (tab_inl.read(_isequal, _lock) == NOERR)
|
||||||
tab_inl->remove();
|
tab_inl.remove();
|
||||||
}
|
}
|
||||||
return tab_inl->status();
|
return tab_inl.status();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********
|
/*********
|
||||||
|
@ -107,19 +107,19 @@ TMask* BA3700_application::get_mask(int mode)
|
|||||||
void BA3700_application::togli_dal_file(const TString& cod_pag)
|
void BA3700_application::togli_dal_file(const TString& cod_pag)
|
||||||
{
|
{
|
||||||
long i;
|
long i;
|
||||||
TTable* tab_rpg = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||||
long last = _righe_gia_presenti.last_one();
|
long last = _righe_gia_presenti.last_one();
|
||||||
long start = _righe_gia_presenti.first_one();
|
long start = _righe_gia_presenti.first_one();
|
||||||
TString dep;
|
TString16 dep;
|
||||||
|
|
||||||
for (i=start; i<=last; i++)
|
for (i=start; i<=last; i++)
|
||||||
{
|
{
|
||||||
if (_righe_gia_presenti[i])
|
if (_righe_gia_presenti[i])
|
||||||
{
|
{
|
||||||
tab_rpg->zero();
|
tab_rpg.zero();
|
||||||
dep.format ("%-4s%3d", (const char*) cod_pag, i);
|
dep.format ("%-4s%3d", (const char*) cod_pag, i);
|
||||||
tab_rpg->put("CODTAB", dep);
|
tab_rpg.put("CODTAB", dep);
|
||||||
tab_rpg->remove();
|
tab_rpg.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -130,7 +130,7 @@ void BA3700_application::read_tabrpg(TMask& m)
|
|||||||
TString tipo_pagamento;
|
TString tipo_pagamento;
|
||||||
TString percentuale, cod_pag, ult_class;
|
TString percentuale, cod_pag, ult_class;
|
||||||
bool ok = FALSE;
|
bool ok = FALSE;
|
||||||
TTable* tab_rpg = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||||
long numrig;
|
long numrig;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
@ -146,12 +146,12 @@ void BA3700_application::read_tabrpg(TMask& m)
|
|||||||
|
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
TRecfield num (tab_rpg->curr(),"CODTAB",4,6);
|
TRecfield num (tab_rpg.curr(),"CODTAB",4,6);
|
||||||
numrig = long(num);
|
numrig = long(num);
|
||||||
numero_giorni = tab_rpg->get_long("I0");
|
numero_giorni = tab_rpg.get_long("I0");
|
||||||
percentuale = tab_rpg->get ("R0");
|
percentuale = tab_rpg.get ("R0");
|
||||||
tipo_pagamento = tab_rpg->get ("S0");
|
tipo_pagamento = tab_rpg.get ("S0");
|
||||||
ult_class = tab_rpg->get ("S1");
|
ult_class = tab_rpg.get ("S1");
|
||||||
|
|
||||||
if (i == 0) //Sono sulla prima rata
|
if (i == 0) //Sono sulla prima rata
|
||||||
num_giorni_prima_rata = numero_giorni;
|
num_giorni_prima_rata = numero_giorni;
|
||||||
@ -779,7 +779,7 @@ bool BA3700_application::riga_sheet(int r, KEY k)
|
|||||||
int BA3700_application::rewrite(const TMask& m)
|
int BA3700_application::rewrite(const TMask& m)
|
||||||
{
|
{
|
||||||
long items;
|
long items;
|
||||||
TTable *tab_rpg = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||||
TString dep;
|
TString dep;
|
||||||
|
|
||||||
TString cod_pag = m.get(F_CODICE);
|
TString cod_pag = m.get(F_CODICE);
|
||||||
@ -797,23 +797,23 @@ int BA3700_application::rewrite(const TMask& m)
|
|||||||
long numero_giorni = atol(riga.get(0));
|
long numero_giorni = atol(riga.get(0));
|
||||||
if (numero_giorni != 0)
|
if (numero_giorni != 0)
|
||||||
{
|
{
|
||||||
tab_rpg->put ("CODTAB", codtab);
|
tab_rpg.put ("CODTAB", codtab);
|
||||||
tab_rpg->put ("I0", numero_giorni);
|
tab_rpg.put ("I0", numero_giorni);
|
||||||
tab_rpg->put ("R0", riga.get());
|
tab_rpg.put ("R0", riga.get());
|
||||||
dep = riga.get();
|
dep = riga.get();
|
||||||
if (dep != "")
|
if (dep != "")
|
||||||
tab_rpg->put ("S0", dep);
|
tab_rpg.put ("S0", dep);
|
||||||
dep = riga.get();
|
dep = riga.get();
|
||||||
if (dep != "")
|
if (dep != "")
|
||||||
tab_rpg->put ("S1", dep);
|
tab_rpg.put ("S1", dep);
|
||||||
|
|
||||||
if (_righe_gia_presenti[i])
|
if (_righe_gia_presenti[i])
|
||||||
{
|
{
|
||||||
tab_rpg->rewrite();
|
tab_rpg.rewrite();
|
||||||
_righe_gia_presenti.reset(i);
|
_righe_gia_presenti.reset(i);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
tab_rpg->write();
|
tab_rpg.write();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
togli_dal_file(cod_pag);
|
togli_dal_file(cod_pag);
|
||||||
@ -823,7 +823,7 @@ int BA3700_application::rewrite(const TMask& m)
|
|||||||
int BA3700_application::write(const TMask& m)
|
int BA3700_application::write(const TMask& m)
|
||||||
{
|
{
|
||||||
long items;
|
long items;
|
||||||
TTable *tab_rpg = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||||
TString dep;
|
TString dep;
|
||||||
|
|
||||||
TString cod_pag = m.get(F_CODICE);
|
TString cod_pag = m.get(F_CODICE);
|
||||||
@ -834,7 +834,7 @@ int BA3700_application::write(const TMask& m)
|
|||||||
|
|
||||||
items = cs.items();
|
items = cs.items();
|
||||||
|
|
||||||
tab_rpg->zero();
|
tab_rpg.zero();
|
||||||
|
|
||||||
for (int i = 0; i < items; i++)
|
for (int i = 0; i < items; i++)
|
||||||
{
|
{
|
||||||
@ -843,16 +843,16 @@ int BA3700_application::write(const TMask& m)
|
|||||||
long numero_giorni = atol(riga.get(0));
|
long numero_giorni = atol(riga.get(0));
|
||||||
if (numero_giorni != 0)
|
if (numero_giorni != 0)
|
||||||
{
|
{
|
||||||
tab_rpg->put ("CODTAB", codtab);
|
tab_rpg.put ("CODTAB", codtab);
|
||||||
tab_rpg->put ("I0", numero_giorni);
|
tab_rpg.put ("I0", numero_giorni);
|
||||||
tab_rpg->put ("R0", riga.get());
|
tab_rpg.put ("R0", riga.get());
|
||||||
dep = riga.get();
|
dep = riga.get();
|
||||||
if (dep != "")
|
if (dep != "")
|
||||||
tab_rpg->put ("S0", dep);
|
tab_rpg.put ("S0", dep);
|
||||||
dep = riga.get();
|
dep = riga.get();
|
||||||
if (dep != "")
|
if (dep != "")
|
||||||
tab_rpg->put ("S1", dep);
|
tab_rpg.put ("S1", dep);
|
||||||
tab_rpg->write();
|
tab_rpg.write();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return _rel->write();
|
return _rel->write();
|
||||||
@ -868,22 +868,22 @@ bool BA3700_application::remove()
|
|||||||
|
|
||||||
int BA3700_application::cancella(long items)
|
int BA3700_application::cancella(long items)
|
||||||
{
|
{
|
||||||
TTable* tab_rpg = (TTable*)_rel->lfile(-ALIAS);
|
TTable& tab_rpg = (TTable&)_rel->lfile(-ALIAS);
|
||||||
TRecfield an (tab_rpg->curr(),"CODTAB",0,3);
|
TRecfield an (tab_rpg.curr(),"CODTAB",0,3);
|
||||||
TString cod_pag,dep;
|
TString cod_pag,dep;
|
||||||
|
|
||||||
cod_pag = (const char*)(an);
|
cod_pag = (const char*)(an);
|
||||||
|
|
||||||
for (long i = 0; i < items; i++)
|
for (long i = 0; i < items; i++)
|
||||||
{
|
{
|
||||||
tab_rpg->zero();
|
tab_rpg.zero();
|
||||||
dep = format ("%-4s", (const char*) cod_pag);
|
dep = format ("%-4s", (const char*) cod_pag);
|
||||||
dep << format ("%3d" , i);
|
dep << format ("%3d" , i);
|
||||||
tab_rpg->put("CODTAB", dep);
|
tab_rpg.put("CODTAB", dep);
|
||||||
if (tab_rpg->read(_isequal, _lock) == NOERR)
|
if (tab_rpg.read(_isequal, _lock) == NOERR)
|
||||||
tab_rpg->remove();
|
tab_rpg.remove();
|
||||||
}
|
}
|
||||||
return tab_rpg->status();
|
return tab_rpg.status();
|
||||||
}
|
}
|
||||||
|
|
||||||
int BA3700_application::read(TMask& m)
|
int BA3700_application::read(TMask& m)
|
||||||
|
@ -88,16 +88,16 @@ bool BA4200_application::ba4200_handler(TMask& m, KEY k)
|
|||||||
TMessage msg(cmd2name(cmd), MSG_FS, (const char*) body);
|
TMessage msg(cmd2name(cmd), MSG_FS, (const char*) body);
|
||||||
TMailbox mb;
|
TMailbox mb;
|
||||||
mb.send(msg);
|
mb.send(msg);
|
||||||
TLocalisamfile* d = app.get_relation()->lfile();
|
TLocalisamfile& d = app.get_relation()->lfile();
|
||||||
|
|
||||||
d->setkey(1);
|
d.setkey(1);
|
||||||
d->zero();
|
d.zero();
|
||||||
d->put(N_TIPOA, app.ana_fis() ? "F" : "G");
|
d.put(N_TIPOA, app.ana_fis() ? "F" : "G");
|
||||||
d->put(N_CODANAGR, m.get(FLD_CODANAGR));
|
d.put(N_CODANAGR, m.get(FLD_CODANAGR));
|
||||||
d->read(_isequal, _unlock) ;
|
d.read(_isequal, _unlock) ;
|
||||||
TExternal_app a(cmd);
|
TExternal_app a(cmd);
|
||||||
a.run();
|
a.run();
|
||||||
d->read(_iscurr, _lock) ;
|
d.read(_iscurr, _lock) ;
|
||||||
m.set_focus();
|
m.set_focus();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ void BA4200_application::init_query_mode(TMask& m)
|
|||||||
const char* BA4200_application::get_next_key()
|
const char* BA4200_application::get_next_key()
|
||||||
|
|
||||||
{
|
{
|
||||||
TLocalisamfile& anag = *get_relation()->lfile() ;
|
TLocalisamfile& anag = get_relation()->lfile() ;
|
||||||
long cod_anagr = 1;
|
long cod_anagr = 1;
|
||||||
|
|
||||||
if (!anag.empty() )
|
if (!anag.empty() )
|
||||||
@ -201,7 +201,7 @@ bool gest_uff_imp_nr(TMask_field& f, KEY key)
|
|||||||
uff_imp.read() ;
|
uff_imp.read() ;
|
||||||
if ( uff_imp.good() )
|
if ( uff_imp.good() )
|
||||||
{
|
{
|
||||||
const bool giuridica = ((BA4200_application*)MainApp())->ana_giu();
|
const bool giuridica = ((BA4200_application*)main_app())->ana_giu();
|
||||||
const TFixed_string codcom(uff_imp.get(N_COMUNE));
|
const TFixed_string codcom(uff_imp.get(N_COMUNE));
|
||||||
const char* com = msk.get(giuridica ? FLD_AG1_COMRF : FLD_AF2_COMRF);
|
const char* com = msk.get(giuridica ? FLD_AG1_COMRF : FLD_AF2_COMRF);
|
||||||
if (*com)
|
if (*com)
|
||||||
@ -230,7 +230,7 @@ bool gest_uff_imp(TMask_field& f, KEY key)
|
|||||||
TString cod_sta, cod_com;
|
TString cod_sta, cod_com;
|
||||||
TMask& msk = f.mask() ;
|
TMask& msk = f.mask() ;
|
||||||
const short dlg = f.dlg();
|
const short dlg = f.dlg();
|
||||||
const bool giuridica = ((BA4200_application*)MainApp())->ana_giu();
|
const bool giuridica = ((BA4200_application&)main_app()).ana_giu();
|
||||||
|
|
||||||
if ( giuridica )
|
if ( giuridica )
|
||||||
{
|
{
|
||||||
@ -284,20 +284,20 @@ bool gest_uff_imp(TMask_field& f, KEY key)
|
|||||||
bool no_dup_fis(TMask_field& f, KEY key)
|
bool no_dup_fis(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
if (f.mask().query_mode() || !f.to_check(key)) return TRUE;
|
if (f.mask().query_mode() || !f.to_check(key)) return TRUE;
|
||||||
BA4200_application* app = (BA4200_application*) MainApp();
|
BA4200_application& app = (BA4200_application&)main_app();
|
||||||
TLocalisamfile& anag = *app->get_relation()->lfile(LF_ANAG) ;
|
TLocalisamfile& anag = app.get_relation()->lfile(LF_ANAG) ;
|
||||||
|
|
||||||
const TString16 cofi(f.get());
|
const TString16 cofi(f.get());
|
||||||
if ( cofi.not_empty() )
|
if ( cofi.not_empty() )
|
||||||
{
|
{
|
||||||
anag.zero() ;
|
anag.zero() ;
|
||||||
anag.put(N_TIPOA, app->tip_ana());
|
anag.put(N_TIPOA, app.tip_ana());
|
||||||
anag.put(N_COFI, cofi ) ;
|
anag.put(N_COFI, cofi ) ;
|
||||||
anag.setkey(3) ;
|
anag.setkey(3) ;
|
||||||
anag.read() ;
|
anag.read() ;
|
||||||
anag.setkey(1) ;
|
anag.setkey(1) ;
|
||||||
const char t = anag.get_char(N_TIPOA), t1 = app->tip_ana();
|
const char t = anag.get_char(N_TIPOA), t1 = app.tip_ana();
|
||||||
const TString16 s = anag.get(N_CODANAGR), s1 = app->cod_ana();
|
const TString16 s = anag.get(N_CODANAGR), s1 = app.cod_ana();
|
||||||
|
|
||||||
if (anag.good() && (t1 != t || s1 != s))
|
if (anag.good() && (t1 != t || s1 != s))
|
||||||
{
|
{
|
||||||
@ -313,21 +313,21 @@ bool gest_iva(TMask_field& f, KEY key , short fd_sta ,short fd_iva )
|
|||||||
{
|
{
|
||||||
if (f.mask().query_mode() || !f.to_check(key)) return TRUE;
|
if (f.mask().query_mode() || !f.to_check(key)) return TRUE;
|
||||||
|
|
||||||
BA4200_application* app = (BA4200_application*) MainApp();
|
BA4200_application& app = (BA4200_application&)main_app();
|
||||||
TLocalisamfile& anag = *app->get_relation()->lfile(LF_ANAG) ;
|
TLocalisamfile& anag = app.get_relation()->lfile(LF_ANAG) ;
|
||||||
TMask& msk = f.mask() ;
|
TMask& msk = f.mask() ;
|
||||||
|
|
||||||
if ( f.get().not_empty() && !anag.empty() )
|
if ( f.get().not_empty() && !anag.empty() )
|
||||||
{
|
{
|
||||||
anag.zero() ;
|
anag.zero() ;
|
||||||
anag.put(N_TIPOA, app->tip_ana());
|
anag.put(N_TIPOA, app.tip_ana());
|
||||||
anag.put(N_STATOPAIV, msk.get(fd_sta) ) ;
|
anag.put(N_STATOPAIV, msk.get(fd_sta) ) ;
|
||||||
anag.put(N_PAIV, msk.get(fd_iva) ) ;
|
anag.put(N_PAIV, msk.get(fd_iva) ) ;
|
||||||
anag.setkey(4) ;
|
anag.setkey(4) ;
|
||||||
anag.read() ;
|
anag.read() ;
|
||||||
anag.setkey(1) ;
|
anag.setkey(1) ;
|
||||||
const char t = anag.get_char(N_TIPOA), t1 = app->tip_ana();
|
const char t = anag.get_char(N_TIPOA), t1 = app.tip_ana();
|
||||||
const TFixed_string s(anag.get(N_CODANAGR)), s1(app->cod_ana());
|
const TFixed_string s(anag.get(N_CODANAGR)), s1(app.cod_ana());
|
||||||
if (anag.good() && (t1 != t || s1 != s))
|
if (anag.good() && (t1 != t || s1 != s))
|
||||||
{
|
{
|
||||||
f.error_box("Partita iva gia' definita per il codice : %c/%s",
|
f.error_box("Partita iva gia' definita per il codice : %c/%s",
|
||||||
@ -441,17 +441,17 @@ void BA4200_application::manual_save(const TMask& m)
|
|||||||
|
|
||||||
{
|
{
|
||||||
TRelation *r = get_relation();
|
TRelation *r = get_relation();
|
||||||
TLocalisamfile& anag = *r->lfile(LF_ANAG) ;
|
TLocalisamfile& anag = r->lfile(LF_ANAG) ;
|
||||||
|
|
||||||
if (ana_fis())
|
if (ana_fis())
|
||||||
{
|
{
|
||||||
TLocalisamfile& anafis = *r->lfile(LF_ANAGFIS) ;
|
TLocalisamfile& anafis = r->lfile(LF_ANAGFIS) ;
|
||||||
|
|
||||||
anafis.put(N_CODANAGR, _cod_ana);
|
anafis.put(N_CODANAGR, _cod_ana);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
TLocalisamfile& anagiu = *r->lfile(LF_ANAGGIU) ;
|
TLocalisamfile& anagiu = r->lfile(LF_ANAGGIU) ;
|
||||||
anagiu.put(N_CODANAGR, _cod_ana);
|
anagiu.put(N_CODANAGR, _cod_ana);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -464,7 +464,7 @@ int BA4200_application::read(TMask& m)
|
|||||||
{
|
{
|
||||||
const TRelation *r = get_relation();
|
const TRelation *r = get_relation();
|
||||||
m.autoload(r);
|
m.autoload(r);
|
||||||
_cod_ana = r->lfile()->get(N_CODANAGR);
|
_cod_ana = r->lfile().get(N_CODANAGR);
|
||||||
return NOERR;
|
return NOERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,7 +474,7 @@ int BA4200_application::write(const TMask& m)
|
|||||||
TRelation *r = get_relation();
|
TRelation *r = get_relation();
|
||||||
r->zero();
|
r->zero();
|
||||||
m.autosave(r);
|
m.autosave(r);
|
||||||
set_cod_ana(r->lfile()->get(N_CODANAGR));
|
set_cod_ana(r->lfile().get(N_CODANAGR));
|
||||||
manual_save(m);
|
manual_save(m);
|
||||||
return r->write();
|
return r->write();
|
||||||
}
|
}
|
||||||
@ -496,6 +496,10 @@ int ba4200(int argc, char* argv[])
|
|||||||
if (argc > 2 && toupper(*argv[2]) == 'G') ta = 'G';
|
if (argc > 2 && toupper(*argv[2]) == 'G') ta = 'G';
|
||||||
|
|
||||||
BA4200_application a(ta);
|
BA4200_application a(ta);
|
||||||
a.run(argc, argv, "Anagrafica persone fisiche e giuridiche");
|
|
||||||
|
TString80 titolo("Anagrafica Persone ");
|
||||||
|
titolo << (ta == 'F' ? "Fisiche" : "Giuridiche");
|
||||||
|
|
||||||
|
a.run(argc, argv, titolo);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -88,11 +88,11 @@ bool ba4300_handler(TMask& m, KEY k)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
if (m.mode() == MODE_MOD || m.mode() == MODE_INS)
|
if (m.mode() == MODE_MOD || m.mode() == MODE_INS)
|
||||||
{
|
{
|
||||||
BA4300_application* app = (BA4300_application*) MainApp();
|
BA4300_application& app = (BA4300_application&)main_app();
|
||||||
if (m.mode() == MODE_INS)
|
if (m.mode() == MODE_INS)
|
||||||
{
|
{
|
||||||
if (!m.check_fields()) return FALSE;
|
if (!m.check_fields()) return FALSE;
|
||||||
if (app->write(m) != NOERR) return TRUE;
|
if (app.write(m) != NOERR) return TRUE;
|
||||||
m.stop_run(K_ESC);
|
m.stop_run(K_ESC);
|
||||||
}
|
}
|
||||||
TString appname;
|
TString appname;
|
||||||
@ -123,7 +123,7 @@ bool ba4300_handler(TMask& m, KEY k)
|
|||||||
if (appname.not_empty())
|
if (appname.not_empty())
|
||||||
{
|
{
|
||||||
TString body(16);
|
TString body(16);
|
||||||
TLocalisamfile* d = app->get_relation()->lfile();
|
TLocalisamfile& d = app.get_relation()->lfile();
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
#if XVT_OS == XVT_OS_WIN
|
||||||
if (k != K_F8) appname.insert("a", 3);
|
if (k != K_F8) appname.insert("a", 3);
|
||||||
@ -141,16 +141,16 @@ bool ba4300_handler(TMask& m, KEY k)
|
|||||||
TMailbox mb;
|
TMailbox mb;
|
||||||
mb.send(msg);
|
mb.send(msg);
|
||||||
}
|
}
|
||||||
d->setkey(1);
|
d.setkey(1);
|
||||||
d->zero();
|
d.zero();
|
||||||
d->put("CODDITTA", m.get(FLD_GD1_CODDITTA));
|
d.put("CODDITTA", m.get(FLD_GD1_CODDITTA));
|
||||||
d->read(_isequal, _unlock) ;
|
d.read(_isequal, _unlock) ;
|
||||||
TExternal_app a(appname);
|
TExternal_app a(appname);
|
||||||
long oldditta = prefhndl->get_codditta();
|
const long oldditta = main_app().get_firm();
|
||||||
if (k == K_F8) prefhndl->set_codditta(atol(m.get(FLD_GD1_CODDITTA)), TRUE);
|
if (k == K_F8) main_app().set_firm(m.get_long(FLD_GD1_CODDITTA));
|
||||||
a.run();
|
a.run();
|
||||||
if (k == K_F8) prefhndl->set_codditta(oldditta, TRUE);
|
if (k == K_F8) main_app().set_firm(oldditta);
|
||||||
d->read(_iscurr, _lock) ;
|
d.read(_iscurr, _lock) ;
|
||||||
m.set_focus();
|
m.set_focus();
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -181,15 +181,15 @@ bool BA4300_application::build_firm_data(long codditta, bool flagcom)
|
|||||||
#else
|
#else
|
||||||
if (mkdir(ndir) == -1)
|
if (mkdir(ndir) == -1)
|
||||||
#endif
|
#endif
|
||||||
return error_box("non posso creare il direttorio della ditta %ld (%s)",
|
return error_box("Impossibile creare il direttorio della ditta %ld (%s)",
|
||||||
codditta, (const char*) ndir);
|
codditta, (const char*) ndir);
|
||||||
if (!fexist(s1))
|
if (!fexist(s1))
|
||||||
if (!fcopy(ntrrec, s1))
|
if (!fcopy(ntrrec, s1))
|
||||||
return error_box("non posso copiare il file %s della ditta %ld",
|
return error_box("Impossibile copiare il file %s della ditta %ld",
|
||||||
ntrrec, codditta);
|
ntrrec, codditta);
|
||||||
if (!fexist(s2))
|
if (!fexist(s2))
|
||||||
if (!fcopy(nd, s2))
|
if (!fcopy(nd, s2))
|
||||||
return error_box("non posso copiare il file %s della ditta %ld",
|
return error_box("Impossibile copiare il file %s della ditta %ld",
|
||||||
nd, codditta);
|
nd, codditta);
|
||||||
|
|
||||||
set_cursor(TASK_WIN, CURSOR_WAIT);
|
set_cursor(TASK_WIN, CURSOR_WAIT);
|
||||||
@ -238,10 +238,10 @@ bool BA4300_application::build_firm_data(long codditta, bool flagcom)
|
|||||||
TSystemisamfile f(i);
|
TSystemisamfile f(i);
|
||||||
|
|
||||||
f.build(30); // cambiare
|
f.build(30); // cambiare
|
||||||
BA4300_application* app = (BA4300_application*) MainApp();
|
BA4300_application& app = (BA4300_application&) main_app();
|
||||||
for (int j = 0 ; j < 99 ; j++)
|
for (int j = 0 ; j < 99 ; j++)
|
||||||
{
|
{
|
||||||
if (app->has_module(j))
|
if (app.has_module(j))
|
||||||
{
|
{
|
||||||
const TString s(format("std/f%04d%02d.txt", i, j));
|
const TString s(format("std/f%04d%02d.txt", i, j));
|
||||||
if (fexist(s)) f.load(s);
|
if (fexist(s)) f.load(s);
|
||||||
@ -416,9 +416,8 @@ void BA4300_application::init_modify_mode(TMask& m)
|
|||||||
|
|
||||||
int ba4300(int argc, char* argv[])
|
int ba4300(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
|
||||||
BA4300_application a ;
|
BA4300_application a ;
|
||||||
a.run(argc, argv, "Anagrafica Ditta");
|
a.run(argc, argv, "Anagrafica Ditte");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,12 +2,12 @@
|
|||||||
// Stampa anagrafiche
|
// Stampa anagrafiche
|
||||||
// Control code
|
// Control code
|
||||||
// ***********************************************************************
|
// ***********************************************************************
|
||||||
|
|
||||||
#include "ba6100.h"
|
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <mailbox.h>
|
#include <mailbox.h>
|
||||||
#include <execp.h>
|
#include <execp.h>
|
||||||
|
|
||||||
|
#include "ba6100.h"
|
||||||
|
|
||||||
// ------- utils --------------------------------------------
|
// ------- utils --------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
@ -360,7 +360,6 @@ bool BA6100_App::set_print(int)
|
|||||||
_inclditte = (bool)(mask.get(CHK_BA6_INCLDI) == "X");
|
_inclditte = (bool)(mask.get(CHK_BA6_INCLDI) == "X");
|
||||||
|
|
||||||
TString cod_from(5), cod_to(5);
|
TString cod_from(5), cod_to(5);
|
||||||
TLocalisamfile* fl;
|
|
||||||
|
|
||||||
switch(_pr_what)
|
switch(_pr_what)
|
||||||
{
|
{
|
||||||
@ -382,9 +381,9 @@ bool BA6100_App::set_print(int)
|
|||||||
: FLD_ANG_RAGSOCTO);
|
: FLD_ANG_RAGSOCTO);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
fl = current_cursor()->file(LF_ANAG);
|
TLocalisamfile& fl = current_cursor()->file(LF_ANAG);
|
||||||
TRectype tr1(fl->curr());
|
TRectype tr1(fl.curr());
|
||||||
TRectype tr2(fl->curr());
|
TRectype tr2(fl.curr());
|
||||||
tr1.zero(); tr2.zero();
|
tr1.zero(); tr2.zero();
|
||||||
tr1.put("TIPOA", _pr_what == anafis ? "F" : "G");
|
tr1.put("TIPOA", _pr_what == anafis ? "F" : "G");
|
||||||
tr2.put("TIPOA", _pr_what == anafis ? "F" : "G");
|
tr2.put("TIPOA", _pr_what == anafis ? "F" : "G");
|
||||||
@ -424,9 +423,9 @@ bool BA6100_App::set_print(int)
|
|||||||
}
|
}
|
||||||
if (!cod_from.empty() || !cod_to.empty())
|
if (!cod_from.empty() || !cod_to.empty())
|
||||||
{
|
{
|
||||||
fl = current_cursor()->file(LF_NDITTE);
|
TLocalisamfile& fl = current_cursor()->file(LF_NDITTE);
|
||||||
TRectype tr1(fl->curr());
|
TRectype tr1(fl.curr());
|
||||||
TRectype tr2(fl->curr());
|
TRectype tr2(fl.curr());
|
||||||
tr1.zero(); tr2.zero();
|
tr1.zero(); tr2.zero();
|
||||||
if (_sort == 1)
|
if (_sort == 1)
|
||||||
{
|
{
|
||||||
|
@ -278,23 +278,23 @@ void BA6100_App::set_scheda_anafis()
|
|||||||
|
|
||||||
// cerca coniuge
|
// cerca coniuge
|
||||||
com = current_cursor()->curr(LF_ANAGFIS).get("CODCONIUGE");
|
com = current_cursor()->curr(LF_ANAGFIS).get("CODCONIUGE");
|
||||||
TLocalisamfile* af = current_cursor()->file(LF_ANAG);
|
TLocalisamfile& af = current_cursor()->file(LF_ANAG);
|
||||||
TRecnotype last = af->recno();
|
TRecnotype last = af.recno();
|
||||||
int k = af->getkey();
|
int k = af.getkey();
|
||||||
|
|
||||||
if (!com.empty())
|
if (!com.empty())
|
||||||
{
|
{
|
||||||
af->curr().zero();
|
af.curr().zero();
|
||||||
af->setkey(1);
|
af.setkey(1);
|
||||||
af->put("CODANAGR",com);
|
af.put("CODANAGR",com);
|
||||||
af->put("TIPOA","F");
|
af.put("TIPOA","F");
|
||||||
af->read();
|
af.read();
|
||||||
}
|
}
|
||||||
a = af->get("RAGSOC");
|
a = af.get("RAGSOC");
|
||||||
if (!com.empty())
|
if (!com.empty())
|
||||||
{
|
{
|
||||||
af->setkey(k);
|
af.setkey(k);
|
||||||
af->readat(last);
|
af.readat(last);
|
||||||
b = a.sub(30); a = a.left(20);
|
b = a.sub(30); a = a.left(20);
|
||||||
}
|
}
|
||||||
else { a = ""; b = ""; }
|
else { a = ""; b = ""; }
|
||||||
@ -407,22 +407,22 @@ void BA6100_App::set_scheda_attiv()
|
|||||||
// cerca depositario
|
// cerca depositario
|
||||||
TString com = get_field(LF_ATTIV,"CODANGRDS");
|
TString com = get_field(LF_ATTIV,"CODANGRDS");
|
||||||
TString a = get_field(LF_ATTIV,"TIPOADS");
|
TString a = get_field(LF_ATTIV,"TIPOADS");
|
||||||
TLocalisamfile* af = current_cursor()->file(LF_ANAG);
|
TLocalisamfile& af = current_cursor()->file(LF_ANAG);
|
||||||
TRecnotype last = af->recno();
|
TRecnotype last = af.recno();
|
||||||
af->curr().zero();
|
af.curr().zero();
|
||||||
int k = af->getkey();
|
int k = af.getkey();
|
||||||
af->setkey(1);
|
af.setkey(1);
|
||||||
af->curr().put("CODANAGR",com);
|
af.curr().put("CODANAGR",com);
|
||||||
af->curr().put("TIPOA",a);
|
af.curr().put("TIPOA",a);
|
||||||
|
|
||||||
TString b = af->curr().get("RAGSOC");
|
TString b = af.curr().get("RAGSOC");
|
||||||
com = af->curr().get("INDRF");
|
com = af.curr().get("INDRF");
|
||||||
if (com.empty()) com = af->curr().get("INDRES");
|
if (com.empty()) com = af.curr().get("INDRES");
|
||||||
TString c = af->curr().get("COMRF");
|
TString c = af.curr().get("COMRF");
|
||||||
if (c.empty) c = af->curr().get("COMRES");
|
if (c.empty) c = af.curr().get("COMRES");
|
||||||
TRectype& cm = look_com(a);
|
TRectype& cm = look_com(a);
|
||||||
af->readat(last);
|
af.readat(last);
|
||||||
af->setkey(k);
|
af.setkey(k);
|
||||||
|
|
||||||
set_row(10,"Depositario@20gCodice @pn (%s): %s",
|
set_row(10,"Depositario@20gCodice @pn (%s): %s",
|
||||||
FLD(LF_ATTIV,"CODANGRDS"),
|
FLD(LF_ATTIV,"CODANGRDS"),
|
||||||
@ -504,26 +504,26 @@ void BA6100_App::set_scheda_socio()
|
|||||||
int rw;
|
int rw;
|
||||||
TString b1, b2, b3;
|
TString b1, b2, b3;
|
||||||
|
|
||||||
TLocalisamfile* ana = current_cursor()->file(LF_ANAG);
|
TLocalisamfile& ana = current_cursor()->file(LF_ANAG);
|
||||||
TLocalisamfile* soc = current_cursor()->file(LF_SOCI);
|
TLocalisamfile& soc = current_cursor()->file(LF_SOCI);
|
||||||
TRecnotype rno = ana->recno();
|
TRecnotype rno = ana.recno();
|
||||||
int k = ana->getkey();
|
int k = ana.getkey();
|
||||||
|
|
||||||
ana->zero();
|
ana.zero();
|
||||||
ana->put("TIPOA",soc->get("TIPOASOC"));
|
ana.put("TIPOA",soc.get("TIPOASOC"));
|
||||||
ana->put("CODANAGR",soc->get("CODANAGRSO"));
|
ana.put("CODANAGR",soc.get("CODANAGRSO"));
|
||||||
ana->read();
|
ana.read();
|
||||||
|
|
||||||
TString codconiuge = "";
|
TString codconiuge = "";
|
||||||
|
TLocalisamfile* anaf;
|
||||||
|
|
||||||
if (soc->get("TIPOASOC") == "F")
|
if (soc.get("TIPOASOC") == "F")
|
||||||
{
|
{
|
||||||
TLocalisamfile* anaf;
|
|
||||||
TRecnotype rn = 0; int kk = 1;
|
TRecnotype rn = 0; int kk = 1;
|
||||||
|
|
||||||
if (_pr_what == anafis)
|
if (_pr_what == anafis)
|
||||||
{
|
{
|
||||||
anaf = current_cursor()->file(LF_ANAGFIS);
|
anaf = ¤t_cursor()->file(LF_ANAGFIS);
|
||||||
rn = anaf->recno();
|
rn = anaf->recno();
|
||||||
kk = anaf->getkey();
|
kk = anaf->getkey();
|
||||||
}
|
}
|
||||||
@ -534,7 +534,7 @@ void BA6100_App::set_scheda_socio()
|
|||||||
}
|
}
|
||||||
|
|
||||||
anaf->zero();
|
anaf->zero();
|
||||||
anaf->put("CODANAGR",soc->get("CODANAGRSO"));
|
anaf->put("CODANAGR",soc.get("CODANAGRSO"));
|
||||||
anaf->read();
|
anaf->read();
|
||||||
TRectype& com = look_com(anaf->get("COMNASC"));
|
TRectype& com = look_com(anaf->get("COMNASC"));
|
||||||
|
|
||||||
@ -580,7 +580,7 @@ void BA6100_App::set_scheda_socio()
|
|||||||
}
|
}
|
||||||
set_row(rw,"");
|
set_row(rw,"");
|
||||||
|
|
||||||
TRectype& com = look_com(ana->get("COMRES"));
|
TRectype& com = look_com(ana.get("COMRES"));
|
||||||
|
|
||||||
b1 = com.get("DENCOM");
|
b1 = com.get("DENCOM");
|
||||||
b2 = com.get("PROVCOM");
|
b2 = com.get("PROVCOM");
|
||||||
@ -594,7 +594,7 @@ void BA6100_App::set_scheda_socio()
|
|||||||
|
|
||||||
set_row(rw+3,"");
|
set_row(rw+3,"");
|
||||||
|
|
||||||
TString car = look_tab("%CRS",soc->get("CODCAR"));
|
TString car = look_tab("%CRS",soc.get("CODCAR"));
|
||||||
|
|
||||||
set_row(rw+4,"Carica@20gCod. @pN@30g%s@62gScadenza @lD",
|
set_row(rw+4,"Carica@20gCod. @pN@30g%s@62gScadenza @lD",
|
||||||
FLD(LF_SOCI,"CODCAR","@@"),
|
FLD(LF_SOCI,"CODCAR","@@"),
|
||||||
@ -632,8 +632,8 @@ void BA6100_App::set_scheda_socio()
|
|||||||
FLD(LF_SOCI,"DATAAGG"));
|
FLD(LF_SOCI,"DATAAGG"));
|
||||||
set_row(rw+13,""); set_row(rw+14,"");
|
set_row(rw+13,""); set_row(rw+14,"");
|
||||||
|
|
||||||
ana->setkey(k);
|
ana.setkey(k);
|
||||||
ana->readat(rno);
|
ana.readat(rno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,7 +148,6 @@ BA6200_application::BA6200_application()
|
|||||||
bool BA6200_application::set_print(int)
|
bool BA6200_application::set_print(int)
|
||||||
{
|
{
|
||||||
KEY tasto;
|
KEY tasto;
|
||||||
TLocalisamfile* fl;
|
|
||||||
TString statoini,statofine,codiceini,codicefine,denomini,denomfine;
|
TString statoini,statofine,codiceini,codicefine,denomini,denomfine;
|
||||||
|
|
||||||
tasto = _msk->run();
|
tasto = _msk->run();
|
||||||
@ -170,9 +169,9 @@ bool BA6200_application::set_print(int)
|
|||||||
add_file(LF_COMUNI);
|
add_file(LF_COMUNI);
|
||||||
|
|
||||||
select_cursor(_cur1);
|
select_cursor(_cur1);
|
||||||
fl = current_cursor()->file(LF_COMUNI);
|
TLocalisamfile& fl = current_cursor()->file(LF_COMUNI);
|
||||||
TRectype da (fl->curr());
|
TRectype da (fl.curr());
|
||||||
TRectype a (fl->curr());
|
TRectype a (fl.curr());
|
||||||
|
|
||||||
da.zero();
|
da.zero();
|
||||||
a.zero();
|
a.zero();
|
||||||
@ -196,9 +195,9 @@ bool BA6200_application::set_print(int)
|
|||||||
reset_files();
|
reset_files();
|
||||||
add_file(LF_COMUNI);
|
add_file(LF_COMUNI);
|
||||||
|
|
||||||
fl = current_cursor()->file(LF_COMUNI);
|
TLocalisamfile& fl = current_cursor()->file(LF_COMUNI);
|
||||||
TRectype da (fl->curr());
|
TRectype da (fl.curr());
|
||||||
TRectype a (fl->curr());
|
TRectype a (fl.curr());
|
||||||
|
|
||||||
da.zero();
|
da.zero();
|
||||||
a.zero();
|
a.zero();
|
||||||
|
@ -1,12 +1,17 @@
|
|||||||
#include "ba3200.h"
|
#include "ba3200.h"
|
||||||
|
|
||||||
PAGE "Stampa Tabella IV direttiva CEE" -1 -1 69 8
|
PAGE "Stampa Tabella IV direttiva CEE" -1 -1 68 9
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 66 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bDa codice"
|
||||||
|
END
|
||||||
|
|
||||||
STRING F_INIZIO1 1
|
STRING F_INIZIO1 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Da sezione "
|
PROMPT 2 2 "Sezione "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
HELP "Inserire il codice d'inizio "
|
HELP "Codice da cui iniziare la stampa"
|
||||||
FIELD CODTAB[1,1]
|
FIELD CODTAB[1,1]
|
||||||
USE %IVD
|
USE %IVD
|
||||||
INPUT CODTAB[1,1] F_INIZIO1
|
INPUT CODTAB[1,1] F_INIZIO1
|
||||||
@ -27,9 +32,8 @@ END
|
|||||||
|
|
||||||
STRING F_INIZIO2 1
|
STRING F_INIZIO2 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 1 "Da lettera "
|
PROMPT 17 2 "Lettera "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
HELP "Inserire il codice d'inizio "
|
|
||||||
FIELD CODTAB[2,2]
|
FIELD CODTAB[2,2]
|
||||||
COPY ALL F_INIZIO1
|
COPY ALL F_INIZIO1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
@ -37,9 +41,8 @@ END
|
|||||||
|
|
||||||
NUMBER F_INIZIO3 8 4
|
NUMBER F_INIZIO3 8 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 1 "Da classe "
|
PROMPT 31 2 "Classe "
|
||||||
FLAGS "UM"
|
FLAGS "UM"
|
||||||
HELP "Inserire il codice d'inizio "
|
|
||||||
FIELD CODTAB[3,6]
|
FIELD CODTAB[3,6]
|
||||||
COPY ALL F_INIZIO1
|
COPY ALL F_INIZIO1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
@ -47,18 +50,22 @@ END
|
|||||||
|
|
||||||
NUMBER F_INIZIO4 2
|
NUMBER F_INIZIO4 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 53 1 "Da numero "
|
PROMPT 52 2 "Numero "
|
||||||
FLAGS "RZ"
|
FLAGS "RZ"
|
||||||
HELP "Inserire il codice d'inizio "
|
|
||||||
FIELD CODTAB[7,8]
|
FIELD CODTAB[7,8]
|
||||||
COPY ALL F_INIZIO1
|
COPY ALL F_INIZIO1
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 66 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "@bA Codice"
|
||||||
|
END
|
||||||
|
|
||||||
STRING F_FINE1 1
|
STRING F_FINE1 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 3 "A sezione "
|
PROMPT 2 5 "Sezione "
|
||||||
HELP "Inserire il codice di fine "
|
HELP "Codice finale da stampare"
|
||||||
FIELD CODTAB[1,1]
|
FIELD CODTAB[1,1]
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
COPY USE F_INIZIO1
|
COPY USE F_INIZIO1
|
||||||
@ -76,19 +83,17 @@ END
|
|||||||
|
|
||||||
STRING F_FINE2 1
|
STRING F_FINE2 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 3 "A lettera "
|
PROMPT 17 5 "Lettera "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
COPY ALL F_FINE1
|
COPY ALL F_FINE1
|
||||||
HELP "Inserire il codice di fine "
|
|
||||||
FIELD CODTAB[2,2]
|
FIELD CODTAB[2,2]
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_FINE3 8 4
|
NUMBER F_FINE3 8 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 3 "A classe "
|
PROMPT 31 5 "Classe "
|
||||||
FLAGS "UM"
|
FLAGS "UM"
|
||||||
HELP "Inserire il codice di fine "
|
|
||||||
FIELD CODTAB[3,6]
|
FIELD CODTAB[3,6]
|
||||||
COPY ALL F_FINE1
|
COPY ALL F_FINE1
|
||||||
GROUP 2
|
GROUP 2
|
||||||
@ -96,20 +101,20 @@ END
|
|||||||
|
|
||||||
NUMBER F_FINE4 2
|
NUMBER F_FINE4 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 53 3 "A numero "
|
PROMPT 52 5 "Numero "
|
||||||
FLAGS "RZ"
|
FLAGS "RZ"
|
||||||
HELP "Inserire il codice di fine "
|
|
||||||
FIELD CODTAB[7,8]
|
FIELD CODTAB[7,8]
|
||||||
COPY ALL F_FINE1
|
COPY ALL F_FINE1
|
||||||
GROUP 2
|
GROUP 2
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_OK 8 2
|
BUTTON DLG_PRINT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -12 -1 ""
|
PROMPT -12 -1 "~Stampa"
|
||||||
|
MESSAGE EXIT,K_ENTER
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 8 2
|
BUTTON DLG_QUIT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -22 -1 ""
|
PROMPT -22 -1 ""
|
||||||
END
|
END
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
0|Menu Principale|
|
0|Menu Principale|
|
||||||
0|Anagrafiche|1
|
0|Anagrafiche|1
|
||||||
0|Contabilita'|4
|
0|Contabilita'|4
|
||||||
|
0|Terreni e fabbricati|tefa -t
|
||||||
|
0|Modello 740|.\740 -t
|
||||||
0|Manutenzione|ba1
|
0|Manutenzione|ba1
|
||||||
1|Gestione Anagrafiche|1
|
1|Gestione Anagrafiche|1
|
||||||
1|Persone fisiche|ba4 -1 F
|
1|Persone fisiche|ba4 -1 F
|
||||||
@ -50,7 +52,7 @@
|
|||||||
4|IVA|10
|
4|IVA|10
|
||||||
4|Parametri di studio|cg5 -0
|
4|Parametri di studio|cg5 -0
|
||||||
4|Gestione Libro Unico|14
|
4|Gestione Libro Unico|14
|
||||||
5|Tabelle studio|
|
5|Tabelle studio|1
|
||||||
5|Tipi documento|ba3 -0 %tpd
|
5|Tipi documento|ba3 -0 %tpd
|
||||||
5|Cond. di pagamento|ba3 -0 %cpg
|
5|Cond. di pagamento|ba3 -0 %cpg
|
||||||
5|Descrizioni aggiuntive|ba3 -0 %dpn
|
5|Descrizioni aggiuntive|ba3 -0 %dpn
|
||||||
@ -62,7 +64,7 @@
|
|||||||
5|IV direttiva CEE|ba3 -0 %ivd
|
5|IV direttiva CEE|ba3 -0 %ivd
|
||||||
5|Valute|ba3 -0 %val
|
5|Valute|ba3 -0 %val
|
||||||
5|Lingue|ba3 -0 %lng
|
5|Lingue|ba3 -0 %lng
|
||||||
6|Stampa tabelle studio|
|
6|Stampa tabelle studio|3
|
||||||
6|Cond. di pagamento|ba3 -1 %cpg
|
6|Cond. di pagamento|ba3 -1 %cpg
|
||||||
6|Descrizioni aggiuntive|ba3 -1 %dpn
|
6|Descrizioni aggiuntive|ba3 -1 %dpn
|
||||||
6|Codici IVA|ba3 -1 %iva
|
6|Codici IVA|ba3 -1 %iva
|
||||||
@ -73,7 +75,7 @@
|
|||||||
6|IV direttiva CEE|ba3 -1 %ivd
|
6|IV direttiva CEE|ba3 -1 %ivd
|
||||||
6|Valute|ba3 -1 %val
|
6|Valute|ba3 -1 %val
|
||||||
6|Lingue|ba3 -1 %lng
|
6|Lingue|ba3 -1 %lng
|
||||||
7|Tabelle ditta|
|
7|Tabelle ditta|2
|
||||||
7|Parametri ditta|cg5 -1
|
7|Parametri ditta|cg5 -1
|
||||||
7|Registri|ba3 -0 reg
|
7|Registri|ba3 -0 reg
|
||||||
7|Piano dei conti|cg0 -0
|
7|Piano dei conti|cg0 -0
|
||||||
@ -105,14 +107,14 @@
|
|||||||
10|Stampa registri|cg4 -3
|
10|Stampa registri|cg4 -3
|
||||||
10|Progressivi allegati|cg0 -2
|
10|Progressivi allegati|cg0 -2
|
||||||
10|Stampa allegati|cg3 -2
|
10|Stampa allegati|cg3 -2
|
||||||
11|Tabelle ministeriali|
|
11|Tabelle ministeriali|1
|
||||||
11|Comuni|ba4 -0
|
11|Comuni|ba4 -0
|
||||||
11|Uffici concessioni|ba3 -0 %ucc
|
11|Uffici concessioni|ba3 -0 %ucc
|
||||||
11|Uffici imposte dirette|ba3 -0 %uid
|
11|Uffici imposte dirette|ba3 -0 %uid
|
||||||
11|Uffici IVA|ba3 -0 %uiv
|
11|Uffici IVA|ba3 -0 %uiv
|
||||||
11|Uffici registro|ba3 -0 %ure
|
11|Uffici registro|ba3 -0 %ure
|
||||||
11|Centri servizio|ba3 -0 %ucs
|
11|Centri servizio|ba3 -0 %ucs
|
||||||
12|Stampa tabelle ministeriali|
|
12|Stampa tabelle ministeriali|3
|
||||||
12|Comuni|ba6 -1
|
12|Comuni|ba6 -1
|
||||||
12|Uffici concessioni|ba3 -1 %ucc
|
12|Uffici concessioni|ba3 -1 %ucc
|
||||||
12|Uffici imposte dirette|ba3 -1 %uid
|
12|Uffici imposte dirette|ba3 -1 %uid
|
||||||
@ -123,7 +125,7 @@
|
|||||||
13|Tabelle ditta|7
|
13|Tabelle ditta|7
|
||||||
13|Stampa tabelle ditta|8
|
13|Stampa tabelle ditta|8
|
||||||
13|Prima nota|9
|
13|Prima nota|9
|
||||||
14|Gestione Libro Unico
|
14|Gestione Libro Unico|1
|
||||||
14|Tabella Libro Unico|ba3 -4
|
14|Tabella Libro Unico|ba3 -4
|
||||||
14|Tabella Vidimazioni|ba3 -0 %vid
|
14|Tabella Vidimazioni|ba3 -0 %vid
|
||||||
14|Stampa Indici Libro Unico|ba3 -5
|
14|Stampa Indici Libro Unico|ba3 -5
|
||||||
|
Loading…
x
Reference in New Issue
Block a user