From 202ca10820949682918963f77ffeabf8cad5f439 Mon Sep 17 00:00:00 2001 From: luca83 Date: Sat, 30 Jan 2010 11:48:22 +0000 Subject: [PATCH] Patch level : 10.0 patch 606 Files correlati : lv2 Ricompilazione Demo : [ ] Commento : Corretto calcolo % conv su cliente Coretto utilizzo causali di consegna SENZA cons mese git-svn-id: svn://10.65.10.50/trunk@20025 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2500.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lv/lv2500.cpp b/lv/lv2500.cpp index 9eb9d87ec..f401fde42 100755 --- a/lv/lv2500.cpp +++ b/lv/lv2500.cpp @@ -689,7 +689,7 @@ void TFatturazione_lavanderie::post_process(TLista_documenti& doc_out, TLista_do const char tipvalconvcli = rcont.get_char(LVRCONDV_VCARTCLI); if (tipvalconvcli == 'C') { - impconvtot += dot * rcont.get_real(LVRCONDV_VALCONV) * rcont.get_real(LVRCONDV_FORFPERCL); + impconvtot += dot * rcont.get_real(LVRCONDV_VALCONV) * rcont.get_real(LVRCONDV_FORFPERCL) / CENTO; consumotot += riga.get_real(RDOC_QTA) * riga.get_real(RDOC_PREZZO); } } @@ -1042,6 +1042,7 @@ void TFatturazione_lavanderie::campi_raggruppamento_righe(TToken_string& campi_r TRiga_documento& TFatturazione_lavanderie::find_or_create_row(TDocumento& doc_out, const TRiga_documento& rin, const char lavtype) { int r; + //scorro le righe documetno for (r = doc_out.physical_rows(); r > 0; r--) //se trovo una riga raggruppabile e di lavanderia, allora interrompo il ciclo @@ -1117,7 +1118,8 @@ void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_docum //se è una causale di rotto e se è abilitato nella testata del contratto la fatturazione dei rotti //e se sto ritirando una quantità di merce diversa da zero, allora: - if (cau.is_rotto() && contr.get_int(LVCONDV_ADDCAPROT) && !qta1.is_zero()) + + if (cau.is_rotto() && contr.get_bool(LVCONDV_ADDCAPROT) && !qta1.is_zero()) { //se passo le condizioni iniziali cerco eventualmente una riga che possa essere raggruppata con quella //che sto guardando adesso, altrimenti la creo; in ogni caso aggiungo la quantità da ritirare @@ -1170,7 +1172,7 @@ void TFatturazione_lavanderie::create_row(TDocumento& doc_out, const TRiga_docum //se movimenta la dotazione iniziale, cerco eventualmente una riga che possa essere raggruppata con quella //che sto guardando adesso, altrimenti la creo; in ogni caso aggiungo la quantità che sto consegnando moltiplicata //per il suo segno al prezzo ricavato sopra o da contratto (o da magazzino), o da bolla - if (!sgndotin.is_zero()) + if (!sgndotin.is_zero() && !sgncons.is_zero()) { TRiga_documento& rc = find_or_create_row(doc_out, rin, 'I'); rc.add(RDOC_QTA, sgndotin * qta); @@ -1345,7 +1347,7 @@ void TFatturazione_lav_app::genera_bolle_nolo(TAssoc_array& cliela, TFatturazion if (doc.rows() > 0) { elab.elabora(doc_in, doc_out, _msk->get_date(F_DATAFAT)); - doc_out.write(); + int err = doc_out.write(); numdocgen += doc_out.items(); } @@ -1470,8 +1472,8 @@ void TFatturazione_lav_app::main_loop() query << "USE DOC KEY 3 SELECT (TIPOCF==\"C\")&&" << "(BETWEEN(CODCF," << _msk->get_long(F_DACODCF) << ',' << _msk->get_long(F_ACODCF) << "))\n" << "BY TIPOCF CODCF DATADOC\n" - << "FROM " << "DATADOC=" << dal << " PROVV=D ANNO=" << year << "\n" - << "TO " << "DATADOC=" << al << " PROVV=D ANNO=" << year << "\n"; + << "FROM DATADOC=" << dal << " PROVV=D ANNO=" << year << "\n" + << "TO DATADOC=" << al << " PROVV=D ANNO=" << year << "\n"; // query << "USE DOC KEY 2 SELECT BETWEEN(DATADOC,#DADATA,#ADATA)&&STATO==\"2\")&&(TIPODOC==\"B01\")\n" // << "FROM " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#DADATA \n" // << "TO " << "TIPOCF=C PROVV=D ANNO=#ANNO DATADOC=#ADATA \n";