Patch level : 10

Files correlati     :
Ricompilazione Demo : [ ]
Commento            : avanzamento lavori conversione dati hardy


git-svn-id: svn://10.65.10.50/branches/R_10_00@21036 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-10-20 12:46:31 +00:00
parent 92534c1a15
commit 83f4f9e0d7
5 changed files with 281 additions and 140 deletions

View File

@ -264,7 +264,6 @@ bool THardy_transfer::test_write(TBaseisamfile& file)
return err == NOERR;
}
const TString& THardy_transfer::get_str(const char* field) const
{
return recordset().get(field).as_string();
@ -364,11 +363,7 @@ THardy_transfer::~THardy_transfer()
delete _recset;
}
///////////////////////////////////////////////////////////
// THardy_pag
///////////////////////////////////////////////////////////
void THardy_pag::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
void THardy_transfer::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
{
TString campo_dest, campo_orig, valore, str;
@ -378,37 +373,48 @@ void THardy_pag::aggiorna_record(TRectype& rec, const TString_array& lista_campi
row->get(1, campo_orig);
if (campo_orig.full())
{
valore = get_str(campo_orig);
if (campo_orig[0] == '_')
{
TToken_string elabora(campo_orig.mid(1),',');
const TString& str = elabora.get();
if (str == "TAB") // formato _TAB, <tabella da leggere>,<valore CODTAB>, <campo da leggere>
{
const TString4 tab = elabora.get(); // tabella da leggere
const TString80 campo = elabora.get();
const TString16 codtab = get_str(campo);
const TString80 campotab = elabora.get();
valore = cache().get(tab, codtab, campotab);
}
else if (str == "FISSO")
valore = elabora.get(); // valore fisso indicato in configurazione
}
else
valore = get_str(campo_orig);
rec.put(campo_dest, valore);
}
}
}
///////////////////////////////////////////////////////////
// THardy_pag
///////////////////////////////////////////////////////////
bool THardy_pag::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.Pagamenti ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CPG", true);
TTable table("%CPG");
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
const TString& codtab = get_str("IdPagamento");
rec.zero();
rec.put("CODTAB", codtab);
aggiorna_record(rec, lista_campi);
test_write(table);
}
return write_enabled();
@ -418,45 +424,21 @@ bool THardy_pag::trasferisci()
// THardy_iva
///////////////////////////////////////////////////////////
void THardy_iva::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
{
TString campo_dest, campo_orig, valore, str;
FOR_EACH_ARRAY_ROW(lista_campi,i,row)
{
row->get(0, campo_dest);
row->get(1, campo_orig);
if (campo_orig.full())
{
valore = get_str(campo_orig);
rec.put(campo_dest, valore);
}
}
}
bool THardy_iva::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.AliquoteIVA ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "IVA", true);
TTable table("%IVA");
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
const TString& codtab = get_str("IdIva");
rec.zero();
rec.put("CODTAB", codtab);
aggiorna_record(rec, lista_campi);
test_write(table);
}
@ -467,45 +449,21 @@ bool THardy_iva::trasferisci()
// THardy_catmerc
///////////////////////////////////////////////////////////
void THardy_catmerc::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
{
TString campo_dest, campo_orig, valore, str;
FOR_EACH_ARRAY_ROW(lista_campi,i,row)
{
row->get(0, campo_dest);
row->get(1, campo_orig);
if (campo_orig.full())
{
valore = get_str(campo_orig);
rec.put(campo_dest, valore);
}
}
}
bool THardy_catmerc::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.CategorieMerc ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "GMC", true);
TTable table("%GMC");
TRectype& rec = table.curr();
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
const TString& codtab = get_str("IdCategoria");
rec.zero();
rec.put("CODTAB", codtab);
aggiorna_record(rec, lista_campi);
test_write(table);
}
@ -516,45 +474,21 @@ bool THardy_catmerc::trasferisci()
// THardy_catfisc
///////////////////////////////////////////////////////////
void THardy_catfisc::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
{
TString campo_dest, campo_orig, valore, str;
FOR_EACH_ARRAY_ROW(lista_campi,i,row)
{
row->get(0, campo_dest);
row->get(1, campo_orig);
if (campo_orig.full())
{
valore = get_str(campo_orig);
rec.put(campo_dest, valore);
}
}
}
bool THardy_catfisc::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.CategorieFisc ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "ASF", true);
TTable table("%ASF");
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
const TString& codtab = get_str("IdCategoria");
rec.zero();
rec.put("CODTAB", codtab);
aggiorna_record(rec, lista_campi);
test_write(table);
}
@ -565,22 +499,6 @@ bool THardy_catfisc::trasferisci()
// THardy_ban
///////////////////////////////////////////////////////////
void THardy_ban::aggiorna_record(TRectype& rec, const TString_array& lista_campi)
{
TString campo_dest, campo_orig, valore, str;
FOR_EACH_ARRAY_ROW(lista_campi,i,row)
{
row->get(0, campo_dest);
row->get(1, campo_orig);
if (campo_orig.full())
{
valore = get_str(campo_orig);
rec.put(campo_dest, valore);
}
}
}
bool THardy_ban::trasferisci()
{
bool ok = trasferisci_abi();
@ -594,26 +512,20 @@ bool THardy_ban::trasferisci_abi()
TString query =
"SELECT * "
"FROM dbo.Banche ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "ABI", true);
TSystemisamfile table(LF_TABCOM);
table.open(_lock);
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
TString16 codtab = get_str("IdBanca");
codtab.lpad(5,'0');
rec.zero();
rec.put("COD", "BAN");
rec.put("CODTAB", codtab);
aggiorna_record(rec, lista_campi);
test_write(table);
@ -627,20 +539,13 @@ bool THardy_ban::trasferisci_cab()
TString query =
"SELECT * "
"FROM dbo.Agenzie ";
TRecordset& recset = create_recordset(query);
TString str;
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CAB", true);
TSystemisamfile table(LF_TABCOM);
table.open(_lock);
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
@ -657,6 +562,116 @@ bool THardy_ban::trasferisci_cab()
return write_enabled();
}
///////////////////////////////////////////////////////////
// THardy_caucont
///////////////////////////////////////////////////////////
bool THardy_caucont::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.CausaliContab ";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CAUCONT", true);
TSystemisamfile table(LF_CAUSALI);
table.open(_lock);
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
rec.zero();
aggiorna_record(rec, lista_campi);
test_write(table);
}
table.close();
return write_enabled();
}
///////////////////////////////////////////////////////////
// THardy_caumag
///////////////////////////////////////////////////////////
bool THardy_caumag::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.CausaliMagaz ";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CAUMAG", true);
TTable table("%CAU");
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
rec.zero();
aggiorna_record(rec, lista_campi);
test_write(table);
}
return write_enabled();
}
///////////////////////////////////////////////////////////
// THardy_um
///////////////////////////////////////////////////////////
bool THardy_um::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.UnitaMisura ";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "UM", true);
TTable table("%UMS");
TRectype& rec = table.curr();
THardy_iterator hi(this);
while (++hi)
{
rec.zero();
aggiorna_record(rec, lista_campi);
test_write(table);
}
return write_enabled();
}
///////////////////////////////////////////////////////////
// THardy_art
///////////////////////////////////////////////////////////
bool THardy_art::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.Articoli ";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi_anamag, lista_campi_umart;
ini.list_variables(lista_campi_anamag, true, "ANAMAG", true);
ini.list_variables(lista_campi_umart, true, "UMART", true);
TSystemisamfile anamag(LF_ANAMAG);
anamag.open(_lock);
TRectype& rec_anamag = anamag.curr();
TSystemisamfile umart(LF_UMART);
umart.open(_lock);
TRectype& rec_umart = umart.curr();
THardy_iterator hi(this);
while (++hi)
{
aggiorna_record(rec_anamag, lista_campi_anamag);
test_write(anamag);
aggiorna_record(rec_umart, lista_campi_umart);
test_write(umart);
}
anamag.close();
umart.close();
return write_enabled();
}
///////////////////////////////////////////////////////////
// TImportazioneHardy_mask
///////////////////////////////////////////////////////////
@ -747,6 +762,39 @@ void TImportazioneHardy_mask::trasferisci()
book.add(log);
rep_to_print = true;
}
if (go_on && get_bool(F_CAUCONT))
{
THardy_caucont pc;
pc.init(TR("Causali contabili"), query_header, log);
go_on = pc.trasferisci();
book.add(log);
rep_to_print = true;
}
if (go_on && get_bool(F_CAUMAG))
{
THardy_caumag pc;
pc.init(TR("Causali magazzino"), query_header, log);
go_on = pc.trasferisci();
book.add(log);
rep_to_print = true;
}
if (go_on && get_bool(F_UM))
{
THardy_um pc;
pc.init(TR("Unità di misura"), query_header, log);
go_on = pc.trasferisci();
book.add(log);
rep_to_print = true;
}
if (go_on && get_bool(F_ARTICOLI))
{
THardy_art pc;
pc.init(TR("Articoli"), query_header, log);
go_on = pc.trasferisci();
book.add(log);
rep_to_print = true;
}
if (rep_to_print && book.pages() > 0)
book.preview();

