Patch level :

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@21315 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2010-12-16 09:16:05 +00:00
parent 05e2465bf1
commit d7a30c260d
2 changed files with 68 additions and 23 deletions

View File

@ -10,9 +10,11 @@
#include <reputils.h>
#include <tabutil.h>
#include <pconti.h>
#include <clifo.h>
#include <pconti.h>
#include "..\pr\agenti.h"
#include <..\ve\condv.h>
#include <..\ve\rcondv.h>
const char* const APPNAME = TR("Conversione anagrafiche");
@ -924,7 +926,6 @@ bool THardy_listini::trasferisci()
// array per la conversione tra IdListino e kListino
TAssoc_array listini;
TToken_string key;
TString8 idlistino;
@ -977,35 +978,79 @@ bool THardy_listini::trasferisci()
// THardy_contratti
///////////////////////////////////////////////////////////
// trasferisce tabella ListiniCF (condv C)
// trasferisce tabella contrattiT contrattiR e contrattiD
// inserisco una testata per ogni cliente e tutte le righe relative agli articoli di quel cliente
// tralasciando le righe con DataFine < data impostata da parametri
bool THardy_contratti::trasferisci()
{
TString query =
"SELECT * "
"FROM dbo.ListiniCF "
"ORDER BY IdConto ";
"FROM dbo.ContrattiT, dbo.ContrattiR "
"WHERE ContrattiT.KContrattoT=ContrattiR.KContrattoT";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CONTRATTI", true);
TSystemisamfile condv(LF_CONDV);
TSystemisamfile rcondv(LF_RCONDV);
condv.open(_lock);
rcondv.open(_lock);
TRectype& rec_condv = condv.curr();
TRectype& rec_rcondv = rcondv.curr();
TRectype& rec = condv.curr();
THardy_iterator hi(this);
int oldconto = -1;
int codcontratto = 0;
// array per la conversione tra IdContratto e kContrattoT
TAssoc_array listini, clienti;
TString8 idlistino;
while (++hi)
{
aggiorna_record(rec_condv, lista_campi);
const TString8 klistino = get_str("KContrattoT");
idlistino = get_str("IdContratto");
const TString& key = get_str("ContrattiR.IdConto");
const long codcf = hd_key2cli(key);
listini.add(klistino, idlistino);
clienti.add(klistino, key);
aggiorna_record(rec, lista_campi);
rec.put(CONDV_CODCF, codcf);
test_write(condv);
}
condv.close();
// trasferisce tabella ContrattiD (RCONDV)
if (write_enabled())
{
TString query =
"SELECT * "
"FROM dbo.ContrattiD ";
TRecordset& recset = create_recordset(query);
TConfig& ini = config();
TString_array lista_campi;
ini.list_variables(lista_campi, true, "CONTRATTID", true);
TSystemisamfile rcondv(LF_RCONDV);
rcondv.open(_lock);
TRectype& rec = rcondv.curr();
THardy_iterator hi(this);
while (++hi)
{
const char* key = get_str("KContrattoT");
if (listini.is_key(key))
{
TString8& idlistino = (TString8&) listini[key];
TString8& scodcf = (TString8&) clienti[key];
const long codcf = hd_key2cli(scodcf);
rec.put(RCONDV_COD, idlistino);
rec.put(RCONDV_CODCF, codcf);
aggiorna_record(rec, lista_campi);
test_write(rcondv);
}
else
{
TString msg;
msg << TR("Impossibile stabilire codice del contratto ") << " '" << key << '\'';
log(msg);
}
}
rcondv.close();
}
return write_enabled();
}

View File

@ -371,16 +371,16 @@ DATAPRZSTO =
[CONTRATTI]
TIPO = _FISSO,C
CATVEN =
TIPOCF =
TIPOCF = _FISSO,C
CODCF =
COD = KListino
DESCR = IdListino
COD = IdContratto
DESCR = DsContratto
CODVAL = _TRADUCI,IdDivisa
CAMBIO =
CONTROEURO =
DATACAM =
VALIN = 01-01-2001
VALFIN = 31-12-2100
VALIN =
VALFIN =
IMPLORDI =
GESTUM =
GESTSCAGL =
@ -393,12 +393,12 @@ FATHCATVEN =
FATHCOD =
ARROTONDA =
[LISTINID]
TIPO = _FISSO,L
[CONTRATTID]
TIPO = _FISSO,C
CATVEN =
TIPOCF =
TIPOCF = _FISSO,C
CODCF =
COD = KListino
COD =
TIPORIGA = _FISSO,A
CODRIGA = IdProdotto
UM =