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( )
|
||||
{
|
||||
TString16 arg( argv(2) );
|
||||
const TFixed_string arg = argv(2);
|
||||
if( arg[ 0 ] != '-' )
|
||||
fatal_box( TR( "Usage: mg0 -2 -[1|2|3|4|5|6]") );
|
||||
_current = arg[1];
|
||||
|
@ -24,7 +24,7 @@ END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Installazione" 0 0 0 0
|
||||
PAGE "Configurazione Magazzino" 0 0 0 0
|
||||
|
||||
BOOLEAN F_GESMAG
|
||||
BEGIN
|
||||
@ -50,7 +50,7 @@ END
|
||||
|
||||
BOOLEAN F_GESMULTIMAG
|
||||
BEGIN
|
||||
PROMPT 2 8 "Gestione di piu' magazzini"
|
||||
PROMPT 2 8 "Gestione di più magazzini"
|
||||
FIELD GESMULTIMAG
|
||||
GROUP 1
|
||||
END
|
||||
@ -102,16 +102,9 @@ BEGIN
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_GIAC
|
||||
BEGIN
|
||||
PROMPT 2 16 "Controllo giacenza nei movimenti"
|
||||
FIELD CHECK_GIAC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
BOOLEAN F_MOV_INDSPED
|
||||
BEGIN
|
||||
PROMPT 2 18 "Utilizza l'indirizzo di spedizione nei movimenti"
|
||||
PROMPT 2 18 "Utilizzare indirizzo di spedizione nei movimenti"
|
||||
FIELD MOV_INDSPED
|
||||
GROUP 1
|
||||
END
|
||||
|
@ -25,7 +25,7 @@ class TMask_movmag : public TMask
|
||||
real proposed_price(const char * codart, real quant,const char * causrig);
|
||||
int _autorows;
|
||||
TArray _old_qta;
|
||||
bool _check_giac;
|
||||
int _check_giac_neg;
|
||||
bool _shift_f12;
|
||||
TMagazzini _magazzini;
|
||||
|
||||
@ -154,7 +154,7 @@ TMask_movmag::TMask_movmag(TMov_mag * m_m) : TMask("mg1100")
|
||||
sm.field(F_DESDEP).enable(gd);
|
||||
ss.enable_column(ss.cid2index(F_CODDEP),gd);
|
||||
_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"))
|
||||
{
|
||||
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));
|
||||
}
|
||||
}
|
||||
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())
|
||||
codcaus = ss.mask().get(F_CODCAUS);
|
||||
const TCausale_magazzino cau(codcaus);
|
||||
if (cau.sgn(s_giac) == -1)
|
||||
diff = -diff;
|
||||
if (old_qta != NULL)
|
||||
diff -= *old_qta;
|
||||
giac += diff;
|
||||
const TCodice_articolo codart = ss.sheet_mask().get(F_CODART);
|
||||
if (codart.full())
|
||||
{
|
||||
TString8 codcaus = ss.sheet_mask().get(F_CAUSRIG);
|
||||
if (codcaus.blank())
|
||||
codcaus = ss.mask().get(F_CODCAUS);
|
||||
const TCausale_magazzino cau(codcaus);
|
||||
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)
|
||||
message_box("Attenzione giacenza negativa per l'articolo %s", (const char *) ss.sheet_mask().get(F_CODART));
|
||||
if (giac < ZERO)
|
||||
{
|
||||
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))
|
||||
ss.select(r);
|
||||
|
||||
|
@ -8,5 +8,4 @@
|
||||
#define F_GESVALUTA 108
|
||||
#define F_GESDECIMALI 109
|
||||
#define F_RIPORTA_ORD 110
|
||||
#define F_CHECK_GIAC 111
|
||||
#define F_MOV_INDSPED 112
|
||||
|
@ -47,6 +47,7 @@
|
||||
#define F_SGNDOTTM 155
|
||||
#define F_SGNCONYR 156
|
||||
#define F_SGNCONMN 157
|
||||
#define F_CHECK_GIAC 158
|
||||
|
||||
#define G_SGNVAL 20
|
||||
#define G_SGNQTA 21
|
||||
|
@ -248,7 +248,7 @@ END
|
||||
|
||||
BOOLEAN F_SCAR_ALT
|
||||
BEGIN
|
||||
PROMPT 32 20 "Gli articoli alternativi nei documenti"
|
||||
PROMPT 44 20 "Gli articoli alternativi nei documenti"
|
||||
FIELD B6
|
||||
END
|
||||
ENDPAGE
|
||||
@ -516,5 +516,15 @@ BEGIN
|
||||
WARNING "Deve essere soddisfatta l'equazione: ((GIAC-RIM)-(ACQ+ENTR)+(VEN+USC)+(ACL-INCL)+(PRODF-PRODC))=0"
|
||||
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
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user