Files correlati : Ricompilazione Demo : [ ] Commento :Gestione Carrelli in Carico git-svn-id: svn://10.65.10.50/trunk@20350 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			621 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			621 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <Textset.h>
 | |
| #include <Applicat.h>
 | |
| #include <Automask.h>
 | |
| #include <Reprint.h>
 | |
| #include <currency.h>
 | |
| #include "pd5317.h"  
 | |
| #include "pd5317100.h"   
 | |
| 
 | |
| //Stampa Listino Carrelli
 | |
| //lvietri
 | |
| 
 | |
| class TCarrelli_recordset: public TCSV_recordset
 | |
| {
 | |
| public:
 | |
|   TCarrelli_recordset(): TCSV_recordset("CSV(\"\t\")") {}
 | |
| };
 | |
| 
 | |
| //DEFINIZIONE DELLA STRUTTURA
 | |
| struct TStruttura_carrelli: public TObject
 | |
| { 
 | |
|   const TString _articolo; 
 | |
|   TString _user1;
 | |
|   TString _user2;
 | |
|   TString _user3;
 | |
|   TString _user4;
 | |
|   TString _user5;
 | |
|   TString _user6;
 | |
|   TString _user7;
 | |
|   TString _user8;
 | |
|   TString _user9;
 | |
|   TString _user10;
 | |
|   TString _user11;
 | |
|   TString _user12;
 | |
|   TString _user13;
 | |
|   TString _user14;
 | |
|   TDate   _data_doc;
 | |
|   TCurrency _importob;
 | |
|   TDate _data_gara;
 | |
|   TCurrency _prezzoAcq;
 | |
|   TString _descr_conto;
 | |
|   TString _modello;
 | |
|   TCurrency _noleggio;
 | |
|   TCurrency _manutenzione;
 | |
|   TString _venduto_a;
 | |
|   TCurrency _prezzo_vend;
 | |
|   TCurrency _prezzo_p1;
 | |
|   TCurrency _prezzo_autom;
 | |
|   TCurrency _prezzo_recup;
 | |
|   
 | |
|   TStruttura_carrelli():_articolo(""),_user1 (""),_user2 (""),
 | |
|                         _user3 (""),_user4 (""),_user5 (""),
 | |
|                         _user6 (""),_user7 (""),_user8 (""),
 | |
|                         _user9 (""),_user10(""),_user11(""),
 | |
|                         _user12(""),_user13(""),_user14(""),
 | |
|                         _data_doc(""),_data_gara(""),_modello(""),
 | |
|                         _venduto_a("") {}
 | |
| 
 | |
|   TStruttura_carrelli(TString articolo,TString user[],TDate dataDoc,
 | |
|         TCurrency importob, TDate data_gara, TCurrency prezzoAcq,TString descrAcq,
 | |
|         TString modello,TCurrency noleggio,TCurrency manutenzione, TString venduto_a, 
 | |
|         TCurrency prezzoVend,TCurrency prezzo_p1, TCurrency prezzo_autom,
 | |
|         TCurrency prezzo_recup):
 | |
|             _articolo(articolo),_user1 (user[0 ]),_user2 (user[1 ]),_user3 (user[2 ]),
 | |
|             _user4 (user[3 ]),_user5 (user[4 ]),_user6 (user[5 ]),_user7 (user[6 ]),
 | |
|             _user8 (user[7 ]),_user9 (user[8 ]),_user10(user[9 ]),_user11(user[10]),
 | |
|             _user12(user[11]),_user13(user[12]),_user14(user[13]),_data_doc(dataDoc),
 | |
|             _importob(importob),_data_gara(data_gara) ,_prezzoAcq(prezzoAcq),
 | |
|             _descr_conto(descrAcq), _modello(modello),_noleggio(noleggio),
 | |
|             _manutenzione(manutenzione),_venduto_a(venduto_a), _prezzo_vend(prezzoVend),
 | |
|             _prezzo_p1(prezzo_p1), _prezzo_autom(prezzo_autom),_prezzo_recup(prezzo_recup) 
 | |
|         {}
 | |
| };
 | |
