Migliorato controllo giacenza negativa
git-svn-id: svn://10.65.10.50/branches/R_10_00@23089 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
89281098ee
commit
882301feaf
@ -38,7 +38,7 @@ bool TConf_magazz::postprocess_config (TMask& mask, TConfig& config)
|
|||||||
|
|
||||||
bool TConf_magazz::user_create( )
|
bool TConf_magazz::user_create( )
|
||||||
{
|
{
|
||||||
TString16 arg( argv(2) );
|
const TFixed_string arg = argv(2);
|
||||||
if( arg[ 0 ] != '-' )
|
if( arg[ 0 ] != '-' )
|
||||||
fatal_box( TR( "Usage: mg0 -2 -[1|2|3|4|5|6]") );
|
fatal_box( TR( "Usage: mg0 -2 -[1|2|3|4|5|6]") );
|
||||||
_current = arg[1];
|
_current = arg[1];
|
||||||
|
@ -24,7 +24,7 @@ END
|
|||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Installazione" 0 0 0 0
|
PAGE "Configurazione Magazzino" 0 0 0 0
|
||||||
|
|
||||||
BOOLEAN F_GESMAG
|
BOOLEAN F_GESMAG
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -50,7 +50,7 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_GESMULTIMAG
|
BOOLEAN F_GESMULTIMAG
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 8 "Gestione di piu' magazzini"
|
PROMPT 2 8 "Gestione di più magazzini"
|
||||||
FIELD GESMULTIMAG
|
FIELD GESMULTIMAG
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
@ -102,16 +102,9 @@ BEGIN
|
|||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_CHECK_GIAC
|
|
||||||
BEGIN
|
|
||||||
PROMPT 2 16 "Controllo giacenza nei movimenti"
|
|
||||||
FIELD CHECK_GIAC
|
|
||||||
GROUP 1
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_MOV_INDSPED
|
BOOLEAN F_MOV_INDSPED
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 18 "Utilizza l'indirizzo di spedizione nei movimenti"
|
PROMPT 2 18 "Utilizzare indirizzo di spedizione nei movimenti"
|
||||||
FIELD MOV_INDSPED
|
FIELD MOV_INDSPED
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
@ -25,7 +25,7 @@ class TMask_movmag : public TMask
|
|||||||
real proposed_price(const char * codart, real quant,const char * causrig);
|
real proposed_price(const char * codart, real quant,const char * causrig);
|
||||||
int _autorows;
|
int _autorows;
|
||||||
TArray _old_qta;
|
TArray _old_qta;
|
||||||
bool _check_giac;
|
int _check_giac_neg;
|
||||||
bool _shift_f12;
|
bool _shift_f12;
|
||||||
TMagazzini _magazzini;
|
TMagazzini _magazzini;
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ TMask_movmag::TMask_movmag(TMov_mag * m_m) : TMask("mg1100")
|
|||||||
sm.field(F_DESDEP).enable(gd);
|
sm.field(F_DESDEP).enable(gd);
|
||||||
ss.enable_column(ss.cid2index(F_CODDEP),gd);
|
ss.enable_column(ss.cid2index(F_CODDEP),gd);
|
||||||
_autorows = prassid.get_int("AUTOROWS", "mg");
|
_autorows = prassid.get_int("AUTOROWS", "mg");
|
||||||
_check_giac = prassid.get_bool("CHECK_GIAC", "mg");
|
_check_giac_neg = prassid.get_int("CHECK_GIAC", "mg");
|
||||||
if (!prassid.get_bool("MOV_INDSPED", "mg"))
|
if (!prassid.get_bool("MOV_INDSPED", "mg"))
|
||||||
{
|
{
|
||||||
hide(F_INDSPED);
|
hide(F_INDSPED);
|
||||||
@ -350,24 +350,42 @@ bool TMask_movmag::notify_righe(TSheet_field& ss, int r, KEY key)
|
|||||||
ss.row(r).add(diff.string(), ss.cid2index(F_QUANT));
|
ss.row(r).add(diff.string(), ss.cid2index(F_QUANT));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (m._check_giac)
|
|
||||||
{
|
|
||||||
real giac = ss.sheet_mask().get_real(F_GIAC);
|
|
||||||
real * old_qta = (real *) m._old_qta.objptr(r);
|
|
||||||
TString8 codcaus = ss.sheet_mask().get(F_CAUSRIG);
|
|
||||||
|
|
||||||
if (codcaus.blank())
|
const TCodice_articolo codart = ss.sheet_mask().get(F_CODART);
|
||||||
codcaus = ss.mask().get(F_CODCAUS);
|
if (codart.full())
|
||||||
const TCausale_magazzino cau(codcaus);
|
{
|
||||||
if (cau.sgn(s_giac) == -1)
|
TString8 codcaus = ss.sheet_mask().get(F_CAUSRIG);
|
||||||
diff = -diff;
|
if (codcaus.blank())
|
||||||
if (old_qta != NULL)
|
codcaus = ss.mask().get(F_CODCAUS);
|
||||||
diff -= *old_qta;
|
const TCausale_magazzino cau(codcaus);
|
||||||
giac += diff;
|
const int check_giac_neg = cau.get_int("I4");
|
||||||
|
if (check_giac_neg)
|
||||||
|
{
|
||||||
|
real giac = ss.sheet_mask().get_real(F_GIAC);
|
||||||
|
real* old_qta = (real*)m._old_qta.objptr(r);
|
||||||
|
if (cau.sgn(s_giac) < 0)
|
||||||
|
diff = -diff;
|
||||||
|
if (old_qta != NULL)
|
||||||
|
diff -= *old_qta;
|
||||||
|
giac += diff;
|
||||||
|
|
||||||
if (giac < ZERO)
|
if (giac < ZERO)
|
||||||
message_box("Attenzione giacenza negativa per l'articolo %s", (const char *) ss.sheet_mask().get(F_CODART));
|
{
|
||||||
|
TString msg;
|
||||||
|
msg.format(FR("Attenzione giacenza negativa per l'articolo %s"), (const char*)codart);
|
||||||
|
switch (check_giac_neg)
|
||||||
|
{
|
||||||
|
case 1: warning_box(msg); break;
|
||||||
|
case 2: msg << TR("\nSi desidera continuare ugualmente?");
|
||||||
|
if (!yesno_box(msg))
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
default: return error_box(msg); break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m.update_rigamov(r,old_codcaus,old_codart,old_quant))
|
if (m.update_rigamov(r,old_codcaus,old_codart,old_quant))
|
||||||
ss.select(r);
|
ss.select(r);
|
||||||
|
|
||||||
|
@ -8,5 +8,4 @@
|
|||||||
#define F_GESVALUTA 108
|
#define F_GESVALUTA 108
|
||||||
#define F_GESDECIMALI 109
|
#define F_GESDECIMALI 109
|
||||||
#define F_RIPORTA_ORD 110
|
#define F_RIPORTA_ORD 110
|
||||||
#define F_CHECK_GIAC 111
|
|
||||||
#define F_MOV_INDSPED 112
|
#define F_MOV_INDSPED 112
|
||||||
|
@ -47,6 +47,7 @@
|
|||||||
#define F_SGNDOTTM 155
|
#define F_SGNDOTTM 155
|
||||||
#define F_SGNCONYR 156
|
#define F_SGNCONYR 156
|
||||||
#define F_SGNCONMN 157
|
#define F_SGNCONMN 157
|
||||||
|
#define F_CHECK_GIAC 158
|
||||||
|
|
||||||
#define G_SGNVAL 20
|
#define G_SGNVAL 20
|
||||||
#define G_SGNQTA 21
|
#define G_SGNQTA 21
|
||||||
|
@ -248,7 +248,7 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_SCAR_ALT
|
BOOLEAN F_SCAR_ALT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 32 20 "Gli articoli alternativi nei documenti"
|
PROMPT 44 20 "Gli articoli alternativi nei documenti"
|
||||||
FIELD B6
|
FIELD B6
|
||||||
END
|
END
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
@ -516,5 +516,15 @@ BEGIN
|
|||||||
WARNING "Deve essere soddisfatta l'equazione: ((GIAC-RIM)-(ACQ+ENTR)+(VEN+USC)+(ACL-INCL)+(PRODF-PRODC))=0"
|
WARNING "Deve essere soddisfatta l'equazione: ((GIAC-RIM)-(ACQ+ENTR)+(VEN+USC)+(ACL-INCL)+(PRODF-PRODC))=0"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
LISTBOX F_CHECK_GIAC 1 32
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 20 "Controllo giacenza negativa "
|
||||||
|
ITEM "0|Nessuno"
|
||||||
|
ITEM "1|Avvertimento non bloccante"
|
||||||
|
ITEM "2|Richiesta di continuare"
|
||||||
|
ITEM "3|Errore bloccante"
|
||||||
|
FIELD I4
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
ENDMASK
|
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user