Patch level :10.0
Files correlati : Ricompilazione Demo : [ ] Commento :Aggiunti check Stampa righi resi e da fatturare, controllo data iniziale. Nella Stampa Giri inserito check Mnemorico e controllo località-comune git-svn-id: svn://10.65.10.50/trunk@19760 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
b851d2bc2d
commit
173be8e09a
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="lv2200z" orientation="1" lpi="6" command="lv0 -1 lv2200z">
|
||||
<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">
|
||||
@ -106,12 +106,9 @@
|
||||
</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>
|
||||
<source>IF(#F_CHECK_MNEM='X';303@.RICALT;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>
|
||||
@ -137,6 +134,18 @@
|
||||
<source>167.NDOC</source>
|
||||
</field>
|
||||
<field border="1" x="0.5" y="4" type="Linea" width="92.4" height="0" pattern="1" />
|
||||
<field x="1" y="1" type="Stringa" width="25" height="2" id="1000" pattern="1">
|
||||
<source>IF(304@.CODINDSP= "0" ;303@.COMCF;305@.COM)</source>
|
||||
</field>
|
||||
<field x="1" y="2" type="Stringa" width="25" height="2" id="1001" pattern="1">
|
||||
<prescript description="B1.1001 PRESCRIPT">MESSAGE _ISAMREAD,COMUNI,COM=#1000,DENCOM</prescript>
|
||||
</field>
|
||||
<field x="1" y="3" type="Stringa" width="25" height="2" id="1002" pattern="1">
|
||||
<source>IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA)</source>
|
||||
</field>
|
||||
<field x="31.5" type="Stringa" width="25" height="2" id="1003" pattern="1">
|
||||
<source>IF(#1001="";#1002;#1001)</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" />
|
||||
<section type="Foot" level="1" />
|
||||
|
@ -209,6 +209,7 @@ void TGiri_app::elabora(const TMask& mask) const
|
||||
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)));
|
||||
giri.set_var("#F_CHECK_MNEM",TVariant(mask.get(F_CHECK_MNEM_TO)));
|
||||
|
||||
TItinerari iti;
|
||||
|
||||
|
@ -15,4 +15,5 @@
|
||||
#define F_RAGSOCCF_FROM 212
|
||||
#define F_CODCF_TO 213
|
||||
#define F_RAGSOCCF_TO 214
|
||||
#define F_CHOICE 215
|
||||
#define F_CHOICE 215
|
||||
#define F_CHECK_MNEM_TO 216
|
237
lv/lv2300a.rep
237
lv/lv2300a.rep
@ -1,147 +1,154 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="lv2300a" orientation="2" lpi="6">
|
||||
<description>Stampa Giri Settimanale</description>
|
||||
<report name="LV2300A" orientation="1" lpi="6" command="lv0 -1 lv2300a">
|
||||
<description>Stampa Giri</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 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="36" type="Testo" align="center" width="45" height="1.5" pattern="1" text="Stampa Giro Settimanale">
|
||||
<field x="27.5" y="1" type="Testo" align="center" width="45" height="1.5" pattern="1" text="Stampa planning consegna giornaliero">
|
||||
<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 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 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" />
|
||||
<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="12" type="Stringa" width="40" pattern="1">
|
||||
<source>A</source>
|
||||
<prescript description="H2.0 PRESCRIPT">MESSAGE _ISAMREAD,163,MOD='LV'!COD='ITI'!CODTAB=#THIS,S0</prescript>
|
||||
<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="53" type="Testo" width="8" pattern="1" text="Autista:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<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="94" type="Testo" width="15" pattern="1" text="Settimana dal:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<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="106.5" type="Stringa" width="12" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<source>#FROM_DATA</source>
|
||||
<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="118.5" type="Testo" width="4" pattern="1" text="al:">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<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 x="121" type="Stringa" width="12" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<source>#TO_DATA</source>
|
||||
<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 x="72" 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="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="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 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="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="1" y="2" type="Stringa" hidden="1" width="18" id="1000" pattern="1">
|
||||
<source>A</source>
|
||||
<prescript description="H2.1000 PRESCRIPT">MESSAGE _ISAMREAD,163,MOD='LV'!COD='ITI'!CODTAB=#THIS,S1</prescript>
|
||||
</field>
|
||||
<field x="60" type="Stringa" width="32" id="2000" pattern="1">
|
||||
<prescript description="H2.2000 PRESCRIPT">MESSAGE _ISAMREAD,163,MOD='LV'!COD='AUT'!CODTAB=H2.1000,S0</prescript>
|
||||
<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" />
|
||||
<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>
|
||||
<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">
|
||||
<source>167.ORDFER</source>
|
||||
</field>
|
||||
<field x="16.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>C</source>
|
||||
<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 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 border="1" x="13.5" type="Linea" height="4" pattern="1" />
|
||||
<field x="14" type="Stringa" width="17" height="3" pattern="1">
|
||||
<source>IF(#F_CHECK_MNEM='X';303@.RICALT;303@.RAGSOC)</source>
|
||||
</field>
|
||||
<field x="35.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>F</source>
|
||||
<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" ;IF(303@.COMCF="";303@.LOCALITACF;303@.COMCF);305@.LOCALITA)</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 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 x="54.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>I</source>
|
||||
<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 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 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="73.5" y="0.5" type="Numero" align="right" width="2" pattern="1" hide_zero="1">
|
||||
<source>L</source>
|
||||
<field x="31.5" y="2" type="Stringa" width="25" height="2" pattern="1">
|
||||
<source>IF(304@.CODINDSP= "0";303@.INDCF;305@.INDIR)</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 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">
|
||||
<field border="2" x="0.5" y="0.01" type="Linea" width="132.5" height="0" pattern="1" />
|
||||
</section>
|
||||
<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>
|
@ -176,6 +176,12 @@ BEGIN
|
||||
FLAGS "U"
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_MNEM_TO
|
||||
BEGIN
|
||||
PROMPT 2 18 "Utilizza Mnemorico (Ricerca Alt.)"
|
||||
FIELD #F_CHECK_MNEM
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
@ -47,6 +47,17 @@ public:
|
||||
|
||||
bool TRiepBolle_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DATA_DA:
|
||||
if (e == fe_init)
|
||||
{
|
||||
TDate oggi(TODAY);
|
||||
oggi.set_day(1);
|
||||
o.set (oggi.string());
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -61,10 +72,10 @@ class TRiepBolle_app: public TSkeleton_application
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
void elabora(const TMask& mask) const;
|
||||
TString getQuery(bool isArticolo) const;
|
||||
TString getQuery(bool isArticolo,const TMask& mask) const;
|
||||
};
|
||||
|
||||
TString TRiepBolle_app::getQuery(bool isArticolo) const
|
||||
TString TRiepBolle_app::getQuery(bool isArticolo,const TMask& mask) const
|
||||
{
|
||||
/*
|
||||
RICHIESTA QUERY:
|
||||
@ -81,15 +92,23 @@ TString TRiepBolle_app::getQuery(bool isArticolo) const
|
||||
*/
|
||||
|
||||
//Stringhe x composizione query
|
||||
TString query, select, between, orderBy, join, from_, to_;
|
||||
TString query, select, between, orderBy, join;
|
||||
|
||||
//Richiamo parametri della ditta di configurazione
|
||||
//file Ditta.ini
|
||||
const TString4 codnum = ini_get_string(CONFIG_DITTA, "lv", "NUM_GEN");
|
||||
//const TString4 codnum = ini_get_string(CONFIG_DITTA, "lv", "NUM_GEN");
|
||||
const TString4 tipodoc = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_GEN");
|
||||
|
||||
select << "USE RDOC KEY 1\n";
|
||||
select << "SELECT ((2000@.B2!='X')&&(3000@.S2[37,38] ='+1')&&(DOC.TIPODOC='" << tipodoc << "')&&";
|
||||
select << "SELECT ((DOC.TIPODOC='" << tipodoc << "')&&";
|
||||
|
||||
if(!mask.get_bool(F_CHECK_NO_RESI)){
|
||||
select << "(2000@.B2!='X')&&";
|
||||
}
|
||||
if(mask.get_bool(F_CHECK_FATT)){
|
||||
select << "(3000@.S2[37,38] ='+1')&&";
|
||||
}
|
||||
|
||||
between << "(BETWEEN(DOC.ZONA,#F_ZONA_FROM,#F_ZONA_FROM))&&(BETWEEN(DOC.DATADOC,#F_DATA_FROM,#F_DATA_TO))&&(BETWEEN(DOC.CODCF,#F_CODCF_FROM,#F_CODCF_TO)))\n";
|
||||
|
||||
if(isArticolo)
|
||||
@ -98,13 +117,18 @@ TString TRiepBolle_app::getQuery(bool isArticolo) const
|
||||
orderBy << "BY DOC.CODCF DOC.DATADOC NDOC\n";
|
||||
|
||||
join << "JOIN DOC TO RDOC ALIAS 1000 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC\n";
|
||||
join << "JOIN &LVCAU TO RDOC ALIAS 2000 INTO CODTAB==CODAGG1\n";
|
||||
join << "JOIN %CAU TO &LVCAU ALIAS 3000 INTO CODTAB==S2\n";
|
||||
|
||||
if(!mask.get_bool(F_CHECK_NO_RESI)){
|
||||
join << "JOIN &LVCAU TO RDOC ALIAS 2000 INTO CODTAB==CODAGG1\n";
|
||||
}
|
||||
if(mask.get_bool(F_CHECK_FATT)){
|
||||
join << "JOIN %CAU TO &LVCAU ALIAS 3000 INTO CODTAB==S2\n";
|
||||
}
|
||||
|
||||
from_ << "FROM CODNUM='" << codnum << "'\n";
|
||||
to_ << "TO CODNUM='" << codnum << "'";
|
||||
//from_ << "FROM CODNUM='" << codnum << "'\n";
|
||||
//to_ << "TO CODNUM='" << codnum << "'";
|
||||
|
||||
query << select << between << orderBy << join << from_ << to_;
|
||||
query << select << between << orderBy << join;
|
||||
|
||||
return query;
|
||||
}
|
||||
@ -139,7 +163,7 @@ void TRiepilogoData::add(int posizione,int cliente, TDate dataDoc, int numeroDoc
|
||||
|
||||
void TRiepBolle_app:: elabora(const TMask& mask)const
|
||||
{
|
||||
TISAM_recordset riep(getQuery(true));
|
||||
TISAM_recordset riep(getQuery(true,mask));
|
||||
|
||||
//inserire parametri filtri
|
||||
riep.set_var("#F_DATA_FROM",mask.get_date(F_DATA_DA));
|
||||
@ -198,7 +222,7 @@ void TRiepBolle_app:: elabora(const TMask& mask)const
|
||||
{
|
||||
//Per ogni cliente creo una struttura di date. è necessario
|
||||
//per il report.
|
||||
TISAM_recordset dateDocAll(getQuery(false));
|
||||
TISAM_recordset dateDocAll(getQuery(false,mask));
|
||||
|
||||
//inserire parametri filtri
|
||||
dateDocAll.set_var("#F_DATA_FROM",mask.get_date(F_DATA_DA));
|
||||
|
18
lv/lv2700a.h
18
lv/lv2700a.h
@ -1,9 +1,11 @@
|
||||
//Stampa Riepilogo Bolle di Lavanderie
|
||||
#define F_CODCF_DA 203
|
||||
#define F_RAGSOC_DA 204
|
||||
#define F_CODCF_A 205
|
||||
#define F_RAGSOC_A 206
|
||||
#define F_DATA_DA 207
|
||||
#define F_DATA_A 208
|
||||
#define F_ZONA 209
|
||||
#define F_DESZONA 210
|
||||
#define F_CODCF_DA 203
|
||||
#define F_RAGSOC_DA 204
|
||||
#define F_CODCF_A 205
|
||||
#define F_RAGSOC_A 206
|
||||
#define F_DATA_DA 207
|
||||
#define F_DATA_A 208
|
||||
#define F_ZONA 209
|
||||
#define F_DESZONA 210
|
||||
#define F_CHECK_NO_RESI 211
|
||||
#define F_CHECK_FATT 212
|
@ -75,7 +75,6 @@ END
|
||||
DATE F_DATA_DA
|
||||
BEGIN
|
||||
PROMPT 2 6 "Da Data "
|
||||
FLAGS "A"
|
||||
FIELD #F_DATA_FROM
|
||||
END
|
||||
|
||||
@ -117,6 +116,18 @@ BEGIN
|
||||
OUTPUT F_DESZONA S0
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_NO_RESI
|
||||
BEGIN
|
||||
PROMPT 2 12 "Stampo tutti i righi incluso i resi "
|
||||
FIELD #F_CHECK_NO_RESI_TO
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_FATT
|
||||
BEGIN
|
||||
PROMPT 2 14 "Stampo solo i righi da fatturare "
|
||||
FIELD #F_CHECK_FATT_TO
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
@ -39,6 +39,17 @@ public:
|
||||
|
||||
bool TVend_cli_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case F_DATA_DA:
|
||||
if (e == fe_init)
|
||||
{
|
||||
TDate oggi(TODAY);
|
||||
oggi.set_day(1);
|
||||
o.set (oggi.string());
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -53,35 +64,53 @@ class TVend_cli_app: public TSkeleton_application
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
void elabora(const TMask& mask) const;
|
||||
TString getQuery() const;
|
||||
TString getQuery(const TMask& mask) const;
|
||||
bool ctl(TDate dataInizio,
|
||||
TDate dataFine,
|
||||
bool isAnno) const;
|
||||
bool erroreBox(TString aMsg) const;
|
||||
};
|
||||
|
||||
TString TVend_cli_app::getQuery() const
|
||||
TString TVend_cli_app::getQuery(const TMask& mask) const
|
||||
{
|
||||
//Stringhe x composizione query
|
||||
TString query, select, between, orderBy, join, from , to;
|
||||
TString query, select, between, orderBy, join;
|
||||
|
||||
//Richiamo parametri della ditta di configurazione file Ditta.ini
|
||||
|
||||
//andare su bolle senza numeratore
|
||||
//const TString4 codnum = ini_get_string(CONFIG_DITTA, "lv", "NUM_FAT");
|
||||
//const TString4 tipodoc = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_FAT");
|
||||
const TString4 tipodoc = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_GEN");
|
||||
|
||||
|
||||
//Richiamo parametri della ditta di configurazione
|
||||
//file Ditta.ini
|
||||
const TString4 codnum = ini_get_string(CONFIG_DITTA, "lv", "NUM_FAT");
|
||||
const TString4 tipodoc = ini_get_string(CONFIG_DITTA, "lv", "TIPODOC_FAT");
|
||||
|
||||
select << "USE RDOC KEY 1\n";
|
||||
select << "SELECT ((DOC.TIPODOC='" << tipodoc << "')&&";
|
||||
select << "SELECT ((DOC.TIPODOC='" << tipodoc << "')&&";
|
||||
|
||||
if(!mask.get_bool(F_CHECK_NO_RESI)){
|
||||
select << "(2000@.B2!='X')&&";
|
||||
}
|
||||
if(mask.get_bool(F_CHECK_FATT)){
|
||||
select << "(3000@.S2[37,38] ='+1')&&";
|
||||
}
|
||||
|
||||
between << "(BETWEEN(DOC.ZONA,#F_ZONA_FROM,#F_ZONA_FROM))";
|
||||
between << "&&(BETWEEN(CODART,#F_CODART_FROM,#F_CODART_TO))";
|
||||
between << "&&(BETWEEN(DOC.DATADOC,#F_DATA_FROM,#F_DATA_TO))";
|
||||
between << "&&(BETWEEN(DOC.CODCF,#F_CODCF_FROM,#F_CODCF_TO)))\n";
|
||||
orderBy << "BY DOC.CODCF CODART DOC.DATADOC NDOC\n";
|
||||
join << "JOIN DOC TO RDOC ALIAS 1000 INTO CODNUM==CODNUM ANNO==ANNO PROVV==PROVV NDOC==NDOC\n";
|
||||
from << "FROM CODNUM='" << codnum << "'\n";
|
||||
to << "TO CODNUM='" << codnum << "'";
|
||||
|
||||
if(!mask.get_bool(F_CHECK_NO_RESI)){
|
||||
join << "JOIN &LVCAU TO RDOC ALIAS 2000 INTO CODTAB==CODAGG1\n";
|
||||
}
|
||||
if(mask.get_bool(F_CHECK_FATT)){
|
||||
join << "JOIN %CAU TO &LVCAU ALIAS 3000 INTO CODTAB==S2\n";
|
||||
}
|
||||
|
||||
|
||||
query << select << between << orderBy << join << from << to;
|
||||
query << select << between << orderBy << join;
|
||||
|
||||
return query;
|
||||
}
|
||||
@ -148,7 +177,7 @@ void TVend_cli_app:: elabora(const TMask& mask)const
|
||||
mask.get_date(F_DATA_A),
|
||||
mask.get_bool(F_CHECK_ANNO)))
|
||||
{
|
||||
TISAM_recordset riep(getQuery());
|
||||
TISAM_recordset riep(getQuery(mask));
|
||||
|
||||
TDate dataDa = mask.get_date(F_DATA_DA);
|
||||
TDate dataA = mask.get_date(F_DATA_A);
|
||||
@ -174,6 +203,8 @@ void TVend_cli_app:: elabora(const TMask& mask)const
|
||||
riep.set_var("#F_CHECK_ANNO_TO",TVariant(mask.get(F_CHECK_ANNO)));
|
||||
riep.set_var("#F_CODART_FROM",TVariant(mask.get(F_CODART_FROM)));
|
||||
riep.set_var("#F_CODART_TO",TVariant(mask.get(F_CODART_TO)));
|
||||
riep.set_var("#F_CHECK_NO_RESI_TO",TVariant(mask.get(F_CHECK_NO_RESI)));
|
||||
riep.set_var("#F_CHECK_FATT_TO",TVariant(mask.get(F_CHECK_FATT)));
|
||||
|
||||
TRiepVendCli riepilogo;
|
||||
|
||||
|
30
lv/lv2800a.h
30
lv/lv2800a.h
@ -1,15 +1,17 @@
|
||||
//Stampa Venduto Per Cliente nei 12 Mesi
|
||||
#define F_CODCF_DA 203
|
||||
#define F_RAGSOC_DA 204
|
||||
#define F_CODCF_A 205
|
||||
#define F_RAGSOC_A 206
|
||||
#define F_DATA_DA 207
|
||||
#define F_DATA_A 208
|
||||
#define F_ANNO 209
|
||||
#define F_CHECK_ANNO 210
|
||||
#define F_CODART_FROM 211
|
||||
#define F_DESART_FROM 212
|
||||
#define F_CODART_TO 213
|
||||
#define F_DESART_TO 214
|
||||
#define F_ZONA 215
|
||||
#define F_DESZONA 216
|
||||
#define F_CODCF_DA 203
|
||||
#define F_RAGSOC_DA 204
|
||||
#define F_CODCF_A 205
|
||||
#define F_RAGSOC_A 206
|
||||
#define F_DATA_DA 207
|
||||
#define F_DATA_A 208
|
||||
#define F_ANNO 209
|
||||
#define F_CHECK_ANNO 210
|
||||
#define F_CODART_FROM 211
|
||||
#define F_DESART_FROM 212
|
||||
#define F_CODART_TO 213
|
||||
#define F_DESART_TO 214
|
||||
#define F_ZONA 215
|
||||
#define F_DESZONA 216
|
||||
#define F_CHECK_NO_RESI 217
|
||||
#define F_CHECK_FATT 218
|
||||
|
@ -75,7 +75,6 @@ END
|
||||
DATE F_DATA_DA
|
||||
BEGIN
|
||||
PROMPT 2 6 "Da Data "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD #F_DATA_FROM
|
||||
GROUP 1
|
||||
@ -192,6 +191,18 @@ BEGIN
|
||||
OUTPUT F_DESZONA S0
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_NO_RESI
|
||||
BEGIN
|
||||
PROMPT 2 16 "Stampo tutti i righi incluso i resi "
|
||||
FIELD #F_CHECK_NO_RESI_TO
|
||||
END
|
||||
|
||||
BOOLEAN F_CHECK_FATT
|
||||
BEGIN
|
||||
PROMPT 2 18 "Stampo solo i righi da fatturare "
|
||||
FIELD #F_CHECK_FATT_TO
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
Loading…
x
Reference in New Issue
Block a user