| 
 | |
| class TCarrelli_mask: public TAutomask
 | |
| {
 | |
| protected:
 | |
|   virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | |
| public:
 | |
|   TCarrelli_mask():TAutomask("pd5317100"){}
 | |
| };
 | |
| 
 | |
| bool TCarrelli_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | |
| {
 | |
|   return true;
 | |
| }
 | |
| 
 | |
| class TCarrelli_report : public TReport
 | |
| {
 | |
| protected:
 | |
|   virtual bool use_mask() { return false; }
 | |
| };
 | |
| 
 | |
| class TCarrelli_app: public TSkeleton_application
 | |
| {
 | |
| protected:
 | |
|   virtual void main_loop();
 | |
|   void elabora(const TMask& mask) const;
 | |
|   TString get_query(int tipo, bool venduto = false, const TString& commessa = EMPTY_STRING) const;
 | |
|   TString get_query_saldana(TString codice) const;
 | |
|   TString get_query_saldana(TString codice, TString operatore) const;
 | |
|   const char * TCarrelli_app::extra_modules() const;
 | |
| };
 | |
| 
 | |
| const char * TCarrelli_app::extra_modules() const { return "mg"; }
 | |
| 
 | |
| TString TCarrelli_app::get_query_saldana(TString codice) const
 | |
| {
 | |
|   return get_query_saldana(codice,"==");
 | |
| }
 | |
| 
 | |
| TString TCarrelli_app::get_query_saldana(TString codice, TString operatore) const
 | |
| {
 | |
|   //Stringhe x composizione query
 | |
|   TString query, select, between;
 | |
| 
 | |
|   select  << "USE SALDANA KEY 2\n";
 | |
|   select  << "SELECT ((CONTO" << operatore<< "'" << codice << "')&&";
 | |
|   between << "(BETWEEN(COMMESSA,#COMM,#COMM)))";  
 | |
| 
 | |
|   query << select << between;
 | |
|   
 | |
|   return query;
 | |
| }
 | |
| 
 | |
| TString TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa) const
 | |
| {
 | |
|   //Stringhe x composizione query
 | |
|   TString query, select, between, join, order_by;
 | |
| 
 | |
|   if(tipo==0)//query su analitica\articoli\commesse
 | |
|   {
 | |
|     const char* operConto = venduto ? "==" : "!=";
 | |
| 
 | |
|     select  << "USE SALDANA KEY 2\n";
 | |
|     select  << "SELECT ((CONTO" << operConto << "'004076000003')&&";
 | |
|     between << "(ANAMAG.CODART!='')&&";
 | |
|     between << "(BETWEEN(COMMESSA,#FROM,#TO)))\n";  
 | |
|     order_by<< "BY COMMESSA\n";
 | |
|     join    << "JOIN ANAMAG TO SALDANA  INTO CODART==COMMESSA \n";
 | |
|     join    << "JOIN COMMESSE TO SALDANA  INTO CODCMS==COMMESSA \n";
 | |
|     if(venduto)
 | |
|     {
 | |
|       join    << "FROM CONTO='004076000003' \n";
 | |
|       join    << "TO CONTO='004076000003' \n";
 | |
|     }
 | |
|   }
 | |
|   else if(tipo==1)//query su articolo\doc.
 | |
|   {
 | |
|     select  << "USE DOC KEY 3\n";
 | |
|     select  << "SELECT ((TIPODOC='B01')&&";
 | |
|     between << "(BETWEEN(CODCMS,#COMM,#COMM)))\n";  
 | |
|     join    << "JOIN CLIFO TO DOC INTO TIPOCF==TIPOCF CODCF==CODCF\n";
 | |
|     join    << "JOIN INDSPED TO DOC INTO TIPOCF==TIPOCF CODCF==CODCF CODIND==CODINDSP\n";
 | |
|     join    << "JOIN COMUNI TO CLIFO INTO COM==COMCF \n";
 | |
|   }
 | |
|   else if(tipo==2)//query su saldana ACQUISTO DA
 | |
|   {
 | |
|     select  << "USE SALDANA KEY 2\n";
 | |
|     select  << "SELECT (((CONTO ?='003081*')||(CONTO =='003071000002'))&&";
 | |
|     between << "(BETWEEN(COMMESSA,#COMM,#COMM)))";  
 | |
|   }
 | |
|   else if(tipo==3)//query su piano dei conti.
 | |
|   {
 | |
|     select  << "USE PCON KEY 1\n";
 | |
|     select  << "SELECT ((GRUPPO=#GRUPPO1)&&(CONTO=#CONTO1)&&(SOTTOCONTO=#SOTTOCONTO1))";
 | |
|   }
 | |
|   else if(tipo==4)//query su multirel per sapere se cespite
 | |
|   {
 | |
|     select  << "USE MULTIREL KEY 2\n";
 | |
|     select  << "SELECT ((COD =='CEMAT')&&";
 | |
|     between << "(BETWEEN(SECOND,#COMM,#COMM)))";  
 | |
|   }
 | |
|   else if(tipo==5)//query su movimenti x recupero fornitore
 | |
|   {
 | |
|     select << "USE RMOVANA KEY 2\n"
 | |
|            << "SELECT ((CODCMS == '" << commessa << "')&&(CODCONTO='003071000002')) \n";
 | |
|     join   << "JOIN MOVANA TO RMOVANA INTO NUMREG==NUMREG \n"
 | |
|            << "JOIN MOV TO MOVANA INTO NUMREG=NUMREGCG \n"
 | |
|            << "JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF \n"
 | |
|            << "FROM CODCONTO='003071000002' \n"
 | |
|            << "TO CODCONTO='003071000002' \n";
 | |
|   }
 | |
| 
 | |
|   query << select << between << order_by << join;
 | |
|   
 | |
|   cout << query;
 | |
| 
 | |
|   return query;
 | |
| }
 | |
