Migliorata gestione TAnagrafica
git-svn-id: svn://10.65.10.50/branches/R_10_00@23180 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e9a34d143f
commit
5f618c9efe
38
fe/felib.cpp
38
fe/felib.cpp
@ -1,5 +1,4 @@
|
||||
#include <diction.h>
|
||||
#include <progind.h>
|
||||
#include <recarray.h>
|
||||
#include <mask.h>
|
||||
#include <validate.h>
|
||||
@ -292,7 +291,6 @@ const TString& TAnagrafica::stato_partita_IVA() const
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
char TAnagrafica::is_black_list(const TDate& datareg) const
|
||||
{
|
||||
char is_black = ' ';
|
||||
@ -388,7 +386,10 @@ bool TAnagrafica::init(const TRectype& rec)
|
||||
_cofi = rec.get(ANA_COFI);
|
||||
_paiv = rec.get(ANA_PAIV);
|
||||
_stato_paiv = rec.get(ANA_STATOPAIV);
|
||||
|
||||
|
||||
if (_ragsoc.starts_with("EYCK"))
|
||||
int zingara = 1;
|
||||
|
||||
// Comune di residenza fiscale o domicilio
|
||||
_stato_estero = rec.get_int(ANA_STATORES);
|
||||
_com_res = rec.get(ANA_COMRF);
|
||||
@ -452,7 +453,7 @@ bool TAnagrafica::init(const TRectype& rec)
|
||||
if (!is_firm)
|
||||
is_firm = rs.ends_with(" spa") || (rs.find(" di ") > 15); // Shopping Point di Karoline Reiner
|
||||
}
|
||||
|
||||
|
||||
if (!is_firm)
|
||||
{
|
||||
bool has_cofi = false; // Codice fiscale alfanumerico?
|
||||
@ -574,6 +575,8 @@ bool TAnagrafica::init(const TRectype& rec)
|
||||
return init(rec.get_char(ALL_TIPOCF), rec.get_long(ALL_CODCF), rec.get(ALL_OCFPI));
|
||||
case LF_EFFETTI:
|
||||
return init(rec.get_char(EFF_TIPOCF), rec.get_long(EFF_CODCF), EMPTY_STRING);
|
||||
case LF_PERC:
|
||||
return init(LF_ANAG, rec.get_char("TIPOA"), rec.get_long("CODANAGR"));
|
||||
default:
|
||||
CHECKD(false, "Record non valido per TAnagrafica ", rec.num());
|
||||
break;
|
||||
@ -865,6 +868,20 @@ TSpesometro_set::TSpesometro_set() : TCSV_recordset("CSV(|)")
|
||||
// TCofi_cache
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCofi_cache : public TCache
|
||||
{
|
||||
TLocalisamfile _clifo, _occas;
|
||||
|
||||
protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
TObject* find_ragsoc(bool piva, char tipocf, const TString& code);
|
||||
|
||||
public:
|
||||
const TString& cofi2ragsoc(char tipocf, const TString& cofi);
|
||||
const TString& paiv2ragsoc(char tipocf, const TString& paiv);
|
||||
TCofi_cache() : _clifo(LF_CLIFO), _occas(LF_OCCAS) { }
|
||||
};
|
||||
|
||||
TObject* TCofi_cache::find_ragsoc(bool piva, char tipocf, const TString& code)
|
||||
{
|
||||
const int fkey = piva ? 5 : 4;
|
||||
@ -997,6 +1014,12 @@ const TString& TCofi_cache::paiv2ragsoc(char tipocf, const TString& paiv)
|
||||
// TSpesometro_rep
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
const TString& TSpesometro_rep::cofi2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TCofi_cache*)_cofi)->cofi2ragsoc(tipocf, cofi); }
|
||||
|
||||
const TString& TSpesometro_rep::paiv2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TCofi_cache*)_cofi)->paiv2ragsoc(tipocf, cofi); }
|
||||
|
||||
bool TSpesometro_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||
{
|
||||
if (name == "ANNO")
|
||||
@ -1004,7 +1027,7 @@ bool TSpesometro_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||
const TFixed_string d("DataReg");
|
||||
TVariant var;
|
||||
if (!get_record_field(d, var))
|
||||
var = "2013";
|
||||
var = "2015";
|
||||
else
|
||||
var = var.as_string().right(4);
|
||||
return true;
|
||||
@ -1015,6 +1038,7 @@ bool TSpesometro_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||
|
||||
TSpesometro_rep::TSpesometro_rep(const TFilename& file)
|
||||
{
|
||||
_cofi = new TCofi_cache;
|
||||
load("fe0100");
|
||||
|
||||
TSpesometro_set* set = new TSpesometro_set(file);
|
||||
@ -1034,3 +1058,7 @@ TSpesometro_rep::TSpesometro_rep(const TFilename& file)
|
||||
|
||||
set_recordset(set);
|
||||
}
|
||||
|
||||
TSpesometro_rep::~TSpesometro_rep()
|
||||
{ delete _cofi; }
|
||||
|
||||
|
25
fe/felib.h
25
fe/felib.h
@ -110,35 +110,18 @@ public:
|
||||
// TSpesometro_rep
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCofi_cache : public TCache
|
||||
{
|
||||
TLocalisamfile _clifo, _occas;
|
||||
|
||||
protected:
|
||||
virtual TObject* key2obj(const char* key);
|
||||
TObject* find_ragsoc(bool piva, char tipocf, const TString& code);
|
||||
|
||||
public:
|
||||
const TString& cofi2ragsoc(char tipocf, const TString& cofi);
|
||||
const TString& paiv2ragsoc(char tipocf, const TString& paiv);
|
||||
TCofi_cache() : _clifo(LF_CLIFO), _occas(LF_OCCAS) { }
|
||||
};
|
||||
|
||||
class TSpesometro_rep : public TReport
|
||||
{
|
||||
TCofi_cache _cofi;
|
||||
TCache* _cofi;
|
||||
|
||||
protected:
|
||||
const TString& cofi2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TSpesometro_rep*)this)->_cofi.cofi2ragsoc(tipocf, cofi); }
|
||||
|
||||
const TString& paiv2ragsoc(char tipocf, const TString& cofi) const
|
||||
{ return ((TSpesometro_rep*)this)->_cofi.paiv2ragsoc(tipocf, cofi); }
|
||||
|
||||
const TString& cofi2ragsoc(char tipocf, const TString& cofi) const;
|
||||
const TString& paiv2ragsoc(char tipocf, const TString& cofi) const;
|
||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||
|
||||
public:
|
||||
TSpesometro_rep(const TFilename& file);
|
||||
~TSpesometro_rep();
|
||||
};
|
||||
|
||||
// Utility
|
||||
|
Loading…
x
Reference in New Issue
Block a user