Patch level : 4.0
Files correlati : ve7.exe ve7700a.msk ve7701a.ini Ricompilazione Demo : [ ] Commento : Versione funzionante di trasferimento da Galileo (clifor) git-svn-id: svn://10.65.10.50/trunk@14578 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
68fa3f8ec0
commit
3003681ab8
@ -485,40 +485,41 @@ void TTrasferimentoGalileo_mask::serialize(bool bSave)
|
||||
|
||||
void TTrasferimentoGalileo_mask::trasferisci()
|
||||
{
|
||||
TString query_header;
|
||||
query_header << "ODBC(" << get(F_DSN) << ',' << get(F_USR) << ',' << get(F_PWD) << ")\n";
|
||||
|
||||
TReport_book book;
|
||||
TReport rep; rep.load("ve7700a");
|
||||
TGalileo_log* log = new TGalileo_log;
|
||||
rep.set_recordset(log);
|
||||
|
||||
TDate data = get(F_DATA);
|
||||
|
||||
bool rep_to_print = false;
|
||||
|
||||
bool go_on = true;
|
||||
|
||||
if (go_on && get_bool(F_CLIFO))
|
||||
{
|
||||
if (go_on)
|
||||
{
|
||||
TGalileo_clifo pc;
|
||||
pc.init(TR("Clienti/Fornitori"), query_header, log);
|
||||
go_on = pc.trasferisci();
|
||||
book.add(rep);
|
||||
if (go_on)
|
||||
pc.dump();
|
||||
}
|
||||
if (go_on && get_bool(F_ARTICOLI))
|
||||
{
|
||||
TGalileo_articoli pc;
|
||||
pc.init(TR("Articoli"), query_header, log);
|
||||
go_on = pc.trasferisci();
|
||||
book.add(rep);
|
||||
if (go_on)
|
||||
pc.dump();
|
||||
}
|
||||
rep_to_print = true;
|
||||
}
|
||||
|
||||
if (get_bool(F_CLIFO))
|
||||
{
|
||||
TString query_header;
|
||||
query_header << "ODBC(" << get(F_DSN1) << ',' << get(F_USR1) << ',' << get(F_PWD1) << ")\n";
|
||||
TGalileo_clifo pc;
|
||||
pc.set_data_limite(get_date(F_DATA));
|
||||
pc.init(TR("Clienti/Fornitori"), query_header, log);
|
||||
go_on = pc.trasferisci();
|
||||
book.add(rep);
|
||||
if (go_on)
|
||||
pc.dump();
|
||||
rep_to_print = true;
|
||||
}
|
||||
if (go_on && get_bool(F_ARTICOLI))
|
||||
{
|
||||
TString query_header;
|
||||
query_header << "ODBC(" << get(F_DSN2) << ',' << get(F_USR2) << ',' << get(F_PWD2) << ")\n";
|
||||
TGalileo_articoli pc;
|
||||
pc.init(TR("Articoli"), query_header, log);
|
||||
go_on = pc.trasferisci();
|
||||
book.add(rep);
|
||||
if (go_on)
|
||||
pc.dump();
|
||||
rep_to_print = true;
|
||||
}
|
||||
if (rep_to_print && book.pages() > 0)
|
||||
book.preview();
|
||||
}
|
||||
|
@ -120,6 +120,8 @@ public:
|
||||
class TGalileo_clifo : public TGalileo_transfer
|
||||
{
|
||||
|
||||
TDate _data;
|
||||
|
||||
protected:
|
||||
int cancella_clifo(TLocalisamfile& clifo) const;
|
||||
long get_next_key(const char tipocf) const;
|
||||
@ -129,6 +131,7 @@ protected:
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
virtual bool dump();
|
||||
void set_data_limite(const TDate& data) { _data = data; }
|
||||
TGalileo_clifo();
|
||||
~TGalileo_clifo();
|
||||
};
|
||||
@ -136,14 +139,16 @@ public:
|
||||
class TGalileo_articoli : public TGalileo_transfer
|
||||
{
|
||||
|
||||
TDate _data;
|
||||
|
||||
protected:
|
||||
int cancella_articolo(TLocalisamfile& clifo) const;
|
||||
//long get_codcf(const char tipocf, const char* ricalt) const;
|
||||
bool aggiorna_record(TLocalisamfile& file, const TString_array& lista_campi);
|
||||
|
||||
public:
|
||||
virtual bool trasferisci();
|
||||
virtual bool dump();
|
||||
void set_data_limite(const TDate& data) { _data = data; }
|
||||
TGalileo_articoli();
|
||||
~TGalileo_articoli();
|
||||
};
|
||||
|
10
ve/ve7700a.h
10
ve/ve7700a.h
@ -6,9 +6,13 @@
|
||||
|
||||
#define F_CLIFO 111
|
||||
#define F_ARTICOLI 112
|
||||
#define F_DATA 113
|
||||
|
||||
#define F_DSN 201
|
||||
#define F_USR 202
|
||||
#define F_PWD 203
|
||||
#define F_DSN1 201
|
||||
#define F_USR1 202
|
||||
#define F_PWD1 203
|
||||
#define F_DSN2 204
|
||||
#define F_USR2 205
|
||||
#define F_PWD2 206
|
||||
|
||||
#endif
|
||||
|
@ -53,32 +53,59 @@ BEGIN
|
||||
PROMPT 2 6 "Articoli"
|
||||
END
|
||||
|
||||
DATE F_DATA
|
||||
BEGIN
|
||||
PROMPT 2 8 "Record modificati dal "
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Configurazione" -1 -1 78 18
|
||||
|
||||
GROUPBOX DLG_NULL 48 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bDatabase"
|
||||
PROMPT 1 1 "@bParametri database per clienti/fornitori"
|
||||
END
|
||||
|
||||
STRING F_DSN 30
|
||||
STRING F_DSN1 30
|
||||
BEGIN
|
||||
PROMPT 2 2 "DSN "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_USR 16
|
||||
STRING F_USR1 16
|
||||
BEGIN
|
||||
PROMPT 2 3 "User "
|
||||
END
|
||||
|
||||
STRING F_PWD 16
|
||||
STRING F_PWD1 16
|
||||
BEGIN
|
||||
PROMPT 2 4 "Password "
|
||||
FLAGS "*"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 48 5
|
||||
BEGIN
|
||||
PROMPT 1 7 "@bParametri database per articoli"
|
||||
END
|
||||
|
||||
STRING F_DSN2 30
|
||||
BEGIN
|
||||
PROMPT 2 8 "DSN "
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_USR2 16
|
||||
BEGIN
|
||||
PROMPT 2 9 "User "
|
||||
END
|
||||
|
||||
STRING F_PWD2 16
|
||||
BEGIN
|
||||
PROMPT 2 10 "Password "
|
||||
FLAGS "*"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -45,7 +45,6 @@ long TGalileo_clifo::get_next_key(const char tipocf) const
|
||||
return codcf;
|
||||
}
|
||||
|
||||
|
||||
long TGalileo_clifo::get_codcf(const char tipocf, const char* ricalt) const
|
||||
{
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
@ -64,6 +63,9 @@ bool TGalileo_clifo::dump()
|
||||
TString_array lista_clifo;
|
||||
ini.list_variables(lista_clifo, true, "CLIFO", true);
|
||||
TToken_string lista_dump;
|
||||
lista_dump.add(CLI_TIPOCF);
|
||||
lista_dump.add(CLI_CODCF);
|
||||
lista_dump.add(CLI_COMCF);
|
||||
TString16 campo_dest, campo_orig;
|
||||
FOR_EACH_ARRAY_ROW(lista_clifo,i,row)
|
||||
{
|
||||
@ -72,9 +74,6 @@ bool TGalileo_clifo::dump()
|
||||
if (!campo_orig.blank())
|
||||
lista_dump.add(campo_dest);
|
||||
}
|
||||
lista_dump.add(CLI_TIPOCF);
|
||||
lista_dump.add(CLI_CODCF);
|
||||
lista_dump.add(CLI_COMCF);
|
||||
TSystemisamfile clifo(LF_CLIFO);
|
||||
return (clifo.dump("clifo.txt", lista_dump) == NOERR);
|
||||
}
|
||||
@ -82,21 +81,15 @@ bool TGalileo_clifo::dump()
|
||||
bool TGalileo_clifo::trasferisci()
|
||||
{
|
||||
TString query =
|
||||
"SELECT CLFOCP, CONTCA, DSCOCP, DSULCP, INDICA, LOCACA, PROVCA, CAPOCA, "
|
||||
"NAZICA, CISOCA, PIVACA, CDFICA, NTELCA, NFAXCA \n"
|
||||
"FROM CGANA01J \n";
|
||||
if (!_data.empty())
|
||||
{
|
||||
query << "WHERE DTMNCA >= '";
|
||||
query << _data.string() << "'";
|
||||
}
|
||||
|
||||
"SELECT CGANA01J.CLFOCP, CGANA01J.CONTCA, CGANA01J.DSCOCP, CGANA01J.DSULCP, CGANA01J.INDICA, CGANA01J.LOCACA, CGANA01J.PROVCA, CGANA01J.CAPOCA, CGANA01J.NAZICA, CGANA01J.CISOCA, CGANA01J.PIVACA, CGANA01J.CDFICA, CGANA01J.NTELCA, CGANA01J.NFAXCA"
|
||||
"FROM CGANA01J";
|
||||
|
||||
/*
|
||||
"SELECT Customers_Suppliers.*, Unit_Measure.UMDesc "
|
||||
"FROM Customers_Suppliers "
|
||||
"LEFT JOIN Unit_Measure "
|
||||
"ON (CurrencyCode = Unit_Measure.UMCode AND Unit_Measure.UMType='9') "
|
||||
"WHERE (StatusFlag=1 OR StatusFlag=2 OR StatusFlag=3) AND ";
|
||||
if (_only_agenti)
|
||||
query << "(FlagCustSupp='A')";
|
||||
else
|
||||
query << "(FlagCustSupp='C' OR FlagCustSupp='S')";
|
||||
*/
|
||||
TRecordset& recset = create_recordset(query);
|
||||
|
||||
TString str;
|
||||
@ -112,14 +105,13 @@ bool TGalileo_clifo::trasferisci()
|
||||
TGalileo_iterator pi(this);
|
||||
while (++pi)
|
||||
{
|
||||
const TString& contca = get_str("Contca");
|
||||
const char tipocf = get_str("Clfocp")[0];
|
||||
|
||||
|
||||
const TString& contca = get_str("CONTCA");
|
||||
const char tipocf = get_str("CLFOCP")[0];
|
||||
long codcf = get_codcf(tipocf, contca); // mi restiuisce il codice del clinete se esiste oppure -1 se da aggiungere
|
||||
|
||||
bool needs_creation = codcf <= 0;
|
||||
bool good = true;
|
||||
|
||||
if (!needs_creation)
|
||||
{
|
||||
// il cliente/fornitore va aggiornato
|
||||
@ -145,7 +137,7 @@ bool TGalileo_clifo::trasferisci()
|
||||
if (good)
|
||||
{
|
||||
// aggiormento comune
|
||||
TString80 dencom = get_str("Locaca");
|
||||
TString80 dencom = get_str("LOCACA");
|
||||
dencom.trim(); dencom.upper();
|
||||
const TRectype& reccom = cache_comuni.get(dencom);
|
||||
if (dencom == reccom.get(COM_DENCOM))
|
||||
@ -237,36 +229,29 @@ bool TGalileo_articoli::dump()
|
||||
bool TGalileo_articoli::trasferisci()
|
||||
{
|
||||
TString query =
|
||||
|
||||
"SELECT BRISO00F.RICOD, BRISO00F.RDES1, BRISO00F.RDES2, BRISO00F.RDES3, BRISO00F.RSUMS, BRISO00F.RITIP, Mid([TBDAT],9,1) AS Espr1"
|
||||
"SELECT BRISO00F.RICOD, BRISO00F.RDES1, BRISO00F.RDES2, "
|
||||
"BRISO00F.RDES3, BRISO00F.RSUMS, BRISO00F.RITIP, "
|
||||
"Mid([TBDAT],9,1) AS Espr1 \n"
|
||||
"FROM BRISO00F, BTABE00F"
|
||||
"WHERE (((Mid([TBDAT],9,1))=[RITIP]) AND ((BTABE00F.TBTIP)='COD') AND ((BTABE00F.TBELE)='RIS'))";
|
||||
|
||||
/*
|
||||
"SELECT Customers_Suppliers.*, Unit_Measure.UMDesc "
|
||||
"FROM Customers_Suppliers "
|
||||
"LEFT JOIN Unit_Measure "
|
||||
"ON (CurrencyCode = Unit_Measure.UMCode AND Unit_Measure.UMType='9') "
|
||||
"WHERE (StatusFlag=1 OR StatusFlag=2 OR StatusFlag=3) AND ";
|
||||
if (_only_agenti)
|
||||
query << "(FlagCustSupp='A')";
|
||||
else
|
||||
query << "(FlagCustSupp='C' OR FlagCustSupp='S')";
|
||||
*/
|
||||
TRecordset& recset = create_recordset(query);
|
||||
|
||||
TString str;
|
||||
|
||||
TConfig& ini = config();
|
||||
TString_array lista_anamag;
|
||||
TString_array lista_anamag, lista_umart;
|
||||
ini.list_variables(lista_anamag, true, "ANAMAG", true);
|
||||
ini.list_variables(lista_umart, true, "UMART", true);
|
||||
TLocalisamfile anamag(LF_ANAMAG);
|
||||
TLocalisamfile umart(LF_UMART);
|
||||
TRectype& rec_anamag = anamag.curr();
|
||||
TRectype& rec_umart = umart.curr();
|
||||
|
||||
TGalileo_iterator pi(this);
|
||||
while (++pi)
|
||||
{
|
||||
const TString& codart = get_str("Ricod");
|
||||
const TString& codart = get_str("BRISO00F.RICOD");
|
||||
rec_anamag.zero();
|
||||
rec_anamag.put(ANAMAG_CODART, codart);
|
||||
bool good = anamag.read() == NOERR;
|
||||
@ -277,7 +262,10 @@ bool TGalileo_articoli::trasferisci()
|
||||
good &= test_write(anamag);
|
||||
}
|
||||
if (good)
|
||||
{
|
||||
aggiorna_record(anamag, lista_anamag);
|
||||
aggiorna_record(umart, lista_umart);
|
||||
}
|
||||
}
|
||||
return write_enabled();
|
||||
}
|
||||
|
@ -1,14 +1,14 @@
|
||||
[CLIFO]
|
||||
RAGSOC = Dscocp
|
||||
INDCF = Indica
|
||||
RAGSOC = DSCOCP
|
||||
INDCF = INDICA
|
||||
CIVCF =
|
||||
LOCALITACF =
|
||||
STATOCF =
|
||||
COMCF =
|
||||
CAPCF = Capoca
|
||||
COFI = Cdfica
|
||||
CAPCF = CAPOCA
|
||||
COFI = CDFICA
|
||||
STATOPAIV =
|
||||
PAIV = Pivaca
|
||||
PAIV = PIVACA
|
||||
TIPOPERS =
|
||||
ALLEG =
|
||||
CODALLEG =
|
||||
@ -20,13 +20,13 @@ SOTTOCRIC =
|
||||
TIPOAPER =
|
||||
CODANAGPER =
|
||||
PTEL =
|
||||
TEL = Ntelca
|
||||
TEL = NTELCA
|
||||
PTEL2 =
|
||||
TEL2 =
|
||||
PTEL3 =
|
||||
TEL3 =
|
||||
PFAX =
|
||||
FAX = Nfaxca
|
||||
FAX = NFAXCA
|
||||
PTELEX =
|
||||
TELEX =
|
||||
MAIL =
|
||||
@ -44,9 +44,22 @@ CODVAL =
|
||||
CODLIN =
|
||||
FIDO =
|
||||
CODPAG =
|
||||
RICALT = Contca
|
||||
RICALT = CONTCA
|
||||
OGGETTI =
|
||||
SOSPESO =
|
||||
DIRTY =
|
||||
REFERENTE =
|
||||
VALINTRA =
|
||||
|
||||
[ANAMAG]
|
||||
CODART =
|
||||
DESCR =
|
||||
DESCRAGG =
|
||||
CODARTALT =
|
||||
|
||||
[UMART]
|
||||
CODART =
|
||||
NRIGA = _FISSO,1
|
||||
UM =
|
||||
FC = _FISSO,1
|
||||
PREZZO =
|
Loading…
x
Reference in New Issue
Block a user