Patch level :4.0 nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :aggiunti i files di CA3800 "stampa bilancio di commessa"; adesso il programma fa apparire la maschera e niente piu'


git-svn-id: svn://10.65.10.50/trunk@14126 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2006-06-27 16:16:19 +00:00
parent 1a0ca41a6f
commit a883dc595a
6 changed files with 684 additions and 0 deletions

View File

@ -13,6 +13,7 @@ int main(int argc, char** argv)
//case 4: ca3500(argc, argv); break; // stampa scheda CdC/Commessa/Fase
case 5: ca3600(argc, argv); break; // stampa pagato per CdC/Commessa/Fase
case 6: ca3700(argc, argv); break; //stampa rendiconto
case 7: ca3800(argc, argv); break; //stampa bilancio di commessa per esercizio
case 8: ca3900(argc, argv); break; // generazione movimenti perfetti ma casuali
default: ca3100(argc, argv); break; // stampa movimenti
}

View File

@ -8,6 +8,7 @@ int ca3300(int argc, char* argv[]);
//int ca3500(int argc, char* argv[]);
int ca3600(int argc, char* argv[]);
int ca3700(int argc, char* argv[]);
int ca3800(int argc, char* argv[]);
int ca3900(int argc, char* argv[]);
#endif // __CA3_H

213
ca/ca3800.cpp Executable file
View File

@ -0,0 +1,213 @@
#include <applicat.h>
#include <execp.h>
#include <progind.h>
#include <reprint.h>
#include "ca3.h"
#include "ca3800.h"
#include "calib01.h"
#include "calib02.h"
////////////////////////////////////////////////////////
// MASCHERA
////////////////////////////////////////////////////////
class TPrint_bilancio_cms_mask : public TAnal_report_mask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
const TString& get_report_class() const;
bool test_compatible_report();
public:
TPrint_bilancio_cms_mask();
virtual ~TPrint_bilancio_cms_mask() {}
};
const TString& TPrint_bilancio_cms_mask::get_report_class() const
{
TString& classe = get_tmp_string();
classe = "ca3800a";
return classe;
}
bool TPrint_bilancio_cms_mask::test_compatible_report()
{
const TString& cls = get_report_class();
const TString& name = get(F_REPORT);
bool ok = name.not_empty();
if (ok)
{
TReport rep;
ok = rep.load(name);
if (ok)
{
const TString& classe = rep.get_class();
ok = classe == cls;
}
}
if (!ok)
{
set(F_REPORT, cls);
TFilename path = cls;
path.ext("rep");
ok = path.custom_path();
}
return ok;
}
bool TPrint_bilancio_cms_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_REPORT:
if (e == fe_button)
{
const TString8 lib = get_report_class();
TFilename path = o.get();
if (select_custom_file(path, "rep", lib))
{
path = path.name();
path.ext("");
o.set(path);
}
} else
if (e == fe_close)
{
if (!test_compatible_report())
return error_box(TR("Impossibile trovare un report compatibile"));
}
break;
default:
break;
}
return TAnal_report_mask::on_field_event(o, e, jolly);
}
TPrint_bilancio_cms_mask::TPrint_bilancio_cms_mask()
:TAnal_report_mask("ca3800")
{
}
///////////////////////////////////////////////////////////////
// RECORDSET
///////////////////////////////////////////////////////////////
class TPrint_bilancio_cms_recordset : public TRecordset
{
TArray _righe;
TRecnotype _curr;
TArray _colonne;
private:
int _anno;
protected:
virtual TRecnotype items() const { return _righe.items(); }
virtual bool move_to(TRecnotype pos);
virtual TRecnotype current_row() const { return _curr; }
virtual void requery();
virtual const TString& query_text() const { return EMPTY_STRING; }
virtual unsigned int columns() const { return _colonne.items(); }
virtual const TRecordset_column_info& column_info(unsigned int column) const { return (TRecordset_column_info&) _colonne[column]; }
virtual const TVariant& get(unsigned int column) const;
virtual const TVariant& get(const char* column_name) const;
public:
virtual void set_filter(const TPrint_bilancio_cms_mask& msk);
};
bool TPrint_bilancio_cms_recordset::move_to(TRecnotype pos)
{
_curr = pos;
return pos >= 0 && pos < items();
}
void TPrint_bilancio_cms_recordset::requery()
{
}
const TVariant& TPrint_bilancio_cms_recordset::get(unsigned int column) const
{
return NULL_VARIANT;
}
const TVariant& TPrint_bilancio_cms_recordset::get(const char* column_name) const
{
return NULL_VARIANT;
}
void TPrint_bilancio_cms_recordset::set_filter(const TPrint_bilancio_cms_mask& msk)
{
_anno = msk.get_int(F_ESERCIZIO);
}
////////////////////////////////////////////////////////
// REPORT
////////////////////////////////////////////////////////
class TPrint_bilancio_cms_rep : public TAnal_report
{
protected:
virtual bool set_recordset();
virtual bool get_usr_val(const TString& name, TVariant& var) const;
public:
void set_filter(const TPrint_bilancio_cms_mask& msk);
};
bool TPrint_bilancio_cms_rep::get_usr_val(const TString& name, TVariant& var) const
{
return TAnal_report::get_usr_val(name, var);
}
bool TPrint_bilancio_cms_rep::set_recordset()
{
TPrint_bilancio_cms_recordset* rs = new TPrint_bilancio_cms_recordset();
return TAnal_report::set_recordset(rs);
}
void TPrint_bilancio_cms_rep::set_filter(const TPrint_bilancio_cms_mask& msk)
{
TPrint_bilancio_cms_recordset* recset = new TPrint_bilancio_cms_recordset();
recset->set_filter(msk);
TAnal_report::set_recordset(recset);
}
////////////////////////////////////////////////////////
// APPLICAZIONE
////////////////////////////////////////////////////////
class TPrint_bilancio_cms : public TSkeleton_application
{
public:
virtual void main_loop();
};
void TPrint_bilancio_cms::main_loop()
{
TPrint_bilancio_cms_mask mask;
while (mask.run() == K_ENTER)
{
//report e book dei report
TReport_book book;
TString path = mask.get(F_REPORT);
if (path.empty())
path = "ca3800a";
TPrint_bilancio_cms_rep rep;
rep.load(path);
rep.set_filter(mask); //fa la set filter sulla commessa in corso
book.add(rep);
book.print_or_preview(); //stampa il book dei report
}
}
int ca3800(int argc, char* argv[])
{
TPrint_bilancio_cms a;
a.run(argc, argv, TR("Stampa bilancio di commessa"));
return 0;
}

