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);
|
codage = codage.right(3);
|
||||||
clienti.set("CodiceTerminale", codage);
|
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
|
//riempie l'anagrafica del cliente principale
|
||||||
fill_anagrafica_cliente(archivio_clienti, clienti, false);
|
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();
|
TString4 codpag = archivio_clienti.get(CLI_CODPAG).as_string();
|
||||||
clienti.set("CodicePagamento", codpag.right(2));
|
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 << "USE CONDV";
|
||||||
query << "\nFROM TIPO=C TIPOCF=C CODCF=#CODCF";
|
query << "\nFROM TIPO=C TIPOCF=C CODCF=#CODCF";
|
||||||
query << "\nTO 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();
|
const TString& cod_contr = contratti.get(CONDV_COD).as_string();
|
||||||
clienti.set("CodiceListino", cod_contr);
|
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();
|
const TString& str_sconto = archivio_clienti.get(CFV_SCONTO).as_string();
|
||||||
clienti.set("ScontoFineFattura", hd_find_sconto(str_sconto));
|
clienti.set("ScontoFineFattura", hd_find_sconto(str_sconto));
|
||||||
@ -268,7 +276,7 @@ void TFile2Txt::genera_clienti_txt(const long da_codcli)
|
|||||||
s='S';
|
s='S';
|
||||||
clienti.set("NoConsegna", TVariant(s));*/
|
clienti.set("NoConsegna", TVariant(s));*/
|
||||||
|
|
||||||
}
|
} //for (bool ok = archivio_clienti.move_first()...
|
||||||
|
|
||||||
TFilename output_path = genera_path("clienti");
|
TFilename output_path = genera_path("clienti");
|
||||||
clienti.save_as(output_path, fmt_text);
|
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');
|
codice_terminale.right_just(3, '0');
|
||||||
TString8 codice_agente = codice_terminale;
|
TString8 codice_agente = codice_terminale;
|
||||||
codice_agente.right_just(5, '0');
|
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)
|
if (codage != codice_agente)
|
||||||
{
|
{
|
||||||
_can_write = false;
|
_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 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
|
//2a) tipo documento
|
||||||
TString4 tipodoc;
|
TString4 tipodoc;
|
||||||
TConfig hardy(CONFIG_DITTA, "ha");
|
TConfig hardy(CONFIG_DITTA, "ha");
|
||||||
switch (rec_tipodoc)
|
switch (rec_tipodoc)
|
||||||
{
|
{
|
||||||
case 'F': tipodoc = hardy.get("InpFatTip"); break;
|
case 'F': tipodoc = hardy.get("InpFatTip"); break; //Fatture
|
||||||
case 'B': tipodoc = hardy.get("InpBolTip"); break;
|
case 'B': tipodoc = hardy.get("InpBolTip"); break; //Bolle
|
||||||
case 'V': tipodoc = hardy.get("InpValTip"); break;
|
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;
|
case 'O': tipodoc = hardy.get("InpOrdTip"); break; //Ordini
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
_can_write = false;
|
_can_write = false;
|
||||||
@ -347,6 +351,9 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
|||||||
//2b) numerazione documento
|
//2b) numerazione documento
|
||||||
//il codnum dipende dal tipo documento del terminale (F,B,O...) e dal codice del terminale
|
//il codnum dipende dal tipo documento del terminale (F,B,O...) e dal codice del terminale
|
||||||
TString4 codnum;
|
TString4 codnum;
|
||||||
|
if (rec_tipodoc == 'V')
|
||||||
|
rec_tipodoc = 'B';
|
||||||
|
|
||||||
codnum << rec_tipodoc << codice_terminale;
|
codnum << rec_tipodoc << codice_terminale;
|
||||||
const TString& numerazione = cache().get("%NUM", codnum, "CODTAB");
|
const TString& numerazione = cache().get("%NUM", codnum, "CODTAB");
|
||||||
if (numerazione != codnum)
|
if (numerazione != codnum)
|
||||||
@ -361,12 +368,17 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
|||||||
|
|
||||||
TDocumento doc('D', anno, codnum, ndoc);
|
TDocumento doc('D', anno, codnum, ndoc);
|
||||||
|
|
||||||
|
//2c) tipo documento e data documento
|
||||||
doc.put(DOC_TIPODOC, tipodoc);
|
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);
|
TDate datadoc(giorno, mese, anno);
|
||||||
doc.put(DOC_DATADOC, datadoc);
|
doc.put(DOC_DATADOC, datadoc);
|
||||||
|
|
||||||
|
//2d) cliente e campi collegati via cli2doc()
|
||||||
doc.put(DOC_TIPOCF, "C");
|
doc.put(DOC_TIPOCF, "C");
|
||||||
|
|
||||||
//2c) cliente
|
|
||||||
const long codcf = recset.get(DOC_CODCF).as_int();
|
const long codcf = recset.get(DOC_CODCF).as_int();
|
||||||
TToken_string key_clifo;
|
TToken_string key_clifo;
|
||||||
key_clifo.add("C");
|
key_clifo.add("C");
|
||||||
@ -379,6 +391,7 @@ void TUpload2Campo::elabora_TF(THardy_upload_recordset& recset, TLog_report& log
|
|||||||
msg << "Codice cliente " << codcf << " sconosciuto";
|
msg << "Codice cliente " << codcf << " sconosciuto";
|
||||||
log.log(2, msg);
|
log.log(2, msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
doc.put(DOC_CODCF, codcf);
|
doc.put(DOC_CODCF, codcf);
|
||||||
doc.put(DOC_CODCFFATT, recset.get(DOC_CODCFFATT).as_int());
|
doc.put(DOC_CODCFFATT, recset.get(DOC_CODCFFATT).as_int());
|
||||||
//sconto in fattura, sconto totale, incasso ecc.... che cazzo sono?
|
//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());
|
doc.put(DOC_CODPAG, recset.get(DOC_CODPAG).as_string());
|
||||||
//data spedizione...datapart o datacons? (solo per ordini)
|
//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..
|
//al simpatico documento appiccia tutte le righe RF che seguono il record TF..
|
||||||
//..dopo il magico ordinamento iniziale del recordset
|
//..dopo il magico ordinamento iniziale del recordset
|
||||||
//intanto azzera le righe eventualmente già presenti (riscrittura)
|
//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_CODIVA, codiva);
|
||||||
|
|
||||||
rigadoc.put(RDOC_LIVELLO, recset.get("CodiceLotto").as_string());
|
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
|
//incredibilmente arriva in fondo
|
||||||
@ -588,8 +607,6 @@ void TUpload2Campo::elabora(const TMask& mask)
|
|||||||
break;
|
break;
|
||||||
} //switch(pos)..
|
} //switch(pos)..
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} //for (bool ok...
|
} //for (bool ok...
|
||||||
|
|
||||||
log.preview();
|
log.preview();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user