Patch level : 10.0 patch ???

Files correlati     : lv3 lv3200a.msk lvmenu
Ricompilazione Demo : [ ]
Commento            :
Aggiunti i bottoni corretti alla maschera

Corretta la gestione dei bottoni

Aggiunta la chiamata a menù


git-svn-id: svn://10.65.10.50/trunk@19518 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2009-10-27 11:12:54 +00:00
parent d426f08f4a
commit 21cd3dc85e
3 changed files with 147 additions and 19 deletions

View File

@ -1,5 +1,6 @@
#include <applicat.h>
#include <automask.h>
#include <defmask.h>
#include <reputils.h>
#include <reprint.h>
#include <utility.h>
@ -69,6 +70,7 @@ protected:
void spezza_riga();
void salva();
void annulla_operazioni();
bool controlla();
void sistema_quantita();
void sistema_pacchi();
@ -203,6 +205,21 @@ void TEvasione_msk::carica_righe()
_buonori = doc;
TSheet_field sheet = sfield(F_RIGHE);
sheet.row(-1);
//preparo l'array delle posizioni dei campi nello sheet
_posizioni.aggiungi("evaso", sheet.cid2index(S_EVASO));
_posizioni.aggiungi("codart", sheet.cid2index(S_CODART));
_posizioni.aggiungi("desrart", sheet.cid2index(S_ARTDESCR));
_posizioni.aggiungi("causale", sheet.cid2index(S_CAUSALE));
_posizioni.aggiungi("ritirato", sheet.cid2index(S_RITIRATO));
_posizioni.aggiungi("dacons", sheet.cid2index(S_DACONS));
_posizioni.aggiungi("consegnato", sheet.cid2index(S_CONSEGNATO));
_posizioni.aggiungi("pacchi", sheet.cid2index(S_PACCHI));
_posizioni.aggiungi("congpre", sheet.cid2index(S_CONGPRE));
_posizioni.aggiungi("congatt", sheet.cid2index(S_CONGATT));
_posizioni.aggiungi("rifbcon", sheet.cid2index(S_RIFBCON));
_posizioni.aggiungi("rifbrit", sheet.cid2index(S_RIFBRIT));
sheet.destroy();
for(int i = 1; i <= doc.rows(); i++)
{
@ -510,6 +527,21 @@ void TEvasione_msk::annulla_operazioni()
sheet.force_update();
}
//CONTROLLA: metodo che controlla se tutte le righe sono evase
bool TEvasione_msk::controlla()
{
TSheet_field sheet = sfield(F_RIGHE);
bool evaso = true;
FOR_EACH_SHEET_ROW(sheet, r, row)
{
if (row->get(_posizioni.posizione("evaso")) != "X")
evaso = false;
}
return evaso;
}
//SISTEMA_QUANTITA: metodo che mantiene allineate le quantita consegnate e il numero
//dei pacchi, moltiplicando il numero dei pacchi per i pezzi per pacco; se scrivo una quantità
//a mano ed è prevista una evasione a pacchi, allora aggiorno il numero dei pacchi
@ -559,7 +591,6 @@ void TEvasione_msk::sistema_pacchi()
//sottraendolo dal magazzino del pulito
void TEvasione_msk::evadi_da_barcode()
{
TRiga_pacco rp
}
//ON_FIELD_EVENT: metodo che gestisce gli eventi sui campi della maschera
@ -568,10 +599,60 @@ bool TEvasione_msk::on_field_event(TOperable_field& f, TField_event e, long joll
//a seconda del bottone premuto esegui un metodo diverso
switch (f.dlg())
{
case DLG_SELECT:
{
if (e == fe_button)
evadi_tutto();
}
break;
case DLG_PREVIEW:
{
riordina_righe();
}
break;
case DLG_ELABORA:
{
if (e == fe_button)
if (controlla())
genera_documento();
else
{
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_tutto();
else
{
spezza_riga();
genera_documento();
}
}
else
riordina_righe();
}
}
break;
case DLG_SAVEREC:
{
salva();
}
break;
case DLG_CANCEL:
{
annulla_operazioni();
}
break;
case F_NDOC:
{
if (e == fe_modify && f.get_long() > 0)
carica_righe();
if (e == fe_modify)
if (f.get_long() > 0)
{
enable(F_RIGHE);
carica_righe();
}
else
disable(F_RIGHE);
}
break;
case F_DATADOC:
@ -586,6 +667,30 @@ bool TEvasione_msk::on_field_event(TOperable_field& f, TField_event e, long joll
setta_campi_cliente();
}
break;
case F_RIGHE:
{
if (e == fe_modify)
{
TSheet_field sheet = sfield(F_RIGHE);
if (sheet.items() > 0)
{
enable(DLG_SELECT);
enable(DLG_PREVIEW);
enable(DLG_ELABORA);
enable(DLG_SAVEREC);
enable(DLG_CANCEL);
}
else
{
disable(DLG_SELECT);
disable(DLG_PREVIEW);
disable(DLG_ELABORA);
disable(DLG_SAVEREC);
disable(DLG_CANCEL);
}
}
}
break;
case S_CONSEGNATO:
{
if (e == fe_modify)
@ -631,20 +736,12 @@ TEvasione_msk::TEvasione_msk():TAutomask("lv3200a")
int annoes = es.date2esc(data);
set(F_ANNO, annoes);
//preparo l'array delle posizioni dei campi nello sheet
TSheet_field sheet = sfield(F_RIGHE);
_posizioni.aggiungi("evaso", sheet.cid2index(S_EVASO));
_posizioni.aggiungi("codart", sheet.cid2index(S_CODART));
_posizioni.aggiungi("desrart", sheet.cid2index(S_ARTDESCR));
_posizioni.aggiungi("causale", sheet.cid2index(S_CAUSALE));
_posizioni.aggiungi("ritirato", sheet.cid2index(S_RITIRATO));
_posizioni.aggiungi("dacons", sheet.cid2index(S_DACONS));
_posizioni.aggiungi("consegnato", sheet.cid2index(S_CONSEGNATO));
_posizioni.aggiungi("pacchi", sheet.cid2index(S_PACCHI));
_posizioni.aggiungi("congpre", sheet.cid2index(S_CONGPRE));
_posizioni.aggiungi("congatt", sheet.cid2index(S_CONGATT));
_posizioni.aggiungi("rifbcon", sheet.cid2index(S_RIFBCON));
_posizioni.aggiungi("rifbrit", sheet.cid2index(S_RIFBRIT));
disable(F_RIGHE);
disable(DLG_SELECT);
disable(DLG_PREVIEW);
disable(DLG_ELABORA);
disable(DLG_SAVEREC);
disable(DLG_CANCEL);
_ndoc = 0;
}

View File

@ -2,7 +2,37 @@
TOOLBAR "Topbar" 0 0 0 2
#include <elabar.h>
BUTTON DLG_SELECT 2 2
BEGIN
PROMPT 1 1 "Tutti"
PICTURE TOOL_MULTISEL
END
BUTTON DLG_PREVIEW 2 2
BEGIN
PROMPT 1 1 "Controlla"
PICTURE TOOL_PREVIEW
END
BUTTON DLG_ELABORA 2 2
BEGIN
PROMPT 1 1 "Evadi"
PICTURE TOOL_ELABORA
END
BUTTON DLG_SAVEREC 2 2
BEGIN
PROMPT 1 1 "Salva"
PICTURE TOOL_SAVEREC
END
BUTTON DLG_CANCEL 2 2
BEGIN
PROMPT 1 1 "Annulla"
PICTURE TOOL_CANCEL
END
#include <helpbar.h>
ENDPAGE

View File

@ -109,7 +109,8 @@ Item_08 = "Fatture", "ve0 -1 -filtI1=2 -defNUM_FAT,TIPODOC_FAT,lv", "F"
Item_09 = "Ordini Fornitori", "ve0 -1 -filtI1=3 -defNUM_ORF,TIPODOC_ORF,lv", "F"
Item_10 = "Ordini Clienti", "ve0 -1 -filtI1=3 -defNUM_ORC,TIPODOC_ORC,lv", "F"
Item_11 = "Fatturazione", "lv2 -4", "F"
Item_12 = "Stampe", [LVMENU_050]
Item_12 = "Evasione Buoni di Prelievo", "lv3 -1", "F"
Item_13 = "Stampe", [LVMENU_050]
[LVMENU_050]
Caption = "Stampe"