Patch level :
Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/trunk@19593 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
da8bb58075
commit
c977f2b85d
490
ps/ps0099100.cpp
490
ps/ps0099100.cpp
@ -1,4 +1,4 @@
|
||||
#include "ps0099100a.h"
|
||||
#include "ps0099100.h"
|
||||
|
||||
#include <automask.h>
|
||||
#include <modaut.h>
|
||||
@ -22,7 +22,7 @@ public:
|
||||
virtual ~TStatistiche_ANIVAL_mask() {}
|
||||
};
|
||||
|
||||
TStatistiche_ANIVAL_mask::TStatistiche_ANIVAL_mask() : TAutomask("ps0099100a")
|
||||
TStatistiche_ANIVAL_mask::TStatistiche_ANIVAL_mask() : TAutomask("ps0099100")
|
||||
{
|
||||
}
|
||||
|
||||
@ -81,26 +81,46 @@ class TStatistiche_ANIVAL_csv_recordset : public TCSV_recordset
|
||||
real _tot[13]; //array con i totali per mese (e anno)
|
||||
|
||||
protected:
|
||||
//virtual const TVariant& get(const char* field_name) const;
|
||||
long trova_riga(const TString& codart);
|
||||
long trova_riga(const TToken_string& key, const char tipo_stat, const char tipo_dettaglio);
|
||||
|
||||
public:
|
||||
TStatistiche_ANIVAL_csv_recordset();
|
||||
void aggiungi_riga(const TRiga_documento& riga);
|
||||
TStatistiche_ANIVAL_csv_recordset(const TMask& mask);
|
||||
|
||||
//virtual const TVariant& get(const char* column_name) const;
|
||||
//virtual const TVariant& get(unsigned int column) const { return TCSV_recordset::get(column); }
|
||||
|
||||
void aggiungi_ai_totali(const TRiga_documento& riga, const char tipo_dati);
|
||||
void aggiungi_riga(TDocument_recordset& righe, const char tipo_dati, const char tipo_stat, const char tipo_dettaglio); //const TRiga_documento& riga, const char tipo_dati);
|
||||
void compila_intestazione();
|
||||
void calcola_percentuali();
|
||||
};
|
||||
|
||||
TStatistiche_ANIVAL_csv_recordset::TStatistiche_ANIVAL_csv_recordset()
|
||||
TStatistiche_ANIVAL_csv_recordset::TStatistiche_ANIVAL_csv_recordset(const TMask& mask)
|
||||
: TCSV_recordset("CSV(\"\t\")") //tab separated
|
||||
{
|
||||
//create_field("CODART", -1, 20, _alfafld); //codart
|
||||
FOR_EACH_MASK_FIELD(mask, i, field)
|
||||
{
|
||||
const TFieldref* f = field->field();
|
||||
if (f != NULL)
|
||||
{
|
||||
const TString& name = f->name();
|
||||
set_var(name, field->get(), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*const TVariant& TStatistiche_ANIVAL_csv_recordset::get(const char* field_name) const
|
||||
{
|
||||
if (*field_name == '#')
|
||||
return get_var(field_name);
|
||||
|
||||
return TRecordset::get(field_name);
|
||||
}*/
|
||||
|
||||
void TStatistiche_ANIVAL_csv_recordset::compila_intestazione()
|
||||
{
|
||||
insert_rec(0);
|
||||
//riempie i campi del primo record del csv in modo da avere l'intestazione
|
||||
//riempie i campi del primo record del csv in modo da avere l'intestazione (0=A...29=AD in excel)
|
||||
set(0, "CODART");
|
||||
set(1, "DESCRIZIONE");
|
||||
set(2, "GENNAIO");
|
||||
@ -129,10 +149,13 @@ void TStatistiche_ANIVAL_csv_recordset::compila_intestazione()
|
||||
set(25, "%DIC");
|
||||
set(26, "ANNO");
|
||||
set(27, "%ANNO");
|
||||
set(28, "GRMERC");
|
||||
set(29, "CODCLI");
|
||||
}
|
||||
|
||||
|
||||
//metodo plutonico di ricerca dicotomica su una colonna di csv_recordset
|
||||
long TStatistiche_ANIVAL_csv_recordset::trova_riga(const TString& codart)
|
||||
long TStatistiche_ANIVAL_csv_recordset::trova_riga(const TToken_string& key, const char tipo_stat, const char tipo_dettaglio)
|
||||
{
|
||||
long first = 0;
|
||||
long last = items() - 1;
|
||||
@ -142,8 +165,39 @@ long TStatistiche_ANIVAL_csv_recordset::trova_riga(const TString& codart)
|
||||
{
|
||||
const long guess = (first + last) / 2;
|
||||
move_to(guess);
|
||||
const TString& guess_codart = get(0).as_string();
|
||||
const int diff = guess_codart.compare(codart);
|
||||
//const TString& guess_codart = get(0).as_string(); //ori
|
||||
//const int diff = guess_codart.compare(codart); //ori
|
||||
|
||||
TToken_string guess_key;
|
||||
|
||||
switch (tipo_stat)
|
||||
{
|
||||
case 'A': //articolo
|
||||
guess_key.add(get(0).as_string());
|
||||
break;
|
||||
case 'C': //cliente-codart codart-cliente
|
||||
if (tipo_dettaglio == 'A')
|
||||
{
|
||||
guess_key.add(get(0).as_string()); //colonna 0=A codart
|
||||
guess_key.add(get(29).as_string()); //colonna 29=AD codcf
|
||||
}
|
||||
else
|
||||
{
|
||||
guess_key.add(get(29).as_string()); //colonna 29=AD codcf
|
||||
guess_key.add(get(0).as_string()); //colonna 0=A codart
|
||||
}
|
||||
break;
|
||||
case 'G': //grmerc-codart
|
||||
guess_key.add(get(28).as_string()); //colonna 28=AC grmerc
|
||||
guess_key.add(get(0).as_string());
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
const int diff = guess_key.compare(key);
|
||||
if (diff == 0)
|
||||
{
|
||||
riga = guess;
|
||||
@ -169,7 +223,7 @@ static int compare_csv_rows_codart(const TObject** o1, const TObject** o2)
|
||||
TToken_string& s1 = *(TToken_string*)*o1;
|
||||
TToken_string& s2 = *(TToken_string*)*o2;
|
||||
|
||||
//deve ordinare sul campo codart
|
||||
//deve ordinare sul campo codart ed eventualmente clifo
|
||||
const TString& c1 = s1.get(0);
|
||||
const TString& c2 = s2.get(0);
|
||||
int cmp = c1.compare(c2);
|
||||
@ -177,13 +231,132 @@ static int compare_csv_rows_codart(const TObject** o1, const TObject** o2)
|
||||
return cmp;
|
||||
}
|
||||
|
||||
//metodo per la scrittura del csv
|
||||
void TStatistiche_ANIVAL_csv_recordset::aggiungi_riga(const TRiga_documento& riga)
|
||||
//funzione di ordinamento per il campo grmerc (campo 28 sul csv)
|
||||
static int compare_csv_rows_grmerc_codart(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
TToken_string& s1 = *(TToken_string*)*o1;
|
||||
TToken_string& s2 = *(TToken_string*)*o2;
|
||||
|
||||
//deve ordinare sul campo grmerc ed eventualmente codart
|
||||
TToken_string c1;
|
||||
c1.add(s1.get(28));
|
||||
c1.add(s1.get(0));
|
||||
|
||||
TToken_string c2;
|
||||
c2.add(s2.get(28));
|
||||
c2.add(s2.get(0));
|
||||
|
||||
int cmp = c1.compare(c2);
|
||||
|
||||
return cmp;
|
||||
}
|
||||
|
||||
//funzione di ordinamento per il campo codcf (campo 29 sul csv)
|
||||
static int compare_csv_rows_codcf_codart(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
TToken_string& s1 = *(TToken_string*)*o1;
|
||||
TToken_string& s2 = *(TToken_string*)*o2;
|
||||
|
||||
//deve ordinare sul campo codcf ed eventualmente codart
|
||||
TToken_string c1;
|
||||
c1.add(s1.get(29));
|
||||
c1.add(s1.get(0));
|
||||
|
||||
TToken_string c2;
|
||||
c2.add(s2.get(29));
|
||||
c2.add(s2.get(0));
|
||||
|
||||
int cmp = c1.compare(c2);
|
||||
|
||||
return cmp;
|
||||
}
|
||||
|
||||
//funzione di ordinamento per il campo codcf (campo 29 sul csv)
|
||||
static int compare_csv_rows_codart_codcf(const TObject** o1, const TObject** o2)
|
||||
{
|
||||
TToken_string& s1 = *(TToken_string*)*o1;
|
||||
TToken_string& s2 = *(TToken_string*)*o2;
|
||||
|
||||
//deve ordinare sul campo codart ed eventualmente codcf
|
||||
TToken_string c1;
|
||||
c1.add(s1.get(0));
|
||||
c1.add(s1.get(29));
|
||||
|
||||
TToken_string c2;
|
||||
c2.add(s2.get(0));
|
||||
c2.add(s2.get(29));
|
||||
|
||||
int cmp = c1.compare(c2);
|
||||
|
||||
return cmp;
|
||||
}
|
||||
|
||||
void TStatistiche_ANIVAL_csv_recordset::aggiungi_ai_totali(const TRiga_documento& riga, const char tipo_dati)
|
||||
{
|
||||
//datadoc (serve a stabilire in quale colonna andrà a sommarsi l'importo della riga corrente
|
||||
const TDate datadoc = riga.doc().get_date(DOC_DATADOC);
|
||||
const int mese = datadoc.month();
|
||||
|
||||
real dato;
|
||||
//i dati da analizzare possono essere 'P'rezzi o 'Q'uantità
|
||||
if (tipo_dati == 'P')
|
||||
dato = riga.importo(true, false); //importo riga corrente
|
||||
else
|
||||
dato = riga.quantita(); //qta riga corrente
|
||||
|
||||
//aggiorna l'importone del mese (ricordarsi che l'array parte da 0 quindi ci va -1 nell'indice)
|
||||
_tot[mese - 1] += dato;
|
||||
//aggiorna anche il totale annuale
|
||||
_tot[12] += dato;
|
||||
}
|
||||
|
||||
//metodo per la scrittura del csv
|
||||
void TStatistiche_ANIVAL_csv_recordset::aggiungi_riga(TDocument_recordset& righe,
|
||||
const char tipo_dati, const char tipo_stat, const char tipo_dettaglio)
|
||||
{
|
||||
const TDocumento& doc = righe.doc(righe.cursor()->curr());
|
||||
const int nriga = righe.get(RDOC_NRIGA).as_int();
|
||||
const TRiga_documento& riga = doc[nriga];
|
||||
|
||||
//creazione di un nuovo record da esportare
|
||||
//esiste già questo codart?
|
||||
const TString80 codart = riga.get(RDOC_CODART);
|
||||
long numriga = trova_riga(codart);
|
||||
const long codcf = righe.get("DOC.CODCF").as_int();
|
||||
const TString& grmerc = righe.get("ANAMAG.GRMERC").as_string();
|
||||
|
||||
//attenzione ai vari casi di composizione chiave!
|
||||
//A=articolo G=GrMerc+Articolo C=Cliente+Articolo o Articolo+Cliente in base al tipo di stampa scelta
|
||||
TToken_string key;
|
||||
switch (tipo_stat)
|
||||
{
|
||||
case 'A':
|
||||
key.add(codart);
|
||||
break;
|
||||
case 'C':
|
||||
{
|
||||
if (tipo_dettaglio == 'A') //raccolto per articolo
|
||||
{
|
||||
key.add(codart);
|
||||
key.add(codcf);
|
||||
}
|
||||
else //raccolto per cliente (con o senza esplosione)
|
||||
{
|
||||
key.add(codcf);
|
||||
key.add(codart);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'G':
|
||||
key.add(grmerc);
|
||||
key.add(codart);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
long numriga = trova_riga(key, tipo_stat, tipo_dettaglio);
|
||||
|
||||
if (numriga < 0)
|
||||
{
|
||||
//codart
|
||||
@ -193,28 +366,62 @@ void TStatistiche_ANIVAL_csv_recordset::aggiungi_riga(const TRiga_documento& rig
|
||||
const TString& descrart = cache().get(LF_ANAMAG, codart, ANAMAG_DESCR);
|
||||
set(1, TVariant(descrart));
|
||||
|
||||
//re-sorting per codart
|
||||
sort(compare_csv_rows_codart);
|
||||
numriga = trova_riga(codart);
|
||||
set(28, TVariant(grmerc));
|
||||
set(29, TVariant(codcf));
|
||||
|
||||
//re-sorting per codart (serve perchè solo il recordset ordinato è scannerizzabile con il plutonico metodo dicotomico)
|
||||
switch (tipo_stat)
|
||||
{
|
||||
case 'A':
|
||||
sort(compare_csv_rows_codart);
|
||||
break;
|
||||
case 'C':
|
||||
if (tipo_dettaglio == 'A')
|
||||
sort(compare_csv_rows_codart_codcf);
|
||||
else
|
||||
sort(compare_csv_rows_codcf_codart);
|
||||
break;
|
||||
case 'G':
|
||||
sort(compare_csv_rows_grmerc_codart);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//chiave.add(codart);
|
||||
|
||||
numriga = trova_riga(key, tipo_stat, tipo_dettaglio);
|
||||
|
||||
CHECKS(numriga >= 0, "Articolo bastardo ", (const char*)codart);
|
||||
}
|
||||
//riempimento del record secondo il tracciato:
|
||||
// codart+descrart+12*[impns+%incid]
|
||||
// codart+descrart+12*[impns+%incid]+grmerc+codcf
|
||||
|
||||
//datadoc (serve a stabilire in quale colonna andrà a sommarsi l'importo della riga corrente
|
||||
const TDate datadoc = riga.doc().get_date(DOC_DATADOC);
|
||||
const int mese = datadoc.month();
|
||||
const int column = mese * 2; //le colonne dei mesi sono gennaio=2,febbraio=4,marzo=6...
|
||||
//importo
|
||||
const real importo = riga.importo(true, false); //importo riga corrente
|
||||
real importone = get(column).as_real(); //importo totale della colonna mese corrispondente nel csv
|
||||
importone += importo; //aggiunge l'importo riga all'importone articolo del mese nel csv
|
||||
set(column, importone); //riscrive l'importone aggiornato nella sua colonna..
|
||||
//..(in formato stringa, cioè con la "," e non il "."
|
||||
//aggiorna l'importone del mese (ricordarsi che l'array parte da 0 quindi ci va -1 nell'indice)
|
||||
_tot[mese - 1] += importo;
|
||||
//aggiorna anche il totale annuale
|
||||
_tot[12] += importo;
|
||||
|
||||
real dato;
|
||||
real datone;
|
||||
|
||||
if (tipo_dati == 'P')
|
||||
dato = riga.importo(true, false); //'P'rezzo->importo
|
||||
else
|
||||
dato = riga.quantita(); //'Q'uantita
|
||||
|
||||
//parte comune ai due casi
|
||||
datone = get(column).as_real(); //valora totale della colonna mese corrispondente nel csv
|
||||
datone += dato; //aggiunge il valore riga al valore totale articolo del mese nel csv
|
||||
set(column, datone); //riscrive il valore totale aggiornato nella sua colonna(in formato stringa, cioè con la "," e non il ".")
|
||||
|
||||
|
||||
//aggiunge anche grmerc, utilizzando codartmag per risalire al grmerc (se usasse codart potrebbe non esistere in anagrafica!)
|
||||
set(28, grmerc);
|
||||
//aggiunge pure il cliente
|
||||
set(29, codcf);
|
||||
|
||||
}
|
||||
|
||||
void TStatistiche_ANIVAL_csv_recordset::calcola_percentuali()
|
||||
@ -227,7 +434,8 @@ void TStatistiche_ANIVAL_csv_recordset::calcola_percentuali()
|
||||
{
|
||||
const real imp_art_mese = get(i).as_real();
|
||||
//ricordando che l'array parte da 0
|
||||
const real perc = imp_art_mese * CENTO / _tot[i/2 - 1]; //calcola la % incidenza articolo sul totale per quel mese
|
||||
real perc = imp_art_mese * CENTO / _tot[i/2 - 1]; //calcola la % incidenza articolo sul totale per quel mese
|
||||
perc.round(5);
|
||||
set(i + 1, perc);
|
||||
totale_anno += imp_art_mese;
|
||||
}
|
||||
@ -237,6 +445,7 @@ void TStatistiche_ANIVAL_csv_recordset::calcola_percentuali()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// APPLICAZIONE
|
||||
///////////////////////////////////////////////////////////
|
||||
@ -260,41 +469,149 @@ public:
|
||||
//metodo di base per la ricerca delle righe documento che soddisfano i parametri dell'utonto
|
||||
void TStatistiche_ANIVAL::elabora(const TMask& mask) const
|
||||
{
|
||||
TString query;
|
||||
//scatta la query per la costruzione del recordset
|
||||
query << "USE RDOC KEY 1\n";
|
||||
query << "SELECT ((CODARTMAG!=\"\")&&(BETWEEN(33->DATADOC,#DADATA,#ADATA))&&(BETWEEN(CODARTMAG,#DACODART,#ACODART)))\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";
|
||||
//PARAMETRI DI STAMPA
|
||||
//--------------------
|
||||
//tipo dati da estrarre (si utilizza nel metodo di scrittura riga e totali;stabilisce se si vuole qta o prezzo)
|
||||
const char tipo_dati = mask.get(F_TIPODATA)[0];
|
||||
//tipologia di statistica (Articolo - GruppoMerceologico - Cliente)
|
||||
const char tipo_stat = mask.get(F_TIPOSTAT)[0];
|
||||
//se sceglie per cliente ha 3 possibilità di dettaglio (''=nessuno,'C'=raccolto per cliente,'A'=raccolto per articolo)
|
||||
const char tipo_dettaglio = mask.get(F_DETTAGLIO)[0];
|
||||
|
||||
TDocument_recordset righe(query);
|
||||
righe.set_var("#CODNUM", TVariant(mask.get(F_CODNUM)));
|
||||
righe.set_var("#DADATA", mask.get_date(F_DADATA));
|
||||
righe.set_var("#ADATA", mask.get_date(F_ADATA));
|
||||
righe.set_var("#ANNO", TVariant((long)mask.get_int(F_ANNO)));
|
||||
righe.set_var("#DACODART", TVariant(mask.get(F_DACODART)));
|
||||
righe.set_var("#ACODART", TVariant(mask.get(F_ACODART)));
|
||||
//stampa particolare bernazzalica in caso di UN SOLO CLIENTE selezionato nella stampa per clienete dettagliata per cliente
|
||||
//in questo caso i totali non sono generali ma solo su quel cliente (paranoie!)
|
||||
bool bernazzata = false;
|
||||
if (tipo_stat == 'C' && tipo_dettaglio == 'C')
|
||||
{
|
||||
const long dacli = mask.get_long(F_DACODCLI);
|
||||
const long acodcli = mask.get_long(F_ACODCLI);
|
||||
if (dacli == acodcli)
|
||||
bernazzata = true;
|
||||
}
|
||||
|
||||
//creazione del csv recordset che verra' riempito dai record del recordset righe
|
||||
TStatistiche_ANIVAL_csv_recordset* csv = new TStatistiche_ANIVAL_csv_recordset(mask);
|
||||
|
||||
//recordset per il calcolo dei totali mese/anno;servono per i calcoli futuri delle percentuali
|
||||
TString prequery;
|
||||
prequery << "USE RDOC KEY 1\n";
|
||||
prequery << "SELECT ((CODARTMAG!=\"\")&&(BETWEEN(33->DATADOC,#DADATA,#ADATA))";
|
||||
if (bernazzata)
|
||||
prequery << "&&(DOC.TIPOCF=='C')&&(DOC.CODCF==#DACODCLI)";
|
||||
prequery <<")\n";
|
||||
prequery << "JOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC\n";
|
||||
prequery << "FROM CODNUM=#CODNUM ANNO=#ANNO PROVV='D'\n";
|
||||
prequery << "TO CODNUM=#CODNUM ANNO=#ANNO PROVV='D'\n";
|
||||
TDocument_recordset totali(prequery);
|
||||
totali.set_var("#CODNUM", TVariant(mask.get(F_CODNUM)));
|
||||
totali.set_var("#DADATA", mask.get_date(F_DADATA));
|
||||
totali.set_var("#ADATA", mask.get_date(F_ADATA));
|
||||
totali.set_var("#ANNO", TVariant((long)mask.get_int(F_ANNO)));
|
||||
if (bernazzata)
|
||||
totali.set_var("#DACODCLI", mask.get_long(F_DACODCLI));
|
||||
const long totali_items = totali.items();
|
||||
if (totali_items > 0)
|
||||
{
|
||||
//E crea pure la progind..
|
||||
TProgind pi(totali_items, TR("Calcolo totali mensili ed annuali"), true, true);
|
||||
|
||||
//Scansione del recordset trovato
|
||||
for (bool ok = totali.move_first(); ok; ok = totali.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
const TDocumento& doc = totali.doc(totali.cursor()->curr());
|
||||
const int nriga = totali.get(RDOC_NRIGA).as_int();
|
||||
//scrive sul CSV i campi che servono al file di excel e al report
|
||||
csv->aggiungi_ai_totali(doc[nriga], tipo_dati);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//CREAZIONE QUERY
|
||||
//---------------
|
||||
//scatta la query per la costruzione del recordset
|
||||
TString query;
|
||||
query << "USE RDOC KEY 1\n";
|
||||
query << "SELECT ((CODARTMAG!=\"\")&&(BETWEEN(33->DATADOC,#DADATA,#ADATA))&&";
|
||||
|
||||
switch (tipo_stat)
|
||||
{
|
||||
case 'A': //range su articoli (CODARTMAG)
|
||||
query << "(BETWEEN(CODARTMAG,#DACODART,#ACODART)))\n";
|
||||
break;
|
||||
case 'C':
|
||||
query << "(DOC.TIPOCF=='C')&&(BETWEEN(DOC.CODCF,#DACODCLI,#ACODCLI)))\n";
|
||||
break;
|
||||
case 'G':
|
||||
query << "(BETWEEN(ANAMAG.GRMERC,#DAGRMERC,#AGRMERC)))\n";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//parte comune ai vari casi di statistica della query
|
||||
query << "JOIN DOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC\n";
|
||||
|
||||
//parte non comune (deve joinare anameg per avere il grmerc
|
||||
if (tipo_stat == 'G')
|
||||
query << "JOIN ANAMAG INTO CODART==CODARTMAG\n";
|
||||
|
||||
|
||||
//ri-parte comune
|
||||
query << "FROM CODNUM=#CODNUM ANNO=#ANNO PROVV='D'\n";
|
||||
query << "TO CODNUM=#CODNUM ANNO=#ANNO PROVV='D'\n";
|
||||
|
||||
|
||||
//CREAZIONE RECORDSET
|
||||
//-------------------
|
||||
TDocument_recordset righe(query);
|
||||
|
||||
//parte comune di settaggio variabili
|
||||
righe.set_var("#CODNUM", TVariant(mask.get(F_CODNUM)));
|
||||
righe.set_var("#DADATA", mask.get_date(F_DADATA));
|
||||
righe.set_var("#ADATA", mask.get_date(F_ADATA));
|
||||
righe.set_var("#ANNO", TVariant((long)mask.get_int(F_ANNO)));
|
||||
|
||||
switch(tipo_stat)
|
||||
{
|
||||
case 'A':
|
||||
righe.set_var("#DACODART", TVariant(mask.get(F_DACODART)));
|
||||
righe.set_var("#ACODART", TVariant(mask.get(F_ACODART)));
|
||||
break;
|
||||
case 'C':
|
||||
righe.set_var("#DACODCLI", TVariant(mask.get(F_DACODCLI)));
|
||||
righe.set_var("#ACODCLI", TVariant(mask.get(F_ACODCLI)));
|
||||
break;
|
||||
case 'G':
|
||||
righe.set_var("#DAGRMERC", TVariant(mask.get(F_DAGRMERC)));
|
||||
righe.set_var("#AGRMERC", TVariant(mask.get(F_AGRMERC)));
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
//CREAZIONE STAMPE/ESPORTAZIONI
|
||||
//-----------------------------
|
||||
//se trova (si spera!) almeno una rigadoc buona comincia il bello del programma
|
||||
const long righe_items = righe.items();
|
||||
if (righe_items > 0)
|
||||
{
|
||||
//E crea pure la progind..
|
||||
TProgind pi(righe_items, TR("Generazione file statanival.xls"), true, true);
|
||||
|
||||
//creazione del csv recordset che verra' riempito dai record del recordset righe
|
||||
TStatistiche_ANIVAL_csv_recordset* csv = new TStatistiche_ANIVAL_csv_recordset;
|
||||
TProgind pi(righe_items, TR("Generazione file statistiche..."), true, true);
|
||||
|
||||
//Scansione del recordset trovato
|
||||
for (bool ok = righe.move_first(); ok; ok = righe.move_next())
|
||||
{
|
||||
if (!pi.addstatus(1))
|
||||
break;
|
||||
const TDocumento& doc = righe.doc(righe.cursor()->curr());
|
||||
const int nriga = righe.get(RDOC_NRIGA).as_int();
|
||||
//scrive sul CSV i campi che servono al file di excel e al report
|
||||
csv->aggiungi_riga(doc[nriga]);
|
||||
csv->aggiungi_riga(righe, tipo_dati, tipo_stat, tipo_dettaglio);
|
||||
}
|
||||
|
||||
//aggiorna le colonne delle percentuali
|
||||
@ -305,10 +622,26 @@ void TStatistiche_ANIVAL::elabora(const TMask& mask) const
|
||||
{
|
||||
//crea la riga con le intestazioni dei campi e la mette all'inizio
|
||||
csv->compila_intestazione();
|
||||
//salva il file come richiesto
|
||||
//salva il file come richiesto; il nome del file viene deciso in base al tipo di statistica richiesta; il file alla fine..
|
||||
//..della storia è sempre lo stesso ma ordinato in modo diverso
|
||||
TString path = mask.get(F_PATH);
|
||||
path.lower();
|
||||
path << "\\statanival.xls";
|
||||
path << "\\statanival";
|
||||
switch (tipo_stat)
|
||||
{
|
||||
case 'A':
|
||||
path << "_art.xls";
|
||||
break;
|
||||
case 'C':
|
||||
path << "_cli.xls";
|
||||
break;
|
||||
case 'G':
|
||||
path << "_gmc.xls";
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
csv->save_as(path, fmt_silk);
|
||||
|
||||
//accoppa la riga con le intestazioni dei campi
|
||||
@ -318,22 +651,56 @@ void TStatistiche_ANIVAL::elabora(const TMask& mask) const
|
||||
xvt_sys_goto_url(path, "open");
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
//REPORT DI STAMPA
|
||||
//----------------
|
||||
//creazione del report di stampa
|
||||
TStatistiche_ANIVAL_report rep;
|
||||
bool ok = rep.load("ps0099100a");
|
||||
bool stampa;
|
||||
//in base alle scelte dell'utonto stabilisce quale report usare
|
||||
switch(tipo_stat)
|
||||
{
|
||||
case 'A':
|
||||
stampa = rep.load("ps0099100a");
|
||||
break;
|
||||
case 'C':
|
||||
{
|
||||
switch (tipo_dettaglio)
|
||||
{
|
||||
case 'A':
|
||||
stampa = rep.load("ps0099100e");
|
||||
break;
|
||||
case 'C':
|
||||
stampa = rep.load("ps0099100d");
|
||||
break;
|
||||
default:
|
||||
stampa = rep.load("ps0099100c");
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'G':
|
||||
stampa = rep.load("ps0099100b");
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//setta il recordset...
|
||||
rep.set_recordset(csv);
|
||||
|
||||
if (ok)
|
||||
if (stampa)
|
||||
{
|
||||
TReport_book book;
|
||||
ok = book.add(rep);
|
||||
if (ok)
|
||||
stampa = book.add(rep);
|
||||
if (stampa)
|
||||
book.print_or_preview();
|
||||
}
|
||||
|
||||
} //if(righe_items>0...
|
||||
else
|
||||
delete csv;
|
||||
}
|
||||
|
||||
void TStatistiche_ANIVAL::main_loop()
|
||||
@ -352,6 +719,11 @@ bool TStatistiche_ANIVAL::create()
|
||||
if (!has_module(VEAUT))
|
||||
return error_box(TR("Modulo non autorizzato"));
|
||||
|
||||
//se non paghi ti stronco!!!
|
||||
const TDate oggi(TODAY);
|
||||
if (oggi >= 20091114)
|
||||
return false;
|
||||
|
||||
return TSkeleton_application::create();
|
||||
}
|
||||
|
||||
|
28
ps/ps0099100.h
Executable file
28
ps/ps0099100.h
Executable file
@ -0,0 +1,28 @@
|
||||
// Defines per maschera ps0099100a.uml (statistiche anival)
|
||||
|
||||
#define F_CODNUM 101
|
||||
#define F_DESNUM 102
|
||||
#define F_ANNO 103
|
||||
#define F_DADATA 104
|
||||
#define F_ADATA 105
|
||||
#define F_TIPOSTAT 106
|
||||
#define F_TIPODATA 107
|
||||
#define F_DETTAGLIO 108
|
||||
|
||||
#define F_DACODART 110
|
||||
#define F_DADESART 111
|
||||
#define F_ACODART 112
|
||||
#define F_ADESART 113
|
||||
|
||||
#define F_DAGRMERC 114
|
||||
#define F_DADESGRM 115
|
||||
#define F_AGRMERC 116
|
||||
#define F_ADESGRM 117
|
||||
|
||||
#define F_DACODCLI 118
|
||||
#define F_DADESCLI 119
|
||||
#define F_ACODCLI 120
|
||||
#define F_ADESCLI 121
|
||||
|
||||
#define F_EXCEL 125
|
||||
#define F_PATH 126
|
289
ps/ps0099100.uml
Executable file
289
ps/ps0099100.uml
Executable file
@ -0,0 +1,289 @@
|
||||
#include "ps0099100.h"
|
||||
|
||||
PAGE "Statistiche ANIVAL" -1 -1 0 0
|
||||
|
||||
GROUPBOX -1 78 5
|
||||
BEGIN
|
||||
PROMPT 1 1 "@bParametri documenti di vendita"
|
||||
END
|
||||
|
||||
STRING F_CODNUM 4
|
||||
BEGIN
|
||||
PROMPT 2 2 "Numerazione "
|
||||
USE %NUM
|
||||
INPUT CODTAB F_CODNUM
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_CODNUM CODTAB
|
||||
OUTPUT F_DESNUM S0
|
||||
CHECKTYPE FORCED
|
||||
FLAGS "UPA"
|
||||
FIELD #CODNUM
|
||||
END
|
||||
|
||||
STRING F_DESNUM 50
|
||||
BEGIN
|
||||
PROMPT 22 2 ""
|
||||
USE %NUM KEY 2
|
||||
INPUT S0 F_DESNUM
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_CODNUM
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Anno "
|
||||
USE ESC
|
||||
INPUT CODTAB F_ANNO
|
||||
DISPLAY "Codice Esercizio" CODTAB
|
||||
DISPLAY "Data inizio esercizio" D0
|
||||
DISPLAY "Data fine esercizio " D1
|
||||
CHECKTYPE REQUIRED
|
||||
OUTPUT F_ANNO CODTAB
|
||||
OUTPUT F_DADATA D0
|
||||
OUTPUT F_ADATA D1
|
||||
NUM_EXPR #F_ANNO>0
|
||||
FLAG "AP"
|
||||
FIELD #ANNO
|
||||
END
|
||||
|
||||
DATE F_DADATA
|
||||
BEGIN
|
||||
PROMPT 2 4 "Da data "
|
||||
END
|
||||
|
||||
DATE F_ADATA
|
||||
BEGIN
|
||||
PROMPT 30 4 "A data "
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 5
|
||||
BEGIN
|
||||
PROMPT 1 6 "@bParametri per la generazione statistiche"
|
||||
END
|
||||
|
||||
LIST F_TIPOSTAT 21
|
||||
BEGIN
|
||||
PROMPT 2 7 "Tipo di statistica "
|
||||
ITEM "A|Articoli" MESSAGE HIDE,2@|HIDE,3@|SHOW,1@ //group1=articoli,2=grmerc,3=clienti
|
||||
ITEM "G|Gruppi merceologici" MESSAGE HIDE,1@|HIDE,3@|SHOW,2@
|
||||
ITEM "C|Clienti" MESSAGE HIDE,1@|HIDE,2@|SHOW,3@
|
||||
END
|
||||
|
||||
LIST F_TIPODATA 10
|
||||
BEGIN
|
||||
PROMPT 2 8 "Dati da analizzare "
|
||||
ITEM "P|Prezzi"
|
||||
ITEM "Q|Quantità"
|
||||
FIELD #TIPODATA
|
||||
END
|
||||
|
||||
LIST F_DETTAGLIO 17
|
||||
BEGIN
|
||||
PROMPT 2 9 "Dettagliato per "
|
||||
ITEM "|Non dettagliato"
|
||||
ITEM "A|Articolo"
|
||||
ITEM "C|Cliente"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
GROUPBOX -1 78 5
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bRange di selezione"
|
||||
END
|
||||
|
||||
//group 1: articoli
|
||||
|
||||
STRING F_DACODART 20
|
||||
BEGIN
|
||||
PROMPT 2 12 "Da articolo "
|
||||
KEY 1
|
||||
FLAG "UG"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART F_DACODART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_DACODART CODART
|
||||
OUTPUT F_DADESART DESCR
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_DADESART 50 38
|
||||
BEGIN
|
||||
PROMPT 38 12 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR F_DADESART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_DACODART CODART
|
||||
OUTPUT F_DADESART DESCR
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_ACODART 20
|
||||
BEGIN
|
||||
PROMPT 2 13 "A articolo "
|
||||
KEY 1
|
||||
FLAG "UG"
|
||||
USE LF_ANAMAG
|
||||
INPUT CODART F_ACODART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_ACODART CODART
|
||||
OUTPUT F_ADESART DESCR
|
||||
CHECKTYPE SEARCH
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING F_ADESART 50 38
|
||||
BEGIN
|
||||
PROMPT 38 13 ""
|
||||
USE LF_ANAMAG KEY 2
|
||||
INPUT DESCR F_ADESART
|
||||
DISPLAY "Codice@20" CODART
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
OUTPUT F_ACODART CODART
|
||||
OUTPUT F_ADESART DESCR
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
//group 2: gruppi merceologici
|
||||
|
||||
STRING F_DAGRMERC 3
|
||||
BEGIN
|
||||
PROMPT 2 12 "Da gr.merc. "
|
||||
FLAGS "U"
|
||||
USE GMC KEY 1 SELECT CODTAB[4,5]==""
|
||||
INPUT CODTAB F_DAGRMERC
|
||||
DISPLAY "Codice" CODTAB[1,3]
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_DAGRMERC CODTAB[1,3]
|
||||
OUTPUT F_DADESGRM S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_DADESGRM 50
|
||||
BEGIN
|
||||
PROMPT 22 12 ""
|
||||
USE GMC KEY 2 SELECT CODTAB[4,5]==""
|
||||
INPUT S0 F_DADESGRM
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Codice" CODTAB[1,3]
|
||||
COPY OUTPUT F_DAGRMERC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_AGRMERC 3
|
||||
BEGIN
|
||||
PROMPT 2 13 "A gr.merc. "
|
||||
FLAGS "U"
|
||||
COPY USE F_DAGRMERC
|
||||
INPUT CODTAB F_AGRMERC
|
||||
COPY DISPLAY F_DAGRMERC
|
||||
OUTPUT F_AGRMERC CODTAB[1,3]
|
||||
OUTPUT F_ADESGRM S0
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING F_ADESGRM 50
|
||||
BEGIN
|
||||
PROMPT 22 13 ""
|
||||
COPY USE F_DADESGRM
|
||||
INPUT S0 F_ADESGRM
|
||||
COPY DISPLAY F_DADESGRM
|
||||
COPY OUTPUT F_AGRMERC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
//group 3: clienti
|
||||
|
||||
NUMBER F_DACODCLI 6
|
||||
BEGIN
|
||||
PROMPT 2 12 "Da cliente "
|
||||
FLAGS "GR"
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_DACODCLI
|
||||
DISPLAY "Codice@6R" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
OUTPUT F_DACODCLI CODCF
|
||||
OUTPUT F_DADESCLI RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_DADESCLI 50
|
||||
BEGIN
|
||||
PROMPT 24 12 ""
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_DADESCLI
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice@6R" CODCF
|
||||
COPY OUTPUT F_DACODCLI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
NUMBER F_ACODCLI 6
|
||||
BEGIN
|
||||
PROMPT 2 13 "A cliente "
|
||||
FLAGS "GR"
|
||||
COPY USE F_DACODCLI
|
||||
INPUT TIPOCF "C"
|
||||
INPUT CODCF F_ACODCLI
|
||||
COPY DISPLAY F_DACODCLI
|
||||
OUTPUT F_ACODCLI CODCF
|
||||
OUTPUT F_ADESCLI RAGSOC
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
STRING F_ADESCLI 50
|
||||
BEGIN
|
||||
PROMPT 24 13 ""
|
||||
COPY USE F_DADESCLI
|
||||
INPUT TIPOCF "C"
|
||||
INPUT RAGSOC F_ADESCLI
|
||||
COPY DISPLAY F_DADESCLI
|
||||
COPY OUTPUT F_ACODCLI
|
||||
CHECKTYPE NORMAL
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
//dati per file excel
|
||||
|
||||
BOOLEAN F_EXCEL
|
||||
BEGIN
|
||||
PROMPT 2 16 "Genera file in formato Excel (statanival_ art/gmc/cli .xls)"
|
||||
MESSAGE FALSE CLEAR,F_PATH
|
||||
MESSAGE TRUE ENABLE,F_PATH
|
||||
END
|
||||
|
||||
STRING F_PATH 256 50
|
||||
BEGIN
|
||||
PROMPT 2 17 "Cartella dove salvare il file "
|
||||
DSELECT
|
||||
FLAGS "M"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -2 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -2 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="ps0099100a" orientation="2" lpi="6">
|
||||
<description>Statistiche ANIVAL</description>
|
||||
<description>Statistiche ANIVAL Articolo</description>
|
||||
<font face="Arial Narrow" size="7" />
|
||||
<section type="Head">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
@ -23,10 +23,36 @@
|
||||
<field border="1" y="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
<field border="2" radius="100" x="60" y="0.5" type="Rettangolo" width="60" height="3" pattern="1" />
|
||||
<field x="60" y="1" type="Testo" valign="center" align="center" width="60" height="2" pattern="1" text="INCIDENZA PER ARTICOLO">
|
||||
<font face="Arial" bold="1" size="14" />
|
||||
</field>
|
||||
<field x="10" y="4.5" type="Testo" width="20" pattern="1" text="Tipo dati analizzati:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4.5" type="Array" width="10" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#TIPODATA</source>
|
||||
<list>
|
||||
<li Value="Prezzi" Code="P" />
|
||||
<li Value="Quantita'" Code="Q" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="43" y="4.5" type="Testo" width="15" pattern="1" text="Numerazione:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="57" y="4.5" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#CODNUM</source>
|
||||
</field>
|
||||
<field x="67" y="4.5" type="Testo" width="6" pattern="1" text="Anno:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="75" y="4.5" type="Numero" align="right" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
@ -209,12 +235,12 @@
|
||||
<field x="159" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="173.64" y="0.5" type="Numero" align="right" width="5" id="124" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="165" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="174" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
</report>
|
341
ps/ps0099100b.rep
Executable file
341
ps/ps0099100b.rep
Executable file
@ -0,0 +1,341 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="ps0099100b" orientation="2" lpi="6">
|
||||
<description>Statistiche ANIVAL GrMerc</description>
|
||||
<font face="Arial Narrow" size="7" />
|
||||
<section type="Head">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field x="1" type="Testo" width="10" pattern="1" text="Gr. Merc." />
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field x="31" type="Testo" align="center" width="11" pattern="1" text="Gennaio" />
|
||||
<field x="42" type="Testo" align="center" width="11" pattern="1" text="Febbraio" />
|
||||
<field x="53" type="Testo" align="center" width="11" pattern="1" text="Marzo" />
|
||||
<field x="64" type="Testo" align="center" width="11" pattern="1" text="Aprile" />
|
||||
<field x="75" type="Testo" align="center" width="11" pattern="1" text="Maggio" />
|
||||
<field x="86" type="Testo" align="center" width="11" pattern="1" text="Giugno" />
|
||||
<field x="97" type="Testo" align="center" width="11" pattern="1" text="Luglio" />
|
||||
<field x="108" type="Testo" align="center" width="11" pattern="1" text="Agosto" />
|
||||
<field x="119" type="Testo" align="center" width="11" pattern="1" text="Settembre" />
|
||||
<field x="130" type="Testo" align="center" width="11" pattern="1" text="Ottobre" />
|
||||
<field x="141" type="Testo" align="center" width="11" pattern="1" text="Novembre" />
|
||||
<field x="152" type="Testo" align="center" width="11" pattern="1" text="Dicembre" />
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="165" type="Testo" align="center" width="12" pattern="1" text="ANNUALE" />
|
||||
<field border="1" y="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
<field border="2" radius="100" x="50" y="0.5" type="Rettangolo" width="80" height="3" pattern="1" />
|
||||
<field x="50" y="1" type="Testo" valign="center" align="center" width="80" height="2" pattern="1" text="INCIDENZA PER GRUPPO MERCEOLOGICO">
|
||||
<font face="Arial" bold="1" size="14" />
|
||||
</field>
|
||||
<field x="10" y="4.5" type="Testo" width="20" pattern="1" text="Tipo dati analizzati:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4.5" type="Array" width="10" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#TIPODATA</source>
|
||||
<list>
|
||||
<li Value="Prezzi" Code="P" />
|
||||
<li Value="Quantita'" Code="Q" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="43" y="4.5" type="Testo" width="15" pattern="1" text="Numerazione:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="57" y="4.5" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#CODNUM</source>
|
||||
</field>
|
||||
<field x="67" y="4.5" type="Testo" width="6" pattern="1" text="Anno:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="75" y="4.5" type="Numero" align="right" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2" hidden="1">
|
||||
<groupby>AC</groupby>
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field x="1" type="Stringa" width="3" id="99" pattern="1">
|
||||
<source>AC</source>
|
||||
<prescript description="H2.99 PRESCRIPT">MESSAGE COPY,F2.99</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1" hidden="1">
|
||||
<field type="Stringa" width="6" pattern="1">
|
||||
<source>A</source>
|
||||
</field>
|
||||
<field x="6" type="Stringa" width="24" pattern="1">
|
||||
<source>B</source>
|
||||
</field>
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field x="31" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>C</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101
|
||||
MESSAGE ADD,F2.101</prescript>
|
||||
</field>
|
||||
<field x="38" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>D</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102
|
||||
MESSAGE ADD,F2.102</prescript>
|
||||
</field>
|
||||
<field x="42" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>E</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103
|
||||
MESSAGE ADD,F2.103</prescript>
|
||||
</field>
|
||||
<field x="49" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>F</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104
|
||||
MESSAGE ADD,F2.104</prescript>
|
||||
</field>
|
||||
<field x="53" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>G</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105
|
||||
MESSAGE ADD,F2.105</prescript>
|
||||
</field>
|
||||
<field x="60" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>H</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106
|
||||
MESSAGE ADD,F2.106</prescript>
|
||||
</field>
|
||||
<field x="64" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>I</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107
|
||||
MESSAGE ADD,F2.107</prescript>
|
||||
</field>
|
||||
<field x="71" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>J</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108
|
||||
MESSAGE ADD,F2.108</prescript>
|
||||
</field>
|
||||
<field x="75" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>K</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109
|
||||
MESSAGE ADD,F2.109</prescript>
|
||||
</field>
|
||||
<field x="82" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>L</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110
|
||||
MESSAGE ADD,F2.110</prescript>
|
||||
</field>
|
||||
<field x="86" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>M</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111
|
||||
MESSAGE ADD,F2.111</prescript>
|
||||
</field>
|
||||
<field x="93" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>N</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112
|
||||
MESSAGE ADD,F2.112</prescript>
|
||||
</field>
|
||||
<field x="97" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>O</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113
|
||||
MESSAGE ADD,F2.113</prescript>
|
||||
</field>
|
||||
<field x="104" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>P</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114
|
||||
MESSAGE ADD,F2.114</prescript>
|
||||
</field>
|
||||
<field x="108" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Q</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115
|
||||
MESSAGE ADD,F2.115</prescript>
|
||||
</field>
|
||||
<field x="115" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>R</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116
|
||||
MESSAGE ADD,F2.116</prescript>
|
||||
</field>
|
||||
<field x="119" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>S</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117
|
||||
MESSAGE ADD,F2.117</prescript>
|
||||
</field>
|
||||
<field x="126" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>T</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118
|
||||
MESSAGE ADD,F2.118</prescript>
|
||||
</field>
|
||||
<field x="130" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>U</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119
|
||||
MESSAGE ADD,F2.119</prescript>
|
||||
</field>
|
||||
<field x="137" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>V</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120
|
||||
MESSAGE ADD,F2.120</prescript>
|
||||
</field>
|
||||
<field x="141" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>W</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121
|
||||
MESSAGE ADD,F2.121</prescript>
|
||||
</field>
|
||||
<field x="148" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>X</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122
|
||||
MESSAGE ADD,F2.122</prescript>
|
||||
</field>
|
||||
<field x="152" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Y</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123
|
||||
MESSAGE ADD,F2.123</prescript>
|
||||
</field>
|
||||
<field x="159" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>Z</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124
|
||||
MESSAGE ADD,F2.124</prescript>
|
||||
</field>
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="165" type="Valuta" align="right" width="8" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AA</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125
|
||||
MESSAGE ADD,F2.125</prescript>
|
||||
</field>
|
||||
<field x="173.5" type="Numero" align="right" width="5" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AB</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126
|
||||
MESSAGE ADD,F2.126</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field x="162" type="Testo" valign="center" width="5" pattern="1" text="Pag." />
|
||||
<field x="167" type="Numero" valign="center" align="right" width="3" pattern="1">
|
||||
<source>#REPORT.PAGE</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1">
|
||||
<font face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field border="1" x="30.5" type="Linea" height="1.5" pattern="1" />
|
||||
<field border="1" x="164" type="Linea" height="1.5" pattern="1" />
|
||||
<field x="20" y="0.5" type="Testo" width="10" pattern="1" text="Totali">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="31" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="38" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="42" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="49" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="53" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="60" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="64" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="71" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="75" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="82" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="86" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="93" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="97" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="104" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="108" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="115" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="119" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="126" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="130" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="137" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="141" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="148" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="152" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="159" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="165" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="174" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2">
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="1" type="Stringa" width="3.5" id="99" pattern="1" />
|
||||
<field x="5" type="Stringa" width="25" id="100" pattern="1">
|
||||
<prescript description="F2.100 PRESCRIPT">MESSAGE TABLEREAD,GMC,#99,S0</prescript>
|
||||
</field>
|
||||
<field x="31" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="38" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="42" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="49" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="53" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="60" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="64" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="71" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="75" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="82" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="86" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="93" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="97" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="104" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="108" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="115" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="119" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="126" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="130" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="137" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="141" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="148" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="152" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="159" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="165" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="174" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
</report>
|
341
ps/ps0099100c.rep
Executable file
341
ps/ps0099100c.rep
Executable file
@ -0,0 +1,341 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="ps0099100c" orientation="2" lpi="6">
|
||||
<description>Statistiche ANIVAL Cliente</description>
|
||||
<font face="Arial Narrow" size="7" />
|
||||
<section type="Head">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field x="1" type="Testo" width="10" pattern="1" text="Cliente" />
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field x="31" type="Testo" align="center" width="11" pattern="1" text="Gennaio" />
|
||||
<field x="42" type="Testo" align="center" width="11" pattern="1" text="Febbraio" />
|
||||
<field x="53" type="Testo" align="center" width="11" pattern="1" text="Marzo" />
|
||||
<field x="64" type="Testo" align="center" width="11" pattern="1" text="Aprile" />
|
||||
<field x="75" type="Testo" align="center" width="11" pattern="1" text="Maggio" />
|
||||
<field x="86" type="Testo" align="center" width="11" pattern="1" text="Giugno" />
|
||||
<field x="97" type="Testo" align="center" width="11" pattern="1" text="Luglio" />
|
||||
<field x="108" type="Testo" align="center" width="11" pattern="1" text="Agosto" />
|
||||
<field x="119" type="Testo" align="center" width="11" pattern="1" text="Settembre" />
|
||||
<field x="130" type="Testo" align="center" width="11" pattern="1" text="Ottobre" />
|
||||
<field x="141" type="Testo" align="center" width="11" pattern="1" text="Novembre" />
|
||||
<field x="152" type="Testo" align="center" width="11" pattern="1" text="Dicembre" />
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="165" type="Testo" align="center" width="12" pattern="1" text="ANNUALE" />
|
||||
<field border="1" y="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
<field border="2" radius="100" x="50" y="0.5" type="Rettangolo" width="80" height="3" pattern="1" />
|
||||
<field x="50" y="1" type="Testo" valign="center" align="center" width="80" height="2" pattern="1" text="INCIDENZA PER CLIENTE">
|
||||
<font face="Arial" bold="1" size="14" />
|
||||
</field>
|
||||
<field x="10" y="4.5" type="Testo" width="20" pattern="1" text="Tipo dati analizzati:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4.5" type="Array" width="10" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#TIPODATA</source>
|
||||
<list>
|
||||
<li Value="Prezzi" Code="P" />
|
||||
<li Value="Quantita'" Code="Q" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="43" y="4.5" type="Testo" width="15" pattern="1" text="Numerazione:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="57" y="4.5" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#CODNUM</source>
|
||||
</field>
|
||||
<field x="67" y="4.5" type="Testo" width="6" pattern="1" text="Anno:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="75" y="4.5" type="Numero" align="right" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2" hidden="1">
|
||||
<groupby>AD</groupby>
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field x="1" type="Stringa" width="3" id="99" pattern="1">
|
||||
<source>AD</source>
|
||||
<prescript description="H2.99 PRESCRIPT">MESSAGE COPY,F2.99</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1" hidden="1">
|
||||
<field type="Stringa" width="6" pattern="1">
|
||||
<source>A</source>
|
||||
</field>
|
||||
<field x="6" type="Stringa" width="24" pattern="1">
|
||||
<source>B</source>
|
||||
</field>
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field x="31" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>C</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101
|
||||
MESSAGE ADD,F2.101</prescript>
|
||||
</field>
|
||||
<field x="38" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>D</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102
|
||||
MESSAGE ADD,F2.102</prescript>
|
||||
</field>
|
||||
<field x="42" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>E</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103
|
||||
MESSAGE ADD,F2.103</prescript>
|
||||
</field>
|
||||
<field x="49" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>F</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104
|
||||
MESSAGE ADD,F2.104</prescript>
|
||||
</field>
|
||||
<field x="53" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>G</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105
|
||||
MESSAGE ADD,F2.105</prescript>
|
||||
</field>
|
||||
<field x="60" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>H</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106
|
||||
MESSAGE ADD,F2.106</prescript>
|
||||
</field>
|
||||
<field x="64" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>I</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107
|
||||
MESSAGE ADD,F2.107</prescript>
|
||||
</field>
|
||||
<field x="71" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>J</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108
|
||||
MESSAGE ADD,F2.108</prescript>
|
||||
</field>
|
||||
<field x="75" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>K</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109
|
||||
MESSAGE ADD,F2.109</prescript>
|
||||
</field>
|
||||
<field x="82" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>L</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110
|
||||
MESSAGE ADD,F2.110</prescript>
|
||||
</field>
|
||||
<field x="86" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>M</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111
|
||||
MESSAGE ADD,F2.111</prescript>
|
||||
</field>
|
||||
<field x="93" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>N</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112
|
||||
MESSAGE ADD,F2.112</prescript>
|
||||
</field>
|
||||
<field x="97" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>O</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113
|
||||
MESSAGE ADD,F2.113</prescript>
|
||||
</field>
|
||||
<field x="104" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>P</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114
|
||||
MESSAGE ADD,F2.114</prescript>
|
||||
</field>
|
||||
<field x="108" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Q</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115
|
||||
MESSAGE ADD,F2.115</prescript>
|
||||
</field>
|
||||
<field x="115" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>R</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116
|
||||
MESSAGE ADD,F2.116</prescript>
|
||||
</field>
|
||||
<field x="119" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>S</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117
|
||||
MESSAGE ADD,F2.117</prescript>
|
||||
</field>
|
||||
<field x="126" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>T</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118
|
||||
MESSAGE ADD,F2.118</prescript>
|
||||
</field>
|
||||
<field x="130" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>U</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119
|
||||
MESSAGE ADD,F2.119</prescript>
|
||||
</field>
|
||||
<field x="137" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>V</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120
|
||||
MESSAGE ADD,F2.120</prescript>
|
||||
</field>
|
||||
<field x="141" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>W</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121
|
||||
MESSAGE ADD,F2.121</prescript>
|
||||
</field>
|
||||
<field x="148" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>X</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122
|
||||
MESSAGE ADD,F2.122</prescript>
|
||||
</field>
|
||||
<field x="152" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Y</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123
|
||||
MESSAGE ADD,F2.123</prescript>
|
||||
</field>
|
||||
<field x="159" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>Z</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124
|
||||
MESSAGE ADD,F2.124</prescript>
|
||||
</field>
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="165" type="Valuta" align="right" width="8" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AA</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125
|
||||
MESSAGE ADD,F2.125</prescript>
|
||||
</field>
|
||||
<field x="173.5" type="Numero" align="right" width="5" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AB</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126
|
||||
MESSAGE ADD,F2.126</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field x="162" type="Testo" valign="center" width="5" pattern="1" text="Pag." />
|
||||
<field x="167" type="Numero" valign="center" align="right" width="3" pattern="1">
|
||||
<source>#REPORT.PAGE</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1">
|
||||
<font face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field border="1" x="30.5" type="Linea" height="1.5" pattern="1" />
|
||||
<field border="1" x="164" type="Linea" height="1.5" pattern="1" />
|
||||
<field x="20" y="0.5" type="Testo" width="10" pattern="1" text="Totali">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="31" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="38" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="42" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="49" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="53" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="60" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="64" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="71" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="75" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="82" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="86" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="93" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="97" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="104" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="108" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="115" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="119" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="126" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="130" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="137" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="141" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="148" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="152" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="159" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="165" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="174" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2">
|
||||
<field border="1" x="30.5" type="Linea" pattern="1" />
|
||||
<field border="1" x="164" type="Linea" pattern="1" />
|
||||
<field x="1" type="Stringa" width="4" id="99" pattern="1" />
|
||||
<field x="5.5" type="Stringa" width="25" id="100" pattern="1">
|
||||
<prescript description="F2.100 PRESCRIPT">MESSAGE ISAMREAD,20,TIPOCF='C'!CODCF=#99,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="31" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="38" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="42" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="49" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="53" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="60" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="64" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="71" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="75" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="82" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="86" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="93" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="97" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="104" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="108" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="115" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="119" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="126" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="130" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="137" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="141" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="148" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="152" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="159" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="165" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="174" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
</report>
|
351
ps/ps0099100d.rep
Executable file
351
ps/ps0099100d.rep
Executable file
@ -0,0 +1,351 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="ps0099100d" orientation="2" lpi="6">
|
||||
<description>Statistiche ANIVAL Cliente Dettagliata Cliente</description>
|
||||
<font face="Arial Narrow" size="7" />
|
||||
<section type="Head">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field x="1" type="Testo" width="10" pattern="1" text="Cliente">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field border="1" x="33.5" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="2" pattern="1" />
|
||||
<field x="3.5" y="1" type="Testo" width="10" pattern="1" text="Articolo" />
|
||||
<field x="34" y="1" type="Testo" align="center" width="11" pattern="1" text="Gennaio" />
|
||||
<field x="45" y="1" type="Testo" align="center" width="11" pattern="1" text="Febbraio" />
|
||||
<field x="56" y="1" type="Testo" align="center" width="11" pattern="1" text="Marzo" />
|
||||
<field x="67" y="1" type="Testo" align="center" width="11" pattern="1" text="Aprile" />
|
||||
<field x="78" y="1" type="Testo" align="center" width="11" pattern="1" text="Maggio" />
|
||||
<field x="89" y="1" type="Testo" align="center" width="11" pattern="1" text="Giugno" />
|
||||
<field x="100" y="1" type="Testo" align="center" width="11" pattern="1" text="Luglio" />
|
||||
<field x="111" y="1" type="Testo" align="center" width="11" pattern="1" text="Agosto" />
|
||||
<field x="122" y="1" type="Testo" align="center" width="11" pattern="1" text="Settembre" />
|
||||
<field x="133" y="1" type="Testo" align="center" width="11" pattern="1" text="Ottobre" />
|
||||
<field x="144" y="1" type="Testo" align="center" width="11" pattern="1" text="Novembre" />
|
||||
<field x="155" y="1" type="Testo" align="center" width="11" pattern="1" text="Dicembre" />
|
||||
<field x="168" y="1" type="Testo" align="center" width="12" pattern="1" text="ANNUALE" />
|
||||
<field border="1" y="2" type="Linea" width="180" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
<field border="2" radius="100" x="45" y="0.5" type="Rettangolo" width="90" height="3" pattern="1" />
|
||||
<field x="45" y="1" type="Testo" valign="center" align="center" width="90" height="2" pattern="1" text="INCIDENZA PER CLIENTE DETTAGLIATA PER CLIENTE">
|
||||
<font face="Arial" bold="1" size="14" />
|
||||
</field>
|
||||
<field x="10" y="4.5" type="Testo" width="20" pattern="1" text="Tipo dati analizzati:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4.5" type="Array" width="10" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#TIPODATA</source>
|
||||
<list>
|
||||
<li Value="Prezzi" Code="P" />
|
||||
<li Value="Quantita'" Code="Q" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="43" y="4.5" type="Testo" width="15" pattern="1" text="Numerazione:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="57" y="4.5" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#CODNUM</source>
|
||||
</field>
|
||||
<field x="67" y="4.5" type="Testo" width="6" pattern="1" text="Anno:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="75" y="4.5" type="Numero" align="right" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2">
|
||||
<groupby>AD</groupby>
|
||||
<font face="Arial" bold="1" size="7" />
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field x="1" y="0.5" type="Stringa" width="6" id="99" pattern="1">
|
||||
<source>AD</source>
|
||||
<prescript description="H2.99 PRESCRIPT">MESSAGE COPY,F2.99</prescript>
|
||||
</field>
|
||||
<field x="8" y="0.5" type="Stringa" width="50" id="100" pattern="1">
|
||||
<prescript description="H2.100 PRESCRIPT">MESSAGE ISAMREAD,20,TIPOCF='C'!CODCF=#99,RAGSOC
|
||||
MESSAGE COPY,F2.100</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field x="3" type="Stringa" width="6" pattern="1">
|
||||
<source>A</source>
|
||||
</field>
|
||||
<field x="9" type="Stringa" width="24" pattern="1">
|
||||
<source>B</source>
|
||||
</field>
|
||||
<field border="1" x="33.5" type="Linea" pattern="1" />
|
||||
<field x="34" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>C</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101
|
||||
MESSAGE ADD,F2.101</prescript>
|
||||
</field>
|
||||
<field x="41" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>D</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102
|
||||
MESSAGE ADD,F2.102</prescript>
|
||||
</field>
|
||||
<field x="45" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>E</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103
|
||||
MESSAGE ADD,F2.103</prescript>
|
||||
</field>
|
||||
<field x="52" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>F</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104
|
||||
MESSAGE ADD,F2.104</prescript>
|
||||
</field>
|
||||
<field x="56" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>G</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105
|
||||
MESSAGE ADD,F2.105</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>H</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106
|
||||
MESSAGE ADD,F2.106</prescript>
|
||||
</field>
|
||||
<field x="67" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>I</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107
|
||||
MESSAGE ADD,F2.107</prescript>
|
||||
</field>
|
||||
<field x="74" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>J</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108
|
||||
MESSAGE ADD,F2.108</prescript>
|
||||
</field>
|
||||
<field x="78" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>K</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109
|
||||
MESSAGE ADD,F2.109</prescript>
|
||||
</field>
|
||||
<field x="85" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>L</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110
|
||||
MESSAGE ADD,F2.110</prescript>
|
||||
</field>
|
||||
<field x="89" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>M</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111
|
||||
MESSAGE ADD,F2.111</prescript>
|
||||
</field>
|
||||
<field x="96" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>N</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112
|
||||
MESSAGE ADD,F2.112</prescript>
|
||||
</field>
|
||||
<field x="100" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>O</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113
|
||||
MESSAGE ADD,F2.113</prescript>
|
||||
</field>
|
||||
<field x="107" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>P</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114
|
||||
MESSAGE ADD,F2.114</prescript>
|
||||
</field>
|
||||
<field x="111" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Q</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115
|
||||
MESSAGE ADD,F2.115</prescript>
|
||||
</field>
|
||||
<field x="118" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>R</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116
|
||||
MESSAGE ADD,F2.116</prescript>
|
||||
</field>
|
||||
<field x="122" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>S</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117
|
||||
MESSAGE ADD,F2.117</prescript>
|
||||
</field>
|
||||
<field x="129" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>T</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118
|
||||
MESSAGE ADD,F2.118</prescript>
|
||||
</field>
|
||||
<field x="133" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>U</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119
|
||||
MESSAGE ADD,F2.119</prescript>
|
||||
</field>
|
||||
<field x="140" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>V</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120
|
||||
MESSAGE ADD,F2.120</prescript>
|
||||
</field>
|
||||
<field x="144" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>W</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121
|
||||
MESSAGE ADD,F2.121</prescript>
|
||||
</field>
|
||||
<field x="151" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>X</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122
|
||||
MESSAGE ADD,F2.122</prescript>
|
||||
</field>
|
||||
<field x="155" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Y</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123
|
||||
MESSAGE ADD,F2.123</prescript>
|
||||
</field>
|
||||
<field x="162" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>Z</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124
|
||||
MESSAGE ADD,F2.124</prescript>
|
||||
</field>
|
||||
<field border="1" x="167" type="Linea" pattern="1" />
|
||||
<field x="168" type="Valuta" align="right" width="8" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AA</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125
|
||||
MESSAGE ADD,F2.125</prescript>
|
||||
</field>
|
||||
<field x="176.5" type="Numero" align="right" width="5" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AB</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126
|
||||
MESSAGE ADD,F2.126</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field x="162" type="Testo" valign="center" width="5" pattern="1" text="Pag." />
|
||||
<field x="167" type="Numero" valign="center" align="right" width="3" pattern="1">
|
||||
<source>#REPORT.PAGE</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field border="1" x="33.5" type="Linea" height="1.5" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="1.5" pattern="1" />
|
||||
<field x="23" y="0.5" type="Testo" width="10" pattern="1" text="Totali">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="34" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="41" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="45" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="52" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="56" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="63" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="67" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="74" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="78" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="85" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="89" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="96" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="100" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="107" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="111" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="118" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="122" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="129" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="133" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="140" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="144" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="151" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="155" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="162" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="168" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@" />
|
||||
<field x="177" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2">
|
||||
<font face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" x="2" type="Linea" width="178" height="0" pattern="1" />
|
||||
<field border="1" x="33.5" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="2" pattern="1" />
|
||||
<field y="0.5" type="Stringa" width="3" pattern="1" text="Tot" />
|
||||
<field border="2" y="2" type="Linea" width="181" height="0" pattern="1" />
|
||||
<field x="3.5" y="0.5" type="Stringa" width="3" id="99" pattern="1" />
|
||||
<field x="7.5" y="0.5" type="Stringa" width="25" id="100" pattern="1">
|
||||
<prescript description="F2.100 PRESCRIPT">MESSAGE ISAMREAD,20,TIPOCF='C'!CODCF=#99,RAGSOC</prescript>
|
||||
</field>
|
||||
<field x="34" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="41" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="45" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="52" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="56" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="63" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="67" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="74" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="78" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="85" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="89" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="96" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="100" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="107" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="111" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="118" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="122" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="129" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="133" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="140" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="144" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="151" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="155" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="162" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="168" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="177" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
</report>
|
349
ps/ps0099100e.rep
Executable file
349
ps/ps0099100e.rep
Executable file
@ -0,0 +1,349 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<report name="ps0099100e" orientation="2" lpi="6">
|
||||
<description>Statistiche ANIVAL Cliente Dettagliata Articolo</description>
|
||||
<font face="Arial Narrow" size="7" />
|
||||
<section type="Head">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field x="1" type="Testo" width="10" pattern="1" text="Articolo" />
|
||||
<field border="1" x="33.5" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="2" pattern="1" />
|
||||
<field x="3" y="1" type="Testo" width="10" pattern="1" text="Cliente">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="34" y="1" type="Testo" align="center" width="11" pattern="1" text="Gennaio" />
|
||||
<field x="45" y="1" type="Testo" align="center" width="11" pattern="1" text="Febbraio" />
|
||||
<field x="56" y="1" type="Testo" align="center" width="11" pattern="1" text="Marzo" />
|
||||
<field x="67" y="1" type="Testo" align="center" width="11" pattern="1" text="Aprile" />
|
||||
<field x="78" y="1" type="Testo" align="center" width="11" pattern="1" text="Maggio" />
|
||||
<field x="89" y="1" type="Testo" align="center" width="11" pattern="1" text="Giugno" />
|
||||
<field x="100" y="1" type="Testo" align="center" width="11" pattern="1" text="Luglio" />
|
||||
<field x="111" y="1" type="Testo" align="center" width="11" pattern="1" text="Agosto" />
|
||||
<field x="122" y="1" type="Testo" align="center" width="11" pattern="1" text="Settembre" />
|
||||
<field x="133" y="1" type="Testo" align="center" width="11" pattern="1" text="Ottobre" />
|
||||
<field x="144" y="1" type="Testo" align="center" width="11" pattern="1" text="Novembre" />
|
||||
<field x="155" y="1" type="Testo" align="center" width="11" pattern="1" text="Dicembre" />
|
||||
<field x="168" y="1" type="Testo" align="center" width="12" pattern="1" text="ANNUALE" />
|
||||
<field border="1" y="2" type="Linea" width="180" height="0" pattern="1" />
|
||||
</section>
|
||||
<section type="Head" level="1">
|
||||
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
|
||||
<field border="2" radius="100" x="42" y="0.5" type="Rettangolo" width="96" height="3" pattern="1" />
|
||||
<field x="42" y="1" type="Testo" valign="center" align="center" width="96" height="2" pattern="1" text="INCIDENZA PER CLIENTE DETTAGLIATA PER ARTICOLO">
|
||||
<font face="Arial" bold="1" size="14" />
|
||||
</field>
|
||||
<field x="10" y="4.5" type="Testo" width="20" pattern="1" text="Tipo dati analizzati:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="30" y="4.5" type="Array" width="10" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#TIPODATA</source>
|
||||
<list>
|
||||
<li Value="Prezzi" Code="P" />
|
||||
<li Value="Quantita'" Code="Q" />
|
||||
</list>
|
||||
</field>
|
||||
<field x="43" y="4.5" type="Testo" width="15" pattern="1" text="Numerazione:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="57" y="4.5" type="Stringa" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#CODNUM</source>
|
||||
</field>
|
||||
<field x="67" y="4.5" type="Testo" width="6" pattern="1" text="Anno:">
|
||||
<font face="Arial" size="10" />
|
||||
</field>
|
||||
<field x="75" y="4.5" type="Numero" align="right" width="6" pattern="1">
|
||||
<font face="Arial" bold="1" size="10" />
|
||||
<source>#ANNO</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Head" level="2">
|
||||
<groupby>A</groupby>
|
||||
<font face="Arial" bold="1" size="7" />
|
||||
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
|
||||
<field x="1" y="0.5" type="Stringa" width="6" id="99" pattern="1">
|
||||
<source>A</source>
|
||||
<prescript description="H2.99 PRESCRIPT">MESSAGE COPY,F2.99</prescript>
|
||||
</field>
|
||||
<field x="8" y="0.5" type="Stringa" width="50" id="100" pattern="1">
|
||||
<source>B</source>
|
||||
<prescript description="H2.100 PRESCRIPT">MESSAGE COPY,F2.100</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1">
|
||||
<field border="1" x="33.5" type="Linea" pattern="1" />
|
||||
<field x="34" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>C</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101
|
||||
MESSAGE ADD,F2.101</prescript>
|
||||
</field>
|
||||
<field x="41" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>D</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102
|
||||
MESSAGE ADD,F2.102</prescript>
|
||||
</field>
|
||||
<field x="45" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>E</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103
|
||||
MESSAGE ADD,F2.103</prescript>
|
||||
</field>
|
||||
<field x="52" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>F</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104
|
||||
MESSAGE ADD,F2.104</prescript>
|
||||
</field>
|
||||
<field x="56" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>G</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105
|
||||
MESSAGE ADD,F2.105</prescript>
|
||||
</field>
|
||||
<field x="63" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>H</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106
|
||||
MESSAGE ADD,F2.106</prescript>
|
||||
</field>
|
||||
<field x="67" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>I</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107
|
||||
MESSAGE ADD,F2.107</prescript>
|
||||
</field>
|
||||
<field x="74" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>J</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108
|
||||
MESSAGE ADD,F2.108</prescript>
|
||||
</field>
|
||||
<field x="78" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>K</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109
|
||||
MESSAGE ADD,F2.109</prescript>
|
||||
</field>
|
||||
<field x="85" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>L</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110
|
||||
MESSAGE ADD,F2.110</prescript>
|
||||
</field>
|
||||
<field x="89" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>M</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111
|
||||
MESSAGE ADD,F2.111</prescript>
|
||||
</field>
|
||||
<field x="96" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>N</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112
|
||||
MESSAGE ADD,F2.112</prescript>
|
||||
</field>
|
||||
<field x="100" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>O</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113
|
||||
MESSAGE ADD,F2.113</prescript>
|
||||
</field>
|
||||
<field x="107" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>P</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114
|
||||
MESSAGE ADD,F2.114</prescript>
|
||||
</field>
|
||||
<field x="111" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Q</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115
|
||||
MESSAGE ADD,F2.115</prescript>
|
||||
</field>
|
||||
<field x="118" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>R</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116
|
||||
MESSAGE ADD,F2.116</prescript>
|
||||
</field>
|
||||
<field x="122" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>S</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117
|
||||
MESSAGE ADD,F2.117</prescript>
|
||||
</field>
|
||||
<field x="129" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>T</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118
|
||||
MESSAGE ADD,F2.118</prescript>
|
||||
</field>
|
||||
<field x="133" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>U</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119
|
||||
MESSAGE ADD,F2.119</prescript>
|
||||
</field>
|
||||
<field x="140" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>V</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120
|
||||
MESSAGE ADD,F2.120</prescript>
|
||||
</field>
|
||||
<field x="144" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>W</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121
|
||||
MESSAGE ADD,F2.121</prescript>
|
||||
</field>
|
||||
<field x="151" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>X</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122
|
||||
MESSAGE ADD,F2.122</prescript>
|
||||
</field>
|
||||
<field x="155" type="Valuta" align="right" width="7" pattern="1" text="#########,@@">
|
||||
<source>Y</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123
|
||||
MESSAGE ADD,F2.123</prescript>
|
||||
</field>
|
||||
<field x="162" type="Numero" align="right" width="4" pattern="1" text="##,@@">
|
||||
<source>Z</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124
|
||||
MESSAGE ADD,F2.124</prescript>
|
||||
</field>
|
||||
<field border="1" x="167" type="Linea" pattern="1" />
|
||||
<field x="168" type="Valuta" align="right" width="8" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AA</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125
|
||||
MESSAGE ADD,F2.125</prescript>
|
||||
</field>
|
||||
<field x="176.5" type="Numero" align="right" width="5" pattern="1" text="###,@@">
|
||||
<font italic="1" face="Arial Narrow" size="7" />
|
||||
<source>AB</source>
|
||||
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126
|
||||
MESSAGE ADD,F2.126</prescript>
|
||||
</field>
|
||||
<field x="3" type="Stringa" width="6" id="99" pattern="1">
|
||||
<source>AD</source>
|
||||
</field>
|
||||
<field x="9" type="Stringa" width="24" id="100" pattern="1">
|
||||
<prescript description="B1.100 PRESCRIPT">MESSAGE ISAMREAD,20,TIPOCF='C'!CODCF=#99,RAGSOC</prescript>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot">
|
||||
<font face="Arial Narrow" bold="1" size="8" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field x="162" type="Testo" valign="center" width="5" pattern="1" text="Pag." />
|
||||
<field x="167" type="Numero" valign="center" align="right" width="3" pattern="1">
|
||||
<source>#REPORT.PAGE</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="1">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" type="Linea" width="180" height="0" pattern="1" />
|
||||
<field border="1" x="33.5" type="Linea" height="1.5" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="1.5" pattern="1" />
|
||||
<field x="23" y="0.5" type="Testo" width="10" pattern="1" text="Totali">
|
||||
<font face="Arial" bold="1" size="8" />
|
||||
</field>
|
||||
<field x="34" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="41" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="45" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="52" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="56" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="63" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="67" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="74" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="78" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="85" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="89" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="96" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="100" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="107" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="111" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="118" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="122" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="129" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="133" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="140" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="144" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="151" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="155" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="162" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="168" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@" />
|
||||
<field x="177" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
<section type="Foot" level="2">
|
||||
<font face="Arial Narrow" bold="1" size="7" />
|
||||
<field border="1" x="2" type="Linea" width="178" height="0" pattern="1" />
|
||||
<field border="1" x="33.5" type="Linea" height="2" pattern="1" />
|
||||
<field border="1" x="167" type="Linea" height="2" pattern="1" />
|
||||
<field y="0.5" type="Stringa" width="3" pattern="1" text="Tot" />
|
||||
<field border="2" y="2" type="Linea" width="181" height="0" pattern="1" />
|
||||
<field x="3.5" y="0.5" type="Stringa" width="3" id="99" pattern="1" />
|
||||
<field x="7.5" y="0.5" type="Stringa" width="25" id="100" pattern="1" />
|
||||
<field x="34" y="0.5" type="Valuta" align="right" width="7" id="101" pattern="1" text="#########,@@" />
|
||||
<field x="41" y="0.5" type="Numero" align="right" width="4" id="102" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="45" y="0.5" type="Valuta" align="right" width="7" id="103" pattern="1" text="#########,@@" />
|
||||
<field x="52" y="0.5" type="Numero" align="right" width="4" id="104" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="56" y="0.5" type="Valuta" align="right" width="7" id="105" pattern="1" text="#########,@@" />
|
||||
<field x="63" y="0.5" type="Numero" align="right" width="4" id="106" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="67" y="0.5" type="Valuta" align="right" width="7" id="107" pattern="1" text="#########,@@" />
|
||||
<field x="74" y="0.5" type="Numero" align="right" width="4" id="108" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="78" y="0.5" type="Valuta" align="right" width="7" id="109" pattern="1" text="#########,@@" />
|
||||
<field x="85" y="0.5" type="Numero" align="right" width="4" id="110" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="89" y="0.5" type="Valuta" align="right" width="7" id="111" pattern="1" text="#########,@@" />
|
||||
<field x="96" y="0.5" type="Numero" align="right" width="4" id="112" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="100" y="0.5" type="Valuta" align="right" width="7" id="113" pattern="1" text="#########,@@" />
|
||||
<field x="107" y="0.5" type="Numero" align="right" width="4" id="114" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="111" y="0.5" type="Valuta" align="right" width="7" id="115" pattern="1" text="#########,@@" />
|
||||
<field x="118" y="0.5" type="Numero" align="right" width="4" id="116" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="122" y="0.5" type="Valuta" align="right" width="7" id="117" pattern="1" text="#########,@@" />
|
||||
<field x="129" y="0.5" type="Numero" align="right" width="4" id="118" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="133" y="0.5" type="Valuta" align="right" width="7" id="119" pattern="1" text="#########,@@" />
|
||||
<field x="140" y="0.5" type="Numero" align="right" width="4" id="120" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="144" y="0.5" type="Valuta" align="right" width="7" id="121" pattern="1" text="#########,@@" />
|
||||
<field x="151" y="0.5" type="Numero" align="right" width="4" id="122" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="155" y="0.5" type="Valuta" align="right" width="7" id="123" pattern="1" text="#########,@@" />
|
||||
<field x="162" y="0.5" type="Numero" align="right" width="4" id="124" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
<field x="168" y="0.5" type="Valuta" align="right" width="8" id="125" pattern="1" text="#########,@@">
|
||||
<font italic="1" face="Arial Narrow" bold="1" size="7" />
|
||||
</field>
|
||||
<field x="177" y="0.5" type="Numero" align="right" width="4" id="126" pattern="1" text="###,@">
|
||||
<source>ROUND(#THIS,2)</source>
|
||||
</field>
|
||||
</section>
|
||||
</report>
|
Loading…
x
Reference in New Issue
Block a user