14
ca/ca3800.h Executable file
View File

@ -0,0 +1,14 @@
#ifndef __CA3800_H
#define __CA3800_H
#define F_DITTA 101
#define F_RAGSOC 102
#define F_DATASTAMPA 103
#define F_ESERCIZIO 104
#define F_REPORT 105
#define F_INIZIO_ES 106
#define F_FINE_ES 107
#define F_TIPOSTAMPA 108
#endif // __CA3800_H

92
ca/ca3800.uml Executable file
View File

@ -0,0 +1,92 @@
#include "ca3800.h"
TOOLBAR "" 0 -3 0 2
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
PAGE "Stampa bilancio commessa" -1 -1 0 -3
GROUPBOX DLG_NULL 74 4
BEGIN
PROMPT 0 1 ""
END
NUMBER F_DITTA 5
BEGIN
PROMPT 1 2 "Ditta "
FLAGS "DF"
END
STRING F_RAGSOC 50
BEGIN
PROMPT 20 2 ""
USE LF_NDITTE
INPUT CODDITTA F_DITTA
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE NORMAL
FLAGS "D"
END
NUMBER F_ESERCIZIO 4
BEGIN
PROMPT 1 3 "Esercizio "
FLAGS "AZ"
USE CCE
JOIN ESC ALIAS 104 INTO CODTAB==CODTAB
INPUT CODTAB F_ESERCIZIO
DISPLAY "Codice esercizio" CODTAB
DISPLAY "Inizio esercizio" 104@->D0
DISPLAY "Fine esercizio" 104@->D1
OUTPUT F_ESERCIZIO CODTAB
OUTPUT F_INIZIO_ES 104@->D0
OUTPUT F_FINE_ES 104@->D1
CHECKTYPE REQUIRED
END
DATE F_INIZIO_ES
BEGIN
PROMPT 20 3 "Inizio "
FLAGS "D"
END
DATE F_FINE_ES
BEGIN
PROMPT 44 3 "Fine "
FLAGS "D"
END
DATE F_DATASTAMPA
BEGIN
PROMPT 2 5 "Data stampa "
FLAGS "A"
END
RADIOBUTTON F_TIPOSTAMPA 22
BEGIN
PROMPT 2 7 "Tipo di stima"
FLAGS "Z"
ITEM "X|Tempo"
ITEM " |Costi"
END
STRING F_REPORT 256 64
BEGIN
PROMPT 1 20 "Report "
FLAGS "B"
CHECKTYPE REQUIRED
END
ENDPAGE
ENDMASK

