Importazione fatture e clienti
git-svn-id: svn://10.65.10.50/branches/R_10_00@23149 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ed68f81ed7
commit
664a73da35
@ -20,6 +20,8 @@
|
|||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <cfven.h>
|
#include <cfven.h>
|
||||||
|
|
||||||
|
#define BS_DTULTAGG "DtUltAgg"
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TBeeStore_cache
|
// TBeeStore_cache
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -288,8 +290,8 @@ void TBeeStore_sync::load_origine_1(TISAM_recordset& out_set, const char* in_tab
|
|||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
bool dirty = false;
|
bool dirty = false;
|
||||||
const TDate dataagg = file.get("DATAAGG");
|
const TDate dataagg = file.get(CLI_DATAAGG);
|
||||||
TDate dtultagg = odbc.get("DtUltAgg").as_date();
|
TDate dtultagg = odbc.get(BS_DTULTAGG).as_date();
|
||||||
if (!dtultagg.ok()) dtultagg = TODAY;
|
if (!dtultagg.ok()) dtultagg = TODAY;
|
||||||
|
|
||||||
str = "record";
|
str = "record";
|
||||||
@ -317,9 +319,11 @@ void TBeeStore_sync::load_origine_1(TISAM_recordset& out_set, const char* in_tab
|
|||||||
}
|
}
|
||||||
if (dirty)
|
if (dirty)
|
||||||
{
|
{
|
||||||
if (file.curr().exist("UTENTE"))
|
TRectype& rec = file.curr();
|
||||||
file.put("UTENTE", "BEESTORE");
|
if (rec.exist(CLI_UTENTE))
|
||||||
file.put("DATAAGG", dtultagg);
|
rec.put(CLI_UTENTE, "BEESTORE");
|
||||||
|
if (rec.exist(CLI_DATAAGG))
|
||||||
|
rec.put(CLI_DATAAGG, dtultagg);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
str << " Nessuna variazione pertinente";
|
str << " Nessuna variazione pertinente";
|
||||||
@ -395,7 +399,7 @@ void TBeeStore_sync::save_origine_2(TISAM_recordset& in_set, const char* out_tab
|
|||||||
str.cut(0) << "INSERT INTO " << out_table << "\n(";
|
str.cut(0) << "INSERT INTO " << out_table << "\n(";
|
||||||
FOR_EACH_ARRAY_ROW(fields, sr, srow)
|
FOR_EACH_ARRAY_ROW(fields, sr, srow)
|
||||||
str << (sr ? ", " : "") << srow->get(0);
|
str << (sr ? ", " : "") << srow->get(0);
|
||||||
str << ", Origine, Errore, DTUltAgg";
|
str << ", Origine, Errore, "BS_DTULTAGG;
|
||||||
str << ")\nVALUES (";
|
str << ")\nVALUES (";
|
||||||
|
|
||||||
FOR_EACH_ARRAY_ROW(fields, ir, irow)
|
FOR_EACH_ARRAY_ROW(fields, ir, irow)
|
||||||
@ -403,8 +407,8 @@ void TBeeStore_sync::save_origine_2(TISAM_recordset& in_set, const char* out_tab
|
|||||||
if (ir) str << ", ";
|
if (ir) str << ", ";
|
||||||
if (fval)
|
if (fval)
|
||||||
{
|
{
|
||||||
const char* fname = irow->get(0);
|
const char* fname = irow->get(0); // BeeStore field name
|
||||||
const char* fexpr = irow->get();
|
const char* fexpr = irow->get(); // Campo expression
|
||||||
TVariant var;
|
TVariant var;
|
||||||
if (fval(in_set, fname, fexpr, var))
|
if (fval(in_set, fname, fexpr, var))
|
||||||
{
|
{
|
||||||
@ -496,10 +500,10 @@ static TString& build_query(const int logicnum, const TDate& dal, const TDate& a
|
|||||||
TString& q = get_tmp_string();
|
TString& q = get_tmp_string();
|
||||||
q << "USE " << logicnum;
|
q << "USE " << logicnum;
|
||||||
|
|
||||||
if (rec.exist("UTENTE"))
|
if (rec.exist(CLI_UTENTE))
|
||||||
q << " SELECT (UTENTE!=\"BEESTORE\")";
|
q << " SELECT (UTENTE!=\"BEESTORE\")";
|
||||||
|
|
||||||
if ((dal.ok() || al.ok()) && rec.exist("DATAAGG"))
|
if ((dal.ok() || al.ok()) && rec.exist(CLI_DATAAGG))
|
||||||
{
|
{
|
||||||
if (q.find(" SELECT ") < 0)
|
if (q.find(" SELECT ") < 0)
|
||||||
q << " SELECT ";
|
q << " SELECT ";
|
||||||
@ -795,7 +799,10 @@ bool TBeeStore_sync::split_phone(const TRecordset& odbc, const char* number, TIs
|
|||||||
clifo.put(num, pn.mid(split+1));
|
clifo.put(num, pn.mid(split+1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
|
clifo.put(pre, "");
|
||||||
clifo.put(num, pn);
|
clifo.put(num, pn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return pn.full();
|
return pn.full();
|
||||||
}
|
}
|
||||||
@ -864,14 +871,14 @@ void TBeeStore_sync::load_clifo(char tipocf)
|
|||||||
cfv.put(CFV_CODPRCF, codprcf);
|
cfv.put(CFV_CODPRCF, codprcf);
|
||||||
cfv.write();
|
cfv.write();
|
||||||
}
|
}
|
||||||
clifo.put(CLI_RAGSOC, odbc.get("RagioneSociale").as_string());
|
clifo.put(CLI_RAGSOC, odbc.get("RagSoc").as_string());
|
||||||
|
|
||||||
const int tipo = odbc.get("Tipo").as_int(); // 1=Fisica; 2=Giuridica; 3=Aaltro
|
const int tipo = odbc.get("Tipo").as_int(); // 1=Fisica; 2=Giuridica; 3=Altro
|
||||||
if (tipo == 1)
|
if (tipo == 1)
|
||||||
{
|
{
|
||||||
clifo.put(CLI_SESSO, odbc.get("Sesso").as_string());
|
clifo.put(CLI_SESSO, odbc.get("Sesso").as_string());
|
||||||
clifo.put(CLI_DATANASC, odbc.get("DTNascita").as_date());
|
clifo.put(CLI_DATANASC, odbc.get("DTNascita").as_date());
|
||||||
clifo.put(CLI_COMNASC, comune(odbc, "", "ComuneNascita"));
|
clifo.put(CLI_COMNASC, comune(odbc, "", "ComuneNascita"));
|
||||||
clifo.put(CLI_TIPOPERS, 'F');
|
clifo.put(CLI_TIPOPERS, 'F');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -891,12 +898,13 @@ void TBeeStore_sync::load_clifo(char tipocf)
|
|||||||
}
|
}
|
||||||
clifo.put(CLI_INDCF, ind.left(50));
|
clifo.put(CLI_INDCF, ind.left(50));
|
||||||
|
|
||||||
split_phone(odbc, "Telefono", clifo, CLI_TEL, CLI_PTEL);
|
split_phone(odbc, "Telefono", clifo, CLI_PTEL, CLI_TEL);
|
||||||
split_phone(odbc, "Cellulare", clifo, CLI_TEL2, CLI_PTEL2);
|
split_phone(odbc, "Cellulare", clifo, CLI_PTEL2, CLI_TEL2);
|
||||||
split_phone(odbc, "CellulareSMS", clifo, CLI_TEL3, CLI_PTEL3);
|
split_phone(odbc, "CellulareSMS", clifo, CLI_PTEL3, CLI_TEL3);
|
||||||
|
clifo.put(CLI_MAIL, odbc.get("EMail").as_string());
|
||||||
|
|
||||||
clifo.put(CLI_UTENTE, "BEESTORE");
|
clifo.put(CLI_UTENTE, "BEESTORE");
|
||||||
TDate dua = odbc.get("DtUltAgg").as_date();
|
TDate dua = odbc.get(BS_DTULTAGG).as_date();
|
||||||
if (!dua.ok()) dua = TDate(TODAY);
|
if (!dua.ok()) dua = TDate(TODAY);
|
||||||
clifo.put(CLI_DATAAGG, dua);
|
clifo.put(CLI_DATAAGG, dua);
|
||||||
|
|
||||||
@ -918,9 +926,9 @@ void TBeeStore_sync::save_clifo(const TDate& dal, const TDate& al)
|
|||||||
fields.add("Citta|"CLI_COMCF);
|
fields.add("Citta|"CLI_COMCF);
|
||||||
fields.add("Cap|"CLI_CAPCF);
|
fields.add("Cap|"CLI_CAPCF);
|
||||||
fields.add("Provincia|");
|
fields.add("Provincia|");
|
||||||
fields.add("Telefono|TEL");
|
fields.add("Telefono|PTEL+TEL");
|
||||||
fields.add("Cellulare|TEL2");
|
fields.add("Cellulare|PTEL2+TEL2");
|
||||||
fields.add("CellulareSMS|TEL3");
|
fields.add("CellulareSMS|PTEL3+TEL3");
|
||||||
fields.add("EMail|"CLI_MAIL);
|
fields.add("EMail|"CLI_MAIL);
|
||||||
fields.add("PartitaIva|"CLI_PAIV);
|
fields.add("PartitaIva|"CLI_PAIV);
|
||||||
fields.add("CodFiscale|"CLI_COFI);
|
fields.add("CodFiscale|"CLI_COFI);
|
||||||
@ -950,6 +958,13 @@ void TBeeStore_sync::sync_clifo(const TDate& dal, const TDate& al)
|
|||||||
{
|
{
|
||||||
load_clifo('C');
|
load_clifo('C');
|
||||||
load_clifo('F');
|
load_clifo('F');
|
||||||
|
|
||||||
|
TString str(255);
|
||||||
|
str << "ODBC(" << _dsn << ")\n";
|
||||||
|
TODBC_recordset clifo(str);
|
||||||
|
str << "DELETE FROM tieAnagCFP WHERE Origine=1;";
|
||||||
|
clifo.exec(str); // Elimina tutte le anagrafiche importate da BeeStore
|
||||||
|
|
||||||
save_clifo(dal, al);
|
save_clifo(dal, al);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1067,12 +1082,12 @@ void TBeeStore_sync::sync_scontrini(const TDate& dal, const TDate& al)
|
|||||||
TODBC_recordset mov(str);
|
TODBC_recordset mov(str);
|
||||||
TProgress_monitor pi(mov.items(), str);
|
TProgress_monitor pi(mov.items(), str);
|
||||||
|
|
||||||
TString num_mov;
|
TString num_mov, nm;
|
||||||
TMov_mag* doc = NULL;
|
TMov_mag* doc = NULL;
|
||||||
|
|
||||||
for (bool ok = mov.move_first(); ok; ok = mov.move_next())
|
for (bool ok = mov.move_first(); ok; ok = mov.move_next())
|
||||||
{
|
{
|
||||||
const TString80 nm = mov.get("NumMov").as_string();
|
nm = mov.get("NumMov").as_string();
|
||||||
if (nm != num_mov)
|
if (nm != num_mov)
|
||||||
{
|
{
|
||||||
if (!save_and_delete_doc(doc))
|
if (!save_and_delete_doc(doc))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user