Patch level :4.0 /10.0
Files correlati : Ricompilazione Demo : [ ] Commento :conai in corso d'opera git-svn-id: svn://10.65.10.50/trunk@16220 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
294db713c8
commit
db0ffb58f1
229
tp/tp0900.cpp
229
tp/tp0900.cpp
@ -81,8 +81,12 @@ class TDichiarazione_CONAI : public TSkeleton_application
|
||||
|
||||
protected:
|
||||
void elabora(const TMask& mask) const;
|
||||
void scrivi_csv(const TRectype& riga_generata, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie) const;
|
||||
void scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie, const TString& conai_codart) const;
|
||||
void scrivi_csv_doc_con_riga_generata(TDocumento& doc, const int n_riga_generata,
|
||||
TDichiarazione_CONAI_csv_recordset& csv, const int conai_specie) const;
|
||||
void scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie, const TString& conai_codart) const;
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
@ -91,22 +95,18 @@ public:
|
||||
};
|
||||
|
||||
|
||||
void TDichiarazione_CONAI::scrivi_csv(const TRectype& riga_generata, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
//riempie recordset con le righe CONAI del documento che contiene una riga generata CONAI
|
||||
void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(TDocumento& doc, const int n_riga_generata, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie) const
|
||||
{
|
||||
//crea la testata delle righedoc per poter fare vari calcoli (e intanto il tempo se ne va...)
|
||||
const int anno = riga_generata.get_int(RDOC_ANNO);
|
||||
const TString4 codnum = riga_generata.get(RDOC_CODNUM);
|
||||
const long numdoc = riga_generata.get_long(RDOC_NDOC);
|
||||
//prende dalla riga i dati che gli servono per fare vari calcoli
|
||||
const TRiga_documento& riga_generata = doc[n_riga_generata];
|
||||
const TString80 conai_codart = riga_generata.get(RDOC_CODART); //questo ci serve per trovare le righe conai
|
||||
const real totale_qta_assogg = riga_generata.get_real(RDOC_QTA); //questo ci serve per le quantita' assoggetate o no
|
||||
|
||||
TGeneric_distrib agip(totale_qta_assogg, 5); //distrib per ridistribuire le % dei quantitativi assoggetati
|
||||
TArray qta_AB_conai; //array con le quantita' conai totali (A+B)
|
||||
|
||||
//documento della riga generata, e quindi anche di tutte le altre righe conai
|
||||
TDocumento doc('D', anno, codnum, numdoc);
|
||||
|
||||
//scopre se il doc e' una NAC
|
||||
const bool is_nac = doc.is_nota_credito();
|
||||
|
||||
@ -129,9 +129,8 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& riga_generata, TDichiarazi
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
const TString& codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
|
||||
if (codagg1 == conai_codart && codagg2.full())
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
//quantita' totale conai (A + B) sul report
|
||||
const real n = rdoc.calc_conai_qta(conai_specie);
|
||||
@ -149,10 +148,17 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& riga_generata, TDichiarazi
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
const TString& codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
|
||||
if (codagg1 == conai_codart && codagg2.full())
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
//se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
|
||||
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
if (codagg2.empty())
|
||||
codagg2 = codagg1;
|
||||
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
||||
if (codagg2 == codagg1)
|
||||
codagg2 << "99";
|
||||
|
||||
//creazione di un nuovo record da esportare
|
||||
csv.new_rec("");
|
||||
|
||||
@ -174,7 +180,7 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& riga_generata, TDichiarazi
|
||||
|
||||
//prezzo
|
||||
const real prezzo = riga_generata.get_real(RDOC_PREZZO); //va preso dalla riga generata
|
||||
csv.set(10, TVariant(prezzo));
|
||||
csv.set(10, TVariant(prezzo));
|
||||
|
||||
//um conai
|
||||
const TString4 umqta = cache().get("SPP", conai_codart, "S7"); //unita' di misura dalla tabella SPP
|
||||
@ -184,25 +190,164 @@ void TDichiarazione_CONAI::scrivi_csv(const TRectype& riga_generata, TDichiarazi
|
||||
real qta_tot_conai = (real&)qta_AB_conai[i];
|
||||
if (is_nac)
|
||||
qta_tot_conai = -qta_tot_conai;
|
||||
csv.set(12, TVariant(qta_tot_conai));
|
||||
csv.set(15, TVariant(qta_tot_conai));
|
||||
|
||||
//percentuale di esenzione conai al 100%?
|
||||
const real perc = rdoc.get_real(RDOC_QTAGG2);
|
||||
|
||||
//quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato)
|
||||
real qta_assoggettata_conai = agip.get();
|
||||
|
||||
if (perc == CENTO)
|
||||
qta_assoggettata_conai = ZERO;
|
||||
|
||||
if (is_nac)
|
||||
qta_assoggettata_conai = -qta_assoggettata_conai;
|
||||
csv.set(13, TVariant(qta_assoggettata_conai));
|
||||
|
||||
//quantita' esente conai (A) sul report
|
||||
const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai;
|
||||
csv.set(14, TVariant(qta_esente_conai));
|
||||
csv.set(12, TVariant(qta_esente_conai));
|
||||
|
||||
//valore totale contributo (BxC) sul report
|
||||
const real totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||
csv.set(15, TVariant(totale_contrib_conai));
|
||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//riempie recordset con le righe CONAI del documento che NON ha una riga generata CONAI;trattasi di documenti..
|
||||
//..farlocchi costruiti ad arte per correggere le vaccate dei rompiscatolifici
|
||||
void TDichiarazione_CONAI::scrivi_csv_doc_speciale(TDocumento& doc, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie, const TString& conai_codart) const
|
||||
{
|
||||
//scopre se il doc e' una NAC
|
||||
const bool is_nac = doc.is_nota_credito();
|
||||
|
||||
//prende la data del documento
|
||||
const TDate& datadoc = doc.data();
|
||||
|
||||
//prende il cliente ed i suoi dati
|
||||
TCli_for clifo = doc.clifor();
|
||||
const long clifo_cod = clifo.codice();
|
||||
TString16 clifo_cofi = clifo.get(CLI_COFI);
|
||||
if (clifo_cofi.empty())
|
||||
clifo_cofi = clifo.get(CLI_PAIV);
|
||||
|
||||
const int nrighe = doc.rows();
|
||||
|
||||
//ciclo di riempimento delle righe csv;scandisce solo l'array con i valori compilati
|
||||
for (int i = 1; i <= nrighe; i++)
|
||||
{
|
||||
const TRiga_documento& rdoc = doc[i];
|
||||
|
||||
//servono SOLO le righe CONAI!!!!!
|
||||
const TString& codagg1 = rdoc.get(RDOC_CODAGG1);
|
||||
|
||||
if (codagg1 == conai_codart)
|
||||
{
|
||||
//se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica
|
||||
TString4 codagg2 = rdoc.get(RDOC_CODAGG2);
|
||||
if (codagg2.empty())
|
||||
codagg2 = codagg1;
|
||||
//puo' capitare che la sottocategoria sia stata troncata alla categoria
|
||||
if (codagg2 == codagg1)
|
||||
codagg2 << "99";
|
||||
|
||||
//creazione di un nuovo record da esportare
|
||||
csv.new_rec("");
|
||||
|
||||
//riempie i campi del record del csv
|
||||
//codnum-anno-ndoc-datadoc-codcli-cofi-nriga-codagg1-codagg2-prezzo-um-conai(AB)-conai(B)-conai(A)
|
||||
//parte chiave della riga
|
||||
csv.set(0, TVariant(rdoc.get(RDOC_CODNUM)));
|
||||
csv.set(1, TVariant(rdoc.get(RDOC_ANNO)));
|
||||
csv.set(2, TVariant(rdoc.get(RDOC_NDOC)));
|
||||
csv.set(3, TVariant(datadoc));
|
||||
csv.set(4, TVariant(clifo_cod));
|
||||
csv.set(5, TVariant(clifo_cofi));
|
||||
csv.set(6, TVariant(rdoc.get(RDOC_CODART)));
|
||||
csv.set(7, TVariant(rdoc.get(RDOC_NRIGA)));
|
||||
|
||||
//codici conai
|
||||
csv.set(8, TVariant(codagg1)); //codice materiale conai (es. carta, legno...)
|
||||
csv.set(9, TVariant(codagg2)); //sottocodice materiale (es. carta imballo, busta...)
|
||||
|
||||
//prezzo
|
||||
const real prezzo = rdoc.get_real(RDOC_PREZZO); //va preso dalla riga stessa
|
||||
csv.set(10, TVariant(prezzo));
|
||||
|
||||
//um conai
|
||||
const TString4 umqta = cache().get("SPP", conai_codart, "S7"); //unita' di misura dalla tabella SPP
|
||||
csv.set(11, TVariant(umqta));
|
||||
|
||||
//quantita' totale conai (A + B) sul report (le NAC hanno segno rovesciato)
|
||||
real qta_tot_conai = rdoc.get_real(RDOC_QTA);
|
||||
if (is_nac)
|
||||
qta_tot_conai = -qta_tot_conai;
|
||||
csv.set(15, TVariant(qta_tot_conai));
|
||||
|
||||
//percentuale di esenzione conai al 100%?
|
||||
const real perc = rdoc.get_real(RDOC_QTAGG2);
|
||||
|
||||
//quantita' assoggettata (B) sul report (le NAC hanno segno rovesciato)
|
||||
real qta_assoggettata_conai = qta_tot_conai;
|
||||
|
||||
if (perc == CENTO)
|
||||
qta_assoggettata_conai = ZERO;
|
||||
|
||||
if (is_nac)
|
||||
qta_assoggettata_conai = -qta_assoggettata_conai;
|
||||
csv.set(13, TVariant(qta_assoggettata_conai));
|
||||
|
||||
//quantita' esente conai (A) sul report
|
||||
const real qta_esente_conai = qta_tot_conai - qta_assoggettata_conai; //deve essere sempre ZERO!
|
||||
csv.set(12, TVariant(qta_esente_conai));
|
||||
|
||||
//valore totale contributo (BxC) sul report
|
||||
const TCurrency totale_contrib_conai = qta_assoggettata_conai * prezzo;
|
||||
csv.set(14, TVariant(totale_contrib_conai.get_num()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//crea il documento che contiene la riga che gli viene passata,cerca la riga generata ed in base al risultato della ricerca chiama..
|
||||
//..il metodo adatto
|
||||
void TDichiarazione_CONAI::scrivi_csv(const TRectype& prima_riga, TDichiarazione_CONAI_csv_recordset& csv,
|
||||
const int conai_specie, const TString& conai_codart) const
|
||||
{
|
||||
//crea la testata delle righedoc per poter fare vari calcoli (e intanto il tempo se ne va...)
|
||||
const int anno = prima_riga.get_int(RDOC_ANNO);
|
||||
const TString4 codnum = prima_riga.get(RDOC_CODNUM);
|
||||
const long numdoc = prima_riga.get_long(RDOC_NDOC);
|
||||
|
||||
//documento della prima riga e quindi anche di tutte le altre righe conai
|
||||
TDocumento doc('D', anno, codnum, numdoc);
|
||||
|
||||
//cerca la riga generata (in tal caso e' un documento con righe CONAI giuste)
|
||||
const int nrighe = doc.rows();
|
||||
|
||||
int n_riga_generata = 0;
|
||||
for (int j = 1; j <= nrighe; j++)
|
||||
{
|
||||
const TRiga_documento& rdoc = doc[j];
|
||||
//c'è la riga generata con codart di tipo conai (sia automatica che manuale)?
|
||||
if (rdoc.get(RDOC_CODART) == conai_codart && (rdoc.is_spese() || rdoc.is_generata()))
|
||||
{
|
||||
n_riga_generata = j;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (n_riga_generata > 0)
|
||||
scrivi_csv_doc_con_riga_generata(doc, n_riga_generata, csv, conai_specie);
|
||||
else
|
||||
scrivi_csv_doc_speciale(doc, csv, conai_specie, conai_codart);
|
||||
|
||||
}
|
||||
|
||||
|
||||
static int compare_csv_rows_specie(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
TToken_string& s1 = *(TToken_string*)*o1;
|
||||
@ -329,11 +474,17 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
||||
//cerca le righe con numerazione e tipo indicate nello sheet;prende sia le righe che generano CONAI (per avere il codice conai,..
|
||||
//..le quantita' etc) e le righe generate da CONAI (per avere i prezzi)
|
||||
TString query;
|
||||
query << "USE RDOC KEY 5\n";
|
||||
/* query << "USE RDOC KEY 5\n";
|
||||
query << "SELECT (NUM(ANSI(33.DATADOC))>=NUM(ANSI(#DADATA)))&&(NUM(ANSI(33.DATADOC))<=NUM(ANSI(#ADATA)))&&(33.TIPODOC=#TIPODOC)&&(GENERATA=\"X\")\n";
|
||||
query << "JOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC\n";
|
||||
query << "FROM CODART=#CODART ANNO=#ANNO CODNUM=#CODNUM PROVV=\"D\"\n";
|
||||
query << "TO CODART=#CODART ANNO=#ANNO CODNUM=#CODNUM PROVV=\"D\"\n";
|
||||
query << "TO CODART=#CODART ANNO=#ANNO CODNUM=#CODNUM PROVV=\"D\"\n";*/
|
||||
|
||||
query << "USE RDOC KEY 1\n";
|
||||
query << "SELECT (NUM(ANSI(33.DATADOC))>=NUM(ANSI(#DADATA)))&&(NUM(ANSI(33.DATADOC))<=NUM(ANSI(#ADATA)))&&(33.TIPODOC=#TIPODOC)&&(CODAGG1=#CODART)\n";
|
||||
query << "JOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC\n";
|
||||
query << "FROM CODNUM=#CODNUM ANNO=#ANNO PROVV=\"D\"\n";
|
||||
query << "TO CODNUM=#CODNUM ANNO=#ANNO PROVV=\"D\"\n";
|
||||
|
||||
//crea il recordset principale relativo alle righe originali CONAI ed assegna subito i valori delle variabili che restano costanti al cambio..
|
||||
//..numerazione/tipo: sono le date ed il codice articolo
|
||||
@ -366,16 +517,23 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
||||
//E crea pure la progind..
|
||||
TProgind pi(tot_items, TR("Generazione righe..."), true, true);
|
||||
|
||||
long last_ndoc = 0;
|
||||
|
||||
//Scansione del recordset trovato
|
||||
for (bool ok = rdoc.move_first(); ok; ok = rdoc.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
|
||||
scrivi_csv(rdoc.cursor()->curr(), *csv, specie_conai);
|
||||
|
||||
const long ndoc = rdoc.get(RDOC_NDOC).as_int();
|
||||
if (ndoc != last_ndoc)
|
||||
{
|
||||
scrivi_csv(rdoc.cursor()->curr(), *csv, specie_conai, codart.as_string());
|
||||
last_ndoc = ndoc;
|
||||
}
|
||||
|
||||
} //for(bool ok = rdoc.move_first(..
|
||||
|
||||
|
||||
} //FOR_EACH...
|
||||
|
||||
//riordinamento del file secondo:
|
||||
@ -390,8 +548,31 @@ void TDichiarazione_CONAI::elabora(const TMask& mask) const
|
||||
//se richiesto il file in formato excel...
|
||||
if (mask.get_bool(F_EXCEL))
|
||||
{
|
||||
//crea la riga con le intestazioni dei campi e la mette all'inizio
|
||||
csv->insert_rec(0);
|
||||
//riempie i campi del primo record del csv in modo da avere l'intestazione
|
||||
csv->set(0, "CODNUM");
|
||||
csv->set(1, "ANNO");
|
||||
csv->set(2, "NDOC");
|
||||
csv->set(3, "DATADOC");
|
||||
csv->set(4, "CODCLI");
|
||||
csv->set(5, "COFICLI");
|
||||
csv->set(6, "CODART");
|
||||
csv->set(7, "NRIGA");
|
||||
csv->set(8, "CLASSE");
|
||||
csv->set(9, "SOTTOCL");
|
||||
csv->set(10, "PREZZO");
|
||||
csv->set(11, "UM");
|
||||
csv->set(12, "CONAI A");
|
||||
csv->set(13, "CONAI B");
|
||||
csv->set(14, "CONAI BxC");
|
||||
csv->set(15, "CONAI A+B");
|
||||
|
||||
const TString path = mask.get(F_PATH);
|
||||
csv->save_as(path, fmt_text);
|
||||
|
||||
//accoppa la riga con le intestazioni dei campi
|
||||
csv->destroy(0);
|
||||
|
||||
/*#ifdef DBG
|
||||
xvt_sys_goto_url(path, "open");
|
||||
|
165
tp/tp0900ca.rep
165
tp/tp0900ca.rep
@ -66,10 +66,19 @@
|
||||
+
|
||||
+
|
||||
#THIS !
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="62" type="Stringa" hidden="1" width="6" id="50" pattern="1">
|
||||
<prescript description="B1.50 PRESCRIPT">"#F0."
|
||||
#10 @
|
||||
500
|
||||
+
|
||||
+
|
||||
#THIS !
|
||||
</prescript>
|
||||
</field>
|
||||
<field x="10" type="Numero" hidden="1" align="right" width="10" id="101" pattern="1">
|
||||
<source>O</source>
|
||||
<source>M</source>
|
||||
<prescript description="B1.101 PRESCRIPT">#THIS @
|
||||
#20 @
|
||||
+!</prescript>
|
||||
@ -83,12 +92,19 @@
|
||||
<postscript description="B1.102 POSTSCRIPT">MESSAGE ADD,F0.2000</postscript>
|
||||
</field>
|
||||
<field x="50" type="Valuta" hidden="1" align="right" width="10" id="103" pattern="1" text="#########,@@">
|
||||
<source>P</source>
|
||||
<source>O</source>
|
||||
<prescript description="B1.103 PRESCRIPT">#THIS @
|
||||
#40 @
|
||||
+!</prescript>
|
||||
<postscript description="B1.103 POSTSCRIPT">MESSAGE ADD,F0.3000</postscript>
|
||||
</field>
|
||||
<field x="70" type="Numero" hidden="1" align="right" width="10" id="104" pattern="1" hide_zero="1">
|
||||
<source>P</source>
|
||||
<prescript description="B1.104 PRESCRIPT">#THIS @
|
||||
#50 @
|
||||
+!</prescript>
|
||||
<postscript description="B1.104 POSTSCRIPT">MESSAGE ADD,F0.5000</postscript>
|
||||
</field>
|
||||
</section>
|
||||
<section y="26" type="Foot">
|
||||
<font face="Courier New" size="8" />
|
||||
@ -99,121 +115,121 @@
|
||||
<field x="29.25" y="0.25" type="Numero" align="right" width="10" id="110" pattern="1">
|
||||
<prescript description="F0.110 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="1.25" type="Numero" align="right" width="10" id="120" pattern="1">
|
||||
<prescript description="F0.120 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="2.25" type="Numero" align="right" width="10" id="130" pattern="1">
|
||||
<prescript description="F0.130 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="3.25" type="Numero" align="right" width="10" id="140" pattern="1">
|
||||
<prescript description="F0.140 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="4.25" type="Numero" align="right" width="10" id="150" pattern="1">
|
||||
<prescript description="F0.150 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="5.25" type="Numero" align="right" width="10" id="160" pattern="1">
|
||||
<prescript description="F0.160 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="6.25" type="Numero" align="right" width="10" id="170" pattern="1">
|
||||
<prescript description="F0.170 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="7.25" type="Numero" align="right" width="10" id="180" pattern="1">
|
||||
<prescript description="F0.180 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="8.25" type="Numero" align="right" width="10" id="190" pattern="1">
|
||||
<prescript description="F0.190 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="9.25" type="Numero" align="right" width="10" id="199" pattern="1">
|
||||
<prescript description="F0.199 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="0.25" type="Numero" align="right" width="10" id="210" pattern="1">
|
||||
<prescript description="F0.210 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="1.25" type="Numero" align="right" width="10" id="220" pattern="1">
|
||||
<prescript description="F0.220 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="2.25" type="Numero" align="right" width="10" id="230" pattern="1">
|
||||
<prescript description="F0.230 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="3.25" type="Numero" align="right" width="10" id="240" pattern="1">
|
||||
<prescript description="F0.240 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="4.25" type="Numero" align="right" width="10" id="250" pattern="1">
|
||||
<prescript description="F0.250 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="5.25" type="Numero" align="right" width="10" id="260" pattern="1">
|
||||
<prescript description="F0.260 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="6.25" type="Numero" align="right" width="10" id="270" pattern="1">
|
||||
<prescript description="F0.270 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="7.25" type="Numero" align="right" width="10" id="280" pattern="1">
|
||||
<prescript description="F0.280 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="8.25" type="Numero" align="right" width="10" id="290" pattern="1">
|
||||
<prescript description="F0.290 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="9.25" type="Numero" align="right" width="10" id="299" pattern="1">
|
||||
<prescript description="F0.299 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="60.5" y="0.25" type="Valuta" align="right" width="10" id="310" pattern="1" hide_zero="1" text="#########,@@" />
|
||||
@ -226,92 +242,159 @@
|
||||
<field x="60.5" y="7.25" type="Valuta" align="right" width="10" id="380" pattern="1" hide_zero="1" text="#########,@@" />
|
||||
<field x="60.5" y="8.25" type="Valuta" align="right" width="10" id="390" pattern="1" hide_zero="1" text="#########,@@" />
|
||||
<field x="60.5" y="9.25" type="Valuta" align="right" width="10" id="399" pattern="1" hide_zero="1" text="#########,@@" />
|
||||
<field x="53" y="0.25" type="Numero" align="right" width="5" id="410" pattern="1" text="##,@@">
|
||||
<field x="53" y="0.25" type="Valuta" align="right" width="5" id="410" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.410 PRESCRIPT">#310 @
|
||||
#210 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="25" y="12.25" type="Numero" align="right" width="55" id="410" pattern="1" text="LETTERE">
|
||||
<prescript description="F0.410 PRESCRIPT">#3000 @
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="1.25" type="Numero" align="right" width="5" id="420" pattern="1" text="##,@@">
|
||||
<field x="53" y="1.25" type="Valuta" align="right" width="5" id="420" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.420 PRESCRIPT">#320 @
|
||||
#220 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="2.25" type="Numero" align="right" width="5" id="430" pattern="1" text="##,@@">
|
||||
<field x="53" y="2.25" type="Valuta" align="right" width="5" id="430" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.430 PRESCRIPT">#330 @
|
||||
#230 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="3.25" type="Numero" align="right" width="5" id="440" pattern="1" text="##,@@">
|
||||
<field x="53" y="3.25" type="Valuta" align="right" width="5" id="440" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.440 PRESCRIPT">#340 @
|
||||
#240 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="4.25" type="Numero" align="right" width="5" id="450" pattern="1" text="##,@@">
|
||||
<field x="53" y="4.25" type="Valuta" align="right" width="5" id="450" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.450 PRESCRIPT">#350 @
|
||||
#250 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="5.25" type="Numero" align="right" width="5" id="460" pattern="1" text="##,@@">
|
||||
<field x="53" y="5.25" type="Valuta" align="right" width="5" id="460" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.460 PRESCRIPT">#360 @
|
||||
#260 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="6.25" type="Numero" align="right" width="5" id="470" pattern="1" text="##,@@">
|
||||
<field x="53" y="6.25" type="Valuta" align="right" width="5" id="470" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.470 PRESCRIPT">#370 @
|
||||
#270 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="7.25" type="Numero" align="right" width="5" id="480" pattern="1" text="##,@@">
|
||||
<field x="53" y="7.25" type="Valuta" align="right" width="5" id="480" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.480 PRESCRIPT">#380 @
|
||||
#280 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="8.25" type="Numero" align="right" width="5" id="490" pattern="1" text="##,@@">
|
||||
<field x="53" y="8.25" type="Valuta" align="right" width="5" id="490" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.490 PRESCRIPT">#390 @
|
||||
#290 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="53" y="9.25" type="Numero" align="right" width="5" id="499" pattern="1" text="##,@@">
|
||||
<field x="53" y="9.25" type="Valuta" align="right" width="5" id="499" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<prescript description="F0.499 PRESCRIPT">#399 @
|
||||
#299 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="0.25" type="Numero" align="right" width="10" id="510" pattern="1">
|
||||
<prescript description="F0.510 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="1.25" type="Numero" align="right" width="10" id="520" pattern="1">
|
||||
<prescript description="F0.520 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="2.25" type="Numero" align="right" width="10" id="530" pattern="1">
|
||||
<prescript description="F0.530 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="3.25" type="Numero" align="right" width="10" id="540" pattern="1">
|
||||
<prescript description="F0.540 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="4.25" type="Numero" align="right" width="10" id="550" pattern="1">
|
||||
<prescript description="F0.550 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="5.25" type="Numero" align="right" width="10" id="560" pattern="1">
|
||||
<prescript description="F0.560 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="6.25" type="Numero" align="right" width="10" id="570" pattern="1">
|
||||
<prescript description="F0.570 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="7.25" type="Numero" align="right" width="10" id="580" pattern="1">
|
||||
<prescript description="F0.580 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="8.25" type="Numero" align="right" width="10" id="590" pattern="1">
|
||||
<prescript description="F0.590 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="9.25" type="Numero" align="right" width="10" id="599" pattern="1">
|
||||
<prescript description="F0.599 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="29.25" y="10.25" type="Numero" align="right" width="10" id="1000" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<prescript description="F0.1000 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="39.75" y="10.25" type="Numero" align="right" width="10" id="2000" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<prescript description="F0.2000 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
2 ROUND
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="60.5" y="10.25" type="Valuta" align="right" width="10" id="3000" pattern="1" text="#########,@@">
|
||||
<field x="60.5" y="10.25" type="Valuta" align="right" width="10" id="3000" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="53" y="10.25" type="Numero" align="right" width="5" id="5000" pattern="1" text="##,@@">
|
||||
<field x="53" y="10.25" type="Valuta" align="right" width="5" id="4000" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<prescript description="F0.5000 PRESCRIPT">#340 @
|
||||
<prescript description="F0.4000 PRESCRIPT">#340 @
|
||||
#240 @
|
||||
F;
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="70.75" y="10.25" type="Numero" align="right" width="10" id="5000" pattern="1">
|
||||
<font face="Courier New" bold="1" size="8" />
|
||||
<prescript description="F0.5000 PRESCRIPT">#THIS @
|
||||
1000 F;
|
||||
3 ROUND
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
<field x="25" y="12.25" type="Numero" align="right" width="55" id="6000" pattern="1" text="LETTERE">
|
||||
<prescript description="F0.6000 PRESCRIPT">#3000 @
|
||||
#THIS !</prescript>
|
||||
</field>
|
||||
</section>
|
||||
|
Loading…
x
Reference in New Issue
Block a user