View File

@ -56,6 +56,7 @@ protected:
THardy_transfer();
virtual bool trasferisci() pure;
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
public:
void init(const char* rh, const char* qh, THardy_log& log);
@ -125,44 +126,26 @@ public:
// Trasferimenti veri e propri
///////////////////////////////////////////////////////////
class THardy_conti : public THardy_transfer
{
public:
virtual bool trasferisci();
};
class THardy_pag : public THardy_transfer
{
protected:
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
public:
virtual bool trasferisci();
};
class THardy_iva : public THardy_transfer
{
protected:
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
public:
virtual bool trasferisci();
};
class THardy_catmerc : public THardy_transfer
{
protected:
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
public:
virtual bool trasferisci();
};
class THardy_catfisc : public THardy_transfer
{
protected:
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
public:
virtual bool trasferisci();
};
@ -170,7 +153,6 @@ public:
class THardy_ban : public THardy_transfer
{
protected:
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
bool trasferisci_abi();
bool trasferisci_cab();
@ -178,6 +160,35 @@ public:
virtual bool trasferisci();
};
class THardy_caucont : public THardy_transfer
{
public:
virtual bool trasferisci();
};
class THardy_caumag : public THardy_transfer
{
public:
virtual bool trasferisci();
};
class THardy_um : public THardy_transfer
{
public:
virtual bool trasferisci();
};
class THardy_art : public THardy_transfer
{
public:
virtual bool trasferisci();
};
class THardy_conti : public THardy_transfer
{
public:
virtual bool trasferisci();
};
/*
class THardy_clifo : public THardy_transfer

View File

@ -12,6 +12,14 @@
#define F_CAUCONT 116
#define F_CAUMAG 117
#define F_CAUCESP 118
#define F_UM 119
#define F_CLI 151
#define F_FOR 152
#define F_PCON 153
#define F_ARTICOLI 154
#define F_LISTINI 155
#define F_CONTRATTI 156
#define F_AGENTI 157
#define F_DSN 201
#define F_USR 202

View File

@ -1,5 +1,6 @@
// tabella condizioni di pagamento = Pagamenti
[CPG]
CODTAB=IdPagamento
S0=DsPagamento
S1=
S3=
@ -20,6 +21,7 @@ RI=8
// tabella codici IVA = AliquoteIVA
[IVA]
CODTAB=IdIva
S0=DsIvaEstesa
S1=
S2=
@ -54,10 +56,12 @@ B4=
// tabella gruppi merceologici = CategorieMerc
[GMC]
CODTAB=IdCategoria
S0=DsCategoria
// tabella classi fiscali = CategorieFisc
[ASF]
CODTAB=IdCategoria
S0=DsCategoria
// tabella Banche ABI = Banche
@ -68,8 +72,28 @@ S0=DsBanca
S0=DsDocumento
[CAUCONT]
CODCAUS=IdCausale
DESCR=DsCausaleEstesa
[CAUMAG]
CODTAB=IdCausale
S0=DsCausaleEstesa
[UM]
CODTAB=IdUm
S0=DsUm
[ANAMAG]
CODART=IdProdotto
DESCR=DsProdotto
CODIVA=IdIva
GRMERC=IdCategoria
[UMART]
CODART=IdProdotto
NRIGA=_FISSO,1
UM=IdUM1
[CLIFO]
RAGSOC = _STREXPR,LEFT(TradeName1+" "+TradeName2; 50)
INDCF = Address
@ -260,3 +284,8 @@ PERCSPINC=
[TIPODOC]
20 = B01
DDT C/RIP = BOF
[Main]
201 = hardy
202 =
203 =

View File

@ -29,7 +29,7 @@ BEGIN
FLAGS "D"
END
GROUPBOX DLG_NULL 78 6
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 1 4 "@bTabelle"
END
@ -74,6 +74,51 @@ BEGIN
PROMPT 32 8 "Causali cespiti"
END
BOOLEAN F_UM
BEGIN
PROMPT 2 9 "Unità di misura"
END
GROUPBOX DLG_NULL 78 6
BEGIN
PROMPT 1 11 "@bArchivi"
END
BOOLEAN F_CLI
BEGIN
PROMPT 2 12 "Clienti"
END
BOOLEAN F_FOR
BEGIN
PROMPT 2 13 "Fornitori"
END
BOOLEAN F_PCON
BEGIN
PROMPT 2 14 "Piano dei conti"
END
BOOLEAN F_ARTICOLI
BEGIN
PROMPT 2 15 "Articoli"
END
BOOLEAN F_LISTINI
BEGIN
PROMPT 32 12 "Listini"
END
BOOLEAN F_CONTRATTI
BEGIN
PROMPT 32 13 "Contratti"
END
BOOLEAN F_AGENTI
BEGIN
PROMPT 32 14 "Agenti"
END
ENDPAGE
PAGE "Configurazione" -1 -1 78 18