Patch level :2.2 140
Files correlati : Ricompilazione Demo : [ ] Commento :stampa mastrini in corso d'opera...adesso stampa qualcosa di più o meno sensato! git-svn-id: svn://10.65.10.50/trunk@13216 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
3b54bda04d
commit
c247c55a4a
10
ca/ca3100.h
10
ca/ca3100.h
@ -17,16 +17,6 @@
|
|||||||
#define F_REPORT 213
|
#define F_REPORT 213
|
||||||
#define F_TIPOMOV 214
|
#define F_TIPOMOV 214
|
||||||
|
|
||||||
//campi generati dal pdc
|
|
||||||
#define F_CDC1_INI 306
|
|
||||||
#define F_CDC12_INI 321
|
|
||||||
#define F_CDC1_FIN 326
|
|
||||||
#define F_CDC12_FIN 341
|
|
||||||
#define F_DES1_INI 346
|
|
||||||
#define F_DES12_INI 361
|
|
||||||
#define F_DES1_FIN 366
|
|
||||||
#define F_DES12_FIN 381
|
|
||||||
|
|
||||||
//sheet di pagina 2
|
//sheet di pagina 2
|
||||||
#define F_RIGHE 400
|
#define F_RIGHE 400
|
||||||
|
|
||||||
|
227
ca/ca3200.cpp
227
ca/ca3200.cpp
@ -2,10 +2,11 @@
|
|||||||
#include <execp.h>
|
#include <execp.h>
|
||||||
#include <reprint.h>
|
#include <reprint.h>
|
||||||
|
|
||||||
|
#include "movana.h"
|
||||||
#include "rmovana.h"
|
#include "rmovana.h"
|
||||||
|
|
||||||
#include "ca3.h"
|
#include "ca3.h"
|
||||||
#include "ca3200a.h"
|
#include "ca3200.h"
|
||||||
#include "calib01.h"
|
#include "calib01.h"
|
||||||
#include "calib02.h"
|
#include "calib02.h"
|
||||||
|
|
||||||
@ -15,7 +16,9 @@
|
|||||||
class TPrint_mastrini_ca_mask : public TAutomask
|
class TPrint_mastrini_ca_mask : public TAutomask
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
bool on_field_event(TOperable_field& o, TField_event e, long jolly) {return true;}
|
bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||||
|
const TString& get_compatible_library() const;
|
||||||
|
bool test_compatible_report();
|
||||||
void create_page2();
|
void create_page2();
|
||||||
int create_page2_sheet(int lf, int& y, short& dlg, bool required);
|
int create_page2_sheet(int lf, int& y, short& dlg, bool required);
|
||||||
public:
|
public:
|
||||||
@ -23,6 +26,72 @@ public:
|
|||||||
virtual ~TPrint_mastrini_ca_mask() {}
|
virtual ~TPrint_mastrini_ca_mask() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TString& TPrint_mastrini_ca_mask::get_compatible_library() const
|
||||||
|
{
|
||||||
|
TString& lib = get_tmp_string();
|
||||||
|
lib = "ca3200";
|
||||||
|
const int stp = get_int(F_TIPOCONTI);
|
||||||
|
lib << (stp == 1 ? 'a' : 'b'); // tipo di report da usare
|
||||||
|
return lib;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TPrint_mastrini_ca_mask::test_compatible_report()
|
||||||
|
{
|
||||||
|
TFilename lib = get_compatible_library();
|
||||||
|
const TString& name = get(F_REPORT);
|
||||||
|
bool ok = name.not_empty();
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
TReport rep;
|
||||||
|
ok = rep.load(name);
|
||||||
|
if (ok)
|
||||||
|
{
|
||||||
|
TToken_string& libraries = rep.get_libraries();
|
||||||
|
ok = libraries.get_pos(lib) >= 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!ok)
|
||||||
|
{
|
||||||
|
set(F_REPORT, lib);
|
||||||
|
lib.ext("rep");
|
||||||
|
ok = lib.custom_path();
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TPrint_mastrini_ca_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||||
|
{
|
||||||
|
switch (o.dlg())
|
||||||
|
{
|
||||||
|
case F_TIPOCONTI:
|
||||||
|
if (e == fe_init || e == fe_modify)
|
||||||
|
{
|
||||||
|
test_compatible_report(); //in base al tipo di conti da stampare setta i report compatibili
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case F_REPORT:
|
||||||
|
if (e == fe_button)
|
||||||
|
{
|
||||||
|
const TString8 lib = get_compatible_library();
|
||||||
|
TFilename path = o.get();
|
||||||
|
if (select_custom_file(path, "rep", lib))
|
||||||
|
{
|
||||||
|
path = path.name();
|
||||||
|
path.ext("");
|
||||||
|
o.set(path);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
if (e == fe_close)
|
||||||
|
{
|
||||||
|
if (!test_compatible_report())
|
||||||
|
return error_box(TR("Impossibile trovare un report compatibile"));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
int TPrint_mastrini_ca_mask::create_page2_sheet(int lf, int& y, short& dlg, bool required)
|
int TPrint_mastrini_ca_mask::create_page2_sheet(int lf, int& y, short& dlg, bool required)
|
||||||
{
|
{
|
||||||
TSheet_field& sf = sfield(F_RIGHE);
|
TSheet_field& sf = sfield(F_RIGHE);
|
||||||
@ -129,7 +198,7 @@ void TPrint_mastrini_ca_mask::create_page2()
|
|||||||
|
|
||||||
|
|
||||||
TPrint_mastrini_ca_mask::TPrint_mastrini_ca_mask()
|
TPrint_mastrini_ca_mask::TPrint_mastrini_ca_mask()
|
||||||
:TAutomask("ca3200a")
|
:TAutomask("ca3200")
|
||||||
{
|
{
|
||||||
TConfig_anal cfg;
|
TConfig_anal cfg;
|
||||||
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
const bool use_pdcc = cfg.get_bool("UsePdcc");
|
||||||
@ -152,16 +221,157 @@ TPrint_mastrini_ca_mask::TPrint_mastrini_ca_mask()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// RECORDSET
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
class TPrint_mastrini_ca_recordset : public TISAM_recordset
|
||||||
|
{
|
||||||
|
int _anno;
|
||||||
|
int _tipoconti;
|
||||||
|
TDate _dadata, _adata;
|
||||||
|
long _danumreg, _anumreg;
|
||||||
|
TString _daconto, _aconto, _codcosto, _codcms, _codfas;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
static bool mov_filter(const TRelation* rel);
|
||||||
|
bool valid_record(const TRelation& rel) const;
|
||||||
|
|
||||||
|
virtual void set_custom_filter(TCursor& cur) const;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void set_filter(const TPrint_mastrini_ca_mask& msk, int cms_row);
|
||||||
|
TPrint_mastrini_ca_recordset(const TString& sql) : TISAM_recordset(sql) { }
|
||||||
|
};
|
||||||
|
|
||||||
|
static const TPrint_mastrini_ca_recordset* myself = NULL;
|
||||||
|
|
||||||
|
//metodo per riconoscere se il record corrente soddisfa i filtri della maschera...strafighissimo!
|
||||||
|
bool TPrint_mastrini_ca_recordset::valid_record(const TRelation& rel) const
|
||||||
|
{
|
||||||
|
//prima controlla la testata...
|
||||||
|
const TRectype& mov = rel.curr(LF_MOVANA);
|
||||||
|
|
||||||
|
const TDate data = mov.get(MOVANA_DATACOMP);
|
||||||
|
if (data < _dadata || (_adata.ok() && data > _adata))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
/* if (_tipoconti > ' ')
|
||||||
|
{
|
||||||
|
const int tipoconti = mov.get_int();
|
||||||
|
if (tipoconti != _tipoconti)
|
||||||
|
return false;
|
||||||
|
}*/
|
||||||
|
|
||||||
|
//..poi le righe (devono comparire solo le righe con cdc/cms/fsc che appaiono nello sheet)
|
||||||
|
const TRectype& rmov = rel.curr(LF_RMOVANA);
|
||||||
|
|
||||||
|
if (_codcosto.not_empty())
|
||||||
|
{
|
||||||
|
const TString& cos = rmov.get(RMOVANA_CODCCOSTO);
|
||||||
|
if (cos != _codcosto)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (_codcms.not_empty())
|
||||||
|
{
|
||||||
|
const TString& cms = rmov.get(RMOVANA_CODCMS);
|
||||||
|
if (cms != _codcms)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (_codfas.not_empty())
|
||||||
|
{
|
||||||
|
const TString& fas = rmov.get(RMOVANA_CODFASE);
|
||||||
|
if (fas != _codfas)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TPrint_mastrini_ca_recordset::mov_filter(const TRelation* rel)
|
||||||
|
{
|
||||||
|
return myself->valid_record(*rel);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TPrint_mastrini_ca_recordset::set_custom_filter(TCursor& cur) const
|
||||||
|
{
|
||||||
|
//filtro sui conti selezionati sulla maschera
|
||||||
|
TRectype darec(cur.curr()), arec(cur.curr()); //record corrente (rmovana (solo movimentati) o pconana(altri casi))
|
||||||
|
darec.put("CODCONTO", _daconto);
|
||||||
|
arec.put("CODCONTO", _aconto);
|
||||||
|
cur.setregion(darec, arec);
|
||||||
|
|
||||||
|
myself = this;
|
||||||
|
cur.set_filterfunction(mov_filter, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
//metodo per caricare i valori nel recordset dalla maschera...fighissimo!!
|
||||||
|
void TPrint_mastrini_ca_recordset::set_filter(const TPrint_mastrini_ca_mask& msk, int cms_row)
|
||||||
|
{
|
||||||
|
_daconto, _aconto, _codcosto = _codcms = _codfas = "";
|
||||||
|
if (cms_row >= 0)
|
||||||
|
{
|
||||||
|
TSheet_field& sf = msk.sfield(F_RIGHE);
|
||||||
|
TMask& sm = sf.sheet_mask();
|
||||||
|
sf.update_mask(cms_row);
|
||||||
|
TRelation rel(LF_RMOVANA);
|
||||||
|
sm.autosave(rel);
|
||||||
|
_codcosto = rel.curr().get(RMOVANA_CODCCOSTO);
|
||||||
|
_codcms = rel.curr().get(RMOVANA_CODCMS);
|
||||||
|
_codfas = rel.curr().get(RMOVANA_CODFASE);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; msk.id2pos(F_CDC1_INI+i) > 0; i++)
|
||||||
|
{
|
||||||
|
_daconto << msk.get(F_CDC1_INI+i);
|
||||||
|
_aconto << msk.get(F_CDC1_FIN+i);
|
||||||
|
}
|
||||||
|
|
||||||
|
_dadata = msk.get_date(F_DATAINI);
|
||||||
|
_adata = msk.get_date(F_DATAFIN);
|
||||||
|
|
||||||
|
_tipoconti = msk.get(F_TIPOCONTI)[0];
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
// REPORT
|
// REPORT
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
class TPrint_mastrini_ca_rep : public TAnal_report
|
class TPrint_mastrini_ca_rep : public TAnal_report
|
||||||
{
|
{
|
||||||
/*protected:
|
int _anno;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual bool set_recordset(const TString& sql);
|
||||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||||
void calcola_saldo_iniziale();*/
|
|
||||||
|
public:
|
||||||
|
void set_filter(const TPrint_mastrini_ca_mask& msk, int cms_row);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
bool TPrint_mastrini_ca_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||||
|
{
|
||||||
|
if (name == "#ESERCIZIO")
|
||||||
|
{
|
||||||
|
var.set(_anno);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return TAnal_report::get_usr_val(name, var);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TPrint_mastrini_ca_rep::set_recordset(const TString& sql)
|
||||||
|
{
|
||||||
|
TPrint_mastrini_ca_recordset* rs = new TPrint_mastrini_ca_recordset(sql);
|
||||||
|
return TReport::set_recordset(rs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TPrint_mastrini_ca_rep::set_filter(const TPrint_mastrini_ca_mask& msk, int cms_row)
|
||||||
|
{
|
||||||
|
_anno = msk.get_int(F_ANNO);
|
||||||
|
TPrint_mastrini_ca_recordset* rs = (TPrint_mastrini_ca_recordset*)recordset();
|
||||||
|
rs->set_filter(msk, cms_row);
|
||||||
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
// APPLICAZIONE
|
// APPLICAZIONE
|
||||||
@ -211,13 +421,8 @@ void TPrint_mastrini_ca::main_loop()
|
|||||||
|
|
||||||
FOR_EACH_SHEET_ROW(sheet, r, row)
|
FOR_EACH_SHEET_ROW(sheet, r, row)
|
||||||
{
|
{
|
||||||
TString query;
|
rep.set_filter(*_mask, r);
|
||||||
query << "USE RMOVANA\nJOIN PCONANA INTO CODCONTO==CODCONTO";
|
|
||||||
rep.set_recordset(query);
|
|
||||||
|
|
||||||
rep.mask2report(*_mask);
|
|
||||||
book.add(rep);
|
book.add(rep);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
book.print_or_preview(); //stampa il book dei report
|
book.print_or_preview(); //stampa il book dei report
|
||||||
|
48
ca/ca3200.h
Executable file
48
ca/ca3200.h
Executable file
@ -0,0 +1,48 @@
|
|||||||
|
#ifndef __CA3200_H
|
||||||
|
#define __CA3200_H
|
||||||
|
|
||||||
|
//pag. stampa mastrini
|
||||||
|
#define F_CODDITTA 201
|
||||||
|
#define F_RAGSOC 202
|
||||||
|
#define F_DATASTAMPA 203
|
||||||
|
#define F_ANNO 204
|
||||||
|
#define F_REPORT 205
|
||||||
|
|
||||||
|
//campi generati dal pdc
|
||||||
|
#define F_CDC1_INI 206
|
||||||
|
#define F_CDC4_INI 209
|
||||||
|
#define F_CDC1_FIN 216
|
||||||
|
#define F_CDC4_FIN 219
|
||||||
|
#define F_DES1_INI 226
|
||||||
|
#define F_DES4_INI 229
|
||||||
|
#define F_DES1_FIN 236
|
||||||
|
#define F_DES4_FIN 239
|
||||||
|
|
||||||
|
//campi sulla maschera
|
||||||
|
#define F_DATAINI 290
|
||||||
|
#define F_DATAFIN 291
|
||||||
|
#define F_STAMPA_PROG_ATT 292
|
||||||
|
#define F_STAMPA_SALDI_PROG 293
|
||||||
|
#define F_STAMPA_SALDI_SCAL 294
|
||||||
|
#define F_TIPOCONTI 295
|
||||||
|
|
||||||
|
#define F_MEMORIZZA 296
|
||||||
|
|
||||||
|
//sheet di pagina 2
|
||||||
|
#define F_RIGHE 300
|
||||||
|
|
||||||
|
#define S_CDC1 101
|
||||||
|
#define S_CDC2 102
|
||||||
|
#define S_CDC3 103
|
||||||
|
#define S_CDC4 104
|
||||||
|
#define S_CDC5 105
|
||||||
|
#define S_CDC6 106
|
||||||
|
#define S_CDC7 107
|
||||||
|
#define S_CDC8 108
|
||||||
|
#define S_CDC9 109
|
||||||
|
#define S_CDC10 110
|
||||||
|
#define S_CDC11 111
|
||||||
|
#define S_CDC12 112
|
||||||
|
|
||||||
|
#endif // __CA3200_H
|
||||||
|
|
@ -1,21 +1,22 @@
|
|||||||
#include "ca3200a.h"
|
#include "ca3200.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 -2 0 2
|
TOOLBAR "" 0 -3 0 3
|
||||||
|
|
||||||
BUTTON DLG_PRINT 18 2
|
STRING DLG_PROFILE 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -11 "~Stampa"
|
PROMPT 9 0 "Profilo "
|
||||||
|
PSELECT
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_PRINT 10 2
|
||||||
|
BEGIN
|
||||||
|
PROMPT -15 -11 "~Stampa"
|
||||||
MESSAGE EXIT,K_ENTER
|
MESSAGE EXIT,K_ENTER
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON F_MEMORIZZA 18 2
|
BUTTON DLG_QUIT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -11 "~Memorizza scelte"
|
PROMPT -55 -11 ""
|
||||||
END
|
|
||||||
|
|
||||||
BUTTON DLG_QUIT 18 2
|
|
||||||
BEGIN
|
|
||||||
PROMPT -33 -11 ""
|
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
@ -104,7 +105,7 @@ BEGIN
|
|||||||
PROMPT 26 17 ""
|
PROMPT 26 17 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
DATE F_DATAFINE
|
DATE F_DATAFIN
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 62 17 ""
|
PROMPT 62 17 ""
|
||||||
END
|
END
|
||||||
@ -124,9 +125,9 @@ BEGIN
|
|||||||
PROMPT 55 18 "Stampa saldo scalare"
|
PROMPT 55 18 "Stampa saldo scalare"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_SELEZ_STAMPA 34
|
LIST F_TIPOCONTI 24
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 19 "Selezione mastrini "
|
PROMPT 2 19 "Selezione conti "
|
||||||
ITEM "1|Movimentati nel periodo"
|
ITEM "1|Movimentati nel periodo"
|
||||||
ITEM "2|Con saldo diverso da 0"
|
ITEM "2|Con saldo diverso da 0"
|
||||||
ITEM "3|Tutti"
|
ITEM "3|Tutti"
|
||||||
@ -135,6 +136,8 @@ END
|
|||||||
STRING F_REPORT 256 64
|
STRING F_REPORT 256 64
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 21 "Report "
|
PROMPT 2 21 "Report "
|
||||||
|
FLAGS "B"
|
||||||
|
CHECKTYPE REQUIRED
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
48
ca/ca3200a.h
48
ca/ca3200a.h
@ -1,48 +0,0 @@
|
|||||||
#ifndef __CA3200A_H
|
|
||||||
#define __CA3200A_H
|
|
||||||
|
|
||||||
//pag. stampa mastrini
|
|
||||||
#define F_CODDITTA 301
|
|
||||||
#define F_RAGSOC 302
|
|
||||||
#define F_DATASTAMPA 303
|
|
||||||
#define F_ANNO 304
|
|
||||||
#define F_REPORT 305
|
|
||||||
|
|
||||||
//campi generati dal pdc
|
|
||||||
#define F_CDC1_INI 306
|
|
||||||
#define F_CDC12_INI 321
|
|
||||||
#define F_CDC1_FIN 326
|
|
||||||
#define F_CDC12_FIN 341
|
|
||||||
#define F_DES1_INI 346
|
|
||||||
#define F_DES12_INI 361
|
|
||||||
#define F_DES1_FIN 366
|
|
||||||
#define F_DES12_FIN 381
|
|
||||||
|
|
||||||
//campi sulla maschera
|
|
||||||
#define F_DATAINI 390
|
|
||||||
#define F_DATAFINE 391
|
|
||||||
#define F_STAMPA_PROG_ATT 392
|
|
||||||
#define F_STAMPA_SALDI_PROG 393
|
|
||||||
#define F_STAMPA_SALDI_SCAL 394
|
|
||||||
#define F_SELEZ_STAMPA 395
|
|
||||||
|
|
||||||
#define F_MEMORIZZA 396
|
|
||||||
|
|
||||||
//sheet di pagina 2
|
|
||||||
#define F_RIGHE 400
|
|
||||||
|
|
||||||
#define S_CDC1 101
|
|
||||||
#define S_CDC2 102
|
|
||||||
#define S_CDC3 103
|
|
||||||
#define S_CDC4 104
|
|
||||||
#define S_CDC5 105
|
|
||||||
#define S_CDC6 106
|
|
||||||
#define S_CDC7 107
|
|
||||||
#define S_CDC8 108
|
|
||||||
#define S_CDC9 109
|
|
||||||
#define S_CDC10 110
|
|
||||||
#define S_CDC11 111
|
|
||||||
#define S_CDC12 112
|
|
||||||
|
|
||||||
#endif // __CA3200A_H
|
|
||||||
|
|
210
ca/ca3200a.rep
Executable file
210
ca/ca3200a.rep
Executable file
@ -0,0 +1,210 @@
|
|||||||
|
|
||||||
|
<report libraries="ca3200a,ve1300" name="ca3200a" lpi="8">
|
||||||
|
<description>Mastrini CA movimentati</description>
|
||||||
|
<font face="Courier New" size="8" />
|
||||||
|
<section type="Head" height="6.5">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<field x="1" type="Stringa" width="50" pattern="1">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="10" />
|
||||||
|
<source>#SYSTEM.RAGSOC</source>
|
||||||
|
</field>
|
||||||
|
<field x="80" type="Data" width="10" pattern="1">
|
||||||
|
<source>#SYSTEM.DATE</source>
|
||||||
|
</field>
|
||||||
|
<field x="165" type="Numero" align="right" width="3" pattern="1">
|
||||||
|
<source>#REPORT.PAGE</source>
|
||||||
|
</field>
|
||||||
|
<field x="1" y="1.5" type="Testo" width="4" pattern="1" text="CdC:" />
|
||||||
|
<field x="11" y="1.5" type="Stringa" width="23" pattern="1">
|
||||||
|
<source>CODCCOSTO</source>
|
||||||
|
<prescript description="H0.0 PRESCRIPT">CA_FORMAT_COSTO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="35" y="1.5" type="Stringa" width="50" pattern="1">
|
||||||
|
<prescript description="H0.0 PRESCRIPT">MESSAGE ISAMREAD,CDC,CODCOSTO=RMOVANA.CODCCOSTO,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="1" y="3" type="Testo" width="9" pattern="1" text="Commessa:" />
|
||||||
|
<field x="11" y="3" type="Stringa" width="23" pattern="1">
|
||||||
|
<source>CODCMS</source>
|
||||||
|
<prescript description="H0.0 PRESCRIPT">CA_FORMAT_COMMESSA</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="35" y="3" type="Stringa" width="50" pattern="1">
|
||||||
|
<prescript description="H0.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=RMOVANA.CODCMS,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="1" y="4.5" type="Testo" width="5" pattern="1" text="Fase:" />
|
||||||
|
<field x="11" y="4.5" type="Stringa" width="13" pattern="1">
|
||||||
|
<source>CODFASE</source>
|
||||||
|
<prescript description="H0.0 PRESCRIPT">CA_FORMAT_FASE</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="35" y="4.5" type="Stringa" width="50" pattern="1">
|
||||||
|
<prescript description="H0.0 PRESCRIPT">MESSAGE ISAMREAD,FASI,CODFASE=RMOVANA.CODFASE,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field border="2" x="1" y="6" type="Linea" width="167" height="0" pattern="1" />
|
||||||
|
</section>
|
||||||
|
<section type="Head" level="1" height="3">
|
||||||
|
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1.101
|
||||||
|
MESSAGE RESET,F1.102</prescript>
|
||||||
|
<field border="1" radius="100" x="1" type="Testo" valign="center" align="center" shade_offset="25" width="167" height="2.5" text="MASTRINI DI CONTABILITA' ANALITICA">
|
||||||
|
<font face="Courier New" bold="1" size="16" />
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section repeat="1" type="Head" level="2" height="3">
|
||||||
|
<groupby>CODCONTO</groupby>
|
||||||
|
<font italic="1" face="Courier New" size="8" />
|
||||||
|
<field type="Testo" width="6" pattern="1" text="Conto:">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="7" type="Stringa" width="23" pattern="1">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<source>CODCONTO</source>
|
||||||
|
<prescript description="H2.0 PRESCRIPT">CA_FORMAT_CONTO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="31" type="Stringa" width="50" pattern="1">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H2.0 PRESCRIPT">MESSAGE ISAMREAD,PCONANA,CODCONTO=CODCONTO,DESCR</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="12" y="1.5" type="Testo" align="center" width="11" pattern="1" text="N.Reg.F;Riga" />
|
||||||
|
<field x="24" y="1.5" type="Testo" width="11" pattern="1" text="Descrizione" />
|
||||||
|
<field x="43" y="1.5" type="Testo" width="10" pattern="1" text="Data Doc." />
|
||||||
|
<field x="54" y="1.5" type="Testo" width="6" pattern="1" text="N.Doc." />
|
||||||
|
<field x="63" y="1.5" type="Testo" width="7" pattern="1" text="Causale" />
|
||||||
|
<field x="97" y="1.5" type="Testo" align="right" width="4" pattern="1" text="Dare" />
|
||||||
|
<field x="112" y="1.5" type="Testo" align="right" width="5" pattern="1" text="Avere" />
|
||||||
|
<field x="121" y="1.5" type="Testo" align="right" width="12" pattern="1" text="Saldo progr." />
|
||||||
|
<field x="136" y="1.5" type="Testo" align="right" width="12" pattern="1" text="Saldo movim." />
|
||||||
|
<field x="152" y="1.5" type="Testo" align="right" width="12" pattern="1" text="Altro saldo" />
|
||||||
|
<field border="1" x="1" y="2.5" type="Linea" width="168" height="0" pattern="1" />
|
||||||
|
<field x="1" y="1.5" type="Testo" align="center" width="10" id="121" pattern="1" text="Data" />
|
||||||
|
</section>
|
||||||
|
<section type="Body" />
|
||||||
|
<section type="Body" level="1">
|
||||||
|
<field x="1" type="Data" width="10" pattern="1">
|
||||||
|
<source>MOVANA.DATACOMP</source>
|
||||||
|
</field>
|
||||||
|
<field x="12" type="Numero" align="right" width="7" pattern="1">
|
||||||
|
<source>NUMREG</source>
|
||||||
|
</field>
|
||||||
|
<field x="19" type="Testo" width="1" pattern="1" text="F;" />
|
||||||
|
<field x="20" type="Numero" align="right" width="3" pattern="1">
|
||||||
|
<source>NUMRIG</source>
|
||||||
|
</field>
|
||||||
|
<field x="24" type="Stringa" dynamic_height="1" width="17" height="3" pattern="1">
|
||||||
|
<source>DESCR</source>
|
||||||
|
</field>
|
||||||
|
<field x="43" type="Data" width="10" pattern="1">
|
||||||
|
<source>MOVANA.DATADOC</source>
|
||||||
|
</field>
|
||||||
|
<field x="54" type="Stringa" width="7" pattern="1">
|
||||||
|
<source>MOVANA.NUMDOC</source>
|
||||||
|
</field>
|
||||||
|
<field x="63" type="Stringa" width="3" pattern="1">
|
||||||
|
<source>MOVANA.CODCAUS</source>
|
||||||
|
</field>
|
||||||
|
<field x="67" type="Stringa" dynamic_height="1" width="17" height="3" pattern="1">
|
||||||
|
<prescript description="B1.0 PRESCRIPT">MESSAGE ISAMREAD,CAUS,CODCAUS=MOVANA.CODCAUS,DESCR</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="86" type="Valuta" align="right" width="15" id="101" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||||
|
<source>IMPORTO</source>
|
||||||
|
<prescript description="B1.101 PRESCRIPT">"RMOVANA.SEZIONE" @
|
||||||
|
"A" =
|
||||||
|
IF
|
||||||
|
0 #THIS !
|
||||||
|
THEN
|
||||||
|
</prescript>
|
||||||
|
<postscript description="B1.101 POSTSCRIPT">MESSAGE ADD,F1.101
|
||||||
|
MESSAGE ADD,F2.131</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="102" type="Valuta" align="right" width="15" id="102" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||||
|
<source>IMPORTO</source>
|
||||||
|
<prescript description="B1.102 PRESCRIPT">"RMOVANA.SEZIONE" @
|
||||||
|
"D" =
|
||||||
|
IF
|
||||||
|
0 #THIS !
|
||||||
|
THEN
|
||||||
|
</prescript>
|
||||||
|
<postscript description="B1.102 POSTSCRIPT">MESSAGE ADD,F1.102
|
||||||
|
MESSAGE ADD,F2.132</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="118" type="Valuta" align="right" width="15" id="103" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||||
|
<prescript description="B1.103 PRESCRIPT">"RMOVANA.SEZIONE" @
|
||||||
|
"D" =
|
||||||
|
IF
|
||||||
|
0 #THIS !
|
||||||
|
THEN
|
||||||
|
</prescript>
|
||||||
|
<postscript description="B1.103 POSTSCRIPT">MESSAGE ADD,F1.102
|
||||||
|
MESSAGE ADD,F2.132</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="134" type="Valuta" align="right" width="15" id="104" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||||
|
<prescript description="B1.104 PRESCRIPT">"RMOVANA.SEZIONE" @
|
||||||
|
"D" =
|
||||||
|
IF
|
||||||
|
0 #THIS !
|
||||||
|
THEN
|
||||||
|
</prescript>
|
||||||
|
<postscript description="B1.104 POSTSCRIPT">MESSAGE ADD,F1.102
|
||||||
|
MESSAGE ADD,F2.132</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="150" type="Valuta" align="right" width="15" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
|
||||||
|
<prescript description="B1.105 PRESCRIPT">"RMOVANA.SEZIONE" @
|
||||||
|
"D" =
|
||||||
|
IF
|
||||||
|
0 #THIS !
|
||||||
|
THEN
|
||||||
|
</prescript>
|
||||||
|
<postscript description="B1.105 POSTSCRIPT">MESSAGE ADD,F1.102
|
||||||
|
MESSAGE ADD,F2.132</postscript>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" height="1" />
|
||||||
|
<section type="Foot" level="1">
|
||||||
|
<field border="2" x="1" y="1" type="Linea" width="168" height="0" pattern="1" />
|
||||||
|
<field x="85" y="2" type="Testo" width="17" pattern="1" text="Totali periodo:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="85" y="3.25" type="Testo" width="20" pattern="1" text="Totali progressivi:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="105" y="2" type="Valuta" align="right" width="15" id="101" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="121" y="2" type="Valuta" align="right" width="15" id="102" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="137" y="2" type="Valuta" align="right" width="15" id="103" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="153" y="2" type="Valuta" align="right" width="15" id="104" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" level="2" height="1" />
|
||||||
|
<sql>USE RMOVANA
|
||||||
|
BY CODCONTO NUMREG NUMRIG
|
||||||
|
JOIN MOVANA INTO NUMREG==NUMREG</sql>
|
||||||
|
<prescript description="PRESCRIPT">: SCAMBIA_CAMPI ( F1 F2 -- )
|
||||||
|
VARIABLE _X1 \ coordinate del campo F1
|
||||||
|
VARIABLE _Y1
|
||||||
|
VARIABLE _X2 \ coordinate del campo F2
|
||||||
|
VARIABLE _Y2
|
||||||
|
|
||||||
|
2DUP \ duplica i campi F1 F2 sullo stack
|
||||||
|
GET_POS \ prende le coordinate del campo F2
|
||||||
|
_Y2 ! \ e le mette in _Y2 e _X2
|
||||||
|
_X2 !
|
||||||
|
GET_POS \ prende le coordinate del campo F1
|
||||||
|
_Y1 ! \ e le mette in _Y1 e _X1
|
||||||
|
_X1 !
|
||||||
|
|
||||||
|
_X1 @ \ legge le coordinate di F1
|
||||||
|
_Y1 @
|
||||||
|
ROT
|
||||||
|
SET_POS \ mette le coord in F2
|
||||||
|
|
||||||
|
_X2 @
|
||||||
|
_Y2 @
|
||||||
|
ROT
|
||||||
|
SET_POS
|
||||||
|
;
|
||||||
|
|
||||||
|
</prescript>
|
||||||
|
</report>
|
Loading…
x
Reference in New Issue
Block a user