Patch level : 10.0 282

Files correlati     : mg0.exe mgtbgsa.msk
Ricompilazione Demo : [ ]
Commento            :
0001029: formato cod. art. avanzato
Formato codice articolo avanzato: è possibile indicare come radice più di un tipo articolo (parte), componendo l'articolo è poi possibile richiamare per lo stesso codice più di un campo radice.


git-svn-id: svn://10.65.10.50/trunk@18700 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-04-14 15:47:57 +00:00
parent 908525ccfe
commit d9c712e2f9
2 changed files with 16 additions and 19 deletions

View File

@ -149,7 +149,7 @@ bool TMask_tabmag::stdmag_handler(TMask_field& f, KEY k)
// tabella causali: handler della somma segni
bool TMask_tabmag::sumsign_handler(TMask_field& f, KEY k)
{
bool ok=TRUE;
bool ok = true;
if (k == K_ENTER)
{
int ss=f.mask().get_int(F_SGNGIAC)-f.mask().get_int(F_SGNRIM);
@ -175,12 +175,12 @@ bool TMask_tabmag::sumsign_handler(TMask_field& f, KEY k)
ps+=ABSSALDO(F_SGNORDC)+ABSSALDO(F_SGNORDF);
ps+=ABSSALDO(F_SGNLABEL)+ABSSALDO(F_SGNSCAR);
if (ps==0)
ok = f.yesno_box(TR("Attenzione: la causale non movimenta nessun saldo. Confermi ?"));
ok = f.yesno_box(TR("Attenzione: la causale non movimenta nessun saldo. Confermare?"));
const char tipomov=*f.mask().get(F_TIPOMOV);
if ((f.mask().get_int(F_SGNGIAC) >=0 && tipomov=='S') )
ok = f.yesno_box(TR("Attenzione: la causale e' impostata come scarico ma la giacenza non e' movimentata in negativo. Confermi ?"));
ok = f.yesno_box(TR("Attenzione: la causale e' impostata come scarico ma la giacenza non e' movimentata in negativo. Confermare?"));
if ((f.mask().get_int(F_SGNGIAC) <=0 && tipomov=='C'))
ok = f.yesno_box(TR("Attenzione: la causale e' impostata come carico ma la giacenza non e' movimentata in positivo. Confermi ?"));
ok = f.yesno_box(TR("Attenzione: la causale e' impostata come carico ma la giacenza non e' movimentata in positivo. Confermare?"));
}
}
return ok;
@ -240,10 +240,10 @@ bool TMask_tabmag::formatgiac_handler(TMask_field& f, KEY k)
if (total_len > maxlen)
{
f.error_box(FR("La somma delle lunghezze dei codici \n dei livelli di giacenza eccede \nil massimo consentito di %d caratteri"),maxlen);
return FALSE;
return false;
}
}
return TRUE;
return true;
}
@ -297,15 +297,11 @@ bool TMask_tabmag::codlivgiac_handler(TMask_field& f, KEY k)
if (k == K_TAB && f.focusdirty())
{
const int codliv = atoi(f.get());
if (codliv>1)
// Non è il primo codice
if (codliv>1) // Non è il primo codice
{
TMask_tabmag & mask=((TMask_tabmag &)f.mask());
TTable aux_tabf(app().get_tabname());
aux_tabf.put("CODTAB",codliv-1);
if (aux_tabf.read()!=NOERR)
// non esiste un precedente
if (aux_tabf.read()!=NOERR) // non esiste un precedente
return f.error_box(TR("Non si possono inserire salti nel livello del codice"));
}
}
@ -335,16 +331,16 @@ Tab_app_mag::Tab_app_mag() {}
bool Tab_app_mag::protected_record(TRectype& rec)
{
bool prot = rec.get_bool(FPC);
if (!prot)
{
if (get_tabname()=="FCA" ||get_tabname()=="FCG" )
const TString4 tn = get_tabname();
if (tn=="FCA" || tn=="FCG" )
{
// non si possono cancellare i livelli intermedi:se non è l'ultimo livello, proteggilo
TTable aux_tabf(get_tabname());
TTable aux_tabf(tn);
aux_tabf.put("CODTAB",rec.get_int("CODTAB")+1);
if (aux_tabf.read()==NOERR)
prot=TRUE;
prot = true;
}
}
return prot;

View File

@ -21,6 +21,7 @@ BEGIN
DISPLAY "Codice Parte" CODTAB
DISPLAY "Descrizione@50" S0
DISPLAY "Formato@20" S1
DISPLAY "Radice@C" B0
OUTPUT F_CODLIV CODTAB
OUTPUT F_DESLIV S0
OUTPUT F_FORMLIV S1
@ -44,9 +45,9 @@ END
LIST F_ROOT 1 10
BEGIN
PROMPT 42 3 "Livello"
PROMPT 42 3 "Livello "
FLAGS "DG"
ITEM " |Secondario"
ITEM "|Secondario"
MESSAGE HIDE,3@
ITEM "X|Radice"
MESSAGE SHOW,3@
@ -100,7 +101,7 @@ END
STRING F_CHILD1 3
BEGIN
PROMPT 2 7 "Parte 2 "
USE FSA SELECT CODTAB!=#F_CODLIV
USE FSA SELECT (CODTAB!=#F_CODLIV)&&(B0!="X")
INPUT CODTAB F_CHILD1
COPY DISPLAY F_CODLIV
OUTPUT F_CHILD1 CODTAB