Patch level : 10.0 592
Files correlati : lv2.exe Ricompilazione Demo : [ ] Commento : Corretto valore convenzionale per articolo git-svn-id: svn://10.65.10.50/trunk@20032 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
516de017a4
commit
8c78a38e87
136
lv/lv2500.cpp
136
lv/lv2500.cpp
@ -574,23 +574,26 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
//di partenza, poi costruisco la descrizione in base alla periodicità di fatturazione,
|
||||
//metto la qta uguale alla dotazione che ho appena letto
|
||||
//e prendo il prezzo nolo dalla riga contratto
|
||||
TRiga_documento& nolorow = doc.insert_row(++i, "01");
|
||||
doc.copy_data(nolorow, rout);
|
||||
TString80 descr("Nolo");
|
||||
const int contrper = contr.get_int(LVCONDV_PERFAT);
|
||||
if (dot != ZERO)
|
||||
{
|
||||
TRiga_documento& nolorow = doc.insert_row(++i, "01");
|
||||
doc.copy_data(nolorow, rout);
|
||||
TString80 descr("Nolo");
|
||||
const int contrper = contr.get_int(LVCONDV_PERFAT);
|
||||
|
||||
switch (contrper)
|
||||
{
|
||||
case 0: descr << " per il giorno"; break;
|
||||
case 1: descr << " per la settimana"; break;
|
||||
case 2: descr << " per la quindicina"; break;
|
||||
case 3: descr << " per il mese"; break;
|
||||
default: break;
|
||||
}
|
||||
nolorow.put(RDOC_DESCR,descr);
|
||||
switch (contrper)
|
||||
{
|
||||
case 0: descr << " per il giorno"; break;
|
||||
case 1: descr << " per la settimana"; break;
|
||||
case 2: descr << " per la quindicina"; break;
|
||||
case 3: descr << " per il mese"; break;
|
||||
default: break;
|
||||
}
|
||||
nolorow.put(RDOC_DESCR,descr);
|
||||
|
||||
nolorow.put(RDOC_QTA, dot);
|
||||
nolorow.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZNOL));
|
||||
nolorow.put(RDOC_QTA, dot);
|
||||
nolorow.put(RDOC_PREZZO, rcont.get_real(LVRCONDV_PREZNOL));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3: //forfait = CICLAGGIO
|
||||
@ -974,7 +977,7 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do
|
||||
if (!riga.is_descrizione())
|
||||
to_delete = (riga.imponibile() == ZERO && riga.get_real(RDOC_QTA) == ZERO);
|
||||
}
|
||||
if (to_delete)
|
||||
if (to_delete || doc.totale_doc() == ZERO)
|
||||
doc_out.destroy(id);
|
||||
}
|
||||
for (int id = doc_out.items() - 1; id >= 0 ; id--)
|
||||
@ -1316,13 +1319,108 @@ void TFatturazione_lav_app::genera_bolle_nolo(TAssoc_array& cliela, TFatturazion
|
||||
doc.put(DOC_STATO, stato);
|
||||
doc.put(DOC_TIPOCF, 'C');
|
||||
|
||||
doc.put(DOC_CODCF, contr.get(LVCONDV_CODCF).as_int());
|
||||
|
||||
TLaundry_contract contratto(contr.cursor()->curr());
|
||||
|
||||
const long codcf = contratto.get_long(LVCONDV_CODCF);
|
||||
const int codcont = contratto.get_int(LVCONDV_CODCONT);
|
||||
|
||||
doc.put(DOC_CODCF, codcf);
|
||||
TToken_string key("C");
|
||||
key.add(codcf);
|
||||
|
||||
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 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);
|
||||
|
||||
//gestione sconto
|
||||
TString sconto;
|
||||
|
||||
const char tpgest = ini_get_string(CONFIG_DITTA, "ve", "GESSCO")[0];
|
||||
switch(tpgest)
|
||||
{
|
||||
case 'P': sconto = cfven.get(CFV_SCONTO); break; //Percentuale su anagrafica cliente
|
||||
case 'T': sconto = cache().get("%SCC", cfven.get(CFV_CODSCC), "S1"); break; //Gestione tabella sconti
|
||||
case 'A': //Gestione archivio sconti
|
||||
{
|
||||
TConfig ditta(CONFIG_DITTA, "ve");
|
||||
|
||||
TLocalisamfile sconti(LF_SCONTI);
|
||||
sconti.put("TIPO", "I");
|
||||
|
||||
if(ditta.get_bool("SCOKEY", "ve", 1))
|
||||
sconti.put("CODCAT", cfven.get(CFV_CATVEN));
|
||||
|
||||
TString16 cod;
|
||||
if(ditta.get_bool("SCOKEY", "ve", 2))
|
||||
cod.format("%-2s", (const char*)cfven.get(CFV_CODSCC));
|
||||
else
|
||||
cod = " ";
|
||||
|
||||
if(ditta.get_bool("SCOKEY", "ve", 3))
|
||||
{
|
||||
TString8 tmp;
|
||||
tmp.format("%-2s", (const char*)cfven.get(CFV_CODZONA));
|
||||
cod << tmp;
|
||||
}
|
||||
else
|
||||
cod << " ";
|
||||
|
||||
if(ditta.get_bool("SCOKEY", "ve", 4))
|
||||
cod << clifo.get(CLI_CODPAG);
|
||||
|
||||
sconti.put("CODART", cod);
|
||||
|
||||
if (sconti.read() == NOERR)
|
||||
sconto = sconti.get("SCONTO");
|
||||
}
|
||||
case 'N': //sconto non gestito
|
||||
default: break;
|
||||
}
|
||||
|
||||
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_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_PERCSPINC, speseinc);
|
||||
doc.put(DOC_ADDBOLLI, addbolli);
|
||||
doc.put(DOC_SCONTOPERC, sconto);
|
||||
|
||||
TString str;
|
||||
str << "USE LVRCONDV\n"
|
||||
<< "FROM CODCF=" << codcf << " CODCONT=" << codcont << "\n"
|
||||
@ -1362,7 +1460,7 @@ void TFatturazione_lav_app::genera_bolle_nolo(TAssoc_array& cliela, TFatturazion
|
||||
if (ini_get_bool(CONFIG_DITTA, "lv", "RifTest"))
|
||||
elab.put("B15", true); //forzo la descrizione abbreviata
|
||||
|
||||
if (doc.rows() > 0)
|
||||
if (doc.physical_rows() > 0)
|
||||
{
|
||||
elab.elabora(doc_in, doc_out, _msk->get_date(F_DATAFAT));
|
||||
int err = doc_out.write();
|
||||
|
Loading…
x
Reference in New Issue
Block a user