| 
 | |
| class TRiepCarrelli: public TArray
 | |
| {
 | |
| public:
 | |
|   void add(TString articolo, TString user[], TDate dataDoc,
 | |
|     TCurrency importob, TDate data_gara, TCurrency prezzoAcq,TString descrAcq,
 | |
|     TString modello,TCurrency noleggio,TCurrency manutenzione,
 | |
|                       TString venduto_a, TCurrency prezzoVend,
 | |
|                       TCurrency prezzo_p1, TCurrency prezzo_autom,
 | |
|                       TCurrency prezzo_recup);
 | |
| 
 | |
|   TRiepCarrelli():TArray(){}
 | |
| };
 | |
| 
 | |
| 
 | |
| void TRiepCarrelli::add(TString articolo,TString user[],TDate dataDoc,
 | |
|                         TCurrency importob, TDate data_gara,
 | |
|                         TCurrency prezzoAcq,TString descrAcq,
 | |
|                         TString modello,TCurrency noleggio,TCurrency manutenzione,
 | |
|                         TString venduto_a, TCurrency prezzoVend,
 | |
|                         TCurrency prezzo_p1, TCurrency prezzo_autom,
 | |
|                         TCurrency prezzo_recup) 
 | |
| {
 | |
|   TStruttura_carrelli* struttura = new TStruttura_carrelli(
 | |
|             articolo,user,dataDoc,importob,data_gara,
 | |
|             prezzoAcq,descrAcq,modello, noleggio, manutenzione,
 | |
|             venduto_a,prezzoVend,prezzo_p1,prezzo_autom, prezzo_recup);
 | |
| 
 | |
|   TArray::add(struttura);  
 | |
| }
 | |
| 
 | |
| //metodo principale di elaborazione
 | |
| void TCarrelli_app::elabora(const TMask& mask)const
 | |
