Patch level : 10.0

Files correlati     : pd5317.exe pd5317100.rep
Ricompilazione Demo : [ ]
Commento            :


git-svn-id: svn://10.65.10.50/branches/R_10_00@22515 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2011-12-05 10:11:53 +00:00
parent 81d7217cd8
commit 541c0236eb
2 changed files with 301 additions and 85 deletions

View File

@ -88,44 +88,44 @@ class TCarrelli_report : public TReport
{ {
protected: protected:
virtual bool use_mask() { return false; } 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 class TCarrelli_app: public TSkeleton_application
{ {
protected: protected:
virtual void main_loop(); virtual void main_loop();
void elabora(const TMask& mask) const; void elabora(const TMask& mask) const;
TString get_query(int tipo, bool venduto = false, const TString& commessa = EMPTY_STRING) const; const TString& get_query(int tipo, bool venduto = false, const TString& commessa = EMPTY_STRING) const;
TString get_query_saldana(TString codice) const; const TString& get_query_saldana(const char* codice, const char* operatore = "==") const;
TString get_query_saldana(TString codice, TString operatore) const; const char* extra_modules() const { return "mg"; }
const char * TCarrelli_app::extra_modules() const;
}; };
const char * TCarrelli_app::extra_modules() const { return "mg"; } const TString& TCarrelli_app::get_query_saldana(const char* codice, const char* operatore) const
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 //Stringhe x composizione query
TString query, select, between; TString& query = get_tmp_string();
select << "USE SALDANA KEY 2\n"; query << "USE SALDANA KEY 2\n"
select << "SELECT ((CONTO" << operatore<< "'" << codice << "')&&"; << "SELECT ((CONTO" << operatore<< "'" << codice << "')&&"
between << "(BETWEEN(COMMESSA,#COMM,#COMM)))"; << "(BETWEEN(COMMESSA,#COMM,#COMM)))";
query << select << between;
return query; return query;
} }
TString TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa) const const TString& TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa) const
{ {
//Stringhe x composizione query //Stringhe x composizione query
TString query, select, between, join, order_by; TString select, between, join, order_by;
if(tipo==0)//query su analitica\articoli\commesse if(tipo==0)//query su analitica\articoli\commesse
{ {
@ -181,10 +181,8 @@ TString TCarrelli_app::get_query(int tipo, bool venduto, const TString& commessa
<< "TO CODCONTO='003071000002' \n"; << "TO CODCONTO='003071000002' \n";
} }
TString& query = get_tmp_string();
query << select << between << order_by << join; query << select << between << order_by << join;
cout << query;
return query; return query;
} }
@ -265,19 +263,14 @@ void TCarrelli_app::elabora(const TMask& mask)const
TString prov; TString prov;
TString modello; TString modello;
TString descr_null; TString descr_null;
int gruppo1;
int conto1;
int sottoGruppo1;
TCurrency importob; TCurrency importob;
TCurrency prezzoAcq; TCurrency prezzoAcq;
TString venduto_a; TString venduto_a;
TCurrency prezzoVend; TCurrency prezzoVend;
TCurrency prezzo_p1;
TCurrency noleggio; TCurrency noleggio;
TCurrency manutenzione; TCurrency manutenzione;
TCurrency prezzo_autom;
TCurrency prezzo_recup;
TCurrency prezzo_null; TCurrency prezzo_null;
TString commessa; TString commessa;
@ -482,23 +475,19 @@ void TCarrelli_app::elabora(const TMask& mask)const
} }
} }
prezzo_p1 = (prezzoAcq + manutenzione)*1.10;//Y const TCurrency prezzo_p1 = (prezzoAcq + manutenzione)*1.1;//Y
prezzo_autom = (prezzo_p1.get_num() * 1.1 * 1.2) - (noleggio.get_num()/2.0);//Z const TCurrency prezzo_autom = real((prezzo_p1.get_num() * real(1.1 * 1.2)) - (noleggio.get_num()/2.0)); //Z
prezzo_recup = noleggio - prezzoVend - prezzo_p1;//AB //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,importob,data_gara, riepilogo.add(articolo,user,dataDoc,importob,data_gara,
prezzoAcq,descr_conto,modello, prezzoAcq,descr_conto,modello,
noleggio,manutenzione,venduto_a,prezzoVend, noleggio,manutenzione,venduto_a,prezzoVend,
prezzo_p1, prezzo_autom,prezzo_recup); prezzo_p1, prezzo_autom,prezzo_recup);
//TString pippo1 = prezzo_p1.string();
prezzo_p1 = prezzo_null;
prezzoAcq = prezzo_null; prezzoAcq = prezzo_null;
manutenzione = prezzo_null; manutenzione = prezzo_null;
prezzo_autom = prezzo_null;
prezzo_recup = prezzo_null;
noleggio = prezzo_null; noleggio = prezzo_null;
prezzoVend = prezzo_null; prezzoVend = prezzo_null;
} }
@ -506,9 +495,7 @@ void TCarrelli_app::elabora(const TMask& mask)const
//gestione report //gestione report
TCarrelli_report rep; TCarrelli_report rep;
bool stampa = rep.load("pd5317100"); TCarrelli_recordset* riep_set = (TCarrelli_recordset*)rep.recordset();
TCarrelli_recordset* riep_set = new TCarrelli_recordset();
rep.set_recordset(riep_set);
//scandisce clienti e tiene buoni solo quelli valorizzati //scandisce clienti e tiene buoni solo quelli valorizzati
FOR_EACH_ARRAY_ITEM(riepilogo,c,obj) FOR_EACH_ARRAY_ITEM(riepilogo,c,obj)
@ -517,87 +504,81 @@ void TCarrelli_app::elabora(const TMask& mask)const
riep_set->new_rec(); riep_set->new_rec();
int colonna = 0; int colonna = 0;
riep_set->set(colonna,TVariant(TVariant(s._articolo)));//A riep_set->set(colonna,s._articolo);//A
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user1)));//B riep_set->set(colonna,s._user1);//B
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user2)));//C riep_set->set(colonna,s._user2);//C
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user3)));//D riep_set->set(colonna,s._user3);//D
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user4)));//E riep_set->set(colonna,s._user4);//E
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user5)));//F riep_set->set(colonna,s._user5);//F
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user6)));//G riep_set->set(colonna,s._user6);//G
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user7)));//H riep_set->set(colonna,s._user7);//H
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user8)));//I riep_set->set(colonna,s._user8);//I
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user9)));//J riep_set->set(colonna,s._user9);//J
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user10)));//K riep_set->set(colonna,s._user10);//K
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user11)));//L riep_set->set(colonna,s._user11);//L
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user12)));//M riep_set->set(colonna,s._user12);//M
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user13)));//N riep_set->set(colonna,s._user13);//N
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._data_doc)));//O riep_set->set(colonna,s._data_doc);//O
colonna++; colonna++;
riep_set->set(colonna,TVariant((s._importob).string()));//P riep_set->set(colonna,(s._importob).string());//P
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._data_gara)));//Q riep_set->set(colonna,s._data_gara);//Q
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzoAcq).string())));//R riep_set->set(colonna,(s._prezzoAcq).string());//R
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._descr_conto)));//S riep_set->set(colonna,s._descr_conto);//S
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._modello)));//T riep_set->set(colonna,s._modello);//T
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._noleggio).string())));//U riep_set->set(colonna,(s._noleggio).string());//U
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._manutenzione).string())));//V riep_set->set(colonna,(s._manutenzione).string());//V
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._venduto_a)));//W riep_set->set(colonna,s._venduto_a);//W
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_vend).string())));//X riep_set->set(colonna,(s._prezzo_vend).string());//X
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_p1).string())));//Y riep_set->set(colonna,(s._prezzo_p1).string());//Y
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_autom).string())));//Z riep_set->set(colonna,(s._prezzo_autom).string());//Z
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user14)));//AA riep_set->set(colonna,s._user14);//AA
colonna++; colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_recup).string())));//AB riep_set->set(colonna,(s._prezzo_recup).string());//AB
colonna++; colonna++;
} }
//Crea file che contiene il recordset //Crea file che contiene il recordset
//riep_set->save_as("c:\\riepilogoBolla.txt"); //riep_set->save_as("c:\\riepilogoBolla.txt");
//Se il report esiste.. //carica tutte le variabili del report.
if(stampa) rep.mask2report(mask);
{
//carica tutte le variabili del report.
rep.mask2report(mask);
TReport_book b; TReport_book b;
bool ok = b.add(rep);// Richiede parametri di stampa in base alla maschera omonima bool ok = b.add(rep);// Richiede parametri di stampa in base alla maschera omonima
if (ok) if (ok)
{ {
//Se esiste almeno 1 pagina //Se esiste almeno 1 pagina
if (b.pages() > 0) if (b.pages() > 0)
b.print_or_preview(); // Stampa effettivamente b.print_or_preview(); // Stampa effettivamente
else else
warning_box (TR("Nessun record estratto per i parametri inseriti")); warning_box (TR("Nessun record estratto per i parametri inseriti"));
}
} }
} }
} }
void TCarrelli_app::main_loop() void TCarrelli_app::main_loop()

