Patch level :4.0 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento :prosegue la stampa proiezioni cespiti;adesso comincia a stampare qualche campo in modo sensato;da rivedere il font del rep che e' troppo grande! git-svn-id: svn://10.65.10.50/trunk@13994 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
13edd566c5
commit
7656644cbe
241
ce/ce4300.cpp
241
ce/ce4300.cpp
@ -4,11 +4,13 @@
|
|||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
#include <recset.h>
|
#include <recset.h>
|
||||||
|
#include <relation.h>
|
||||||
#include <reprint.h>
|
#include <reprint.h>
|
||||||
|
|
||||||
#include "../cg/cglib01.h"
|
#include "../cg/cglib01.h"
|
||||||
|
|
||||||
#include "ammce.h"
|
#include "ammce.h"
|
||||||
|
#include "cespi.h"
|
||||||
#include "movce.h"
|
#include "movce.h"
|
||||||
#include "salce.h"
|
#include "salce.h"
|
||||||
#include "celib.h"
|
#include "celib.h"
|
||||||
@ -101,51 +103,182 @@ void TStampa_proiez_ammo_recordset::set_filter(const TStampa_proiez_ammo_mask& m
|
|||||||
{
|
{
|
||||||
|
|
||||||
if (dacat == acat)
|
if (dacat == acat)
|
||||||
query << "&&(CODTAB[7,8]==" << dacat << ")";
|
query << "&&(CODTAB[7,8]=='" << dacat << "')";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (dacat.full())
|
if (dacat.full())
|
||||||
query << "&&(CODTAB[7,8]>=" << dacat << ")";
|
query << "&&(CODTAB[7,8]>='" << dacat << "')";
|
||||||
if (acat.full())
|
if (acat.full())
|
||||||
query << "&&(CODTAB[7,8]<=" << acat << ")";
|
query << "&&(CODTAB[7,8]<='" << acat << "')";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
query << "\nBY I0 CODTAB[7,8]";
|
query << "\nBY I0 CODTAB[7,8]";
|
||||||
set(query); //setta la nuova query nel report (che avrebbe solo USE CESPI)
|
set(query); //setta la nuova query nel report
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
// REPORT
|
// REPORT
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
class TStampa_proiez_ammo_rep : public TReport
|
class TStampa_proiez_ammo_rep : public TReport
|
||||||
{
|
{
|
||||||
int _anno;
|
int _anno;
|
||||||
|
//Clamoroso TAssocarray che conterra' tutti i valori dei record di CESPI utili al completamento..
|
||||||
|
//..della faticosa stampa..
|
||||||
|
TAssoc_array _cat;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||||
|
void add_value (const int codcat, const char* field, const real& value);
|
||||||
|
real get_value (const int codcat, const char* field) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void set_filter(const TStampa_proiez_ammo_mask& msk);
|
void set_filter(const TStampa_proiez_ammo_mask& msk);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
void TStampa_proiez_ammo_rep::add_value (const int codcat, const char* field, const real& value)
|
||||||
|
{
|
||||||
|
TString4 key;
|
||||||
|
key << codcat;
|
||||||
|
|
||||||
|
TAssoc_array* cat = (TAssoc_array*)_cat.objptr(key);
|
||||||
|
if (cat == NULL)
|
||||||
|
{
|
||||||
|
cat = new TAssoc_array;
|
||||||
|
_cat.add(key, cat);
|
||||||
|
}
|
||||||
|
real* val = (real*)cat->objptr(field);
|
||||||
|
if (val == NULL)
|
||||||
|
{
|
||||||
|
val = new real;
|
||||||
|
cat->add(field, val);
|
||||||
|
}
|
||||||
|
*val += value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
real TStampa_proiez_ammo_rep::get_value (const int codcat, const char* field) const
|
||||||
|
{
|
||||||
|
TString4 key;
|
||||||
|
key << codcat;
|
||||||
|
|
||||||
|
TAssoc_array* cat = (TAssoc_array*)_cat.objptr(key);
|
||||||
|
if (cat != NULL)
|
||||||
|
{
|
||||||
|
real* val = (real*)cat->objptr(field);
|
||||||
|
if (val != NULL)
|
||||||
|
return *val;
|
||||||
|
}
|
||||||
|
return ZERO;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk)
|
void TStampa_proiez_ammo_rep::set_filter(const TStampa_proiez_ammo_mask& msk)
|
||||||
{
|
{
|
||||||
_anno = msk.get_int(F_ESERCIZIO);
|
_anno = msk.get_int(F_ESERCIZIO);
|
||||||
((TStampa_proiez_ammo_recordset*) recordset())->set_filter(msk);
|
((TStampa_proiez_ammo_recordset*) recordset())->set_filter(msk);
|
||||||
|
|
||||||
|
_cat.destroy();
|
||||||
|
|
||||||
|
//Si vuole creare una lista di tutti i cespiti che ricadono nei parametri gr/sp/cat della..
|
||||||
|
//..maschera di selezione, che verra' poi utilizzato per calcolare i valori del costo di tali..
|
||||||
|
//..cespiti riuniti nella categoria di appartenenza
|
||||||
|
TRelation rel_cespi(LF_CESPI);
|
||||||
|
TRectype darec_cespi(LF_CESPI), arec_cespi(LF_CESPI);
|
||||||
|
darec_cespi.put(CESPI_CODCGRA, msk.get(F_GRUPPO));
|
||||||
|
darec_cespi.put(CESPI_CODSPA, msk.get(F_SPECIE));
|
||||||
|
darec_cespi.put(CESPI_CODCAT, msk.get(F_FROM_CAT));
|
||||||
|
|
||||||
|
arec_cespi = darec_cespi;
|
||||||
|
arec_cespi.put(CESPI_CODCAT, msk.get(F_TO_CAT));
|
||||||
|
|
||||||
|
//Dalla lista cespiti deve risalire ai costi, agli ammortamenti e alle alienazioni;..
|
||||||
|
//..quindi servono i files collegati..
|
||||||
|
TLocalisamfile salce(LF_SALCE);
|
||||||
|
TLocalisamfile ammce(LF_AMMCE);
|
||||||
|
|
||||||
|
//ISAM query per trovare su MOVCE i movimenti relativi al cespite corrente nell'esercizio selezionato
|
||||||
|
TString query;
|
||||||
|
TEsercizi_contabili esc;
|
||||||
|
const TDate& dataini = esc[_anno].inizio();
|
||||||
|
const TDate& datafine = esc[_anno].fine();
|
||||||
|
query.format("USE MOVCE KEY 2 SELECT NUM(ANSI(DTMOV)>=%ld)&&NUM(ANSI(DTMOV)<=%ld)\nFROM IDCESPITE=#CESPITE\nTO IDCESPITE=#CESPITE",
|
||||||
|
dataini.date2ansi(), datafine.date2ansi());
|
||||||
|
TISAM_recordset movce(query);
|
||||||
|
|
||||||
|
//Ciclo principale per riempire _cat, assoc_array di assoc_array che sara' poi scandito in fase di creazione report
|
||||||
|
//Il metodo add_value e' quello che effettivamente aggiunge i valori a _cat
|
||||||
|
TCursor cur_cespi(&rel_cespi, "", 2, &darec_cespi, &arec_cespi);
|
||||||
|
const TRecnotype num = cur_cespi.items();
|
||||||
|
TProgind pi(num, "Calcolo proiezione ammortamenti...");
|
||||||
|
for (cur_cespi = 0; cur_cespi.pos() < num; ++cur_cespi)
|
||||||
|
{
|
||||||
|
pi.addstatus(1);
|
||||||
|
|
||||||
|
//Colonna COSTO
|
||||||
|
const TString& idcespite = rel_cespi.curr().get(CESPI_IDCESPITE);
|
||||||
|
const int codcat = rel_cespi.curr().get_int(CESPI_CODCAT);
|
||||||
|
salce.put(SALCE_IDCESPITE, idcespite);
|
||||||
|
salce.put(SALCE_CODES, _anno);
|
||||||
|
salce.put(SALCE_TPSALDO, 1);
|
||||||
|
if (salce.read() == NOERR)
|
||||||
|
add_value(codcat, SALCE_CSTO, salce.get_real(SALCE_CSTO));
|
||||||
|
|
||||||
|
//Colonna ALIENAZIONI
|
||||||
|
//cerca tutti i movimenti di vendita relativi al cespite corrente all'interno dell'esercizio..
|
||||||
|
//..selezionato sulla maschera;somma i loro importi in modo da ricavare l'importo complessivo..
|
||||||
|
//..di tutti
|
||||||
|
movce.set_var("#CESPITE", TVariant(idcespite)); //assegna il vero valore dell'idcespite alla query
|
||||||
|
for (TRecnotype i = 0; movce.move_to(i); i++)
|
||||||
|
{
|
||||||
|
const real vendita = movce.get(MOVCE_IMPVEN).as_real();
|
||||||
|
add_value(codcat, MOVCE_IMPVEN, vendita);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Colonna FAMM (fondo ammortamento)
|
||||||
|
ammce.put(AMMCE_IDCESPITE, idcespite);
|
||||||
|
ammce.put(AMMCE_CODES, _anno);
|
||||||
|
ammce.put(AMMCE_TPSALDO, 1); //tiposaldo iniziale
|
||||||
|
ammce.put(AMMCE_TPAMM, 1); //tipoamm fiscale
|
||||||
|
if (ammce.read() == NOERR)
|
||||||
|
{
|
||||||
|
real famm;
|
||||||
|
famm += ammce.get_real(AMMCE_QNOR);
|
||||||
|
famm += ammce.get_real(AMMCE_QACC);
|
||||||
|
famm += ammce.get_real(AMMCE_QANT);
|
||||||
|
add_value(codcat, AMMCE_QNOR, famm);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Colonna PERCAMM (aliquota ammortamento)
|
||||||
|
//Colonna QAMM
|
||||||
|
//Per questi ci vuole un tiposaldo diverso
|
||||||
|
ammce.put(AMMCE_TPSALDO, 2); //tiposaldo finale
|
||||||
|
if (ammce.read() == NOERR)
|
||||||
|
{
|
||||||
|
real percamm;
|
||||||
|
percamm += ammce.get_real(AMMCE_PNOR);
|
||||||
|
percamm += ammce.get_real(AMMCE_PACC);
|
||||||
|
percamm += ammce.get_real(AMMCE_PANT);
|
||||||
|
add_value(codcat, AMMCE_PNOR, percamm);
|
||||||
|
|
||||||
|
real qamm;
|
||||||
|
qamm += ammce.get_real(AMMCE_QNOR);
|
||||||
|
qamm += ammce.get_real(AMMCE_QACC);
|
||||||
|
qamm += ammce.get_real(AMMCE_QANT);
|
||||||
|
add_value(codcat, AMMCE_QACC, qamm);
|
||||||
|
}
|
||||||
|
|
||||||
|
} //for(cur_cespi...
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//metodo per il calcolo dei campi da calcolare (ma va'!) nel report
|
//metodo per il calcolo dei campi da calcolare (ma va'!) nel report
|
||||||
bool TStampa_proiez_ammo_rep::get_usr_val(const TString& name, TVariant& var) const
|
bool TStampa_proiez_ammo_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||||
{
|
{
|
||||||
const TRecordset& recset = *recordset();
|
const TRecordset& recset = *recordset();
|
||||||
const TString& idcespite = recset.get("IDCESPITE").as_string();
|
const int codcat = atoi(recset.get("CODTAB").as_string().mid(6, 2));
|
||||||
if (name == "#DESCAT") //categoria (descrizione della categoria corrente)
|
|
||||||
{
|
|
||||||
const int gruppo = recset.get("CODCGRA").as_int();
|
|
||||||
const TString& specie = recset.get("CODSPA").as_string();
|
|
||||||
const int categoria = recset.get("CODCAT").as_int();
|
|
||||||
const TRectype& rec_cac = ditta_cespiti().categoria(gruppo, specie, categoria);
|
|
||||||
var = rec_cac.get("S0");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (name == "#ANNOES")
|
if (name == "#ANNOES")
|
||||||
{
|
{
|
||||||
var.set(_anno);
|
var.set(_anno);
|
||||||
@ -159,75 +292,29 @@ bool TStampa_proiez_ammo_rep::get_usr_val(const TString& name, TVariant& var) co
|
|||||||
var.set(dal - 1L);
|
var.set(dal - 1L);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
if (name == "#COSTO") //costo
|
||||||
|
{
|
||||||
|
var = get_value(codcat, SALCE_CSTO);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
if (name == "#ALIENAZ") //movimenti di vendita
|
if (name == "#ALIENAZ") //movimenti di vendita
|
||||||
{
|
{
|
||||||
//cerca tutti i movimenti di vendita relativi al cespite corrente all'interno dell'esercizio..
|
var = get_value(codcat, MOVCE_IMPVEN);
|
||||||
//..selezionato sulla maschera;somma i loro importi in modo da ricavare l'importo complessivo..
|
|
||||||
//..di tutti
|
|
||||||
TString query;
|
|
||||||
|
|
||||||
TEsercizi_contabili esc;
|
|
||||||
const TDate& dataini = esc[_anno].inizio();
|
|
||||||
const TDate& datafine = esc[_anno].fine();
|
|
||||||
|
|
||||||
query.format("USE MOVCE KEY 2 SELECT NUM(ANSI(DTMOV)>=%ld)&&NUM(ANSI(DTMOV)<=%ld)\nFROM IDCESPITE=%s\nTO IDCESPITE=%s",
|
|
||||||
dataini.date2ansi(), datafine.date2ansi(), (const char*)idcespite, (const char*)idcespite);
|
|
||||||
TISAM_recordset isam(query);
|
|
||||||
real somma_vendite;
|
|
||||||
for (TRecnotype i = 0; isam.move_to(i); i++)
|
|
||||||
{
|
|
||||||
const real vendita = isam.get(MOVCE_IMPVEN).as_real();
|
|
||||||
somma_vendite += vendita;
|
|
||||||
}
|
|
||||||
var = somma_vendite;
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (name == "#COSTO") //costo
|
|
||||||
{
|
|
||||||
TToken_string key;
|
|
||||||
key = idcespite; //cespite
|
|
||||||
key.add(_anno); //esercizio
|
|
||||||
key.add(1); //tiposaldo finale
|
|
||||||
const TRectype& rec_salce = cache().get(LF_SALCE, key);
|
|
||||||
const real costo = rec_salce.get_real(SALCE_CSTO);
|
|
||||||
var = costo;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (name == "#PERCAMM") //percentuale ammortamento
|
|
||||||
{
|
|
||||||
TToken_string key;
|
|
||||||
key = idcespite;
|
|
||||||
key.add(_anno);
|
|
||||||
key.add(2); //tiposaldo finale
|
|
||||||
key.add(1); //tipoamm fiscale
|
|
||||||
const TRectype& rec_ammce = cache().get(LF_AMMCE, key);
|
|
||||||
const real percamm = rec_ammce.get_real(AMMCE_PNOR) + rec_ammce.get_real(AMMCE_PACC) + rec_ammce.get_real(AMMCE_PANT);
|
|
||||||
var = percamm;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if (name == "#QAMM") //fondo ammortamento esercizio corrente
|
|
||||||
{
|
|
||||||
TToken_string key;
|
|
||||||
key = idcespite;
|
|
||||||
key.add(_anno);
|
|
||||||
key.add(2); //tiposaldo finale
|
|
||||||
key.add(1); //tipoamm fiscale
|
|
||||||
const TRectype& rec_ammce = cache().get(LF_AMMCE, key);
|
|
||||||
const real quotamm = rec_ammce.get_real(AMMCE_QNOR) + rec_ammce.get_real(AMMCE_QACC) + rec_ammce.get_real(AMMCE_QANT);
|
|
||||||
var = quotamm;
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
if (name == "#FAMM") //fondo ammortamento alla fine dell'esercizio precedente
|
if (name == "#FAMM") //fondo ammortamento alla fine dell'esercizio precedente
|
||||||
{
|
{
|
||||||
TToken_string key;
|
var = get_value(codcat, AMMCE_QNOR);
|
||||||
key = idcespite;
|
return true;
|
||||||
key.add(_anno);
|
}
|
||||||
key.add(1); //tiposaldo iniziale
|
if (name == "#PERCAMM") //percentuale ammortamento
|
||||||
key.add(1); //tipoamm fiscale
|
{
|
||||||
const TRectype& rec_ammce = cache().get(LF_AMMCE, key);
|
var = get_value(codcat, AMMCE_PNOR);
|
||||||
const real quotamm = rec_ammce.get_real(AMMCE_QNOR) + rec_ammce.get_real(AMMCE_QACC) + rec_ammce.get_real(AMMCE_QANT);
|
return true;
|
||||||
var = quotamm;
|
}
|
||||||
|
if (name == "#QAMM") //fondo ammortamento esercizio corrente
|
||||||
|
{
|
||||||
|
var = get_value(codcat, AMMCE_QACC);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
208
ce/ce4300a.rep
208
ce/ce4300a.rep
@ -1,11 +1,21 @@
|
|||||||
|
|
||||||
<report name="ce4300a" lpi="6">
|
<report name="ce4300a" lpi="6">
|
||||||
<description>Proiezione ammortamenti cespiti</description>
|
<description>Proiezione ammortamenti cespiti</description>
|
||||||
<font face="Courier New" size="8" />
|
<font face="Arial" size="8" />
|
||||||
<section type="Head">
|
<section type="Head">
|
||||||
<font face="Courier New" bold="1" size="8" />
|
<font face="Courier New" bold="1" size="8" />
|
||||||
</section>
|
</section>
|
||||||
<section type="Head" level="1" height="6">
|
<section type="Head" level="1" height="6">
|
||||||
|
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1.101
|
||||||
|
MESSAGE RESET,F1.102
|
||||||
|
MESSAGE RESET,F1.103
|
||||||
|
MESSAGE RESET,F1.104
|
||||||
|
MESSAGE RESET,F1.105
|
||||||
|
MESSAGE RESET,F1.106
|
||||||
|
MESSAGE RESET,F1.107
|
||||||
|
MESSAGE RESET,F1.108
|
||||||
|
MESSAGE RESET,F1.109
|
||||||
|
MESSAGE RESET,F1.110</prescript>
|
||||||
<field border="1" radius="100" x="18" y="0.5" type="Testo" valign="center" align="center" shade_offset="25" width="130" height="2.5" text="PROIEZIONE AMMORTAMENTI CESPITI">
|
<field border="1" radius="100" x="18" y="0.5" type="Testo" valign="center" align="center" shade_offset="25" width="130" height="2.5" text="PROIEZIONE AMMORTAMENTI CESPITI">
|
||||||
<font face="Courier New" bold="1" size="16" />
|
<font face="Courier New" bold="1" size="16" />
|
||||||
</field>
|
</field>
|
||||||
@ -23,107 +33,197 @@
|
|||||||
</section>
|
</section>
|
||||||
<section repeat="1" type="Head" level="2">
|
<section repeat="1" type="Head" level="2">
|
||||||
<groupby>I0</groupby>
|
<groupby>I0</groupby>
|
||||||
<font face="Courier New" bold="1" size="8" />
|
<font face="Arial" bold="1" size="8" />
|
||||||
|
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2.101
|
||||||
|
MESSAGE RESET,F2.102
|
||||||
|
MESSAGE RESET,F2.103
|
||||||
|
MESSAGE RESET,F2.104
|
||||||
|
MESSAGE RESET,F2.105
|
||||||
|
MESSAGE RESET,F2.106
|
||||||
|
MESSAGE RESET,F2.107
|
||||||
|
MESSAGE RESET,F2.108
|
||||||
|
MESSAGE RESET,F2.109
|
||||||
|
MESSAGE RESET,F2.110</prescript>
|
||||||
<field x="1" type="Testo" width="12" pattern="1" text="TIPO BENI:">
|
<field x="1" type="Testo" width="12" pattern="1" text="TIPO BENI:">
|
||||||
<font face="Courier New" bold="1" size="9" />
|
<font face="Courier New" bold="1" size="9" />
|
||||||
</field>
|
</field>
|
||||||
<field x="13" type="Array" width="15" pattern="1">
|
<field x="13" type="Array" width="15" pattern="1">
|
||||||
<font face="Courier New" bold="1" size="9" />
|
<font face="Courier New" bold="1" size="9" />
|
||||||
<source>I0</source>
|
<source>I0</source>
|
||||||
|
<postscript description="H2.0 POSTSCRIPT">MESSAGE COPY,F2.100</postscript>
|
||||||
<list>
|
<list>
|
||||||
<li Value="Materiali" Code="0" />
|
<li Value="Materiali" Code="0" />
|
||||||
<li Value="Immateriali" Code="1" />
|
<li Value="Immateriali" Code="1" />
|
||||||
<li Value="Pluriennali" Code="2" />
|
<li Value="Pluriennali" Code="2" />
|
||||||
</list>
|
</list>
|
||||||
</field>
|
</field>
|
||||||
<field x="30" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Valore al" />
|
<field x="50" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Valore al" />
|
||||||
<field x="57" y="1.25" type="Testo" align="right" width="13" height="0.75" pattern="1" text="Fondo amm. al" />
|
<field x="77" y="1.25" type="Testo" align="right" width="13" height="0.75" pattern="1" text="Fondo amm. al" />
|
||||||
<field x="71" y="1.25" type="Testo" align="right" width="13" height="0.75" pattern="1" text="Val. residuo" />
|
<field x="91" y="1.25" type="Testo" align="right" width="13" height="0.75" pattern="1" text="Val. residuo" />
|
||||||
<field x="92" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
<field x="111.5" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
||||||
<field x="105" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
<field x="125" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
||||||
<field x="118" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
<field x="138" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
||||||
<field x="131.1" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
<field x="151.1" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
||||||
<field x="144" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
<field x="164" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Ammortamento" />
|
||||||
<field x="157" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Residuo da" />
|
<field x="177" y="1.25" type="Testo" align="right" width="12" height="0.75" pattern="1" text="Residuo da" />
|
||||||
<field x="1" y="2" type="Testo" width="10" pattern="1" text="Categoria" />
|
<field x="1" y="2" type="Testo" width="10" pattern="1" text="Categoria" />
|
||||||
<field x="30" y="2" type="Stringa" align="right" width="12" height="0.75" pattern="1">
|
<field x="50" y="2" type="Stringa" align="right" width="12" height="0.75" pattern="1">
|
||||||
<source>#FINESCPREC</source>
|
<source>#FINESCPREC</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="44" y="2" type="Testo" align="right" width="12" pattern="1" text="Alienazioni" />
|
<field x="64" y="2" type="Testo" align="right" width="12" pattern="1" text="Alienazioni" />
|
||||||
<field x="58" y="2" type="Data" align="right" width="12" height="0.75" pattern="1">
|
<field x="78" y="2" type="Data" align="right" width="12" height="0.75" pattern="1">
|
||||||
<source>#FINESCPREC</source>
|
<source>#FINESCPREC</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="72" y="2" type="Testo" align="right" width="12" height="0.75" pattern="1" text="da ammortizz" />
|
<field x="92" y="2" type="Testo" align="right" width="12" height="0.75" pattern="1" text="da ammortizz" />
|
||||||
<field x="86" y="2" type="Testo" align="right" width="5" pattern="1" text="Aliq." />
|
<field x="106" y="2" type="Testo" align="right" width="5" pattern="1" text="Aliq." />
|
||||||
<field x="95" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
<field x="115" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
||||||
<source>#ANNOES</source>
|
<source>#ANNOES</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="108" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
<field x="128" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
||||||
<source>#ANNOES+1</source>
|
<source>#ANNOES+1</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="121" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
<field x="141" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
||||||
<source>#ANNOES+2</source>
|
<source>#ANNOES+2</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="134" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
<field x="154" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
||||||
<source>#ANNOES+3</source>
|
<source>#ANNOES+3</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="147" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
<field x="167" y="2" type="Numero" align="right" width="6" height="0.75" pattern="1">
|
||||||
<source>#ANNOES+4</source>
|
<source>#ANNOES+4</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="157" y="2" type="Testo" align="right" width="12" height="0.75" pattern="1" text="ammortizzare" />
|
<field x="177" y="2" type="Testo" align="right" width="12" height="0.75" pattern="1" text="ammortizzare" />
|
||||||
<field border="1" x="1" y="3" type="Linea" width="172" height="0" pattern="1" />
|
<field border="1" x="1" y="3" type="Linea" width="192" height="0" pattern="1" />
|
||||||
</section>
|
</section>
|
||||||
<section type="Body" />
|
<section type="Body" />
|
||||||
<section type="Body" level="1">
|
<section type="Body" level="1">
|
||||||
<field x="1" type="Stringa" width="2" pattern="1">
|
<field x="1" type="Stringa" width="2" pattern="1">
|
||||||
<source>CODTAB[7,8]</source>
|
<source>CODTAB[7,8]</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="4" type="Stringa" dynamic_height="1" width="25" height="2" pattern="1">
|
<field x="4" type="Stringa" dynamic_height="1" width="45" height="2" pattern="1">
|
||||||
<source>S0</source>
|
<source>S0</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="87" type="Numero" align="right" width="4" pattern="1">
|
<field x="107" type="Numero" align="right" width="4" pattern="1">
|
||||||
<source>#PERCAMM</source>
|
<source>#PERCAMM</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="92" type="Numero" align="right" width="12" pattern="1">
|
<field x="50" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
|
||||||
<source>#QAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="105" type="Numero" align="right" width="12" pattern="1">
|
|
||||||
<source>#QAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="118" type="Numero" align="right" width="12" pattern="1">
|
|
||||||
<source>#QAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="131" type="Numero" align="right" width="12" pattern="1">
|
|
||||||
<source>#QAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="144" type="Numero" align="right" width="12" pattern="1">
|
|
||||||
<source>#QAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="157" type="Numero" align="right" width="12" pattern="1">
|
|
||||||
<source>#RESAMM</source>
|
|
||||||
</field>
|
|
||||||
<field x="30" type="Valuta" align="right" width="12" id="101" pattern="1" text="#########,@@">
|
|
||||||
<source>#COSTO</source>
|
<source>#COSTO</source>
|
||||||
|
<postscript description="B1.101 POSTSCRIPT">MESSAGE ADD,F2.101</postscript>
|
||||||
</field>
|
</field>
|
||||||
<field x="44" type="Valuta" align="right" width="12" id="102" pattern="1" text="#########,@@">
|
<field x="64" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
|
||||||
<source>#ALIENAZ</source>
|
<source>#ALIENAZ</source>
|
||||||
|
<postscript description="B1.102 POSTSCRIPT">MESSAGE ADD,F2.102</postscript>
|
||||||
</field>
|
</field>
|
||||||
<field x="58" type="Numero" align="right" width="12" id="103" pattern="1">
|
<field x="78" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
|
||||||
<source>#FAMM</source>
|
<source>#FAMM</source>
|
||||||
|
<postscript description="B1.103 POSTSCRIPT">MESSAGE ADD,F2.103</postscript>
|
||||||
</field>
|
</field>
|
||||||
<field x="72" type="Valuta" align="right" width="12" id="104" pattern="1" text="###.###.###,@@">
|
<field x="92" type="Valuta" align="right" width="12" id="104" pattern="1" text="###.###.###,@@">
|
||||||
<source>#101-#102-#103</source>
|
<source>#101-#102-#103</source>
|
||||||
</field>
|
</field>
|
||||||
|
<field x="112" type="Numero" align="right" width="12" id="105" pattern="1">
|
||||||
|
<source>#QAMM</source>
|
||||||
|
<postscript description="B1.105 POSTSCRIPT">MESSAGE ADD,F2.105</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="125" type="Numero" align="right" width="12" id="106" pattern="1">
|
||||||
|
<postscript description="B1.106 POSTSCRIPT">MESSAGE ADD,F2.106</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="138" type="Numero" align="right" width="12" id="107" pattern="1">
|
||||||
|
<postscript description="B1.107 POSTSCRIPT">MESSAGE ADD,F2.107</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="151" type="Numero" align="right" width="12" id="108" pattern="1">
|
||||||
|
<postscript description="B1.108 POSTSCRIPT">MESSAGE ADD,F2.108</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="164" type="Numero" align="right" width="12" id="109" pattern="1">
|
||||||
|
<postscript description="B1.109 POSTSCRIPT">MESSAGE ADD,F2.109</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="177" type="Numero" align="right" width="12" id="110" pattern="1">
|
||||||
|
<postscript description="B1.110 POSTSCRIPT">MESSAGE ADD,F2.110</postscript>
|
||||||
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<section type="Head" level="11" />
|
|
||||||
<section type="Body" level="11">
|
|
||||||
<sql>USE CESPI KEY 2</sql>
|
|
||||||
</section>
|
|
||||||
<section type="Foot" level="11" />
|
|
||||||
<section type="Foot" />
|
<section type="Foot" />
|
||||||
<section type="Foot" level="1" />
|
<section type="Foot" level="1">
|
||||||
<section type="Foot" level="2" height="1">
|
<font face="Arial" bold="1" size="8" />
|
||||||
|
<field border="2" x="1" y="1" type="Linea" width="196" height="0" pattern="1" />
|
||||||
|
<field x="1" y="1.5" type="Testo" align="center" bg_color="#C0C0C0" width="47" text="TOTALE GENERALE">
|
||||||
|
<font face="Courier New" bold="1" size="10" />
|
||||||
|
</field>
|
||||||
|
<field x="104" y="1.5" type="Testo" bg_color="#C0C0C0" width="7" />
|
||||||
|
<field x="48" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="14" id="101" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="62" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="14" id="102" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="76" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="14" id="103" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="90" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="14" id="104" text="###.###.###,@@">
|
||||||
|
<source>#101-#102-#103</source>
|
||||||
|
</field>
|
||||||
|
<field x="111" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="105" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.105 POSTSCRIPT">MESSAGE ADD,F1.105</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="124" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="106" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.106 POSTSCRIPT">MESSAGE ADD,F1.106</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="137" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="107" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.107 POSTSCRIPT">MESSAGE ADD,F1.107</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="150" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="108" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.108 POSTSCRIPT">MESSAGE ADD,F1.108</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="163" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="109" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.109 POSTSCRIPT">MESSAGE ADD,F1.109</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="176" y="1.5" type="Valuta" align="right" bg_color="#C0C0C0" width="13" id="110" text="###.###.###,@@">
|
||||||
|
<postscript description="F1.110 POSTSCRIPT">MESSAGE ADD,F1.110</postscript>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" level="2" height="4">
|
||||||
|
<font italic="1" face="Arial" bold="1" size="8" />
|
||||||
<field border="1" x="1" y="0.5" type="Linea" width="196" height="0" pattern="1" />
|
<field border="1" x="1" y="0.5" type="Linea" width="196" height="0" pattern="1" />
|
||||||
|
<field x="10" y="1" type="Testo" width="12" pattern="1" text="TOTALE AMM">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="9" />
|
||||||
|
</field>
|
||||||
|
<field border="2" x="1" y="2.5" type="Linea" width="196" height="0" pattern="1" />
|
||||||
|
<field x="22" y="1" type="Array" width="15" id="100" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="9" />
|
||||||
|
<list>
|
||||||
|
<li Value="Materiali" Code="0" />
|
||||||
|
<li Value="Immateriali" Code="1" />
|
||||||
|
<li Value="Pluriennali" Code="2" />
|
||||||
|
</list>
|
||||||
|
</field>
|
||||||
|
<field x="50" y="1" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
|
||||||
|
<postscript description="F2.101 POSTSCRIPT">MESSAGE ADD,F1.101</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="64" y="1" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
|
||||||
|
<postscript description="F2.102 POSTSCRIPT">MESSAGE ADD,F1.102</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="78" y="1" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
|
||||||
|
<postscript description="F2.103 POSTSCRIPT">MESSAGE ADD,F1.103</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="92" y="1" type="Valuta" align="right" width="12" id="104" pattern="1" text="###.###.###,@@">
|
||||||
|
<source>#101-#102-#103</source>
|
||||||
|
</field>
|
||||||
|
<field x="112" y="1" type="Numero" align="right" width="12" id="105" pattern="1">
|
||||||
|
<postscript description="F2.105 POSTSCRIPT">MESSAGE ADD,F1.105</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="125" y="1" type="Numero" align="right" width="12" id="106" pattern="1">
|
||||||
|
<postscript description="F2.106 POSTSCRIPT">MESSAGE ADD,F1.106</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="138" y="1" type="Numero" align="right" width="12" id="107" pattern="1">
|
||||||
|
<postscript description="F2.107 POSTSCRIPT">MESSAGE ADD,F1.107</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="151" y="1" type="Numero" align="right" width="12" id="108" pattern="1">
|
||||||
|
<postscript description="F2.108 POSTSCRIPT">MESSAGE ADD,F1.108</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="164" y="1" type="Numero" align="right" width="12" id="109" pattern="1">
|
||||||
|
<postscript description="F2.109 POSTSCRIPT">MESSAGE ADD,F1.109</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="177" y="1" type="Numero" align="right" width="12" id="110" pattern="1">
|
||||||
|
<postscript description="F2.110 POSTSCRIPT">MESSAGE ADD,F1.110</postscript>
|
||||||
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<sql>USE %CAC
|
<sql>USE %CAC
|
||||||
BY I0 CODTAB[7,8]</sql>
|
BY I0 CODTAB[7,8]</sql>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user