diff --git a/tp/tp0101.cpp b/tp/tp0101.cpp index dd49fb674..157f277f4 100755 --- a/tp/tp0101.cpp +++ b/tp/tp0101.cpp @@ -527,25 +527,27 @@ TPack_clifo::~TPack_clifo() bool TPack_indsped::get_clifo(char& tipocf, long& codcf) { TString query = query_header(); - query << "SELECT CodContab FROM Customers_Suppliers WHERE (FlagCustSupp=#TIPOCF) AND (CustSuppCode=#CODCF)"; + query << "SELECT CodContab,FlagCustSupp FROM Customers_Suppliers WHERE CustSuppCode=#CODCF"; TODBC_recordset clifo(query); - const TVariant tipo(tipocf == 'C' ? "C": "S"); const TVariant& code = recordset().get("CustSuppRefCode"); - - clifo.set_var("#TIPOCF", tipo); clifo.set_var("#CODCF", code); bool ok = clifo.move_first(); + if (ok) { - tipocf = tipo.as_string()[0] == 'C' ? 'C' : 'F'; codcf = clifo.get(0u).as_int(); + tipocf = clifo.get(1u).as_string()[0]; + + if (tipocf == 'T') + return false; // Ignora clienti temporanei senza dare segnalazioni } if (!ok || codcf <= 0) { - TString msg = TR("Impossibile determinare il codice contabile del cliente/fornitore"); - msg << ' ' << tipo.as_string() << ' ' << code.as_string(); + TString msg; + msg << TR("Impossibile determinare il codice contabile dell'anagrafica"); + msg << " Customers_Suppliers.CustSuppCode=" << code.as_string(); ok = log_error(msg); } @@ -598,7 +600,7 @@ bool TPack_indsped::trasferisci() codcontab.trim(); long codcf = -1; int codind = 0; - if (codcontab.not_empty()) + if (codcontab.full()) { codcf = codcontab.get_long(0); codind = codcontab.get_int(); @@ -613,7 +615,7 @@ bool TPack_indsped::trasferisci() good = clifo.read() == NOERR; if (!good) { - // custsupprefcode e' il cliente/fornitore a cui si riferisce l'indirizzo di spesione + // custsupprefcode e' il cliente/fornitore a cui si riferisce l'indirizzo di spedizione const TString& custsupprefcode = get_str("CustSuppRefCode"); str.format(FR("Non esiste l'indirizzo di spedizione %ld/%d corrispondente a %s"), codcf, codind, (const char*)custsupprefcode); @@ -634,7 +636,7 @@ bool TPack_indsped::trasferisci() if (needs_creation && statusflag != 3 && good) { // inserisco indirizzo di spedizione - char tipo = tipocf=='C' ? 'C':'S'; + char tipo = ' '; if (get_clifo(tipo, codcf)) { codind = get_next_key(tipocf, codcf); @@ -653,6 +655,7 @@ bool TPack_indsped::trasferisci() { if (statusflag == 3) { + // NON cancellare il cliente in quanto potrebbe avere dei movimenti associati //const int flag = cancella_clifo(clifo); //update_statusflag_codcontab(custsuppcode, flag, "0"); } @@ -662,16 +665,17 @@ bool TPack_indsped::trasferisci() TString80 dencom = get_str("Locality"); dencom.trim(); dencom.upper(); const TRectype& reccom = cache_comuni.get(dencom); - TString80 str = reccom.get(COM_DENCOM); str.trim(); + TString256 str = reccom.get(COM_DENCOM); + str.trim(); str.upper(); if (str == dencom) rec_indsped.put(IND_COM, reccom.get(COM_COM)); else { - rec_clifo.put(IND_COM, " "); - rec_clifo.put(IND_LOCALITA, dencom); + rec_indsped.zero(IND_COM); + rec_indsped.put(IND_LOCALITA, dencom); log(""); - str.format(FR("Destinazioni diverse %d: comune non trovato %s"), codcf, (const char*) dencom); + str.format(FR("Destinazioni diverse %ld: comune non trovato %s"), codcf, (const char*) dencom); log(str); } aggiorna_record(indsped, lista_indsped); diff --git a/tp/tp0900.cpp b/tp/tp0900.cpp index 547a69be9..e0d848329 100755 --- a/tp/tp0900.cpp +++ b/tp/tp0900.cpp @@ -389,8 +389,6 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione } } - if (anno == 2008 && codnum == "NAC" && (numdoc == 74 || numdoc == 75)) - int cazzone = 1; if (n_riga_generata > 0) scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie); else