Merge branch 'R12.00.1244' of http://10.65.20.33/sirio/CAMPO/campo into R12.00.1244

This commit is contained in:
smen 2023-03-31 11:20:52 +02:00
commit 3f8f4c652f
15 changed files with 2347 additions and 193 deletions

View File

@ -41,18 +41,10 @@
#include "cg1.h"
#include "cg1500.h"
#include "cglib.h"
#include "cg1501.h"
class TStampa_bilanci : public TPrintapp
{
static bool mask_anno (TMask_field& f, KEY k);
static bool mask_datalim (TMask_field& f, KEY k);
static bool verifica_handler(TMask_field& f, KEY k);
static bool mask_dataini (TMask_field& f, KEY k);
static bool mask_bilancio(TMask_field& f, KEY k);
static bool mask_tipost (TMask_field& f, KEY k);
struct cli_for
{
char tipocf;
@ -180,141 +172,6 @@ public:
HIDDEN inline TStampa_bilanci& app() { return (TStampa_bilanci&)main_app(); }
bool TStampa_bilanci::mask_anno(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (k == K_ENTER)
{
const int tipo_stampa = m.get_int(F_STAMPA);
const int anno = m.get_int(F_ANNO);
if (tipo_stampa == 2 && anno == 0)
return f.error_box(TR("Indicare l'anno di esercizio"));
}
if (f.running_check(k))
{
const int tipo_stampa = m.get_int(F_STAMPA);
const int anno = m.get_int(F_ANNO);
const int bilancio = m.get_int(F_BILANCIO);
const TDate datalim = m.get_date(F_DATALIM);
TDate data;
if (esercizi().exist(datalim))
data = esercizio(datalim).fine();
m.enable_page(1, bilancio != 1);
m.show(F_DATAINI, bilancio == 2 && tipo_stampa == 1);
m.show(F_QUADRATURA, bilancio == 2 && tipo_stampa == 1 && data == datalim);
}
return true;
}
bool TStampa_bilanci::mask_bilancio(TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
const int anno = m.get_int(F_ANNO);
const int bilancio = m.get_int(F_BILANCIO);
const int tipo_stampa = m.get_int(F_STAMPA);
const TDate datalim = m.get_date(F_DATALIM);
TDate data;
m.enable_page(1, bilancio != 1);
if (esercizi().exist(datalim))
data = esercizio(datalim).fine();
m.show(F_DATAINI, bilancio == 2 && tipo_stampa == 1);
m.show(F_QUADRATURA, bilancio == 2 && tipo_stampa == 1 && data == datalim);
}
return true;
}
bool TStampa_bilanci::mask_datalim (TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TMask& m = f.mask();
const int anno = m.get_int(F_ANNO);
const int bilancio = m.get_int(F_BILANCIO);
const TDate data = m.get_date(F_DATALIM);
if (anno != 0)
{
if (data.ok())
{
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
return f.error_box (TR("La data limite deve appartenere all'esercizio indicato"));
}
// else
// m.field(F_DATALIM).set(esercizio(anno).fine());
app()._annoapp = anno;
}
else //anno == 0
{
if (!data.ok())
return f.error_box (TR("La data limite e' obbligatoria"));
if (!esercizi().exist(data))
return f.error_box (TR("La data limite deve appartenere ad un esercizio attivo della ditta"));
}
if (m.get_date(F_DATALIM) < m.get_date(F_DATAINI))
return f.error_box(TR("La data limite deve essere maggiore o uguale alla data iniziale"));
}
return true;
}
bool TStampa_bilanci::mask_dataini(TMask_field& f, KEY k)
{
TMask& m = f.mask();
const short id = f.dlg();
if (k == K_ENTER)
{
const int anno = m.get_int(F_ANNO);
int bilancio = m.get_int(F_BILANCIO);
TDate data = f.get_date();
if (anno != 0)
{
if (data.ok())
{
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
return f.error_box(TR("La data iniziale deve appartenere all'esercizio indicato"));
}
// else
// m.field(F_DATAINI).set(esercizio(anno).inizio());
app()._annoapp = anno;
}
else //anno == 0
{
const TDate datalim = m.get_date(F_DATALIM);
if (!data.ok() && datalim.ok() && esercizi().exist(datalim))
m.field(F_DATAINI).set(data = esercizio(datalim).inizio());
if (!data.ok())
return f.error_box(TR("La data limite e' obbligatoria"));
if (!esercizi().exist(data))
return f.error_box(TR("La data limite deve appartenere ad un esercizio attivo della ditta"));
app()._annoapp = esercizio(data).codice();
}
}
return true;
}
bool TStampa_bilanci::verifica_handler(TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
const int verifica = m.get_int(F_VERIFICA);
m.show(F_SITUAZIONE, verifica == 3);
m.show(F_STAMPAC, verifica == 3);
m.show(F_ORDINAMENTO, verifica == 3);
m.show(F_STAMPAV, verifica != 3);
}
return true;
}
void TStampa_bilanci::scrivig_file_temp()
{
TIsamtempfile* tmp = NULL;
@ -570,16 +427,16 @@ real TStampa_bilanci::compensazione(bool compensa, int indbil_conto, real& sld)
return saldo;
}
void TStampa_bilanci::next_c()
{
TRecnotype recnum = _pcn->recno();
_pcn->next();
if (_pcn->eof())
{
scrivic_file_temp();
scrivig_file_temp();
}
_pcn->readat(recnum);
void TStampa_bilanci::next_c()
{
TRecnotype recnum = _pcn->recno();
_pcn->next();
if (_pcn->eof())
{
scrivic_file_temp();
scrivig_file_temp();
}
_pcn->readat(recnum);
}
bool TStampa_bilanci::bil_sez_contr()
@ -3387,18 +3244,12 @@ void TStampa_bilanci::stampa_un_bilancio(const TMask& m)
bool TStampa_bilanci::set_print(int)
{
#ifdef CONT_SEP
TMask m ("np0300a");
#ifdef CONT_SEP
TBilancio_mask m("np0300a");
#else
TMask m ("cg1500a");
TBilancio_mask m("cg1500a");
#endif
m.set_handler (F_VERIFICA, verifica_handler);
m.set_handler (F_BILANCIO, mask_bilancio);
m.set_handler (F_STAMPA, mask_bilancio);
m.set_handler (F_DATALIM, mask_datalim);
m.set_handler (F_DATAINI, mask_dataini);
m.set_handler (F_ANNO, mask_anno);
m.set(F_NORMALI, "X");
while (m.run() == K_ENTER)
@ -3406,10 +3257,10 @@ bool TStampa_bilanci::set_print(int)
_annoes = m.get_int(F_ANNO);
_bilancio = m.get_int(F_BILANCIO);
_data = m.get(F_DATASTAMPA);
_stampa_mov_prov = m.get_bool(F_NORMALI) ? 0x1 : 0; // qui
_stampa_mov_prov |= m.get_bool(F_PROVVM) ? 0x2 : 0; // qui
_stampa_mov_prov |= m.get_bool(F_PROVVB) ? 0x4 : 0; // qui
_stampa_mov_prov |= m.get_bool(F_PROVVC) ? 0x8 : 0; // qui
_stampa_mov_prov = m.get_bool(F_NORMALI) ? 0x1 : 0;
_stampa_mov_prov |= m.get_bool(F_PROVVM) ? 0x2 : 0;
_stampa_mov_prov |= m.get_bool(F_PROVVB) ? 0x4 : 0;
_stampa_mov_prov |= m.get_bool(F_PROVVC) ? 0x8 : 0;
_quadratura = m.get_bool(F_QUADRATURA);
_hide_clifo = m.get_bool(F_HIDE_CLIFO);
_noseparator = m.get_bool(F_SEPARATOR);
@ -3742,7 +3593,17 @@ int np0300(int argc, char* argv[])
int cg1500(int argc, char* argv[])
#endif
{
TStampa_bilanci a;
a.run(argc, argv, TR("Stampa bilanci"));
if (argc > 2 && toupper(argv[2][0]) == 'A')
{
TStampa_bilanci_avanzata a;
a.run(argc, argv, TR("Stampa bilanci"));
}
else
{
TStampa_bilanci a;
a.run(argc, argv, TR("Stampa bilanci"));
}
return 0;
}

View File

@ -35,9 +35,8 @@
#define F_PROVVM 141
#define F_PROVVB 142
#define F_PROVVC 143
#ifdef CONT_SEP
#define F_CONTSEP 144
#endif
#define F_COMPCR 145
#endif // __CG1500_H

372
src/cg/cg1500ax.uml Normal file
View File

@ -0,0 +1,372 @@
#include "cg1500.h"
#define ALL_EXPORT
#define CLASS_NAME "cg1500a"
TOOLBAR "topbar" 0 0 0 2
#include <aprintbar.h>
ENDPAGE
TOOLBAR "bottombar" 0 -3 0 1
#include <bprintbar.h>
ENDPAGE
#ifdef CONT_SEP
PAGE "Stampa bilancio Contabilità separata" -1 -1 76 16
#else
PAGE "Stampa bilancio" -1 -1 76 16
#endif
NUMBER F_CODDITTA 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "FRD"
USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC
END
STRING F_RAGSOC 50
BEGIN
PROMPT 2 2 "Ragione sociale "
FLAGS "D"
END
DATE F_DATASTAMPA
BEGIN
PROMPT 48 1 "Data stampa "
HELP "Data che verra' stampata sul bilancio"
FLAGS "A"
END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 3 "Codice esercizio "
HELP "Esercizio di cui si vuole ottenere il bilancio"
USE ESC
INPUT CODTAB F_ANNO
DISPLAY "Codice" CODTAB
DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB
FLAGS "Z"
CHECKTYPE NORMAL
WARNING "L'esercizio non esiste"
ADD RUN cg0 -5 esc
END
RADIOBUTTON F_BILANCIO 37
BEGIN
PROMPT 1 5 "@bTipo bilancio"
HELP "Indicare il tipo di bilancio da stampare"
ITEM "1|Bilancio a sezioni contrapposte"
MESSAGE SHOW,1@
MESSAGE HIDE,2@|RESET,2@
MESSAGE HIDE,F_QUADRATURA
MESSAGE CLEAR,F_QUADRATURA
ITEM "2|Bilancio di verifica"
MESSAGE SHOW,F_QUADRATURA
MESSAGE HIDE,1@|RESET,1@
MESSAGE SHOW,2@
END
RADIOBUTTON F_STAMPA 28
BEGIN
PROMPT 41 5 "@bTipo stampa"
HELP "Indicare il tipo di stampa"
ITEM "1|Per date limite"
MESSAGE SHOW,F_DATALIM
MESSAGE ENABLE,F_COMPCR
MESSAGE ENABLE,F_QUADRATURA
#ifdef CONT_SEP
MESSAGE SHOW,F_CONTSEP
#endif
ITEM "2|All'ultima immissione"
MESSAGE HIDE,F_DATALIM|RESET,F_DATALIM
MESSAGE CLEAR,F_COMPCR
MESSAGE CLEAR,F_QUADRATURA
#ifdef CONT_SEP
MESSAGE HIDE,F_CONTSEP
#endif
END
DATE F_DATAINI
BEGIN
PROMPT 2 9 "Data iniziale "
HELP "Data dall quale iniziare la stampa"
END
DATE F_DATALIM
BEGIN
PROMPT 42 9 "Data limite "
HELP "Data fino alla quale si vuole la stampa"
END
BOOLEAN F_TOTALI
BEGIN
PROMPT 33 10 "Non stampare totali per gruppo "
HELP "Indicare se non si devono stampare i totali dei gruppi"
GROUP 1
END
BOOLEAN F_COMPCR
BEGIN
PROMPT 66 10 "Bilancio per competenza costi/ricavi "
HELP "Bilancio per competenza costi/ricavi"
FLAGS "D"
END
BOOLEAN F_CODICI
BEGIN
PROMPT 2 11 "Non stampare codici conti "
HELP "Indicare se non si devono stampare i codici dei conti"
GROUP 1
END
BOOLEAN F_SALDO
BEGIN
PROMPT 33 11 "Non stampare movimenti con saldo a zero "
HELP "Indicare se non si devono stampare i movimenti con saldo nullo"
GROUP 1
END
BOOLEAN F_NORMALI
BEGIN
PROMPT 2 12 "Movimenti : Normali"
END
BOOLEAN F_PROVVM
BEGIN
PROMPT 29 12 "Provvisori : Manuali"
END
BOOLEAN F_PROVVB
BEGIN
PROMPT 52 12 "Comp. costi/ricavi"
END
BOOLEAN F_PROVVC
BEGIN
PROMPT 73 12 "Cespiti"
END
BOOLEAN F_QUADRATURA
BEGIN
PROMPT 2 14 "Quadratura con Libro Giornale"
END
#ifdef CONT_SEP
STRING F_CONTSEP 6
BEGIN
PROMPT 2 15 "Contabilità separata "
USE &NPENT
INPUT CODTAB F_CONTSEP
DISPLAY "Codice@6" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CONTSEP CODTAB
CHECKTYPE REQUIRED
MODULE NP
END
#endif
ENDPAGE
PAGE "Parametri bilancio di verifica" -1 -1 74 20
RADIOBUTTON F_VERIFICA 27
BEGIN
PROMPT 2 1 "@bStampa bilancio di verifica "
HELP "Tipo di bilancio di verifica"
ITEM "1|Bilancio" MESSAGE SHOW,4@|HIDE,6@
ITEM "2|Saldi di mastro" MESSAGE SHOW,4@|HIDE,6@
ITEM "3|Situazione C/F" MESSAGE HIDE,4@|SHOW,6@
END
RADIOBUTTON F_STAMPAC 36
BEGIN
PROMPT 34 1 "@bTipo stampa"
ITEM "1|Conti movimentati"
ITEM "2|Conti con saldo diverso da zero"
GROUP 6
FLAGS "H"
END
RADIOBUTTON F_STAMPAV 36
BEGIN
PROMPT 34 1 "@bTipo stampa "
ITEM "1|Conti movimentati"
ITEM "2|Conti con saldo diverso da zero"
ITEM "3|Tutti i conti"
GROUP 4
END
BOOLEAN F_SEPARATOR
BEGIN
PROMPT 2 7 "Non stampare i separatori delle migliaia"
MESSAGE FALSE " 123.456.789.012",F_PICTURE
MESSAGE TRUE "1234567890123456",F_PICTURE
END
STRING F_PICTURE 16
BEGIN
PROMPT 50 7 ""
FLAGS "DR"
END
BOOLEAN F_HIDE_CLIFO
BEGIN
PROMPT 2 10 "Non stampare il dettaglio dei clienti/fornitori"
GROUP 4
END
LIST F_SITUAZIONE 11
BEGIN
PROMPT 2 10 "Tipo situazione "
ITEM " |Entrambi"
ITEM "C|Clienti"
ITEM "F|Fornitori"
FLAGS "H"
GROUP 6
END
LIST F_ORDINAMENTO 11
BEGIN
PROMPT 2 11 "Tipo ordinamento "
ITEM "1|Per codice"
ITEM "2|Alfabetico"
FLAGS "H"
GROUP 6
END
GROUPBOX DLG_NULL 55 6
BEGIN
PROMPT 2 13 "@bSelezione sui conti"
END
NUMBER F_DA_GRUPPO 3
BEGIN
PROMPT 3 14 "Da: Gruppo "
USE LF_PCON KEY 1 SELECT (CONTO="")
INPUT GRUPPO F_DA_GRUPPO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_DA_GRUPPO GRUPPO
CHECKTYPE NORMAL
END
NUMBER F_DA_CONTO 3
BEGIN
PROMPT 23 14 "Conto "
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
INPUT GRUPPO F_DA_GRUPPO
INPUT CONTO F_DA_CONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_DA_CONTO CONTO
OUTPUT F_DA_GRUPPO GRUPPO
CHECKTYPE NORMAL
END
NUMBER F_DA_SOTTOCONTO 6
BEGIN
PROMPT 36 14 "Sottoconto "
USE LF_PCON
INPUT GRUPPO F_DA_GRUPPO
INPUT CONTO F_DA_CONTO
INPUT SOTTOCONTO F_DA_SOTTOCONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_DA_SOTTOCONTO SOTTOCONTO
OUTPUT F_DA_GRUPPO GRUPPO
OUTPUT F_DA_CONTO CONTO
OUTPUT F_DA_DESCRIZIONE DESCR
CHECKTYPE NORMAL
END
STRING F_DA_DESCRIZIONE 50
BEGIN
PROMPT 3 15 ""
USE LF_PCON KEY 2
INPUT DESCR F_DA_DESCRIZIONE
DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
OUTPUT F_DA_SOTTOCONTO SOTTOCONTO
OUTPUT F_DA_CONTO CONTO
OUTPUT F_DA_GRUPPO GRUPPO
OUTPUT F_DA_DESCRIZIONE DESCR
CHECKTYPE NORMAL
END
NUMBER F_A_GRUPPO 3
BEGIN
PROMPT 3 16 "A: Gruppo "
USE LF_PCON KEY 1 SELECT (CONTO="")
INPUT GRUPPO F_A_GRUPPO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_A_GRUPPO GRUPPO
CHECKTYPE NORMAL
END
NUMBER F_A_CONTO 3
BEGIN
PROMPT 23 16 "Conto "
USE LF_PCON KEY 1 SELECT (SOTTOCONTO="")
INPUT GRUPPO F_A_GRUPPO
INPUT CONTO F_A_CONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_A_CONTO CONTO
OUTPUT F_A_GRUPPO GRUPPO
CHECKTYPE NORMAL
END
NUMBER F_A_SOTTOCONTO 6
BEGIN
PROMPT 36 16 "Sottoconto "
USE LF_PCON
INPUT GRUPPO F_A_GRUPPO
INPUT CONTO F_A_CONTO
INPUT SOTTOCONTO F_A_SOTTOCONTO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
OUTPUT F_A_SOTTOCONTO SOTTOCONTO
OUTPUT F_A_GRUPPO GRUPPO
OUTPUT F_A_CONTO CONTO
OUTPUT F_A_DESCRIZIONE DESCR
CHECKTYPE NORMAL
END
STRING F_A_DESCRIZIONE 50
BEGIN
PROMPT 3 17 ""
USE LF_PCON KEY 2
INPUT DESCR F_A_DESCRIZIONE
DISPLAY "Descrizione@50" DESCR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
OUTPUT F_A_SOTTOCONTO SOTTOCONTO
OUTPUT F_A_CONTO CONTO
OUTPUT F_A_GRUPPO GRUPPO
OUTPUT F_A_DESCRIZIONE DESCR
CHECKTYPE NORMAL
END
ENDPAGE
ENDMASK

414
src/cg/cg1500b.rep Normal file
View File

@ -0,0 +1,414 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="cg1500b" use_printer_font="" orientation="2" page_split="" lpi="6" command="cg1 -4" class="cg1500b">
<description>Stampa bilancio di verifica</description>
<font face="Arial" size="7" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<field deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="" text="Ditta" />
<field deactivated="" type="Stringa" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="189" codval="" height="1.5" id="" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="14" />
<prescript description="H0.0 PRESCRIPT">"Stampa Bilancio di verifica"
#CODES @
0
&#3C;&#3E;
IF
" esercizio "
+
#CODES @
+
THEN
#THIS !
</prescript>
</field>
<field x="3.5" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="" text="">
<source>#SYSTEM.FIRM</source>
</field>
<field x="9" deactivated="" type="Stringa" valign="bottom" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<source>#SYSTEM.RAGSOC</source>
</field>
<field x="160.5" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Data">
<font italic="1" face="Courier New" bold="1" size="8" />
</field>
<field x="168.5" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="">
<source>#SYSTEM.DATE</source>
</field>
<field x="180" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Pag.">
<font italic="1" face="Courier New" bold="1" size="8" />
</field>
<field x="185" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
<source>#PAGE</source>
</field>
<field x="9" y="1" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="40" codval="" height="2" id="" pattern="1" hide_zero="" text="">
<prescript description="H0.0 PRESCRIPT">"!INDIR"
GET_FIRM_DATA </prescript>
</field>
<field x="160.5" y="1" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="3" codval="" id="" pattern="1" hide_zero="" text="Dal" />
<field x="165" y="1" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATAINI</source>
</field>
<field x="176.5" y="1" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="3" codval="" id="" pattern="1" hide_zero="" text="Al" />
<field x="180" y="1" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATALIM</source>
</field>
<field x="160" y="2" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="30" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPOST</source>
<list>
<li Value="Per data limite" Code="1" />
<li Value="All'ultima immissione" Code="2" />
</list>
</field>
<field y="3" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="15" codval="" id="" pattern="1" hide_zero="" text="Codice fiscale" />
<field x="15" y="3" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="16" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="H0.0 PRESCRIPT">"!CF"
GET_FIRM_DATA </prescript>
</field>
<field x="31.5" y="3" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="13" codval="" id="" pattern="1" hide_zero="" text="Partita IVA" />
<field x="44" y="3" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="">"!IVA"
GET_FIRM_DATA</prescript>
</field>
<field x="160" y="3" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="30" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPOCONTI</source>
<list>
<li Value="Tutti i conti" Code="1" />
<li Value="Tutti i conti movimentati" Code="2" />
<li Value="I conto con saldo diverso da zero" Code="3" />
</list>
</field>
<field border="1" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="16" codval="" height="2" id="" pattern="1" hide_zero="" text="Conto" />
<field border="1" x="16" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="12" codval="" height="2" id="" pattern="1" hide_zero="" text="Ultima data" />
<field border="1" x="28" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="9" codval="" height="2" id="" pattern="1" hide_zero="" text="Ultimo numero" />
<field border="1" x="37" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="52" codval="" height="2" id="" pattern="1" hide_zero="" text="Descrizione" />
<field border="1" x="89" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="40" codval="" id="" pattern="1" hide_zero="" text="Saldo iniziale" />
<field border="1" x="129" y="4" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="40" codval="" id="" pattern="1" hide_zero="" text="Progressivi del periodo" />
<field border="1" x="169" y="4" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="21" codval="" height="2" id="" pattern="1" hide_zero="" text="Saldo finale" />
<field border="1" x="89" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Dare" />
<field border="1" x="109" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Avere" />
<field border="1" x="129" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Dare" />
<field border="1" x="149" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Avere" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="2" hidden="" page_break="" can_break="" pattern="1">
<groupby>GRUPPO</groupby>
<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</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="3" hidden="" page_break="" can_break="" pattern="1">
<groupby>GRUPPO+CONTO</groupby>
<prescript description="H3 PRESCRIPT">MESSAGE_RESET #F3.101
MESSAGE_RESET #F3.102
MESSAGE_RESET #F3.103
MESSAGE_RESET #F3.104
MESSAGE_RESET #F3.105
MESSAGE_RESET #F3.106</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
<prescript description="B1 PRESCRIPT">MESSAGE_RESET F3</prescript>
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<source>DESCR</source>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="190" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOINIDARE</source>
<postscript description="B1.101 POSTSCRIPT">#THIS @
#F3.101
+!</postscript>
</field>
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOINIAVERE</source>
<postscript description="B1.102 POSTSCRIPT">#THIS @
#F3.102
+!</postscript>
</field>
<field x="129" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>PDARE</source>
<postscript description="B1.103 POSTSCRIPT">#THIS @
#F3.103
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOFIN</source>
<prescript description="B1.105 PRESCRIPT">#THIS @
0
&#3C;
IF
"A"
#106 !
0
#THIS @
-
#THIS !
ELSE
#THIS @
0
&#3E;
IF
"D"
#106 !
ELSE
""
#106 !
THEN
THEN
</prescript>
</field>
<field x="188.5" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="1" codval="" id="106" pattern="1" hide_zero="" text="" />
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="">
<source>GRUPPO</source>
<postscript description="B1.201 POSTSCRIPT">#THIS @
#F3.201 !</postscript>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="202" pattern="1" hide_zero="1" text="">
<source>CONTO</source>
<postscript description="B1.202 POSTSCRIPT">#THIS @
#F3.202 !</postscript>
</field>
<field x="9" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="203" pattern="1" hide_zero="1" text="">
<source>SOTTOCONTO</source>
</field>
<field x="17" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="204" pattern="1" hide_zero="" text="">
<source>DATAULMOV</source>
</field>
<field x="149" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="204" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>PAVERE</source>
<postscript description="B1.204 POSTSCRIPT">#THIS @
#F3.104
+!</postscript>
</field>
<field x="29" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="7" codval="" id="205" pattern="1" hide_zero="1" text="">
<source>NUMULTMOV</source>
</field>
</section>
<section repeat="" y="48" keep_with_next="" deactivated="" hidden_if_needed="1" type="Foot" level="" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="190" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" y="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="190" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="TOTALE GENERALE" />
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="190" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field x="38" y="1" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="TOTALE GENERALI CON SALDI INIZIALI" />
<field border="1" y="2" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="190" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="129" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="149" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F1.105 PRESCRIPT">#101 @
#102 @
-
#103 @
+
#104 @
-
#THIS !
#THIS @
0
&#3C;
IF
"A"
#106 !
0
#THIS @
-
#THIS !
ELSE
#THIS @
0
&#3E;
IF
"D"
#106 !
ELSE
""
#THIS !
THEN
THEN</prescript>
</field>
<field x="188.5" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="1" codval="" id="106" pattern="1" hide_zero="" text="" />
<field x="129" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="203" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F1.203 PRESCRIPT">#101 @
#103 @
+
#THIS !</prescript>
</field>
<field x="149" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="204" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F1.204 PRESCRIPT">#102 @
#104 @
+
#THIS !</prescript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="2" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="F2.0 PRESCRIPT">MESSAGE ISAMREAD,19,GRUPPO=#201,DESCR</prescript>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="190" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="90" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.101 POSTSCRIPT">#THIS @
#F1.101
+!</postscript>
</field>
<field x="110" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.102 POSTSCRIPT">#THIS @
#F1.102
+!</postscript>
</field>
<field x="130" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.103 POSTSCRIPT">#THIS @
#F1.103
+!</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.104 POSTSCRIPT">#THIS @
#F1.104
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F2.105 PRESCRIPT">#101 @
#102 @
-
#103 @
+
#104 @
-
#THIS !
#THIS @
0
&#3C;
IF
"A"
#106 !
0
#THIS @
-
#THIS !
ELSE
#THIS @
0
&#3E;
IF
"D"
#106 !
ELSE
""
#THIS !
THEN
THEN</prescript>
</field>
<field x="188.5" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="1" codval="" id="106" pattern="1" hide_zero="" text="" />
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="3" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="F3.0 PRESCRIPT">MESSAGE ISAMREAD,19,GRUPPO=#201!CONTO=#202,DESCR</prescript>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="190" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.101 POSTSCRIPT">#THIS @
#F2.101
+!</postscript>
</field>
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.102 POSTSCRIPT">#THIS @
#F2.102
+!</postscript>
</field>
<field x="130" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.103 POSTSCRIPT">#THIS @
#F2.103
+!</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.104 POSTSCRIPT">#THIS @
#F2.104
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F3.105 PRESCRIPT">#101 @
#102 @
-
#103 @
+
#104 @
-
#THIS !
#THIS @
0
&#3C;
IF
"A"
#106 !
0
#THIS @
-
#THIS !
ELSE
#THIS @
0
&#3E;
IF
"D"
#106 !
ELSE
""
#106 !
THEN
THEN</prescript>
</field>
<field x="188.5" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="1" codval="" id="106" pattern="1" hide_zero="" text="" />
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="">
<postscript description="F3.201 POSTSCRIPT">#THIS @
#F2.201 !</postscript>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="202" pattern="1" hide_zero="1" text="" />
</section>
</report>

338
src/cg/cg1500c.rep Normal file
View File

@ -0,0 +1,338 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="cg1500c" use_printer_font="" orientation="2" page_split="" lpi="6" command="cg1 -4" class="cg1500b">
<description>Stampa bilancio di verifica estesa</description>
<font face="Arial" size="7" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<field deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="209" codval="" height="1.5" id="" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="14" />
<prescript description="H0.0 PRESCRIPT">"Stampa Bilancio di verifica"
#CODES @
0
&#3C;&#3E;
IF
" esercizio "
+
#CODES @
+
THEN
#THIS !
</prescript>
</field>
<field deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="" text="Ditta" />
<field x="3.5" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="" text="">
<source>#SYSTEM.FIRM</source>
</field>
<field x="9" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<source>#SYSTEM.RAGSOC</source>
</field>
<field x="179.5" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Data">
<font italic="1" face="Courier New" bold="1" size="8" />
</field>
<field x="187.5" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="">
<source>#SYSTEM.DATE</source>
</field>
<field x="199" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Pag.">
<font italic="1" face="Courier New" bold="1" size="8" />
</field>
<field x="204" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
<source>#PAGE</source>
</field>
<field x="9" y="1" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="H0.0 PRESCRIPT">"!INDIR"
GET_FIRM_DATA </prescript>
</field>
<field x="179.5" y="1" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="3" codval="" id="" pattern="1" hide_zero="" text="Dal" />
<field x="195.5" y="1" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="3" codval="" id="" pattern="1" hide_zero="" text="Al" />
<field x="199" y="1" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATALIM</source>
</field>
<field y="2" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="15" codval="" id="" pattern="1" hide_zero="" text="Codice fiscale" />
<field x="15" y="2" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="16" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="H0.0 PRESCRIPT">"!CF"
GET_FIRM_DATA </prescript>
</field>
<field x="31.5" y="2" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="13" codval="" id="" pattern="1" hide_zero="" text="Partita IVA" />
<field x="44" y="2" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="H0.0 PRESCRIPT">"!IVA"
GET_FIRM_DATA</prescript>
</field>
<field x="179" y="2" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="30" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPOST</source>
<list>
<li Value="Per data limite" Code="1" />
<li Value="All'ultima immissione" Code="2" />
</list>
</field>
<field x="179" y="3" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="30" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPOCONTI</source>
<list>
<li Value="Tutti i conti" Code="1" />
<li Value="Tutti i conti movimentati" Code="2" />
<li Value="I conto con saldo diverso da zero" Code="3" />
</list>
</field>
<field border="1" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="16" codval="" height="2" id="" pattern="1" hide_zero="" text="Conto" />
<field border="1" x="16" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="12" codval="" height="2" id="" pattern="1" hide_zero="" text="Ultima data" />
<field border="1" x="28" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="9" codval="" height="2" id="" pattern="1" hide_zero="" text="Ultimo numero" />
<field border="1" x="37" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="52" codval="" height="2" id="" pattern="1" hide_zero="" text="Descrizione" />
<field border="1" x="89" y="4" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="40" codval="" id="" pattern="1" hide_zero="" text="Saldo iniziale" />
<field border="1" x="129" y="4" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="40" codval="" id="" pattern="1" hide_zero="" text="Progressivi del periodo" />
<field border="1" x="169" y="4" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="40" codval="" id="" pattern="1" hide_zero="" text="Saldo finale" />
<field border="1" x="89" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Dare" />
<field border="1" x="109" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Avere" />
<field border="1" x="129" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Dare" />
<field border="1" x="149" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Avere" />
<field border="1" x="169" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Dare" />
<field border="1" x="189" y="5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="Avere" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="2" hidden="" page_break="" can_break="" pattern="1">
<groupby>GRUPPO</groupby>
<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</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="3" hidden="" page_break="" can_break="" pattern="1">
<groupby>GRUPPO+CONTO</groupby>
<prescript description="H3 PRESCRIPT">MESSAGE_RESET #F3.101
MESSAGE_RESET #F3.102
MESSAGE_RESET #F3.103
MESSAGE_RESET #F3.104
MESSAGE_RESET #F3.105
MESSAGE_RESET #F3.106</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
<prescript description="B1 PRESCRIPT">MESSAGE_RESET F3</prescript>
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<source>DESCR</source>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="189" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="209" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOINIDARE</source>
<postscript description="B1.101 POSTSCRIPT">#THIS @
#F3.101
+!</postscript>
</field>
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOINIAVERE</source>
<postscript description="B1.102 POSTSCRIPT">#THIS @
#F3.102
+!</postscript>
</field>
<field x="129" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>PDARE</source>
<postscript description="B1.103 POSTSCRIPT">#THIS @
#F3.103
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOFINDARE</source>
<prescript description="B1.105 PRESCRIPT">#THIS @
0
&#3C;
IF
"A"
#106 !
0
#THIS @
-
#THIS !
ELSE
#THIS @
0
&#3E;
IF
"D"
#106 !
ELSE
""
#106 !
THEN
THEN
</prescript>
</field>
<field x="189" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>SALDOFINAVERE</source>
<postscript description="B1.106 POSTSCRIPT">#THIS @
#F3.106 !</postscript>
</field>
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="">
<source>GRUPPO</source>
<postscript description="B1.201 POSTSCRIPT">#THIS @
#F3.201 !</postscript>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="202" pattern="1" hide_zero="1" text="">
<source>CONTO</source>
<postscript description="B1.202 POSTSCRIPT">#THIS @
#F3.202 !</postscript>
</field>
<field x="9" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="203" pattern="1" hide_zero="1" text="">
<source>SOTTOCONTO</source>
</field>
<field x="17" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="204" pattern="1" hide_zero="" text="">
<source>DATAULMOV</source>
</field>
<field x="149" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="204" pattern="1" hide_zero="1" text="###.###.###,@@">
<source>PAVERE</source>
<postscript description="B1.204 POSTSCRIPT">#THIS @
#F3.104
+!</postscript>
</field>
<field x="29" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="7" codval="" id="205" pattern="1" hide_zero="1" text="">
<source>NUMULTMOV</source>
</field>
</section>
<section repeat="" y="48" keep_with_next="" deactivated="" hidden_if_needed="1" type="Foot" level="" hidden="" height="1" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="189" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="209" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" y="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="209" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="TOTALE GENERALE" />
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="189" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="209" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" height="2" id="" pattern="1" hide_zero="" text="" />
<field x="38" y="1" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="TOTALE GENERALI CON SALDI INIZIALI" />
<field border="1" y="2" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="209" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="129" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="149" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="189" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="">#THIS @
#F2.106 !</postscript>
</field>
<field x="129" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="203" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F1.203 PRESCRIPT">#101 @
#103 @
+
#THIS !</prescript>
</field>
<field x="149" y="1" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="204" pattern="1" hide_zero="1" text="###.###.###,@@">
<prescript description="F1.204 PRESCRIPT">#102 @
#104 @
+
#THIS !</prescript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="2" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="F2.0 PRESCRIPT">MESSAGE ISAMREAD,19,GRUPPO=#201,DESCR</prescript>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="189" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="209" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="90" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.101 POSTSCRIPT">#THIS @
#F1.101
+!</postscript>
</field>
<field x="110" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.102 POSTSCRIPT">#THIS @
#F1.102
+!</postscript>
</field>
<field x="130" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.103 POSTSCRIPT">#THIS @
#F1.103
+!</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.104 POSTSCRIPT">#THIS @
#F1.104
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="189" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.106 POSTSCRIPT">#THIS @
#F1.106 !</postscript>
</field>
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="3" hidden="" page_break="" can_break="" pattern="1">
<field border="1" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="28" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="37" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="38" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="1" hide_zero="" text="">
<prescript description="F3.0 PRESCRIPT">MESSAGE ISAMREAD,19,GRUPPO=#201!CONTO=#202,DESCR</prescript>
</field>
<field border="1" x="89" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="109" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="129" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="149" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="169" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="189" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field border="1" x="209" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" codval="" id="" pattern="1" hide_zero="" text="" />
<field x="89" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.101 POSTSCRIPT">#THIS @
#F2.101
+!</postscript>
</field>
<field x="109" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.102 POSTSCRIPT">#THIS @
#F2.102
+!</postscript>
</field>
<field x="130" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.103 POSTSCRIPT">#THIS @
#F2.103
+!</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="18" codval="" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.104 POSTSCRIPT">#THIS @
#F2.104
+!</postscript>
</field>
<field x="169" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="105" pattern="1" hide_zero="1" text="###.###.###,@@" />
<field x="189" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="19" codval="" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.106 POSTSCRIPT">#THIS @
#F2.106 !</postscript>
</field>
<field x="1" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="201" pattern="1" hide_zero="1" text="">
<postscript description="F3.201 POSTSCRIPT">#THIS @
#F2.201 !</postscript>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3" codval="" id="202" pattern="1" hide_zero="1" text="" />
</section>
</report>

745
src/cg/cg1501.cpp Normal file
View File

@ -0,0 +1,745 @@
// Stampa bilanci avanzata
#include <progind.h>
#include <utility.h>
#include <mov.h>
#include <rmov.h>
#include <rmoviva.h>
#include <pconti.h>
#include <comuni.h>
#include <clifo.h>
#include <attiv.h>
#include <causali.h>
#include <saldi.h>
#include <nditte.h>
#include <anagr.h>
#include "cg1500.h"
#include "cg1501.h"
#include "cglib.h"
const TString & TBilancio_mask::get_report_class() const
{
TReport_select * rs = efield(DLG_REPORT).reportsel();
return rs->get_report_class();
}
void TBilancio_mask::set_report_class(const char * classname)
{
TReport_select * rs = efield(DLG_REPORT).reportsel();
if (rs != nullptr)
rs->set_report_class(classname);
}
bool TBilancio_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_BILANCIO:
if (e == fe_init)
{
const int bilancio = get_int(F_BILANCIO);
if (bilancio == SEZIONI_CONTRAPPOSTE)
set_report_class("cg1500a");
else
set_report_class("cg1500b");
}
else
if (e == fe_modify)
{
const int anno = get_int(F_ANNO);
const int bilancio = get_int(F_BILANCIO);
const int tipo_stampa = get_int(F_STAMPA);
const TDate datalim = get_date(F_DATALIM);
TDate data;
enable_page(1, bilancio != 1);
if (esercizi().exist(datalim))
data = esercizio(datalim).fine();
o.mask().show(F_DATAINI, bilancio == 2 && tipo_stampa == 1);
o.mask().show(F_QUADRATURA, bilancio == 2 && tipo_stampa == 1 && data == datalim);
if (bilancio == SEZIONI_CONTRAPPOSTE)
set_report_class("cg1500a");
else
set_report_class("cg1500b");
}
break;
case F_STAMPA:
if (e == fe_modify)
{
const int verifica = get_int(F_VERIFICA);
o.mask().show(F_SITUAZIONE, verifica == 3);
o.mask().show(F_STAMPAC, verifica == 3);
o.mask().show(F_ORDINAMENTO, verifica == 3);
o.mask().show(F_STAMPAV, verifica != 3);
}
break;
case F_DATALIM:
if (e == fe_close)
{
const int anno = get_int(F_ANNO);
const int bilancio = get_int(F_BILANCIO);
const TDate data = get_date(F_DATALIM);
if (anno != 0)
{
if (data.ok())
{
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
return o.error_box(TR("La data limite deve appartenere all'esercizio indicato"));
}
}
else //anno == 0
{
if (!data.ok())
return o.error_box(TR("La data limite e' obbligatoria"));
if (!esercizi().exist(data))
return o.error_box(TR("La data limite deve appartenere ad un esercizio attivo della ditta"));
}
if (get_date(F_DATALIM) < get_date(F_DATAINI))
return o.error_box(TR("La data limite deve essere maggiore o uguale alla data iniziale"));
}
break;
case F_DATAINI:
if (e == fe_close)
{
const int anno = get_int(F_ANNO);
int bilancio = get_int(F_BILANCIO);
TDate data = o.get_date();
if (anno != 0)
{
if (data.ok())
{
if (!esercizi().exist(data) || (esercizio(data).codice() != anno))
return o.error_box(TR("La data iniziale deve appartenere all'esercizio indicato"));
}
}
else //anno == 0
{
const TDate datalim = get_date(F_DATALIM);
if (!data.ok() && datalim.ok() && esercizi().exist(datalim))
o.mask().set(F_DATAINI, data = esercizio(datalim).inizio());
if (!data.ok())
return o.error_box(TR("La data limite e' obbligatoria"));
if (!esercizi().exist(data))
return o.error_box(TR("La data limite deve appartenere ad un esercizio attivo della ditta"));
}
}
break;
case F_ANNO:
if (e == fe_close)
{
const int tipo_stampa = get_int(F_STAMPA);
const int anno = get_int(F_ANNO);
if (tipo_stampa == 2 && anno == 0)
return o.error_box(TR("Indicare l'anno di esercizio"));
}
else
if (e == fe_modify)
{
const int tipo_stampa = get_int(F_STAMPA);
const int anno = get_int(F_ANNO);
const int bilancio = get_int(F_BILANCIO);
const TDate datalim = get_date(F_DATALIM);
TDate data;
if (esercizi().exist(datalim))
data = esercizio(datalim).fine();
enable_page(1, bilancio != 1);
show(F_DATAINI, bilancio == 2 && tipo_stampa == 1);
show(F_QUADRATURA, bilancio == 2 && tipo_stampa == 1 && data == datalim);
}
break;
}
return true;
}
TSezioni_contrapposte_recset::TSezioni_contrapposte_recset()
{
_colonne.add(TRecordset_column_info(PCN_GRUPPO, 3, _intfld));
_colonne.add(TRecordset_column_info(PCN_CONTO, 3, _intfld));
_colonne.add(TRecordset_column_info(PCN_SOTTOCONTO, 6, _longfld));
_colonne.add(TRecordset_column_info(SLD_NUMULTMOV, 3, _longfld));
_colonne.add(TRecordset_column_info(SLD_DATAULMOV, 10, _datefld));
_colonne.add(TRecordset_column_info(PCN_DESCR, 50, _alfafld));
_colonne.add(TRecordset_column_info(SLD_FLAGSALINI, 1, _alfafld));
_colonne.add(TRecordset_column_info(SLD_SALDO, 18, _realfld));
_colonne.add(TRecordset_column_info(SLD_PDARE, 18, _realfld));
_colonne.add(TRecordset_column_info(SLD_PAVERE, 18, _realfld));
_colonne.add(TRecordset_column_info(PCN_INDBIL, 1, _alfafld));
}
bool TVerifica_recset::move_to(TRecnotype pos)
{
_curr = pos;
return pos >= 0 && pos < items();
}
void TVerifica_recset::calculate_saldo(const TRectype & rec)
{
TTipo_data tipo_data;
_last_conto.set(rec.get_int(PCN_GRUPPO), rec.get_int(PCN_CONTO), rec.get_long(PCN_SOTTOCONTO));
_last_indbil =_last_conto.indicatore_bilancio();
if (_compcr)
tipo_data = CostiRicavi;
else
if (_esercizio == 0)
tipo_data = Registrazione;
else
tipo_data = Competenza;
if (_contsep.full())
_last_saldo.saldo_cont_sep(tipo_data, _last_conto.gruppo(), _last_conto.conto(), _last_conto.sottoconto(), _esercizio, _datalim, _last_indbil, _contsep, _tipi_mov);
else
{
if (_tipo_data == ULTIMA_IMMISSIONE)
_last_saldo.ultima_immissione_verifica(_esercizio, _last_conto.gruppo(), _last_conto.conto(), _last_conto.sottoconto(), _last_indbil, _tipi_mov);
else
_last_saldo.saldo_periodo(tipo_data, _last_conto.gruppo(), _last_conto.conto(), _last_conto.sottoconto(), _dataini, _datalim, _last_indbil, _tipi_mov, true, _quadratura);
}
}
bool TVerifica_recset::select_conti(const TRectype & rec)
{
if (_tipo_ver == CLIENTI_FORNITORI && _sit_cf.full() && _sit_cf != _last_conto.tipo())
return false;
if (_tipo_ver == CLIENTI_FORNITORI && _tipo_ord == ORD_RAGSOC)
{
if (_sit_cf != _last_conto.tipo())
return false;
if (_last_conto.descrizione() < _da_descrizione.full() && _last_conto.descrizione() > _a_descrizione)
return false;
}
if (_last_conto < _da_conto && _a_conto.ok() && _last_conto> _a_conto)
return false;
return true;
}
void TVerifica_recset::update_record(const TRectype & rec)
{
if (cli_for())
_last_conto.set(0, 0, _last_conto.sottoconto());
if (!show_clifo())
_last_conto.set(_last_conto.gruppo(), _last_conto.conto(), 0);
TString & key = _last_conto.keystr();
const bool new_record = !exist_row(key);
if (new_record)
_righe.add(key, new TArray);
TArray & row = (TArray &)_righe[key];
if (new_record)
{
row.add(TString(format("%d", _last_conto.gruppo())), VER_GRUPPO);
row.add(TString(format("%d", _last_conto.conto())), VER_CONTO);
row.add(TString(format("%ld", _last_conto.sottoconto())), VER_SOTTOCONTO);
row.add(EMPTY_STRING, VER_NUMULTMOV);
row.add(EMPTY_STRING, VER_DATAULMOV);
row.add(_last_conto.descrizione(), VER_DESCR);
row.add(TString(format("%d",_last_conto.indicatore_bilancio())), VER_INDBIL);
row.add(TString("D"), VER_FLAGSALINI);
row.add(EMPTY_STRING, VER_SALDO);
row.add(EMPTY_STRING, VER_PDARE);
row.add(EMPTY_STRING, VER_PAVERE);
}
TToken_string conto_key;
conto_key.add(_esercizio);
conto_key.add("");
conto_key.add(_last_conto.gruppo());
conto_key.add(_last_conto.conto());
conto_key.add(_last_conto.sottoconto());
const TRectype & saldo = cache().get(LF_SALDI, conto_key);
const long ultmov = atol((TString &&)row[VER_NUMULTMOV]);
const long new_ultmov = saldo.get_long(SLD_NUMULTMOV);
if (ultmov < new_ultmov)
{
row.add(saldo.get(SLD_NUMULTMOV), VER_NUMULTMOV);
row.add(saldo.get(SLD_DATAULMOV), VER_DATAULMOV);
}
TImporto saldoini(((TString &)row[VER_FLAGSALINI])[0], real((TString &)row[VER_SALDO]));
real prgdare((TString &)row[VER_PDARE]);
real prgavere((TString &)row[VER_PAVERE]);
TImporto salini('D', _last_saldo.saldoini());
TString4 flagsalini;
saldoini += salini;
saldoini.normalize();
flagsalini << saldoini.sezione();
prgdare += _last_saldo.prgdare();
prgavere += _last_saldo.prgavere();
row.add(flagsalini, VER_FLAGSALINI);
row.add(TString(saldoini.valore().string()), VER_SALDO);
row.add(TString(prgdare.string()), VER_PDARE);
row.add(TString(prgavere.string()), VER_PAVERE);
}
//metodi principali di riempimento degli array da mandare in stampa
void TVerifica_recset::scan_clifor(const TRectype & rec)
{
TCursor clifor(new TRelation(LF_CLIFO));
TRectype reccf(rec);
TRectype from(clifor.curr());
from.zero();
from.put(CLI_TIPOCF, rec.get(PCN_TMCF));
TRectype to(from);
clifor.setregion(from, to);
const TRecnotype items = clifor.items();
TProgress_monitor p(items, "Lettura saldi Clienti/Fornitori");
for (clifor = 0L; p.addstatus() && clifor.pos() < items; ++clifor)
{
reccf.put(PCN_SOTTOCONTO, clifor.curr().get(CLI_CODCF));
reccf.put(PCN_DESCR, clifor.curr().get(CLI_RAGSOC));
calculate_saldo(reccf);
if (select_conti(reccf))
update_record(reccf);
}
}
void TVerifica_recset::rebuild()
{
TCursor conti(new TRelation(LF_PCON));
const TRecnotype items = conti.items();
TProgress_monitor p(items, "Lettura saldi");
_righe.destroy();
_index.destroy();
for (conti = 0L; p.addstatus() && conti.pos() < items; ++conti)
{
const TString tipocf = conti.curr().get(PCN_TMCF);
if (tipocf.full())
scan_clifor(conti.curr());
else
if (conti.curr().get_long(PCN_SOTTOCONTO) != 0L)
{
calculate_saldo(conti.curr());
if (select_conti(conti.curr()))
update_record(conti.curr());
}
}
}
HIDDEN int compare_descr(const TObject** d1, const TObject** d2)
{
TString * desc1 = (TString *)*d1;
TString * desc2 = (TString *)*d2;
return desc1->compare(*desc2);
}
HIDDEN int compare_conto(const TObject** c1, const TObject** c2)
{
TString * conto1 = (TString *)*c1;
TString * conto2 = (TString *)*c2;
return conto1->compare(*conto2);
}
void TVerifica_recset::filter_rows()
{
TString_array keys;
FOR_EACH_ASSOC_OBJECT(_righe, obj, key, item)
{
TArray & row = (TArray &)*item;
if (_tipo_saldo_ver == SALDO_NOT_ZERO)
{
real saldo = (TString &) row[VER_SALDO];
if (atoi((TString &)row[VER_GRUPPO]) == 3 &&
atoi((TString &)row[VER_CONTO]) == 130)
{
const long cod = atol((TString &)row[VER_SOTTOCONTO]);
if (cod < 46L)
int i = 1;
}
if ((TString &)row[VER_FLAGSALINI] == "A")
saldo = -saldo;
saldo += real((TString &)row[VER_PDARE]);
saldo -= real((TString &)row[VER_PAVERE]);
if (saldo == ZERO)
keys.add(key);
}
else
if (_tipo_saldo_ver == MOVIMENTATO)
{
const TString num = (TString &)row[VER_NUMULTMOV];
if (num.blank())
keys.add(key);
}
}
FOR_EACH_ARRAY_ROW(keys, r, k)
_righe.remove(*k);
}
void TVerifica_recset::update_index()
{
if (cli_for() && _tipo_ord == ORD_RAGSOC)
{
FOR_EACH_ASSOC_OBJECT(_righe, obj, key, item)
{
TArray & row = (TArray &)*item;
TToken_string rowkey((TString &)row[VER_DESCR]);
rowkey.rpad(50);
TString conto = format("%03d%03d%06ld", (const char *)((TString &)row[VER_GRUPPO]),
(const char *)((TString &)row[VER_CONTO]),
(const char *)(TString &)row[VER_SOTTOCONTO]);
rowkey.add(conto);
_index.add(rowkey);
}
_index.sort(compare_descr);
FOR_EACH_ARRAY_ITEM(_index, r, obj)
{
TToken_string & rowkey = (TToken_string &)*obj;
rowkey = rowkey.get(1);
}
}
else
{
FOR_EACH_ASSOC_OBJECT(_righe, obj, key, item)
{
TArray & row = (TArray &)*item;
int gruppo = atoi(((TString &)row[VER_GRUPPO]));
int conto = atoi(((TString &)row[VER_CONTO]));
long sottoconto = atol((TString &)row[VER_SOTTOCONTO]);
TString key = format("%03d%03d%06ld", gruppo, conto, sottoconto);
_index.add(key);
}
_index.sort(compare_conto);
}
}
void TVerifica_recset::requery()
{
//***Metodo principale per la creazione della intera stampa***
//Messo nella requery perchè sempre chiamata qualsiasi sia il tipo di stampa
rebuild();
filter_rows();
update_index();
}
const TArray & TVerifica_recset::get_row(TRecnotype row) const
{
if (row < 0)
row = _curr;
return(TArray &)_righe[(const TString &)_index[row]];
}
const TVariant& TVerifica_recset::get(unsigned int column) const
{
if (_curr >= 0 && _curr < items())
{
TVariant& var = get_tmp_var();
const TArray & row = get_row();
var.set((const TString &)row[column]);
return var;
}
return NULL_VARIANT;
}
const TVariant& TVerifica_recset::get(const char* column_name) const
{
if (_curr >= 0 && _curr < items())
{
const TFixed_string fld(column_name);
int col = find_column(fld);
TVariant& var = get_tmp_var();
if (col >= 0)
{
const TArray & row = get_row();
var.set((const TString &)row[col]);
}
else
if (fld == "SALDOINIDARE")
{
TImporto saldo(get_string(SLD_FLAGSALINI)[0], get_real(SLD_SALDO));
saldo.normalize('D');
if (saldo.valore() >= ZERO)
var = saldo.valore();
else
var = ZERO;
}
else
if (fld == "SALDOINIAVERE")
{
TImporto saldo(get_string(SLD_FLAGSALINI)[0], get_real(SLD_SALDO));
saldo.normalize('A');
if (saldo.valore() >= ZERO)
var = saldo.valore();
else
var = ZERO;
}
else
if (fld == "SALDOFIN") // eliminare
{
TImporto saldo(get_string(SLD_FLAGSALINI)[0], get_real(SLD_SALDO));
saldo += TImporto('D', get_real(SLD_PDARE));
saldo += TImporto('A', get_real(SLD_PAVERE));
saldo.normalize('D');
var = saldo.valore();
}
else
if (fld == "SALDOFINDARE")
{
TImporto saldo('D', get("SALDOFIN").as_real());
saldo.normalize('D');
if (saldo.valore() >= ZERO)
var = saldo.valore();
else
var = ZERO;
}
else
if (fld == "SALDOFINAVERE")
{
TImporto saldo('D', get("SALDOFIN").as_real());
saldo.normalize('A');
if (saldo.valore() >= ZERO)
var = saldo.valore();
else
var = ZERO;
}
else
if (fld == "DATAINI")
var = _dataini.stringa();
else
if (fld == "DATALIM")
var = _datalim.stringa();
else
if (fld == "TIPOST")
var = _tipo_data;
else
if (fld == "TIPOCONTI")
var = _tipo_saldo_ver;
else
if (fld == "#CODES")
var = _esercizio;
return var;
}
return NULL_VARIANT;
}
void TVerifica_recset::set_filter(const TMask& msk)
{
_esercizio = msk.get_int(F_ANNO);
_tipo_data = msk.get_int(F_STAMPA);
_dataini = msk.get_date(F_DATAINI);
_datalim = msk.get_date(F_DATALIM);
if (_esercizio != 0)
{
TDate datainiesc, datafinesc;
esercizi().code2range(_esercizio, datainiesc, datafinesc);
if (!_dataini.ok())
_dataini = datainiesc;
if (!_datalim.ok())
_datalim = datafinesc;
}
_compcr = msk.get_bool(F_COMPCR);
_quadratura = msk.get_bool(F_QUADRATURA);
_st_saldo_zero = !msk.get_bool(F_SALDO);
_tipi_mov = msk.get_bool(F_NORMALI) ? 0x1 : 0;
_tipi_mov |= msk.get_bool(F_PROVVM) ? 0x2 : 0;
_tipi_mov |= msk.get_bool(F_PROVVB) ? 0x4 : 0;
_tipi_mov |= msk.get_bool(F_PROVVC) ? 0x8 : 0;
_quad_gior = msk.get_bool(F_QUADRATURA);
if (msk.find_by_id(F_CONTSEP))
_contsep = msk.get(F_CONTSEP);
else
_contsep = "";
_tipo_ver = msk.get_int(F_VERIFICA);
_tipo_saldo_ver = msk.get_int(msk.field(F_STAMPAV).shown() ? F_STAMPAV : F_STAMPAC);
_show_clifo = !msk.get_bool(F_HIDE_CLIFO);
_sit_cf = msk.get(F_SITUAZIONE);
_tipo_ord = msk.get_int(F_ORDINAMENTO);
_da_conto.set(msk.get_int(F_DA_GRUPPO), msk.get_int(F_DA_CONTO), msk.get_long(F_DA_SOTTOCONTO));
_da_descrizione = msk.get(F_DA_DESCRIZIONE);
_a_conto.set(msk.get_int(F_A_GRUPPO), msk.get_int(F_A_CONTO), msk.get_long(F_A_SOTTOCONTO));
_a_descrizione = msk.get(F_A_DESCRIZIONE);
}
HIDDEN const char * make_picture(int len, bool hide_points)
{
TString & picture = get_tmp_string();
len /= 100; // è in centesimi
len -= 3;
for (int i = 0; i < len; i++)
{
if (!hide_points && (i % 4 == 3) && i < len - 1)
picture.insert(".");
else
picture.insert("#");
}
picture << ",@@";
return picture;
}
TVerifica_recset::TVerifica_recset()
{
_colonne.add(TRecordset_column_info(PCN_GRUPPO, 3, _intfld));
_colonne.add(TRecordset_column_info(PCN_CONTO, 3, _intfld));
_colonne.add(TRecordset_column_info(PCN_SOTTOCONTO, 6, _longfld));
_colonne.add(TRecordset_column_info(SLD_NUMULTMOV, 3, _longfld));
_colonne.add(TRecordset_column_info(SLD_DATAULMOV, 10, _datefld));
_colonne.add(TRecordset_column_info(PCN_DESCR, 50, _alfafld));
_colonne.add(TRecordset_column_info(SLD_FLAGSALINI, 1, _alfafld));
_colonne.add(TRecordset_column_info(SLD_SALDO, 18, _realfld));
_colonne.add(TRecordset_column_info(SLD_PDARE, 18, _realfld));
_colonne.add(TRecordset_column_info(SLD_PAVERE, 18, _realfld));
_colonne.add(TRecordset_column_info(PCN_INDBIL, 1, _alfafld));
}
void TVerifica::init()
{
_tipo_ver = _mask.get_int(F_VERIFICA);
_hide_points = _mask.get_bool(F_SEPARATOR);
TReport_section * b1 = find_section('B', 1);
TReport_section * f1 = find_section('F', 1);
TReport_section * f2 = find_section('F', 2);
TReport_section * f3 = find_section('F', 3);
TReport_section * h2 = find_section('H', 2);
TReport_section * h3 = find_section('H', 3);
if (h2 != nullptr)
h2->show(!cli_for());
if (f2 != nullptr)
f2->show(!cli_for());
if (h3 != nullptr)
h3->show(!mastro() && !cli_for());
if (f3 != nullptr)
f3->show(!mastro() && !cli_for());
if (b1 != nullptr)
b1->show(!mastro());
const TString picture = make_picture(b1->find_field(101)->width(), _hide_points);
for (int i = 101; i < 108; i++)
{
if (b1 != nullptr)
{
TReport_field * b1fld = b1->find_field(i);
if (b1fld != nullptr && b1fld->is_valuta())
b1fld->set_picture(picture);
}
if (f1 != nullptr)
{
TReport_field * f1fld = f1->find_field(i);
if (f1fld != nullptr && f1fld->is_valuta())
f1fld->set_picture(picture);
}
if (f2 != nullptr)
{
TReport_field * f2fld = f2->find_field(i);
if (f2fld != nullptr && f2fld->is_valuta())
f2fld->set_picture(picture);
}
if (f3 != nullptr)
{
TReport_field * f3fld = f3->find_field(i);
if (f3fld != nullptr && f3fld->is_valuta())
f3fld->set_picture(picture);
}
}
if (f1 != nullptr)
{
TReport_field * f1fld = f1->find_field(203);
if (f1fld != nullptr && f1fld->is_valuta())
f1fld->set_picture(picture);
}
if (f1 != nullptr)
{
TReport_field * f1fld = f1->find_field(204);
if (f1fld != nullptr && f1fld->is_valuta())
f1fld->set_picture(picture);
}
}
TTrec * TStampa_bilanci_avanzata::get_dbase_recdesc(TReport & rep, const TAutomask & mask)
{
return new TTrec(LF_SALDI); // cambiare
}
bool TStampa_bilanci_avanzata::user_destroy()
{
safe_delete(_mask);
safe_delete(_verifica_rep);
safe_delete(_verifica_clifo_rep);
safe_delete(_sezioni_contrapposte_rep);
return true;
}
TReport & TStampa_bilanci_avanzata::get_report(const TAutomask & m)
{
if (m.get_int(F_BILANCIO) == SEZIONI_CONTRAPPOSTE)
{
if (_sezioni_contrapposte_rep == nullptr)
_sezioni_contrapposte_rep = new TSezioni_contrapposte((TBilancio_mask & )m);
_sezioni_contrapposte_rep->load(report_name(m));
_sezioni_contrapposte_rep->init();
return (TReport &) *_sezioni_contrapposte_rep;
}
else
{
if (_verifica_rep == nullptr)
_verifica_rep = new TVerifica((TBilancio_mask &)m);
_verifica_rep->load(report_name(m));
_verifica_rep->init();
return (TReport &)*_verifica_rep;
}
}
bool TStampa_bilanci_avanzata::user_create()
{
#ifdef CONT_SEP
_mask = new TBilancio_mask("np0300a");
#else
_mask = new TBilancio_mask("cg1500ax");
#endif
open_files(LF_CLIFO, LF_MOV, LF_RMOV, LF_COMUNI, LF_PCON, LF_SALDI, LF_NDITTE, LF_ANAG, LF_CAUSALI, 0);
return true;
}

