Patch level : 12.0 894 (COMMIT BONAZZI DOPO REVERT)

Files correlati     : lv2.exe
Commento           to :

aggiornati i dati di testat dei clienti nelle varie bolle di consegne ritiro pui
ito buoni etc

IN fatturazione se indicato in configurazione
This commit is contained in:
Simone Palacino 2019-10-28 12:33:58 +01:00
parent 483fa28c99
commit 384178351e
5 changed files with 49 additions and 180 deletions

View File

@ -440,36 +440,14 @@ bool TGenera_documenti_app::crea_documento_plan(const TISAM_recordset& plan, TLo
TToken_string key;
key.add('C');
key.add(codcli);
const TRectype& clifo = cache().get(LF_CLIFO, key);
const TString4 codpag = clifo.get(CLI_CODPAG);
const long codabi = clifo.get_long(CLI_CODABI);
const long codcab = clifo.get_long(CLI_CODCAB);
const TString80 iban = clifo.get(CLI_IBAN);
//reupero la cuasale di magazzino di testata
const TString8 causmag = cache().get("%TIP", tpdoc, "S9");
//recupero i dati di interesse dal file CFVEN
//recupero i dati di interesse dal cliente
const TRectype& clifo = cache().get(LF_CLIFO, key);
//recupero i dati di interesse dal file CFVEN
const TRectype& cfven = cache().get(LF_CFVEN, key);
const long codabipr = cfven.get_long(CFV_CODABIPR);
const long codcabpr = cfven.get_long(CFV_CODCABPR);
const bool ragdoc = cfven.get_bool(CFV_RAGGDOC);
const int codindsp = cfven.get_int(CFV_CODINDSP);
const TString8 codag1 = cfven.get(CFV_CODAG1);
const TString4 codmez = cfven.get(CFV_CODSPMEZZO);
const TString4 codporto = cfven.get(CFV_CODPORTO);
const TString4 codnote1 = cfven.get(CFV_CODNOTESP1);
const TString4 codnote2 = cfven.get(CFV_CODNOTESP2);
const TString4 codnote = cfven.get(CFV_CODNOTE);
const TString8 codvet1 = cfven.get(CFV_CODVETT1);
const TString8 codvet2 = cfven.get(CFV_CODVETT2);
const TString8 codvet3 = cfven.get(CFV_CODVETT3);
const real speseinc = cfven.get_real(CFV_PERCSPINC);
const TString4 catven = cfven.get(CFV_CATVEN);
const bool addbolli = cfven.get_bool(CFV_ADDBOLLI);
const TString8 codlist = cfven.get(CFV_CODLIST);
const TString4 codzona = cfven.get(CFV_CODZONA);
if(codaut.empty())
codaut = cfven.get(CFV_CODAG);
@ -529,32 +507,9 @@ bool TGenera_documenti_app::crea_documento_plan(const TISAM_recordset& plan, TLo
doc.put(DOC_TIPOCF, 'C');
doc.put(DOC_CODCF, codcli);
doc.put(DOC_CODCONT, codcont);
if(codindsp > 0)
doc.put(DOC_CODINDSP, codindsp);
doc.put(DOC_RAGGR, ragdoc);
doc.put(DOC_CODPAG, codpag);
doc.put(DOC_CODABIA, codabi);
doc.put(DOC_CODCABA, codcab);
doc.put(DOC_IBAN, iban);
doc.put(DOC_CODABIP, codabipr);
doc.put(DOC_CODCABP, codcabpr);
doc.put(DOC_CODAG, codaut);
doc.put(DOC_CODAGVIS, codag1);
doc.put(DOC_CODSPMEZZO, codmez);
doc.put(DOC_ZONA, codzona);
doc.put(DOC_CODPORTO, codporto);
doc.put(DOC_CODNOTESP1, codnote1);
doc.put(DOC_CODNOTESP2, codnote2);
doc.put(DOC_CODNOTE, codnote);
doc.put(DOC_CODVETT1, codvet1);
doc.put(DOC_CODVETT2, codvet2);
doc.put(DOC_CODVETT3, codvet3);
doc.put(DOC_CATVEN, catven);
doc.put(DOC_CODLIST, codlist);
doc.put(DOC_CAUSMAG, causmag);
doc.put(DOC_PERCSPINC, speseinc);
doc.put(DOC_ADDBOLLI, addbolli);
doc.put(DOC_SCONTOPERC, sconto);
doc.put(DOC_CAUSMAG, causmag);
doc.put(DOC_SCONTOPERC, sconto);
doc.cli2doc();
doc.put("DATAGEN", datagen); //data generazione del documento
doc.put("DATAPRCO", dtcons); //data prevista consegna
doc.put("CODITI", coditi); //codice itinerario
@ -1072,6 +1027,7 @@ int TGenera_documenti_app::scansione_ritiri_anticipi(const long codcli, const TD
doc.put("CODNUMDG", docgen.get(DOC_CODNUM));
doc.put("NDCODG", docgen.get(DOC_NDOC));
doc.cli2doc();
doc.rewrite();
}
return docritiri.items();

View File

@ -304,7 +304,7 @@ void TFatturazione_lavanderie::aggiorna_fattura(TDocumento& doc, int codcont)
rdoc.put(RDOC_DESCR, cached_article(codart).get(ANAMAG_DESCR));
rdoc.put(RDOC_CHECKED, true);
rdoc.put(RDOC_QTA, 0);
rdoc.put(RDOC_QTAGG1, 0);
rdoc.put(RDOC_QTAGG1, 0);
rdoc.put(RDOC_UMQTA, cached_article(codart).first_um());
TToken_string key;
@ -2162,7 +2162,8 @@ void TFatturazione_lav_app::main_loop()
bool prova = false;
const bool use_indsp = ini_get_bool(CONFIG_DITTA, "mg", "MOV_INDSPED");
const bool prezzo_da_contratto = ini_get_int(CONFIG_DITTA, "lv", "Tipopr") == 0;
const bool agghead = prezzo_da_contratto || ini_get_bool(CONFIG_DITTA, "lv", "AggHead");
const bool aggcli = ini_get_bool(CONFIG_DITTA, "lv", "AggHead");
// const bool agghead = prezzo_da_contratto || aggcli;
const TString4 num_buoni = ini_get_string(CONFIG_DITTA, "lv", "NUM_GEN");
const TString4 tipo_buoni = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_GEN");
@ -2396,12 +2397,13 @@ void TFatturazione_lav_app::main_loop()
{
TDocumento * doc = new TDocumento(recset.cursor()->curr());
if (agghead && !_solototali && doc->get(DOC_CODNUM) == num_buoni && doc->tipo().codice() == tipo_buoni)
// if (aggcli && !_solototali && doc->get(DOC_CODNUM) == num_buoni && doc->tipo().codice() == tipo_buoni)
if (aggcli && !_solototali)
{
bool doc_updated = false;
// banche
key.cut(0);
key.add(clirec.get(CLI_TIPOCF));
key.add(clirec.get(CLI_CODCF));

View File

@ -451,33 +451,11 @@ TObject* TAcquisizione_cache::key2obj(const char* key)
//recupero i dati di interesse dal cliente
const TRectype& clifo = cache().get(LF_CLIFO, key);
const TString4 codpag = clifo.get(CLI_CODPAG);
const long codabi = clifo.get_long(CLI_CODABI);
const long codcab = clifo.get_long(CLI_CODCAB);
const TString80 iban = clifo.get(CLI_IBAN);
//reupero la cuasale di magazzino di testata
const TString16 causmag = cache().get("%TIP", _tipodoc, "S9");
//recupero i dati di interesse dal file CFVEN
const TRectype& cfven = cache().get(LF_CFVEN, key);
const long codabipr = cfven.get_long(CFV_CODABIPR);
const long codcabpr = cfven.get_long(CFV_CODCABPR);
const bool ragdoc = cfven.get_bool(CFV_RAGGDOC);
const TString8 codag1 = cfven.get(CFV_CODAG1);
const TString4 codmez = cfven.get(CFV_CODSPMEZZO);
const TString4 codporto = cfven.get(CFV_CODPORTO);
const TString4 codnote1 = cfven.get(CFV_CODNOTESP1);
const TString4 codnote2 = cfven.get(CFV_CODNOTESP2);
const TString4 codnote = cfven.get(CFV_CODNOTE);
const TString8 codvet1 = cfven.get(CFV_CODVETT1);
const TString8 codvet2 = cfven.get(CFV_CODVETT2);
const TString8 codvet3 = cfven.get(CFV_CODVETT3);
const real speseinc = cfven.get_real(CFV_PERCSPINC);
const TString4 catven = cfven.get(CFV_CATVEN);
const bool addbolli = cfven.get_bool(CFV_ADDBOLLI);
const TString8 codlist = cfven.get(CFV_CODLIST);
const TString4 codzona = cfven.get(CFV_CODZONA);
if(codaut.empty())
codaut = cfven.get(CFV_CODAG);
@ -543,33 +521,10 @@ TObject* TAcquisizione_cache::key2obj(const char* key)
doc->put(DOC_TIPOCF, 'C');
doc->put(DOC_CODCF, codcf);
doc->put(DOC_CODCONT, codcont);
if(codindsp > 0)
doc->put(DOC_CODINDSP, codindsp);
doc->put(DOC_CODPAG, codpag);
doc->put(DOC_CAUSMAG, causmag);
doc->put(DOC_CODABIA, codabi);
doc->put(DOC_CODCABA, codcab);
doc->put(DOC_IBAN, iban);
doc->put(DOC_CODABIP, codabipr);
doc->put(DOC_CODCABP, codcabpr);
doc->put(DOC_CODAG, codaut);
doc->put(DOC_CODAGVIS, codag1);
doc->put(DOC_CODSPMEZZO, codmez);
doc->put(DOC_ZONA, codzona);
doc->put(DOC_CODPORTO, codporto);
doc->put(DOC_CODNOTESP1, codnote1);
doc->put(DOC_CODNOTESP2, codnote2);
doc->put(DOC_CODNOTE, codnote);
doc->put(DOC_CODVETT1, codvet1);
doc->put(DOC_CODVETT2, codvet2);
doc->put(DOC_CODVETT3, codvet3);
doc->put(DOC_CATVEN, catven);
doc->put(DOC_CODLIST, codlist);
doc->put(DOC_CAUSMAG, causmag);
doc->put(DOC_PERCSPINC, speseinc);
doc->put(DOC_ADDBOLLI, addbolli);
doc->put(DOC_SCONTOPERC, sconto);
doc->put("DATACON", datadoc); //data conteggio
doc->put(DOC_CAUSMAG, causmag);
doc->put(DOC_SCONTOPERC, sconto);
doc->cli2doc();
doc->put("DATACON", datadoc); //data conteggio
doc->put("DATAGEN", datagen); //data generazione del documento
doc->put("DATAPRCO", dataprco); //data prevista consegna
doc->put("CODITI", coditi); //codice itinerario

View File

@ -104,32 +104,10 @@ TObject* TBuoni_cache::key2obj(const char* key)
//recupero i dati di interesse dal cliente
const TRectype& clifo = cache().get(LF_CLIFO, key);
const TString4 codpag = clifo.get(CLI_CODPAG);
const long codabi = clifo.get_long(CLI_CODABI);
const long codcab = clifo.get_long(CLI_CODCAB);
const TString80 iban = clifo.get(CLI_IBAN);
//recupero la causale di magazzino di testata
const TString8 causmag = cache().get("%TIP", _tipodoc, "S9");
//recupero i dati di interesse dal file CFVEN
const TRectype& cfven = cache().get(LF_CFVEN, key);
const long codabipr = cfven.get_long(CFV_CODABIPR);
const long codcabpr = cfven.get_long(CFV_CODCABPR);
const bool ragdoc = cfven.get_bool(CFV_RAGGDOC);
const TString8 codag1 = cfven.get(CFV_CODAG1);
const TString4 codmez = cfven.get(CFV_CODSPMEZZO);
const TString4 codporto = cfven.get(CFV_CODPORTO);
const TString4 codnote1 = cfven.get(CFV_CODNOTESP1);
const TString4 codnote2 = cfven.get(CFV_CODNOTESP2);
const TString4 codnote = cfven.get(CFV_CODNOTE);
const TString8 codvet1 = cfven.get(CFV_CODVETT1);
const TString8 codvet2 = cfven.get(CFV_CODVETT2);
const TString8 codvet3 = cfven.get(CFV_CODVETT3);
const real speseinc = cfven.get_real(CFV_PERCSPINC);
const TString4 catven = cfven.get(CFV_CATVEN);
const bool addbolli = cfven.get_bool(CFV_ADDBOLLI);
const TString8 codlist = cfven.get(CFV_CODLIST);
const TString4 codzona = cfven.get(CFV_CODZONA);
if(codaut.empty())
codaut = cfven.get(CFV_CODAG);
@ -212,33 +190,10 @@ TObject* TBuoni_cache::key2obj(const char* key)
doc->put(DOC_TIPOCF, 'C');
doc->put(DOC_CODCF, codcf);
doc->put(DOC_CODCONT, codcont);
if (codindsp > 0)
doc->put(DOC_CODINDSP, codindsp);
doc->put(DOC_CODPAG, codpag);
doc->put(DOC_CAUSMAG, causmag);
doc->put(DOC_CODABIA, codabi);
doc->put(DOC_CODCABA, codcab);
doc->put(DOC_IBAN, iban);
doc->put(DOC_CODABIP, codabipr);
doc->put(DOC_CODCABP, codcabpr);
doc->put(DOC_CODAG, codaut);
doc->put(DOC_CODAGVIS, codag1);
doc->put(DOC_CODSPMEZZO, codmez);
doc->put(DOC_ZONA, codzona);
doc->put(DOC_CODPORTO, codporto);
doc->put(DOC_CODNOTESP1, codnote1);
doc->put(DOC_CODNOTESP2, codnote2);
doc->put(DOC_CODNOTE, codnote);
doc->put(DOC_CODVETT1, codvet1);
doc->put(DOC_CODVETT2, codvet2);
doc->put(DOC_CODVETT3, codvet3);
doc->put(DOC_CATVEN, catven);
doc->put(DOC_CODLIST, codlist);
doc->put(DOC_CAUSMAG, causmag);
doc->put(DOC_PERCSPINC, speseinc);
doc->put(DOC_ADDBOLLI, addbolli);
doc->put(DOC_SCONTOPERC, sconto);
doc->put("DATACON", datadoc); //data conteggio
doc->cli2doc();
doc->put("DATACON", datadoc); //data conteggio
doc->put("DATAGEN", datagen); //data generazione del documento
doc->put("DATAPRCO", dataprco); //data prevista consegna
doc->put("CODITI", coditi); //codice itinerario

View File

@ -233,16 +233,16 @@ void TCli_for::cli2doc(TDocumento& doc)
{
doc.put(DOC_CODABIA, get(CLI_CODABI));
doc.put(DOC_CODCABA, get(CLI_CODCAB));
doc.put(DOC_IBAN, get(CLI_IBAN));
doc.put(DOC_IBAN, get(CLI_IBAN));
}
else
{
doc.put(DOC_CODABIA, cfban.get(CFBAN_ABI));
doc.put(DOC_CODCABA, cfban.get(CFBAN_CAB));
doc.put(DOC_IBAN, cfban.get(CFBAN_IBAN));
doc.put(DOC_IBAN, cfban.get(CFBAN_IBAN));
}
// Trasforma chiave da Vostra a Nostra banca
// Trasforma chiave da Vostra a Nostra banca
key.add("N", 2);
const TRectype& cfbanpr = cache().get(LF_CFBAN, key);
@ -258,41 +258,42 @@ void TCli_for::cli2doc(TDocumento& doc)
doc.put(DOC_CODCABP, cfbanpr.get(CFBAN_CAB));
doc.put(DOC_PROGBNP, cfbanpr.get(CFBAN_PROGPR));
}
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
doc.put(DOC_RAGGREFF, v.get(CFV_RAGGEFF));
doc.put(DOC_CODINDSP, v.get(CFV_CODINDSP));
doc.put(DOC_CODAG, v.get(CFV_CODAG));
doc.put(DOC_CODAGVIS, v.get(CFV_CODAG1));
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
doc.put(DOC_RAGGREFF, v.get(CFV_RAGGEFF));
doc.put(DOC_CODINDSP, v.get(CFV_CODINDSP));
doc.put(DOC_CODAG, v.get(CFV_CODAG));
doc.put(DOC_CODAGVIS, v.get(CFV_CODAG1));
doc.put(DOC_CODSPMEZZO, v.get(CFV_CODSPMEZZO));
doc.put(DOC_CODPORTO, v.get(CFV_CODPORTO));
doc.put(DOC_CODPORTO, v.get(CFV_CODPORTO));
doc.put(DOC_CODNOTESP1, v.get(CFV_CODNOTESP1));
doc.put(DOC_CODNOTESP2, v.get(CFV_CODNOTESP2));
doc.put(DOC_CODNOTE, v.get(CFV_CODNOTE));
doc.put(DOC_CODVETT1, v.get(CFV_CODVETT1));
doc.put(DOC_CODVETT2, v.get(CFV_CODVETT2));
doc.put(DOC_CODVETT3, v.get(CFV_CODVETT3));
doc.put(DOC_PERCSPINC, v.get(CFV_PERCSPINC));
doc.put(DOC_ADDBOLLI, v.get(CFV_ADDBOLLI));
doc.put(DOC_CATVEN, v.get(CFV_CATVEN));
doc.put(DOC_CODNOTE, v.get(CFV_CODNOTE));
doc.put(DOC_CODVETT1, v.get(CFV_CODVETT1));
doc.put(DOC_CODVETT2, v.get(CFV_CODVETT2));
doc.put(DOC_CODVETT3, v.get(CFV_CODVETT3));
doc.put(DOC_PERCSPINC, v.get(CFV_PERCSPINC));
doc.put(DOC_ADDBOLLI, v.get(CFV_ADDBOLLI));
doc.put(DOC_CATVEN, v.get(CFV_CATVEN));
const int alleg = get_int(CLI_ALLEG);
const bool split_payment = doc.get_date(DOC_DATADOC).year() >= 2015 && get_bool(CLI_SPLITPAY);
const bool split_payment = doc.get_date(DOC_DATADOC).year() >= 2015 && get_bool(CLI_SPLITPAY);
doc.put(DOC_LIQDIFF, !split_payment && alleg == 7 && ini_get_bool(CONFIG_DITTA, "cg", "GesLiqDiff") ? "X" : "");
//listino: deve essere attiva la gestione listini nella ditta
const bool gest_listini = ini_get_bool(CONFIG_DITTA, "ve", "GES", false, 1);
if (gest_listini)
{
const TDate datadoc = doc.get_date(DOC_DATADOC);
const TString& listino = find_listino_al(datadoc);
doc.put(DOC_CODLIST, listino);
}
//listino: deve essere attiva la gestione listini nella ditta
const bool gest_listini = ini_get_bool(CONFIG_DITTA, "ve", "GES", false, 1);
if (gest_listini)
{
const TDate datadoc = doc.get_date(DOC_DATADOC);
const TString& listino = find_listino_al(datadoc);
doc.put(DOC_CODLIST, listino);
}
doc.put(DOC_ZONA, v.get(CFV_CODZONA));
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
doc.put(DOC_ZONA, v.get(CFV_CODZONA));
doc.put(DOC_RAGGR, v.get(CFV_RAGGDOC));
//aggiungere gestione spese e bolli???
//aggiungere gestione spese e bolli???
doc.put(DOC_CODPORTO, v.get(CFV_CODPORTO));
}
const TString& TCli_for::get_iban()