Patch level : 12.0 550
Files correlati : bs Commento : - Tolti commenti log inutili Articoli: - Aggiunta contropartita fiscale Clienti: - Aggiunto numero civico, veniva calcolato ma non inserito - Impostati true di default ragg effetti e addebito bolle rit banc - Aggiunto codice assoggettamento fiscale - Sistemato campo cod fisc Documenti: - Aggiunto agente - Aggiunto codice pagamento - Aggiunto controllo più severo sulla validità del record git-svn-id: svn://10.65.10.50/branches/R_10_00@24439 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
80b73c800b
commit
dffa0c0d41
@ -98,7 +98,7 @@ protected:
|
|||||||
virtual TObject* key2obj(const char* key)
|
virtual TObject* key2obj(const char* key)
|
||||||
{
|
{
|
||||||
const char tipo = *key;
|
const char tipo = *key;
|
||||||
const long codice = atol(key+1);
|
const long codice = atol(key + 1);
|
||||||
return new TAnagrafica(LF_CLIFO, tipo, codice);
|
return new TAnagrafica(LF_CLIFO, tipo, codice);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -117,7 +117,9 @@ public:
|
|||||||
return anag(tipo, codice);
|
return anag(tipo, codice);
|
||||||
}
|
}
|
||||||
const TAnagrafica& anag(const TISAM_recordset& rec)
|
const TAnagrafica& anag(const TISAM_recordset& rec)
|
||||||
{ return anag(rec.cursor()->curr()); }
|
{
|
||||||
|
return anag(rec.cursor()->curr());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static TSknet_cache _anagr;
|
static TSknet_cache _anagr;
|
||||||
@ -137,10 +139,14 @@ public:
|
|||||||
void autosave() const;
|
void autosave() const;
|
||||||
|
|
||||||
bool get_bool(const char* fld)
|
bool get_bool(const char* fld)
|
||||||
{ TMask_field* f = find_by_fieldname(fld); return f ? f->get().full() : false; }
|
{
|
||||||
|
TMask_field* f = find_by_fieldname(fld); return f ? f->get().full() : false;
|
||||||
|
}
|
||||||
|
|
||||||
TDate get_date(const char* fld)
|
TDate get_date(const char* fld)
|
||||||
{ TMask_field* f = find_by_fieldname(fld); return TDate(f ? f->get() : EMPTY_STRING); }
|
{
|
||||||
|
TMask_field* f = find_by_fieldname(fld); return TDate(f ? f->get() : EMPTY_STRING);
|
||||||
|
}
|
||||||
|
|
||||||
TSknet_mask() : TAutomask("bs0300a") { autoload(); }
|
TSknet_mask() : TAutomask("bs0300a") { autoload(); }
|
||||||
~TSknet_mask() { autosave(); }
|
~TSknet_mask() { autosave(); }
|
||||||
@ -166,7 +172,7 @@ bool TSknet_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
|||||||
dpn.put("CODTAB", codice[i]);
|
dpn.put("CODTAB", codice[i]);
|
||||||
dpn.put("S0", descr[i]);
|
dpn.put("S0", descr[i]);
|
||||||
dpn.write();
|
dpn.write();
|
||||||
TRectype& row = rcaus.row(15+i, true);
|
TRectype& row = rcaus.row(15 + i, true);
|
||||||
row.put(RCA_CODDESC, codice[i]);
|
row.put(RCA_CODDESC, codice[i]);
|
||||||
row.put(RCA_DESC, descr[i]);
|
row.put(RCA_DESC, descr[i]);
|
||||||
}
|
}
|
||||||
@ -236,12 +242,12 @@ protected:
|
|||||||
void sync_table(const int logicnum, const char* out_table,
|
void sync_table(const int logicnum, const char* out_table,
|
||||||
const TString_array& fields);
|
const TString_array& fields);
|
||||||
|
|
||||||
void sync_iva ();
|
void sync_iva();
|
||||||
void sync_ums ();
|
void sync_ums();
|
||||||
void sync_val ();
|
void sync_val();
|
||||||
void sync_anamag ();
|
void sync_anamag();
|
||||||
void sync_doc ();
|
void sync_doc();
|
||||||
void sync_clifo (int cfmask);
|
void sync_clifo(int cfmask);
|
||||||
void clean();
|
void clean();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -295,12 +301,12 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
|
|||||||
const TVariant& var = odbc.get(bfld);
|
const TVariant& var = odbc.get(bfld);
|
||||||
if (!var.is_null())
|
if (!var.is_null())
|
||||||
{
|
{
|
||||||
if(tfld > 0)
|
if (tfld > 0)
|
||||||
file.put(cfld, var.as_string().mid(ffld, tfld-ffld));
|
file.put(cfld, var.as_string().mid(ffld, tfld - ffld));
|
||||||
else
|
else
|
||||||
file.put(cfld, var.as_string());
|
file.put(cfld, var.as_string());
|
||||||
}
|
}
|
||||||
if (pos == key_fields.items()-1)
|
if (pos == key_fields.items() - 1)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -319,7 +325,7 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
|
|||||||
|
|
||||||
if (dtultagg >= dataagg)
|
if (dtultagg >= dataagg)
|
||||||
{
|
{
|
||||||
FOR_EACH_ARRAY_ROW(pairs, r,row)
|
FOR_EACH_ARRAY_ROW(pairs, r, row)
|
||||||
{
|
{
|
||||||
bfld = row->get(0);
|
bfld = row->get(0);
|
||||||
cfld = row->get();
|
cfld = row->get();
|
||||||
@ -357,9 +363,7 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
|
|||||||
str << " Data di ultimo aggiornamento obsoleta";
|
str << " Data di ultimo aggiornamento obsoleta";
|
||||||
if (dirty)
|
if (dirty)
|
||||||
{
|
{
|
||||||
if (file.rewrite() == 0)
|
if (file.rewrite() != 0)
|
||||||
_log->log(1, str);
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
TString80 err; err << TR("ERRORE ") << err << TR(" aggiornando il ");
|
TString80 err; err << TR("ERRORE ") << err << TR(" aggiornando il ");
|
||||||
str.insert(err);
|
str.insert(err);
|
||||||
@ -368,14 +372,14 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_log->log(0, str);
|
|
||||||
file.reread(_unlock);
|
file.reread(_unlock);
|
||||||
}
|
}
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
if (err == _iskeynotfound)
|
if (err == _iskeynotfound)
|
||||||
{
|
{
|
||||||
file.zero();
|
file.zero();
|
||||||
FOR_EACH_ARRAY_ROW(pairs, r,row)
|
FOR_EACH_ARRAY_ROW(pairs, r, row)
|
||||||
{
|
{
|
||||||
bfld = row->get(0);
|
bfld = row->get(0);
|
||||||
cfld = row->get();
|
cfld = row->get();
|
||||||
@ -437,7 +441,7 @@ void TSknet_sync::sync_table(const char* table, const char* out_table,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void TSknet_sync::sync_table(const int logicnum, const char* out_table,
|
void TSknet_sync::sync_table(const int logicnum, const char* out_table,
|
||||||
const TString_array& fields )
|
const TString_array& fields)
|
||||||
{
|
{
|
||||||
const TString& q = build_query(logicnum);
|
const TString& q = build_query(logicnum);
|
||||||
TISAM_recordset set(q);
|
TISAM_recordset set(q);
|
||||||
@ -473,6 +477,9 @@ void TSknet_sync::sync_anamag()
|
|||||||
fields.add("CodIva|" ANAMAG_CODIVA);
|
fields.add("CodIva|" ANAMAG_CODIVA);
|
||||||
fields.add("CodLinea|" ANAMAG_GRMERC "|1|3");
|
fields.add("CodLinea|" ANAMAG_GRMERC "|1|3");
|
||||||
fields.add("CodCategMerceologica|" ANAMAG_GRMERC);
|
fields.add("CodCategMerceologica|" ANAMAG_GRMERC);
|
||||||
|
fields.add("ArtGruppo|" ANAMAG_GRUPPOV);
|
||||||
|
fields.add("ArtConto|" ANAMAG_CONTOV);
|
||||||
|
fields.add("ArtSottoconto|" ANAMAG_SOTTOCV);
|
||||||
fields.add("Bloccato|" ANAMAG_SOSPESO);
|
fields.add("Bloccato|" ANAMAG_SOSPESO);
|
||||||
|
|
||||||
TString query = build_query(LF_ANAMAG);
|
TString query = build_query(LF_ANAMAG);
|
||||||
@ -677,12 +684,12 @@ static bool ClifoEvaluator(const TISAM_recordset& rec, const char* fldname, cons
|
|||||||
var = tipocf == 'F';
|
var = tipocf == 'F';
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (_strnicmp(fldname,"Cli_",4) == 0)
|
if (_strnicmp(fldname, "Cli_", 4) == 0)
|
||||||
{
|
{
|
||||||
const char tipocf = rec.get(CLI_TIPOCF).as_string()[0];
|
const char tipocf = rec.get(CLI_TIPOCF).as_string()[0];
|
||||||
return tipocf != 'C';
|
return tipocf != 'C';
|
||||||
}
|
}
|
||||||
if (_strnicmp(fldname,"For_",4) == 0)
|
if (_strnicmp(fldname, "For_", 4) == 0)
|
||||||
{
|
{
|
||||||
const char tipocf = rec.get(CLI_TIPOCF).as_string()[0];
|
const char tipocf = rec.get(CLI_TIPOCF).as_string()[0];
|
||||||
return tipocf != 'F';
|
return tipocf != 'F';
|
||||||
@ -718,7 +725,7 @@ bool TSknet_sync::split_phone(const TRecordset& odbc, const char* number, TIsamf
|
|||||||
if (split > 1)
|
if (split > 1)
|
||||||
{
|
{
|
||||||
clifo.put(pre, pn.left(split));
|
clifo.put(pre, pn.left(split));
|
||||||
clifo.put(num, pn.mid(split+1));
|
clifo.put(num, pn.mid(split + 1));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -786,7 +793,7 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
|
|
||||||
clifo.put(CLI_RAGSOC, odbc.get("RagSoc").as_string());
|
clifo.put(CLI_RAGSOC, odbc.get("RagSoc").as_string());
|
||||||
clifo.put(CLI_PAIV, odbc.get("PartitaIva").as_string());
|
clifo.put(CLI_PAIV, odbc.get("PartitaIva").as_string());
|
||||||
clifo.put(CLI_COFI, odbc.get("CodiceFiscale").as_string());
|
clifo.put(CLI_COFI, odbc.get("CodFiscale").as_string());
|
||||||
clifo.put(CLI_MAIL, odbc.get("EMail").as_string());
|
clifo.put(CLI_MAIL, odbc.get("EMail").as_string());
|
||||||
|
|
||||||
const int tipo = odbc.get("Tipo").as_int(); // 1=Fisica; 2=Giuridica; 3=Altro
|
const int tipo = odbc.get("Tipo").as_int(); // 1=Fisica; 2=Giuridica; 3=Altro
|
||||||
@ -814,6 +821,7 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
}
|
}
|
||||||
|
|
||||||
clifo.put(CLI_INDCF, ind.left(50));
|
clifo.put(CLI_INDCF, ind.left(50));
|
||||||
|
clifo.put(CLI_CAPCF, civ);
|
||||||
clifo.put(CLI_CAPCF, odbc.get("Cap").as_string());
|
clifo.put(CLI_CAPCF, odbc.get("Cap").as_string());
|
||||||
|
|
||||||
// Stato
|
// Stato
|
||||||
@ -830,7 +838,7 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
partCom.zero();
|
partCom.zero();
|
||||||
partCom.put("COD", "STA");
|
partCom.put("COD", "STA");
|
||||||
TCursor cur(&relCom, "", 1, &partCom, &partCom);
|
TCursor cur(&relCom, "", 1, &partCom, &partCom);
|
||||||
for(cur = 0; cur.pos() < cur.items(); ++cur)
|
for (cur = 0; cur.pos() < cur.items(); ++cur)
|
||||||
if (cur.curr().get("S10") == statoISO)
|
if (cur.curr().get("S10") == statoISO)
|
||||||
{
|
{
|
||||||
stato = cur.curr().get("CODTAB");
|
stato = cur.curr().get("CODTAB");
|
||||||
@ -943,16 +951,25 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (err == NOERR)
|
// Abi e Cab sempre, posso anche avere solo il primo dei due
|
||||||
{
|
|
||||||
cfb.put("ABI", abi);
|
cfb.put("ABI", abi);
|
||||||
cfb.put("CAB", cab);
|
cfb.put("CAB", cab);
|
||||||
|
// Il conto corrente ovviamente solo se è giusto
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
cfb.put("NUMCC", contcor);
|
cfb.put("NUMCC", contcor);
|
||||||
cfb.put("IBAN", iban);
|
cfb.put("IBAN", iban);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Always true
|
||||||
|
cfv.put(CFV_RAGGEFF, true);
|
||||||
|
cfv.put(CFV_ADDBOLLI, true);
|
||||||
|
|
||||||
|
// Non ho capito se alla fine mi passa qua i dati o nel campo NOTE
|
||||||
|
cfv.put(CFV_ASSFIS, tipocf == 'C' ? odbc.get("Cli_CodIva").as_string() : odbc.get("For_CodIva").as_string());
|
||||||
|
|
||||||
// Parso il campo Note
|
// Parso il campo Note
|
||||||
TToken_string note (odbc.get("Note").as_string());
|
TToken_string note(odbc.get("Note").as_string());
|
||||||
if (!note.blank() && note[note.len() - 1] == '|')
|
if (!note.blank() && note[note.len() - 1] == '|')
|
||||||
note.cut(note.len() - 1);
|
note.cut(note.len() - 1);
|
||||||
for (int i = 0; i < note.items(); i++)
|
for (int i = 0; i < note.items(); i++)
|
||||||
@ -976,15 +993,17 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
nonscd.cut(nonscd.len() - 1);
|
nonscd.cut(nonscd.len() - 1);
|
||||||
cfv.put(CFV_NONACCEFF, nonacc);
|
cfv.put(CFV_NONACCEFF, nonacc);
|
||||||
cfv.put(CFV_NONSCADEFF, nonscd);
|
cfv.put(CFV_NONSCADEFF, nonscd);
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("RE="))
|
if (token.starts_with("RE="))
|
||||||
{
|
{
|
||||||
cfv.put(CFV_RAGGEFF, token == "RE=X");
|
// Disabled, always true by analysis
|
||||||
} else
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("NOTE="))
|
if (token.starts_with("NOTE="))
|
||||||
{
|
{
|
||||||
TString note = token.mid(5);
|
TString note = token.mid(5);
|
||||||
if(!note.blank())
|
if (!note.blank())
|
||||||
cfv.put(CFV_CODNOTE, clifo_add_note(cfv, note));
|
cfv.put(CFV_CODNOTE, clifo_add_note(cfv, note));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1000,22 +1019,31 @@ void TSknet_sync::load_clifo(const char tipocf)
|
|||||||
clifo.put(CLI_BYMAIL, bymail);
|
clifo.put(CLI_BYMAIL, bymail);
|
||||||
clifo.put(CLI_DOCMAIL, email);
|
clifo.put(CLI_DOCMAIL, email);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("REF="))
|
if (token.starts_with("REF="))
|
||||||
{
|
{
|
||||||
clifo.put(CLI_REFERENTE, token.mid(4));
|
clifo.put(CLI_REFERENTE, token.mid(4));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("EDOC="))
|
if (token.starts_with("EDOC="))
|
||||||
{
|
{
|
||||||
clifo.put(CLI_BYMAIL, true);
|
clifo.put(CLI_BYMAIL, true);
|
||||||
clifo.put(CLI_DOCMAIL, token.mid(5));
|
clifo.put(CLI_DOCMAIL, token.mid(5));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("SCONTO="))
|
if (token.starts_with("SCONTO="))
|
||||||
{
|
{
|
||||||
clifo.put(CLI_SCONTO, token.mid(7));
|
cfv.put(CFV_SCONTO, token.mid(7));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
if (token.starts_with("AGENT="))
|
if (token.starts_with("AGENT="))
|
||||||
{
|
{
|
||||||
clifo.put(CLI_CODAG, token.mid(6));
|
cfv.put(CFV_CODAG, token.mid(6));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (token.starts_with("ASSFIS="))
|
||||||
|
{
|
||||||
|
cfv.put(CFV_ASSFIS, token.mid(7));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -1138,7 +1166,7 @@ bool TSknet_sync::save_and_delete_doc(TDocumento*& doc) const
|
|||||||
TString msg;
|
TString msg;
|
||||||
|
|
||||||
msg.format(FR("Errore %d in registrazione dcoumento %s/%ld del %s"), err,
|
msg.format(FR("Errore %d in registrazione dcoumento %s/%ld del %s"), err,
|
||||||
(const char *) doc->get(DOC_CODNUM), doc->get_long(DOC_NDOC), (const char*)doc->get(DOC_DATADOC));
|
(const char *)doc->get(DOC_CODNUM), doc->get_long(DOC_NDOC), (const char*)doc->get(DOC_DATADOC));
|
||||||
_log->log(2, msg);
|
_log->log(2, msg);
|
||||||
msg << TR("\nSi desidera proseguire ugualmente?");
|
msg << TR("\nSi desidera proseguire ugualmente?");
|
||||||
if (noyes_box(msg))
|
if (noyes_box(msg))
|
||||||
@ -1163,17 +1191,17 @@ void TSknet_sync::sync_val()
|
|||||||
void TSknet_sync::sync_doc()
|
void TSknet_sync::sync_doc()
|
||||||
{
|
{
|
||||||
const TString8 codcausdef = ini_get_string(CONFIG_DITTA, "bs", MOVMAG_CODCAUS, "", 2);
|
const TString8 codcausdef = ini_get_string(CONFIG_DITTA, "bs", MOVMAG_CODCAUS, "", 2);
|
||||||
/*
|
/*
|
||||||
if (codcausdef.blank())
|
if (codcausdef.blank())
|
||||||
{
|
{
|
||||||
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
TString str(255);
|
TString str(255);
|
||||||
str << "SELECT tieDMovMag.*, tieTBolFat.*, tieTBolFat.Annullato AS DOCANNULLATO, tieDMovMagCONAI.*\n";
|
str << "SELECT tieDMovMag.*, tieTBolFat.*, tieTBolFat.Annullato AS DOCANNULLATO, tieDMovMagCONAI.*\n";
|
||||||
str << "FROM tieDMovMag\nRIGHT JOIN tieTBolFat ON tieDMovMag.CodTestata = tieTBolFat.Cod_PK\n";
|
str << "FROM tieDMovMag\nRIGHT JOIN tieTBolFat ON tieDMovMag.CodTestata = tieTBolFat.Cod_PK\n";
|
||||||
if(hasConai)
|
if (hasConai)
|
||||||
str << "LEFT JOIN tieDMovMagCONAI ON tieDMovMag.Cod_PK = tieDMovMagCONAI.Cod_PK\n";
|
str << "LEFT JOIN tieDMovMagCONAI ON tieDMovMag.Cod_PK = tieDMovMagCONAI.Cod_PK\n";
|
||||||
str << "WHERE tieTBolFat.Origine = " << their_origin();
|
str << "WHERE tieTBolFat.Origine = " << their_origin();
|
||||||
//str << "WHERE tieDMovMag.Origine = " << their_origin() << " AND tieDMovMag.TipoTestata = 2"; // verificare
|
//str << "WHERE tieDMovMag.Origine = " << their_origin() << " AND tieDMovMag.TipoTestata = 2"; // verificare
|
||||||
@ -1183,7 +1211,7 @@ void TSknet_sync::sync_doc()
|
|||||||
docs.connect(_dsn, _usr, _psw);
|
docs.connect(_dsn, _usr, _psw);
|
||||||
TProgress_monitor pi(docs.items(), str);
|
TProgress_monitor pi(docs.items(), str);
|
||||||
|
|
||||||
long num_doc = -1, nd, codcf ;
|
long num_doc = -1, nd, codcf;
|
||||||
TString4 tipocf;
|
TString4 tipocf;
|
||||||
TDocumento* doc = NULL;
|
TDocumento* doc = NULL;
|
||||||
|
|
||||||
@ -1194,14 +1222,18 @@ void TSknet_sync::sync_doc()
|
|||||||
nd = docs.get("NumRif").as_int();
|
nd = docs.get("NumRif").as_int();
|
||||||
TString wrk = docs.get("CodCliente").as_string();
|
TString wrk = docs.get("CodCliente").as_string();
|
||||||
|
|
||||||
while(wrk[0] >= 'A')
|
while (wrk[0] >= 'A')
|
||||||
wrk.ltrim(1);
|
wrk.ltrim(1);
|
||||||
|
|
||||||
codcf = atol(wrk);
|
codcf = atol(wrk);
|
||||||
tipocf = docs.get("TipoIntestatario").as_string();
|
tipocf = docs.get("TipoIntestatario").as_string();
|
||||||
|
|
||||||
if (tipocf != "C" && tipocf != "F")
|
if ((tipocf != "C" && tipocf != "F") || codcf == 0)
|
||||||
warning_box("Attenzione! Per il doc n.%d è presente il tipo C/F = '%s'\nIl documento verrà saltato.", nd , tipocf);
|
{
|
||||||
|
TString msg; msg.format("Attenzione! Per il doc n.%d è presente il tipo C/F = '%s' con cod = %d \nIl documento verrà saltato.", nd, tipocf, codcf);
|
||||||
|
_log->log(1, msg);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (nd != num_doc)
|
if (nd != num_doc)
|
||||||
{
|
{
|
||||||
@ -1213,7 +1245,7 @@ void TSknet_sync::sync_doc()
|
|||||||
TString8 tipodoc;
|
TString8 tipodoc;
|
||||||
|
|
||||||
// Controllo se ho ricevuto un codice Campo per il TipoDoc o devo prenderlo dalle impostazioni
|
// Controllo se ho ricevuto un codice Campo per il TipoDoc o devo prenderlo dalle impostazioni
|
||||||
if(docs.get("TipoDocCE").is_empty())
|
if (docs.get("TipoDocCE").is_empty())
|
||||||
{
|
{
|
||||||
switch (docs.get("TipoDoc").as_int())
|
switch (docs.get("TipoDoc").as_int())
|
||||||
{
|
{
|
||||||
@ -1247,7 +1279,7 @@ void TSknet_sync::sync_doc()
|
|||||||
tipodoc = docs.get("TipoDocCE").as_string();
|
tipodoc = docs.get("TipoDocCE").as_string();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(numdoc.blank() || tipodoc.blank())
|
if (numdoc.blank() || tipodoc.blank())
|
||||||
{
|
{
|
||||||
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
_log->log(2, "Configurare parametri per movimenti Bee Store");
|
||||||
return;
|
return;
|
||||||
@ -1301,6 +1333,17 @@ void TSknet_sync::sync_doc()
|
|||||||
doc->put(DOC_ASPBENI2, asp.smid(50));
|
doc->put(DOC_ASPBENI2, asp.smid(50));
|
||||||
doc->put(DOC_NCOLLI, ncolli);
|
doc->put(DOC_NCOLLI, ncolli);
|
||||||
doc->put(DOC_CAUSMAG, codcaus);
|
doc->put(DOC_CAUSMAG, codcaus);
|
||||||
|
|
||||||
|
const TString codAg = docs.get("CodAgente").as_string();
|
||||||
|
const TString codPag = docs.get("CodPagamento").as_string();
|
||||||
|
|
||||||
|
if (!codAg.blank())
|
||||||
|
doc->put(DOC_CODAG, codAg);
|
||||||
|
|
||||||
|
if (!codPag.blank())
|
||||||
|
doc->put(DOC_CODPAG, codPag);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
const int tipoart = docs.get("TipoArticolo").as_int();
|
const int tipoart = docs.get("TipoArticolo").as_int();
|
||||||
TString4 tiporiga;
|
TString4 tiporiga;
|
||||||
@ -1349,7 +1392,7 @@ void TSknet_sync::sync_doc()
|
|||||||
TLocalisamfile codcor(LF_CODCORR); codcor.setkey(2);
|
TLocalisamfile codcor(LF_CODCORR); codcor.setkey(2);
|
||||||
TRectype rcodcor(LF_CODCORR);
|
TRectype rcodcor(LF_CODCORR);
|
||||||
rcodcor.put(CODCORR_CODARTALT, codart);
|
rcodcor.put(CODCORR_CODARTALT, codart);
|
||||||
if(codcor.read(rcodcor, _isequal) == NOERR)
|
if (codcor.read(rcodcor, _isequal) == NOERR)
|
||||||
tiporiga = ini_get_string(CONFIG_DITTA, "BS", "SKNumCustomRiga", "14");
|
tiporiga = ini_get_string(CONFIG_DITTA, "BS", "SKNumCustomRiga", "14");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1359,7 +1402,7 @@ void TSknet_sync::sync_doc()
|
|||||||
|
|
||||||
if (tipoart == 2)
|
if (tipoart == 2)
|
||||||
{
|
{
|
||||||
if (cache().get("SPP" , codart).not_empty())
|
if (cache().get("SPP", codart).not_empty())
|
||||||
rdoc.put(RDOC_CODARTMAG, codart);
|
rdoc.put(RDOC_CODARTMAG, codart);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1369,7 +1412,7 @@ void TSknet_sync::sync_doc()
|
|||||||
}
|
}
|
||||||
|
|
||||||
rdoc.put(RDOC_CODARTMAG, codart);
|
rdoc.put(RDOC_CODARTMAG, codart);
|
||||||
// rdoc.check_row();
|
// rdoc.check_row();
|
||||||
|
|
||||||
const TString descr = docs.get("DSRiga").as_string();
|
const TString descr = docs.get("DSRiga").as_string();
|
||||||
|
|
||||||
@ -1382,7 +1425,7 @@ void TSknet_sync::sync_doc()
|
|||||||
rdoc.put(RDOC_CODMAG, docs.get("CodMagazzino").as_string().left(5));
|
rdoc.put(RDOC_CODMAG, docs.get("CodMagazzino").as_string().left(5));
|
||||||
rdoc.put(RDOC_CODMAGC, docs.get("CodMagazDest").as_string().left(5));
|
rdoc.put(RDOC_CODMAGC, docs.get("CodMagazDest").as_string().left(5));
|
||||||
TString ums = docs.get("CodUntMis").as_string();
|
TString ums = docs.get("CodUntMis").as_string();
|
||||||
if(ums.blank() && cache().get("%TRI", tiporiga, "S7") == "M")
|
if (ums.blank() && cache().get("%TRI", tiporiga, "S7") == "M")
|
||||||
ums = ini_get_string(CONFIG_DITTA, "BS", "SKCodUmsDef");
|
ums = ini_get_string(CONFIG_DITTA, "BS", "SKCodUmsDef");
|
||||||
rdoc.put(RDOC_UMQTA, ums);
|
rdoc.put(RDOC_UMQTA, ums);
|
||||||
rdoc.put(RDOC_QTA, docs.get("Quantita").as_real());
|
rdoc.put(RDOC_QTA, docs.get("Quantita").as_real());
|
||||||
@ -1423,6 +1466,9 @@ void TSknet_sync::sync_doc()
|
|||||||
}
|
}
|
||||||
rdoc.put(RDOC_SCONTO, sconto);
|
rdoc.put(RDOC_SCONTO, sconto);
|
||||||
|
|
||||||
|
// Provvigione agenti
|
||||||
|
rdoc.put(RDOC_PERCPROV, docs.get("PercProvv").as_real());
|
||||||
|
|
||||||
|
|
||||||
// "CONSCACC", "CONSCALL", "CONSCCAR", "CONSCPLA", "CONSCLEG", "CONSCVET"
|
// "CONSCACC", "CONSCALL", "CONSCCAR", "CONSCPLA", "CONSCLEG", "CONSCVET"
|
||||||
TString keyCli; keyCli << tipocf << "|" << codcf;
|
TString keyCli; keyCli << tipocf << "|" << codcf;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user