git-svn-id: svn://10.65.10.50/branches/R_10_00@22695 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			590 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			590 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C++
		
	
	
		
			Executable File
		
	
	
	
	
| #include <applicat.h>
 | |
| #include <automask.h>
 | |
| #include <currency.h>
 | |
| #include <progind.h>
 | |
| #include <relation.h>
 | |
| #include <reprint.h>
 | |
| #include <textset.h>
 | |
| #include <utility.h>
 | |
| 
 | |
| #include "pd5317.h"  
 | |
| #include "pd5317100.h"   
 | |
| 
 | |
| #include <doc.h>   
 | |
| #include <mov.h>   
 | |
| #include "../ca/rmovana.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;
 | |
|   TString16 _num_doc;
 | |
|   TCurrency _importob;
 | |
|   TDate _data_gara;
 | |
|   TCurrency _prezzoAcq;
 | |
|   TString _descr_conto;
 | |
|   TString _modello;
 | |
|   TCurrency _noleggio;
 | |
|   TCurrency _revisione, _manutenzione;
 | |
|   TString _venduto_a;
 | |
|   TCurrency _prezzo_vend;
 | |
|   TCurrency _prezzo_p1;
 | |
|   TCurrency _prezzo_autom;
 | |
|   TCurrency _prezzo_recup;
 | |
|   
 | |
|   TStruttura_carrelli() {}
 | |
| 
 | |
|   TStruttura_carrelli(TString articolo,TString user[],TDate dataDoc, const TString& numDoc,
 | |
|         TCurrency importob, TDate data_gara, TCurrency prezzoAcq,TString descrAcq,
 | |
|         TString modello,TCurrency noleggio,TCurrency revisione,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), _num_doc(numDoc),
 | |
|             _importob(importob),_data_gara(data_gara) ,_prezzoAcq(prezzoAcq),
 | |
|             _descr_conto(descrAcq), _modello(modello),_noleggio(noleggio), _revisione(revisione),
 | |
|             _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; }
 | |
| 
 | |
| public:
 | |
|   TCarrelli_report();
 | |
| };
 | |
| 
 | |
| TCarrelli_report::TCarrelli_report()
 | |
| {
 | |
|   load("pd5317100");
 | |
|   set_recordset(new TCarrelli_recordset());
 | |
| }
 | |
| 
 | |
| 
 | |
| class TCarrelli_app: public TSkeleton_application
 | |
| {
 | |
| protected:
 | |
|   virtual void main_loop();
 | |
|   void elabora(const TMask& mask) const;
 | |
|   const TString& get_query(int tipo, bool venduto = false, const TString& commessa = EMPTY_STRING) const;
 | |
|   const TString& get_query_saldana(const char* codice, const char* operatore = "==") const;
 | |
|   const char* extra_modules() const { return "mg"; }
 | |
| };
 | |
| 
 | |
| const TString& TCarrelli_app::get_query_saldana(const char* codice, const char* operatore) const
 | |
| {
 | |
|   //Stringhe x composizione query
 | |
|   TString& query = get_tmp_string();
 | |
| 
 | |
|   query  << "USE SALDANA KEY 2\n"
 | |
|          << "SELECT ((CONTO" << operatore<< "'" << codice << "')&&"
 | |
|          << "(BETWEEN(COMMESSA,#COMM,#COMM)))";  
 | |
| 
 | |
|   return query;
 | |
| }
 | |
| 
 | |
| const TString& TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa) const
 | |
| {
 | |
|   //Stringhe x composizione query
 | |
|   TString 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";
 | |
|     */
 | |
|     select  << "USE RDOC KEY 6 SELECT DOC.TIPODOC='B01'\n";
 | |
|     join    << "JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM==CODNUM NDOC==NDOC\n";
 | |
|     join    << "FROM CODCMS=#COMM\n";  
 | |
|     join    << "TO   CODCMS=#COMM\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)))";  
 | |
|     join    << "\nFROM CONTO=003071000002";  
 | |
|     join    << "\nTO   CONTO=003081999999";  
 | |
|   }
 | |
|   else if(tipo==3)//query su piano dei conti.
 | |
|   {
 | |
|     select << "USE PCON\n"
 | |
|            << "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";
 | |
|   }
 | |
| 
 | |
|   TString& query = get_tmp_string();
 | |
|   query << select << between << order_by << join;
 | |
|   return query;
 | |
| }
 | |
| 
 | |
| class TRiepCarrelli: public TArray
 | |
