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:
alex 2008-12-16 12:51:47 +00:00
parent 71605dca0f
commit e1d6319b05
6 changed files with 52 additions and 22 deletions

View File

@ -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;
}

View File

@ -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)

View File

@ -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();

View File

@ -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

View File

@ -1,5 +1,6 @@
#include "verigdef.h"
#define FULL_SCREEN
#define PAGE_2
DEFINE_FIELD(CODMAG)

View File

@ -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 ;