Patch level : 10.0 patch 250
Files correlati : lv3, verig21.msk Ricompilazione Demo : [ ] Commento : Corretta maschera verig21 in modo da avere tutti i campi su una sola pagina e aggriunto il magazzino Corretto caricamento dati magazzino e magazzino collegato; aggiunto handler CODMAG che evita il il controllo dei dati troppo presto git-svn-id: svn://10.65.10.50/trunk@18398 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3e930bf69c
commit
d88f001e07
@ -35,6 +35,7 @@ protected:
|
||||
static bool lv_consegnato_handler(TMask_field& f, KEY k);
|
||||
static bool lv_codart_handler(TMask_field& f, KEY k);
|
||||
static bool lv_causale_handler(TMask_field& f, KEY k);
|
||||
static bool lv_codmag_handler(TMask_field& f, KEY k);
|
||||
|
||||
static bool ss_notify(TSheet_field& ss, int r, KEY key);
|
||||
|
||||
@ -72,6 +73,7 @@ protected:
|
||||
long giac_in_mag(const TString& codart, bool odierna) const; //restituisce il valore salvato nel magazzino
|
||||
|
||||
public:
|
||||
bool preset(const TDocumento& doc); //precarico le variabili globali della classe
|
||||
bool reset(const TDocumento& doc); //svuota i TAssoc_array e carica cli e cont
|
||||
bool load_row(const TRiga_documento& rdoc); //popola i TAssoc_array
|
||||
real giac_att(TRiga_documento& rdoc, bool odierna); //restituisce le quantità attuali di dotazione
|
||||
@ -124,8 +126,8 @@ long TGiac_per_cli::giac_in_mag(const TString& codart, bool odierna) const
|
||||
return 0;
|
||||
}
|
||||
|
||||
//RESET: metodo che distrugge i due TAssoc_array e carica la coppia cliente - contratto
|
||||
bool TGiac_per_cli::reset(const TDocumento& doc)
|
||||
//PRESET: metodo che carica la coppia cliente - contratto
|
||||
bool TGiac_per_cli::preset(const TDocumento& doc)
|
||||
{
|
||||
//estraggo i dati di interesse dal documento
|
||||
_clifo = doc.get_long(DOC_CODCF);
|
||||
@ -133,6 +135,14 @@ bool TGiac_per_cli::reset(const TDocumento& doc)
|
||||
_year = doc.get_date(DOC_DATADOC).year();
|
||||
_indsped = doc.get_long(DOC_CODINDSP);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//RESET: metodo che distrugge i due TAssoc_array e carica la coppia cliente - contratto
|
||||
bool TGiac_per_cli::reset(const TDocumento& doc)
|
||||
{
|
||||
preset(doc);
|
||||
|
||||
//distruggo i due TAssoc_array
|
||||
_odierna.destroy();
|
||||
_temporanea.destroy();
|
||||
@ -254,6 +264,7 @@ int TGiac_per_cli::write_giac(const TMask& m)
|
||||
//costruttore
|
||||
TGiac_per_cli::TGiac_per_cli()
|
||||
{
|
||||
//estraggo i dati di interesse dal documento
|
||||
_clifo = 0;
|
||||
_cont = 0;
|
||||
_year = 0;
|
||||
@ -434,7 +445,12 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
doc.put(DOC_CODCF, codcf);
|
||||
doc.put(DOC_DATADOC, datadoc);
|
||||
doc.put(DOC_CODINDSP, indsped);
|
||||
doc.put(DOC_CODCONT, codcont);
|
||||
}
|
||||
|
||||
if (dmsk._stcodcf == codcf && dmsk._stcodcont == codcont && nrighe > 0)
|
||||
return true;
|
||||
@ -460,6 +476,11 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
rcont.set_var("#CODCF",codcf);
|
||||
rcont.set_var("#CODCONT",codcont);
|
||||
|
||||
//leggo dalla configurazione i codici magazzino e deposito standard
|
||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||
TString8 codmag;
|
||||
codmag << configlv->get("CODMAG") << configlv->get("CODMAGC");
|
||||
|
||||
//per ogni riga estraggo l'articolo, il relativo prezzo e l'eventaule sconto da applicare,
|
||||
//...riportati in bolla solo se necessario
|
||||
for (bool ok = rcont.move_first(); ok; ok = rcont.move_next())
|
||||
@ -488,6 +509,21 @@ bool TGestione_bolle_msk::lv_bolla_handler(TMask_field& f, KEY k)
|
||||
rdoc.put(RDOC_UMQTA,rcont.get(LVRCONDV_UM).as_string());
|
||||
rdoc.put(RDOC_CODAGG1,causale);
|
||||
rdoc.put(RDOC_CODIVA,anamag.get(ANAMAG_CODIVA));
|
||||
rdoc.put(RDOC_CODMAG, codmag);
|
||||
rdoc.put(RDOC_CODMAGC, codmag);
|
||||
|
||||
//gestione campi dotazione odierna e dotazione temporanea
|
||||
TGiac_per_cli& giac = gbapp().giacenza();
|
||||
giac.preset(doc);
|
||||
real dotod = giac.giac_att(rdoc, true);
|
||||
rdoc.put("DOTOD", dotod);
|
||||
|
||||
//scrivo la dotazione temporanea solo se esistono le date di dotazione temporanea e questa non è scaduta
|
||||
if (rdoc.get_date("DADATATMP").ok() && rdoc.get_date("ADATATMP").ok() && rdoc.get_date("ADATATMP") <= doc.get_date(DOC_DATADOC))
|
||||
{
|
||||
real dotmp = giac.giac_att(rdoc, false);
|
||||
rdoc.put("DOTMP", dotmp);
|
||||
}
|
||||
|
||||
//elaborazione per il prezzo: o lo prendo dalle righe contratto, o dall'anagrafica magazzino
|
||||
const TString& sconto = rcont.get(LVRCONDV_SCONTPERC).as_string();
|
||||
@ -690,8 +726,8 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
if (f.to_check(k, true))
|
||||
{
|
||||
TConfig* configlv = new TConfig(CONFIG_DITTA,"lv");
|
||||
TString4 codmagdef = configlv->get("CODMAG");
|
||||
TString4 coddepdef = configlv->get("CODMAGC"); //magazzino del circolante
|
||||
TString4 codmagdef = configlv->get("CODMAG"); //magazzino
|
||||
TString4 coddepdef = configlv->get("CODMAGC"); //magazzino del circolante (deposito)
|
||||
|
||||
//leggo la causale che ho scritto nella riga corrente dello sheet
|
||||
TString4 causale = f.get();
|
||||
@ -805,11 +841,13 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
if (cau.get_bool("B0"))
|
||||
{
|
||||
msk.field(FR_QTAGG1).enable(true);
|
||||
if (codmagcoll.blank())
|
||||
{
|
||||
codmagcoll = codmagdef;
|
||||
coddepcoll = coddepdef; //magazzino del circolante
|
||||
}
|
||||
|
||||
if (codmagcoll.blank())
|
||||
codmagcoll = codmagdef;
|
||||
|
||||
if (coddepcoll.blank())
|
||||
coddepcoll = coddepdef; //magazzino del circolante
|
||||
|
||||
msk.field(FR_CODMAGC).set(codmagcoll);
|
||||
msk.field(FR_CODDEPC).set(coddepcoll);
|
||||
}
|
||||
@ -825,12 +863,13 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
msk.field(FR_QTA).enable(true);
|
||||
if (codmag.blank())
|
||||
{
|
||||
codmag = codmagdef;
|
||||
codmag = codmagdef;
|
||||
|
||||
if (coddep.blank())
|
||||
coddep = coddepdef;
|
||||
}
|
||||
|
||||
msk.field(FR_CODMAG).set(codmag);
|
||||
msk.field(FR_CODDEP).set( coddep);
|
||||
msk.field(FR_CODDEP).set(coddep);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -843,6 +882,27 @@ bool TGestione_bolle_msk::lv_causale_handler(TMask_field& f, KEY k)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TGestione_bolle_msk::lv_codmag_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
bool ok = true;
|
||||
if (f.to_check(k,true))
|
||||
{
|
||||
TMask& msk = f.mask();
|
||||
const TString& causale = msk.get(FR_CAULAV);
|
||||
|
||||
if (causale.full())
|
||||
{
|
||||
switch(f.dlg())
|
||||
{
|
||||
case FR_CODMAG: ok = codmag_handler( f, k ); break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
//metodo che setta gli handler sui campi di riga
|
||||
void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index)
|
||||
{
|
||||
@ -852,6 +912,7 @@ void TGestione_bolle_msk::user_set_row_handler(TMask& rm, short field, int index
|
||||
case 4102: rm.set_handler(field, lv_consegnato_handler); break;
|
||||
case 4103: rm.set_handler(field, lv_codart_handler); break;
|
||||
case 4104: rm.set_handler(field, lv_causale_handler); break;
|
||||
case 4105: rm.set_handler(field, lv_codmag_handler); break;
|
||||
default : TDocumento_mask::user_set_row_handler(rm, field, index); break;
|
||||
}
|
||||
}
|
||||
@ -974,6 +1035,7 @@ void TGestione_bolle_app::init_insert_mode(TMask &m)
|
||||
_giac.reset(d);
|
||||
|
||||
mask.reset_var_mask();
|
||||
mask.first_focus(F_CODCF, false);
|
||||
|
||||
return TMotore_application::init_insert_mode(m);
|
||||
}
|
||||
|
@ -5,8 +5,9 @@ CAMPICALC=
|
||||
IMPONIBILE=IMPNS
|
||||
|
||||
[HANDLERS]
|
||||
NHANDLER = 4
|
||||
NHANDLER = 5
|
||||
1 = 133|4101
|
||||
2 = 112|4102
|
||||
3 = 105|4103
|
||||
4 = 152|4104
|
||||
4 = 152|4104
|
||||
5 = 103|4105
|
479
lv/verig21.uml
479
lv/verig21.uml
@ -1,50 +1,439 @@
|
||||
#include "..\ve\verigdef.h"
|
||||
#include "..\ve\verig.h"
|
||||
|
||||
#define FULL_SCREEN
|
||||
// else
|
||||
// #define MASK_WIDTH 60
|
||||
// #define MASK_HEIGHT 14
|
||||
//
|
||||
#define MASK_TITLE1 "Merce Lavanderie"
|
||||
#define PAGE_2
|
||||
TOOLBAR "" 0 0 0 2
|
||||
|
||||
DEFINE_FIELD(CODMAG)
|
||||
DEFINE_FIELD(DESMAG)
|
||||
DEFINE_FIELD(CODDEP)
|
||||
DEFINE_FIELD(DESDEP)
|
||||
DEFINE_FIELD(CODART)
|
||||
DEFINE_FIELD(DESCRART)
|
||||
DEFINE_FIELD(UMQTA)
|
||||
DEFINE_FIELD(QTA)
|
||||
F_POS(QTA, 21, 10,"Consegnato " )
|
||||
F_DEC(QTA, 0)
|
||||
DEFINE_FIELD(PREZZO)
|
||||
F_POS(PREZZO, 47, 9,"Prezzo " )
|
||||
DEFINE_FIELD(SCONTO)
|
||||
F_POS(SCONTO, 2, 11,"Sconto " )
|
||||
DEFINE_FIELD(PERCPROV)
|
||||
F_POS(PERCPROV, 42, 11,"Provvigione" )
|
||||
DEFINE_FIELD(CODIVA)
|
||||
DEFINE_FIELD(DESIVA)
|
||||
DEFINE_FIELD(CAULAV)
|
||||
F_POS(CAULAV, 47, 10,"Caus. Lavanderie " )
|
||||
DEFINE_FIELD(RITIRO)
|
||||
F_POS(RITIRO, 21, 9,"Ritirato " )
|
||||
F_DEC(RITIRO, 0)
|
||||
DEFINE_FIELD(NCOLLI)
|
||||
DEFINE_FIELD(PNETTO)
|
||||
DEFINE_FIELD(TARA)
|
||||
DEFINE_FIELD(DESCRCAUS)
|
||||
DEFINE_FIELD(CODMAGC)
|
||||
F_POS(CODMAGC, 2, 15,"Mag.Coll. ")
|
||||
DEFINE_FIELD(DESMAGC)
|
||||
F_POS(DESMAGC, 22, 15,"")
|
||||
DEFINE_FIELD(CODDEPC)
|
||||
F_POS(CODDEPC, 2, 16,"Deposito ")
|
||||
DEFINE_FIELD(DESDEPC)
|
||||
F_POS(DESDEPC, 22, 16,"")
|
||||
#define USR_PAGE_1 "..\lv\lvrig21.inc"
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -14 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -24 -1 ""
|
||||
END
|
||||
|
||||
#include "..\ve\verig.uml"
|
||||
BUTTON DLG_DELREC 10 2
|
||||
BEGIN
|
||||
PROMPT -34 -1 "Elimina"
|
||||
MESSAGE EXIT,K_DEL
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 10 2
|
||||
BEGIN
|
||||
PROMPT -44 -1 "~Collega"
|
||||
PICTURE BMP_LINK
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Merce Lavanderia" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
LIST FR_TIPORIGA 2 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Tipo riga "
|
||||
FIELD TIPORIGA
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 10
|
||||
BEGIN
|
||||
PROMPT 1 4 "@bArticolo"
|
||||
END
|
||||
|
||||
STRING FR_CODART 8
|
||||
BEGIN
|
||||
PROMPT 2 5 "Articolo "
|
||||
USE LF_ANAMAG KEY 1
|
||||
INPUT CODART FR_CODART
|
||||
DISPLAY "Codice@6" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT FR_CODART CODART
|
||||
OUTPUT FR_DESCRART DESCR
|
||||
FLAGS "U"
|
||||
FIELD CODART
|
||||
ADD RUN ve2 -3
|
||||
END
|
||||
|
||||
STRING FR_DESCRART 50
|
||||
BEGIN
|
||||
PROMPT 25 5 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR FR_DESCRART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice@8" CODART
|
||||
COPY OUTPUT FR_CODART
|
||||
ADD RUN ve2 -3
|
||||
FIELD DESCR
|
||||
END
|
||||
|
||||
STRING FR_HDESC 50
|
||||
BEGIN
|
||||
PROMPT 100 100 "Descrizione "
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR FR_HDESC
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
DISPLAY "Codice@20" CODART
|
||||
COPY OUTPUT FR_CODART
|
||||
END
|
||||
|
||||
STRING FR_CODARTMAG 20
|
||||
BEGIN
|
||||
PROMPT 200 7 ""
|
||||
FIELD CODARTMAG
|
||||
FLAGS "G"
|
||||
END
|
||||
|
||||
BOOLEAN FR_CHECKED
|
||||
BEGIN
|
||||
PROMPT 51 50 ""
|
||||
FIELD CHECKED
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING FR_LIV1 15
|
||||
BEGIN
|
||||
PROMPT 2 6 "Liv.Gia. "
|
||||
FLAGS "U"
|
||||
USE GCG
|
||||
JOIN FCG ALIAS 500 INTO CODTAB==CODTAB[1,1]
|
||||
INPUT CODTAB[1,1] "1"
|
||||
INPUT CODTAB[2,] FR_LIV1
|
||||
DISPLAY "Livello@20" 500@->S0
|
||||
DISPLAY "Gruppo@15" CODTAB[2,]
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FR_LIV1 CODTAB[2,]
|
||||
MESSAGE EMPTY RESET,FR_LIV2|RESET,FR_LIV3|RESET,FR_LIV4
|
||||
MESSAGE ENABLE,FR_LIV2
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FR_LIV2 15
|
||||
BEGIN
|
||||
PROMPT 28 6 ""
|
||||
FLAGS "U"
|
||||
USE GCG
|
||||
JOIN FCG ALIAS 500 INTO CODTAB==CODTAB[1,1]
|
||||
INPUT CODTAB[1,1] "2"
|
||||
INPUT CODTAB[2,] FR_LIV2
|
||||
DISPLAY "Livello@20" 500@->S0
|
||||
DISPLAY "Gruppo@15" CODTAB[2,]
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FR_LIV2 CODTAB[2,]
|
||||
MESSAGE EMPTY RESET,FR_LIV3|RESET,FR_LIV4
|
||||
MESSAGE ENABLE,FR_LIV3
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FR_LIV3 15
|
||||
BEGIN
|
||||
PROMPT 45 6 ""
|
||||
FLAGS "U"
|
||||
USE GCG
|
||||
JOIN FCG ALIAS 500 INTO CODTAB==CODTAB[1,1]
|
||||
INPUT CODTAB[1,1] "3"
|
||||
INPUT CODTAB[2,] FR_LIV3
|
||||
DISPLAY "Livello@20" 500@->S0
|
||||
DISPLAY "Gruppo@15" CODTAB[2,]
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FR_LIV3 CODTAB[2,]
|
||||
MESSAGE EMPTY RESET,FR_LIV4
|
||||
MESSAGE ENABLE,FR_LIV4
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FR_LIV4 15
|
||||
BEGIN
|
||||
PROMPT 62 6 ""
|
||||
FLAGS "U"
|
||||
USE GCG
|
||||
JOIN FCG ALIAS 500 INTO CODTAB==CODTAB[1,1]
|
||||
INPUT CODTAB[1,1] "4"
|
||||
INPUT CODTAB[2,] FR_LIV4
|
||||
DISPLAY "Livello@20" 500@->S0
|
||||
DISPLAY "Gruppo@15" CODTAB[2,]
|
||||
DISPLAY "Descrizione@30" S0
|
||||
OUTPUT FR_LIV4 CODTAB[2,]
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING FR_UMQTA 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "U.M. "
|
||||
USE LF_UMART KEY 2
|
||||
JOIN %UMS INTO CODTAB=UM
|
||||
INPUT CODART FR_CODARTMAG SE
|
||||
INPUT UM FR_UMQTA
|
||||
DISPLAY "Codice@20" UM
|
||||
DISPLAY "Descrizione@50" %UMS->S0
|
||||
OUTPUT FR_UMQTA UM
|
||||
FIELD UMQTA
|
||||
FLAG "U"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING FR_UMQTA2 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "U.M. "
|
||||
USE %UMS
|
||||
INPUT CODTAB FR_UMQTA2
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_UMQTA2 CODTAB
|
||||
FIELD UMQTA
|
||||
FLAG "U"
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
CURRENCY FR_PREZZO 15
|
||||
BEGIN
|
||||
PROMPT 13 7 "Prezzo "
|
||||
FLAGS "U"
|
||||
FIELD PREZZO
|
||||
END
|
||||
|
||||
STRING FR_SCONTO 15
|
||||
BEGIN
|
||||
PROMPT 38 7 "Sconto "
|
||||
FIELD SCONTO
|
||||
END
|
||||
|
||||
NUMBER FR_PERCPROV 5 2
|
||||
BEGIN
|
||||
PROMPT 65 7 "Provv. "
|
||||
FIELD PERCPROV
|
||||
END
|
||||
|
||||
STRING FR_CAULAV 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Cau. Lav. "
|
||||
USE &LVCAU
|
||||
INPUT CODTAB FR_CAULAV
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CAULAV CODTAB
|
||||
OUTPUT FR_FLCONS B1
|
||||
OUTPUT FR_FLRIT B0
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "U"
|
||||
FIELD CODAGG1
|
||||
END
|
||||
|
||||
BOOLEAN FR_FLCONS
|
||||
BEGIN
|
||||
PROMPT 50 50 "Flag consegnato"
|
||||
FLAGS "HG"
|
||||
END
|
||||
|
||||
BOOLEAN FR_FLRIT
|
||||
BEGIN
|
||||
PROMPT 50 50 "Flag ritirato"
|
||||
FLAGS "HG"
|
||||
END
|
||||
|
||||
NUMBER FR_RITIRO 6 0
|
||||
BEGIN
|
||||
PROMPT 20 8 "Ritirato "
|
||||
FIELD QTAGG1
|
||||
END
|
||||
|
||||
NUMBER FR_QTA 6 0
|
||||
BEGIN
|
||||
PROMPT 39 8 "Consegnato "
|
||||
FIELD QTA
|
||||
END
|
||||
|
||||
STRING FR_JOLLY1 6
|
||||
BEGIN
|
||||
PROMPT 2 9 "Dot. Od. "
|
||||
FIELD DOTOD
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING FR_JOLLY2 6
|
||||
BEGIN
|
||||
PROMPT 20 9 "Dot. Tem. "
|
||||
FIELD DOTMP
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
DATE FR_JOLLY3
|
||||
BEGIN
|
||||
PROMPT 40 9 "Inizio "
|
||||
FIELD DADATATMP
|
||||
END
|
||||
|
||||
DATE FR_JOLLY4
|
||||
BEGIN
|
||||
PROMPT 60 9 "Fine "
|
||||
FIELD ADATATMP
|
||||
END
|
||||
|
||||
NUMBER FR_NCOLLI 7
|
||||
BEGIN
|
||||
PROMPT 2 10 "N. Colli "
|
||||
FIELD NCOLLI
|
||||
END
|
||||
|
||||
NUMBER FR_TARA 15 2
|
||||
BEGIN
|
||||
PROMPT 25 10 "Tara "
|
||||
FIELD TARA
|
||||
END
|
||||
|
||||
NUMBER FR_PNETTO 6 2
|
||||
BEGIN
|
||||
PROMPT 60 10 "Peso netto "
|
||||
FIELD PNETTO
|
||||
END
|
||||
|
||||
STRING FR_CODIVA 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "IVA "
|
||||
USE %IVA
|
||||
INPUT CODTAB FR_CODIVA
|
||||
DISPLAY "Codice@20" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODIVA CODTAB
|
||||
OUTPUT FR_DESIVA S0
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 2
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODIVA
|
||||
END
|
||||
|
||||
STRING FR_DESIVA 50
|
||||
BEGIN
|
||||
PROMPT 13 12 ""
|
||||
USE %IVA KEY 2
|
||||
INPUT S0 FR_DESIVA
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice@20" CODTAB
|
||||
OUTPUT FR_CODIVA CODTAB
|
||||
OUTPUT FR_DESIVA S0
|
||||
END
|
||||
|
||||
STRING FR_TIPODET 1
|
||||
BEGIN
|
||||
PROMPT 67 12 "Indetr. "
|
||||
USE %DET
|
||||
INPUT CODTAB FR_TIPODET
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Tipo" I0
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_TIPODET CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 6
|
||||
BEGIN
|
||||
PROMPT 1 14 "@bMagazzino"
|
||||
END
|
||||
|
||||
STRING FR_CODMAG 4
|
||||
BEGIN
|
||||
PROMPT 2 15 "Magazzino "
|
||||
USE MAG SELECT CODTAB[4,5]==""
|
||||
INPUT CODTAB FR_CODMAG
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODMAG CODTAB
|
||||
OUTPUT FR_DESMAG S0
|
||||
WARNING "Magazzino assente"
|
||||
FLAGS "U"
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODMAG[1,3]
|
||||
END
|
||||
|
||||
STRING FR_DESMAG 50
|
||||
BEGIN
|
||||
PROMPT 26 15 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING FR_CODDEP 4
|
||||
BEGIN
|
||||
PROMPT 2 16 "Deposito "
|
||||
USE MAG SELECT (CODTAB[1,3]==#FR_CODMAG) && (CODTAB[4,5]!="")
|
||||
INPUT CODTAB[1,3] FR_CODMAG
|
||||
INPUT CODTAB[4,5] FR_CODDEP
|
||||
DISPLAY "Codice mag." CODTAB[1,3]
|
||||
DISPLAY "Codice dep." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODMAG CODTAB[1,3]
|
||||
OUTPUT FR_CODDEP CODTAB[4,5]
|
||||
OUTPUT FR_DESDEP S0
|
||||
MESSAGE DIRTY,FR_CODMAG|K_TAB,FR_CODMAG
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Deposito assente"
|
||||
FLAGS "U"
|
||||
FIELD CODMAG[4,5]
|
||||
END
|
||||
|
||||
STRING FR_DESDEP 50
|
||||
BEGIN
|
||||
PROMPT 26 16 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING FR_CODMAGC 4
|
||||
BEGIN
|
||||
PROMPT 2 17 "Magazzino Col. "
|
||||
COPY USE FR_CODMAG
|
||||
INPUT CODTAB FR_CODMAGC
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODMAGC CODTAB
|
||||
OUTPUT FR_DESMAGC S0
|
||||
WARNING "Magazzino assente"
|
||||
FLAGS "U"
|
||||
CHECKTYPE NORMAL
|
||||
FIELD CODMAGC[1,3]
|
||||
END
|
||||
|
||||
STRING FR_DESMAGC 50
|
||||
BEGIN
|
||||
PROMPT 26 17 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING FR_CODDEPC 4
|
||||
BEGIN
|
||||
PROMPT 2 18 "Deposito "
|
||||
USE MAG SELECT (CODTAB[1,3]==#FR_CODMAGC) && (CODTAB[4,5]!="")
|
||||
INPUT CODTAB[1,3] FR_CODMAGC
|
||||
INPUT CODTAB[4,5] FR_CODDEPC
|
||||
DISPLAY "Codice mag." CODTAB[1,3]
|
||||
DISPLAY "Codice dep." CODTAB[4,5]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT FR_CODMAGC CODTAB[1,3]
|
||||
OUTPUT FR_CODDEPC CODTAB[4,5]
|
||||
OUTPUT FR_DESDEPC S0
|
||||
MESSAGE DIRTY,FR_CODMAGC|K_TAB,FR_CODMAGC
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Deposito assente"
|
||||
FLAGS "U"
|
||||
FIELD CODMAGC[4,5]
|
||||
END
|
||||
|
||||
STRING FR_DESDEPC 50
|
||||
BEGIN
|
||||
PROMPT 26 18 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Analitica" 0 2 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 78 14
|
||||
BEGIN
|
||||
PROMPT 1 0 "Contabilita' analitica"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user