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:
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;
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 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 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
const TString& TCarrelli_app::get_query_saldana(const char* codice, const char* operatore) const
{
//Stringhe x composizione query
TString query, select, between;
TString& query = get_tmp_string();
select << "USE SALDANA KEY 2\n";
select << "SELECT ((CONTO" << operatore<< "'" << codice << "')&&";
between << "(BETWEEN(COMMESSA,#COMM,#COMM)))";
query << "USE SALDANA KEY 2\n"
<< "SELECT ((CONTO" << operatore<< "'" << codice << "')&&"
<< "(BETWEEN(COMMESSA,#COMM,#COMM)))";
query << select << between;
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
TString query, select, between, join, order_by;
TString select, between, join, order_by;
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";
}
TString& query = get_tmp_string();
query << select << between << order_by << join;
cout << query;
return query;
}
@ -265,19 +263,14 @@ void TCarrelli_app::elabora(const TMask& mask)const
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;
@ -482,23 +475,19 @@ void TCarrelli_app::elabora(const TMask& mask)const
}
}
prezzo_p1 = (prezzoAcq + manutenzione)*1.10;//Y
prezzo_autom = (prezzo_p1.get_num() * 1.1 * 1.2) - (noleggio.get_num()/2.0);//Z
const TCurrency prezzo_p1 = (prezzoAcq + manutenzione)*1.1;//Y
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,
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;
}
@ -506,9 +495,7 @@ void TCarrelli_app::elabora(const TMask& mask)const
//gestione report
TCarrelli_report rep;
bool stampa = rep.load("pd5317100");
TCarrelli_recordset* riep_set = new TCarrelli_recordset();
rep.set_recordset(riep_set);
TCarrelli_recordset* riep_set = (TCarrelli_recordset*)rep.recordset();
//scandisce clienti e tiene buoni solo quelli valorizzati
FOR_EACH_ARRAY_ITEM(riepilogo,c,obj)
@ -517,87 +504,81 @@ void TCarrelli_app::elabora(const TMask& mask)const
riep_set->new_rec();
int colonna = 0;
riep_set->set(colonna,TVariant(TVariant(s._articolo)));//A
riep_set->set(colonna,s._articolo);//A
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user1)));//B
riep_set->set(colonna,s._user1);//B
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user2)));//C
riep_set->set(colonna,s._user2);//C
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user3)));//D
riep_set->set(colonna,s._user3);//D
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user4)));//E
riep_set->set(colonna,s._user4);//E
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user5)));//F
riep_set->set(colonna,s._user5);//F
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user6)));//G
riep_set->set(colonna,s._user6);//G
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user7)));//H
riep_set->set(colonna,s._user7);//H
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user8)));//I
riep_set->set(colonna,s._user8);//I
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user9)));//J
riep_set->set(colonna,s._user9);//J
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user10)));//K
riep_set->set(colonna,s._user10);//K
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user11)));//L
riep_set->set(colonna,s._user11);//L
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user12)));//M
riep_set->set(colonna,s._user12);//M
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user13)));//N
riep_set->set(colonna,s._user13);//N
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._data_doc)));//O
riep_set->set(colonna,s._data_doc);//O
colonna++;
riep_set->set(colonna,TVariant((s._importob).string()));//P
riep_set->set(colonna,(s._importob).string());//P
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._data_gara)));//Q
riep_set->set(colonna,s._data_gara);//Q
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzoAcq).string())));//R
riep_set->set(colonna,(s._prezzoAcq).string());//R
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._descr_conto)));//S
riep_set->set(colonna,s._descr_conto);//S
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._modello)));//T
riep_set->set(colonna,s._modello);//T
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._noleggio).string())));//U
riep_set->set(colonna,(s._noleggio).string());//U
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._manutenzione).string())));//V
riep_set->set(colonna,(s._manutenzione).string());//V
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._venduto_a)));//W
riep_set->set(colonna,s._venduto_a);//W
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_vend).string())));//X
riep_set->set(colonna,(s._prezzo_vend).string());//X
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_p1).string())));//Y
riep_set->set(colonna,(s._prezzo_p1).string());//Y
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_autom).string())));//Z
riep_set->set(colonna,(s._prezzo_autom).string());//Z
colonna++;
riep_set->set(colonna,TVariant(TVariant(s._user14)));//AA
riep_set->set(colonna,s._user14);//AA
colonna++;
riep_set->set(colonna,TVariant(TVariant((s._prezzo_recup).string())));//AB
riep_set->set(colonna,(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);
//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"));
}
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()

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>