Patch level : 10.0 patch 510

Files correlati     : lv3
Ricompilazione Demo : [ ]
Commento            :
Corretta la gestione dei tasti funzione


git-svn-id: svn://10.65.10.50/trunk@19618 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-11-12 16:06:33 +00:00
parent 48cb6f7053
commit 57d140b8fe
3 changed files with 131 additions and 134 deletions

View File

@ -4,6 +4,7 @@
#include <execp.h>
#include <reputils.h>
#include <reprint.h>
#include <toolfld.h>
#include <utility.h>
#include "lvlib.h"
@ -162,7 +163,6 @@ TQuantita_riga* TRighe_array::quantita(TString& codart, TDate& data, bool create
//class TEvasione_ter_msk
class TEvasione_ter_msk: public TAutomask
{
TDocumento _buonori;
int _ndoc;
int _autoselect;
TString4 _tpev;
@ -185,21 +185,41 @@ protected:
void evadi_da_terminale();
virtual void on_idle();
virtual bool on_key(KEY key);
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TEvasione_ter_msk();
};
bool TEvasione_ter_msk::on_key(KEY key)
{
if (key >= K_F3 && key <= K_F7)
{
FOR_EACH_MASK_FIELD(*this, i, f)
{
if (f->is_kind_of(CLASS_BUTTON_TOOL) && f->active())
{
TButton_tool& tf = (TButton_tool&)*f;
if (tf.exit_key() == key)
{
send_key(K_SPACE, f->dlg());
return true;
}
}
}
}
return TAutomask::on_key(key);
}
//PRECARICA_RIGHE: metodo che carica in un TAssoc_array le righe documento
void TEvasione_ter_msk::precarica_righe()
{
TDoc_key kdoc(get_date(F_TDATADOC1).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC1));
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TBuono_prelievo doc(kdoc);
_buonori = doc;
TDate oggi(TODAY);
for(int i = 1; i <= doc.rows(); i++)
@ -228,7 +248,7 @@ void TEvasione_ter_msk::genera_buono()
//per prima cosa salva il buono di prelievo
registra();
TDoc_key kdoc(get_date(F_TDATADOC1).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC1));
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TBuono_prelievo bpre(kdoc);
const long codcf = bpre.codcf();
const int codcont = bpre.codcont();
@ -244,7 +264,7 @@ void TEvasione_ter_msk::genera_buono()
char stato = cache().get("%TIP", tipodoc, "S2").left(1)[0];
const TDate databpre = bpre.datadoc();
const TDate databolla = get_date(F_TDATADOC1);
const TDate databolla = get_date(F_TDATADOC);
const TDate datagen(TODAY);
TDate dadata = databpre;
TDate adata = datagen;
@ -419,8 +439,8 @@ void TEvasione_ter_msk::genera_buono()
else
warning_box(TR("Non è stato possibile generare nessun documento"));
reset(F_TNDOC1);
send_key(K_SPACE, F_TNDOC1);
reset(F_TNDOC);
send_key(K_SPACE, F_TNDOC);
}
//EVADI: metodo che setta a evaso tutte le righe del documento
@ -436,7 +456,7 @@ void TEvasione_ter_msk::evadi()
//REGISTRA: metodo che salva il buono di prelievo così com'è
void TEvasione_ter_msk::registra()
{
TDoc_key kdoc(get_date(F_TDATADOC1).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC1));
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_long(F_TNDOC));
TBuono_prelievo doc(kdoc);
@ -651,7 +671,7 @@ void TEvasione_ter_msk::evadi_da_terminale()
}
else
{
TDoc_key kdoc(get_date(F_TDATADOC1).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_int(F_TNDOC1));
TDoc_key kdoc(get_date(F_TDATADOC).year(), ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0), get_int(F_TNDOC));
TToken_string key;
key.add(codart);
@ -693,97 +713,110 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
{
//a seconda del bottone premuto esegui un metodo diverso
switch (f.dlg())
{
case DLG_SELECT:
{
case DLG_SELECT:
if (e == fe_button)
{
if (e == fe_button)
evadi();
}
evadi();
return false;
}
break;
case DLG_PREVIEW:
if (e == fe_button)
{
if (e == fe_button)
{
show(F_TDATADOC1);
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
show(F_TRIGHE);
riempi_sheet();
}
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
show(F_TRIGHE);
riempi_sheet();
return false;
}
break;
case DLG_ELABORA:
{
if (e == fe_button)
if (controlla())
genera_buono();
else
case DLG_ELABORA:
if (e == fe_button)
if (controlla())
genera_buono();
else
{
if(yesno_box(TR("ATTENZIONE: non tutte le righe sono evase. Si desidera continuare ugualmente?")))
{
if(yesno_box(TR("ATTENZIONE: non tutte le righe sono evase. Si desidera continuare ugualmente?")))
{
if(yesno_box(TR("Si desidera considerare evase tutte le righe?"
"(in caso contrario le righe evase parzialmente verranno spezzate su due righe)")))
evadi();
else
{
spezza_riga();
genera_buono();
}
}
if(yesno_box(TR("Si desidera considerare evase tutte le righe?"
"(in caso contrario le righe evase parzialmente verranno spezzate su due righe)")))
evadi();
else
send_key(K_SPACE, DLG_CANCEL);
{
spezza_riga();
genera_buono();
}
}
}
else
send_key(K_SPACE, DLG_CANCEL);
}
return false;
break;
case DLG_CANCEL:
if (e == fe_button && jolly == 0)
{
show(F_TDATADOC1);
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
hide(F_TRIGHE);
hide(F_TRIGHE);
_autoselect = 1;
_autoselect = 1;
return false;
}
break;
case DLG_SAVEREC:
if (e == fe_button)
{
if (e == fe_button)
registra();
registra();
return false;
}
break;
case F_TNDOC:
{
if (e == fe_modify && !f.empty())
{
show(F_TCODCF);
show(F_TRAGSOC);
show(F_TNDOC1); set(F_TNDOC1, get_int(F_TNDOC));
show(F_TDATADOC1); set(F_TDATADOC1, get_date(F_TDATADOC));
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
if (e == fe_modify)
if (!f.empty())
{
show(F_TCODCF);
show(F_TRAGSOC);
show(F_TBARCODE);
show(F_TPACCHI);
show(F_TQTAPACCO);
show(F_TQTACON);
show(F_TQTADACON);
hide(F_TCODNUM);
hide(F_TTPDOC);
hide(F_TNDOC);
hide(F_TDATADOC);
hide(F_TANNO);
hide(F_TDATAPRCO);
update();
hide(F_TCODNUM);
hide(F_TTPDOC);
hide(F_TANNO);
hide(F_TDATAPRCO);
precarica_righe();
}
precarica_righe();
}
else
{
show(F_TCODNUM);
show(F_TTPDOC);
show(F_TANNO);
show(F_TDATAPRCO);
hide(F_TCODCF);
hide(F_TRAGSOC);
hide(F_TBARCODE);
hide(F_TPACCHI);
hide(F_TQTAPACCO);
hide(F_TQTACON);
hide(F_TQTADACON);
reset(F_TDATADOC);
_ra.destroy();
}
}
break;
case F_TBARCODE:
@ -797,29 +830,6 @@ bool TEvasione_ter_msk::on_field_event(TOperable_field& f, TField_event e, long
send_key(K_SPACE, DLG_ELABORA);
}
}
case F_TNDOC1:
{
if (e == fe_modify && f.get().empty())
{
hide(F_TCODCF);
hide(F_TRAGSOC);
hide(F_TNDOC1);
hide(F_TDATADOC1);
hide(F_TBARCODE);
hide(F_TPACCHI);
hide(F_TQTAPACCO);
hide(F_TQTACON);
hide(F_TQTADACON);
show(F_TCODNUM);
show(F_TTPDOC);
show(F_TNDOC); reset(F_TNDOC);
show(F_TDATADOC); reset(F_TDATADOC);
show(F_TANNO);
show(F_TDATAPRCO);
}
}
break;
default:break;
}
return true;
@ -838,7 +848,7 @@ void TEvasione_ter_msk:: on_idle()
TEvasione_ter_msk::TEvasione_ter_msk():TAutomask("lv3400a")
{
//precarico i campi fissi
//precarico i campi fissi
set(F_TCODNUM, ini_get_string(CONFIG_DITTA, "lv", "NUM_PRE", NULL, 0));
set(F_TTPDOC, ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_PRE", NULL, 0));
@ -851,9 +861,7 @@ TEvasione_ter_msk::TEvasione_ter_msk():TAutomask("lv3400a")
set(F_TANNO, annoes);
hide(F_TCODCF);
hide(F_TRAGSOC);
hide(F_TNDOC1);
hide(F_TDATADOC1);
hide(F_TRAGSOC);
hide(F_TBARCODE);
hide(F_TPACCHI);
hide(F_TQTAPACCO);

View File

@ -8,7 +8,6 @@
#define F_TDATAPRCO 407
#define F_TCODCF 408
#define F_TRAGSOC 409
#define F_TNDOC1 410
#define F_TDATADOC1 411
#define F_TBARCODE 412
#define F_TPACCHI 413

View File

@ -1,6 +1,6 @@
#include "lv3400a.h"
PAGE "Evasione Buoni di prelievo" -1 -1 35 10
PAGE "Evasione Buoni di prelievo" -1 -1 45 10
STRING F_TCODNUM 4
BEGIN
@ -39,15 +39,15 @@ BEGIN
OUTPUT F_TRAGSOC LF_CLIFO->RAGSOC
END
NUMBER F_TANNO 4
BEGIN
PROMPT 1 3 "Anno Esercizio "
FLAGS "D"
END
DATE F_TDATADOC
BEGIN
PROMPT 1 4 "Data Doc. "
PROMPT 1 3 "Data Doc. "
END
NUMBER F_TANNO 4
BEGIN
PROMPT 1 4 "Anno Esercizio "
FLAGS "D"
END
DATE F_TDATAPRCO
@ -57,7 +57,7 @@ END
NUMBER F_TCODCF 6
BEGIN
PROMPT 1 0 "Cliente "
PROMPT 1 0 "Cliente "
FLAGS "D"
END
@ -67,16 +67,6 @@ BEGIN
FLAGS "D"
END
NUMBER F_TNDOC1 6
BEGIN
PROMPT 1 2 "Buono Numero "
END
DATE F_TDATADOC1
BEGIN
PROMPT 1 3 "Data Doc. "
END
STRING F_TBARCODE 50 12
BEGIN
PROMPT 1 4 "Barcode "
@ -116,37 +106,37 @@ TOOLBAR "Topbar" 0 0 0 2
BUTTON DLG_SELECT 2 2
BEGIN
PROMPT 1 1 "Tutti"
PROMPT 1 1 "Tutti(F3)"
PICTURE TOOL_MULTISEL
MESSAGE EXIT K_F5
MESSAGE EXIT,K_F3
END
BUTTON DLG_PREVIEW 2 2
BEGIN
PROMPT 1 1 "Controlla"
PROMPT 1 1 "Controlla(F4)"
PICTURE TOOL_PREVIEW
MESSAGE EXIT K_F6
MESSAGE EXIT,K_F4
END
BUTTON DLG_ELABORA 2 2
BEGIN
PROMPT 1 1 "Evadi"
PROMPT 1 1 "Evadi(F5)"
PICTURE TOOL_ELABORA
MESSAGE EXIT K_F7
MESSAGE EXIT,K_F5
END
BUTTON DLG_SAVEREC 2 2
BEGIN
PROMPT 1 1 "Salva"
PROMPT 1 1 "Salva(F6)"
PICTURE TOOL_SAVEREC
MESSAGE_EXIT K_F8
MESSAGE EXIT,K_F6
END
BUTTON DLG_CANCEL 2 2
BEGIN
PROMPT 1 1 "Annulla"
PROMPT 1 1 "Annulla(F7)"
PICTURE TOOL_CANCEL
MESSAGE EXIT K_F9
MESSAGE EXIT,K_F7
END
BUTTON DLG_QUIT 2 2