235
ps/pd5317100.rep Normal file
View File

@ -0,0 +1,235 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report name="pd5317100" orientation="2" lpi="6">
<description>Stampa Listino Carrelli</description>
<font face="Courier New" size="9" />
<section type="Head" height="6">
<field x="44.5" type="Testo" valign="center" align="center" width="38" height="2" pattern="1" text="Stampa Carrelli">
<font face="Courier New" bold="1" size="13" />
</field>
<field x="16" y="1" type="Testo" width="10" pattern="1" text="Data Elab:" />
<field x="27" y="1" type="Stringa" width="12" pattern="1">
<prescript>MESSAGE _TODAY</prescript>
</field>
<field x="89.5" y="1" type="Testo" width="5" pattern="1" text="Pag.:" />
<field x="95.5" y="1" type="Stringa" width="5" pattern="1">
<prescript>MESSAGE _PAGENO</prescript>
</field>
<field border="3" x="0.5" y="3" type="Rettangolo" width="143" height="3" pattern="1" />
<field border="1" x="6.5" y="3" type="Linea" height="3" pattern="1" />
<field x="6.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Modello">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="16.5" y="3" type="Linea" height="3" pattern="1" />
<field x="17.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Matricola">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="27.5" y="3" type="Linea" height="3" pattern="1" />
<field x="27.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Volt-AH">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="37.5" y="3" type="Linea" height="3" pattern="1" />
<field x="57.5" y="3" type="Testo" width="10" pattern="1" text="Mese">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="67.5" y="3" type="Linea" height="3" pattern="1" />
<field x="67.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Riscatto">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="77.5" y="3" type="Linea" height="3" pattern="1" />
<field border="1" x="97.5" y="3" type="Linea" height="3" pattern="1" />
<field x="107.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Venduto A">
<font face="Courier New" bold="1" size="8" />
</field>
<field border="1" x="107.5" y="3" type="Linea" height="3" pattern="1" />
<field border="1" x="117.5" y="3" type="Linea" height="3" pattern="1" />
<field border="1" x="127.5" y="3" type="Linea" height="3" pattern="1" />
<field border="1" x="137.5" y="3" type="Linea" height="3" pattern="1" />
<field x="117.5" y="3.12" type="Stringa" align="center" width="10" height="2" pattern="1">
<font face="Courier New" bold="1" size="6" />
<source>"(PA+RIP+TRANS)*1.10"</source>
</field>
<field x="1.5" y="4" type="Testo" align="center" width="5" pattern="1" text="N&#B0;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="6.5" y="4" type="Testo" align="center" width="10" pattern="1" text="E&#2F;D-N&#B0;Ruote">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="17.5" y="4" type="Testo" align="center" width="10" pattern="1" text="Optional">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="27.5" y="4" type="Testo" align="center" width="10" pattern="1" text="Elev.-Cast.">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="38" y="4" type="Testo" width="10" pattern="1" text="Ditta">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="57.5" y="4" type="Testo" width="10" pattern="1" text="Paese">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="67.5" y="4" type="Testo" align="center" width="10" pattern="1" text="Data">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="77.5" y="4" type="Testo" align="center" width="20" pattern="1" text="N&#B0;Fatt-Cons">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="97.5" y="4" type="Testo" align="center" width="10" pattern="1" text="Nol.Utile">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="107.5" y="4" type="Testo" align="center" width="10" pattern="1" text="Prez.Vend.">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="6.5" y="5" type="Testo" align="center" width="10" pattern="1" text="Tipo">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="17.5" y="5" type="Testo" align="center" width="10" pattern="1" text="Alt.Ingom.">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="27.5" y="5" type="Testo" align="center" width="10" pattern="1" text="Altez.Max.">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="38" y="5" type="Testo" width="10" pattern="1" text="Via">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="77.5" y="5" type="Testo" align="center" width="20" pattern="1" text="Prezzo Acq.">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="97.5" y="5" type="Testo" align="center" width="10" pattern="1" text="Costi Man">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="127.5" y="5" type="Testo" align="center" width="10" pattern="1" text="E RECUP">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="137.5" y="5" type="Testo" align="center" width="6" pattern="1" text="ORE">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="117.5" y="5.12" type="Testo" align="center" width="10" pattern="1" text="Prezzo Aut">
<font face="Courier New" bold="1" size="8" />
</field>
</section>
<section type="Head" level="1" />
<section type="Body" />
<section type="Body" level="1" height="3.2">
<field border="1" x="0.5" type="Linea" height="3" pattern="1" />
<field border="1" x="6.5" type="Linea" height="3" pattern="1" />
<field x="6.5" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>T</source>
</field>
<field x="16.5" type="Stringa" align="center" width="11" pattern="1">
<font face="Courier New" size="7" />
<source>F</source>
</field>
<field border="1" x="16.5" type="Linea" height="3" pattern="1" />
<field border="1" x="27.5" type="Linea" height="3" pattern="1" />
<field x="27.5" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>J</source>
</field>
<field border="1" x="37.5" type="Linea" height="3" pattern="1" />
<field x="57.5" type="Stringa" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>O</source>
</field>
<field x="67.5" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>P</source>
</field>
<field border="1" x="67.5" type="Linea" height="3" pattern="1" />
<field border="1" x="77.5" type="Linea" height="3" pattern="1" />
<field x="78" type="Stringa" align="center" width="19.5" height="2" pattern="1">
<font face="Courier New" size="8" />
<source>S</source>
</field>
<field border="1" x="97.5" type="Linea" height="3" pattern="1" />
<field border="1" x="107.5" type="Linea" height="3" pattern="1" />
<field x="107.5" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>W</source>
</field>
<field border="1" x="117.2" type="Linea" height="3" pattern="1" />
<field border="1" x="127.35" type="Linea" height="3" pattern="1" />
<field border="1" x="137.52" type="Linea" height="3" pattern="1" />
<field border="1" x="143.47" type="Linea" height="3" pattern="1" />
<field x="1" y="1" type="Stringa" align="center" width="5" pattern="1">
<font face="Courier New" size="8" />
<source>A</source>
</field>
<field x="6.5" y="1" type="Stringa" align="right" width="4" pattern="1">
<font face="Courier New" size="8" />
<source>D</source>
</field>
<field x="10.5" y="1" type="Testo" width="1" pattern="1" text="-" />
<field x="11.5" y="1" type="Stringa" width="5" pattern="1">
<font face="Courier New" size="8" />
<source>C</source>
</field>
<field x="16.5" y="1" type="Stringa" align="center" width="11" pattern="1">
<font face="Courier New" size="7" />
<source>AA</source>
</field>
<field x="27.5" y="1" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="7" />
<source>G</source>
</field>
<field x="38" y="1" type="Stringa" width="29.5" pattern="1">
<font face="Courier New" size="8" />
<source>M</source>
</field>
<field x="67.5" y="1" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>Q</source>
</field>
<field x="97.5" y="1" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>U</source>
</field>
<field x="117.5" y="1" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>Y</source>
</field>
<field x="6.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="7" />
<source>E</source>
</field>
<field x="16.5" y="2" type="Stringa" align="center" width="11" pattern="1">
<font face="Courier New" size="8" />
<source>H</source>
</field>
<field x="27.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>I</source>
</field>
<field x="38" y="2" type="Stringa" width="29.5" pattern="1">
<font face="Courier New" size="8" />
<source>N</source>
</field>
<field x="78" y="2" type="Stringa" align="center" width="19.5" pattern="1">
<font face="Courier New" size="8" />
<source>R</source>
</field>
<field x="97.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>V</source>
</field>
<field x="107.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>X</source>
</field>
<field x="117.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>Z</source>
</field>
<field x="127.5" y="2" type="Stringa" align="center" width="10" pattern="1">
<font face="Courier New" size="8" />
<source>AB</source>
</field>
<field x="137.5" y="2" type="Stringa" align="center" width="6" pattern="1">
<font face="Courier New" size="8" />
<source>K</source>
</field>
<field border="1" x="0.5" y="3" type="Linea" width="143" height="0" pattern="1" />
<field border="1" x="0.5" y="3.2" type="Linea" width="143" height="0" pattern="1" />
</section>
<section type="Foot" />
<section type="Foot" level="1" />
</report>