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
This commit is contained in:
parent
71605dca0f
commit
e1d6319b05
@ -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;
|
||||
}
|
||||
|
@ -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)
|
||||
|
@ -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();
|
||||
|
25
ve/verig.uml
25
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
|
||||
|
@ -1,5 +1,6 @@
|
||||
#include "verigdef.h"
|
||||
|
||||
#define FULL_SCREEN
|
||||
#define PAGE_2
|
||||
|
||||
DEFINE_FIELD(CODMAG)
|
||||
|
@ -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 ;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user