From e1d6319b05bfd1eea4ab4d98dc820016de3398a8 Mon Sep 17 00:00:00 2001 From: alex Date: Tue, 16 Dec 2008 12:51:47 +0000 Subject: [PATCH] Patch level : 10.0 196 Files correlati : lv3.exe Ricompilazione Demo : [ ] Commento : Bug 0001078: Campi che rimangono impostati in documenti lavanderia Inserire una nuova bolla che prevede ad esempio 3 articoli, associare una causale che prevede consegnma e ritiro ai primi due articoli e all'ultimo articolo una causale che prevede solo ritiro...correttamente la colonna consegnato dell'ultimo articolo risulta non imputabile, ma se si preme registra anche la colonna consegnato dei 2 articoli precedenti diviene non imputabile. Se si preme annulla e si richiama un nuovo documento rimangono impostate le configurazioni dell'ultima causale inserita. impostati anche o decimali sul consegnato e ritirato git-svn-id: svn://10.65.10.50/trunk@17914 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv3100.cpp | 42 +++++++++++++++++++++++------------------- lv/verig21.uml | 2 ++ ve/velib06.cpp | 2 +- ve/verig.uml | 25 +++++++++++++++++++++++-- ve/verig00.uml | 1 + ve/verigdef.h | 2 ++ 6 files changed, 52 insertions(+), 22 deletions(-) diff --git a/lv/lv3100.cpp b/lv/lv3100.cpp index 485292c69..582f2af48 100755 --- a/lv/lv3100.cpp +++ b/lv/lv3100.cpp @@ -61,10 +61,10 @@ void TGestione_bolle_msk::arrotonda(const TMask& msk, real& quantita) bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k) { - if (f.to_check(k, false) && !f.empty()) + if (f.to_check(k) && !f.empty()) { TMask& msk = f.mask(); - if (msk.field(FR_QTA).empty()) + if (msk.field(FR_QTA).enabled() && msk.field(FR_QTA).empty()) { real ritirato = f.get(); arrotonda(msk,ritirato); @@ -77,15 +77,16 @@ bool TGestione_bolle_msk::lv_ritirato_handler(TMask_field& f, KEY k) bool TGestione_bolle_msk::lv_consegnato_handler(TMask_field& f, KEY k) { bool ok = true; - switch(f.dlg()) + TMask& msk = f.mask(); + + switch(f.dlg()) { case FR_QTA: ok = qta_handler( f, k ); break; default: break; } - if (ok && f.to_check(k) && !f.empty()) + if (ok && f.to_check(k) && msk.field(FR_QTAGG1).enabled() && !f.empty()) { - TMask& msk = f.mask(); real ritirato = msk.get_real(FR_QTAGG1); real consegnato = f.get(); arrotonda(msk, consegnato); @@ -113,22 +114,25 @@ bool TGestione_bolle_msk::lv_codart_handler(TMask_field& f, KEY k) TMask& msk = f.mask(); const TString& codart = msk.get(FR_CODART); - TDocumento_mask& dmsk = (TDocumento_mask&) msk.get_sheet()->mask(); + if (codart.full()) + { + TDocumento_mask& dmsk = (TDocumento_mask&) msk.get_sheet()->mask(); - //recupero dal documento i dati di interesse per recuperare... - //...i dati dalla riga contratto - const long codcf = dmsk.get_long(F_CODCF); - const int indsped = dmsk.get_int(F_CODINDSP); - TDate datadoc = dmsk.get_date(F_DATADOC); - if (!datadoc.ok()) - datadoc = TODAY; + //recupero dal documento i dati di interesse per recuperare... + //...i dati dalla riga contratto + const long codcf = dmsk.get_long(F_CODCF); + const int indsped = dmsk.get_int(F_CODINDSP); + TDate datadoc = dmsk.get_date(F_DATADOC); + if (!datadoc.ok()) + datadoc = TODAY; - const TLaundry_contract cont(codcf, indsped, datadoc); - - if (cont.row(codart).empty() && - yesno_box(TR("L'articolo in esame non fa parte della dotazione standard di questo cliente." - "Si desidera aggiungerla ai contratti?"))) - cont.edit(); + const TLaundry_contract cont(codcf, indsped, datadoc); + + if (cont.row(codart).empty() && + yesno_box(TR("L'articolo in esame non fa parte della dotazione standard di questo cliente." + "Si desidera aggiungerla ai contratti?"))) + cont.edit(); + } } return ok; } diff --git a/lv/verig21.uml b/lv/verig21.uml index 85800a89b..17d3b5a70 100755 --- a/lv/verig21.uml +++ b/lv/verig21.uml @@ -17,6 +17,7 @@ DEFINE_FIELD(DESCRART) DEFINE_FIELD(UMQTA) DEFINE_FIELD(QTA) F_POS(QTA, 21, 9,"Consegnato " ) +F_DEC(QTA, 0) DEFINE_FIELD(PREZZO) F_POS(PREZZO, 47, 9,"Prezzo " ) DEFINE_FIELD(SCONTO) @@ -29,6 +30,7 @@ DEFINE_FIELD(CAULAV) F_POS(CAULAV, 47, 10,"Causale Lavanderie " ) DEFINE_FIELD(RITIRO) F_POS(RITIRO, 21, 10,"Ritirato " ) +F_DEC(RITIRO, 0) DEFINE_FIELD(NCOLLI) DEFINE_FIELD(PNETTO) DEFINE_FIELD(TARA) diff --git a/ve/velib06.cpp b/ve/velib06.cpp index 01ed57c57..4e68f1bbe 100755 --- a/ve/velib06.cpp +++ b/ve/velib06.cpp @@ -987,7 +987,7 @@ void TDocumento_mask::doc2mask(bool reload_clifo) s.insert(-1, FALSE); s.row(i); // qui verificare doc()[i+1].autoload(s); - s.check_row(i, 0x2); + s.check_row(i, 0x3); if (r.tipo().tipo() == RIGA_PRESTAZIONI) { const TSpesa_prest & spesa = r.spesa(); diff --git a/ve/verig.uml b/ve/verig.uml index 0fb67a702..71c8021a1 100755 --- a/ve/verig.uml +++ b/ve/verig.uml @@ -991,7 +991,17 @@ END ENDIF IF(defined(FLD_QTA) || defined(FLD_PERCSP)) -NUMBER FR_QTA 13 5 +NUMBER FR_QTA +IFDEF(LN_QTA) + LN_QTA +ELSEIF + 13 +ENDIF +IFDEF(DE_QTA) + DE_QTA +ELSEIF + 5 +ENDIF BEGIN IFDEF(X_QTA) PROMPT X_QTA Y_QTA PR_QTA @@ -1434,7 +1444,17 @@ ENDIF ENDIF IFDEF(FLD_RITIRO) -NUMBER FR_RITIRO 13 5 +NUMBER FR_RITIRO +IFDEF(LN_RITIRO) + LN_RITIRO +ELSEIF + 13 +ENDIF +IFDEF(DE_RITIRO) + DE_RITIRO +ELSEIF + 5 +ENDIF BEGIN IFDEF(X_RITIRO) PROMPT X_RITIRO Y_RITIRO PR_RITIRO @@ -1478,6 +1498,7 @@ IFDEF(NC_CAULAV) NUM_CALC NC_CAULAV ENDIF FIELD CODAGG1 + MESSAGE K_SPACE,FR_FLCONS|K_SPACE,FR_FLRIT END BOOLEAN FR_FLCONS BEGIN diff --git a/ve/verig00.uml b/ve/verig00.uml index 43618b3bc..ee2584517 100755 --- a/ve/verig00.uml +++ b/ve/verig00.uml @@ -1,5 +1,6 @@ #include "verigdef.h" +#define FULL_SCREEN #define PAGE_2 DEFINE_FIELD(CODMAG) diff --git a/ve/verigdef.h b/ve/verigdef.h index 5c78c4622..f4132f73d 100755 --- a/ve/verigdef.h +++ b/ve/verigdef.h @@ -11,6 +11,8 @@ !!define PR_##name prompt ; #define F_TYPE(name, type) !!define TY_##name type ; +#define F_LEN(name, len) !!define LN_##name len ; +#define F_DEC(name, dec) !!define DE_##name dec ; #define F_FLG(name, flags) !!define FL_##name flags ;