Patch level :2.2 nopatch
Files correlati : Ricompilazione Demo : [ ] Commento :stampa pagato in progress git-svn-id: svn://10.65.10.50/trunk@13525 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
efe7669b85
commit
e2113e9181
@ -54,7 +54,7 @@ BEGIN
|
|||||||
ITEM "Gruppo"
|
ITEM "Gruppo"
|
||||||
ITEM "Conto"
|
ITEM "Conto"
|
||||||
ITEM "Sottoconto"
|
ITEM "Sottoconto"
|
||||||
ITEM "Descrizione@50"
|
ITEM "Descrizione@50"
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
179
ca/ca3600.cpp
179
ca/ca3600.cpp
@ -61,8 +61,9 @@ TPag_per_cms_configmask::TPag_per_cms_configmask()
|
|||||||
disable(F_PIANO);
|
disable(F_PIANO);
|
||||||
set(F_PIANO, use_pdcc ? "C" : "A");
|
set(F_PIANO, use_pdcc ? "C" : "A");
|
||||||
|
|
||||||
|
//***Parte relativa al prefisso del conto analitico, per ora disabilitata perche' non richiesta
|
||||||
// Controllo se voglio (e posso) usare il conto analitico come prefisso di quello contabile
|
// Controllo se voglio (e posso) usare il conto analitico come prefisso di quello contabile
|
||||||
const int pref = cfg.get_int("PdcPrefix");
|
/* const int pref = cfg.get_int("PdcPrefix");
|
||||||
if (use_pdcc && pref > 0)
|
if (use_pdcc && pref > 0)
|
||||||
{
|
{
|
||||||
const TMultilevel_code_info& info = ca_multilevel_code_info(LF_PCONANA);
|
const TMultilevel_code_info& info = ca_multilevel_code_info(LF_PCONANA);
|
||||||
@ -88,19 +89,20 @@ TPag_per_cms_configmask::TPag_per_cms_configmask()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// creazione dei campi della pagina della maschera con lo sheet dei conti
|
// creazione dei campi della pagina della maschera con lo sheet dei conti
|
||||||
if (use_pdcc) //usa conti contabili
|
if (use_pdcc) //usa conti contabili
|
||||||
config_loader(sfield(F_PDCC), "Pdcc");
|
config_loader(sfield(F_PDCC), "Pdcc");
|
||||||
|
else //usa conti analitici
|
||||||
|
{
|
||||||
|
short dlg = S_CDC2 + 100; // id del primo campo da generare (maschera di riga dello sheet)
|
||||||
|
int y = 2;
|
||||||
|
const int nfields = create_sheet_fields(F_PDCA, LF_PCONANA, y, dlg);
|
||||||
|
sfield(F_PDCA).sheet_mask().hide(-1);
|
||||||
|
|
||||||
short dlg = S_CDC2 + 100; // id del primo campo da generare
|
config_loader(sfield(F_PDCA), "Pdca");
|
||||||
int y = 2;
|
}
|
||||||
const int nfields = create_sheet_fields(F_PDCA, LF_PCONANA, y, dlg);
|
|
||||||
sfield(F_PDCA).sheet_mask().hide(-1);
|
|
||||||
|
|
||||||
config_loader(sfield(F_PDCA), "Pdca");
|
|
||||||
|
|
||||||
set_handlers();
|
set_handlers();
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -261,25 +263,27 @@ TPag_per_cms_mask::TPag_per_cms_mask()
|
|||||||
class TPag_per_cms_recordset : public TISAM_recordset
|
class TPag_per_cms_recordset : public TISAM_recordset
|
||||||
{
|
{
|
||||||
TExternisamfile* _tmp;
|
TExternisamfile* _tmp;
|
||||||
bool _riclassificato;
|
|
||||||
// TString _prefix, _da_conto_riclas, _a_conto_riclas;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
// int _tipoconti;
|
TDate _dadata, _adata;
|
||||||
// TDate _dadata, _adata;
|
long _dacodfor, _acodfor;
|
||||||
// long _danumreg, _anumreg;
|
TString8 _campodata;
|
||||||
TString _daconto, _aconto, _codcosto, _codcms, _codfas;
|
TString _codcosto, _codcms, _codfas;
|
||||||
|
|
||||||
protected: //da libreria
|
protected: //da libreria
|
||||||
// virtual const TVariant& get(const char* column_name) const;
|
// virtual const TVariant& get(const char* column_name) const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void crea_trr(const TFilename& trr) const;
|
void crea_trr(const TFilename& trr) const;
|
||||||
|
static bool part_callback(const TRelation& rel, void* pJolly);
|
||||||
|
// static bool mov_callback(const TRelation& rel, void* pJolly);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
virtual void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
||||||
|
virtual void set_custom_filter(TCursor& cur) const;
|
||||||
|
void scan_pags(const TPag_per_cms_mask& msk);
|
||||||
|
|
||||||
TPag_per_cms_recordset(const TString& sql) : TISAM_recordset(sql), _riclassificato(false) { _tmp = NULL;}
|
TPag_per_cms_recordset(const TString& sql) : TISAM_recordset(sql) { _tmp = NULL;}
|
||||||
~TPag_per_cms_recordset();
|
~TPag_per_cms_recordset();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -290,16 +294,43 @@ TPag_per_cms_recordset::~TPag_per_cms_recordset()
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
|
||||||
|
void TPag_per_cms_recordset::set_custom_filter(TCursor& cur) const
|
||||||
|
{
|
||||||
|
relation()->replace(_tmp); //sostituisce il vero file rmovana con quello temporaneo
|
||||||
|
|
||||||
|
//filtro sul file esterno (_tmp, cioè 1000) sui conti selezionati sulla maschera
|
||||||
|
TRectype darec(cur.curr()), arec(cur.curr()); //curr perchè è il file externisamfile
|
||||||
|
darec.zero();
|
||||||
|
arec.zero();
|
||||||
|
|
||||||
|
//filtro sulla data(non avendo anche codnum non ho la chiave completa per mettere la data nella setregion)
|
||||||
|
TString filtro;
|
||||||
|
if (_dadata.ok())
|
||||||
|
filtro << "(ANSI(DATA)>=" << _dadata << ")";
|
||||||
|
|
||||||
|
if (_adata.ok())
|
||||||
|
{
|
||||||
|
if (filtro.not_empty())
|
||||||
|
filtro << "&&";
|
||||||
|
filtro << "(ANSI(DATA)<=" << _adata << ")";
|
||||||
|
}
|
||||||
|
|
||||||
|
cur.setregion(darec, arec);
|
||||||
|
cur.setfilter(filtro);
|
||||||
|
|
||||||
|
myself = (TPag_per_cms_recordset*)this;
|
||||||
|
}
|
||||||
|
|
||||||
void TPag_per_cms_recordset::crea_trr(const TFilename& trr) const
|
void TPag_per_cms_recordset::crea_trr(const TFilename& trr) const
|
||||||
{
|
{
|
||||||
ofstream of(trr);
|
ofstream of(trr);
|
||||||
of << 1000 << endl;
|
of << 1000 << endl;
|
||||||
of << 14 << endl;
|
of << 14 << endl;
|
||||||
|
of << "CONTO|1|20|0|Conto analitico/contabile" << endl;
|
||||||
|
of << "DESCONTO|1|50|0|Descrizione conto" << endl;
|
||||||
of << "NREG|3|7|0|Numero registrazione" << endl;
|
of << "NREG|3|7|0|Numero registrazione" << endl;
|
||||||
of << "DATAPAG|5|8|0|Data pagamento" << endl;
|
of << "DATAPAG|5|8|0|Data pagamento" << endl;
|
||||||
of << "DESCRPAG|1|50|0|Descrizione pagamento" << endl;
|
of << "DESCRPAG|1|50|0|Descrizione pagamento" << endl;
|
||||||
of << "CONTO|1|20|0|Conto analitico/contabile" << endl;
|
|
||||||
of << "DESCONTO|1|50|0|Descrizione conto" << endl;
|
|
||||||
of << "NDOC|1|6|0|Numero documento" << endl;
|
of << "NDOC|1|6|0|Numero documento" << endl;
|
||||||
of << "DATADOC|5|8|0|Data documento" << endl;
|
of << "DATADOC|5|8|0|Data documento" << endl;
|
||||||
of << "PROT|2|5|0|Protocollo iva" << endl;
|
of << "PROT|2|5|0|Protocollo iva" << endl;
|
||||||
@ -310,7 +341,89 @@ void TPag_per_cms_recordset::crea_trr(const TFilename& trr) const
|
|||||||
of << "DESFORN|1|50|0|Descrizione fornitore" << endl;
|
of << "DESFORN|1|50|0|Descrizione fornitore" << endl;
|
||||||
of << "HIDDEN|8|1|0|Record nascosto" << endl;
|
of << "HIDDEN|8|1|0|Record nascosto" << endl;
|
||||||
of << 1 << endl;
|
of << 1 << endl;
|
||||||
of << "NREG+DATAPAG" << endl;
|
of << "CONTO+NREG+DATAPAG+CODFORN" << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
//Criptico metodo per la scansione del cursore..
|
||||||
|
typedef bool (*SCAN_FUNC)(const TRelation& rel, void* pJolly);
|
||||||
|
|
||||||
|
bool scan_cursor(TCursor& cur, const char* msg, SCAN_FUNC func, void* pJolly)
|
||||||
|
{
|
||||||
|
TRecnotype items = 0; // Temporarily
|
||||||
|
TProgind pi(items, msg, true, true);
|
||||||
|
|
||||||
|
{
|
||||||
|
TWait_cursor hourglass;
|
||||||
|
items = cur.items();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool ok = true;
|
||||||
|
if (items > 0)
|
||||||
|
{
|
||||||
|
cur.freeze();
|
||||||
|
pi.setmax(items);
|
||||||
|
for (cur = 0; cur.pos() < items; ++cur)
|
||||||
|
{
|
||||||
|
pi.addstatus(1);
|
||||||
|
if (pi.iscancelled())
|
||||||
|
{
|
||||||
|
ok = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (!func(*cur.relation(), pJolly))
|
||||||
|
{
|
||||||
|
ok = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cur.freeze(false);
|
||||||
|
}
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TPag_per_cms_recordset::part_callback(const TRelation& rel, void* pJolly)
|
||||||
|
{
|
||||||
|
/* TPag_per_cms* app = (TPag_per_cms*)pJolly;
|
||||||
|
const TRectype& riga_part_pag = rel.curr();
|
||||||
|
|
||||||
|
const long nreg = app->find_movimento(riga_part_pag); //prima cerco un movimento della fattura...
|
||||||
|
if (nreg > 0) //..se ne trovo almeno uno cerco la commessa corrispondente
|
||||||
|
app->find_commesse(nreg, riga_part_pag);*/
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void TPag_per_cms_recordset::scan_pags(const TPag_per_cms_mask& msk)
|
||||||
|
{
|
||||||
|
//costruzione filtro
|
||||||
|
TRectype darec(LF_PARTITE);
|
||||||
|
TRectype arec(LF_PARTITE);
|
||||||
|
darec.put(PART_TIPOCF, 'F');
|
||||||
|
darec.put(PART_GRUPPO, 0);
|
||||||
|
darec.put(PART_CONTO, 0);
|
||||||
|
arec = darec;
|
||||||
|
if (_dacodfor > 0)
|
||||||
|
darec.put(PART_SOTTOCONTO, _dacodfor);
|
||||||
|
if (_acodfor >= _dacodfor)
|
||||||
|
arec.put(PART_SOTTOCONTO, _acodfor);
|
||||||
|
|
||||||
|
TString filtro = "(TIPOMOV>=\"3\")"; //deve essere un pagamento a fornitore!!!
|
||||||
|
|
||||||
|
if (_dadata.ok())
|
||||||
|
{
|
||||||
|
TString80 f;
|
||||||
|
f.format("&&(ANSI(%s)>=\"%s\")", (const char*)_campodata, _dadata.string(ANSI));
|
||||||
|
filtro << f;
|
||||||
|
}
|
||||||
|
if (_adata.ok())
|
||||||
|
{
|
||||||
|
TString80 f;
|
||||||
|
f.format("&&(ANSI(%s)<=\"%s\")", (const char*)_campodata, _adata.string(ANSI));
|
||||||
|
filtro << f;
|
||||||
|
}
|
||||||
|
//applica il filtro alla relazione
|
||||||
|
TRelation rel(LF_PARTITE);
|
||||||
|
TCursor cur(&rel, filtro, 1, &darec, &arec);
|
||||||
|
scan_cursor(cur, "Movimenti saldacontati...", part_callback, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
||||||
@ -333,8 +446,9 @@ void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_ro
|
|||||||
//crea in memoria il nuovo file temporaneo e lo azzera (non si sa mai..)
|
//crea in memoria il nuovo file temporaneo e lo azzera (non si sa mai..)
|
||||||
_tmp = new TExternisamfile(dbf, trr);
|
_tmp = new TExternisamfile(dbf, trr);
|
||||||
_tmp->zap();
|
_tmp->zap();
|
||||||
|
|
||||||
//prende un po' di dati dalla maschera
|
//prende un po' di dati dalla maschera
|
||||||
_daconto, _aconto, _codcosto = _codcms = _codfas = "";
|
_codcosto = _codcms = _codfas = "";
|
||||||
if (cms_row >= 0)
|
if (cms_row >= 0)
|
||||||
{
|
{
|
||||||
TSheet_field& sf = msk.sfield(F_RIGHE);
|
TSheet_field& sf = msk.sfield(F_RIGHE);
|
||||||
@ -347,6 +461,28 @@ void TPag_per_cms_recordset::set_filter(const TPag_per_cms_mask& msk, int cms_ro
|
|||||||
_codfas = rel.curr().get(RMOVANA_CODFASE);
|
_codfas = rel.curr().get(RMOVANA_CODFASE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//scelta tipo data di estrazione (registrazione, documento, pagamento)
|
||||||
|
_campodata = PART_DATAREG;
|
||||||
|
switch(msk.get_int(F_TIPODATA))
|
||||||
|
{
|
||||||
|
case 1:_campodata = PART_DATADOC;break;
|
||||||
|
case 2:_campodata = PART_DATAPAG;break;
|
||||||
|
default:break;
|
||||||
|
}
|
||||||
|
|
||||||
|
//lettura eventuali date limite (il controllo sul loro valore sara' nei metodi di costruzione
|
||||||
|
//dei filtri
|
||||||
|
_dadata = msk.get_date(F_DATAINI);
|
||||||
|
_adata = msk.get_date(F_DATAFIN);
|
||||||
|
|
||||||
|
//scansione movimenti con saldaconto
|
||||||
|
scan_pags(msk);
|
||||||
|
|
||||||
|
//se c'e' un filtro sui fornitori, non si fa lo scan dei movimenti senza saldaconto
|
||||||
|
_dacodfor = msk.get_long(F_DACODFOR);
|
||||||
|
_acodfor = msk.get_long(F_ACODFOR);
|
||||||
|
// if (_dacodfor == 0 && _acodfor == 0)
|
||||||
|
// scan_movs();
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
@ -363,17 +499,20 @@ public:
|
|||||||
void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
void set_filter(const TPag_per_cms_mask& msk, int cms_row);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
bool TPag_per_cms_rep::get_usr_val(const TString& name, TVariant& var) const
|
bool TPag_per_cms_rep::get_usr_val(const TString& name, TVariant& var) const
|
||||||
{
|
{
|
||||||
return TAnal_report::get_usr_val(name, var);
|
return TAnal_report::get_usr_val(name, var);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool TPag_per_cms_rep::set_recordset(const TString& sql)
|
bool TPag_per_cms_rep::set_recordset(const TString& sql)
|
||||||
{
|
{
|
||||||
TPag_per_cms_recordset* rs = new TPag_per_cms_recordset(sql);
|
TPag_per_cms_recordset* rs = new TPag_per_cms_recordset(sql);
|
||||||
return TAnal_report::set_recordset(rs);
|
return TAnal_report::set_recordset(rs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TPag_per_cms_rep::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
void TPag_per_cms_rep::set_filter(const TPag_per_cms_mask& msk, int cms_row)
|
||||||
{
|
{
|
||||||
TAnal_report::set_recordset(NULL);
|
TAnal_report::set_recordset(NULL);
|
||||||
|
@ -11,19 +11,19 @@ END
|
|||||||
|
|
||||||
BUTTON DLG_PRINT 10 2
|
BUTTON DLG_PRINT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -1 "~Stampa"
|
PROMPT -13 -1 "~Stampa"
|
||||||
MESSAGE EXIT,K_ENTER
|
MESSAGE EXIT,K_ENTER
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_CONFIG 10 2
|
BUTTON DLG_CONFIG 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -23 -1 "~Configura"
|
PROMPT -23 -1 "~Configura"
|
||||||
PICTURE BMP_CONFIG
|
PICTURE BMP_CONFIG
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON DLG_QUIT 10 2
|
BUTTON DLG_QUIT 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -33 -1 ""
|
PROMPT -33 -1 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
267
ca/ca3600a.rep
Executable file
267
ca/ca3600a.rep
Executable file
@ -0,0 +1,267 @@
|
|||||||
|
|
||||||
|
<report libraries="ve1300" name="ca3600a" orientation="2" lpi="8" class="ca3600a">
|
||||||
|
<description>Pagato CA</description>
|
||||||
|
<font face="Courier New" size="8" />
|
||||||
|
<section type="Head" height="5">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<field x="1" type="Stringa" width="50" pattern="1">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="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 border="2" x="1" y="2" type="Linea" width="169" height="0" pattern="1" />
|
||||||
|
<field x="1" y="3.5" type="Testo" align="right" width="7" pattern="1" text="N. Reg." />
|
||||||
|
<field x="9" y="3.5" type="Testo" align="center" width="11" pattern="1" text="Data pag." />
|
||||||
|
<field x="21" y="3.5" type="Testo" width="25" pattern="1" text="Descrizione pagamento" />
|
||||||
|
<field x="47" y="3.5" type="Testo" align="center" width="6" pattern="1" text="N. doc." />
|
||||||
|
<field x="54" y="3.5" type="Testo" align="center" width="10" pattern="1" text="Data doc." />
|
||||||
|
<field x="65" y="3.5" type="Testo" width="4" pattern="1" text="Prot." />
|
||||||
|
<field x="70" y="3.5" type="Testo" align="right" width="18" pattern="1" text="Totale documento" />
|
||||||
|
<field x="89" y="3.5" type="Testo" align="right" width="18" pattern="1" text="Totale pagamento" />
|
||||||
|
<field x="108" y="3.5" type="Testo" align="right" width="18" pattern="1" text="Totale residuo" />
|
||||||
|
<field x="128" y="3.5" type="Testo" align="right" width="7" pattern="1" text="Fornitore" />
|
||||||
|
<field border="1" x="1" y="4.5" type="Linea" width="169" height="0" pattern="1" />
|
||||||
|
</section>
|
||||||
|
<section type="Head" level="1" height="9">
|
||||||
|
<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="PAGATO PER COMMESSA F; FORNITORE">
|
||||||
|
<font face="Courier New" bold="1" size="16" />
|
||||||
|
</field>
|
||||||
|
<field x="1" y="3" type="Testo" width="18" pattern="1" text="Centro di Costo:" />
|
||||||
|
<field x="14" y="3" type="Stringa" width="23" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#COSTO</source>
|
||||||
|
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_COSTO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="38" y="3" type="Stringa" width="50" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,CDC,CODCOSTO=#COSTO,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="110" y="3" type="Testo" width="14" pattern="1" text="Anno:" />
|
||||||
|
<field x="126" y="3" type="Stringa" width="4" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,ANNO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="140" y="3" type="Testo" width="17" pattern="1" text="Regime IVA:" />
|
||||||
|
<field x="157" y="3" type="Stringa" width="2" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,REGIVA</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="14" y="4.5" type="Stringa" width="23" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#COMMESSA</source>
|
||||||
|
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_COMMESSA</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="38" y="4.5" type="Stringa" width="50" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="110" y="4.5" type="Testo" width="14" pattern="1" text="Data inizio:" />
|
||||||
|
<field x="126" y="4.5" type="Data" width="10" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAINIZIO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="140" y="4.5" type="Testo" width="17" pattern="1" text="Da rendicontare:" />
|
||||||
|
<field x="157" y="4.5" type="Stringa" width="1" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,RENDIC</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="1" y="4.58" type="Testo" width="9" pattern="1" text="Commessa:" />
|
||||||
|
<field x="14" y="6" type="Stringa" width="13" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#FASE</source>
|
||||||
|
<prescript description="H1.0 PRESCRIPT">CA_FORMAT_FASE</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="38" y="6" type="Stringa" width="50" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,FASI,CODFASE=#FASE,DESCRIZ</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="110" y="6" type="Testo" width="14" pattern="1" text="Fine prevista:" />
|
||||||
|
<field x="126" y="6" type="Data" width="10" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAFINE</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="140" y="6" type="Testo" width="17" pattern="1" text="Chiusa:" />
|
||||||
|
<field x="157" y="6" type="Stringa" width="1" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CHIUSA</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="1" y="6.08" type="Testo" width="5" pattern="1" text="Fase:" />
|
||||||
|
<field x="1" y="7.5" type="Testo" width="18" pattern="1" text="Cliente principale:" />
|
||||||
|
<field x="110" y="7.5" type="Testo" width="14" pattern="1" text="Fine proroga:" />
|
||||||
|
<field x="126" y="7.5" type="Data" width="10" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,DATAPROR</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="140" y="7.5" type="Testo" width="17" pattern="1" text="Prorogata:" />
|
||||||
|
<field x="157" y="7.5" type="Stringa" width="1" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.0 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,PROROGA</prescript>
|
||||||
|
</field>
|
||||||
|
<field border="2" x="1" y="9" type="Linea" width="169" height="0" pattern="1" />
|
||||||
|
<field x="20" y="7.5" type="Stringa" width="6" id="101" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.101 PRESCRIPT">MESSAGE ISAMREAD,COMMESSE,CODCMS=#COMMESSA,CODCF</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="30" y="7.5" type="Stringa" width="50" id="102" pattern="1">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<prescript description="H1.102 PRESCRIPT">MESSAGE ISAMREAD,CLIFO,TIPOCF=C!CODCF=#101,RAGSOC</prescript>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section repeat="1" type="Head" level="2" height="2">
|
||||||
|
<groupby>CONTO</groupby>
|
||||||
|
<font italic="1" face="Courier New" size="8" />
|
||||||
|
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2.101
|
||||||
|
MESSAGE RESET,F2.102
|
||||||
|
MESSAGE RESET,F2.103</prescript>
|
||||||
|
<field x="1" y="0.5" type="Stringa" bg_color="#C0C0C0" width="23">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<source>CONTO</source>
|
||||||
|
<prescript description="H2.0 PRESCRIPT">CA_FORMAT_CONTO</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="25" y="0.5" type="Stringa" width="50" pattern="1">
|
||||||
|
<font italic="1" face="Courier New" bold="1" size="8" />
|
||||||
|
<source>DESCONTO</source>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Head" level="3">
|
||||||
|
<groupby>CODNUM+ANNO+NUMRD</groupby>
|
||||||
|
<field x="1" type="Stringa" hidden="1" align="right" width="7" pattern="1">
|
||||||
|
<source>NREG</source>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Body" />
|
||||||
|
<section type="Body" level="1">
|
||||||
|
<condition>HIDDEN!='X'</condition>
|
||||||
|
<field x="9" type="Data" width="10" pattern="1">
|
||||||
|
<source>DATAPAG</source>
|
||||||
|
</field>
|
||||||
|
<field x="20" type="Stringa" dynamic_height="1" width="25" height="2" pattern="1">
|
||||||
|
<source>DESCRPAG</source>
|
||||||
|
</field>
|
||||||
|
<field x="46" type="Stringa" width="7" pattern="1">
|
||||||
|
<source>NDOC</source>
|
||||||
|
</field>
|
||||||
|
<field x="55" type="Data" width="10" pattern="1">
|
||||||
|
<source>DATADOC</source>
|
||||||
|
</field>
|
||||||
|
<field x="66" type="Numero" align="right" width="5" pattern="1">
|
||||||
|
<source>PROT</source>
|
||||||
|
</field>
|
||||||
|
<field x="72" type="Valuta" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||||
|
<source>TOTDOC</source>
|
||||||
|
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.101</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="91" type="Valuta" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||||
|
<source>TOTPAG</source>
|
||||||
|
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.102</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="110" type="Valuta" align="right" width="18" pattern="1" text="###.###.###,@@">
|
||||||
|
<source>TOTRES</source>
|
||||||
|
<postscript description="B1.0 POSTSCRIPT">MESSAGE ADD,F2.103</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="137" type="Stringa" dynamic_height="1" width="25" height="2" pattern="1">
|
||||||
|
<source>DESCFORN</source>
|
||||||
|
</field>
|
||||||
|
<field type="Numero" hidden="1" align="right" width="1" id="100" pattern="1">
|
||||||
|
<prescript description="B1.100 PRESCRIPT">#THIS @
|
||||||
|
0 E;
|
||||||
|
IF
|
||||||
|
#101 DISABLE
|
||||||
|
#102 DISABLE
|
||||||
|
#103 DISABLE
|
||||||
|
#104 DISABLE
|
||||||
|
#105 DISABLE
|
||||||
|
ELSE
|
||||||
|
#101 ENABLE
|
||||||
|
#102 ENABLE
|
||||||
|
#103 ENABLE
|
||||||
|
#104 ENABLE
|
||||||
|
#105 ENABLE
|
||||||
|
THEN
|
||||||
|
#THIS @
|
||||||
|
1 +
|
||||||
|
#THIS !</prescript>
|
||||||
|
</field>
|
||||||
|
<field x="1" type="Stringa" align="right" width="7" id="105" pattern="1">
|
||||||
|
<source>NREG</source>
|
||||||
|
</field>
|
||||||
|
<field x="129" type="Stringa" align="right" width="7" id="105" pattern="1">
|
||||||
|
<source>CODFORN</source>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" />
|
||||||
|
<section type="Foot" level="1">
|
||||||
|
<field border="2" x="1" y="0.5" type="Linea" width="169" height="0" pattern="1" />
|
||||||
|
<field x="90" y="1" type="Testo" width="42" pattern="1" text="TOTALE PER FASE:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="90" y="2.5" type="Testo" width="42" pattern="1" text="TOTALE PER COMMESSA:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="90" y="4" type="Testo" width="42" pattern="1" text="TOTALE PER CENTRO DI COSTO:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="132" y="1" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="145" y="1" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="158" y="1" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="132" y="2.5" type="Valuta" align="right" width="12" id="201" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#103-#101</source>
|
||||||
|
</field>
|
||||||
|
<field x="132" y="4" type="Valuta" align="right" width="12" id="201" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#103-#101</source>
|
||||||
|
</field>
|
||||||
|
<field x="145" y="2.5" type="Valuta" align="right" width="12" id="202" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#103-#102</source>
|
||||||
|
</field>
|
||||||
|
<field x="145" y="4" type="Valuta" align="right" width="12" id="202" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#103-#102</source>
|
||||||
|
</field>
|
||||||
|
<field x="158" y="2.5" type="Valuta" align="right" width="12" id="203" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#F1.111-#103</source>
|
||||||
|
</field>
|
||||||
|
<field x="158" y="4" type="Valuta" align="right" width="12" id="203" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<source>#F1.111-#103</source>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" level="2" height="3">
|
||||||
|
<field border="1" x="1" y="0.5" type="Linea" width="169" height="0" pattern="1" />
|
||||||
|
<field x="110" y="1" type="Testo" width="20" pattern="1" text="Totale per conto:">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
</field>
|
||||||
|
<field x="132" y="1" type="Valuta" align="right" width="12" id="101" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<postscript description="F2.101 POSTSCRIPT">MESSAGE ADD,F1.101</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="145" y="1" type="Valuta" align="right" width="12" id="102" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<postscript description="F2.102 POSTSCRIPT">MESSAGE ADD,F1.102</postscript>
|
||||||
|
</field>
|
||||||
|
<field x="158" y="1" type="Valuta" align="right" width="12" id="103" pattern="1" text="###.###.###,@@">
|
||||||
|
<font face="Courier New" bold="1" size="8" />
|
||||||
|
<postscript description="F2.103 POSTSCRIPT">MESSAGE ADD,F1.103</postscript>
|
||||||
|
</field>
|
||||||
|
</section>
|
||||||
|
<section type="Foot" level="3">
|
||||||
|
<prescript description="F3 PRESCRIPT">0 #B1.100 !</prescript>
|
||||||
|
</section>
|
||||||
|
<sql>USE 1000</sql>
|
||||||
|
</report>
|
@ -21,7 +21,7 @@ PAGE "Configurazione conti" -1 -1 78 20
|
|||||||
|
|
||||||
LIST F_PIANO 1 12
|
LIST F_PIANO 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "Piano dei conti "
|
PROMPT 1 1 "Piano dei conti "
|
||||||
ITEM "A|Analitico"
|
ITEM "A|Analitico"
|
||||||
MESSAGE HIDE,5@|SHOW,6@
|
MESSAGE HIDE,5@|SHOW,6@
|
||||||
ITEM "C|Contabile"
|
ITEM "C|Contabile"
|
||||||
@ -29,11 +29,11 @@ BEGIN
|
|||||||
FLAGS "G"
|
FLAGS "G"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX F_PRE0 76 4
|
/*GROUPBOX F_PRE0 76 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 1 "@bPrefisso del piano dei conti analitico:"
|
PROMPT 1 1 "@bPrefisso del piano dei conti analitico:"
|
||||||
GROUP 6
|
GROUP 6
|
||||||
END
|
END*/
|
||||||
|
|
||||||
TEXT -1
|
TEXT -1
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -41,9 +41,9 @@ BEGIN
|
|||||||
GROUP 5
|
GROUP 5
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_PDCC 78 12
|
SPREADSHEET F_PDCC 78 -1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Pdcc"
|
PROMPT 1 3 "Pdcc"
|
||||||
ITEM "Tipo"
|
ITEM "Tipo"
|
||||||
ITEM "Gruppo"
|
ITEM "Gruppo"
|
||||||
ITEM "Conto"
|
ITEM "Conto"
|
||||||
@ -58,9 +58,9 @@ BEGIN
|
|||||||
GROUP 6
|
GROUP 6
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_PDCA 78 12
|
SPREADSHEET F_PDCA 78 -1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Pdca"
|
PROMPT 1 3 "Pdca"
|
||||||
ITEM "Tipo"
|
ITEM "Tipo"
|
||||||
ITEM "Cdc2"
|
ITEM "Cdc2"
|
||||||
ITEM "Cdc3"
|
ITEM "Cdc3"
|
||||||
@ -204,7 +204,7 @@ END
|
|||||||
STRING S_CDC5 20
|
STRING S_CDC5 20
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Cdc5"
|
PROMPT 1 5 "Cdc5"
|
||||||
FLAGS "B"
|
FLAGS "BG"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE NORMAL
|
||||||
GROUP 1
|
GROUP 1
|
||||||
END
|
END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user