| {
 | |
| public:
 | |
|   void add(const TString& articolo, TString user[], TDate dataDoc, const TString& numDoc,
 | |
|     TCurrency importob, TDate data_gara, TCurrency prezzoAcq,TString descrAcq,
 | |
|     TString modello,TCurrency noleggio,TCurrency revisione, TCurrency manutenzione,
 | |
|     TString venduto_a, TCurrency prezzoVend, TCurrency prezzo_p1, TCurrency prezzo_autom,
 | |
|     TCurrency prezzo_recup);
 | |
| };
 | |
| 
 | |
| 
 | |
| void TRiepCarrelli::add(const TString& articolo,TString user[],TDate dataDoc, const TString& numDoc,
 | |
|                         TCurrency importob, TDate data_gara,
 | |
|                         TCurrency prezzoAcq,TString descrAcq,
 | |
|                         TString modello,TCurrency noleggio,
 | |
|                         TCurrency revisione, 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,numDoc,importob,data_gara,
 | |
|             prezzoAcq,descrAcq,modello, noleggio, revisione, 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;
 | |
|   const bool venduto = mask.get_bool(F_VENDUTO);
 | |
| 
 | |
|   if(!venduto && !mask.field(F_COD_CMS).empty() && mask.get(F_COD_CMS)==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 = 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",  mask.get(F_COD_CMS));
 | |
|     riep.set_var("#TO",    mask.get(F_COD_CMS_TO));
 | |
|     riep.set_var("#F_VEN", mask.get(F_VENDUTO));
 | |
|     riep.set_var("#F_CAR", mask.get(F_CARICO));
 | |
| 
 | |
|     TRiepCarrelli riepilogo;
 | |
|     
 | |
|     //inizializzazione variabili da utilizzare nella struttura
 | |
|     TString articolo;
 | |
|     TString user[14];  
 | |
|     TString campo;
 | |
|     TString16 numDoc;
 | |
|     TDate   dataDoc;
 | |
|     TDate   data_gara;
 | |
|     TString descr_conto;
 | |
|     TString conto;
 | |
|     TString modello;
 | |
|     TString descr_null;
 | |
|     
 | |
|     TCurrency importob;
 | |
|     TCurrency prezzoAcq;
 | |
|     TString venduto_a;
 | |
|     TCurrency prezzoVend;
 | |
|     TCurrency noleggio;
 | |
|     TCurrency manutenzione, revisione;
 | |
|     
 | |
|     TCurrency prezzo_null;
 | |
|     
 | |
|     TString commessa, commessaOld;
 | |
| 
 | |
|     TProgind pi(riep.items(), title());
 | |
|     for (bool ok = riep.move_first();ok;ok=riep.move_next())
 | |
|     {
 | |
|       if (!pi.addstatus(1))
 | |
|         break;
 | |
| 
 | |
|       commessa = riep.get("SALDANA.COMMESSA").as_string();
 | |
|       articolo = riep.get("ANAMAG.CODART").as_string();//A
 | |
|       if(commessa==commessaOld || commessa.empty() || articolo.empty())
 | |
|         continue;
 | |
| 
 | |
|       commessaOld=commessa;
 | |
| 
 | |
|       if (!venduto)
 | |
|       {
 | |
|         TISAM_recordset carico(get_query(0,true));  
 | |
| 
 | |
|         //inserire parametri filtri 
 | |
|         carico.set_var("#FROM",commessa);//
 | |
|         carico.set_var("#TO",commessa);//
 | |
|         carico.set_var("#F_VEN",TVariant(mask.get(F_VENDUTO)));//
 | |
|         carico.set_var("#F_CAR",TVariant(mask.get(F_CARICO)));//
 | |
|         if (carico.move_first())
 | |
|           continue;
 | |
|       }
 | |
| 
 | |
| 
 | |
|       //if(articolo.not_empty())
 | |
|       {
 | |
|         for(int a = 0; a<14; a++) //da B a N
 | |
|         {
 | |
|           campo = "ANAMAG.USER"; 
 | |
|           campo << (a+1);
 | |
|           user[a] = riep.get(campo).as_string();
 | |
|         }
 | |
| 
 | |
|         dataDoc= "";//O
 | |
| 
 | |
|         TISAM_recordset bolle(get_query(1));
 | |
|         bolle.set_var("#COMM",TVariant(articolo));
 | |
|         if (bolle.move_last())
 | |
|         {
 | |
|           dataDoc= bolle.get("DOC.DATADOC").as_date();
 | |
|           numDoc = bolle.get("DOC.NDOC").as_string();
 | |
|         }
 | |
| 
 | |
|         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= ZERO; //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 += 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));
 | |
|         if (fornitore.move_last())
 | |
|         {
 | |
|           if (fornitore.get("MOVANA.NUMREGCG").as_int() > 0)
 | |
|             descr_conto = fornitore.get("CLIFO.RAGSOC").as_string();
 | |
|         }
 | |
|         
 | |
|         //NOLEGGIO
 | |
|         noleggio = ZERO; //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
 | |
|         revisione = manutenzione = ZERO;
 | |
|         TString query;
 | |
|         query << "USE RMOVANA KEY 4 SELECT CODCONTO='003071000003'"
 | |
|               << "\nJOIN MOVANA INTO NUMREG==NUMREG"
 | |
|               << "\nFROM CODCMS=#COMM\nTO CODCMS=#COMM";
 | |
|         TISAM_recordset manut2(query);
 | |
|         manut2.set_var("#COMM", articolo);
 | |
|         for(bool ok2 = manut2.move_first();ok2;ok2=manut2.move_next())
 | |
|         {     
 | |
|           const TString& dacodnum = manut2.get("MOVANA.DCODNUM").as_string();
 | |
|           const long numreg = manut2.get("MOVANA.NUMREG").as_int();
 | |
|           const real imp = manut2.get(RMOVANA_IMPORTO).as_real(); 
 | |
|           if (dacodnum == "PREV")
 | |
|             revisione += imp;
 | |
|           else
 | |
|             manutenzione += imp;
 | |
|         }
 | |
| 
 | |
|         /*
 | |
|         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 = ZERO;//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 += 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;
 | |
|             }
 | |
|           }
 | |
|         }
 | |
| 
 | |
|         const TCurrency prezzo_p1 = (prezzoAcq + revisione+manutenzione)*1.1;//Y  
 | |
|         const TCurrency prezzo_autom(real(prezzo_p1.get_num() * 1.2 - noleggio.get_num()*0.8)); //Z
 | |
| 
 | |
|         //const TCurrency prezzo_recup = noleggio - prezzoVend - prezzo_p1;  //AB  Vecchio modo
 | |
|         const TCurrency prezzo_recup = prezzoVend + noleggio - prezzo_p1;    //AB  Nuovo modo 
 | |
| 
 | |
|         riepilogo.add(articolo,user,dataDoc,numDoc,importob,data_gara,
 | |
|                       prezzoAcq,descr_conto,modello,
 | |
|                       noleggio,revisione,manutenzione,venduto_a,prezzoVend,
 | |
|                       prezzo_p1, prezzo_autom,prezzo_recup);
 | |
| 
 | |
|         prezzoAcq = prezzo_null;
 | |
|         manutenzione = revisione = prezzo_null;
 | |
|         noleggio = prezzo_null;
 | |
|         prezzoVend = prezzo_null;
 | |
|       }
 | |
|     } 
 | |
| 
 | |
|     //gestione report
 | |
|     TCarrelli_report rep;
 | |
|     TCarrelli_recordset* riep_set = (TCarrelli_recordset*)rep.recordset();
 | |
| 
 | |
|     //scandisce clienti e tiene buoni solo quelli valorizzati
 | |
|     FOR_EACH_ARRAY_ITEM(riepilogo,c,obj)
 | |
|     {
 | |
|       const TStruttura_carrelli& s = *(TStruttura_carrelli*)obj;
 | |
|         
 | |
|       riep_set->new_rec();
 | |
|       int colonna = 0;
 | |
|       riep_set->set(colonna,s._articolo);//A
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user1);//B
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user2);//C
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user3);//D
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user4);//E
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user5);//F
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user6);//G
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user7);//H
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user8);//I
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user9);//J
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user10);//K
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user11);//L
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user12);//M
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user13);//N
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._data_doc);//O
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._importob.get_num());//P
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._data_gara);//Q
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._prezzoAcq.get_num());//R
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._descr_conto);//S
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._modello);//T
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._noleggio.get_num());//U
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._manutenzione.get_num());//V
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._venduto_a);//W
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._prezzo_vend.get_num());//X
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._prezzo_p1.get_num());//Y
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._prezzo_autom.get_num());//Z
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._user14);//AA
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._prezzo_recup.get_num());//AB
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._revisione.get_num());//AC
 | |
|       colonna++;
 | |
|       riep_set->set(colonna,s._num_doc);//AD
 | |
|       colonna++;
 | |
| 
 | |
|     }
 | |
| 
 | |
|     //Crea file che contiene il recordset
 | |
|     //riep_set->save_as("c:\\riepilogoBolla.txt");
 | |
| 
 | |
|     //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;
 | |
| } |