Patch level : 10.0 patch 590
Files correlati : lv1 lv1200a.msk Ricompilazione Demo : [ ] Commento : Aggiunta la stampa per cli - iti - aut a kg git-svn-id: svn://10.65.10.50/trunk@19974 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e57f1b6542
commit
6df636d4c6
@ -8,6 +8,7 @@ int main(int argc, char** argv)
|
|||||||
switch (r)
|
switch (r)
|
||||||
{
|
{
|
||||||
case 0: lv1100(argc, argv); break; // stampa buoni lv1100
|
case 0: lv1100(argc, argv); break; // stampa buoni lv1100
|
||||||
|
case 1: lv1200(argc, argv); break; // stampa buoni lv1100
|
||||||
default: lv1100(argc, argv); break; // stampa buoni lv1100
|
default: lv1100(argc, argv); break; // stampa buoni lv1100
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
1
lv/lv1.h
1
lv/lv1.h
@ -2,5 +2,6 @@
|
|||||||
#define __LV1_H
|
#define __LV1_H
|
||||||
|
|
||||||
int lv1100(int argc, char* argv[]);
|
int lv1100(int argc, char* argv[]);
|
||||||
|
int lv1200(int argc, char* argv[]);
|
||||||
|
|
||||||
#endif // __LV1_H
|
#endif // __LV1_H
|
||||||
|
193
lv/lv1200.cpp
Executable file
193
lv/lv1200.cpp
Executable file
@ -0,0 +1,193 @@
|
|||||||
|
#include <applicat.h>
|
||||||
|
#include <automask.h>
|
||||||
|
#include <execp.h>
|
||||||
|
#include <relation.h>
|
||||||
|
#include <reprint.h>
|
||||||
|
|
||||||
|
#include "lv1200a.h"
|
||||||
|
#include "../ve/velib.h"
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TStampa_a_kg_msk
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TStampa_a_kg_msk: public TAutomask
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
public:
|
||||||
|
TStampa_a_kg_msk();
|
||||||
|
};
|
||||||
|
|
||||||
|
TStampa_a_kg_msk::TStampa_a_kg_msk() : TAutomask("lv1200a") {}
|
||||||
|
|
||||||
|
bool TStampa_a_kg_msk::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TStampa_a_kg_set
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TStampa_a_kg_set : public TISAM_recordset
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
static bool status_filter(const TRelation* rel);
|
||||||
|
virtual void set_custom_filter(TCursor& cursor) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
TStampa_a_kg_set(const TMask& mask);
|
||||||
|
};
|
||||||
|
|
||||||
|
// Accetta solo i documenti stampabili in definitivo
|
||||||
|
bool TStampa_a_kg_set::status_filter(const TRelation* rel)
|
||||||
|
{
|
||||||
|
const TRectype& doc = rel->curr();
|
||||||
|
const char stato_attuale = doc.get_char(DOC_STATO);
|
||||||
|
if (stato_attuale <= ' ')
|
||||||
|
return true;
|
||||||
|
|
||||||
|
const TTipo_documento& tipo = cached_tipodoc(doc.get(DOC_TIPODOC));
|
||||||
|
if (stato_attuale == tipo.stato_finale_stampa())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
const TString& stati_stampa = tipo.stati_iniziali_stampa();
|
||||||
|
return stati_stampa.blank() || stati_stampa.find(stato_attuale) >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TStampa_a_kg_set::set_custom_filter(TCursor& cursor) const
|
||||||
|
{
|
||||||
|
cursor.set_filterfunction(status_filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
TStampa_a_kg_set::TStampa_a_kg_set(const TMask& mask) : TISAM_recordset("USE DOC")
|
||||||
|
{
|
||||||
|
const TDate data_from = mask.get_date(F_DATA_FROM);
|
||||||
|
TString query = "USE DOC \n"
|
||||||
|
"SELECT (BETWEEN(DATADOC,#DATA_FROM,#DATA_TO))"
|
||||||
|
"&&(BETWEEN(CODCF,#CODCF_FROM,#CODCF_TO))"
|
||||||
|
"&&(BETWEEN(G1:CODITI,#CODITI_FROM,#CODITI_TO))\n"
|
||||||
|
"JOIN CLIFO INTO TIPOCF=='C' CODCF==CODCF\n"
|
||||||
|
"JOIN %STD INTO CODTAB==STATO\n"
|
||||||
|
;
|
||||||
|
query << "FROM PROVV=\"D\" ANNO=" << data_from.year() << " CODNUM=\"" << mask.get(F_CODNUM) << "\"\n"
|
||||||
|
<< "TO PROVV=\"D\" ANNO=" << data_from.year() << " CODNUM=\"" << mask.get(F_CODNUM) << "\"\n";
|
||||||
|
set(query);
|
||||||
|
//inserire parametri filtri
|
||||||
|
set_var("#DATA_FROM", data_from);
|
||||||
|
set_var("#DATA_TO", mask.get_date(F_DATA_TO));
|
||||||
|
set_var("#CODCF_FROM", TVariant(mask.get(F_CODCF_FROM)));
|
||||||
|
set_var("#CODCF_TO", TVariant(mask.get(F_CODCF_TO)));
|
||||||
|
set_var("#CODITI_FROM", TVariant(mask.get(F_CODITI_FROM)));
|
||||||
|
set_var("#CODITI_TO", TVariant(mask.get(F_CODITI_TO)));
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TStampa_a_kg_app
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TStampa_a_kg_app: public TSkeleton_application
|
||||||
|
{
|
||||||
|
TStampa_a_kg_msk* _msk;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool create();
|
||||||
|
virtual bool destroy();
|
||||||
|
|
||||||
|
TISAM_recordset prepara_recordset() const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool transfer();
|
||||||
|
virtual void main_loop();
|
||||||
|
};
|
||||||
|
|
||||||
|
//CREATE: metodo costruttore
|
||||||
|
bool TStampa_a_kg_app::create()
|
||||||
|
{
|
||||||
|
_msk = new TStampa_a_kg_msk;
|
||||||
|
return TSkeleton_application::create();
|
||||||
|
}
|
||||||
|
|
||||||
|
//DESTROY: metodo distruttore
|
||||||
|
bool TStampa_a_kg_app::destroy()
|
||||||
|
{
|
||||||
|
delete _msk;
|
||||||
|
return TApplication::destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
//PREPARA_RECORDSET: metodo che estre tutte le righe documento in base ai criteri selezionati
|
||||||
|
TISAM_recordset TStampa_a_kg_app::prepara_recordset() const
|
||||||
|
{
|
||||||
|
const TString4 codnum = ini_get_string(CONFIG_DITTA, "lv", "NUM_GEN");
|
||||||
|
|
||||||
|
const int raggruppa = _msk->get_int(F_RAGX);
|
||||||
|
const bool datadog = _msk->get_int(F_DATADOG) == 0 ? true : false;
|
||||||
|
|
||||||
|
const TDate dadata = _msk->get_date(F_DADATA);
|
||||||
|
const TDate adata = _msk->get_date(F_ADATA);
|
||||||
|
|
||||||
|
const int daanno = dadata.year();
|
||||||
|
const int aanno = adata.year();
|
||||||
|
|
||||||
|
TString query;
|
||||||
|
query << "USE RDOC\n";
|
||||||
|
if(datadog)
|
||||||
|
query << "SELECT (BETWEEN(DATADOC,#DADATA,#ADATA))";
|
||||||
|
else
|
||||||
|
query << "SELECT (BETWEEN(33.G1:DATAGEN,#DADATA,#ADATA))";
|
||||||
|
query << "&&(33.TIPOCF=\"C\")";
|
||||||
|
switch(raggruppa)
|
||||||
|
{
|
||||||
|
case 1: query << "&&(BETWEEN(33.CODCF,#DACODCF,#ACODCF))\nBY 33.CODCF CODART\n"; break;
|
||||||
|
case 2: query << "&&(BETWEEN(33.G1:CODITI,#DAITI,#AITI)\nBY 33.G1:CODITI CODART\n"; break;
|
||||||
|
case 3: query << "&&(BETWEEN(33.CODAG,#DAAUT,#AAUT)\nBY 33.CODAG CODART\n"; break;
|
||||||
|
default: query << "\nBY CODART\n"; break;
|
||||||
|
}
|
||||||
|
query << "JOIN DOC INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC\n"
|
||||||
|
<< "FROM CODNUM=" << codnum << " ANNO=" << daanno << " PROVV=D\n"
|
||||||
|
<< "TO CODNUM=" << codnum << " ANNO=" << aanno << " PROVV=D\n";
|
||||||
|
|
||||||
|
TISAM_recordset righedoc(query);
|
||||||
|
righedoc.set_var("#DADATA", dadata);
|
||||||
|
righedoc.set_var("#ADATA", adata);
|
||||||
|
switch(raggruppa)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
righedoc.set_var("#DACODCF", _msk->get_long(F_DACODCF));
|
||||||
|
righedoc.set_var("#ACODCF", _msk->get_long(F_ACODCF));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
righedoc.set_var("#DAITI", _msk->get_long(F_DACODITI));
|
||||||
|
righedoc.set_var("#AITI", _msk->get_long(F_ACODITI));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
righedoc.set_var("#DAAUT", _msk->get_long(F_DACODAUT));
|
||||||
|
righedoc.set_var("#AAUT", _msk->get_long(F_ACODAUT));
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
return righedoc;
|
||||||
|
}
|
||||||
|
|
||||||
|
//TRANSFER: metodo principale dell'elaborazione, che non deve fare niente
|
||||||
|
//perchè viene tutto gestito nella maschera
|
||||||
|
bool TStampa_a_kg_app::transfer()
|
||||||
|
{
|
||||||
|
TISAM_recordset righedoc = prepara_recordset();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TStampa_a_kg_app::main_loop()
|
||||||
|
{
|
||||||
|
while (_msk->run() == K_ENTER)
|
||||||
|
transfer();
|
||||||
|
}
|
||||||
|
|
||||||
|
int lv1200(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
TStampa_a_kg_app a;
|
||||||
|
a.run (argc, argv, "Stampa a Kg");
|
||||||
|
return TRUE;
|
||||||
|
}
|
19
lv/lv1200a.h
Executable file
19
lv/lv1200a.h
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
//Definizione campi per maschera lv1200a
|
||||||
|
//Stampa Kg
|
||||||
|
|
||||||
|
#define F_DADATA 201
|
||||||
|
#define F_ADATA 202
|
||||||
|
#define F_DATADOG 203
|
||||||
|
#define F_RAGX 204
|
||||||
|
#define F_DACODCF 205
|
||||||
|
#define F_DARAGSOC 206
|
||||||
|
#define F_ACODCF 207
|
||||||
|
#define F_ARAGSOC 208
|
||||||
|
#define F_DACODITI 209
|
||||||
|
#define F_DADESITI 210
|
||||||
|
#define F_ACODITI 211
|
||||||
|
#define F_ADESITI 212
|
||||||
|
#define F_DACODAUT 213
|
||||||
|
#define F_DADESAUT 214
|
||||||
|
#define F_ACODAUT 215
|
||||||
|
#define F_ADESAUT 216
|
273
lv/lv1200a.uml
Executable file
273
lv/lv1200a.uml
Executable file
@ -0,0 +1,273 @@
|
|||||||
|
#include "lv1200a.h"
|
||||||
|
|
||||||
|
TOOLBAR "" 0 0 0 2
|
||||||
|
BUTTON DLG_PRINT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "~Stampa"
|
||||||
|
MESSAGE EXIT,K_ENTER
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_SETPRINT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 1 "~Imposta"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_PREVIEW 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 1 "~Anteprima"
|
||||||
|
PICTURE TOOL_PREVIEW
|
||||||
|
MESSAGE EXIT,65
|
||||||
|
END
|
||||||
|
#include <helpbar.h>
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Stampa a Kg" -1 -1 80 10
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 1 "@bIntervallo date"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DADATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Da data "
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_ADATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 25 2 "a data "
|
||||||
|
FLAGS "A"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
|
END
|
||||||
|
|
||||||
|
RADIOBUTTON F_DATADOG 1 78
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 4 "@bConsidera data..."
|
||||||
|
ITEM "0|Documento"
|
||||||
|
ITEM "1|Generazione"
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
RADIOBUTTON F_RAGX 1 78
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 7 "@bRaggruppa per..."
|
||||||
|
ITEM "0|Non raggruppare"
|
||||||
|
MESSAGE HIDE,1@|HIDE,2@|HIDE,3@
|
||||||
|
ITEM "1|Cliente"
|
||||||
|
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
|
||||||
|
ITEM "2|Itinerario"
|
||||||
|
MESSAGE HIDE,1@|SHOW,2@|HIDE,3@
|
||||||
|
ITEM "3|Autista"
|
||||||
|
MESSAGE HIDE,1@|HIDE,2@|SHOW,3@
|
||||||
|
FLAGS "Z"
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 4
|
||||||
|
BEGIN
|
||||||
|
PROPMT 1 11 "@bFiltro Cliente"
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_DACODCF 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Da Cliente "
|
||||||
|
FLAGS "U"
|
||||||
|
USE LF_CLIFO
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT CODCF F_DACODCF
|
||||||
|
DISPLAY "Codice " CODCF
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
OUTPUT F_DACODCF CODCF
|
||||||
|
OUTPUT F_DARAGSOC RAGSOC
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DARAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 12 ""
|
||||||
|
USE LF_CLIFO KEY 2
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT RAGSOC F_DARAGSOC
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
DISPLAY "Codice" CODCF
|
||||||
|
COPY OUTPUT F_DACODCF
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_ACODCF 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "a Cliente "
|
||||||
|
FLAGS "U"
|
||||||
|
USE LF_CLIFO
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT CODCF F_ACODCF
|
||||||
|
DISPLAY "Codice " CODCF
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
OUTPUT F_ACODCF CODCF
|
||||||
|
OUTPUT F_ARAGSOC RAGSOC
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ARAGSOC 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 13 ""
|
||||||
|
USE LF_CLIFO KEY 2
|
||||||
|
INPUT TIPOCF "C"
|
||||||
|
INPUT RAGSOC F_ARAGSOC
|
||||||
|
DISPLAY "Ragione sociale@50" RAGSOC
|
||||||
|
DISPLAY "Codice" CODCF
|
||||||
|
COPY OUTPUT F_ACODCF
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 1
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 4
|
||||||
|
BEGIN
|
||||||
|
PROPMT 1 11 "@bFiltro Itinerario"
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DACODITI 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Da iti. "
|
||||||
|
FLAGS "UZ"
|
||||||
|
USE &ITI
|
||||||
|
JOIN &AUT TO &ITI ALIAS 1000 INTO CODTAB==S1
|
||||||
|
JOIN &MEZ TO &ITI ALIAS 2000 INTO CODTAB==S2
|
||||||
|
INPUT CODTAB F_DACODITI
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Autista" S1
|
||||||
|
DISPLAY "Descrizione Autista@50" 1000@->S0
|
||||||
|
DISPLAY "Targa@8" S2
|
||||||
|
DISPLAY "Descrizione Mezzo@50" 2000@->S0
|
||||||
|
OUTPUT F_DACODITI CODTAB
|
||||||
|
OUTPUT F_DADESITI S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DADESITI 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 12 ""
|
||||||
|
USE &ITI KEY 2
|
||||||
|
INPUT S0 F_DADESITI
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
COPY OUTPUT F_DACODITI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ACODITI 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "A iti. "
|
||||||
|
FLAGS "UZ"
|
||||||
|
USE &ITI
|
||||||
|
JOIN &AUT TO &ITI ALIAS 1000 INTO CODTAB==S1
|
||||||
|
JOIN &MEZ TO &ITI ALIAS 2000 INTO CODTAB==S2
|
||||||
|
INPUT CODTAB F_ACODITI
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Autista" S1
|
||||||
|
DISPLAY "Descrizione Autista@50" 1000@->S0
|
||||||
|
DISPLAY "Targa@8" S2
|
||||||
|
DISPLAY "Descrizione Mezzo@50" 2000@->S0
|
||||||
|
OUTPUT F_ACODITI CODTAB
|
||||||
|
OUTPUT F_ADESITI S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ADESITI 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 13 ""
|
||||||
|
USE &ITI KEY 2
|
||||||
|
INPUT S0 F_ADESITI
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
COPY OUTPUT F_ACODITI
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 2
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 78 4
|
||||||
|
BEGIN
|
||||||
|
PROPMT 1 11 "@bFiltro Autista"
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DACODAUT 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 12 "Da autista "
|
||||||
|
FLAGS "UZ"
|
||||||
|
USE &ITI
|
||||||
|
JOIN &AUT TO &ITI ALIAS 1000 INTO CODTAB==S1
|
||||||
|
JOIN &MEZ TO &ITI ALIAS 2000 INTO CODTAB==S2
|
||||||
|
INPUT CODTAB F_DACODAUT
|
||||||
|
DISPLAY "Autista" S1
|
||||||
|
DISPLAY "Descrizione Autista@50" 1000@->S0
|
||||||
|
DISPLAY "Itinerario" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Targa@8" S2
|
||||||
|
DISPLAY "Descrizione Mezzo@50" 2000@->S0
|
||||||
|
OUTPUT F_DACODAUT S1
|
||||||
|
OUTPUT F_DADESAUT 1000@->S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_DADESAUT 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 12 ""
|
||||||
|
USE &AUT KEY 2
|
||||||
|
INPUT S0 F_DADESAUT
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
OUTPUT F_DACODAUT CODTAB
|
||||||
|
OUTPUT F_DADESAUT S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ACODAUT 6
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "A autista "
|
||||||
|
FLAGS "UZ"
|
||||||
|
USE &ITI
|
||||||
|
JOIN &AUT TO &ITI ALIAS 1000 INTO CODTAB==S1
|
||||||
|
JOIN &MEZ TO &ITI ALIAS 2000 INTO CODTAB==S2
|
||||||
|
INPUT CODTAB F_ACODAUT
|
||||||
|
DISPLAY "Autista" S1
|
||||||
|
DISPLAY "Descrizione Autista@50" 1000@->S0
|
||||||
|
DISPLAY "Itinerario" CODTAB
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Targa@8" S2
|
||||||
|
DISPLAY "Descrizione Mezzo@50" 2000@->S0
|
||||||
|
OUTPUT F_ACODAUT S1
|
||||||
|
OUTPUT F_ADESAUT 1000@->S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ADESAUT 50
|
||||||
|
BEGIN
|
||||||
|
PROMPT 23 13 ""
|
||||||
|
USE &AUT KEY 2
|
||||||
|
INPUT S0 F_DADESAUT
|
||||||
|
DISPLAY "Descrizione@50" S0
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
OUTPUT F_ACODAUT CODTAB
|
||||||
|
OUTPUT F_ADESAUT S0
|
||||||
|
CHECKTYPE NORMAL
|
||||||
|
GROUP 3
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user