| {
 | |
|   bool search = true;
 | |
|   bool venduto = mask.get_bool(F_VENDUTO);
 | |
| 
 | |
|   if(!venduto && TVariant(mask.get(F_COD_CMS))==TVariant(mask.get(F_COD_CMS_TO)))
 | |
|   {
 | |
|     TISAM_recordset carico(get_query(0,true));
 | |
| 
 | |
|     //inserire parametri filtri 
 | |
|     carico.set_var("#FROM",TVariant(mask.get(F_COD_CMS)));//
 | |
|     carico.set_var("#TO",TVariant(mask.get(F_COD_CMS_TO)));//
 | |
|     carico.set_var("#F_VEN",TVariant(mask.get(F_VENDUTO)));//
 | |
|     carico.set_var("#F_CAR",TVariant(mask.get(F_CARICO)));//
 | |
|     for(bool ok = carico.move_first();ok;ok=carico.move_next()){
 | |
|       search = false;
 | |
|       warning_box (TR("Attenzione:Il carrello risulta venduto!"));
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   if(search){
 | |
|     TISAM_recordset riep(get_query(0,venduto));
 | |
|   
 | |
|     //inserire parametri filtri 
 | |
|     riep.set_var("#FROM",TVariant(mask.get(F_COD_CMS)));//
 | |
|     riep.set_var("#TO",TVariant(mask.get(F_COD_CMS_TO)));//
 | |
|     riep.set_var("#F_VEN",TVariant(mask.get(F_VENDUTO)));//
 | |
|     riep.set_var("#F_CAR",TVariant(mask.get(F_CARICO)));//
 | |
| 
 | |
|     TRiepCarrelli riepilogo;
 | |
|     
 | |
|     //inizializzazione variabili da utilizzare nella
 | |
|     //struttura
 | |
|     TString articolo;
 | |
|     TString user[14];  
 | |
|     TString campo;
 | |
|     TString ragsoc;
 | |
|     TString indir;
 | |
|     TDate   dataDoc;
 | |
|     TDate   data_gara;
 | |
|     TString descr_conto;
 | |
|     TString conto;
 | |
|     TString prov;
 | |
|     TString modello;
 | |
|     TString descr_null;
 | |
|     int gruppo1;
 | |
|     int conto1;
 | |
|     int sottoGruppo1;
 | |
|     
 | |
|     TCurrency importob;
 | |
|     TCurrency prezzoAcq;
 | |
|     TString venduto_a;
 | |
|     TCurrency prezzoVend;
 | |
|     TCurrency prezzo_p1;
 | |
|     TCurrency noleggio;
 | |
|     TCurrency manutenzione;
 | |
|     TCurrency prezzo_autom;
 | |
|     TCurrency prezzo_recup;
 | |
|     TCurrency prezzo_null;
 | |
|     
 | |
|     TString commessa;
 | |
|     TString commessaOld;
 | |
| 
 | |
|     for(bool ok = riep.move_first();ok;ok=riep.move_next())
 | |
|     {
 | |
|       commessa = riep.get("SALDANA.COMMESSA").as_string();
 | |
|       articolo = riep.get("ANAMAG.CODART").as_string();//A
 | |
|       search = true;
 | |
| 
 | |
|       if(!venduto)
 | |
|       {
 | |
|         TISAM_recordset carico(get_query(0,true));  
 | |
| 
 | |
|         //inserire parametri filtri 
 | |
|         carico.set_var("#FROM",TVariant(mask.get(F_COD_CMS)));//
 | |
|         carico.set_var("#TO",TVariant(mask.get(F_COD_CMS_TO)));//
 | |
|         carico.set_var("#F_VEN",TVariant(mask.get(F_VENDUTO)));//
 | |
|         carico.set_var("#F_CAR",TVariant(mask.get(F_CARICO)));//
 | |
|         for(bool ok = carico.move_first();ok;ok=carico.move_next()){
 | |
|           search = false;
 | |
|           break;
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       if(!search){
 | |
|         continue;
 | |
|       }
 | |
| 
 | |
|       if(commessa==commessaOld || 
 | |
|         commessa.empty() || 
 | |
|         articolo.empty())
 | |
|       {
 | |
|         continue;
 | |
|       }
 | |
|       commessaOld=commessa;
 | |
| 
 | |
|       int numUser = 1;
 | |
|       //if(articolo.not_empty())
 | |
|       {
 | |
|         for(int a = 0; a<14; a++) //da B a N
 | |
|         {
 | |
|           campo = "ANAMAG.USER"; 
 | |
|           campo << numUser;
 | |
|           user[a] = riep.get(campo).as_string();
 | |
|           numUser++;
 | |
|         }
 | |
| 
 | |
|         ragsoc = "";//M
 | |
|         indir  = "";//N
 | |
|         dataDoc= "";//O
 | |
| 
 | |
|         TISAM_recordset bolle(get_query(1));
 | |
|         bolle.set_var("#COMM",TVariant(articolo));
 | |
|         for(bool ok2 = bolle.move_last();ok2;ok2=bolle.move_next())
 | |
|         {
 | |
|           ragsoc = bolle.get("CLIFO.RAGSOC").as_string();
 | |
|           indir  = bolle.get("INDSPED.LOCALITA").as_string();
 | |
|           dataDoc= bolle.get("DATADOC").as_date();
 | |
| 
 | |
|           if(indir.empty())
 | |
|           {
 | |
|             indir = bolle.get("COMUNI.DENCOM").as_string();
 | |
|             prov  = bolle.get("COMUNI.PROVCOM").as_string();
 | |
|             indir.trim() << "(" << prov.trim() << ")";
 | |
|           }
 | |
| 
 | |
|           break;
 | |
|         }
 | |
| 
 | |
|         if(ragsoc.not_empty())
 | |
|         {
 | |
|           user[11] = ragsoc;
 | |
|           user[12] = indir ;
 | |
|         }
 | |
| 
 | |
|         importob = riep.get("COMMESSE.IMPORTOB").as_real();//P
 | |
|         data_gara = riep.get("COMMESSE.DATAGARA").as_string();//Q
 | |
|         modello = riep.get("COMMESSE.DESCRIZ").as_string();//T
 | |
| 
 | |
|         prezzoAcq.set_price(0);//R
 | |
| 
 | |
|         conto="";
 | |
|         TISAM_recordset saldana(get_query(2));
 | |
|         saldana.set_var("#COMM",TVariant(articolo));
 | |
|         for(bool ok3 = saldana.move_first();ok3;ok3=saldana.move_next())
 | |
|         {     
 | |
|           prezzoAcq = prezzoAcq + saldana.get("SALDANA.SALDO").as_real();
 | |
|           conto = saldana.get("SALDANA.CONTO").as_string();
 | |
|         }
 | |
|         
 | |
|         /*if(conto.not_empty())
 | |
|         {
 | |
|           gruppo1 = atoi(conto.sub(0,3));
 | |
|           conto1 = atoi(conto.sub(3,6));
 | |
|           sottoGruppo1 = atoi(conto.sub(6));
 | |
| 
 | |
|           TISAM_recordset pconto(get_query(3));
 | |
|           pconto.set_var("#GRUPPO1",TVariant(long (gruppo1)));//
 | |
|           pconto.set_var("#CONTO1",TVariant(long (conto1)));//
 | |
|           pconto.set_var("#SOTTOCONTO1",TVariant(long (sottoGruppo1)));//
 | |
|           for(bool ok3 = pconto.move_first();ok3;ok3=pconto.move_next())
 | |
|           {     
 | |
|             descr_conto = pconto.get("PCON.DESCR").as_string();
 | |
|             break;
 | |
|           }
 | |
|         }*/ 
 | |
| 
 | |
|     
 | |
|         //RECUPERO FORNITORE
 | |
|         descr_conto=descr_null;//S
 | |
|         TISAM_recordset fornitore(get_query(5,false,commessa));
 | |
|         for(bool ok3 = fornitore.move_last();ok3;ok3=fornitore.move_next())
 | |
|         {
 | |
|           if(fornitore.get("MOVANA.NUMREGCG").as_int() == 0 ||
 | |
|             fornitore.get("MOVANA.NUMREGCG").as_string().empty() ){
 | |
|           }else{
 | |
|             descr_conto = fornitore.get("CLIFO.RAGSOC").as_string();
 | |
|           }    
 | |
|           break;
 | |
|         }
 | |
|         /*if(fornitore.move_next()){
 | |
|           descr_conto = fornitore.get("CLIFO.RAGSOC").as_string();
 | |
|         }*/
 | |
| 
 | |
|         
 | |
|         //NOLEGGIO
 | |
|         noleggio.set_price(0);//U
 | |
|         TISAM_recordset noleg(get_query_saldana("004076000004"));
 | |
|         noleg.set_var("#COMM",TVariant(articolo));
 | |
|         for(bool ok2 = noleg.move_first();ok2;ok2=noleg.move_next())
 | |
|         {     
 | |
|           noleggio = noleggio + noleg.get("SALDANA.SALDO").as_real();
 | |
|         }
 | |
| 
 | |
|         //MANUTENZIONE
 | |
|         manutenzione.set_price(0);//U
 | |
|         TISAM_recordset manut(get_query_saldana("003071000003"));
 | |
|         manut.set_var("#COMM",TVariant(articolo));
 | |
|         for(bool ok2 = manut.move_first();ok2;ok2=manut.move_next())
 | |
|         {     
 | |
|           manutenzione = manutenzione + manut.get("SALDANA.SALDO").as_real();
 | |
|         }
 | |
| 
 | |
|         /*
 | |
|         Scaletta per il recupero del venduto:
 | |
|         1) user1 prelevato da anamag
 | |
|         2) se esiste su SALDANA con il conto 004 076 000003(Venduto)
 | |
|         3) controllo su multirel se si tratta di un cespite
 | |
|         4) se esiste su SALDANA con il conto 003 071 000002 (acquistato)
 | |
|         5) se esiste su SALDANA con il conto 003 081 000043 
 | |
|            sino al 003 081 999999 (leasing)
 | |
|         */
 | |
|         venduto_a = user[0];//W
 | |
|         prezzoVend.set_price(0);//X
 | |
|         if(venduto_a.empty())
 | |
|         {
 | |
|           //VENDUTO
 | |
|           TISAM_recordset saldana(get_query_saldana("004076000003"));
 | |
|           saldana.set_var("#COMM",TVariant(articolo));
 | |
|           for(bool ok2 = saldana.move_last();ok2;ok2=saldana.move_next())
 | |
|           {     
 | |
|             venduto_a = "VENDUTO";
 | |
|             prezzoVend = prezzoVend + saldana.get("SALDANA.SALDO").as_real();
 | |
|           }
 | |
| 
 | |
|           if(venduto_a.empty())
 | |
|           {
 | |
|             //CESPITE 
 | |
|             TISAM_recordset cespite(get_query(4));
 | |
|             cespite.set_var("#COMM",TVariant(articolo));
 | |
|             for(bool ok2 = cespite.move_last();ok2;ok2=cespite.move_next())
 | |
|             {     
 | |
|               venduto_a = "CESPITE";
 | |
|               break;
 | |
|             }
 | |
|           }
 | |
| 
 | |
|           if(venduto_a.empty())
 | |
|           {
 | |
|             //ACQUISTATO
 | |
|             TISAM_recordset acquistato(get_query_saldana("003071000002"));
 | |
|             acquistato.set_var("#COMM",TVariant(articolo));
 | |
|             for(bool ok2 = acquistato.move_last();ok2;ok2=acquistato.move_next())
 | |
|             {     
 | |
|               venduto_a = "ACQUISTATO";
 | |
|               break;
 | |
|             }
 | |
|           }
 | |
| 
 | |
|           if(venduto_a.empty())
 | |
|           {
 | |
|             //LEASING
 | |
|             TISAM_recordset leasing(get_query_saldana("?=","003081*"));
 | |
|             leasing.set_var("#COMM",TVariant(articolo));
 | |
|             for(bool ok2 = leasing.move_last();ok2;ok2=leasing.move_next())
 | |
|             {     
 | |
|               venduto_a = "LEASING";
 | |
|               break;
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         prezzo_p1 = (prezzoAcq + manutenzione)*1.10;//Y  
 | |
|         prezzo_autom = (prezzo_p1.get_num() * 1.1 * 1.2) - (noleggio.get_num()/2.0);//Z
 | |
| 
 | |
|         prezzo_recup = noleggio - prezzoVend - prezzo_p1;//AB
 | |
| 
 | |
|         riepilogo.add(articolo,user,dataDoc,importob,data_gara,
 | |
|                       prezzoAcq,descr_conto,modello,
 | |
|                       noleggio,manutenzione,venduto_a,prezzoVend,
 | |
|                       prezzo_p1, prezzo_autom,prezzo_recup);
 | |
| 
 | |
|         //TString pippo1 = prezzo_p1.string();
 | |
| 
 | |
|         prezzo_p1 = prezzo_null;
 | |
|         prezzoAcq = prezzo_null;
 | |
|         manutenzione = prezzo_null;
 | |
|         prezzo_autom = prezzo_null;
 | |
|         prezzo_recup = prezzo_null;
 | |
|         noleggio = prezzo_null;
 | |
|         prezzoVend = prezzo_null;
 | |
|       }
 | |
|     } 
 | |
| 
 | |
|     //gestione report
 | |
|     TCarrelli_report rep;
 | |
|     bool stampa = rep.load("pd5317100");
 | |
|     TCarrelli_recordset* riep_set = new TCarrelli_recordset();
 | |
|     rep.set_recordset(riep_set);
 | |
| 
 | |
|     //scandisce clienti e tiene buoni solo quelli valorizzati
 | |
|     FOR_EACH_ARRAY_ITEM(riepilogo,c,obj)
 | |
|     {
 | |
|       TStruttura_carrelli& s = *(TStruttura_carrelli*) obj;
 | |
|         
 | |
|       riep_set->new_rec();
 | |
|       int colonna = 0;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._articolo)));//A
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user1)));//B
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user2)));//C
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user3)));//D
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user4)));//E
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user5)));//F
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user6)));//G
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user7)));//H
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user8)));//I
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user9)));//J
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user10)));//K
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user11)));//L
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user12)));//M
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user13)));//N
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._data_doc)));//O
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant((s._importob).string()));//P
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._data_gara)));//Q
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._prezzoAcq).string())));//R
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._descr_conto)));//S
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._modello)));//T
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._noleggio).string())));//U
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._manutenzione).string())));//V
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._venduto_a)));//W
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._prezzo_vend).string())));//X
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._prezzo_p1).string())));//Y
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._prezzo_autom).string())));//Z
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant(s._user14)));//AA
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,TVariant(TVariant((s._prezzo_recup).string())));//AB
 | |
