Patch level : 10.0 652
Files correlati : cg0.exe ve0. exe ve2.exe Ricompilazione Demo : [ ] Commento : Bug 0001567: Gruppi codice articoli avanzato 1)Nella codifica della composizione delle parti aggiungere la possibilità di variare le etichette a seconda della tipologia di materiale. 2) Rendere inoltre opzionale l'utilizzo o meno della descrizione del gruppo, nella costruzione automatica della descrizione dell'articolo(creazione codice guidato). Gli oggetti legati alle angarafiche non vengono salvati correttamente se vengono acquisti (copiati) Modifica a livello di liberia git-svn-id: svn://10.65.10.50/trunk@20161 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
94591f4f83
commit
0b4de4f0f5
@ -419,6 +419,7 @@ bool TGolem_field::autosave(TRelation& r)
|
||||
{
|
||||
char ext[_MAX_EXT];
|
||||
xvt_fsys_parse_pathname(new_file, NULL, NULL, NULL, ext, NULL);
|
||||
golem_path << SLASH;
|
||||
old_file.temp(golem_path, ext);
|
||||
|
||||
fcopy(new_file, old_file);
|
||||
|
@ -1378,6 +1378,12 @@ const TFilename& TFilename::temp(
|
||||
mask.tempdir();
|
||||
if (prefix && *prefix)
|
||||
{
|
||||
bool has_path = false;
|
||||
for (const char *s = prefix; !has_path && *s; s++)
|
||||
has_path = *s ==':' || is_slash(*s);
|
||||
if (has_path)
|
||||
mask = prefix;
|
||||
else
|
||||
mask.add(prefix);
|
||||
mask << '*';
|
||||
}
|
||||
|
@ -4,6 +4,7 @@
|
||||
#define F_FORMLIV 103
|
||||
#define F_CODGROUP 104
|
||||
#define F_DESGROUP 105
|
||||
#define F_ADDDESCR 106
|
||||
#define F_ROOT 197
|
||||
#define F_FORMAT 198
|
||||
#define F_FORMATLEN 199
|
||||
|
@ -91,6 +91,12 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BOOLEAN F_ADDDESCR
|
||||
BEGIN
|
||||
PROMPT 65 5 "In descrizione"
|
||||
FIELD B0
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 75 10
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bSottolivelli"
|
||||
@ -155,8 +161,8 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD3|CLEAR,F_SEPDES2|CLEAR,F_ORD2
|
||||
MESSAGE ENABLE,F_CHILD3|ENABLE,F_SEPDES2|ENABLE,F_ORD2
|
||||
MESSAGE EMPTY CLEAR,F_CHILD3|CLEAR,F_SEPDES2|CLEAR,F_ORD2|CLEAR,F_DESCR2
|
||||
MESSAGE ENABLE,F_CHILD3|ENABLE,F_SEPDES2|ENABLE,F_ORD2|ENABLE,F_DESCR2
|
||||
END
|
||||
|
||||
STRING F_FORMAT2 20 10
|
||||
@ -169,7 +175,7 @@ END
|
||||
STRING F_DESCR2 50 33
|
||||
BEGIN
|
||||
PROMPT 28 8 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[1,10]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -201,8 +207,8 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD4|CLEAR,F_SEPDES3|CLEAR,F_ORD3
|
||||
MESSAGE ENABLE,F_CHILD4|ENABLE,F_SEPDES3|ENABLE,F_ORD3
|
||||
MESSAGE EMPTY CLEAR,F_CHILD4|CLEAR,F_SEPDES3|CLEAR,F_ORD3|CLEAR,F_DESCR3
|
||||
MESSAGE ENABLE,F_CHILD4|ENABLE,F_SEPDES3|ENABLE,F_ORD3|ENABLE,F_DESCR3
|
||||
END
|
||||
|
||||
STRING F_FORMAT3 20 10
|
||||
@ -215,7 +221,7 @@ END
|
||||
STRING F_DESCR3 50 33
|
||||
BEGIN
|
||||
PROMPT 28 9 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[11,20]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -247,22 +253,21 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD5|CLEAR,F_SEPDES4|CLEAR,F_ORD4
|
||||
MESSAGE ENABLE,F_CHILD5|ENABLE,F_SEPDES4|ENABLE,F_ORD4
|
||||
MESSAGE EMPTY CLEAR,F_CHILD5|CLEAR,F_SEPDES4|CLEAR,F_ORD4|CLEAR,F_DESCR4
|
||||
MESSAGE ENABLE,F_CHILD5|ENABLE,F_SEPDES4|ENABLE,F_ORD4|ENABLE,F_DESCR4
|
||||
END
|
||||
|
||||
STRING F_FORMAT4 20 10
|
||||
BEGIN
|
||||
PROMPT 16 10 ""
|
||||
GROUP 319,2
|
||||
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCR4 50 33
|
||||
BEGIN
|
||||
PROMPT 28 10 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[21,30]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -270,7 +275,6 @@ STRING F_SEPDES4 6
|
||||
BEGIN
|
||||
PROMPT 62 10 "S."
|
||||
GROUP 3
|
||||
FLAGS "D"
|
||||
FIELD S2[19,24]
|
||||
END
|
||||
|
||||
@ -294,8 +298,8 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD6|CLEAR,F_SEPDES5|CLEAR,F_ORD5
|
||||
MESSAGE ENABLE,F_CHILD6|ENABLE,F_SEPDES5|ENABLE,F_ORD5
|
||||
MESSAGE EMPTY CLEAR,F_CHILD6|CLEAR,F_SEPDES5|CLEAR,F_ORD5|CLEAR,F_DESCR5
|
||||
MESSAGE ENABLE,F_CHILD6|ENABLE,F_SEPDES5|ENABLE,F_ORD5|ENABLE,F_DESCR5
|
||||
END
|
||||
|
||||
STRING F_FORMAT5 20 10
|
||||
@ -308,7 +312,7 @@ END
|
||||
STRING F_DESCR5 50 33
|
||||
BEGIN
|
||||
PROMPT 28 11 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[31,40]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -340,8 +344,8 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD7|CLEAR,F_SEPDES6|CLEAR,F_ORD6
|
||||
MESSAGE ENABLE,F_CHILD7|ENABLE,F_SEPDES6|ENABLE,F_ORD6
|
||||
MESSAGE EMPTY CLEAR,F_CHILD7|CLEAR,F_SEPDES6|CLEAR,F_ORD6|CLEAR,F_DESCR6
|
||||
MESSAGE ENABLE,F_CHILD7|ENABLE,F_SEPDES6|ENABLE,F_ORD6|ENABLE,F_DESCR6
|
||||
END
|
||||
|
||||
STRING F_FORMAT6 20 10
|
||||
@ -354,7 +358,7 @@ END
|
||||
STRING F_DESCR6 50 33
|
||||
BEGIN
|
||||
PROMPT 28 12 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[41,50]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -386,8 +390,8 @@ BEGIN
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
FLAGS "GU"
|
||||
MESSAGE EMPTY CLEAR,F_CHILD8|CLEAR,F_SEPDES7|CLEAR,F_ORD7
|
||||
MESSAGE ENABLE,F_CHILD8|ENABLE,F_SEPDES7|ENABLE,F_ORD7
|
||||
MESSAGE EMPTY CLEAR,F_CHILD8|CLEAR,F_SEPDES7|CLEAR,F_ORD7|CLEAR,F_DESCR7
|
||||
MESSAGE ENABLE,F_CHILD8|ENABLE,F_SEPDES7|ENABLE,F_ORD7|ENABLE,F_DESCR7
|
||||
END
|
||||
|
||||
STRING F_FORMAT7 20 10
|
||||
@ -400,7 +404,7 @@ END
|
||||
STRING F_DESCR7 50 33
|
||||
BEGIN
|
||||
PROMPT 28 13 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[51,70]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
@ -431,8 +435,8 @@ BEGIN
|
||||
FIELD S1[22,24]
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
MESSAGE EMPTY CLEAR,F_SEPDES8|CLEAR,F_ORD8
|
||||
MESSAGE ENABLE,F_SEPDES8|ENABLE,F_ORD8
|
||||
MESSAGE EMPTY CLEAR,F_SEPDES8|CLEAR,F_ORD8|CLEAR,F_DESCR8
|
||||
MESSAGE ENABLE,F_SEPDES8|ENABLE,F_ORD8|ENABLE,F_DESCR8
|
||||
FLAGS "GU"
|
||||
END
|
||||
|
||||
@ -446,7 +450,7 @@ END
|
||||
STRING F_DESCR8 50 33
|
||||
BEGIN
|
||||
PROMPT 28 14 ""
|
||||
FLAGS "D"
|
||||
FIELD S3[61,70]
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
|
@ -32,7 +32,7 @@ static const TRectype& get_sublevel_info(const TString& code)
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// Maschera dianamica per inserimento codici
|
||||
// Maschera dinamica per inserimento codici
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TCodart_mask : public TAutomask
|
||||
@ -40,6 +40,8 @@ class TCodart_mask : public TAutomask
|
||||
static TCodice_articolo _restart;
|
||||
TString80 _children;
|
||||
TString80 _separators;
|
||||
TString80 _prompts;
|
||||
bool _add_descr;
|
||||
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
@ -52,6 +54,7 @@ public:
|
||||
static void restart_with(const TString& cod) { _restart = cod; }
|
||||
const TString & get_descr_separator(const int level);
|
||||
int get_descr_order(const int level);
|
||||
const bool add_descr() { return _add_descr; }
|
||||
|
||||
TCodart_mask();
|
||||
};
|
||||
@ -143,7 +146,14 @@ void TCodart_mask::create_level(int level, const TString& subcode)
|
||||
if (!fsa.empty())
|
||||
{
|
||||
const TString4 code = fsa.get("CODTAB"); // Puo' essere diverso da subcode!
|
||||
TString80 prompt = fsa.get("S0"); prompt.left_just(30);
|
||||
TString80 prompt = fsa.get("S0");
|
||||
if (level > 2)
|
||||
{
|
||||
TString16 gprompt = _prompts.mid((level - 3) * 10, 10);
|
||||
if (gprompt.blank() || !gprompt.starts_with(gprompt))
|
||||
prompt = gprompt;
|
||||
}
|
||||
prompt.left_just(30);
|
||||
const TString& picture = fsa.get("S1");
|
||||
const int length = picture.len();
|
||||
|
||||
@ -186,6 +196,8 @@ bool TCodart_mask::build_children()
|
||||
// Non usare qui un TString& children, altrimenti cambia sul piu' bello!
|
||||
_children = cache().get("GSA", code, "S1");
|
||||
_separators = cache().get("GSA", code, "S2");
|
||||
_prompts = cache().get("GSA", code, "S3");
|
||||
_add_descr = cache().get("GSA", code, "B0").full();
|
||||
|
||||
// Affetto la stringona S1 in sottocodici da 3 caratteri l'uno
|
||||
for (int i = 0; i < 9; i++)
|
||||
@ -237,19 +249,21 @@ bool advanced_codart_ask(TString& code, TString& desc)
|
||||
{
|
||||
int ord = 1000;
|
||||
int el = -1;
|
||||
for (id = 101; m.id2pos(id) >= 0; id++)
|
||||
const int start_id = m.add_descr() ? 101 : 102;
|
||||
|
||||
for (id = start_id; m.id2pos(id) >= 0; id++)
|
||||
{
|
||||
if (order[id - 101] < ord)
|
||||
if (order[id - start_id] < ord)
|
||||
{
|
||||
el = id - 101;
|
||||
el = id - start_id;
|
||||
ord = order[el];
|
||||
}
|
||||
}
|
||||
if (el >= 0)
|
||||
{
|
||||
const int dlg = el + 101;
|
||||
const int dlg = el + start_id;
|
||||
order[el] = 1001;
|
||||
if (dlg > 101)
|
||||
if (dlg > start_id)
|
||||
desc << m.get_descr_separator(el);
|
||||
desc << esc(m.get(dlg + 100));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user