View File

@ -1659,10 +1659,10 @@ bool TStampa_IVdirettiva::set_print(int)
_stampacod = _msk->get_bool(F_STAMPACOD);
_stampa_modulo = _msk->get_bool(F_STAMPAMODULO);
_tipo_bilancio = _msk->get_int(F_TIPOBIL);
_stampa_mov_prov = _msk->get_bool(F_NORMALI) ? 0x1 : 0; // qui
_stampa_mov_prov |= _msk->get_bool(F_PROVVM) ? 0x2 : 0; // qui
_stampa_mov_prov |= _msk->get_bool(F_PROVVB) ? 0x4 : 0; // qui
_stampa_mov_prov |= _msk->get_bool(F_PROVVC) ? 0x8 : 0; // qui
_stampa_mov_prov = _msk->get_bool(F_NORMALI) ? 0x1 : 0;
_stampa_mov_prov |= _msk->get_bool(F_PROVVM) ? 0x2 : 0;
_stampa_mov_prov |= _msk->get_bool(F_PROVVB) ? 0x4 : 0;
_stampa_mov_prov |= _msk->get_bool(F_PROVVC) ? 0x8 : 0;
_quadratura = _msk->get_bool(F_QUADRATURA);
_noseparator = _msk->get_bool(F_SEPARATOR);
_tipo_data = (_annoese == 0 ? Registrazione : (_msk->get_bool(F_COMPCR) ? CostiRicavi : Competenza));

