Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento : trasferimenti da e per terminalini git-svn-id: svn://10.65.10.50/branches/R_10_00@21515 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f9944d332f
commit
a0b3256f45
@ -206,7 +206,8 @@ void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
codage = codage.right(3);
|
||||
clienti.set("CodiceTerminale", codage);
|
||||
|
||||
clienti.set("CodiceCliente", archivio_clienti.get(CLI_CODCF));
|
||||
const long codcf = archivio_clienti.get(CLI_CODCF).as_int();
|
||||
clienti.set("CodiceCliente", codcf);
|
||||
|
||||
//riempie l'anagrafica del cliente principale
|
||||
fill_anagrafica_cliente(archivio_clienti, clienti, false);
|
||||
@ -231,7 +232,8 @@ void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
TString4 codpag = archivio_clienti.get(CLI_CODPAG).as_string();
|
||||
clienti.set("CodicePagamento", codpag.right(2));
|
||||
|
||||
TString query;
|
||||
//prima moda: nel campo CodiceListino ci va il codice Campo del Contratto del cliente (listino cliente per Hardy)
|
||||
/*TString query;
|
||||
query << "USE CONDV";
|
||||
query << "\nFROM TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||
query << "\nTO TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||
@ -242,8 +244,14 @@ void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
{
|
||||
const TString& cod_contr = contratti.get(CONDV_COD).as_string();
|
||||
clienti.set("CodiceListino", cod_contr);
|
||||
}
|
||||
}*/
|
||||
|
||||
//seconda moda: nel campo CodiceListino ci va il codice del Listino Campo associato al cliente in cfven
|
||||
TToken_string key_cfven;
|
||||
key_cfven.add("C");
|
||||
key_cfven.add(codcf);
|
||||
const TRectype& rec_cfven = cache().get(LF_CFVEN, key_cfven);
|
||||
const TString& listino_cliente = rec_cfven.get(CFV_CODLIST);
|
||||
|
||||
const TString& str_sconto = archivio_clienti.get(CFV_SCONTO).as_string();
|
||||
clienti.set("ScontoFineFattura", hd_find_sconto(str_sconto));
|
||||
@ -268,7 +276,7 @@ void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
||||
s='S';
|
||||
clienti.set("NoConsegna", TVariant(s));*/
|
||||
|
||||
}
|
||||
} //for (bool ok = archivio_clienti.move_first()...
|
||||
|
||||
TFilename output_path = genera_path("clienti");
|
||||
clienti.save_as(output_path, fmt_text);
|
||||
|
@ -307,7 +307,11 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
codice_terminale.right_just(3, '0');
|
||||
TString8 codice_agente = codice_terminale;
|
||||
codice_agente.right_just(5, '0');
|
||||
const TString& codage = cache().get(LF_AGENTI, codice_agente, AGE_CODAGE);
|
||||
|
||||
const TRectype& rec_age = cache().get(LF_AGENTI, codice_agente);
|
||||
const TString& codage = rec_age.get(AGE_CODAGE);
|
||||
const TString8 codmag = rec_age.get(AGE_CODMAG); //magazzino collegato all'agente (serve nelle righe)
|
||||
|
||||
if (codage != codice_agente)
|
||||
{
|
||||
_can_write = false;
|
||||
@ -325,16 +329,16 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
const int giorno = atoi(str_datadoc.left(2));
|
||||
|
||||
|
||||
const char rec_tipodoc = recset.get(DOC_TIPODOC).as_string()[0];
|
||||
char rec_tipodoc = recset.get(DOC_TIPODOC).as_string()[0];
|
||||
//2a) tipo documento
|
||||
TString4 tipodoc;
|
||||
TConfig hardy(CONFIG_DITTA, "ha");
|
||||
switch (rec_tipodoc)
|
||||
{
|
||||
case 'F': tipodoc = hardy.get("InpFatTip"); break;
|
||||
case 'B': tipodoc = hardy.get("InpBolTip"); break;
|
||||
case 'V': tipodoc = hardy.get("InpValTip"); break;
|
||||
case 'O': tipodoc = hardy.get("InpOrdTip"); break;
|
||||
case 'F': tipodoc = hardy.get("InpFatTip"); break; //Fatture
|
||||
case 'B': tipodoc = hardy.get("InpBolTip"); break; //Bolle
|
||||
case 'V': tipodoc = hardy.get("InpValTip"); break; //bolle Valorizzate: attenzione!! devono essere trasformate in 'B'olle alla creazione della numerazione di Campo
|
||||
case 'O': tipodoc = hardy.get("InpOrdTip"); break; //Ordini
|
||||
default:
|
||||
{
|
||||
_can_write = false;
|
||||
@ -347,6 +351,9 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
//2b) numerazione documento
|
||||
//il codnum dipende dal tipo documento del terminale (F,B,O...) e dal codice del terminale
|
||||
TString4 codnum;
|
||||
if (rec_tipodoc == 'V')
|
||||
rec_tipodoc = 'B';
|
||||
|
||||
codnum << rec_tipodoc << codice_terminale;
|
||||
const TString& numerazione = cache().get("%NUM", codnum, "CODTAB");
|
||||
if (numerazione != codnum)
|
||||
@ -361,12 +368,17 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
|
||||
TDocumento doc('D', anno, codnum, ndoc);
|
||||
|
||||
//2c) tipo documento e data documento
|
||||
doc.put(DOC_TIPODOC, tipodoc);
|
||||
TTipo_documento td(tipodoc);
|
||||
const TString& caus_movmag = td.caus_mov();
|
||||
doc.put(DOC_CAUSMAG, caus_movmag);
|
||||
|
||||
TDate datadoc(giorno, mese, anno);
|
||||
doc.put(DOC_DATADOC, datadoc);
|
||||
|
||||
//2d) cliente e campi collegati via cli2doc()
|
||||
doc.put(DOC_TIPOCF, "C");
|
||||
|
||||
//2c) cliente
|
||||
const long codcf = recset.get(DOC_CODCF).as_int();
|
||||
TToken_string key_clifo;
|
||||
key_clifo.add("C");
|
||||
@ -379,6 +391,7 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
msg << "Codice cliente " << codcf << " sconosciuto";
|
||||
log.log(2, msg);
|
||||
}
|
||||
|
||||
doc.put(DOC_CODCF, codcf);
|
||||
doc.put(DOC_CODCFFATT, recset.get(DOC_CODCFFATT).as_int());
|
||||
//sconto in fattura, sconto totale, incasso ecc.... che cazzo sono?
|
||||
@ -386,6 +399,10 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
doc.put(DOC_CODPAG, recset.get(DOC_CODPAG).as_string());
|
||||
//data spedizione...datapart o datacons? (solo per ordini)
|
||||
|
||||
//usa la cli2doc per riempire tutti i campi legati al cliente
|
||||
TCli_for clifor('C', codcf);
|
||||
clifor.cli2doc(doc);
|
||||
|
||||
//al simpatico documento appiccia tutte le righe RF che seguono il record TF..
|
||||
//..dopo il magico ordinamento iniziale del recordset
|
||||
//intanto azzera le righe eventualmente già presenti (riscrittura)
|
||||
@ -487,6 +504,8 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
||||
rigadoc.put(RDOC_CODIVA, codiva);
|
||||
|
||||
rigadoc.put(RDOC_LIVELLO, recset.get("CodiceLotto").as_string());
|
||||
|
||||
rigadoc.put(RDOC_CODMAG, codmag); //questo viene dall'agente ed è stato preso all'inizio del metodo
|
||||
}
|
||||
|
||||
//incredibilmente arriva in fondo
|
||||
@ -588,8 +607,6 @@ void TUpload2Campo::elabora(const TMask& mask)
|
||||
break;
|
||||
} //switch(pos)..
|
||||
|
||||
|
||||
|
||||
} //for (bool ok...
|
||||
|
||||
log.preview();
|
||||
|
Loading…
x
Reference in New Issue
Block a user