From 173be8e09ad3470388058e53cdded97537526ddd Mon Sep 17 00:00:00 2001 From: lvietri Date: Mon, 14 Dec 2009 08:02:55 +0000 Subject: [PATCH] =?UTF-8?q?Patch=20level=20=20=20=20=20=20=20=20=20:10.0?= =?UTF-8?q?=20Files=20correlati=20=20=20=20=20:=20Ricompilazione=20Demo=20?= =?UTF-8?q?:=20[=20]=20Commento=20=20=20=20=20=20=20=20=20=20=20=20:Aggiun?= =?UTF-8?q?ti=20check=20Stampa=20righi=20resi=20e=20da=20fatturare,=20cont?= =?UTF-8?q?rollo=20data=20iniziale.=20Nella=20Stampa=20Giri=20inserito=20c?= =?UTF-8?q?heck=20Mnemorico=20e=20controllo=20localit=C3=A0-comune?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn://10.65.10.50/trunk@19760 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- lv/lv2200z.rep | 19 ++-- lv/lv2300.cpp | 1 + lv/lv2300a.h | 3 +- lv/lv2300a.rep | 237 +++++++++++++++++++++++++------------------------ lv/lv2300a.uml | 6 ++ lv/lv2700.cpp | 48 +++++++--- lv/lv2700a.h | 18 ++-- lv/lv2700a.uml | 13 ++- lv/lv2800.cpp | 55 +++++++++--- lv/lv2800a.h | 30 ++++--- lv/lv2800a.uml | 13 ++- 11 files changed, 274 insertions(+), 169 deletions(-) diff --git a/lv/lv2200z.rep b/lv/lv2200z.rep index 955da7689..39dea92f0 100755 --- a/lv/lv2200z.rep +++ b/lv/lv2200z.rep @@ -1,5 +1,5 @@ - + Stampa Giri Giornaliero
@@ -106,12 +106,9 @@ - 303@.RAGSOC + IF(#F_CHECK_MNEM='X';303@.RICALT;303@.RAGSOC) - - IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA) - 167.MODPASS @@ -137,6 +134,18 @@ 167.NDOC + + IF(304@.CODINDSP= "0" ;303@.COMCF;305@.COM) + + + MESSAGE _ISAMREAD,COMUNI,COM=#1000,DENCOM + + + IF(304@.CODINDSP= "0" ;303@.LOCALITACF;305@.LOCALITA) + + + IF(#1001="";#1002;#1001) +
diff --git a/lv/lv2300.cpp b/lv/lv2300.cpp index 0bb177186..aa32d969e 100755 --- a/lv/lv2300.cpp +++ b/lv/lv2300.cpp @@ -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; diff --git a/lv/lv2300a.h b/lv/lv2300a.h index 09f1f23c4..428fb689b 100755 --- a/lv/lv2300a.h +++ b/lv/lv2300a.h @@ -15,4 +15,5 @@ #define F_RAGSOCCF_FROM 212 #define F_CODCF_TO 213 #define F_RAGSOCCF_TO 214 -#define F_CHOICE 215 \ No newline at end of file +#define F_CHOICE 215 +#define F_CHECK_MNEM_TO 216 \ No newline at end of file diff --git a/lv/lv2300a.rep b/lv/lv2300a.rep index cd5ff7e2f..6827ef3af 100755 --- a/lv/lv2300a.rep +++ b/lv/lv2300a.rep @@ -1,147 +1,154 @@ - - Stampa Giri Settimanale + + Stampa Giri
- - - MESSAGE _TODAY + + + MESSAGE _TODAY - + - - - MESSAGE _PAGENO + + + MESSAGE _PAGENO
-
- A - - +
+ DTCONS+CODITI + + + 167.GGCONS + +
  • +
  • +
  • +
  • +
  • +
  • +
  • + - - A - MESSAGE _ISAMREAD,163,MOD='LV'!COD='ITI'!CODTAB=#THIS,S0 + + + 167.CODITI - - + + + 300@.S0 - - + + + 167.CODAUT - - - #FROM_DATA + + + 301@.S0 - - + + + DTCONS - - - #TO_DATA + + + + + + + + + 302@.S0 - - - - - - - - - + + + + + 167.CODMEZ - - - - - - - - - - - - - - - - - - - - - MESSAGE _ISAMREAD,163,MOD='LV'!COD='AUT'!CODTAB=H2.1000,S0 + + + + + + + + + + + + + + + + + + + + + +
  • +
    + + CODITI
    -
    -
    - - - - - - - - - - - B - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC +
    + + + + 167.ORDFER - - C + + + 167.CODCF - - E - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC + + + IF(#F_CHECK_MNEM='X';303@.RICALT;303@.RAGSOC) - - F + + + IF(304@.CODINDSP= "0" ;IF(303@.COMCF="";303@.LOCALITACF;303@.COMCF);305@.LOCALITA) - - H - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC + + + 167.MODPASS + +
  • +
  • +
  • +
  • + - - I + + + 167.CODNUM - - K - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC + + + #NEXTCONS - - L + + IF(304@.CODINDSP= "0";303@.INDCF;305@.INDIR) - - N - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC - - - O - - - Q - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC - - - R - - - T - MESSAGE _ISAMREAD,CLIFO,TIPOCF='C'!CODCF=#THIS,RAGSOC - - - U + + 167.NDOC +
  • -
    - -
    +
    + 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 \ No newline at end of file diff --git a/lv/lv2300a.uml b/lv/lv2300a.uml index 3a50e2241..ab7544994 100755 --- a/lv/lv2300a.uml +++ b/lv/lv2300a.uml @@ -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 diff --git a/lv/lv2700.cpp b/lv/lv2700.cpp index f2b5ea494..a4c2f3c52 100755 --- a/lv/lv2700.cpp +++ b/lv/lv2700.cpp @@ -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)); diff --git a/lv/lv2700a.h b/lv/lv2700a.h index 642c8e207..c68c278fd 100755 --- a/lv/lv2700a.h +++ b/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 \ No newline at end of file +#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 \ No newline at end of file diff --git a/lv/lv2700a.uml b/lv/lv2700a.uml index ec2989047..947e6e856 100755 --- a/lv/lv2700a.uml +++ b/lv/lv2700a.uml @@ -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 diff --git a/lv/lv2800.cpp b/lv/lv2800.cpp index d69d7949b..023c3afcd 100755 --- a/lv/lv2800.cpp +++ b/lv/lv2800.cpp @@ -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; diff --git a/lv/lv2800a.h b/lv/lv2800a.h index 4187b8530..dee520caf 100755 --- a/lv/lv2800a.h +++ b/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 diff --git a/lv/lv2800a.uml b/lv/lv2800a.uml index d9faeb75a..9b1809b53 100755 --- a/lv/lv2800a.uml +++ b/lv/lv2800a.uml @@ -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