View File

@ -447,6 +447,7 @@ class TBill : public TSortable
int _tipo_cr; // Tipo costo/ricavo
char _sezione;
bool _sospeso;
int _indbil;
protected:
void set_description(const char* d);
@ -493,6 +494,8 @@ public:
long sottoconto() const { return _sottoconto; }
long codclifo() const { return _sottoconto; }
long& codclifo() { return _sottoconto; }
TToken_string & key() const;
TString & keystr() const;
bool find();
const TString& descrizione() const;
@ -634,7 +637,7 @@ public:
bool ultima_immissione_bilancio(int annoes, int g, int c, long s, int indbil, int provv = 0x1, bool saldo_chiusura = true);
bool ultima_immissione_verifica(int annoes, int g, int c, long s, int indbil, int provv = 0x1);
bool data_limite_bilancio(TTipo_data tipo_data, int g, int c, long s, const TDate& data_inf, const TDate& data_suo, int indbil, int provv = 0x1, const char* filter = nullptr);
const real& saldo_periodo(TTipo_data tipo_data, int g, int c, long s, const TDate& dal, const TDate& al, int indbil, int provv = 0x1);
const real& saldo_periodo(TTipo_data tipo_data, int g, int c, long s, const TDate& dal, const TDate& al, int indbil, int provv = 0x1, bool apertura = false, bool quadratura = false);
bool saldo_cont_sep(TTipo_data tipo_data, int g, int c, long s, const int codes, TDate al, int indbil, const char * cont_sep, int provv = 0x1, bool chiusura = false, bool first = true);
bool ricerca_progr_prec(int, int, int, long);

