Patch level : 10.0 patch 540

Files correlati     : lv3 lv3200a.msk lv3200a.msk
Ricompilazione Demo : [ ]
Commento            :
1) Ho evaso un buono di prelievo, ho psezzato le righe; mi ha cambiato stato al buono anche se non è evaso totalmente

2) Digitando il nuomero del buono di prelievo riesco a entrare in evasione di un buono già evaso; dovrebbe bloccarmi e dirmi che il buono è già evaso

L'evasione da terminalino prevede il richiamo del documento tramite pistolata; è necessario che la stringa da pistolare sia

                   D|anno|codnum|ndoc

che è la chiave univoca di un documento


git-svn-id: svn://10.65.10.50/trunk@19729 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2009-12-04 14:46:44 +00:00
parent f45aa0e1d0
commit 96dfb9a7a1
5 changed files with 79 additions and 40 deletions

View File

@ -507,10 +507,13 @@ void TEvasione_msk::genera_documento()
if (doc.rows() > 0)
{
err = doc.write();
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato);
bpre.rewrite();
set(F_STATO, stato);
if(controlla())
{
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato);
bpre.rewrite();
set(F_STATO, stato);
}
}
if (err == NOERR)

View File

@ -86,7 +86,7 @@ BEGIN
OUTPUT F_DATADOC DATADOC
OUTPUT F_CODCF CODCF
OUTPUT F_RICALT LF_CLIFO->RICALT
OUTPUT F_RAGSOC LF_CLIFO->RAGSOC
OUTPUT F_RAGSOC LF_CLIFO->RAGSOC
END
STRING F_STATO 3

View File

@ -192,7 +192,7 @@ class TEvasione_ter_msk: public TAutomask
protected:
void campi_cliente();
void precarica_righe();
bool precarica_righe();
void genera_buono();
void evadi();
void registra();
@ -240,10 +240,9 @@ bool TEvasione_ter_msk::on_key(KEY key)
}
//PRECARICA_RIGHE: metodo che carica in un TAssoc_array le righe fisiche del documento
void TEvasione_ter_msk::precarica_righe()
bool TEvasione_ter_msk::precarica_righe()
{
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TDoc_key kdoc(get_int(F_TANNO), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TBuono_prelievo doc(kdoc);
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
@ -254,8 +253,9 @@ void TEvasione_ter_msk::precarica_righe()
str << "Il documento " << get_long(F_TNDOC) << " è già stato evaso";
warning_box(str);
set(F_TNDOC, 0L, 1);
return;
reset(F_TCHIAVE);
return false;
}
TDate oggi(TODAY);
@ -277,6 +277,7 @@ void TEvasione_ter_msk::precarica_righe()
qr->set_qta_con(rdoc.qta_consegnata());
qr->set_pacchi(rdoc.num_pacchi());
}
return true;
}
//GENERA_BUONO: metodo che genera il buono di consegna partendo dal buono di ritiro
@ -467,9 +468,13 @@ void TEvasione_ter_msk::genera_buono()
if (doc.rows() > 0)
{
err = doc.write();
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato);
bpre.rewrite();
if(controlla())
{
const TString4 stato = cache().get("%TIP", ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0), "S2").mid(2,1);
bpre.put(DOC_STATO, stato);
bpre.rewrite();
}
}
if (err == NOERR)
@ -499,6 +504,7 @@ void TEvasione_ter_msk::genera_buono()
show(F_TCODNUM);
show(F_TTPDOC);
show(F_TDESCR);
show(F_TCHIAVE);
show(F_TANNO);
show(F_TDATAPRCO);
@ -883,12 +889,20 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
return false;
}
break;
case F_TNDOC:
case F_TCHIAVE:
{
TString cazzone = get(F_TNDOC);
if (e == fe_modify)
if (f.get_long() > 0)
{
TDoc_key kdoc(f.get());
if (kdoc.ndoc() > 0)
{
set(F_TANNO, kdoc.anno());
set(F_TNDOC, kdoc.ndoc());
field(F_TNDOC).check();
if(!precarica_righe())
return false;
hide(F_TCODNUM);
hide(F_TTPDOC);
hide(F_TDESCR);
@ -909,15 +923,22 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
enable(DLG_SAVEREC);
enable(DLG_CANCEL);
precarica_righe();
_autoselect = 1;
field(F_TDATADOC).set_focus();
field(F_TBARCODE).set_focus();
f.hide();
}
else
}
}
break;
case F_TNDOC:
{
if (e == fe_modify)
if (f.get_long() == 0)
{
show(F_TCHIAVE);
show(F_TCODNUM);
show(F_TTPDOC);
show(F_TDESCR);
show(F_TTPDOC);
show(F_TANNO);
show(F_TDATAPRCO);
@ -928,6 +949,12 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
hide(F_TQTAPACCO);
hide(F_TQTACON);
hide(F_TQTADACON);
disable(DLG_SELECT);
disable(DLG_PREVIEW);
disable(DLG_ELABORA);
disable(DLG_SAVEREC);
disable(DLG_CANCEL);
reset(F_TDATADOC);
_ra.destroy();
@ -945,6 +972,7 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
send_key(K_SPACE, DLG_ELABORA);
}
}
break;
default:break;
}
return true;

