Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@18007 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4412a81dec
commit
9e28cb7601
@ -13,5 +13,5 @@ int main(int argc, char** argv)
|
||||
case 4: lv0500(argc, argv); break; // passaggi planning per contratto lv0500 (e periodi di sospensione)
|
||||
default: lv0100(argc, argv); break; // gestione tabelle lv0100
|
||||
}
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
12
lv/lv0400d.h
Executable file
12
lv/lv0400d.h
Executable file
@ -0,0 +1,12 @@
|
||||
//Definizione campi per maschera lv0400D
|
||||
//Stampa Elenco Clienti per Articolo
|
||||
#define F_CODART 201
|
||||
#define F_DESART 202
|
||||
#define F_CODCF_DA 203
|
||||
#define F_RAGSOC_DA 204
|
||||
#define F_CODCF_A 205
|
||||
#define F_RAGSOC_A 206
|
||||
#define F_PREZZO_DA 207
|
||||
#define F_PREZZO_A 208
|
||||
#define F_ZONA 209
|
||||
#define F_DESZONA 210
|
82
lv/lv0400d.rep
Executable file
82
lv/lv0400d.rep
Executable file
@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="lv0400d" orientation="2" lpi="6" command="lv0 -1 lv0400d">
|
||||
<description>Stampa Elenco Clienti per Articolo</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head" height="7.5">
|
||||
<field x="1" y="0.93" type="Testo" width="12" height="1.5" pattern="1" text="Data elab. :" />
|
||||
<field x="13.5" y="0.93" type="Stringa" width="12" height="1.5" pattern="1">
|
||||
<prescript>MESSAGE _TODAY</prescript>
|
||||
</field>
|
||||
<field x="104.87" y="0.93" type="Testo" width="5" height="1.5" pattern="1" text="Pag." />
|
||||
<field x="110" y="0.93" type="Stringa" width="10" height="1.5" pattern="1">
|
||||
<prescript>MESSAGE _PAGENO</prescript>
|
||||
</field>
|
||||
<field x="36.5" y="1" type="Testo" align="center" width="55" height="2" pattern="1" text="Stampa Elenco Clienti per Articolo">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
</field>
|
||||
<field border="2" y="3" type="Linea" width="120" height="0" pattern="1" />
|
||||
<field x="1" y="4" type="Testo" width="10" pattern="1" text="Articolo:">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="10.5" y="4" type="Stringa" width="25" pattern="1">
|
||||
<font face="Courier New" bold="1" size="11" />
|
||||
<source>#F_CODART_TO</source>
|
||||
</field>
|
||||
<field x="36" y="4" type="Testo" width="13" pattern="1" text="Descrizione:">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="48.5" y="4" type="Stringa" width="60" pattern="1">
|
||||
<font face="Courier New" bold="1" size="11" />
|
||||
<source>#F_DESART_TO</source>
|
||||
</field>
|
||||
<field x="1" y="6" type="Testo" width="7" pattern="1" text="Cliente">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="10" y="6" type="Testo" width="20" pattern="1" text="Ragione Sociale">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="53" y="6" type="Testo" width="8" pattern="1" text="Prezzo">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="63" y="6" type="Testo" width="9" pattern="1" text="Minimo">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="75" y="6" type="Testo" width="12" pattern="1" text="Dot.Odierna">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="92" y="6" type="Testo" width="9" pattern="1" text="Mese">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field x="107" y="6" type="Testo" width="5" pattern="1" text="Anno">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</field>
|
||||
<field border="2" y="7" type="Linea" width="120" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1" height="1">
|
||||
<field x="2" type="Numero" align="right" width="6" pattern="1">
|
||||
<source>169.CODCF</source>
|
||||
</field>
|
||||
<field x="9.5" type="Stringa" width="30" pattern="1">
|
||||
<source>1000@.RAGSOC</source>
|
||||
</field>
|
||||
<field x="42" type="Numero" align="right" width="18" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<source>169.PREZZO</source>
|
||||
</field>
|
||||
<field x="64.5" type="Numero" align="right" width="4" pattern="1" hide_zero="1">
|
||||
<source>169.MINCIC</source>
|
||||
</field>
|
||||
<field x="71.5" type="Numero" align="right" width="15" pattern="1" hide_zero="1">
|
||||
<source>169.DOTIN</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" />
|
||||
<section type="Foot" level="1" />
|
||||
<sql>USE 169 KEY 1
|
||||
SELECT (CODART==#F_CODART_TO)(BETWEEN(17.CODZONA,#F_ZONA_FROM,#F_ZONA_FROM))(STR((PREZZOE;=#F_PREZZO_FROM))(PREZZOC;=IF(#F_PREZZO_TO==0,999999999999999999,#F_PREZZO_TO))))
|
||||
JOIN 20 TO 169 ALIAS 1000 INTO TIPOCF=="C" CODCF==CODCF
|
||||
JOIN 17 TO 169 ALIAS 2000 INTO TIPOCF=="C" CODCF==CODCF
|
||||
FROM CODCF=#F_CODCF_FROM
|
||||
TO CODCF=#F_CODCF_TO</sql>
|
||||
</report>
|
154
lv/lv0400d.uml
Executable file
154
lv/lv0400d.uml
Executable file
@ -0,0 +1,154 @@
|
||||
#include "lv0400d.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include "printbar.h"
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa Elenco Clienti per Articolo" -1 -1 40 5
|
||||
|
||||
GROUPBOX DLG_NULL 80 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "@b Parametri Articolo"
|
||||
END
|
||||
|
||||
STRING F_CODART 20
|
||||
BEGIN
|
||||
PROMPT 2 3 "Articolo "
|
||||
FLAG "U"
|
||||
USE 47
|
||||
INPUT CODART F_CODART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPAY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART CODART
|
||||
OUTPUT F_DESART DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD #F_CODART_TO
|
||||
END
|
||||
|
||||
STRING F_DESART 50
|
||||
BE
|
||||
PR 2 4 "Descrizione"
|
||||
USE 47 KEY 2
|
||||
INPUT DESCR F_DESART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPALY "Descrizione@50" DESCR
|
||||
OUTPUT F_CODART CODART
|
||||
OUTPUT F_DESART DESCR
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD #F_DESART_TO
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 80 4
|
||||
BEGIN
|
||||
PROMPT 1 7 "@b Parametri Cliente"
|
||||
END
|
||||
|
||||
NUMBER F_CODCF_DA 6
|
||||
BEGIN
|
||||
PROMPT 2 8 "Da Cliente "
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CODCF_DA
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_CODCF_DA CODCF
|
||||
OUTPUT F_RAGSOC_DA RAGSOC
|
||||
FIELD #F_CODCF_FROM
|
||||
END
|
||||
|
||||
STRING F_RAGSOC_DA 50
|
||||
BEGIN
|
||||
PROMPT 25 8 ""
|
||||
KEY 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_RAGSOC_DA
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
OUTPUT F_CODCF_DA CODCF
|
||||
OUTPUT F_RAGSOC_DA RAGSOC
|
||||
END
|
||||
|
||||
NUMBER F_CODCF_A 6
|
||||
BEGIN
|
||||
PROMPT 2 9 "A Cliente "
|
||||
FLAGS "U"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CODCF_A
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT F_CODCF_A CODCF
|
||||
OUTPUT F_RAGSOC_A RAGSOC
|
||||
FIELD #F_CODCF_TO
|
||||
END
|
||||
|
||||
STRING F_RAGSOC_A 50
|
||||
BEGIN
|
||||
PROMPT 25 9 ""
|
||||
KEY 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_RAGSOC_A
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
OUTPUT F_CODCF_A CODCF
|
||||
OUTPUT F_RAGSOC_A RAGSOC
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 80 3
|
||||
BEGIN
|
||||
PROMPT 1 12 "@b Parametri Prezzo"
|
||||
END
|
||||
|
||||
CURRENCY F_PREZZO_DA 18
|
||||
BEGIN
|
||||
PROMPT 2 13 "Da Prezzo "
|
||||
FLAGS "U"
|
||||
FIELD #F_PREZZO_FROM
|
||||
END
|
||||
|
||||
CURRENCY F_PREZZO_A 18
|
||||
BEGIN
|
||||
PROMPT 40 13 "A Prezzo"
|
||||
FLAGS "U"
|
||||
FIELD #F_PREZZO_TO
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 80 3
|
||||
BEGIN
|
||||
PROMPT 1 16 "@b Parametri Zona"
|
||||
END
|
||||
|
||||
STRING F_ZONA 2
|
||||
BEGIN
|
||||
PROMPT 2 17 "Codice Zona"
|
||||
USE ZON
|
||||
INPUT CODTAB F_ZONA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ZONA CODTAB
|
||||
OUTPUT F_DESZONA S0
|
||||
CHECKTYPE NORMAL
|
||||
FIELD #F_ZONA_FROM
|
||||
END
|
||||
|
||||
STRING F_DESZONA 50
|
||||
BEGIN
|
||||
PROMPT 20 17 ""
|
||||
USE ZON KEY 2
|
||||
INPUT CODTAB F_ZONA
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_ZONA CODTAB
|
||||
OUTPUT F_DESZONA S0
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
@ -9,7 +9,7 @@ int main(int argc, char** argv)
|
||||
{
|
||||
case 0: lv2100(argc, argv); break; //generazione automatica del planning
|
||||
case 1: lv2200(argc, argv); break; //manipolazione e stampa del planning
|
||||
//case 2: lv2300(argc, argv); break; //POSTO LIBERO
|
||||
case 2: lv2300(argc, argv); break; //Stampa Giri Giornaliero/Settimanale
|
||||
case 3: lv2400(argc, argv); break; //generazione automatica bolle di consegna
|
||||
case 4: lv2600(argc, argv); break; //acquisizione bolle di rientro
|
||||
default: lv2100(argc, argv); break; //generazione automatica del planning
|
||||
|
154
lv/lv2200z.rep
Executable file
154
lv/lv2200z.rep
Executable file
@ -0,0 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="lv2200z" orientation="1" lpi="6" command="lv0 -1 lv2200z">
|
||||
<description>Stampa Giri Giornaliero</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field y="1" type="Testo" width="12" height="1.5" pattern="1" text="Data elab. :" />
|
||||
<field x="12.5" y="1" type="Stringa" width="12" height="1.5" pattern="1">
|
||||
<prescript description="H0.0 PRESCRIPT">MESSAGE _TODAY</prescript>
|
||||
</field>
|
||||
<field x="27.5" y="1" type="Testo" align="center" width="45" height="1.5" pattern="1" text="Stampa Giro Giornaliero">
|
||||
<font face="Courier New" bold="1" size="12" />
|
||||
</field>
|
||||
<field x="79.87" y="1.12" type="Testo" width="5" height="1.5" pattern="1" text="Pag." />
|
||||
<field x="85" y="1.12" type="Stringa" width="10" height="1.5" pattern="1">
|
||||
<prescript description="H0.0 PRESCRIPT">MESSAGE _PAGENO</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section type="Head" level="2" height="10" page_break="1">
|
||||
<groupby>DTCONS+CODITI</groupby>
|
||||
<field x="68" y="0.31" type="Array" width="25" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>167.GGCONS</source>
|
||||
<list>
|
||||
<li Value="Luned&#EC;" Code="1" />
|
||||
<li Value="Marted&#EC;" Code="2" />
|
||||
<li Value="Mercoled&#EC;" Code="3" />
|
||||
<li Value="Gioved&#EC;" Code="4" />
|
||||
<li Value="Venerd&#EC;" Code="5" />
|
||||
<li Value="Sabato" Code="6" />
|
||||
<li Value="Domenica" Code="7" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="0.5" y="0.37" type="Numero" align="right" width="10" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>167.CODITI</source>
|
||||
</field>
|
||||
<field x="11.5" y="0.37" type="Stringa" width="50" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>300@.S0</source>
|
||||
</field>
|
||||
<field x="0.5" y="2.24" type="Stringa" width="10" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>167.CODAUT</source>
|
||||
</field>
|
||||
<field x="11.5" y="2.24" type="Stringa" width="50" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>301@.S0</source>
|
||||
</field>
|
||||
<field x="68" y="2.31" type="Data" width="16" height="1.5" pattern="1">
|
||||
<font face="Courier New" bold="1" size="14" />
|
||||
<source>DTCONS</source>
|
||||
</field>
|
||||
<field border="1" x="0.5" y="4" type="Rettangolo" width="92.5" height="3" pattern="1" />
|
||||
<field border="1" x="51.5" y="4" type="Linea" height="2.95" pattern="1" />
|
||||
<field border="1" x="72" y="4" type="Linea" height="2.95" pattern="1" />
|
||||
<field x="72" y="4" type="Linea" height="2.95" pattern="1" />
|
||||
<field x="51.5" y="4.06" type="Linea" height="2.95" pattern="1" />
|
||||
<field x="52" y="4.56" type="Testo" width="13" pattern="1" text="KM. PARTENZA:" />
|
||||
<field x="72.5" y="4.56" type="Testo" width="13" pattern="1" text="ORA PARTENZA:" />
|
||||
<field x="1.5" y="4.81" type="Stringa" width="50" pattern="1">
|
||||
<source>302@.S0</source>
|
||||
</field>
|
||||
<field border="1" x="65" y="5.25" type="Linea" width="6" height="0" pattern="1" />
|
||||
<field border="1" x="86" y="5.25" type="Linea" width="6" height="0" pattern="1" />
|
||||
<field x="1.5" y="5.81" type="Testo" width="7" pattern="1" text="TARGA" />
|
||||
<field x="8.5" y="5.81" type="Stringa" width="40" pattern="1">
|
||||
<source>167.CODMEZ</source>
|
||||
</field>
|
||||
<field x="52" y="5.81" type="Testo" width="13" pattern="1" text="KM. ARRIVO :" />
|
||||
<field x="72.5" y="5.81" type="Testo" width="13" pattern="1" text="ORA ARRIVO :" />
|
||||
<field border="1" x="65" y="6.5" type="Linea" width="6" height="0" pattern="1" />
|
||||
<field border="1" x="86" y="6.5" type="Linea" width="6" height="0" pattern="1" />
|
||||
<field border="1" x="0.5" y="8" type="Rettangolo" width="92.5" height="2" pattern="1" />
|
||||
<field border="1" x="6.5" y="8" type="Linea" height="1.95" pattern="1" />
|
||||
<field x="57" y="8" type="Testo" align="center" width="9" pattern="1" text="MODALITA'" />
|
||||
<field border="1" x="66.25" y="8" type="Linea" height="2" pattern="1" />
|
||||
<field x="66.5" y="8" type="Testo" width="15" height="1.5" pattern="1" text="BOLLE CONS." />
|
||||
<field border="1" x="13.5" y="8.06" type="Linea" height="1.95" pattern="1" />
|
||||
<field border="1" x="31.37" y="8.06" type="Linea" height="1.95" pattern="1" />
|
||||
<field border="1" x="56.75" y="8.06" type="Linea" height="1.95" pattern="1" />
|
||||
<field border="1" x="81.5" y="8.06" type="Linea" height="1.95" pattern="1" />
|
||||
<field x="81.75" y="8.06" type="Testo" width="10" pattern="1" text="PROSSIMA" />
|
||||
<field x="1.12" y="8.31" type="Testo" align="right" width="5" pattern="1" text="FERM." />
|
||||
<field x="7" y="8.31" type="Testo" align="right" width="6" pattern="1" text="CODICE" />
|
||||
<field x="14.12" y="8.31" type="Testo" width="17" pattern="1" text="RAGIONE SOCIALE " />
|
||||
<field x="31.5" y="8.31" type="Testo" width="25" pattern="1" text="LOCALITA'" />
|
||||
<field x="14.12" y="9" type="Testo" width="17" pattern="1" text="CLIENTE" />
|
||||
<field x="57" y="9" type="Testo" align="center" width="9" pattern="1" text="PASSAGGIO" />
|
||||
<field x="81.75" y="9.06" type="Testo" width="10.5" pattern="1" text="CONSEGNA" />
|
||||
</section>
|
||||
<section type="Body">
|
||||
<field y="197" type="Numero" align="right" width="3" pattern="1">
|
||||
<source>CODITI</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" level="1">
|
||||
<field border="1" x="92.9" y="-0.07" type="Linea" height="4" pattern="1" />
|
||||
<field border="1" x="0.5" type="Linea" height="4" pattern="1" />
|
||||
<field x="1" type="Numero" align="right" width="5" pattern="1" hide_zero="1">
|
||||
<source>167.ORDFER</source>
|
||||
</field>
|
||||
<field border="1" x="6.5" type="Linea" height="4" pattern="1" />
|
||||
<field x="7" type="Numero" align="right" width="6" pattern="1">
|
||||
<source>167.CODCF</source>
|
||||
</field>
|
||||
<field border="1" x="13.5" type="Linea" height="4" pattern="1" />
|
||||
<field x="14" type="Stringa" width="17" height="3" pattern="1">
|
||||
<source>303@.RAGSOC</source>
|
||||
</field>
|
||||
<field border="1" x="31.37" type="Linea" height="4" pattern="1" />
|
||||
<field x="31.5" type="Stringa" width="25" height="2" pattern="1">
|
||||
<source>IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA)</source>
|
||||
</field>
|
||||
<field border="1" x="56.75" type="Linea" height="4" pattern="1" />
|
||||
<field x="57" type="Array" align="center" width="9" pattern="1">
|
||||
<source>167.MODPASS</source>
|
||||
<list>
|
||||
<li Value="ENTRAMBI" Code=" " />
|
||||
<li Value="ENTRAMBI" Code="E" />
|
||||
<li Value="CONSEGNA" Code="C" />
|
||||
<li Value="RITIRO" Code="R" />
|
||||
</list>
|
||||
</field>
|
||||
<field border="1" x="66.25" type="Linea" height="4" pattern="1" />
|
||||
<field x="66.5" type="Stringa" width="15" pattern="1">
|
||||
<source>167.CODNUM</source>
|
||||
</field>
|
||||
<field border="1" x="81.5" type="Linea" height="4" pattern="1" />
|
||||
<field x="81.75" type="Stringa" width="10" pattern="1">
|
||||
<source>#NEXTCONS</source>
|
||||
</field>
|
||||
<field x="31.5" y="2" type="Stringa" width="25" height="2" pattern="1">
|
||||
<source>IF(304@.CODINDSP= "0";303@.CIVCF+','+303@.INDCF;305@.CIV+','+305@.INDIR)</source>
|
||||
</field>
|
||||
<field x="66.5" y="2" type="Numero" align="right" width="13" pattern="1" hide_zero="1">
|
||||
<source>167.NDOC</source>
|
||||
</field>
|
||||
<field border="1" x="0.5" y="4" type="Linea" width="92.4" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Foot" />
|
||||
<section type="Foot" level="1" />
|
||||
<section type="Foot" level="2" />
|
||||
<sql>USE 167 KEY 2
|
||||
SELECT (BETWEEN(CODITI,#FROM_CODITI,#TO_CODITI))(BETWEEN(CODAUT,#FROM_CODAUT,#TO_CODAUT))(BETWEEN(CODCF,#FROM_CODCF,#TO_CODCF))
|
||||
JOIN ITI ALIAS 300 INTO CODTAB==CODITI
|
||||
JOIN AUT TO 167 ALIAS 301 INTO CODTAB==CODAUT
|
||||
JOIN MEZ TO 167 ALIAS 302 INTO CODTAB==CODMEZ
|
||||
JOIN 20 TO 167 ALIAS 303 INTO TIPOCF=="C" CODCF==CODCF
|
||||
JOIN 168 TO 167 ALIAS 304 INTO CODCONT==CODCONT CODCF==CODCF
|
||||
JOIN 16 TO 168 ALIAS 305 INTO TIPOCF=="C" CODCF==CODCF CODIND==CODINDSP
|
||||
FROM DTCONS=#FROM_DATA
|
||||
TO DTCONS=#TO_DATA</sql>
|
||||
</report>
|
311
lv/lv2300.cpp
311
lv/lv2300.cpp
@ -1,9 +1,310 @@
|
||||
#include "lv0.h"
|
||||
#include <Textset.h>
|
||||
#include <Applicat.h>
|
||||
#include <Automask.h>
|
||||
#include <Reprint.h>
|
||||
#include "lv0.h"
|
||||
#include "lv2300a.h"
|
||||
|
||||
class TGiri_recordset: public TCSV_recordset
|
||||
{
|
||||
public:
|
||||
TGiri_recordset(): TCSV_recordset("CSV(\"\t\")") {}
|
||||
};
|
||||
|
||||
//Variabili del singolo giorno contrenenti il codice cliente;
|
||||
//ordine fermata e eventualmente l'ora
|
||||
struct TPassaggio: public TObject
|
||||
{
|
||||
|
||||
long _codcf;
|
||||
int _ordfer;
|
||||
int _ora;
|
||||
TString _iter;
|
||||
TPassaggio():_codcf(0),_ordfer(0),_ora(0),_iter("") {}
|
||||
TPassaggio(long codcf, int ordfer, int ora, TString iter):_codcf(codcf),_ordfer(ordfer),_ora(ora),_iter(iter) {}
|
||||
};
|
||||
|
||||
class TPassaggi: public TArray
|
||||
{
|
||||
int _count;
|
||||
public:
|
||||
void add(TPassaggio* p);
|
||||
TPassaggio& passaggio(int p);
|
||||
};
|
||||
|
||||
TPassaggio& TPassaggi:: passaggio(int p)
|
||||
{
|
||||
TPassaggio* h = (TPassaggio*)objptr(p);
|
||||
|
||||
if(h==NULL)
|
||||
{
|
||||
h = new TPassaggio();
|
||||
TArray::add(h,p);
|
||||
}
|
||||
return *h;
|
||||
}
|
||||
|
||||
void TPassaggi::add(TPassaggio* p)
|
||||
{
|
||||
const int of = p->_ordfer;
|
||||
if(of>0 && of<1000)
|
||||
{
|
||||
int first=0;
|
||||
int last=_count-1;
|
||||
int guess=0;
|
||||
while(first<=last)
|
||||
{
|
||||
guess=(first+last)/2;
|
||||
TPassaggio& h = passaggio(guess);
|
||||
if(h._ordfer==p->_ordfer)
|
||||
break;
|
||||
|
||||
if(h._ordfer>p->_ordfer)
|
||||
{
|
||||
last=guess-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
first=guess+1;
|
||||
}
|
||||
}
|
||||
TArray::insert(p,guess);
|
||||
_count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
TArray::add(p);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*Tutti i passaggi settimanali di un singolo itinerario*/
|
||||
class TSettimana: public TArray
|
||||
{
|
||||
public:
|
||||
void add(int g,TPassaggio* p);
|
||||
TPassaggio& passaggio(int g, int p);//giorno, fermata
|
||||
int passaggi(int g) const;
|
||||
int passaggi() const;
|
||||
TSettimana():TArray(7){}//7 gg = settimana
|
||||
};
|
||||
|
||||
//Tutti i records all'interno del giorno
|
||||
int TSettimana::passaggi(int g) const
|
||||
{
|
||||
int n=0;
|
||||
TArray* p= (TArray* ) objptr(g);
|
||||
if(p!=NULL) n=p->items();
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
//Ritorno il numero di elementi con + passaggi
|
||||
int TSettimana::passaggi() const
|
||||
{
|
||||
int n=0;
|
||||
FOR_EACH_ARRAY_ITEM((*this), i, obj)
|
||||
{
|
||||
TArray* p = (TArray*) obj;
|
||||
const int e = p->items();
|
||||
if(e>n) n=e;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
void TSettimana::add(int g,TPassaggio* p)
|
||||
{
|
||||
TPassaggi* a= (TPassaggi*) objptr(g);
|
||||
if(a==NULL)
|
||||
{
|
||||
a=new TPassaggi();
|
||||
TArray::add(a,g);
|
||||
}
|
||||
a->add(p);
|
||||
|
||||
}
|
||||
|
||||
TPassaggio& TSettimana ::passaggio(int g,int p)
|
||||
{
|
||||
TPassaggi* a= (TPassaggi*) objptr(g);
|
||||
if(a==NULL)
|
||||
{
|
||||
a=new TPassaggi();
|
||||
TArray::add(a,g);
|
||||
}
|
||||
return a->passaggio(p);
|
||||
}
|
||||
|
||||
|
||||
class TItinerari: public TArray
|
||||
{
|
||||
public:
|
||||
void add(long i,int g,TPassaggio* p);
|
||||
void add(long i,int g,long codcf, int ordfer, int ora,TString iter);
|
||||
TSettimana& settimana(long codIti);
|
||||
};
|
||||
|
||||
void TItinerari::add(long i,int g,TPassaggio* p)
|
||||
{
|
||||
settimana(i).add(g,p);
|
||||
}
|
||||
|
||||
void TItinerari::add(long i,int g,long codcf, int ordfer, int ora, TString iter)
|
||||
{
|
||||
TPassaggio* p = new TPassaggio(codcf,ordfer,ora,iter);
|
||||
add(i,g,p);
|
||||
}
|
||||
TSettimana& TItinerari::settimana(long codIti)
|
||||
{
|
||||
TSettimana* a = (TSettimana* ) objptr(codIti);
|
||||
if(a==NULL)
|
||||
{
|
||||
a = new TSettimana();
|
||||
TArray::add(a,codIti);
|
||||
}
|
||||
return *a;
|
||||
}
|
||||
|
||||
class TGiri_mask: public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
public:
|
||||
TGiri_mask():TAutomask("lv2300a"){}
|
||||
};
|
||||
|
||||
bool TGiri_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
class TGiri_report : public TReport
|
||||
{
|
||||
protected:
|
||||
virtual bool use_mask() { return false; }
|
||||
|
||||
public:
|
||||
TGiri_report(bool settimanale) { load(settimanale ? "lv2300a" : "lv2200z"); }
|
||||
};
|
||||
|
||||
class TGiri_app: public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
void elabora(const TMask& mask) const;
|
||||
};
|
||||
|
||||
void TGiri_app:: elabora(const TMask& mask)const
|
||||
{
|
||||
TISAM_recordset giri("USE LVRCONSPLAN KEY 2\n"
|
||||
"SELECT (BETWEEN(CODITI,#FROM_CODITI,#TO_CODITI))"
|
||||
"&&(BETWEEN(CODCF,#FROM_CODCF,#TO_CODCF))"
|
||||
"&&(BETWEEN(CODAUT,#FROM_CODAUT,#TO_CODAUT))\n"
|
||||
"FROM DTCONS=#FROM_DATA\n "
|
||||
"TO DTCONS=#TO_DATA"
|
||||
);
|
||||
|
||||
//inserire parametri filtri
|
||||
giri.set_var("#FROM_DATA",mask.get_date(F_DATA_FROM));
|
||||
giri.set_var("#TO_DATA",mask.get_date(F_DATA_TO));
|
||||
giri.set_var("#FROM_CODITI", TVariant(mask.get(F_CODITI_FROM)));
|
||||
giri.set_var("#TO_CODITI",TVariant(mask.get(F_CODITI_TO)));
|
||||
giri.set_var("#FROM_CODAUT",TVariant(mask.get(F_CODAUT_FROM)));
|
||||
giri.set_var("#TO_CODAUT",TVariant(mask.get(F_CODAUT_TO)));
|
||||
giri.set_var("#FROM_CODCF",TVariant(mask.get(F_CODCF_FROM)));
|
||||
giri.set_var("#TO_CODCF",TVariant(mask.get(F_CODCF_TO)));
|
||||
|
||||
TItinerari iti;
|
||||
|
||||
for(bool ok = giri.move_first();ok;ok=giri.move_next())
|
||||
{
|
||||
TDate giorno = giri.get("DTCONS").as_date();
|
||||
int wday = giorno.wday();//1=lunedì
|
||||
long itinerario=giri.get("CODITI").as_int();
|
||||
TString iter=giri.get("CODITI").as_string();
|
||||
long cliente=giri.get("CODCF").as_int();
|
||||
int ordfer=giri.get("ORDFER").as_int();
|
||||
int ora = 0;//in attesa che venga inserito
|
||||
|
||||
iti.add(itinerario,wday,cliente,ordfer,ora,iter);
|
||||
}
|
||||
|
||||
|
||||
TGiri_report r(true);
|
||||
TGiri_recordset* giri_set = new TGiri_recordset();
|
||||
r.set_recordset(giri_set);
|
||||
FOR_EACH_ARRAY_ITEM(iti,i,obj)//scandisce itinerario e tiene
|
||||
//buoni solo quelli valorizzati
|
||||
{
|
||||
TSettimana& s = *(TSettimana*) obj;
|
||||
const int max = s.passaggi();
|
||||
|
||||
for(int j=0; j<max;j++)
|
||||
{
|
||||
giri_set->new_rec();
|
||||
|
||||
TString4 str_iti;
|
||||
str_iti.format("%03d", i);
|
||||
giri_set->set(0,TVariant(str_iti));
|
||||
|
||||
for(int g=1; g<=7;g++)
|
||||
{
|
||||
const TPassaggio& pass = s.passaggio(g,j);
|
||||
const int column = (g-1)*3+1;
|
||||
|
||||
giri_set->set(column,pass._codcf);
|
||||
giri_set->set(column + 1,TVariant(long (pass._ordfer)));
|
||||
giri_set->set(column + 2,TVariant(long (pass._ora)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//carica tuute le variabili del report.
|
||||
r.mask2report(mask);
|
||||
|
||||
TReport_book b;
|
||||
bool ok = b.add(r);// Richiede parametri di stampa in base alla maschera omonima
|
||||
if (ok)
|
||||
{
|
||||
if (b.pages() > 0)
|
||||
b.print_or_preview(); // Stampa effettivamente
|
||||
else
|
||||
warning_box (TR("Nessun record estratto per i parametri inseriti"));
|
||||
}
|
||||
}
|
||||
|
||||
void TGiri_app::main_loop()
|
||||
{
|
||||
TGiri_mask m;
|
||||
while(m.run()==K_ENTER)
|
||||
{
|
||||
//Stampa Giro Settimanale
|
||||
if(m.get(F_CHOICE)=="S")
|
||||
{
|
||||
elabora(m);
|
||||
}
|
||||
//Stampa Giro Giornaliero
|
||||
else
|
||||
{
|
||||
TGiri_report r(false);
|
||||
|
||||
//carica tuute le variabili del report.
|
||||
r.mask2report(m);
|
||||
|
||||
TReport_book b;
|
||||
bool ok = b.add(r); // Richiede parametri di stampa in base alla maschera omonima
|
||||
if (ok)
|
||||
if(b.pages() >0)
|
||||
b.print_or_preview(); // Stampa effettivamente
|
||||
else
|
||||
warning_box (TR("Nessun record estratto per i parametri inseriti"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int lv2300(int argc, char* argv[])
|
||||
{
|
||||
/*POSTO LIBERO*/
|
||||
//TStampe_planning_app app;
|
||||
//app.run(argc, argv, "Stampe Planning");
|
||||
TGiri_app app;
|
||||
app.run(argc, argv, TR("Stampa Giri"));
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
18
lv/lv2300a.h
Executable file
18
lv/lv2300a.h
Executable file
@ -0,0 +1,18 @@
|
||||
//Definizione campi per maschera lv2300a
|
||||
//Stampa Giri (Giornaliero/Settimanale)
|
||||
|
||||
#define F_DATA_FROM 201
|
||||
#define F_DATA_TO 202
|
||||
#define F_CODITI_FROM 203
|
||||
#define F_DESITI_FROM 204
|
||||
#define F_CODITI_TO 205
|
||||
#define F_DESITI_TO 206
|
||||
#define F_CODAUT_FROM 207
|
||||
#define F_DESAUT_FROM 208
|
||||
#define F_CODAUT_TO 209
|
||||
#define F_DESAUT_TO 210
|
||||
#define F_CODCF_FROM 211
|
||||
#define F_RAGSOCCF_FROM 212
|
||||
#define F_CODCF_TO 213
|
||||
#define F_RAGSOCCF_TO 214
|
||||
#define F_CHOICE 215
|
141
lv/lv2300a.rep
Executable file
141
lv/lv2300a.rep
Executable file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="lv2300a" orientation="2" lpi="6">
|
||||
<description>Stampa Giri Settimanale</description>
|
||||
<font face="Courier New" size="10" />
|
||||
<section type="Head">
|
||||
<field x="1.5" type="Testo" width="12" height="1.5" pattern="1" text="Data elab. :" />
|
||||
<field x="14" type="Stringa" width="12" height="1.5" pattern="1">
|
||||
<prescript>MESSAGE _TODAY</prescript>
|
||||
</field>
|
||||
<field x="36" type="Testo" align="center" width="45" height="1.5" pattern="1" text="Stampa Giro Settimanale">
|
||||
<font face="Courier New" bold="1" size="12" />
|
||||
</field>
|
||||
<field x="91.87" y="0.12" type="Testo" width="5" height="1.5" pattern="1" text="Pag." />
|
||||
<field x="97" y="0.12" type="Stringa" width="10" height="1.5" pattern="1">
|
||||
<prescript>MESSAGE _PAGENO</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="1" />
|
||||
<section repeat="1" type="Head" level="2" height="3" page_break="1">
|
||||
<groupby>A</groupby>
|
||||
<field x="2" type="Testo" width="10" pattern="1" text="Itinerario:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="13" type="Stringa" width="50" pattern="1">
|
||||
<source>A</source>
|
||||
<prescript description="H2.0 PRESCRIPT">MESSAGE _ISAMREAD,163,MOD='LV'!COD='ITI'!CODTAB=#THIS,S0</prescript>
|
||||
</field>
|
||||
<field x="66" type="Testo" width="15" pattern="1" text="Settimana dal:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="78.5" type="Stringa" width="12" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<source>#FROM_DATA</source>
|
||||
</field>
|
||||
<field x="91.5" type="Testo" width="4" pattern="1" text="al:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="95.5" type="Stringa" width="12" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<source>#TO_DATA</source>
|
||||
</field>
|
||||
<field border="1" x="0.5" y="1" type="Rettangolo" width="132.5" height="2" pattern="1" />
|
||||
<field border="1" x="19" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="38" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="57" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="76" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="95" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="114" y="1" type="Linea" height="2" pattern="1" />
|
||||
<field x="5.5" y="1.5" type="Testo" width="10" pattern="1" text="Lunedi">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="21" y="1.5" type="Testo" width="10" pattern="1" text="Martedi">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="41" y="1.5" type="Testo" width="10" pattern="1" text="Mercoledi">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="61" y="1.5" type="Testo" width="10" pattern="1" text="Giovedi">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="81" y="1.5" type="Testo" width="10" pattern="1" text="Venerdi">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="101" y="1.5" type="Testo" width="10" pattern="1" text="Sabato">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="121" y="1.5" type="Testo" width="10" pattern="1" text="Domenica">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="51" y="2" type="Stringa" width="12" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<source>#FROM_CODITI</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1" height="2">
|
||||
<font face="Courier New" size="8" />
|
||||
<field border="1" x="0.5" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="19" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="38" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="57" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="76" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="95" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="114" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="133" type="Linea" height="2" pattern="1" />
|
||||
<field x="1" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>B</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="16.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>C</source>
|
||||
</field>
|
||||
<field x="20" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>E</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="35.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>F</source>
|
||||
</field>
|
||||
<field x="39" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>H</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="54.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>I</source>
|
||||
</field>
|
||||
<field x="58" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>K</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="73.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>L</source>
|
||||
</field>
|
||||
<field x="77" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>N</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="92.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>O</source>
|
||||
</field>
|
||||
<field x="96" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>Q</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="111.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>R</source>
|
||||
</field>
|
||||
<field x="115" y="0.5" type="Stringa" width="15" pattern="1">
|
||||
<source>T</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="130.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>U</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" />
|
||||
<section type="Foot" level="1" />
|
||||
<section type="Foot" level="2">
|
||||
<field border="2" x="0.5" y="0.01" type="Linea" width="132.5" height="0" pattern="1" />
|
||||
</section>
|
||||
</report>
|
181
lv/lv2300a.uml
Executable file
181
lv/lv2300a.uml
Executable file
@ -0,0 +1,181 @@
|
||||
#include "lv2300a.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
#include "printbar.h"
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Stampa Giri." -1 -1 40 5
|
||||
|
||||
GROUPBOX DLG_NULL 76 3
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bParametri Data"
|
||||
END
|
||||
|
||||
DATE F_DATA_FROM
|
||||
BEGIN
|
||||
PROMPT 2 2 "Dal "
|
||||
FIELD #FROM_DATA
|
||||
GROUP 1
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
DATE F_DATA_TO
|
||||
BEGIN
|
||||
PROMPT 25 2 "Al "
|
||||
FIELD #TO_DATA
|
||||
FLAGS "A"
|
||||
GROUP 2
|
||||
CHECKTYPE REQUIRED
|
||||
VALITATE DATE_CMP_FUNC >= F_DATA_FROM
|
||||
WARNING "La data finale deve essere successiva a quella iniziale"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 4 "@bParametri Itinerario"
|
||||
END
|
||||
|
||||
STRING F_CODITI_FROM 3
|
||||
BEGIN
|
||||
PROMPT 2 5 "Da Itinerario"
|
||||
FLAGS "UZ"
|
||||
USE &ITI
|
||||
INPUT CODTAB F_CODITI_FROM
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODITI_FROM CODTAB
|
||||
OUTPUT F_DESITI_FROM S0
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #FROM_CODITI
|
||||
END
|
||||
|
||||
STRING F_DESITI_FROM 50
|
||||
BEGIN
|
||||
PROMPT 25 5 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODITI_TO 3
|
||||
BEGIN
|
||||
PROMPT 2 6 "A Itinerario "
|
||||
FLAGS "UZ"
|
||||
USE &ITI
|
||||
INPUT CODTAB F_CODITI_TO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODITI_TO CODTAB
|
||||
OUTPUT F_DESITI_TO S0
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #TO_CODITI
|
||||
END
|
||||
|
||||
STRING F_DESITI_TO 50
|
||||
BEGIN
|
||||
PROMPT 25 6 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 8 "@bParametri Autista"
|
||||
END
|
||||
|
||||
STRING F_CODAUT_FROM 6
|
||||
BEGIN
|
||||
PROMPT 2 9 "Da Autista "
|
||||
FLAGS "U"
|
||||
USE &AUT
|
||||
INPUT CODTAB F_CODAUT_FROM
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODAUT_FROM CODTAB
|
||||
OUTPUT F_DESAUT_FROM S0
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #FROM_CODAUT
|
||||
END
|
||||
|
||||
STRING F_DESAUT_FROM 50
|
||||
BEGIN
|
||||
PROMPT 25 9 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODAUT_TO 6
|
||||
BEGIN
|
||||
PROMPT 2 10 "Ad Autista "
|
||||
FLAGS "U"
|
||||
USE &AUT
|
||||
INPUT CODTAB F_CODAUT_TO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODAUT_TO CODTAB
|
||||
OUTPUT F_DESAUT_TO S0
|
||||
CHECKTYPE SEARCH
|
||||
FIELD #TO_CODAUT
|
||||
END
|
||||
|
||||
STRING F_DESAUT_TO 50
|
||||
BEGIN
|
||||
PROMPT 25 10 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 12 "@bParametri Cliente"
|
||||
END
|
||||
|
||||
NUMBER F_CODCF_FROM 6
|
||||
BEGIN
|
||||
PROMPT 2 13 "Da Cliente "
|
||||
FLAGS "U"
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CODCF_FROM
|
||||
DISPLAY "Codice " CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_CODCF_FROM CODCF
|
||||
OUTPUT F_RAGSOCCF_FROM RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
FIELD #FROM_CODCF
|
||||
END
|
||||
|
||||
STRING F_RAGSOCCF_FROM 50
|
||||
BEGIN
|
||||
PROMPT 25 13 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_CODCF_TO 6
|
||||
BEGIN
|
||||
PROMPT 2 14 "A Cliente "
|
||||
FLAGS "U"
|
||||
USE LF_CLIFO KEY 1
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_CODCF_TO
|
||||
DISPLAY "Codice " CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_CODCF_TO CODCF
|
||||
OUTPUT F_RAGSOCCF_TO RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
FIELD #TO_CODCF
|
||||
END
|
||||
|
||||
STRING F_RAGSOCCF_TO 50
|
||||
BEGIN
|
||||
PROMPT 25 14 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_CHOICE 1 11
|
||||
BEGIN
|
||||
PROMPT 2 16 "Stampa Giri"
|
||||
ITEM "G|Giornaliero"
|
||||
ITEM "S|Settimanale"
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user