Patch level : 10.0 542
Files correlati : ve2.exe Ricompilazione Demo : [ ] Aggiunto ordinamento della descrizione nella generazione codici avanzata git-svn-id: svn://10.65.10.50/trunk@19723 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3c0c3350aa
commit
8d78c4b8e7
@ -37,8 +37,6 @@ BOOLEAN F_ROOT
|
||||
BEGIN
|
||||
PROMPT 28 2 "Livello radice (Primo livello della gerarchia)"
|
||||
FIELD B0
|
||||
MESSAGE FALSE ENABLE,F_SEPDESC
|
||||
MESSAGE TRUE CLEAR,F_SEPDESC
|
||||
END
|
||||
|
||||
// descrizione parte del formato codice
|
||||
|
@ -13,39 +13,47 @@
|
||||
#define F_FORMAT1 301
|
||||
#define F_DESCR1 401
|
||||
#define F_SEPDES1 501
|
||||
#define F_ORD1 601
|
||||
|
||||
#define F_CHILD2 202
|
||||
#define F_FORMAT2 302
|
||||
#define F_DESCR2 402
|
||||
#define F_SEPDES2 502
|
||||
#define F_ORD2 602
|
||||
|
||||
#define F_CHILD3 203
|
||||
#define F_FORMAT3 303
|
||||
#define F_DESCR3 403
|
||||
#define F_SEPDES3 503
|
||||
#define F_ORD3 603
|
||||
|
||||
#define F_CHILD4 204
|
||||
#define F_FORMAT4 304
|
||||
#define F_DESCR4 404
|
||||
#define F_SEPDES4 504
|
||||
#define F_ORD4 604
|
||||
|
||||
|
||||
#define F_CHILD5 205
|
||||
#define F_FORMAT5 305
|
||||
#define F_DESCR5 405
|
||||
#define F_SEPDES5 505
|
||||
#define F_ORD5 605
|
||||
|
||||
#define F_CHILD6 206
|
||||
#define F_FORMAT6 306
|
||||
#define F_DESCR6 406
|
||||
#define F_SEPDES6 506
|
||||
#define F_ORD6 606
|
||||
|
||||
#define F_CHILD7 207
|
||||
#define F_FORMAT7 307
|
||||
#define F_DESCR7 407
|
||||
#define F_SEPDES7 507
|
||||
#define F_ORD7 607
|
||||
|
||||
#define F_CHILD8 208
|
||||
#define F_FORMAT8 308
|
||||
#define F_DESCR8 408
|
||||
#define F_SEPDES8 508
|
||||
#define F_ORD8 608
|
||||
|
135
mg/mgtbgsa.uml
135
mg/mgtbgsa.uml
@ -16,7 +16,7 @@ BEGIN
|
||||
FIELD CODTAB[1,3]
|
||||
KEY 1
|
||||
FLAG "UZ"
|
||||
USE FSA
|
||||
USE FSA SELECT (B0=="X")
|
||||
INPUT CODTAB F_CODLIV
|
||||
DISPLAY "Codice Parte" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
@ -71,7 +71,6 @@ BEGIN
|
||||
OUTPUT F_CODGROUP CODTAB[4,24]
|
||||
OUTPUT F_DESGROUP S0
|
||||
CHECKTYPE REQUIRED
|
||||
|
||||
MESSAGE EMPTY ENABLE,F_DESLIV
|
||||
MESSAGE DISABLE,F_DESLIV
|
||||
END
|
||||
@ -110,7 +109,7 @@ BEGIN
|
||||
FIELD S1[1,3]
|
||||
CHECKTYPE REQUIRED
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD2
|
||||
MESSAGE ENABLE,F_CHILD2
|
||||
END
|
||||
@ -122,7 +121,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR1 50 35
|
||||
STRING F_DESCR1 50 33
|
||||
BEGIN
|
||||
PROMPT 28 7 ""
|
||||
GROUP 3
|
||||
@ -131,11 +130,18 @@ END
|
||||
|
||||
STRING F_SEPDES1 6
|
||||
BEGIN
|
||||
PROMPT 64 7 "Sep."
|
||||
PROMPT 62 7 "S."
|
||||
GROUP 3
|
||||
FIELD S2[1,6]
|
||||
END
|
||||
|
||||
NUMBER F_ORD1 1
|
||||
BEGIN
|
||||
PROMPT 71 7 "O."
|
||||
GROUP 3
|
||||
FIELD S2[49,49]
|
||||
END
|
||||
|
||||
STRING F_CHILD2 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Parte 3 "
|
||||
@ -148,9 +154,9 @@ BEGIN
|
||||
FIELD S1[4,6]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD3|CLEAR,F_SEPDES2
|
||||
MESSAGE ENABLE,F_CHILD3|ENABLE,F_SEPDES2
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD3|CLEAR,F_SEPDES2|CLEAR,F_ORD2
|
||||
MESSAGE ENABLE,F_CHILD3|ENABLE,F_SEPDES2|ENABLE,F_ORD2
|
||||
END
|
||||
|
||||
STRING F_FORMAT2 20 10
|
||||
@ -160,7 +166,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR2 50 35
|
||||
STRING F_DESCR2 50 33
|
||||
BEGIN
|
||||
PROMPT 28 8 ""
|
||||
FLAGS "D"
|
||||
@ -169,12 +175,19 @@ END
|
||||
|
||||
STRING F_SEPDES2 6
|
||||
BEGIN
|
||||
PROMPT 64 8 "Sep."
|
||||
PROMPT 62 8 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[7,12]
|
||||
END
|
||||
|
||||
NUMBER F_ORD2 1
|
||||
BEGIN
|
||||
PROMPT 71 8 "O."
|
||||
GROUP 3
|
||||
FIELD S2[50,50]
|
||||
END
|
||||
|
||||
STRING F_CHILD3 3
|
||||
BEGIN
|
||||
PROMPT 2 9 "Parte 4 "
|
||||
@ -187,9 +200,9 @@ BEGIN
|
||||
FIELD S1[7,9]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD4|CLEAR,F_SEPDES3
|
||||
MESSAGE ENABLE,F_CHILD4|ENABLE,F_SEPDES3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD4|CLEAR,F_SEPDES3|CLEAR,F_ORD3
|
||||
MESSAGE ENABLE,F_CHILD4|ENABLE,F_SEPDES3|ENABLE,F_ORD3
|
||||
END
|
||||
|
||||
STRING F_FORMAT3 20 10
|
||||
@ -199,7 +212,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR3 50 35
|
||||
STRING F_DESCR3 50 33
|
||||
BEGIN
|
||||
PROMPT 28 9 ""
|
||||
FLAGS "D"
|
||||
@ -208,12 +221,19 @@ END
|
||||
|
||||
STRING F_SEPDES3 6
|
||||
BEGIN
|
||||
PROMPT 64 9 "Sep."
|
||||
PROMPT 62 9 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[13,18]
|
||||
END
|
||||
|
||||
NUMBER F_ORD3 1
|
||||
BEGIN
|
||||
PROMPT 71 9 "O."
|
||||
GROUP 3
|
||||
FIELD S2[51,51]
|
||||
END
|
||||
|
||||
STRING F_CHILD4 3
|
||||
BEGIN
|
||||
PROMPT 2 10 "Parte 5 "
|
||||
@ -226,9 +246,9 @@ BEGIN
|
||||
FIELD S1[10,12]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD5|CLEAR,F_SEPDES4
|
||||
MESSAGE ENABLE,F_CHILD5|ENABLE,F_SEPDES4
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD5|CLEAR,F_SEPDES4|CLEAR,F_ORD4
|
||||
MESSAGE ENABLE,F_CHILD5|ENABLE,F_SEPDES4|ENABLE,F_ORD4
|
||||
END
|
||||
|
||||
STRING F_FORMAT4 20 10
|
||||
@ -239,7 +259,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR4 50 35
|
||||
STRING F_DESCR4 50 33
|
||||
BEGIN
|
||||
PROMPT 28 10 ""
|
||||
FLAGS "D"
|
||||
@ -248,12 +268,19 @@ END
|
||||
|
||||
STRING F_SEPDES4 6
|
||||
BEGIN
|
||||
PROMPT 64 10 "Sep."
|
||||
PROMPT 62 10 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[19,24]
|
||||
END
|
||||
|
||||
NUMBER F_ORD4 1
|
||||
BEGIN
|
||||
PROMPT 71 10 "O."
|
||||
GROUP 3
|
||||
FIELD S2[52,52]
|
||||
END
|
||||
|
||||
STRING F_CHILD5 3
|
||||
BEGIN
|
||||
PROMPT 2 11 "Parte 6 "
|
||||
@ -266,9 +293,9 @@ BEGIN
|
||||
FIELD S1[13,15]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD6|CLEAR,F_SEPDES5
|
||||
MESSAGE ENABLE,F_CHILD6|ENABLE,F_SEPDES5
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD6|CLEAR,F_SEPDES5|CLEAR,F_ORD5
|
||||
MESSAGE ENABLE,F_CHILD6|ENABLE,F_SEPDES5|ENABLE,F_ORD5
|
||||
END
|
||||
|
||||
STRING F_FORMAT5 20 10
|
||||
@ -278,7 +305,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR5 50 35
|
||||
STRING F_DESCR5 50 33
|
||||
BEGIN
|
||||
PROMPT 28 11 ""
|
||||
FLAGS "D"
|
||||
@ -287,12 +314,19 @@ END
|
||||
|
||||
STRING F_SEPDES5 6
|
||||
BEGIN
|
||||
PROMPT 64 11 "Sep."
|
||||
PROMPT 62 11 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[25,30]
|
||||
END
|
||||
|
||||
NUMBER F_ORD5 1
|
||||
BEGIN
|
||||
PROMPT 71 11 "O."
|
||||
GROUP 3
|
||||
FIELD S2[53,53]
|
||||
END
|
||||
|
||||
STRING F_CHILD6 3
|
||||
BEGIN
|
||||
PROMPT 2 12 "Parte 7 "
|
||||
@ -305,9 +339,9 @@ BEGIN
|
||||
FIELD S1[16,18]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD7|CLEAR,F_SEPDES6
|
||||
MESSAGE ENABLE,F_CHILD7|ENABLE,F_SEPDES6
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD7|CLEAR,F_SEPDES6|CLEAR,F_ORD6
|
||||
MESSAGE ENABLE,F_CHILD7|ENABLE,F_SEPDES6|ENABLE,F_ORD6
|
||||
END
|
||||
|
||||
STRING F_FORMAT6 20 10
|
||||
@ -317,7 +351,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR6 50 35
|
||||
STRING F_DESCR6 50 33
|
||||
BEGIN
|
||||
PROMPT 28 12 ""
|
||||
FLAGS "D"
|
||||
@ -326,12 +360,19 @@ END
|
||||
|
||||
STRING F_SEPDES6 6
|
||||
BEGIN
|
||||
PROMPT 64 12 "Sep."
|
||||
PROMPT 62 12 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[31,36]
|
||||
END
|
||||
|
||||
NUMBER F_ORD6 1
|
||||
BEGIN
|
||||
PROMPT 71 12 "O."
|
||||
GROUP 3
|
||||
FIELD S2[54,54]
|
||||
END
|
||||
|
||||
STRING F_CHILD7 3
|
||||
BEGIN
|
||||
PROMPT 2 13 "Parte 8 "
|
||||
@ -344,9 +385,9 @@ BEGIN
|
||||
FIELD S1[19,21]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD8|CLEAR,F_SEPDES7
|
||||
MESSAGE ENABLE,F_CHILD8|ENABLE,F_SEPDES7
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD8|CLEAR,F_SEPDES7|CLEAR,F_ORD7
|
||||
MESSAGE ENABLE,F_CHILD8|ENABLE,F_SEPDES7|ENABLE,F_ORD7
|
||||
END
|
||||
|
||||
STRING F_FORMAT7 20 10
|
||||
@ -356,7 +397,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR7 50 35
|
||||
STRING F_DESCR7 50 33
|
||||
BEGIN
|
||||
PROMPT 28 13 ""
|
||||
FLAGS "D"
|
||||
@ -365,12 +406,19 @@ END
|
||||
|
||||
STRING F_SEPDES7 6
|
||||
BEGIN
|
||||
PROMPT 64 13 "Sep."
|
||||
PROMPT 62 13 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[37,42]
|
||||
END
|
||||
|
||||
NUMBER F_ORD7 1
|
||||
BEGIN
|
||||
PROMPT 71 13 "O."
|
||||
GROUP 3
|
||||
FIELD S2[55,55]
|
||||
END
|
||||
|
||||
STRING F_CHILD8 3
|
||||
BEGIN
|
||||
PROMPT 2 14 "Parte 9 "
|
||||
@ -383,9 +431,9 @@ BEGIN
|
||||
FIELD S1[22,24]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
MESSAGE EMPTY CLEAR,F_SEPDES8
|
||||
MESSAGE ENABLE,F_SEPDES8
|
||||
FLAGS "G"
|
||||
MESSAGE EMPTY CLEAR,F_SEPDES8|CLEAR,F_ORD8
|
||||
MESSAGE ENABLE,F_SEPDES8|ENABLE,F_ORD8
|
||||
FLAGS "GU"
|
||||
END
|
||||
|
||||
STRING F_FORMAT8 20 10
|
||||
@ -395,7 +443,7 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR8 50 35
|
||||
STRING F_DESCR8 50 33
|
||||
BEGIN
|
||||
PROMPT 28 14 ""
|
||||
FLAGS "D"
|
||||
@ -404,12 +452,19 @@ END
|
||||
|
||||
STRING F_SEPDES8 6
|
||||
BEGIN
|
||||
PROMPT 64 14 "Sep."
|
||||
PROMPT 62 14 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[43,48]
|
||||
END
|
||||
|
||||
NUMBER F_ORD8 1
|
||||
BEGIN
|
||||
PROMPT 71 14 "O."
|
||||
GROUP 3
|
||||
FIELD S2[56,56]
|
||||
END
|
||||
|
||||
STRING F_FORMAT 90 30
|
||||
BEGIN
|
||||
PROMPT 1 16 "Formato complessivo "
|
||||
|
@ -51,7 +51,7 @@ public:
|
||||
bool restart() const { return _restart.full(); }
|
||||
static void restart_with(const TString& cod) { _restart = cod; }
|
||||
const TString & get_descr_separator(const int level);
|
||||
|
||||
int get_descr_order(const int level);
|
||||
|
||||
TCodart_mask();
|
||||
};
|
||||
@ -108,6 +108,21 @@ void TCodart_mask::start_run()
|
||||
TAutomask::start_run();
|
||||
}
|
||||
|
||||
int TCodart_mask::get_descr_order(const int level)
|
||||
{
|
||||
int order = 0;
|
||||
const int pos = 48 + (level - 1);
|
||||
|
||||
if (level > 0 && _separators.len() >= pos)
|
||||
{
|
||||
char ord = _separators[pos];
|
||||
|
||||
if (ord > ' ')
|
||||
order = ord - '0';
|
||||
}
|
||||
return order;
|
||||
}
|
||||
|
||||
const TString & TCodart_mask::get_descr_separator(const int level)
|
||||
{
|
||||
TString & sep = get_tmp_string(8);
|
||||
@ -185,7 +200,7 @@ bool TCodart_mask::build_children()
|
||||
return id2pos(102) > 0;
|
||||
}
|
||||
|
||||
TCodart_mask::TCodart_mask() : TAutomask(TR("Articolo guidato"), 1, 78, 13)
|
||||
TCodart_mask::TCodart_mask() : TAutomask(TR("Articolo guidato"), 1, 78, 17)
|
||||
{
|
||||
add_button(DLG_OK, 0, "", -12, -1, 10, 2);
|
||||
add_button(DLG_CANCEL, 0, "", -22, -1, 10, 2);
|
||||
@ -207,14 +222,38 @@ bool advanced_codart_ask(TString& code, TString& desc)
|
||||
TCodart_mask m;
|
||||
ok = m.run() == K_ENTER;
|
||||
if (ok)
|
||||
{
|
||||
for (short id = 101; m.id2pos(id) >= 0; id++)
|
||||
{
|
||||
code << m.get(id);
|
||||
if (id > 101)
|
||||
desc << m.get_descr_separator(id - 101);
|
||||
desc << esc(m.get(id+100));
|
||||
}
|
||||
{
|
||||
int order[20];
|
||||
int elements = 0;
|
||||
int id;
|
||||
|
||||
for (id = 101; m.id2pos(id) >= 0; id++, elements++)
|
||||
{
|
||||
const int el = id - 101;
|
||||
order[el] = m.get_descr_order(el);
|
||||
code << m.get(id);
|
||||
}
|
||||
while (elements-- > 0)
|
||||
{
|
||||
int ord = 1000;
|
||||
int el = -1;
|
||||
for (id = 101; m.id2pos(id) >= 0; id++)
|
||||
{
|
||||
if (order[id - 101] < ord)
|
||||
{
|
||||
el = id - 101;
|
||||
ord = order[el];
|
||||
}
|
||||
}
|
||||
if (el >= 0)
|
||||
{
|
||||
const int dlg = el + 101;
|
||||
order[el] = 1001;
|
||||
if (dlg > 101)
|
||||
desc << m.get_descr_separator(el);
|
||||
desc << esc(m.get(dlg + 100));
|
||||
}
|
||||
}
|
||||
running = false;
|
||||
}
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user