|       colonna++;
 | |
|     }
 | |
| 
 | |
|     //Crea file che contiene il recordset
 | |
|     //riep_set->save_as("c:\\riepilogoBolla.txt");
 | |
| 
 | |
|     //Se il report esiste..
 | |
|     if(stampa)
 | |
|     {
 | |
|       //carica tutte le variabili del report.
 | |
|       rep.mask2report(mask);
 | |
| 
 | |
|       TReport_book b;
 | |
|       bool ok = b.add(rep);// Richiede parametri di stampa in base alla maschera omonima
 | |
|       if (ok)
 | |
|       {
 | |
|         //Se esiste almeno 1 pagina
 | |
|         if (b.pages() > 0)
 | |
|           b.print_or_preview(); // Stampa effettivamente
 | |
|         else
 | |
|           warning_box (TR("Nessun record estratto per i parametri inseriti"));
 | |
|       }
 | |
|     }
 | |
|   }
 | |
|   
 | |
|   
 | |
| }
 | |
| 
 | |
| void TCarrelli_app::main_loop()
 | |
| {
 | |
|   TCarrelli_mask mask;
 | |
| 
 | |
|   //Setto come check iniziale il venduto a Si
 | |
|   mask.set("#F_VEN","X");
 | |
| 
 | |
|   while(mask.run()==K_ENTER)
 | |
|   {
 | |
|     elabora(mask);    
 | |
|   }  
 | |
| }
 | |
| 
 | |
| int pd5317100(int argc, char* argv[])
 | |
| {
 | |
|   TCarrelli_app app;
 | |
|   app.run(argc, argv, TR("Stampa Listino Carrelli"));
 | |
|   return 0;
 | |
| } |