Patch level : 10 ha
Files correlati : Ricompilazione Demo : [ ] Commento : avanzamento lavori git-svn-id: svn://10.65.10.50/branches/R_10_00@21312 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a72778a6ce
commit
a5aeb839e4
@ -103,9 +103,6 @@ public:
|
|||||||
|
|
||||||
class THardy_fornitori : public THardy_transfer
|
class THardy_fornitori : public THardy_transfer
|
||||||
{
|
{
|
||||||
protected:
|
|
||||||
long key2forn(const TString& key) const;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual bool trasferisci();
|
virtual bool trasferisci();
|
||||||
};
|
};
|
||||||
@ -782,12 +779,6 @@ bool THardy_clienti::trasferisci_destinazioni()
|
|||||||
// THardy_fornitori
|
// THardy_fornitori
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
long THardy_fornitori::key2forn(const TString& key) const
|
|
||||||
{
|
|
||||||
const long codcf = atol(key.mid(3,6));
|
|
||||||
return codcf;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool THardy_fornitori::trasferisci()
|
bool THardy_fornitori::trasferisci()
|
||||||
{
|
{
|
||||||
TString query =
|
TString query =
|
||||||
@ -807,7 +798,7 @@ bool THardy_fornitori::trasferisci()
|
|||||||
while (++hi)
|
while (++hi)
|
||||||
{
|
{
|
||||||
const TString& key = get_str("IdConto");
|
const TString& key = get_str("IdConto");
|
||||||
const long codcf = key2forn(key);
|
const long codcf = hd_key2forn(key);
|
||||||
if (codcf > 0)
|
if (codcf > 0)
|
||||||
{
|
{
|
||||||
rec.zero();
|
rec.zero();
|
||||||
@ -1035,8 +1026,7 @@ public:
|
|||||||
virtual ~TImportazioneHardy_mask();
|
virtual ~TImportazioneHardy_mask();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Funzione di trasferimento dati da/verso file .ini con lo stesso nome della maschera
|
||||||
// Funzione di tarsferimento dati da/verso file .ini con lo stesso nome della maschera
|
|
||||||
// Andrebbe messo in libreria
|
// Andrebbe messo in libreria
|
||||||
void TImportazioneHardy_mask::serialize(bool bSave)
|
void TImportazioneHardy_mask::serialize(bool bSave)
|
||||||
{
|
{
|
||||||
|
105
ha/hacnv100a.ini
105
ha/hacnv100a.ini
@ -141,8 +141,8 @@ PAIV = PartitaIVA
|
|||||||
TIPOPERS =
|
TIPOPERS =
|
||||||
ALLEG =
|
ALLEG =
|
||||||
CODALLEG =
|
CODALLEG =
|
||||||
GRUPPO =
|
GRUPPO = _FISSO,5
|
||||||
CONTO =
|
CONTO = _FISSO,600
|
||||||
GRUPPORIC =
|
GRUPPORIC =
|
||||||
CONTORIC =
|
CONTORIC =
|
||||||
SOTTOCRIC =
|
SOTTOCRIC =
|
||||||
@ -195,8 +195,8 @@ PAIV = PartitaIVA
|
|||||||
TIPOPERS =
|
TIPOPERS =
|
||||||
ALLEG =
|
ALLEG =
|
||||||
CODALLEG =
|
CODALLEG =
|
||||||
GRUPPO =
|
GRUPPO = _FISSO,4
|
||||||
CONTO =
|
CONTO = _FISSO,101
|
||||||
GRUPPORIC =
|
GRUPPORIC =
|
||||||
CONTORIC =
|
CONTORIC =
|
||||||
SOTTOCRIC =
|
SOTTOCRIC =
|
||||||
@ -420,10 +420,107 @@ DATAULTAUM =
|
|||||||
PRZSTO =
|
PRZSTO =
|
||||||
DATAPRZSTO =
|
DATAPRZSTO =
|
||||||
|
|
||||||
|
[MOV]
|
||||||
|
ANNOES = Esercizio
|
||||||
|
NUMREG = KMovconT
|
||||||
|
DATAREG = DataMovimento
|
||||||
|
DATACOMP = DataCompetenza
|
||||||
|
DATADOC = DataDocumento
|
||||||
|
DATA74TER =
|
||||||
|
MESELIQ =
|
||||||
|
NUMDOC = NumDocumento
|
||||||
|
//TIPODOC = *** conversione FlTipoDocumento
|
||||||
|
CODCAUS = IdCausale
|
||||||
|
DESCR = Descrizione1
|
||||||
|
TIPOMOV =
|
||||||
|
ANNOIVA =
|
||||||
|
REG =
|
||||||
|
PROTIVA =
|
||||||
|
UPROTIVA =
|
||||||
|
CODVAL = IdDivisa
|
||||||
|
DATACAM = DataCambio
|
||||||
|
CAMBIO = Cambio
|
||||||
|
REGST =
|
||||||
|
STAMPATO = FlStGiornale
|
||||||
|
NUMGIO = ProtGiornale
|
||||||
|
TIPO =
|
||||||
|
CODCF =
|
||||||
|
TOTDOC =
|
||||||
|
TOTDOCVAL =
|
||||||
|
RITFIS =
|
||||||
|
RITSOC =
|
||||||
|
PROVVIS = FlMovSospeso
|
||||||
|
CODVALI =
|
||||||
|
CAMBIOI =
|
||||||
|
CORRLIRE =
|
||||||
|
CORRVALUTA=
|
||||||
|
DATACOMPI =
|
||||||
|
OCFPI =
|
||||||
|
CODPAG =
|
||||||
|
INVIATO =
|
||||||
|
INVIVA =
|
||||||
|
SCARCON =
|
||||||
|
TNUMREG =
|
||||||
|
TOCFP =
|
||||||
|
DPROVV =
|
||||||
|
DANNO =
|
||||||
|
DCODNUM =
|
||||||
|
DNDOC =
|
||||||
|
DATAINC =
|
||||||
|
LIQDIFF =
|
||||||
|
|
||||||
|
[RMOV]
|
||||||
|
ANNOES = Esercizio
|
||||||
|
NUMREG = KMovconT
|
||||||
|
NUMRIG =
|
||||||
|
SEZIONE =
|
||||||
|
DATAREG = DataMovimento
|
||||||
|
TIPOC =
|
||||||
|
GRUPPO =
|
||||||
|
CONTO =
|
||||||
|
SOTTOCONTO=
|
||||||
|
DESCR = _STREXPR,LEFT(Descrizione1+" "+Descrizione2; 50)
|
||||||
|
RCONTR =
|
||||||
|
TIPOCC =
|
||||||
|
GRUPPOC =
|
||||||
|
CONTOC =
|
||||||
|
SOTTOCONTC=
|
||||||
|
IMPORTO =
|
||||||
|
ROWTYPE =
|
||||||
|
NUMGIO = ProtGiornale
|
||||||
|
CODCMS =
|
||||||
|
FASCMS =
|
||||||
|
|
||||||
|
[RMOVIVA]
|
||||||
|
ANNOES =
|
||||||
|
NUMREG =
|
||||||
|
NUMRIG =
|
||||||
|
CODIVA =
|
||||||
|
IMPONIBILE=
|
||||||
|
IMPOSTA =
|
||||||
|
TIPODET =
|
||||||
|
TIPOCR =
|
||||||
|
INTRA =
|
||||||
|
TIPOATT =
|
||||||
|
RIGAIMP =
|
||||||
|
RIGAIVA =
|
||||||
|
TIPOC =
|
||||||
|
GRUPPO =
|
||||||
|
CONTO =
|
||||||
|
SOTTOCONTO=
|
||||||
|
CODCMS =
|
||||||
|
FASCMS =
|
||||||
|
NAVP =
|
||||||
|
|
||||||
|
[Mastri]
|
||||||
|
CLI_GRUPPO = 4
|
||||||
|
CLI_CONTO = 101
|
||||||
|
FOR_GRUPPO = 5
|
||||||
|
FOR_CONTO = 600
|
||||||
|
|
||||||
// parametri generali della maschera (dns user password)
|
// parametri generali della maschera (dns user password)
|
||||||
[Main]
|
[Main]
|
||||||
201 = hardy
|
201 = hardy
|
||||||
202 =
|
202 =
|
||||||
203 =
|
203 =
|
||||||
|
PATH = c:\temp
|
||||||
|
218
ha/hacnv200.cpp
218
ha/hacnv200.cpp
@ -5,10 +5,16 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <automask.h>
|
#include <automask.h>
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
|
#include <execp.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <reprint.h>
|
#include <reprint.h>
|
||||||
#include <reputils.h>
|
#include <reputils.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
|
#include <utility.h>
|
||||||
|
|
||||||
|
#include <mov.h>
|
||||||
|
#include <rmov.h>
|
||||||
|
#include <rmoviva.h>
|
||||||
|
|
||||||
const char* const APPNAME = TR("Conversione movimenti");
|
const char* const APPNAME = TR("Conversione movimenti");
|
||||||
|
|
||||||
@ -19,15 +25,99 @@ const char* const APPNAME = TR("Conversione movimenti");
|
|||||||
class THardy_movimenti : public THardy_transfer
|
class THardy_movimenti : public THardy_transfer
|
||||||
{
|
{
|
||||||
int _anno;
|
int _anno;
|
||||||
|
TConfig* _conf;
|
||||||
|
long _kmovcont;
|
||||||
|
protected:
|
||||||
|
bool trasferisci_righe();
|
||||||
|
bool is_mov_iva();
|
||||||
public:
|
public:
|
||||||
virtual bool trasferisci();
|
virtual bool trasferisci();
|
||||||
THardy_movimenti(int anno);
|
THardy_movimenti(int anno);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool THardy_movimenti::is_mov_iva()
|
||||||
THardy_movimenti::THardy_movimenti(int anno) : _anno(anno)
|
|
||||||
{
|
{
|
||||||
|
TString query_righe;
|
||||||
|
query_righe << query_header();
|
||||||
|
query_righe << "SELECT * "
|
||||||
|
"FROM dbo.MovIvaT"
|
||||||
|
"WHERE KMovconT=";
|
||||||
|
query_righe << _kmovcont;
|
||||||
|
TODBC_recordset recset_righe(query_righe);
|
||||||
|
bool is_iva = (recset_righe.items() > 0);
|
||||||
|
return is_iva;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool THardy_movimenti::trasferisci_righe()
|
||||||
|
{
|
||||||
|
TString_array lista_campi_righe;
|
||||||
|
TConfig& ini = config();
|
||||||
|
ini.list_variables(lista_campi_righe, true, "RMOV", true);
|
||||||
|
TString query_righe;
|
||||||
|
query_righe << query_header();
|
||||||
|
query_righe << "SELECT * "
|
||||||
|
"FROM dbo.MovContabili "
|
||||||
|
"WHERE KMovconT=";
|
||||||
|
query_righe << _kmovcont;
|
||||||
|
TODBC_recordset recset_righe(query_righe);
|
||||||
|
TString paragraph;
|
||||||
|
int nrigac = 1;
|
||||||
|
int nrigai = 1;
|
||||||
|
for (bool ok=recset_righe.move_first();ok;ok=recset_righe.move_next())
|
||||||
|
{
|
||||||
|
paragraph.format("%d,%d",LF_RMOV,nrigac++);
|
||||||
|
_conf->set_paragraph(paragraph);
|
||||||
|
aggiorna_ini(*_conf, lista_campi_righe);
|
||||||
|
|
||||||
|
// calcolo dei campi non importabili direttamente
|
||||||
|
TString4 sezione = "D";
|
||||||
|
real imp_dare = recset_righe.get("Dare").as_real();
|
||||||
|
real imp_avere = recset_righe.get("Avere").as_real();
|
||||||
|
if (imp_avere> ZERO)
|
||||||
|
sezione = "A";
|
||||||
|
_conf->set(RMV_SEZIONE, sezione);
|
||||||
|
_conf->set(RMV_IMPORTO, (imp_dare > ZERO ? imp_dare.string() : imp_avere.string()));
|
||||||
|
const TString& key = recset_righe.get("IdConto").as_string();
|
||||||
|
TString4 tipoc = recset_righe.get("IdContoTp").as_string();
|
||||||
|
const char tipocc = tipoc[0];
|
||||||
|
int gr, co;
|
||||||
|
long so;
|
||||||
|
switch (tipocc)
|
||||||
|
{
|
||||||
|
case 'S':
|
||||||
|
{
|
||||||
|
tipoc = " ";
|
||||||
|
gr = atoi(key.mid(1,2));
|
||||||
|
co = atoi(key.mid(3,2));
|
||||||
|
so = atoi(key.mid(5,3));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'C':
|
||||||
|
{
|
||||||
|
tipoc = "C";
|
||||||
|
gr = ini.get_int("CLI_GRUPPO", "Mastri");
|
||||||
|
co = ini.get_int("CLI_CONTO", "Mastri");
|
||||||
|
so = hd_key2cli(key);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'F':
|
||||||
|
{
|
||||||
|
tipoc = "F";
|
||||||
|
gr = ini.get_int("FOR_GRUPPO", "Mastri");
|
||||||
|
co = ini.get_int("FOR_CONTO", "Mastri");
|
||||||
|
so = hd_key2forn(key);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
_conf->set(RMV_TIPOC, tipoc);
|
||||||
|
_conf->set(RMV_GRUPPO, gr);
|
||||||
|
_conf->set(RMV_CONTO, co);
|
||||||
|
_conf->set(RMV_SOTTOCONTO, so);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool THardy_movimenti::trasferisci()
|
bool THardy_movimenti::trasferisci()
|
||||||
@ -44,84 +134,68 @@ bool THardy_movimenti::trasferisci()
|
|||||||
TString_array lista_campi;
|
TString_array lista_campi;
|
||||||
ini.list_variables(lista_campi, true, "MOV", true);
|
ini.list_variables(lista_campi, true, "MOV", true);
|
||||||
|
|
||||||
TFilename outdir("C:");
|
TFilename outdir;
|
||||||
TConfig* conf = NULL;
|
outdir = ini.get("PATH", "Main");
|
||||||
int nrigac = 1;
|
TString80 listfiles = outdir;
|
||||||
int nrigai = 1;
|
listfiles << "\\ha*.ini";
|
||||||
|
TString_array transactions;
|
||||||
|
list_files(listfiles, transactions);
|
||||||
|
FOR_EACH_ARRAY_ROW(transactions, row, name)
|
||||||
|
remove(*name);
|
||||||
|
|
||||||
|
_conf = NULL;
|
||||||
long ntran = 1L;
|
long ntran = 1L;
|
||||||
|
TString paragraph;
|
||||||
|
|
||||||
THardy_iterator hi(this);
|
THardy_iterator hi(this);
|
||||||
while (++hi)
|
while (++hi)
|
||||||
{
|
{
|
||||||
if (conf != NULL)
|
_kmovcont = recset.get("KMovconT").as_int();
|
||||||
delete conf;
|
if (is_mov_iva())
|
||||||
conf = NULL;
|
|
||||||
TFilename temp(outdir);
|
|
||||||
|
|
||||||
temp.format("%05ld", ntran++);
|
|
||||||
temp.ext("ini");
|
|
||||||
if (temp.exist())
|
|
||||||
temp.fremove();
|
|
||||||
conf = new TConfig(temp);
|
|
||||||
conf->set_paragraph("Transaction");
|
|
||||||
conf->set("Action","INSERT");
|
|
||||||
conf->set("Mode", "AUTO");
|
|
||||||
|
|
||||||
conf->set_paragraph("23"); // testata movimento
|
|
||||||
|
|
||||||
/*
|
|
||||||
const TString& key = get_str("IdConto");
|
|
||||||
const long codcf = 0;//key2forn(key);
|
|
||||||
if (codcf > 0)
|
|
||||||
{
|
{
|
||||||
rec.zero();
|
TString msg;
|
||||||
rec.put(CLI_TIPOCF, "F");
|
msg << TR("Movimento IVA ") << _kmovcont << " non generato";
|
||||||
rec.put(CLI_CODCF, codcf);
|
log(msg);
|
||||||
|
|
||||||
// contropartita
|
|
||||||
const TString16 key = get_str("IdContropartita");
|
|
||||||
const int gr = atoi(key.mid(1,2));
|
|
||||||
const int co = atoi(key.mid(3,2));
|
|
||||||
const int so = atoi(key.mid(5,3));
|
|
||||||
rec.put(CLI_GRUPPORIC, gr);
|
|
||||||
rec.put(CLI_CONTORIC, co);
|
|
||||||
rec.put(CLI_SOTTOCRIC, so);
|
|
||||||
|
|
||||||
// ricerca comune
|
|
||||||
const TString8 cap = get_str("IdCap"); //cap
|
|
||||||
TString80 loc = get_str("Localita"); //località
|
|
||||||
const TString4 com = cap2comune(cap,loc); //codice comune
|
|
||||||
const TString4 stato = get_str("IdNazione"); //stato
|
|
||||||
|
|
||||||
rec.put(CLI_CAPCF, cap);
|
|
||||||
if (com.full())
|
|
||||||
{
|
|
||||||
rec.put(CLI_COMCF, com); //se riesce la CAP2COMUNE, inserisco il codice comune
|
|
||||||
loc = "";
|
|
||||||
rec.put(CLI_LOCCF, loc);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
rec.put(CLI_COMCF, com);
|
|
||||||
if (stato != "IT" && !stato.blank()) //altrimenti metto tutto nella località, eventualmente concatenando lo stato
|
|
||||||
loc << " - " << stato;
|
|
||||||
rec.put(CLI_LOCCF, loc);
|
|
||||||
}
|
|
||||||
aggiorna_record(rec, lista_campi);
|
|
||||||
test_write(clienti);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (_conf != NULL)
|
||||||
|
delete _conf;
|
||||||
|
_conf = NULL;
|
||||||
|
TFilename temp(outdir);
|
||||||
|
temp.add(format("ha%06ld", ntran++));
|
||||||
|
temp.ext("ini");
|
||||||
|
if (temp.exist())
|
||||||
|
temp.fremove();
|
||||||
|
_conf = new TConfig(temp);
|
||||||
|
_conf->set_paragraph("Transaction");
|
||||||
|
_conf->set("Action","INSERT");
|
||||||
|
_conf->set("Mode", "AUTO");
|
||||||
|
paragraph.format("%d",LF_MOV);
|
||||||
|
_conf->set_paragraph(paragraph); // testata movimento
|
||||||
|
aggiorna_ini(*_conf, lista_campi);
|
||||||
|
// righe movimento
|
||||||
|
trasferisci_righe();
|
||||||
TString msg;
|
TString msg;
|
||||||
msg << TR("Impossibile determinare il codice del fornitore") << " '" << key << '\'';
|
msg << TR("Movimento contabile ") << _kmovcont << " generato nel file " << temp;
|
||||||
log(msg);
|
log(msg);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
return write_enabled();
|
if (_conf != NULL)
|
||||||
|
delete _conf;
|
||||||
|
if (yesno_box(FR("Si desidera confermare l'importazione di %ld movimenti"), ntran-1))
|
||||||
|
{
|
||||||
|
TString app;
|
||||||
|
app << "cg2 -0 -i" << outdir << "/ha*.ini";
|
||||||
|
TExternal_app primanota(app);
|
||||||
|
primanota.run(true);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
THardy_movimenti::THardy_movimenti(int anno) : _anno(anno)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TConvMovimentiHardy_mask
|
// TConvMovimentiHardy_mask
|
||||||
@ -140,8 +214,7 @@ public:
|
|||||||
virtual ~TConvMovimentiHardy_mask();
|
virtual ~TConvMovimentiHardy_mask();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Funzione di trasferimento dati da/verso file .ini con lo stesso nome della maschera
|
||||||
// Funzione di tarsferimento dati da/verso file .ini con lo stesso nome della maschera
|
|
||||||
// Andrebbe messo in libreria
|
// Andrebbe messo in libreria
|
||||||
void TConvMovimentiHardy_mask::serialize(bool bSave)
|
void TConvMovimentiHardy_mask::serialize(bool bSave)
|
||||||
{
|
{
|
||||||
@ -182,7 +255,6 @@ void TConvMovimentiHardy_mask::trasferisci()
|
|||||||
book.add(log);
|
book.add(log);
|
||||||
rep_to_print = true;
|
rep_to_print = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rep_to_print && book.pages() > 0)
|
if (rep_to_print && book.pages() > 0)
|
||||||
book.preview();
|
book.preview();
|
||||||
}
|
}
|
||||||
@ -207,7 +279,8 @@ TConvMovimentiHardy_mask::TConvMovimentiHardy_mask() : TAutomask("hacnv200a")
|
|||||||
}
|
}
|
||||||
|
|
||||||
TConvMovimentiHardy_mask::~TConvMovimentiHardy_mask()
|
TConvMovimentiHardy_mask::~TConvMovimentiHardy_mask()
|
||||||
{ }
|
{
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TConvMovimentiHardy
|
// TConvMovimentiHardy
|
||||||
@ -232,3 +305,4 @@ int hacnv200(int argc, char* argv[])
|
|||||||
ih.run(argc, argv, APPNAME);
|
ih.run(argc, argv, APPNAME);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -403,3 +403,56 @@ void THardy_transfer::aggiorna_record(TRectype& rec, const TString_array& lista_
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void THardy_transfer::aggiorna_ini(TConfig& conf, 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())
|
||||||
|
{
|
||||||
|
if (campo_orig[0] == '_')
|
||||||
|
{
|
||||||
|
if (campo_orig.starts_with("_FISSO")) // valore fisso indicato in configurazione
|
||||||
|
{
|
||||||
|
valore = campo_orig.after(',');
|
||||||
|
valore.trim();
|
||||||
|
} else
|
||||||
|
if (campo_orig.starts_with("_STREXPR")) // formato _STREXPR, espressione
|
||||||
|
{
|
||||||
|
TExpression expr(campo_orig.after(','), _strexpr);
|
||||||
|
for (int v = 0; v < expr.numvar(); v++)
|
||||||
|
{
|
||||||
|
const char* varname = expr.varname(v);
|
||||||
|
expr.setvar(v, get_str(varname));
|
||||||
|
}
|
||||||
|
valore = expr.as_string();
|
||||||
|
valore.trim();
|
||||||
|
} else
|
||||||
|
if (campo_orig.starts_with("_TAB")) // formato _TAB,<tabella da leggere>,<valore CODTAB>, <campo da leggere>
|
||||||
|
{
|
||||||
|
TToken_string elabora(campo_orig, ',');
|
||||||
|
const TString4 tab = elabora.get(1); // tabella da leggere
|
||||||
|
const TString16 codtab = get_str(elabora.get());
|
||||||
|
const TString16 campotab = elabora.get();
|
||||||
|
valore = cache().get(tab, codtab, campotab);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (campo_orig.starts_with("_TRADUCI"))
|
||||||
|
{
|
||||||
|
const TString80 campo = campo_orig.after(',');
|
||||||
|
const TString80 contenuto = get_str(campo);
|
||||||
|
TConfig& ini = config();
|
||||||
|
valore = ini.get(contenuto,campo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valore.cut(0);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
valore = get_str(campo_orig);
|
||||||
|
conf.set(campo_dest, valore);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -66,6 +66,7 @@ protected:
|
|||||||
THardy_transfer();
|
THardy_transfer();
|
||||||
virtual bool trasferisci() pure;
|
virtual bool trasferisci() pure;
|
||||||
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
|
void aggiorna_record(TRectype& rec, const TString_array& lista_campi);
|
||||||
|
void aggiorna_ini(TConfig& conf, const TString_array& lista_campi);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void init(const char* rh, const char* qh, THardy_log& log);
|
void init(const char* rh, const char* qh, THardy_log& log);
|
||||||
|
@ -442,3 +442,11 @@ long hd_key2cli(const TString& key)
|
|||||||
codcf = 0;
|
codcf = 0;
|
||||||
return codcf;
|
return codcf;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// determina codice fornitore campo a partire da codice hardy in base alle regole dettatemi da Robbi
|
||||||
|
|
||||||
|
long hd_key2forn(const TString& key)
|
||||||
|
{
|
||||||
|
const long codcf = atol(key.mid(3,6));
|
||||||
|
return codcf;
|
||||||
|
}
|
@ -219,3 +219,4 @@ const TString& hd_find_codag(long codcf); // Da cliente campo ad agente Hardy (
|
|||||||
const TString& hd_format_date8(const TDate& data);
|
const TString& hd_format_date8(const TDate& data);
|
||||||
const TString& hd_format_date6(const TDate& data);
|
const TString& hd_format_date6(const TDate& data);
|
||||||
long hd_key2cli(const TString& key);
|
long hd_key2cli(const TString& key);
|
||||||
|
long hd_key2forn(const TString& key);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user