View File

@ -1495,6 +1495,23 @@ int TBill::compare(const TSortable& s) const
return res;
}
TToken_string & TBill::key() const
{
TToken_string & key = get_tmp_string();
key.add(gruppo());
key.add(conto());
key.add(sottoconto());
return key;
}
TString & TBill::keystr() const
{
TString & key = get_tmp_string();
key.format("%03d%03d%06ld", gruppo(), conto(), sottoconto());
return key;
}
// Certified 95%
bool TBill::find()
{
@ -1604,7 +1621,7 @@ const TString& TBill::descrizione() const
// Se il conto e' valido (c'e' almeno il gruppo) cerca la sua descrizione su file
if ((_descrizione == nullptr || _descrizione->blank()) &&
(gruppo() != 0 || (tipo() > ' ' && codclifo()>0)))
(gruppo() != 0 || (tipo() > ' ' && codclifo() > 0)))
{
if (!myself.find())
myself.set_description(TR("Sconosciuto"));
@ -1625,9 +1642,12 @@ int TBill::tipo_cr() const
int TBill::indicatore_bilancio() const
{
TString8 str;
str.format("%d|%d", gruppo(), conto());
const int ib = atoi(cache().get(LF_PCON, str, PCN_INDBIL));
if (conto() <= 0)
return ib_null;
TString8 str; str.format("%d|%d", gruppo(), conto());
const int ib = cache().get_int(LF_PCON, str, PCN_INDBIL);
if (ib <= 0)
{
TString msg = str;

View File

@ -39,10 +39,6 @@ const TDate get_date_mov(const TRectype & mov, TTipo_data tipo_data)
if (tipo_data == CostiRicavi && !data.ok())
data = mov.get_date(date_field_name(Competenza));
#ifdef DBG
else
int i = 1;
#endif
return data;
}
@ -99,7 +95,7 @@ TSaldo::TSaldo() : _saldi(LF_SALDI), _saldoiniziale(ZERO), _saldo_iniziale(ZERO)
_prg_dare(ZERO), _prg_avere(ZERO), _saldo(ZERO), _annoes(0),
_indbil(0), _prec(false), _movimentato(false), _significativo(false),
_rec_presente_ec(false), _rec_presente_ep(false),
_causali_apertura(LF_CAUSALI, CAU_MOVAP)
_causali_apertura(LF_CAUSALI, CAU_MOVAP)
{
for (int i = 0; i < 12; i++)
@ -455,7 +451,7 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
}
const real& TSaldo::saldo_periodo(TTipo_data tipo_data, int g, int c, long s, const TDate& dal, const TDate& al,
int indbil, int provv)
int indbil, int provv, bool apertura, bool quadratura)
{
_saldo_iniziale = ZERO;
@ -509,10 +505,8 @@ const real& TSaldo::saldo_periodo(TTipo_data tipo_data, int g, int c, long s, co
prompt.format(FR("Calcolo saldo del conto %d.%d.%ld"), g, c, s);
TProgress_monitor p(items, prompt, false);
for (cur = 0L; cur.pos() < items; ++cur)
for (cur = 0L; p.addstatus() && cur.pos() < items; ++cur)
{
p.addstatus(1L);
const real importo = rmov.get_real(RMV_IMPORTO);
if (importo != ZERO)
@ -523,8 +517,9 @@ const real& TSaldo::saldo_periodo(TTipo_data tipo_data, int g, int c, long s, co
const TString8 codcaus = mov.get(MOV_CODCAUS);
const TString4 tipoprovv = mov.get(MOV_PROVVIS);
const TString& movap = _causali_apertura.decode(codcaus);
bool caus_ok = movap.blank() || (movap == "C" && quadratura) || (movap == "A" && apertura);
if (!((provv & 0x1) || tipoprovv.empty()) && movap.blank()) // ????
if ((provv & 0x1 || tipoprovv.blank()) && caus_ok)
{
const char sezione = rmov.get_char(RMV_SEZIONE);

View File

@ -242,6 +242,7 @@ Item_08 = "Lista movimenti per imponibile limite", "cg7 -1", "F"
Item_09 = "Lista movimenti stati a fiscalità agevolata", "cg7 -0 cg7100p", "F"
Item_10 = "Lista documenti per importo", "cg7 -0 cg7100i", "F"
Item_11 = "Lista movimenti per importo", "cg7 -0 cg7100r", "F"
Item_12 = "Bilancio avanzato", "cg1 -4 A", "F"
[CGMENU_025]
Caption = "Collegamento bilanci"

View File

@ -178,7 +178,7 @@ public:
// deprecated TProgind compatibility methods
bool setstatus(long n) { return set_status(n); }
bool addstatus(long n) { return add_status(n); }
bool addstatus(long n = 1L) { return add_status(n); }
bool is_cancelled() const;
TProgress_monitor(long items, const char* txt, bool cancellable = true);

View File

@ -25,6 +25,17 @@
class TRectype;
#endif
#define REP_TEXT 'T'
#define REP_STRING 'S'
#define REP_NUM 'N'
#define REP_PRICE 'P'
#define REP_VAL 'V'
#define REP_DATE 'D'
#define REP_BOOL 'B'
#define REP_LINE 'L'
#define REP_RECT 'R'
#define REP_IMG 'I'
///////////////////////////////////////////////////////////
// TReport_font
///////////////////////////////////////////////////////////
@ -415,7 +426,17 @@ public:
int id() const { return _id; }
void set_id(int id) { _id = id; }
char type() const { return _type; }
const char* type_name() const;
bool is_text() const { return type() == 'T'; }
bool is_string() const { return type() == 'S'; }
bool is_num() const { return type() == 'N'; }
bool is_price() const { return type() == 'P'; }
bool is_valuta() const { return type() == 'V'; }
bool is_date() const { return type() == 'D'; }
bool is_bool() const { return type() == 'B'; }
bool is_linea() const { return type() == 'L'; }
bool is_rect() const { return type() == 'R';}
bool is_image() const { return type() == 'I';}
const char* type_name() const;
void set_type(char t) { _type = t; }
void set_pos(long x, long y);
void set_row(long y) { _rct.y = y; }
@ -424,6 +445,8 @@ public:
void set_width(long dx) { _rct.set_width(dx); }
void set_height(long dy) { _rct.set_height(dy); }
const TReport_rct& get_rect() const { return _rct; }
long width() const { return _rct.width(); }
long height() const { _rct.height(); }
void set_dynamic_height(bool dh);
bool dynamic_height() const;
@ -707,6 +730,7 @@ public:
bool export_text(const char * filename, int size = 0, bool signature = false);
TReport();
TReport(const char * name) { load(name); }
virtual ~TReport();
};
@ -721,7 +745,7 @@ protected:
public:
TProgram_report() {}
TProgram_report(const char * name) { load(name); }
TProgram_report(const char * name) : TReport(name) { }
};
class TConfigurable_report : public TProgram_report

View File

@ -0,0 +1,136 @@
PA "Stampa Ordini per Fornitore " -1 -1 80 12
ST 30 70 50
BE
PR 2 -2 "Profilo "
PSELECT
GR 1
EN
GR -1 27 5
BE
PR 1 1 "Seleziona date limite"
FL ""
EN
DA 503
BE
PR 2 2 "Da Data "
FI S_DADATA
GR 1
EN
DA 504
BE
PR 3 4 "A Data "
FI S_ADATA
GR 2
EN
ST 108 6
BE
PR 2 6 "Da Fornitore "
WA "Fornitore assente"
HE "Codice del Fornitore del documento"
FL "R"
FI S_DACLI
US 20 KEY 1
IN TIPOCF "F"
IN CODCF 108
DI "Codice" CODCF
DI "Ragione Sociale@70" RAGSOC
OU 108 CODCF
OU 301 RAGSOC
CH NORMAL
ADD RU cg0 -1 F
EN
ST 301 50
BE
WA "Fornitore assente"
HE "Ragione sociale del Fornitore del documento"
PR 26 6 ""
GR 1
US 20 KEY 2
IN TIPOCF "F"
IN RAGSOC 301
DI "Ragione Sociale@70" RAGSOC
DI "Codice" CODCF
OU 108 CODCF
OU 301 RAGSOC
CH NORMAL
ADD RU cg0 -1 F
EN
ST 109 6
BE
PR 3 8 "A Fornitore "
WA "Fornitore assente"
HE "Codice del Fornitore del documento"
FL "R"
FI S_ACLI
US 20 KEY 1
IN TIPOCF "F"
IN CODCF 109
DI "Codice" CODCF
DI "Ragione Sociale@70" RAGSOC
OU 109 CODCF
OU 302 RAGSOC
CH NORMAL
ADD RU cg0 -1 F
EN
ST 302 50
BE
WA "Fornitore assente"
HE "Ragione sociale del Fornitore del documento"
PR 26 8 ""
GR 1
US 20 KEY 2
IN TIPOCF "F"
IN RAGSOC 302
DI "Ragione Sociale@70" RAGSOC
DI "Codice" CODCF
OU 109 CODCF
OU 302 RAGSOC
CH NORMAL
ADD RU cg0 -1 F
EN
EN
TOOLBAR "" 0 0 0 2
BU 1 2 2
BE
PR 1 1 "Conferma"
PI 101
EN
BU -1 2 2
BE
PR -1 1 ""
PI 0
EN
BU 33 2 2
BE
PR 1 1 "Info"
ME EXIT,332
PI 162
EN
BU 34 2 2
BE
PR 2 1 "Help"
ME EXIT,331
PI 163
EN
BU -1 2 2
BE
PR -1 0 ""
PI 0
EN
BU 9 2 2
BE
PR 3 1 "Fine"
ME EXIT,20334
PI 114
EN
EN
ENDMASK

View File

@ -0,0 +1,246 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="ve1300" page_merge="" save_printer="" name="orf_trasp" use_printer_font="" orientation="2" page_split="" lpi="6" command="ve1 -3 orf_trasp" class="">
<description>Controllo Ordini Fornitore</description>
<font face="Arial" size="8" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<field border="1" radius="100" x="25" y="0.5" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="50" width="80" codval="" height="1.75" id="" pattern="2" hide_zero="" text="Trasparenza Ordini Fornitore">
<font face="Arial" bold="1" size="16" />
</field>
<field x="1" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="15" codval="" id="" pattern="2" hide_zero="" text="Documento" />
<field x="21" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="7.5" codval="" id="" pattern="2" hide_zero="" text="Fornitore" />
<field x="64" y="3.25" deactivated="" type="Testo" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Data" />
<field x="73" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="9" codval="" id="" pattern="2" hide_zero="" text="Commessa" />
<field x="94" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="2" hide_zero="" text="Inizio" />
<field x="105" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="Fine" />
<field x="116" y="3.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="2" hide_zero="" text="Descrizione" />
<field x="150" y="3.25" deactivated="" type="Testo" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="Totdoc" />
<field border="2" y="4.25" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="163" codval="" height="0" id="" pattern="2" hide_zero="" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="2" hidden="" page_break="" can_break="" pattern="2">
<groupby>DOC.CODCF</groupby>
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
<field x="1" deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="1" codval="" id="101" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>PROVV</source>
</field>
<field x="3" deactivated="" type="Numero" hidden="1" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="102" pattern="2" hide_zero="" text="">
<source>ANNO</source>
</field>
<field x="8" deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="4" codval="" id="103" pattern="2" hide_zero="" text="">
<source>CODNUM</source>
</field>
<field x="13" deactivated="" type="Stringa" hidden="1" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="104" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>NDOC</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="11" hidden="" page_break="" can_break="" pattern="1">
<prescript description="H11 PRESCRIPT">""
#F11.208 !
""
#F11.209 !</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="11" hidden="1" page_break="" can_break="" pattern="1">
<sql>USE 34 SELECT (TIPORIGA!='05')&#26;&#26;(104@.I1=3)
JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC
JOIN %TIP TO DOC ALIAS 104 INTO CODTAB=TIPODOC
FROM PROVV=#101 ANNO=#102 CODNUM=#103 NDOC=#104
TO PROVV=#101 ANNO=#102 CODNUM=#103 NDOC=#104 </sql>
<field x="72" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="2" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPORIGA</source>
</field>
<field x="75" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="8.5" codval="" id="" pattern="2" hide_zero="" text="">
<source>QTA</source>
</field>
<field x="84" deactivated="" type="Prezzo" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="#########,@@">
<source>PREZZO</source>
</field>
<field x="94.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPNS</source>
</field>
<field x="105" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPOSTA</source>
</field>
<field x="116" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="33" codval="" height="8" id="" pattern="1" hide_zero="" text="">
<prescript description="B11.0 PRESCRIPT">MESSAGE_DESCRIGA</prescript>
<postscript description="B11.0 POSTSCRIPT">#THIS @
#F11.209 @
NULL
&#3C;&#3E;
IF
" "
+
THEN
#F11.209 @
SWAP
+
#F11.209 !</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPLS</source>
<postscript description="B11.0 POSTSCRIPT">#THIS @
#F11.208 @
+
#F11.208 !</postscript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="11" hidden="" page_break="" can_break="" pattern="1">
<field deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="">
<source>CODNUM</source>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="">
<source>ANNO</source>
</field>
<field x="10" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>TIPODOC</source>
</field>
<field x="15" deactivated="" type="Stringa" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>NDOC</source>
</field>
<field x="21" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="30" codval="" height="2" id="" pattern="1" hide_zero="" text="">
<source>CLIFO.RAGSOC</source>
</field>
<field x="52" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="1" hide_zero="" text="">
<source>PAIV</source>
</field>
<field x="64" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="8" codval="" id="" pattern="2" hide_zero="" text="">
<source>DATADOC</source>
</field>
<field x="73" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="">
<source>CODCMS</source>
</field>
<field x="94" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATACOMP</source>
<alt_source>DATADOC</alt_source>
</field>
<field x="105" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATAFCOMP</source>
<alt_source>DATACONS</alt_source>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="12" codval="" id="208" pattern="2" hide_zero="" text="###.###.###,@@" />
<field x="116" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="33" codval="" height="20" id="209" pattern="2" hide_zero="" text="">
<font face="Arial Narrow" size="8" />
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="2" hidden="" page_break="" can_break="" pattern="1">
<field deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="1" codval="" id="101" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>PROVV</source>
</field>
<field x="2" deactivated="" type="Numero" hidden="1" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="102" pattern="2" hide_zero="" text="">
<source>ANNO</source>
</field>
<field x="7" deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="4" codval="" id="103" pattern="2" hide_zero="" text="">
<source>CODNUM</source>
</field>
<field x="12" deactivated="" type="Stringa" hidden="1" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="104" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>NDOC</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="21" hidden="" page_break="" can_break="" pattern="1">
<prescript description="H21 PRESCRIPT">""
#F21.208 !
""
#F21.209 !</prescript>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="21" hidden="1" page_break="" can_break="" pattern="1">
<sql>USE 34 SELECT (TIPORIGA!='05')&#26;&#26;(104@.I1=2)&#26;&#26;(DAPROVV='')
JOIN DOC INTO PROVV=PROVV ANNO=ANNO CODNUM=CODNUM NDOC=NDOC
JOIN %TIP TO DOC ALIAS 104 INTO CODTAB=TIPODOC
FROM PROVV=#101 ANNO=#102 CODNUM=#103 NDOC=#104
TO PROVV=#101 ANNO=#102 CODNUM=#103 NDOC=#104 </sql>
<field x="72" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="2" codval="" id="" pattern="1" hide_zero="" text="">
<source>TIPORIGA</source>
</field>
<field x="75" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="8.5" codval="" id="" pattern="2" hide_zero="" text="">
<source>QTA</source>
</field>
<field x="84" deactivated="" type="Prezzo" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="#########,@@">
<source>PREZZO</source>
</field>
<field x="94.5" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPNS</source>
</field>
<field x="105" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPOSTA</source>
</field>
<field x="116" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="33" codval="" height="8" id="" pattern="1" hide_zero="" text="">
<prescript description="B21.0 PRESCRIPT">MESSAGE_DESCRIGA</prescript>
<postscript description="B21.0 POSTSCRIPT">#THIS @
#F21.209 @
NULL
&#3C;&#3E;
IF
" "
+
THEN
#F21.209 @
SWAP
+
#F21.209 !</postscript>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="###.###.###,@@">
<source>IMPLS</source>
<postscript description="B21.0 POSTSCRIPT">#THIS @
#F21.208 @
+
#F21.208 !</postscript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="21" hidden="" page_break="" can_break="" pattern="1">
<field deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="">
<source>CODNUM</source>
</field>
<field x="5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="1" hide_zero="" text="">
<source>ANNO</source>
</field>
<field x="10" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="4" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>TIPODOC</source>
</field>
<field x="15" deactivated="" type="Stringa" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>NDOC</source>
</field>
<field x="21" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="30" codval="" height="2" id="" pattern="1" hide_zero="" text="">
<source>CLIFO.RAGSOC</source>
</field>
<field x="52" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="11" codval="" id="" pattern="1" hide_zero="" text="">
<source>PAIV</source>
</field>
<field x="64" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="8" codval="" id="" pattern="2" hide_zero="" text="">
<source>DATADOC</source>
</field>
<field x="73" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="20" codval="" id="" pattern="1" hide_zero="" text="">
<source>CODCMS</source>
</field>
<field x="94" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATACOMP</source>
<alt_source>DATADOC</alt_source>
</field>
<field x="105" deactivated="" type="Data" hidden="" link="" dynamic_height="" shade_offset="" width="10" codval="" id="" pattern="1" hide_zero="" text="">
<source>DATAFCOMP</source>
<alt_source>DATADOC</alt_source>
</field>
<field x="150" deactivated="" type="Valuta" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="12" codval="" id="208" pattern="2" hide_zero="" text="###.###.###,@@" />
<field x="116" deactivated="" type="Stringa" hidden="" link="" dynamic_height="1" shade_offset="" width="33" codval="" height="20" id="209" pattern="2" hide_zero="" text="">
<font face="Arial Narrow" size="8" />
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="2" hidden="" page_break="" can_break="" pattern="1" />
<sql>USE DOC KEY 3
SELECT (TIPOCF='F')&#26;&#26;STR((BETWEEN(CODCF,#S_DACLI,#S_ACLI)))
BY 33.CODCF CODNUM DATADOC
JOIN CLIFO INTO TIPOCF=TIPOCF CODCF=CODCF
FROM DATADOC=#S_DADATA
TO DATADOC=#S_ADATA</sql>
</report>