View File

@ -1,19 +1,20 @@
//Campi Maschera lv3200b
//Campi Maschera lv3400a
#define F_TCODNUM 401
#define F_TTPDOC 402
#define F_TDESCR 403
#define F_TNDOC 404
#define F_TANNO 405
#define F_TDATADOC 406
#define F_TDATAPRCO 407
#define F_TCODCF 408
#define F_TRAGSOC 409
#define F_TBARCODE 410
#define F_TPACCHI 411
#define F_TQTAPACCO 412
#define F_TQTACON 413
#define F_TQTADACON 414
#define F_TRIGHE 415
#define F_TCHIAVE 404
#define F_TNDOC 405
#define F_TANNO 406
#define F_TDATADOC 407
#define F_TDATAPRCO 408
#define F_TCODCF 409
#define F_TRAGSOC 410
#define F_TBARCODE 411
#define F_TPACCHI 412
#define F_TQTAPACCO 413
#define F_TQTACON 414
#define F_TQTADACON 415
#define F_TRIGHE 416
#define S_TCODART 101
#define S_TDACONS 102

View File

@ -55,26 +55,31 @@ PAGE "Evasione Buoni di prelievo" 0 2 0 0
STRING F_TCODNUM 4
BEGIN
PROMPT 0 1 ""
PROMPT 0 0 ""
FLAGS "D"
END
STRING F_TTPDOC 4
BEGIN
PROMPT 5 1 ""
PROMPT 5 0 ""
FLAGS "D"
END
STRING F_TDESCR 50 15
BEGIN
PROMPT 10 1 ""
PROMPT 10 0 ""
FLAGS "D"
END
STRING F_TCHIAVE 50 16
BEGIN
PROMPT 1 1 "Chiave "
END
NUMBER F_TNDOC 6
BEGIN
PROMPT 1 2 "Numero Doc. "
USE LF_DOC SELECT (STATO==2)
PROMPT 1 2 "Numero Doc. "
USE LF_DOC SELECT (STATO>=2)
JOIN LF_CLIFO TO LF_DOC INTO TIPOCF==TIPOCF CODCF==CODCF
INPUT PROVV "D"
INPUT ANNO F_TANNO SELECT
@ -88,11 +93,13 @@ BEGIN
OUTPUT F_TCODCF CODCF
OUTPUT F_TRAGSOC LF_CLIFO->RAGSOC
CHECTYPE REQUIRED
FLAGS "DG"
END
DATE F_TDATADOC
BEGIN
PROMPT 1 3 "Data Doc. "
FLAGS "D"
END
NUMBER F_TANNO 4