Corretto errore aga0084
git-svn-id: svn://10.65.10.50/trunk@5052 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b799632efa
commit
aa8a183afb
23
ve/batbprs.h
23
ve/batbprs.h
@ -6,13 +6,16 @@
|
||||
#define F_CODDIV1 106
|
||||
#define F_PREZZO 107
|
||||
#define F_UM 108
|
||||
#define F_GRUPPOV 109
|
||||
#define F_CONTOV 110
|
||||
#define F_SOTTOV 111
|
||||
#define F_DESCRCONTOV 112
|
||||
#define F_GRUPPOA 113
|
||||
#define F_CONTOA 114
|
||||
#define F_SOTTOA 115
|
||||
#define F_DESCRCONTOA 116
|
||||
#define F_CAMPI 117
|
||||
#define F_QTA 118
|
||||
#define F_NCAMPOCAL 109
|
||||
#define F_NCAMPOCAL1 110
|
||||
#define F_PERCENTUALE 111
|
||||
#define F_GRUPPOV 112
|
||||
#define F_CONTOV 113
|
||||
#define F_SOTTOV 114
|
||||
#define F_DESCRCONTOV 115
|
||||
#define F_GRUPPOA 116
|
||||
#define F_CONTOA 117
|
||||
#define F_SOTTOA 118
|
||||
#define F_DESCRCONTOA 119
|
||||
#define F_CAMPI 120
|
||||
#define F_QTA 121
|
||||
|
@ -99,21 +99,25 @@ BEGIN
|
||||
PROMPT 2 10 "Campo default "
|
||||
FIELD S6
|
||||
ITEM "Q|Qta prezzo "
|
||||
MESSAGE ENABLE,F_QTA
|
||||
MESSAGE SHOW,1@|ENABLE,2@|HIDE,3@|RESET,3@
|
||||
ITEM "V|Valore "
|
||||
MESSAGE "1",F_QTA|DISABLE,F_QTA
|
||||
MESSAGE SHOW,1@|"1",2@|DISABLE,2@|HIDE,3@|RESET,3@
|
||||
ITEM "P|Percentuale "
|
||||
MESSAGE SHOW,3@|HIDE,1@|RESET,1@
|
||||
END
|
||||
|
||||
NUMBER F_PREZZO 15 3
|
||||
BEGIN
|
||||
PROMPT 2 12 "Prezzo "
|
||||
FIELD R0
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_QTA 13 5
|
||||
BEGIN
|
||||
PROMPT 35 12 "Quantita' "
|
||||
FIELD R1
|
||||
GROUP 1 2
|
||||
END
|
||||
|
||||
STRING F_UM 2
|
||||
@ -127,6 +131,42 @@ BEGIN
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_UM CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_PERCENTUALE 5 2
|
||||
BEGIN
|
||||
PROMPT 2 11 "Percentuale "
|
||||
FIELD R2
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_NCAMPOCAL 10
|
||||
BEGIN
|
||||
PROMPT 2 12 "Formula Doc. "
|
||||
FIELD S5
|
||||
FLAG "U"
|
||||
USE %FRD
|
||||
INPUT CODTAB F_NCAMPOCAL
|
||||
DISPLAY "Codice " CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_NCAMPOCAL CODTAB
|
||||
OUTPUT F_NCAMPOCAL1 S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_NCAMPOCAL1 50
|
||||
BEGIN
|
||||
PROMPT 17 13 ""
|
||||
USE %FRD KEY 2
|
||||
INPUT S0 F_NCAMPOCAL1
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice " CODTAB
|
||||
OUTPUT F_NCAMPOCAL CODTAB
|
||||
OUTPUT F_NCAMPOCAL1 S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER F_GRUPPOV 3
|
||||
|
@ -505,14 +505,45 @@ bool sppr_handler( TMask_field& f, KEY key )
|
||||
TMask & mask = row_mask.get_sheet()->mask();
|
||||
TRectype & spprrec = ((TEdit_field &) row_mask.field(FR_CODART)).browse()->cursor()->file().curr();
|
||||
|
||||
if (spprrec.get("CODTAB") == row_mask.get(FR_CODART) && spprrec.get_char("S6") != 'P')
|
||||
{
|
||||
const real cambio = mask.get(F_CAMBIO);
|
||||
real prezzo = row_mask.get(FR_PREZZO);
|
||||
const TString16 doc_valuta(mask.get(F_CODVAL));
|
||||
sppr_calc(spprrec, doc_valuta, cambio, prezzo);
|
||||
row_mask.set(FR_PREZZO, prezzo);
|
||||
if (spprrec.get("CODTAB") == row_mask.get(FR_CODART))
|
||||
{
|
||||
const char tipo = spprrec.get_char("S6");
|
||||
const bool qta_val_fl = tipo == 'Q';
|
||||
const bool perc_fl = tipo == 'P';
|
||||
|
||||
short pos = row_mask.id2pos(FR_UMQTASP);
|
||||
if (pos >= 0)
|
||||
row_mask.fld(pos).enable(!perc_fl);
|
||||
pos = row_mask.id2pos(FR_PREZZO);
|
||||
if (pos >= 0)
|
||||
row_mask.fld(pos).enable(!perc_fl);
|
||||
pos = row_mask.id2pos(FR_SCONTO);
|
||||
if (pos >= 0)
|
||||
row_mask.fld(pos).enable(!perc_fl);
|
||||
pos = row_mask.id2pos(FR_QTA);
|
||||
if (pos >= 0)
|
||||
{
|
||||
row_mask.fld(pos).show(!perc_fl);
|
||||
row_mask.fld(pos).enable(qta_val_fl);
|
||||
}
|
||||
pos = row_mask.id2pos(FR_PERCSP);
|
||||
if (pos >= 0)
|
||||
{
|
||||
row_mask.fld(pos).show(perc_fl);
|
||||
row_mask.fld(pos).enable(perc_fl);
|
||||
}
|
||||
|
||||
if (!perc_fl)
|
||||
{
|
||||
const real cambio = mask.get(F_CAMBIO);
|
||||
real prezzo = row_mask.get(FR_PREZZO);
|
||||
const TString16 doc_valuta(mask.get(F_CODVAL));
|
||||
sppr_calc(spprrec, doc_valuta, cambio, prezzo);
|
||||
row_mask.set(FR_PREZZO, prezzo);
|
||||
|
||||
}
|
||||
const int posiva = row_mask.id2pos(FR_CODIVA);
|
||||
|
||||
if (posiva >= 0)
|
||||
iva_handler(row_mask.fld(posiva), 0);
|
||||
}
|
||||
|
@ -442,7 +442,7 @@ real TRiga_documento::importo(bool scontato, bool lordo, int ndec) const
|
||||
importo = prezzo(scontato, lordo, ndec);
|
||||
break;
|
||||
case _percentuale:
|
||||
importo = doc().get_real(field_perc) * get_real("PSPESA") / 100;
|
||||
importo = doc().get_real(field_perc) * get_real(RDOC_QTA) / 100;
|
||||
break;
|
||||
case _scontoimp:
|
||||
importo = -prezzo(FALSE, lordo, ndec);
|
||||
@ -598,10 +598,10 @@ void TRiga_documento::autosave(TSheet_field & f)
|
||||
put( "UMQTA", row.get( f.cid2index(FR_UMQTA )) );
|
||||
TMask * m = ((TTipo_riga_documento &)tipo()).mask();
|
||||
const int pos = m->id2pos(FR_QTA);
|
||||
if (pos >= 0 && m->fld(pos).field()->name() == "PSPESA")
|
||||
put( "PSPESA", row.get( f.cid2index(FR_QTA )) );
|
||||
else
|
||||
put( "QTA", row.get( f.cid2index(FR_QTA )) );
|
||||
// if (pos >= 0 && m->fld(pos).field()->name() == "PSPESA")
|
||||
// put( "PSPESA", row.get( f.cid2index(FR_QTA )) );
|
||||
// else
|
||||
put( "QTA", row.get( f.cid2index(FR_QTA )) );
|
||||
put( "QTAEVASA", row.get( f.cid2index(FR_QTAEVASA )) );
|
||||
put( "RIGAEVASA", row.get( f.cid2index(FR_RIGAEVASA )) );
|
||||
put( "TARA", row.get( f.cid2index(FR_TARA )) );
|
||||
@ -672,10 +672,10 @@ void TRiga_documento::autoload(TSheet_field & f)
|
||||
row.add( get( "PREZZO" ), f.cid2index(FR_PREZZO ));
|
||||
TMask * m = ((TTipo_riga_documento &)tipo()).mask();
|
||||
const int pos = m->id2pos(FR_QTA);
|
||||
if (pos >= 0 && m->fld(pos).field()->name() == "PSPESA")
|
||||
row.add( get( "PSPESA" ), f.cid2index(FR_QTA ));
|
||||
else
|
||||
row.add( get( "QTA" ), f.cid2index(FR_QTA ));
|
||||
// if (pos >= 0 && m->fld(pos).field()->name() == "PSPESA")
|
||||
// row.add( get( "PSPESA" ), f.cid2index(FR_QTA ));
|
||||
// else
|
||||
row.add( get( "QTA" ), f.cid2index(FR_QTA ));
|
||||
row.add( get( "QTAEVASA" ), f.cid2index(FR_QTAEVASA ));
|
||||
row.add( get( "RIGAEVASA" ), f.cid2index(FR_RIGAEVASA ));
|
||||
row.add( get( "TARA" ), f.cid2index(FR_TARA ));
|
||||
|
14
ve/verig.h
14
ve/verig.h
@ -6,23 +6,31 @@
|
||||
#define FR_TIPORIGA 102
|
||||
#define FR_CODMAG 103
|
||||
#define FR_CODDEP 104
|
||||
// CODART CODSPV CODSPQ CODSPP CODPRS alternativi definirne uno solo
|
||||
// CODART CODSP CODSPV CODSPQ CODSPP CODPRS CODPRSV CODPRSQ CODPRSP alternativi definirne uno solo
|
||||
#define FR_CODART 105
|
||||
#define FR_CODSP 105
|
||||
#define FR_CODSPV 105
|
||||
#define FR_CODSPQ 105
|
||||
#define FR_CODSPP 105
|
||||
#define FR_CODPRS 105
|
||||
#define FR_CODPRSV 105
|
||||
#define FR_CODPRSQ 105
|
||||
#define FR_CODPRSP 105
|
||||
#define FR_LIV1 106
|
||||
#define FR_LIV2 107
|
||||
#define FR_LIV3 108
|
||||
#define FR_LIV4 109
|
||||
// DESCR DESCRART DESCRSPV DESCPSPQ DESCRSPP DESCRPRS alternativi definirne uno solo
|
||||
// DESCR DESCRART DESCRSP DESCRSPV DESCPSPQ DESCRSPP DESCRPRS DESCRPRSV DESCRPRSQ DESCRPRSP alternativi definirne uno solo
|
||||
#define FR_DESCR 110
|
||||
#define FR_DESCRART 110
|
||||
#define FR_DESCRSP 110
|
||||
#define FR_DESCRSPV 110
|
||||
#define FR_DESCRSPQ 110
|
||||
#define FR_DESCRSPP 110
|
||||
#define FR_DESCRPRS 110
|
||||
#define FR_DESCRPRSV 110
|
||||
#define FR_DESCRPRSQ 110
|
||||
#define FR_DESCRPRSP 110
|
||||
// UMQTA UMQTASP UMQTAPR alternativi definirne uno solo
|
||||
#define FR_UMQTA 111
|
||||
#define FR_UMQTASP 111
|
||||
@ -30,7 +38,7 @@
|
||||
#define FR_UMQTA2 211
|
||||
// QTA PERCSP alternativi definirne uno solo
|
||||
#define FR_QTA 112
|
||||
#define FR_PERCSP 112
|
||||
#define FR_PERCSP 212
|
||||
// PREZZO VALORE alternativi definirne uno solo
|
||||
#define FR_PREZZO 113
|
||||
#define FR_VALORE 113
|
||||
|
199
ve/verig.uml
199
ve/verig.uml
@ -269,7 +269,36 @@ ENDIF
|
||||
OUTPUT FR_LIV4 CODTAB[2,]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_CODSP)
|
||||
STRING FR_CODSP 8
|
||||
BEGIN
|
||||
IFDEF(X_CODSP)
|
||||
PROMPT X_CODSP Y_CODSP PR_CODSP
|
||||
ELSEIF
|
||||
PROMPT 2 6 "Spesa "
|
||||
ENDIF
|
||||
USE SPP
|
||||
INPUT CODTAB FR_CODSP
|
||||
DISPLAY "Codice spesa" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODSP CODTAB
|
||||
OUTPUT FR_DESCRSP S0
|
||||
OUTPUT FR_VALORE R0
|
||||
OUTPUT FR_QTA R1
|
||||
OUTPUT FR_PERCSP R2
|
||||
OUTPUT FR_UMQTASP S7
|
||||
OUTPUT FR_CODIVA S3
|
||||
MESSAGE DIRTY,FR_CODIVA|K_TAB,FR_CODIVA
|
||||
FIELD CODART
|
||||
FLAGS "U"
|
||||
IFDEF(CH_CODSP)
|
||||
CHECKTYPE CH_CODSP
|
||||
ELSEIF
|
||||
CHECKTYPE REQUIRED
|
||||
ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_CODSPV)
|
||||
@ -372,6 +401,7 @@ ENDIF
|
||||
OUTPUT FR_DESCRPRS S0
|
||||
OUTPUT FR_PREZZO R0
|
||||
OUTPUT FR_QTA R1
|
||||
OUTPUT FR_PERCSP R2
|
||||
OUTPUT FR_UMQTASP S7
|
||||
OUTPUT FR_CODIVA S3
|
||||
MESSAGE DIRTY,FR_CODIVA|K_TAB,FR_CODIVA
|
||||
@ -385,6 +415,91 @@ ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_CODPRSV)
|
||||
STRING FR_CODPRSV 8
|
||||
BEGIN
|
||||
IFDEF(X_CODPRSV)
|
||||
PROMPT X_CODPRSV Y_CODPRSV PR_CODPRSV
|
||||
ELSEIF
|
||||
PROMPT 2 6 "Prestazione "
|
||||
ENDIF
|
||||
USE PRS SELECT S6=='V'
|
||||
INPUT CODTAB FR_CODPRSV
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODPRSV CODTAB
|
||||
OUTPUT FR_DESCRPRSV S0
|
||||
OUTPUT FR_PREZZO R0
|
||||
OUTPUT FR_UMQTASP S7
|
||||
OUTPUT FR_CODIVA S3
|
||||
MESSAGE DIRTY,FR_CODIVA|K_TAB,FR_CODIVA
|
||||
FIELD CODART
|
||||
FLAGS "U"
|
||||
IFDEF(CH_CODPRSV)
|
||||
CHECKTYPE CH_CODPRSV
|
||||
ELSEIF
|
||||
CHECKTYPE REQUIRED
|
||||
ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_CODPRSQ)
|
||||
STRING FR_CODPRSQ 8
|
||||
BEGIN
|
||||
IFDEF(X_CODPRSQ)
|
||||
PROMPT X_CODPRSQ Y_CODPRSQ PR_CODPRSQ
|
||||
ELSEIF
|
||||
PROMPT 2 6 "Prestazione "
|
||||
ENDIF
|
||||
USE PRS SELECT S6=='Q'
|
||||
INPUT CODTAB FR_CODPRSQ
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODPRSQ CODTAB
|
||||
OUTPUT FR_DESCRPRSQ S0
|
||||
OUTPUT FR_PREZZO R0
|
||||
OUTPUT FR_QTA R1
|
||||
OUTPUT FR_UMQTASP S7
|
||||
OUTPUT FR_CODIVA S3
|
||||
MESSAGE DIRTY,FR_CODIVA|K_TAB,FR_CODIVA
|
||||
FIELD CODART
|
||||
FLAGS "U"
|
||||
IFDEF(CH_CODPRSQ)
|
||||
CHECKTYPE CH_CODPRSQ
|
||||
ELSEIF
|
||||
CHECKTYPE REQUIRED
|
||||
ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_CODPRSP)
|
||||
STRING FR_CODPRSP 8
|
||||
BEGIN
|
||||
IFDEF(X_CODPRSP)
|
||||
PROMPT X_CODPRSP Y_CODPRSP PR_CODPRSP
|
||||
ELSEIF
|
||||
PROMPT 2 6 "Prestazione "
|
||||
ENDIF
|
||||
USE PRS SELECT S6=='P'
|
||||
INPUT CODTAB FR_CODPRSQ
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODPRSQ CODTAB
|
||||
OUTPUT FR_DESCRPRSQ S0
|
||||
OUTPUT FR_PERCSP R2
|
||||
OUTPUT FR_UMQTASP S7
|
||||
OUTPUT FR_CODIVA S3
|
||||
MESSAGE DIRTY,FR_CODIVA|K_TAB,FR_CODIVA
|
||||
FIELD CODART
|
||||
FLAGS "U"
|
||||
IFDEF(CH_CODPRSP)
|
||||
CHECKTYPE CH_CODPRSP
|
||||
ELSEIF
|
||||
CHECKTYPE REQUIRED
|
||||
ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCR)
|
||||
ZOOM FR_DESCR 50
|
||||
BEGIN
|
||||
@ -415,6 +530,23 @@ ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCRSP)
|
||||
ZOOM FR_DESCRSP 50
|
||||
BEGIN
|
||||
IFDEF(X_DESCRSP)
|
||||
PROMPT X_DESCRSP Y_DESCRSP PR_DESCRSP
|
||||
ELSEIF
|
||||
PROMPT 2 7 "Descrizione "
|
||||
ENDIF
|
||||
USE SPP KEY 2
|
||||
INPUT S0 FR_DESCRSP
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice spesa" CODTAB
|
||||
COPY OUTPUT FR_CODSP
|
||||
FIELD DESCR
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCRSPV)
|
||||
ZOOM FR_DESCRSPV 50
|
||||
BEGIN
|
||||
@ -483,6 +615,57 @@ ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCRPRSV)
|
||||
ZOOM FR_DESCRPRSV 50
|
||||
BEGIN
|
||||
IFDEF(X_DESCRPRSV)
|
||||
PROMPT X_DESCRPRSV Y_DESCRPRSV PR_DESCRPRSV
|
||||
ELSEIF
|
||||
PROMPT 2 7 "Descrizione "
|
||||
ENDIF
|
||||
USE PRS KEY 2 SELECT S6=='V'
|
||||
INPUT S0 FR_DESCRPRSV
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
COPY OUTPUT FR_CODPRSV
|
||||
FIELD DESCR
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCRPRSQ)
|
||||
ZOOM FR_DESCRPRSQ 50
|
||||
BEGIN
|
||||
IFDEF(X_DESCRPRSQ)
|
||||
PROMPT X_DESCRPRSQ Y_DESCRPRSQ PR_DESCRPRSQ
|
||||
ELSEIF
|
||||
PROMPT 2 7 "Descrizione "
|
||||
ENDIF
|
||||
USE PRS KEY 2 SELECT S6=='Q'
|
||||
INPUT S0 FR_DESCRPRSQ
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
COPY OUTPUT FR_CODPRSQ
|
||||
FIELD DESCR
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_DESCRPRSP)
|
||||
ZOOM FR_DESCRPRSP 50
|
||||
BEGIN
|
||||
IFDEF(X_DESCRPRSP)
|
||||
PROMPT X_DESCRPRSP Y_DESCRPRSP PR_DESCRPRSP
|
||||
ELSEIF
|
||||
PROMPT 2 7 "Descrizione "
|
||||
ENDIF
|
||||
USE PRS KEY 2 SELECT S6=='P'
|
||||
INPUT S0 FR_DESCRPRSP
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice prestazione" CODTAB
|
||||
COPY OUTPUT FR_CODPRSP
|
||||
FIELD DESCR
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_UMQTA)
|
||||
STRING FR_UMQTA 2
|
||||
BEGIN
|
||||
@ -552,7 +735,7 @@ ENDIF
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_QTA)
|
||||
IF(defined(F_QTA) || defined(F_PERCSP))
|
||||
NUMBER FR_QTA 13 5
|
||||
BEGIN
|
||||
IFDEF(X_QTA)
|
||||
@ -560,19 +743,23 @@ IFDEF(X_QTA)
|
||||
ELSEIF
|
||||
PROMPT 21 9 "Qta' "
|
||||
ENDIF
|
||||
IFDEF(F_PSPESA)
|
||||
FLAGS "H"
|
||||
ENDIF
|
||||
FIELD QTA
|
||||
END
|
||||
ENDIF
|
||||
|
||||
IFDEF(F_PERCSP)
|
||||
NUMBER FR_QTA 6 2
|
||||
NUMBER FR_PERCSP 6 2
|
||||
BEGIN
|
||||
IFDEF(X_PERCSP)
|
||||
PROMPT X_PERCSP Y_PERCSP PR_PERCSP
|
||||
ELSEIF
|
||||
PROMPT 2 9 "Spesa % "
|
||||
PROMPT 21 9 "Spesa % "
|
||||
ENDIF
|
||||
FIELD PSPESA
|
||||
IFDEF(F_QTA)
|
||||
FLAGS "H"
|
||||
ENDIF
|
||||
FIELD QTA
|
||||
END
|
||||
ENDIF
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user