363
ca/ca3800a.rep Executable file
View File

@ -0,0 +1,363 @@
<report libraries="ve1300" name="ca3800a" orientation="2" lpi="9" class="ca3800a">
<description>Bilancio commessa CA</description>
<font face="Courier New" size="8" />
<section type="Head" height="5">
<font italic="1" face="Courier New" bold="1" size="8" />
<field x="1" type="Stringa" width="50" pattern="1">
<font italic="1" face="Courier New" bold="1" size="9" />
<source>#SYSTEM.RAGSOC</source>
</field>
<field x="80" type="Data" width="10" pattern="1">
<source>#SYSTEM.DATE</source>
</field>
<field x="165" type="Numero" align="right" width="3" pattern="1">
<source>#REPORT.PAGE</source>
</field>
<field border="2" x="1" y="2" type="Linea" width="169" height="0" pattern="1" />
<field x="44" y="2.5" type="Testo" width="23" pattern="1" text="Doc. cliente&#2F;fornitore" />
<field x="117" y="2.5" type="Testo" align="center" width="12" pattern="1" text="Riferimento" />
<field x="141" y="2.5" type="Testo" width="25" pattern="1" text="Avanzamento costi&#2F;ricavi" />
<field x="20" y="3.5" type="Testo" width="7" pattern="1" text="N.Reg." />
<field x="27" y="3.5" type="Testo" width="8" pattern="1" text="N.Reg.CG" />
<field x="35" y="3.5" type="Testo" align="center" width="10" pattern="1" text="Data" />
<field x="47" y="3.5" type="Testo" align="center" width="6" pattern="1" text="Numero" />
<field x="53" y="3.5" type="Testo" align="center" width="10" pattern="1" text="Data" />
<field x="65" y="3.5" type="Testo" width="22" pattern="1" text="Descrizione testata" />
<field x="88" y="3.5" type="Testo" width="4" pattern="1" text="Riga" />
<field x="93" y="3.5" type="Testo" width="15" pattern="1" text="Descrizione riga" />
<field x="117" y="3.5" type="Testo" align="center" width="12" pattern="1" text="Ordine&#2F;Bolla" />
<field x="132" y="3.5" type="Testo" align="right" width="12" pattern="1" text="Fatturato" />
<field x="145" y="3.5" type="Testo" align="right" width="12" pattern="1" text="Maturato" />
<field x="158" y="3.5" type="Testo" align="right" width="12" pattern="1" text="Impegnato" />
<field border="1" x="1" y="4.5" type="Linea" width="169" height="0" pattern="1" />
<field x="1" y="3.5" type="Testo" width="15" id="121" pattern="1" text="Rif. Contabile" />
</section>
<section type="Head" level="1" height="11">
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1.101
MESSAGE RESET,F1.102</prescript>
<field border="1" radius="100" x="1" type="Testo" valign="center" align="center" shade_offset="25" width="167" height="2.5" text="RENDICONTO">
<font face="Courier New" bold="1" size="16" />
</field>
<field x="1" y="3" type="Testo" width="18" pattern="1" text="Centro di Costo:" />
<field x="14" y="3" type="Stringa" width="23" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#COSTO</source>
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_COSTO</prescript>
</field>
<field x="38" y="3" type="Stringa" width="50" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,CDC,CODCOSTO=#COSTO,DESCRIZ</prescript>
</field>
<field x="110" y="3" type="Testo" width="14" pattern="1" text="Anno:" />
<field x="126" y="3" type="Stringa" width="4" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,ANNO</prescript>
</field>
<field x="140" y="3" type="Testo" width="17" pattern="1" text="Regime IVA:" />
<field x="157" y="3" type="Stringa" width="2" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,REGIVA</prescript>
</field>
<field x="14" y="4.5" type="Stringa" width="23" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#COMMESSA</source>
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_COMMESSA</prescript>
</field>
<field x="38" y="4.5" type="Stringa" width="50" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DESCRIZ</prescript>
</field>
<field x="110" y="4.5" type="Testo" width="14" pattern="1" text="Data inizio:" />
<field x="126" y="4.5" type="Data" width="10" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAINIZIO</prescript>
</field>
<field x="140" y="4.5" type="Testo" width="17" pattern="1" text="Da rendicontare:" />
<field x="157" y="4.5" type="Stringa" width="1" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,RENDIC</prescript>
</field>
<field x="1" y="4.58" type="Testo" width="9" pattern="1" text="Commessa:" />
<field x="14" y="6" type="Stringa" width="13" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#FASE</source>
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_FASE</prescript>
</field>
<field x="38" y="6" type="Stringa" width="50" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,FASI,CODFASE=#FASE,DESCRIZ</prescript>
</field>
<field x="110" y="6" type="Testo" width="14" pattern="1" text="Fine prevista:" />
<field x="126" y="6" type="Data" width="10" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAFINE</prescript>
</field>
<field x="140" y="6" type="Testo" width="17" pattern="1" text="Chiusa:" />
<field x="157" y="6" type="Stringa" width="1" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CHIUSA</prescript>
</field>
<field x="1" y="6.08" type="Testo" width="5" pattern="1" text="Fase:" />
<field x="1" y="7.5" type="Testo" width="15" pattern="1" text="Piano dei conti:" />
<field x="17" y="7.5" type="Stringa" width="12" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#PIANO</source>
</field>
<field x="30" y="7.5" type="Testo" width="10" pattern="1" text="Da conto:" />
<field x="43" y="7.5" type="Stringa" width="23" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#DACONTO</source>
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_CONTO</prescript>
</field>
<field x="69" y="7.5" type="Testo" width="10" pattern="1" text="A conto:" />
<field x="79" y="7.5" type="Stringa" width="23" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#ACONTO</source>
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_CONTO</prescript>
</field>
<field x="110" y="7.5" type="Testo" width="14" pattern="1" text="Fine proroga:" />
<field x="126" y="7.5" type="Data" width="10" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAPROR</prescript>
</field>
<field x="140" y="7.5" type="Testo" width="17" pattern="1" text="Prorogata:" />
<field x="157" y="7.5" type="Stringa" width="1" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,PROROGA</prescript>
</field>
<field x="1" y="9" type="Testo" width="18" pattern="1" text="Cliente principale:" />
<field border="2" x="1" y="10.5" type="Linea" width="169" height="0" pattern="1" />
<field x="20" y="9" type="Stringa" width="6" id="101" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.101 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CODCF</prescript>
</field>
<field x="30" y="9" type="Stringa" width="50" id="102" pattern="1">
<font face="Courier New" bold="1" size="8" />
<prescript description="H1.102 PRESCRIPT">MESSAGE ISAMREAD,CLIFO,TIPOCF=C!CODCF=#101,RAGSOC</prescript>
</field>
</section>
<section repeat="1" type="Head" level="2" height="2">
<groupby>CONTO</groupby>
<font italic="1" face="Courier New" size="8" />
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2.101
MESSAGE RESET,F2.102
MESSAGE RESET,F2.103</prescript>
<field x="1" y="0.5" type="Stringa" bg_color="#C0C0C0" width="23">
<font italic="1" face="Courier New" bold="1" size="8" />
<source>CONTO</source>
<prescript description="H2.0 PRESCRIPT">CA_FORMAT_CONTO</prescript>
</field>
<field x="24" y="0.5" type="Stringa" bg_color="#C0C0C0" width="50">
<font italic="1" face="Courier New" bold="1" size="8" />
<prescript description="H2.0 PRESCRIPT">MESSAGE ISAMREAD,PCONANA,CODCONTO=CONTO,DESCR</prescript>
</field>
<field x="74" y="0.5" type="Testo" align="right" bg_color="#C0C0C0" width="66" text="Budget &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="140" y="0.5" type="Valuta" align="right" bg_color="#C0C0C0" width="15" id="102" hide_zero="1" text="###.###.###,@@">
<font italic="1" face="Courier New" bold="1" size="8" />
<source>#VARIAZIONE</source>
<postscript description="H2.102 POSTSCRIPT">#THIS @ \ prende il proprio valore
"F1." \ decide il campo destinazione in base al valore di INDBIL,che gli viene passato dal programma..
300 \ ..i campi della somma vanno da 301 a 304 in base a valore INDBIL (che varia da 1 a 4)
#INDBIL @
+ \ somma valore INDBIL a 300
+ \ somma F1. a valore INDBIL
+! \ esegue la ADD sul campo di destinazione
</postscript>
</field>
<field x="155" y="0.5" type="Valuta" align="right" bg_color="#C0C0C0" width="15" id="103" hide_zero="1" text="###.###.###,@@">
<font italic="1" face="Courier New" bold="1" size="8" />
<source>#PREVENTIVO</source>
<postscript description="H2.103 POSTSCRIPT">#THIS @ \ prende il proprio valore
"F1." \ decide il campo destinazione in base al valore di INDBIL,che gli viene passato dal programma..
300 \ ..i campi della somma vanno da 301 a 304 in base a valore INDBIL (che varia da 1 a 4)
#INDBIL @
+ \ somma valore INDBIL a 300
+ \ somma F1. a valore INDBIL
+! \ esegue la ADD sul campo di destinazione
</postscript>
</field>
</section>
<section type="Head" level="3">
<groupby>CODNUM+ANNO+NUMRD</groupby>
<field x="1" type="Stringa" hidden="1" align="right" width="4" pattern="1">
<source>CODNUM</source>
</field>
<field x="6" type="Numero" hidden="1" align="right" width="4" pattern="1">
<source>ANNO</source>
</field>
<field x="11" type="Stringa" hidden="1" width="7" pattern="1">
<source>NUMRD</source>
</field>
</section>
<section type="Body" />
<section type="Body" level="1">
<condition>HIDDEN!='X'</condition>
<field x="19" y="0.5" type="Numero" align="right" width="7" pattern="1" hide_zero="1">
<source>NUMREG</source>
</field>
<field x="27" y="0.5" type="Numero" align="right" width="7" pattern="1" hide_zero="1">
<source>NUMREGCG</source>
</field>
<field x="35" y="0.5" type="Data" width="10" pattern="1">
<source>DATA</source>
</field>
<field x="46" y="0.5" type="Stringa" width="7" pattern="1">
<source>NUMDOCRIF</source>
</field>
<field x="54" y="0.5" type="Data" width="10" pattern="1">
<source>DATADOCRIF</source>
</field>
<field x="65" y="0.5" type="Stringa" dynamic_height="1" width="23" height="2" pattern="1">
<font face="Arial Narrow" size="8" />
<source>DESC</source>
</field>
<field x="89" y="0.5" type="Numero" align="right" width="3" pattern="1">
<source>NRIGA</source>
</field>
<field x="93" y="0.5" type="Stringa" dynamic_height="1" width="22" height="2" pattern="1">
<font face="Arial Narrow" size="8" />
<source>DESCRIGA</source>
</field>
<field x="116" y="0.5" type="Stringa" align="right" dynamic_height="1" width="15" height="20" pattern="1">
<source>DOCORIG</source>
</field>
<field x="132" y="0.5" type="Valuta" align="right" width="12" pattern="1" text="###.###.###,@@">
<source>FATTURATO</source>
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.101</postscript>
</field>
<field x="145" y="0.5" type="Valuta" align="right" width="12" pattern="1" text="###.###.###,@@">
<source>MATURATO</source>
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.102</postscript>
</field>
<field x="158" y="0.5" type="Valuta" align="right" width="12" pattern="1" text="###.###.###,@@">
<source>IMPEGNATO</source>
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.103</postscript>
</field>
<field y="0.5" type="Numero" hidden="1" align="right" width="1" id="100" pattern="1">
<prescript description="B1.100 PRESCRIPT">#THIS @
0 &#3E;
IF
#101 DISABLE
#102 DISABLE
#103 DISABLE
#104 DISABLE
#105 DISABLE
ELSE
#101 ENABLE
#102 ENABLE
#103 ENABLE
#104 ENABLE
#105 ENABLE
THEN
#THIS @
1 +
#THIS !</prescript>
</field>
<field x="1" y="0.5" type="Stringa" align="right" width="4" id="101" pattern="1">
<source>CODNUM</source>
</field>
<field x="5" y="0.5" type="Testo" width="1" id="102" pattern="1" text="-" />
<field x="6" y="0.5" type="Numero" align="right" width="4" id="103" pattern="1">
<source>ANNO</source>
</field>
<field x="10" y="0.5" type="Testo" width="1" id="104" pattern="1" text="-" />
<field x="11" y="0.5" type="Stringa" width="7" id="105" pattern="1">
<source>NUMRD</source>
</field>
</section>
<section type="Foot" />
<section type="Foot" level="1">
<field border="2" x="1" y="0.5" type="Linea" width="169" height="0" pattern="1" />
<field x="133" y="1" type="Testo" width="25" pattern="1" text="BUDGET DI ATTIVITA' &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="133" y="2.5" type="Testo" width="25" pattern="1" text="BUDGET DI PASSIVITA' &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="133" y="4" type="Testo" width="25" pattern="1" text="BUDGET DI SPESA &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="133" y="5.5" type="Testo" width="25" pattern="1" text="BUDGET DI RICAVO &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="90" y="7" type="Testo" width="42" pattern="1" text="TOTALE FATTURATO, MATURATO, IMPEGNATO &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="90" y="8.5" type="Testo" width="42" pattern="1" text="TOTALE DA FATTURARE, MATURARE, IMPEGNARE &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="132" y="7" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="145" y="7" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="158" y="7" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="132" y="8.5" type="Valuta" align="right" width="12" id="201" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#103-#101</source>
</field>
<field x="145" y="8.5" type="Valuta" align="right" width="12" id="202" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#103-#102</source>
</field>
<field x="158" y="8.5" type="Valuta" align="right" width="12" id="203" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#F1.111-#103</source>
</field>
<field x="158" y="1" type="Valuta" align="right" width="12" id="301" pattern="1" hide_zero="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="158" y="2.5" type="Valuta" align="right" width="12" id="302" pattern="1" hide_zero="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="158" y="4" type="Valuta" align="right" width="12" id="303" pattern="1" hide_zero="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="158" y="5.5" type="Valuta" align="right" width="12" id="304" pattern="1" hide_zero="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
</field>
</section>
<section type="Foot" level="2" height="4">
<field border="1" x="1" y="0.5" type="Linea" width="169" height="0" pattern="1" />
<field x="90" y="1" type="Testo" width="42" pattern="1" text="Totale fatturato, maturato, impegnato &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="90" y="2.5" type="Testo" width="42" pattern="1" text="Da fatturare, maturare, impegnare &#3E;&#3E;&#3E;">
<font face="Courier New" bold="1" size="8" />
</field>
<field x="132" y="1" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<postscript description="F2.101 POSTSCRIPT">MESSAGE ADD,F1.101</postscript>
</field>
<field x="145" y="1" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<postscript description="F2.102 POSTSCRIPT">MESSAGE ADD,F1.102</postscript>
</field>
<field x="158" y="1" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<postscript description="F2.103 POSTSCRIPT">MESSAGE ADD,F1.103</postscript>
</field>
<field x="132" y="2.5" type="Valuta" align="right" width="12" id="201" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#103-#101</source>
</field>
<field x="145" y="2.5" type="Valuta" align="right" width="12" id="202" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#103-#102</source>
</field>
<field x="158" y="2.5" type="Valuta" align="right" width="12" id="203" pattern="1" text="###.###.###,@@">
<font face="Courier New" bold="1" size="8" />
<source>#H2.103-#103</source>
</field>
</section>
<section type="Foot" level="3">
<prescript description="F3 PRESCRIPT">0 #B1.100 !</prescript>
</section>
<sql>USE 1000</sql>
</report>