Correzioni al programma causali (cg05*) stampa registri (cg44*) e chiusura

conti (cg46*).


git-svn-id: svn://10.65.10.50/trunk@185 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1994-09-08 10:11:19 +00:00
parent c48cfadb7d
commit c4c3f7bae3
11 changed files with 2147 additions and 2227 deletions

View File

@ -185,6 +185,8 @@ typedef enum { acquisto, vendita, incasso_pagamento,
int _mode; // Modo maschera corrente int _mode; // Modo maschera corrente
int _items; int _items;
// Bitarray delle righe lette da file all'inizio.
// Quando leggo dal file la riga n setto il bit n.
TBit_array _righe_gia_presenti; TBit_array _righe_gia_presenti;
void togli_dal_file(const TString&); void togli_dal_file(const TString&);
@ -833,19 +835,19 @@ bool CG0500_application::descr2array(TMask& m, bool fromHandler)
void CG0500_application::togli_dal_file(const TString& cau) void CG0500_application::togli_dal_file(const TString& cau)
{ {
long i;
TLocalisamfile *rcaus = _rel->lfile(LF_RCAUSALI); TLocalisamfile *rcaus = _rel->lfile(LF_RCAUSALI);
const long start = _righe_gia_presenti.first_one(); long last = _righe_gia_presenti.last_one();
const long last = _righe_gia_presenti.last_one(); long start = _righe_gia_presenti.first_one();
if (start > 0L) for (i=start; i<=last; i++)
for (long i=start; i<=last; i++)
{ {
if (_righe_gia_presenti[i]) if (_righe_gia_presenti[i])
{ {
rcaus->zero(); rcaus->zero();
rcaus->put(RCA_CODCAUS,cau); rcaus->put(RCA_CODCAUS,cau);
rcaus->put(RCA_NRIGA, i); rcaus->put(RCA_NRIGA, i);
if (rcaus->read() == NOERR) // if (rcaus->read() == NOERR)
rcaus->remove(); rcaus->remove();
_righe_gia_presenti.reset(i); _righe_gia_presenti.reset(i);
} }
@ -867,6 +869,7 @@ int CG0500_application::re_write(const TMask& m,bool rewrite)
const TString16 cau(m.get(F_COD_CAUS)); const TString16 cau(m.get(F_COD_CAUS));
TString80 desc; TString80 desc;
TString16 coddesc; TString16 coddesc;
TLocalisamfile *caus = _rel->lfile(LF_CAUSALI);
TLocalisamfile *rcaus = _rel->lfile(LF_RCAUSALI); TLocalisamfile *rcaus = _rel->lfile(LF_RCAUSALI);
m.autosave(_rel); m.autosave(_rel);
@ -878,8 +881,7 @@ int CG0500_application::re_write(const TMask& m,bool rewrite)
for (int i = 0; i < _items; i++) for (int i = 0; i < _items; i++)
{ {
TToken_string &riga = cs.row(i); TToken_string &riga = cs.row(i);
if (riga.empty_items()) if (riga.empty_items()) continue;
continue;
desc = riga.get(0); desc = riga.get(0);
const char tipo_cf = riga.get_char(); const char tipo_cf = riga.get_char();
@ -903,17 +905,15 @@ int CG0500_application::re_write(const TMask& m,bool rewrite)
rcaus->put (RCA_DESC , (const char *)desc); rcaus->put (RCA_DESC , (const char *)desc);
rcaus->put (RCA_CODDESC, (const char *)coddesc); rcaus->put (RCA_CODDESC, (const char *)coddesc);
rcaus->put (RCA_TIPOCF, tipo_cf); rcaus->put (RCA_TIPOCF, tipo_cf);
if (rewrite) if (rewrite) {
{ if (_righe_gia_presenti[i+1]) {
if (_righe_gia_presenti[i+1]) // bitarray delle righe lette da file all'inizio
{
rcaus->rewrite(); rcaus->rewrite();
_righe_gia_presenti.reset(i+1); _righe_gia_presenti.reset(i+1);
} }
else else
rcaus->write(); rcaus->write();
} }
else else
rcaus->write(); rcaus->write();
} }
} }
@ -921,10 +921,11 @@ else
if (rewrite) if (rewrite)
{ {
togli_dal_file(cau); // Elimina dal file le righe rimaste nel bitarray togli_dal_file(cau); // Elimina dal file le righe rimaste nel bitarray
return _rel->rewrite(); // return _rel->rewrite();
return caus->rewrite();
} }
else else
return _rel->write(); return caus->write();
} }

View File

@ -141,11 +141,31 @@ BEGIN
FLAGS "U" FLAGS "U"
END END
// Descrizione normale
STRING 107 50 STRING 107 50
BEGIN
PROMPT 1 5 "Descrizione "
USE LF_PCON KEY 2
FIELD LF_RCAUSALI->DESC
GROUP 1
END
// Descrizione CLIENTE
STRING 207 50
BEGIN BEGIN
PROMPT 1 5 "Descrizione " PROMPT 1 5 "Descrizione "
FIELD LF_RCAUSALI->DESC FIELD LF_RCAUSALI->DESC
GROUP 1 GROUP 1
FLAGS "H"
END
// Descrizione FORNITORE
STRING 307 50
BEGIN
PROMPT 1 5 "Descrizione "
FIELD LF_RCAUSALI->DESC
GROUP 1
FLAGS "H"
END END
STRING 108 3 STRING 108 3

View File

@ -2,7 +2,6 @@
#include <tabutil.h> #include <tabutil.h>
#include "cg0501.h" #include "cg0501.h"
#include "cg0500.h"
#include <causali.h> #include <causali.h>
@ -15,6 +14,7 @@ const char* iva2name(TipoIVA iva)
case nessuna_iva : i = "Nessuna IVA"; break; case nessuna_iva : i = "Nessuna IVA"; break;
case iva_acquisti: i = "IVA Acquisti"; break; case iva_acquisti: i = "IVA Acquisti"; break;
case iva_vendite : i = "IVA Vendite"; break; case iva_vendite : i = "IVA Vendite"; break;
case iva_generica: i = "IVA Generica"; break;
default : i = "IVA ERRATA!"; break; default : i = "IVA ERRATA!"; break;
} }
@ -41,25 +41,29 @@ bool TRegistro::read(const char* cod, int year)
int err = ~NOERR; int err = ~NOERR;
TTable reg("REG");
if (cod && *cod > ' ') if (cod && *cod > ' ')
{ {
TTable reg("REG");
TString16 chiave; TString16 chiave;
chiave << year << cod; chiave << year << cod;
reg.put("CODTAB", chiave); reg.put("CODTAB", chiave);
err = reg.read(); err = reg.read();
if (err == NOERR)
_rec = reg.curr();
} }
_rec = reg.curr();
if (_att.ok()) if (_att.ok())
_att.zero(); _att.zero();
if (err != NOERR && _rec.ok()) if (err != NOERR)
_rec.zero(); _rec.zero();
return err == NOERR; return err == NOERR;
} }
int TRegistro::year() const
{ return ok() ? atoi(_rec.get("CODTAB")) : 0; }
TRegistro& TRegistro::operator =(const TRegistro& r) TRegistro& TRegistro::operator =(const TRegistro& r)
{ {
_rec = r._rec; _rec = r._rec;
@ -68,16 +72,17 @@ TRegistro& TRegistro::operator =(const TRegistro& r)
} }
bool TRegistro::corrisp() const int TRegistro::tipo() const
{ {
const bool t = _rec.ok() ? _rec.get_bool("B0") : FALSE; const int t = ok() ? _rec.get_int("I0") : 0;
return t; return t;
} }
int TRegistro::tipo() const
bool TRegistro::corrispettivi() const
{ {
const int t = _rec.ok() ? _rec.get_int("I0") : 0; const bool c = ok() ? _rec.get_bool("B0") : FALSE;
return t; return c;
} }
@ -86,8 +91,8 @@ TipoIVA TRegistro::iva() const
TipoIVA i = (TipoIVA)tipo(); TipoIVA i = (TipoIVA)tipo();
if (i != nessuna_iva && i != iva_vendite && i != iva_acquisti) if (i != nessuna_iva && i != iva_vendite && i != iva_acquisti)
{ {
error_box("Il registro '%s' non e' un registro iva, tipo: %d", error_box("Il registro '%s' non e' un registro IVA o contabile: tipo %d",
(const char*)_rec.get("CODTAB"), i); (const char*)name(), i);
i = nessuna_iva; i = nessuna_iva;
} }
return i; return i;
@ -98,12 +103,11 @@ bool TRegistro::read_att()
if (!_att.empty()) if (!_att.empty())
return TRUE; return TRUE;
TLocalisamfile attivita(LF_ATTIV); TLocalisamfile attiv(LF_ATTIV);
attivita.put("CODDITTA", MainApp()->get_firm()); attiv.put("CODDITTA", MainApp()->get_firm());
const char* a = _rec.get("S8"); attiv.put("CODATT", attivita());
attivita.put("CODATT", a); const int err = attiv.read();
const int err = attivita.read(); _att = attiv.curr();
_att = attivita.curr();
if (err != NOERR) if (err != NOERR)
_att.zero(); _att.zero();
@ -143,7 +147,6 @@ bool TRegistro::update(long protiva, const TDate& datareg)
_rec.put("D2", datareg); _rec.put("D2", datareg);
updated = FALSE; updated = FALSE;
} }
if (!updated) if (!updated)
{ {
TTable reg("REG"); TTable reg("REG");
@ -166,12 +169,12 @@ bool TLibro_giornale::read(int y)
y = oggi.year(); y = oggi.year();
} }
if (ok() && y == year()) return TRUE; // Gia' letto!
TTable reg("REG"); TTable reg("REG");
bool found = FALSE; bool found = FALSE;
char anno[8]; sprintf(anno, "%4d", y); TString16 anno; anno.format("%-4d", y);
reg.setkey(1);
reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y
for (int err = reg.read(_isgteq); err == NOERR; err = reg.next()) for (int err = reg.read(_isgteq); err == NOERR; err = reg.next())
@ -205,6 +208,7 @@ TCausale::TCausale(const char* cod, int year)
if (*cod) read(cod, year); if (*cod) read(cod, year);
} }
// Legge le righe della causale attualmente selezionata sulla maschera // Legge le righe della causale attualmente selezionata sulla maschera
bool TCausale::read(const char* cod, int year) bool TCausale::read(const char* cod, int year)
{ {
@ -242,8 +246,11 @@ bool TCausale::read(const char* cod, int year)
for (int riga = 1; riga < size(); riga++) // Fill gaps for (int riga = 1; riga < size(); riga++) // Fill gaps
if (objptr(riga) == NULL) add(rcaus.curr(), riga); if (objptr(riga) == NULL) add(rcaus.curr(), riga);
if (year > 0) TString16 codreg(caus.get("REG"));
_reg.read(caus.get("REG"), year); // Read register const bool ok = _reg.read(codreg, year); // Read register
if (!ok && codreg.not_empty())
return error_box("Non esiste il registro '%s' per l'anno %d",
(const char*)codreg, year);
} }
else else
{ {
@ -251,12 +258,9 @@ bool TCausale::read(const char* cod, int year)
_reg.read("", year); _reg.read("", year);
} }
return TRUE; return TRUE;
} }
const TRectype& TCausale::row(int num) const const TRectype& TCausale::row(int num) const
{ {
const TRectype* rec = (const TRectype*)objptr(num); const TRectype* rec = (const TRectype*)objptr(num);
@ -294,6 +298,11 @@ bool TCausale::intra() const
bool TCausale::corrval() const bool TCausale::corrval() const
{ return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; } { return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; }
int TCausale::tipo_mov() const
{ return _rec.ok() ? _rec.get_int("TIPOMOV") : -1; }
const char* TCausale::cod_reg() const
{ return _rec.ok() ? _rec.get("REG") : ""; }
const char* TCausale::causale_inc_imm() const const char* TCausale::causale_inc_imm() const
{ return _rec.ok() ? _rec.get("CODCAUSIM") : ""; } { return _rec.ok() ? _rec.get("CODCAUSIM") : ""; }
@ -302,6 +311,12 @@ const char* TCausale::tipo_doc() const
{ return _rec.ok() ? _rec.get("TIPODOC") : ""; } { return _rec.ok() ? _rec.get("TIPODOC") : ""; }
bool TCausale::puramentecontabile() const
{
const char * codreg = cod_reg();
return ((codreg == NULL || *codreg == '\0') && tipo_mov() == 0);
}
TipoIVA TCausale::iva() const TipoIVA TCausale::iva() const
{ {
if (_iva == iva_errata) if (_iva == iva_errata)
@ -318,7 +333,7 @@ TipoIVA TCausale::iva() const
if (tpd.read() == NOERR) if (tpd.read() == NOERR)
{ {
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
if (i != iva_vendite && i != iva_acquisti) if (i == iva_generica)
i = _reg.iva(); i = _reg.iva();
} }
} }
@ -336,3 +351,27 @@ bool TCausale::similar(const TCausale& c) const
valuta() == c.valuta() && valuta() == c.valuta() &&
intra() == c.intra(); intra() == c.intra();
} }
///////////////////////////////////////////////////////////
// Codice IVA
///////////////////////////////////////////////////////////
TCodiceIVA::TCodiceIVA(const char* cod) : TRectype(LF_TABCOM)
{
read(cod);
}
bool TCodiceIVA::read(const char* cod)
{
int err = ~NOERR;
TTable iva("%IVA");
if (cod && *cod)
{
iva.setkey(1);
iva.put("CODTAB", cod);
err = iva.read();
}
TRectype::operator=(iva.curr());
if (err != NOERR) zero();
return err == NOERR;
}

View File

@ -34,12 +34,15 @@ public:
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
bool corrisp() const;
int tipo() const; int tipo() const;
TipoIVA iva() const; TipoIVA iva() const;
const char* name() const { return _rec.get("CODTAB").mid(4); } bool corrispettivi() const;
int year() const { return _rec.get_int("CODTAB"); } const TString& name() const { return _rec.get("CODTAB").mid(4); }
int year() const;
TDate last_reg() const { return _rec.get_date("D2"); }
TDate last_print() const { return _rec.get_date("D3"); } TDate last_print() const { return _rec.get_date("D3"); }
long protocol() const { return _rec.get_long("I5"); }
const TString& attivita() const { return _rec.get("S8"); }
bool agenzia_viaggi(); bool agenzia_viaggi();
const TString& tipo_attivita(); const TString& tipo_attivita();
@ -79,8 +82,11 @@ public:
bool valuta() const; bool valuta() const;
bool intra() const; bool intra() const;
bool corrval() const; bool corrval() const;
bool puramentecontabile() const;
const char* causale_inc_imm() const; const char* causale_inc_imm() const;
const char* tipo_doc() const; const char* tipo_doc() const;
const char* cod_reg() const;
int tipo_mov() const;
TRegistro& reg() { return _reg; } TRegistro& reg() { return _reg; }
TipoIVA iva() const; TipoIVA iva() const;
@ -88,10 +94,21 @@ public:
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
bool similar(const TCausale& c) const; bool similar(const TCausale& c) const;
bool read(const char* code, int year); bool read(const char* cod, int year);
TCausale(const char* code = "", int year = 0); TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {} virtual ~TCausale() {}
}; };
class TCodiceIVA : public TRectype
{
public:
TCodiceIVA(const char* codice = NULL);
bool read(const char* codice);
bool ok() const { return !empty(); }
const TString& codice() const { return get("CODTAB"); }
real percentuale() const { return get_real("R0"); }
const TString& tipo() const { return get("S1"); }
};
#endif #endif

View File

@ -6,22 +6,21 @@
static TString256 TMP; static TString256 TMP;
CG4400_application * app() { return (CG4400_application*) MainApp(); } HIDDEN CG4400_application * app() { return (CG4400_application*) MainApp(); }
bool filter_func (const TRelation * r) bool filter_func (const TRelation * r)
{ {
TLocalisamfile * mov = r->lfile(LF_MOV); TLocalisamfile * mov = r->lfile(LF_MOV);
TString codreg = mov->get(MOV_REG); TString codreg = mov->get(MOV_REG);
long annoes = mov->get_long(MOV_ANNOES); TDate datareg = mov->get_date(MOV_DATAREG);
int annoiva = mov->get_int(MOV_ANNOIVA);
if (codreg != app()->_codreg || annoes != app()->_annoes) if (codreg != (app()->_codreg) || annoiva != (app()->_annoes))
return FALSE; return FALSE;
if (app()->_data_da.string() != "" && app()->_data_a.string() != "")
//Non puo' essere che _tipo_reg sia diverso da 1 o 2, nel caso di stampa tutti i registri ! if ( (datareg < app()->_data_da || datareg > app()->_data_a ) || (!datareg.ok()) )
//if (app()->_stampa_tutti_i_registri) return FALSE;
// if ( (app()->_tipo_reg != 1) && (app()->_tipo_reg != 2) )
// return FALSE;
return TRUE; return TRUE;
} }
@ -154,7 +153,8 @@ bool mask_cod (TMask_field& f, KEY k)
TString codtab; TString codtab;
int anno; int anno;
if ( (k == K_TAB) && f.mask().is_running() ) //if ( (k == K_TAB) && f.mask().is_running() )
if ( (k == K_SPACE)||(k == K_TAB) )
{ {
TString codlib = f.mask().get(CODICE_LIB_UN); TString codlib = f.mask().get(CODICE_LIB_UN);
anno = f.mask().get_int(ANNO); anno = f.mask().get_int(ANNO);
@ -173,9 +173,27 @@ bool mask_cod (TMask_field& f, KEY k)
return TRUE; return TRUE;
} }
bool mask_fino_a_mese (TMask_field& f, KEY k) bool mask_data (TMask_field& f, KEY k)
{ {
//if ( (k == K_TAB) && f.mask().is_running() ) const short id = f.dlg();
if (k == K_ENTER)
{
int anno = f.mask().get_int(ANNO);
TDate data = f.mask().get(id);
if (data.ok())
if (data.year() != anno)
{
f.warning_box("L'anno delle date limite deve essere uguale all'anno iva specificato");
return FALSE;
}
}
return TRUE;
}
/*
bool mask_fino_a_mese (TMask_field& f, KEY k)
{
if (k == K_ENTER) if (k == K_ENTER)
{ {
TTable TabReg ("REG"); TTable TabReg ("REG");
@ -240,7 +258,8 @@ bool mask_fino_a_mese (TMask_field& f, KEY k)
} }
} }
return TRUE; return TRUE;
} }
*/
//da una SHEET non e' possibile mandare messaggi nella maschera!!! //da una SHEET non e' possibile mandare messaggi nella maschera!!!
HIDDEN bool my_handler (TMask_field& f, KEY k) HIDDEN bool my_handler (TMask_field& f, KEY k)
@ -387,6 +406,8 @@ void CG4400_application::user_create()
_tabreg = new TTable("REG"); _tabreg = new TTable("REG");
_tablbu = new TTable("%LBU"); _tablbu = new TTable("%LBU");
_tabinl = new TTable("%INL"); _tabinl = new TTable("%INL");
_tablim = new TTable("LIM");
_tabpim = new TTable("PIM");
_clifo = new TLocalisamfile(LF_CLIFO); _clifo = new TLocalisamfile(LF_CLIFO);
_occas = new TLocalisamfile(LF_OCCAS); _occas = new TLocalisamfile(LF_OCCAS);
_rel = new TRelation (LF_MOV); _rel = new TRelation (LF_MOV);
@ -518,8 +539,9 @@ bool CG4400_application::controlla_liquidazione()
{ {
TTable lim ("LIM"); TTable lim ("LIM");
TTable pim ("PIM"); TTable pim ("PIM");
TString mesi_ric, mesi_cal; TString16 mesi_ric = "";
TString chiave; TString16 mesi_cal = "";
TString16 chiave = "";
int i; int i;
if (lim.empty()) if (lim.empty())
@ -846,50 +868,41 @@ void CG4400_application::set_page_tot_reg()
} }
} }
bool CG4400_application::compila_reg() bool CG4400_application::compila_reg(const TMask& m)
{ {
byte tipo;
int anno; int anno;
long codditta = _nditte->get_long("CODDITTA"); long codditta = _nditte->get_long("CODDITTA");
_codtab = ""; TString16 codtab = "";
_tipo_stampa = m.get_int(TIPO_STAMPA);
if (_tipo_stampa == 2) //stampa su libro unico di studio
_codreg = m.get(CODICE_LIBRO_IVA);
else if (_tipo_stampa == 3) //stampa di prova
_codreg = m.get(CODICE_LIBRO_PROVA);
else _codreg = m.get(CODICE_LIBRO);
if (_codreg.trim().empty()) if (_codreg.trim().empty())
{ {
_stampa_tutti_i_registri = TRUE; _stampa_tutti_i_registri = TRUE;
for (_tabreg->first(); !_tabreg->eof(); _tabreg->next()) _tabreg->first();
if (!_tabreg->eof())
{ {
_codtab = _tabreg->get("CODTAB"); codtab = _tabreg->get("CODTAB");
tipo = _tabreg->get_int("I0"); anno = atoi(codtab.mid(0,4));
anno = atoi(_codtab.mid(0,4));
if (anno > _annoes) if (anno > _annoes)
{ {
warning_box("Non esistono registri IVA della Ditta %ld per l'anno %d", warning_box("Non esistono registri IVA della Ditta %ld per l'anno %d",
codditta, _annoes); codditta, _annoes);
return FALSE; return FALSE;
} }
if (anno == _annoes)
{
if ( tipo == 1 || tipo == 2 ) //registro iva
{
_codreg = _codtab.mid(4,3);
_tipo_reg = _tabreg->get_int("I0");
_pagine_stampate = _tabreg->get_int("I1");
_data_da = _tabreg->get_date ("D3");
_codatt = _tabreg->get("S8");
_attivita = desc_attivita(_codatt);
_desc_lib = _tabreg->get ("S0");
break;
}
else continue;
}
} }
} }
else // stampa un solo registro else // stampa un solo registro
{ {
_stampa_tutti_i_registri = FALSE; _stampa_tutti_i_registri = FALSE;
_codtab << _annoes << _codreg; codtab << _annoes << _codreg;
_tabreg->zero(); _tabreg->zero();
_tabreg->put("CODTAB", _codtab); _tabreg->put("CODTAB", codtab);
if (_tabreg->read() == NOERR) if (_tabreg->read() == NOERR)
{ {
_tipo_reg = _tabreg->get_int("I0"); _tipo_reg = _tabreg->get_int("I0");
@ -899,21 +912,54 @@ bool CG4400_application::compila_reg()
//_nprog_da = tab_reg.get_long ("I6"); //_nprog_da = tab_reg.get_long ("I6");
//_tot_dare = tab_reg.get_real ("R1") //_tot_dare = tab_reg.get_real ("R1")
//_tot_avere = tab_reg.get_real ("R2"); //_tot_avere = tab_reg.get_real ("R2");
if (_tipo_stampa != 3)
_data_da = _tabreg->get_date ("D3"); _data_da = _tabreg->get_date ("D3");
if ( _tipo_stampa == 1 || _tipo_stampa == 4 )
if ( _data_a < _data_da)
{
TString16 datas = format("%02d/%4d", _data_da.month(), _data_da.year());
warning_box ("La data specificata non deve essere inferiore al %s (ultima data di stampa specificata sul registro)", (const char*)datas);
return FALSE;
}
//_stampa_intesta = _tabreg->get_bool ("B9"); //_stampa_intesta = _tabreg->get_bool ("B9");
_codatt = _tabreg->get("S8"); _codatt = _tabreg->get("S8");
_attivita = desc_attivita(_codatt); _attivita = desc_attivita(_codatt);
_desc_lib = _tabreg->get ("S0"); _desc_lib = _tabreg->get ("S0");
return TRUE;
} }
else else
{ {
warning_box("Il registro IVA specificato non esiste nella \n Ditta %ld", codditta, _annoes); warning_box("Il registro IVA specificato non esiste nella \n Ditta %ld", codditta);
return FALSE; return FALSE;
} }
} }
return TRUE;;
if (_tipo_stampa == 4)
{
TString app(4);
_tabreg->zero();
app = format("%04d", _annoes);
_tabreg->put ("CODTAB", app);
TRectype r (_tabreg->curr());
_tabreg->read(_isgteq);
for (; !_tabreg->eof(); _tabreg->next())
{
if (_tabreg->curr() != r) break;
int tiporeg = _tabreg->get_int("I0");
if (tiporeg == 5) //libro giornale
{
TDate data = _tabreg->get_date("D3");
if (_data_a > data)
{
TString16 datas = format("%02d/%4d", data.month(), data.year());
warning_box ("La data specificata non deve essere superiore al %s (ultima data di stampa del libro giornale)", (const char*)datas);
return FALSE;
}
}
}
}
return TRUE;
} }
bool CG4400_application::compila_lib() bool CG4400_application::compila_lib()
@ -943,7 +989,7 @@ bool CG4400_application::preprocess_print(int file, int counter)
_doc_array.destroy(); _doc_array.destroy();
_dataregp = ""; _dataregp = "";
_mov_empty = TRUE; _mov_empty = TRUE;
_primast = get_page_number(); //_primast = get_page_number();
set_print_zero(); set_print_zero();
} }
return TRUE; return TRUE;
@ -961,22 +1007,26 @@ bool CG4400_application::preprocess_page(int file, int counter)
TLocalisamfile* mov = _cur->file(LF_MOV); TLocalisamfile* mov = _cur->file(LF_MOV);
TLocalisamfile* caus = _cur->file(LF_CAUSALI); TLocalisamfile* caus = _cur->file(LF_CAUSALI);
long annoes = mov->get_long(MOV_ANNOES); //long annoes = mov->get_long(MOV_ANNOES);
TString16 codreg = mov->get(MOV_REG); //TString16 codreg = mov->get(MOV_REG);
_datareg = mov->get_date(MOV_DATAREG); _datareg = mov->get_date(MOV_DATAREG);
if (codreg != _codreg || annoes != _annoes) //if (codreg != _codreg || annoes != _annoes)
return FALSE; // return FALSE;
if (_data_da.string() != "" && _data_a.string() != "") //if (_data_da.string() != "" && _data_a.string() != "")
if ( (_datareg < _data_da || _datareg > _data_a) || (!_datareg.ok()) ) // if ( (_datareg < _data_da || _datareg > _data_a) || (!_datareg.ok()) )
return FALSE; // return FALSE;
_mov_empty = FALSE; _mov_empty = FALSE;
if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) ) //if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) )
if ( (_datareg.month() != _dataregp.month()) && (_dataregp.ok()) ) if ( (_datareg.month() != _dataregp.month()) && (_dataregp.ok()) )
{
if (_tipo_stampa == 2)
++ _u_stampata;
printer().formfeed(); printer().formfeed();
}
_dataregp = _datareg; _dataregp = _datareg;
@ -1070,7 +1120,8 @@ void CG4400_application::aggiorna_reg()
TString16 codtab; TString16 codtab;
TTable Tabreg ("REG"); TTable Tabreg ("REG");
TTable TabInl ("%INL"); TTable TabInl ("%INL");
long stampate, pag; long pag;
//long stampate;
const word ultimast = get_page_number(); const word ultimast = get_page_number();
@ -1079,10 +1130,10 @@ void CG4400_application::aggiorna_reg()
Tabreg.put("CODTAB", codtab); Tabreg.put("CODTAB", codtab);
if (Tabreg.read() == NOERR) if (Tabreg.read() == NOERR)
{ {
stampate = ultimast - _primast + 1; //stampate = ultimast + 1;
if (!_mov_empty) //cioe' se e' stata stampata almeno una pagina if (!_mov_empty) //cioe' se e' stata stampata almeno una pagina
{ {
pag = _pagine_stampate + stampate; pag = _pagine_stampate + ultimast;
Tabreg.put("I1", pag); Tabreg.put("I1", pag);
} }
Tabreg.put("D3", _data_a); Tabreg.put("D3", _data_a);
@ -1109,47 +1160,54 @@ void CG4400_application::aggiorna_reg()
recprec = TabInl.curr(); recprec = TabInl.curr();
} }
TString16 cod; TString cod = "";
if (trovato) if (trovato)
{ {
TString16 cod_inl = recprec.get("CODTAB"); TString16 cod_inl = recprec.get("CODTAB");
long numero_riga = atol(cod_inl.mid(7,6)); long numero_riga = atol(cod_inl.mid(7,6)) + 1;
TString16 num_riga (format("%6d", numero_riga));
cod_inl = cod_inl.mid(0,7); cod_inl = cod_inl.mid(0,7);
nuovo = recprec; nuovo = recprec;
cod << cod_inl << numero_riga + 1; cod << cod_inl << num_riga;
} }
else else
cod << codtab << 1L; {
TString16 num_riga ( format("%6d", 1L) );
cod << codtab << num_riga;
}
long numini = _pagine_stampate + 1; long numini = _pagine_stampate + 1;
nuovo.put("CODTAB", cod); nuovo.put("CODTAB", cod);
nuovo.put("I0", _annoes); nuovo.put("I0", (long)_annoes);
nuovo.put("I1", _fino_a_mese); nuovo.put("I1", (long)_fino_a_mese);
nuovo.put("I2", _primast); nuovo.put("I2", (long)_u_stampata + 1);
nuovo.put("I3", ultimast); nuovo.put("I3", (long)(_u_stampata + ultimast));
nuovo.put("I4", get_firm()); nuovo.put("I4", get_firm());
nuovo.put("S0", _codreg); nuovo.put("S0", _codreg);
nuovo.put("I5", numini); nuovo.put("I5", (long)numini);
nuovo.put("I6", pag); nuovo.put("I6", (long)(numini + ultimast));
if (trovato)
TabInl.rewrite(nuovo);
else
TabInl.write(nuovo); TabInl.write(nuovo);
_u_stampata += ultimast;
} }
} }
void CG4400_application::aggiorna_lib() void CG4400_application::aggiorna_lib()
{ {
TString16 cod; TString16 cod = "";
TTable lbu ("%LBU"); TTable lbu ("%LBU");
const word stampate = get_page_number();
cod << _annoes << _codlib; cod << _annoes << _codlib;
lbu.zero(); lbu.zero();
lbu.put("CODTAB", cod); lbu.put("CODTAB", cod);
if (lbu.read() == NOERR) if (lbu.read() == NOERR)
{ {
lbu.put("I0", _fino_a_mese); lbu.put("I0", (long) _fino_a_mese);
lbu.put("I1", stampate); lbu.put("I1", (long) _u_stampata - 1);
lbu.rewrite(); lbu.rewrite();
} }
} }
@ -1157,6 +1215,20 @@ void CG4400_application::aggiorna_lib()
print_action CG4400_application::postprocess_page (int file, int counter) print_action CG4400_application::postprocess_page (int file, int counter)
{ {
if (file == LF_MOV) if (file == LF_MOV)
if (!counter)
{
bool FINITO = FALSE;
TRecnotype pos = _cur->pos();
long items = _cur->items();
FINITO = (pos == items-1);
if ( FINITO )
{
set_page_tot_reg();
return REPEAT_PAGE;
}
else //if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) )
{ {
TLocalisamfile* mov = _cur->file(LF_MOV); TLocalisamfile* mov = _cur->file(LF_MOV);
_cur->save_status(); _cur->save_status();
@ -1171,6 +1243,7 @@ print_action CG4400_application::postprocess_page (int file, int counter)
return REPEAT_PAGE; return REPEAT_PAGE;
} }
} }
}
return NEXT_PAGE; return NEXT_PAGE;
} }
@ -1179,8 +1252,16 @@ print_action CG4400_application::postprocess_print(int file, int counter)
if (file == LF_MOV) if (file == LF_MOV)
{ {
//aggiorna registri solo se non e' stampa di prova //aggiorna registri solo se non e' stampa di prova
if (_tipo_stampa != 3) if ( (_tipo_stampa != 3) && (!_stampa_tutti_i_registri) )
aggiorna_reg(); aggiorna_reg();
if (_stampa_tutti_i_registri)
if (!_mov_empty )
{
if (_tipo_stampa == 2)
++ _u_stampata;
printer().formfeed();
}
/*
if (_stampa_tutti_i_registri) if (_stampa_tutti_i_registri)
{ {
TString16 codtab; TString16 codtab;
@ -1215,51 +1296,13 @@ print_action CG4400_application::postprocess_print(int file, int counter)
printer().formfeed(); printer().formfeed();
_cur->set_filterfunction(NULL); _cur->set_filterfunction(NULL);
_cur->set_filterfunction(filter_func); _cur->set_filterfunction(filter_func);
// (*_cur) = 0L;
_mov_empty = TRUE; _mov_empty = TRUE;
return REPEAT_PAGE; return REPEAT_PAGE;
} }
} }
}
if (file == LF_RMOVIVA)
if (!counter)
{
bool FINITO = FALSE;
TRecnotype pos = _cur->pos();
long items = _cur->items();
FINITO = (pos == items-1);
if ( FINITO )
{
set_page_tot_reg();
return REPEAT_PAGE;
}
else if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) )
{
TLocalisamfile* mov = _cur->file(LF_MOV);
/*
TDate dataregp = mov->get_date(MOV_DATAREG);
_cur->save_status();
++(*_cur);
TDate datareg = mov->get_date(MOV_DATAREG);
--(*_cur);
_cur->restore_status();
if (datareg.month() != dataregp.month())
{
set_page_tot_reg();
return REPEAT_PAGE;
}
if (_dataregp.month() != _dataregs.month())
{
set_page_tot_reg();
return REPEAT_PAGE;
}
*/ */
} }
}
return NEXT_PAGE; return NEXT_PAGE;
} }
@ -1271,27 +1314,8 @@ bool CG4400_application::set_print(int n)
if (set_ditte(m)) if (set_ditte(m))
if (_selected.ones() > 0l) if (_selected.ones() > 0l)
{ {
_tipo_stampa = m.get_int(TIPO_STAMPA);
_annoes = m.get_int(ANNO); _annoes = m.get_int(ANNO);
if (_tipo_stampa == 2) //stampa su libro unico di studio _tipo_stampa = m.get_int(TIPO_STAMPA);
_codreg = m.get(CODICE_LIBRO_IVA);
else if (_tipo_stampa == 3) //stampa di prova
_codreg = m.get(CODICE_LIBRO_PROVA);
else _codreg = m.get(CODICE_LIBRO);
/*
if (_codreg.trim().empty())
{
_tabreg->first();
_codtab = _tabreg->get("CODTAB");
_codreg = _codtab.mid(4,3);
_stampa_tutti_i_registri = TRUE;
}
else
{
_codtab << _annoes << _codreg;
_stampa_tutti_i_registri = FALSE;
}
**/
//Se stampa di prova l'utente indica data_da e data_a //Se stampa di prova l'utente indica data_da e data_a
if (_tipo_stampa == 3) if (_tipo_stampa == 3)
{ {
@ -1313,7 +1337,8 @@ bool CG4400_application::set_print(int n)
{ {
_codlib = m.get(CODICE_LIB_UN); _codlib = m.get(CODICE_LIB_UN);
_fino_a_mese = m.get_int(MESE); _fino_a_mese = m.get_int(MESE);
set_page_number(m.get_int(ULTIMA_PAGINA) + 1); _u_stampata = m.get_int(ULTIMA_PAGINA);
//set_page_number(_u_stampata + 1);
} }
if (_fino_a_mese == 12) if (_fino_a_mese == 12)
giorni_del_mese = 31; giorni_del_mese = 31;
@ -1326,16 +1351,15 @@ bool CG4400_application::set_print(int n)
_data_a=format("%02d/%02d/%4d",giorni_del_mese,_fino_a_mese,_annoes); _data_a=format("%02d/%02d/%4d",giorni_del_mese,_fino_a_mese,_annoes);
// NB data_da viene letta nella preprocess_page // NB data_da viene letta nella preprocess_page
} }
// compila_reg();
if (_tipo_stampa == 2) if (_tipo_stampa == 2)
compila_lib(); compila_lib();
stampa_registri_IVA(); stampa_registri_IVA(m);
} }
else warning_box("Nessuna ditta selezionata!"); else warning_box("Nessuna ditta selezionata!");
return FALSE; return FALSE;
} }
void CG4400_application::stampa_registri_IVA() void CG4400_application::stampa_registri_IVA(const TMask& m)
{ {
long l; long l;
long firm = TApplication::get_firm(); long firm = TApplication::get_firm();
@ -1346,15 +1370,56 @@ void CG4400_application::stampa_registri_IVA()
if (_selected[l]) if (_selected[l])
{ {
TApplication::set_firm(_nditte->get_long("CODDITTA")); TApplication::set_firm(_nditte->get_long("CODDITTA"));
ok = compila_reg(); // cerca il primo registro valido (nel caso di stampa tutti i registri), senno' legge i dati del registro specificato ok = compila_reg(m); // cerca il primo registro valido (nel caso di stampa tutti i registri), senno' legge i dati del registro specificato
if (!ok) continue; if (!ok) continue;
if (!_stampa_tutti_i_registri)
_cur->set_filterfunction(filter_func); _cur->set_filterfunction(filter_func);
_frequiva = _nditte->get("FREQVIVA")[0]; _frequiva = _nditte->get("FREQVIVA")[0];
if (_tipo_stampa != 3) //stampa definitiva if (_tipo_stampa != 3) //stampa definitiva
ok = controlla_liquidazione() && controlla_mov(); ok = controlla_liquidazione() && controlla_mov();
if (ok) print();
if (!ok) continue;
if (!_stampa_tutti_i_registri)
print();
else
{
TString16 codtab;
int anno, tipo;
for (_tabreg->first(); !_tabreg->eof(); _tabreg->next())
{
tipo = _tabreg->get_int("I0");
codtab = _tabreg->get("CODTAB");
anno = atoi(codtab.mid(0,4));
if (anno > _annoes)
break;
if ( (tipo == 1) || (tipo == 2) ) //registro iva
{
_tipo_reg = _tabreg->get_int("I0");
_desc_lib = _tabreg->get("S0");
if (_tipo_stampa != 3)
_data_da = _tabreg->get_date("D3");
_pagine_stampate = _tabreg->get_int("I1");
_codreg = codtab.mid(4,3);
_codatt = _tabreg->get("S8");
_attivita = desc_attivita(_codatt);
_desc_lib = _tabreg->get ("S0");
//_primast = get_page_number();
//if (!_mov_empty )
// printer().formfeed();
_cur->set_filterfunction(NULL);
_cur->set_filterfunction(filter_func);
//set_page_number(_u_stampata + 1);
print();
if (_tipo_stampa != 3) aggiorna_reg();
} }
} }
}
if (_tipo_stampa == 2)
aggiorna_lib();
}
}
TApplication::set_firm(firm); TApplication::set_firm(firm);
} }
@ -1368,8 +1433,10 @@ bool CG4400_application::set_ditte(TMask& m)
m.field(TIPO_STAMPA).set("1"); m.field(TIPO_STAMPA).set("1");
m.set_handler (TIPO_STAMPA, my_handler); m.set_handler (TIPO_STAMPA, my_handler);
m.set_handler (DA_DATA, mask_data);
m.set_handler (A_DATA, mask_data);
m.set_handler (MESE, mask_mese); m.set_handler (MESE, mask_mese);
m.set_handler (FINO_A_MESE, mask_fino_a_mese); //m.set_handler (FINO_A_MESE, mask_fino_a_mese);
m.set_handler (CODICE_LIB_UN, mask_cod); m.set_handler (CODICE_LIB_UN, mask_cod);
m.set_handler (DLG_SELECT, mask_select); m.set_handler (DLG_SELECT, mask_select);
m.set_handler (F_ANNULLA, mask_annulla); m.set_handler (F_ANNULLA, mask_annulla);
@ -1423,8 +1490,15 @@ else
reset_header(); reset_header();
if (_tipo_stampa == 2)
{
if (_stampa_ind_ditta)
r = stampa_intestazione_ditta();
long num = _u_stampata + 1;
set_header(r++, "@94gProgr.Studio %ld@114gProgr.Utente @#", num);
}
else
r = stampa_intestazione_ditta(); r = stampa_intestazione_ditta();
set_header(r, "Registro IVA: %s %s %s Attivita\' %s %s", set_header(r, "Registro IVA: %s %s %s Attivita\' %s %s",
(const char *) _codreg, (const char *) _desc_lib, (const char *) _codreg, (const char *) _desc_lib,
(const char *) data, (const char *) _codatt, (const char *) data, (const char *) _codatt,
@ -1457,12 +1531,12 @@ else
{ {
set_header(r,"@10gNum.@19gDocumento@68gT Tipo@103gCod %s@121g@124gT", (const char*) nd1); set_header(r,"@10gNum.@19gDocumento@68gT Tipo@103gCod %s@121g@124gT", (const char*) nd1);
if (_tipo_stampa == 4) //stampa definitiva con rif. al libro giornale if (_tipo_stampa == 4) //stampa definitiva con rif. al libro giornale
set_header(r, "@127gNumero"); set_header(r, "@128gNum.");
r++; r++;
set_header(r, "Data reg. prot.@17gData@25gNumero Codice Ragione sociale/descrizione@68gO Doc.@76gTotale doc.@91gImponibile Iva %s@112gImposta@124g%s", set_header(r, "Data reg. prot.@17gData@25gNumero Codice Ragione sociale/descrizione@68gO Doc.@76gTotale doc.@91gImponibile Iva %s@112gImposta@124g%s",
(const char*) nd2, (const char*) cor); (const char*) nd2, (const char*) cor);
if (_tipo_stampa == 4) if (_tipo_stampa == 4)
set_header(r, "@127goperaz"); set_header(r, "@128gop.");
r++; r++;
} }
riga.fill('-'); riga.fill('-');

View File

@ -24,12 +24,19 @@
#include "cglib03.h" #include "cglib03.h"
<<<<<<< cg4400.h
const int MAXSTR = 255;
static char __tmp[MAXSTR];
=======
>>>>>>> 1.6
//enum STAMPA { bollati=1, unici=2 }; //enum STAMPA { bollati=1, unici=2 };
const int TABREG = (int)TTable::name2log("REG"); const int TABREG = (int)TTable::name2log("REG");
bool filter_func (const TRelation*); bool filter_func (const TRelation*);
bool my_handler (TMask_field&, KEY); bool my_handler (TMask_field&, KEY);
bool mask_cod (TMask_field&, KEY); bool mask_cod (TMask_field&, KEY);
bool mask_data (TMask_field&, KEY);
bool mask_mese (TMask_field&, KEY); bool mask_mese (TMask_field&, KEY);
bool mask_fino_a_mese (TMask_field&, KEY); bool mask_fino_a_mese (TMask_field&, KEY);
bool mask_select (TMask_field&, KEY); bool mask_select (TMask_field&, KEY);
@ -58,7 +65,7 @@ class CG4400_application : public TPrintapp
friend bool filter_func (const TRelation *r); friend bool filter_func (const TRelation *r);
friend bool mask_cod (TMask_field&, KEY); friend bool mask_cod (TMask_field&, KEY);
friend bool mask_mese (TMask_field&, KEY); friend bool mask_mese (TMask_field&, KEY);
friend bool mask_fino_a_mese (TMask_field&, KEY); //friend bool mask_fino_a_mese (TMask_field&, KEY);
friend bool my_handler (TMask_field&, KEY); friend bool my_handler (TMask_field&, KEY);
friend bool mask_select (TMask_field&, KEY); friend bool mask_select (TMask_field&, KEY);
friend bool mask_verifica (TMask_field&, KEY); friend bool mask_verifica (TMask_field&, KEY);
@ -67,7 +74,7 @@ class CG4400_application : public TPrintapp
TCursor * _cur; TCursor * _cur;
TRelation *_rel; TRelation *_rel;
TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom; TLocalisamfile *_clifo, *_nditte, *_occas, *_tab, *_tabcom;
TTable *_tabreg, *_tablbu, *_tabinl; TTable *_tabreg, *_tablbu, *_tabinl, *_tablim, *_tabpim;
TRigaiva_array _iva_array, _riga_rmi; TRigaiva_array _iva_array, _riga_rmi;
TTipodoc_array _doc_array; TTipodoc_array _doc_array;
TRiga_array _tot_iva_array; TRiga_array _tot_iva_array;
@ -77,13 +84,12 @@ class CG4400_application : public TPrintapp
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri; bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri;
char _frequiva; char _frequiva;
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg; TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
long _annoes, _n_ditte; long _n_ditte, _u_stampata;
word _primast; int _fino_a_mese, _tipo_reg, _tipo_stampa, _pagine_stampate;
int _riepil, _tipo_reg, _fino_a_mese, _tipo_stampa, _pagine_stampate; int _annoes, _r, _stampa_width; // riga corrente di stampa
int _r, _stampa_width; // riga corrente di stampa
real _totale_doc; real _totale_doc;
TString _codreg, _desc_lib, _codatt, _attivita; TString _codreg, _desc_lib, _codatt, _attivita;
TString _codtab, _tipodoc, _descr_doc, _codlib; TString _tipodoc, _descr_doc, _codlib;
public: public:
const char* desc_attivita (const char * codatt); const char* desc_attivita (const char * codatt);
@ -95,13 +101,13 @@ public:
int riga_rmoviva(); int riga_rmoviva();
bool set_print(int); bool set_print(int);
bool set_ditte(TMask&); bool set_ditte(TMask&);
bool compila_reg(); bool compila_reg(const TMask&);
bool compila_lib(); bool compila_lib();
bool controlla_liquidazione(); bool controlla_liquidazione();
bool controlla_mov(); bool controlla_mov();
void cerca_reg(const TString&, byte&, TDate&); void cerca_reg(const TString&, byte&, TDate&);
//void leggi_movimenti(const TDate&, const TString&, bool&); //void leggi_movimenti(const TDate&, const TString&, bool&);
void stampa_registri_IVA(); void stampa_registri_IVA(const TMask&);
void set_page_tot_reg(); void set_page_tot_reg();
void aggiorna_reg(); void aggiorna_reg();
void aggiorna_lib(); void aggiorna_lib();

View File

@ -1,4 +1,3 @@
<<<<<<< cg4400a.uml
// cg4400a.uml // cg4400a.uml
// Stampa tabella registri // Stampa tabella registri
@ -96,6 +95,7 @@ NUMBER ANNO 4
BEGIN BEGIN
PROMPT 2 7 "Anno " PROMPT 2 7 "Anno "
FLAGS "A" FLAGS "A"
CHECKTYPE REQUIRED
END END
STRING CODICE_LIBRO 3 STRING CODICE_LIBRO 3
@ -121,12 +121,12 @@ BEGIN
HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate" HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111) USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO INPUT CODTAB[5,7] CODICE_LIBRO_PROVA
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7] DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO CODTAB[5,7] OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7]
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
FLAGS "UR" FLAGS "UR"
GROUP 1 GROUP 1
@ -234,240 +234,3 @@ ENDPAGE
ENDMASK ENDMASK
=======
// cg4400a.uml
// Stampa tabella registri
#include "cg4400a.h"
PAGE "Stampa registri IVA" -1 -1 56 19
/*
LISTBOX TIPO_STAMPA 2 27
BEGIN
PROMPT 2 1 "Tipo stampa "
ITEM "1|Libri bollati della ditta"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
ITEM "2|Libri unici dello studio"
MESSAGE SHOW,2@|HIDE,1@|HIDE,3@
ITEM "3|Stampa di prova"
MESSAGE SHOW,3@|HIDE,1@|HIDE,2@|SHOW,CODICE_LIBRO
ITEM "4|Stampa libri con riferimenti al libro giornale"
MESSAGE SHOW,1@|HIDE,2@|HIDE,3@
END
*/
NUMBER TIPO_STAMPA 1
BEGIN
PROMPT 2 1 "Tipo stampa "
SHEET "Cod|Descrizione@50"
INPUT TIPO_STAMPA
OUTPUT TIPO_STAMPA
ITEM "1|Libri bollati della ditta"
ITEM "2|Libri unici dello studio"
ITEM "3|Stampa di prova"
ITEM "4|Stampa libri con riferimenti al libro giornale"
END
GROUPBOX DLG_NULL 35 5
BEGIN
PROMPT 20 1 "Scelta ditte"
END
NUMBER DA_CODICE 6
BEGIN
PROMPT 21 2 "Da codice "
HELP "Immettere codice ditta di partenza per la selezione"
USE LF_NDITTE KEY 1
CHECKTYPE NORMAL
INPUT CODDITTA DA_CODICE
DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT DA_CODICE CODDITTA
END
NUMBER A_CODICE 6
BEGIN
PROMPT 21 3 "A codice "
HELP "Immettere codice ditta di fine selezione"
COPY USE DA_CODICE
CHECKTYPE NORMAL
INPUT CODDITTA A_CODICE
COPY DISPLAY DA_CODICE
OUTPUT A_CODICE CODDITTA
END
STRING F_SELECT 6
BEGIN
PROMPT 21 4 "Scelte n. "
FLAGS "D"
END
BUTTON DLG_SELECT 9
BEGIN
PROMPT 42 2 "Selezione"
//MESSAGE EXIT,DLG_SELECT
END
BUTTON F_ANNULLA 9
BEGIN
PROMPT 42 3 "Annulla"
//MESSAGE EXIT,F_ANNULLA
END
BUTTON F_VERIFICA 9
BEGIN
PROMPT 42 4 "Verifica"
//MESSAGE EXIT,F_VERIFICA
END
DATE DATA_STAMPA
BEGIN
PROMPT 2 6 "Data stampa "
FLAG "AH"
GROUP 3
END
NUMBER ANNO 4
BEGIN
PROMPT 2 7 "Anno "
FLAGS "A"
END
STRING CODICE_LIBRO 3
BEGIN
PROMPT 20 7 "Codice libro "
HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO
DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO CODTAB[5,7]
//CHECKTYPE NORMAL
FLAGS "UR"
GROUP 1
END
STRING CODICE_LIBRO_PROVA 3
BEGIN
PROMPT 20 7 "Codice libro "
HELP "Specificare il codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO
DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO CODTAB[5,7]
//CHECKTYPE NORMAL
FLAGS "UR"
GROUP 1
END
STRING CODICE_LIB_UN 3
BEGIN
PROMPT 20 7 "Cod.libro unico "
HELP "Specificare il codice del libro unico su cui deve essere effettuata la stampa"
USE %LBU SELECT CODTAB[1,4]==#111
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIB_UN
DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIB_UN CODTAB[5,7]
FLAGS "UR"
CHECKTYPE REQUIRED
GROUP 2
END
GROUPBOX DLG_NULL 52 3
BEGIN
PROMPT 2 9 "Stampa movimenti"
END
DATE DA_DATA
BEGIN
PROMPT 5 10 "Dalla data "
GROUP 3
END
DATE A_DATA
BEGIN
PROMPT 30 10 "Alla data "
GROUP 3
END
LISTBOX FINO_A_MESE 10
BEGIN
PROMPT 5 10 "Fino al mese "
FLAGS "M"
GROUP 1
END
LISTBOX MESE 10
BEGIN
PROMPT 5 10 "Mese "
FLAGS "M"
GROUP 2
END
LISTBOX TIPO_RIEPILOGATIVO 11
BEGIN
PROMPT 2 12 "Tipo riepilogativo "
HELP "Selezionare Del periodo/Annuale a seconda che si desideri la stampa della liquidazione periodica/annuale"
ITEM "P|Del periodo"
ITEM "A|Annuale"
GROUP 1
END
LISTBOX ULTIMO_MESE 10
BEGIN
PROMPT 2 13 "Ultimo mese stampa su libro unico "
FLAGS "MD"
GROUP 2
END
NUMBER ULTIMA_PAGINA 4
BEGIN
PROMPT 2 14 "Ultimo numero di pagina stampata libro unico "
FLAGS "R"
GROUP 2
END
STRING CODICE_LIBRO_IVA 3
BEGIN
PROMPT 2 15 "Eventuale codice libro IVA "
HELP "Se non viene indicato nessun cod. libro IVA, vengono stampati tutti i registri delle ditte selezionate"
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO_IVA
DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO_IVA CODTAB[5,7]
//CHECKTYPE NORMAL
FLAGS "UR"
GROUP 2
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK
>>>>>>> 1.3

View File

@ -86,27 +86,24 @@ void TDati_ditta::get_dati_ditta ()
} }
} }
const char * TDati_ditta::prima_riga() const char * TDati_ditta::prima_riga()
{ {
get_dati_ditta(); get_dati_ditta();
/*
tmp.format("Ditta %d %s Via %s %s %s %s", _codditta,
(const char *)_ragsoc,(const char *)_viafis, (const char *)_cap,
(const char *)_comunefis, (const char *)_provfis);
*/
tmp << "Ditta " << _codditta << ' ' << _ragsoc << " Via " << _viafis << ' ' tmp << "Ditta " << _codditta << ' ' << _ragsoc << " Via " << _viafis << ' '
<< _cap << ' ' << _comunefis << ' ' << _provfis; << _cap << ' ' << _comunefis << ' ' << _provfis;
return tmp; return tmp;
} }
const char * TDati_ditta::seconda_riga() const char * TDati_ditta::seconda_riga()
{ {
tmp = "Data @<"; TString riga(_stampa_width);
tmp.right_just(_stampa_width-15); tmp = "";
tmp.overwrite (format ("Partita iva %s @26gCodice fiscale %s", riga = "Data @<";
riga.right_just(_stampa_width-15);
riga.overwrite (format ("Partita iva %s @26gCodice fiscale %s",
(const char*)_paiva, (const char*)_cofi)); (const char*)_paiva, (const char*)_cofi));
return tmp; tmp = riga;
return __tmp;
} }

View File

@ -29,7 +29,7 @@ bool mask_distinti (TMask_field&, KEY);
class CG4600_application : public TApplication class CG4600_application : public TApplication
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
friend bool mask_datac (TMask_field&, KEY); friend bool mask_datac (TMask_field&, KEY);
friend bool mask_dataap (TMask_field&, KEY); friend bool mask_dataap (TMask_field&, KEY);
friend bool mask_distinti (TMask_field&, KEY); friend bool mask_distinti (TMask_field&, KEY);
@ -51,7 +51,7 @@ class CG4600_application : public TApplication
TDate _dataregap, _dataregch; TDate _dataregap, _dataregch;
TString _codcausap, _codcausch, _annoeseprec; TString _codcausap, _codcausch, _annoeseprec;
======= =======
friend bool mask_datac (TMask_field&, KEY); friend bool mask_datac (TMask_field&, KEY);
friend bool mask_dataap (TMask_field&, KEY); friend bool mask_dataap (TMask_field&, KEY);
friend bool mask_distinti (TMask_field&, KEY); friend bool mask_distinti (TMask_field&, KEY);
@ -73,9 +73,9 @@ class CG4600_application : public TApplication
TDate _dataregap, _dataregch; TDate _dataregap, _dataregch;
TString _codcausap, _codcausch; TString _codcausap, _codcausch;
>>>>>>> 1.6 >>>>>>> 1.6
public: public:
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
@ -93,7 +93,7 @@ public:
// bool epilogo_conti(); // bool epilogo_conti();
CG4600_application() {} CG4600_application() {}
======= =======
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
@ -107,11 +107,11 @@ public:
void chiusura_conto_economico(); void chiusura_conto_economico();
void chiusura_conto_patrimoniale(); void chiusura_conto_patrimoniale();
bool set(); bool set();
// bool epilogo_conti(); // bool epilogo_conti();
CG4600_application() {} CG4600_application() {}
>>>>>>> 1.6 >>>>>>> 1.6
}; };
HIDDEN CG4600_application* app() { return (CG4600_application *) MainApp(); } HIDDEN CG4600_application* app() { return (CG4600_application *) MainApp(); }
@ -438,23 +438,23 @@ bool CG4600_application::set()
ultima_registrazione(); ultima_registrazione();
// anno_ese_precedente(); // anno_ese_precedente();
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// (*_cur) = 0L; // (*_cur) = 0L;
======= =======
(*_cur) = 0L; (*_cur) = 0L;
>>>>>>> 1.6 >>>>>>> 1.6
_sld->set_anno_es(_annoesch); _sld->set_anno_es(_annoesch);
_sld->set_movprovv(FALSE); _sld->set_movprovv(FALSE);
_sld->set_movap(FALSE); _sld->set_movap(FALSE);
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// costi (); // costi ();
======= =======
costi (); costi ();
>>>>>>> 1.6 >>>>>>> 1.6
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// _sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg // _sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
// _pn->destroy_rows(); //Azzero l'oggetto pn. // _pn->destroy_rows(); //Azzero l'oggetto pn.
// ultima_registrazione(); // ultima_registrazione();
@ -462,27 +462,27 @@ bool CG4600_application::set()
// ricavi(); // ricavi();
// _sld->reset(); // _sld->reset();
======= =======
_sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg _sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
ultima_registrazione(); ultima_registrazione();
*_cur = 0l; *_cur = 0l;
>>>>>>> 1.6 >>>>>>> 1.6
ricavi(); ricavi();
_sld->reset(); _sld->reset();
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// chiusura_conto_economico(); // chiusura_conto_economico();
======= =======
chiusura_conto_economico(); chiusura_conto_economico();
>>>>>>> 1.6 >>>>>>> 1.6
_totale_saldo = ZERO; _totale_saldo = ZERO;
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// _sld->reset(); // _sld->reset();
======= =======
_sld->reset(); _sld->reset();
>>>>>>> 1.6 >>>>>>> 1.6
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
ultima_registrazione(); ultima_registrazione();
@ -601,7 +601,7 @@ void CG4600_application::costi()
if (_saldi->curr() > (*_rec) || _saldi->eof()) if (_saldi->curr() > (*_rec) || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -620,7 +620,7 @@ void CG4600_application::costi()
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec); // int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -638,7 +638,7 @@ void CG4600_application::costi()
numrig++; numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
>>>>>>> 1.6 >>>>>>> 1.6
_saldo = sale.saldo(); _saldo = sale.saldo();
if (_saldo.is_zero()) continue; if (_saldo.is_zero()) continue;
@ -668,7 +668,7 @@ else // riga con importo di sezione opposta
if (j == MAX || _saldi->eof()) if (j == MAX || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -678,17 +678,17 @@ else // riga con importo di sezione opposta
tot_saldo = ZERO; tot_saldo = ZERO;
} }
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO; tot_saldo = ZERO;
} }
>>>>>>> 1.6 >>>>>>> 1.6
if (!_saldi->eof()) if (!_saldi->eof())
{ {
@ -716,8 +716,8 @@ else // riga con importo di sezione opposta
j = 0; j = 0;
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
} }
} // if (indbil == 3) } // if (indbil == 3)
} // for pcon } // for pcon
} }
void CG4600_application::ricavi() void CG4600_application::ricavi()
@ -764,7 +764,7 @@ void CG4600_application::ricavi()
if (_saldi->curr() > (*_rec) || _saldi->eof()) if (_saldi->curr() > (*_rec) || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -783,7 +783,7 @@ void CG4600_application::ricavi()
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec); // int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -801,7 +801,7 @@ void CG4600_application::ricavi()
numrig++; numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
>>>>>>> 1.6 >>>>>>> 1.6
_saldo = sale.saldo(); _saldo = sale.saldo();
if (_saldo.is_zero()) continue; if (_saldo.is_zero()) continue;
@ -831,7 +831,7 @@ else // riga con importo di sezione opposta
if (j == MAX || _saldi->eof()) if (j == MAX || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -841,17 +841,17 @@ else // riga con importo di sezione opposta
tot_saldo = ZERO; tot_saldo = ZERO;
} }
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE); rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcproper,tot_saldo,FALSE);
tot_saldo = ZERO; tot_saldo = ZERO;
} }
>>>>>>> 1.6 >>>>>>> 1.6
if (!_saldi->eof()) if (!_saldi->eof())
{ {
@ -879,8 +879,8 @@ else // riga con importo di sezione opposta
j = 0; j = 0;
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
} }
} // if (indbil == 4) } // if (indbil == 4)
} // for pcon } // for pcon
} }
void CG4600_application::chiusura_conto_economico() void CG4600_application::chiusura_conto_economico()
@ -889,14 +889,14 @@ void CG4600_application::chiusura_conto_economico()
{ {
int j; int j;
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
//Compilo la testata per perdite di es. c.economico a Profitti e Perdite
//Chiusura conto economico
=======
//Compilo la testata per perdite di es. c.economico a Profitti e Perdite //Compilo la testata per perdite di es. c.economico a Profitti e Perdite
//Chiusura conto economico //Chiusura conto economico
=======
//Compilo la testata per perdite di es. c.economico a Profitti e Perdite
//Chiusura conto economico
>>>>>>> 1.6 >>>>>>> 1.6
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3 compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 3
@ -907,13 +907,13 @@ void CG4600_application::chiusura_conto_economico()
numrig++; numrig++;
j++; j++;
TRectype& rmov2 = _pn->cg(j); TRectype& rmov2 = _pn->cg(j);
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
rmov_proper(_annoesch,numrig,rmov2,_tcperde,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,rmov2,_tcperde,_totale_saldo,FALSE);
======= =======
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
>>>>>>> 1.6 >>>>>>> 1.6
_pn->write(); _pn->write();
_sld->registra(); _sld->registra();
_sld->reset(); _sld->reset();
@ -936,7 +936,7 @@ void CG4600_application::chiusura_conto_economico()
rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
_pn->write(); _pn->write();
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
_sld->registra(); _sld->registra();
@ -961,7 +961,7 @@ else
j++; j++;
TRectype& rmov2 = _pn->cg(j); TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcproper,_totale_saldo,TRUE); rmov_proper(_annoesch,numrig,rmov2,_tcproper,_totale_saldo,TRUE);
======= =======
_sld->registra(); _sld->registra();
_sld->reset(); _sld->reset();
@ -982,15 +982,15 @@ else
j++; j++;
TRectype& rmov6 = _pn->cg(j); TRectype& rmov6 = _pn->cg(j);
rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcperdp,_totale_saldo,FALSE);
>>>>>>> 1.6 >>>>>>> 1.6
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
_pn ->write(); _pn ->write();
_sld->registra(); _sld->registra();
//Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale //Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//Chiusura capitale netto //Chiusura capitale netto
======= =======
_pn->write(); _pn->write();
_sld->registra(); _sld->registra();
_sld->set_anno_es(_annoesch); _sld->set_anno_es(_annoesch);
@ -1000,11 +1000,11 @@ else
{ {
int j; int j;
//Compilo la testata per Profitti e perdite a Utile di es. c.economico //Compilo la testata per Profitti e perdite a Utile di es. c.economico
//Chiusura conto economico //Chiusura conto economico
>>>>>>> 1.6 >>>>>>> 1.6
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
@ -1017,7 +1017,7 @@ else
j++; j++;
TRectype& rmov4 = _pn->cg(j); TRectype& rmov4 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov4,_tcutile,_totale_saldo,TRUE); rmov_proper(_annoesch,numrig,rmov4,_tcutile,_totale_saldo,TRUE);
======= =======
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
@ -1035,8 +1035,8 @@ else
_sld->registra(); _sld->registra();
_sld->reset(); _sld->reset();
//Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale //Compilo la testata per Utile di es. c.economico a Utile di es. c.patrimoniale
//Chiusura capitale netto //Chiusura capitale netto
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
@ -1072,17 +1072,17 @@ else
j++; j++;
TRectype& rmov6 = _pn->cg(j); TRectype& rmov6 = _pn->cg(j);
rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcutilp,_totale_saldo,FALSE); rmov_proper(_annoesap,numrig,_dataregap,rmov6,_tcutilp,_totale_saldo,FALSE);
>>>>>>> 1.6 >>>>>>> 1.6
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
_pn ->write(); _pn ->write();
_sld->registra(); _sld->registra();
======= =======
_pn->write(); _pn->write();
_sld->registra(); _sld->registra();
_sld->set_anno_es(_annoesch); _sld->set_anno_es(_annoesch);
>>>>>>> 1.6 >>>>>>> 1.6
} }
} }
@ -1120,7 +1120,7 @@ else
//Compilo la testata per Utile di es. c.patrimon. a Bilancio di chiusura //Compilo la testata per Utile di es. c.patrimon. a Bilancio di chiusura
//Chiusura conto patrimoniale //Chiusura conto patrimoniale
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
@ -1133,7 +1133,7 @@ else
j++; j++;
TRectype& rmov2 = _pn->cg(j); TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,rmov2,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,rmov2,_tcperdp,_totale_saldo,FALSE);
======= =======
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
j = 0; j = 0;
ultima_registrazione(); ultima_registrazione();
@ -1146,7 +1146,7 @@ else
j++; j++;
TRectype& rmov2 = _pn->cg(j); TRectype& rmov2 = _pn->cg(j);
rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE); rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
>>>>>>> 1.6 >>>>>>> 1.6
_pn ->write(); _pn ->write();
_sld->registra(); _sld->registra();
@ -1198,7 +1198,7 @@ void CG4600_application::attivita()
if (_saldi->curr() > rec || _saldi->eof()) if (_saldi->curr() > rec || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -1217,7 +1217,7 @@ void CG4600_application::attivita()
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec); // int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -1235,7 +1235,7 @@ void CG4600_application::attivita()
numrig++; numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
>>>>>>> 1.6 >>>>>>> 1.6
_saldo = sale.saldo(); _saldo = sale.saldo();
if (_saldo == ZERO) continue; if (_saldo == ZERO) continue;
@ -1269,13 +1269,13 @@ else // riga con importo di sezione opposta
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
======= =======
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
>>>>>>> 1.6 >>>>>>> 1.6
tot_saldo = ZERO; tot_saldo = ZERO;
} }
@ -1361,7 +1361,7 @@ else // riga con importo di sezione opposta
_pn->destroy_rows(); //Azzero l'oggetto pn. _pn->destroy_rows(); //Azzero l'oggetto pn.
} }
} // if (indbil == 1) } // if (indbil == 1)
} // for pcon } // for pcon
} }
void CG4600_application::passivita() void CG4600_application::passivita()
@ -1409,7 +1409,7 @@ void CG4600_application::passivita()
if (_saldi->curr() > rec || _saldi->eof()) if (_saldi->curr() > rec || _saldi->eof())
{ {
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -1428,7 +1428,7 @@ void CG4600_application::passivita()
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
// int annoeseprec = atoi(_annoeseprec); // int annoeseprec = atoi(_annoeseprec);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
======= =======
// Aggiungo un ulteriore riga di movimento contenente la somma // Aggiungo un ulteriore riga di movimento contenente la somma
// di tutti i saldi aventi lo stesso conto, indicandola // di tutti i saldi aventi lo stesso conto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
@ -1446,7 +1446,7 @@ void CG4600_application::passivita()
numrig++; numrig++;
s = _saldi->get_long(SLD_SOTTOCONTO); s = _saldi->get_long(SLD_SOTTOCONTO);
sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil); sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
>>>>>>> 1.6 >>>>>>> 1.6
_saldo = sale.saldo(); _saldo = sale.saldo();
if (_saldo.is_zero()) continue; if (_saldo.is_zero()) continue;
@ -1480,13 +1480,13 @@ else // riga con importo di sezione opposta
// di tutti i saldi aventi lo stesso sottoconto, indicandola // di tutti i saldi aventi lo stesso sottoconto, indicandola
// con una sezione opposta al risultato (della somma). // con una sezione opposta al risultato (della somma).
<<<<<<< cg4600.cpp <<<<<<< cg4600.cpp
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
======= =======
// numrig++; // numrig++;
rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura rmov_proper (_annoesch,numrig,_dataregch,rmov,_tcbilch,tot_saldo,FALSE); //Chiusura
>>>>>>> 1.6 >>>>>>> 1.6
tot_saldo = ZERO; tot_saldo = ZERO;
} }
@ -1572,7 +1572,7 @@ else // riga con importo di sezione opposta
_pn->destroy_rows(); _pn->destroy_rows();
} }
} // if (indbil == 2) } // if (indbil == 2)
} // for pcon } // for pcon
} }
bool CG4600_application::menu(MENU_TAG m) bool CG4600_application::menu(MENU_TAG m)

View File

@ -101,6 +101,7 @@ BEGIN
PROMPT 51 9 "" PROMPT 51 9 ""
COPY ALL F_BILCHG COPY ALL F_BILCHG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_PROPERG 3 NUMBER F_PROPERG 3
@ -122,6 +123,7 @@ BEGIN
PROMPT 44 10 "" PROMPT 44 10 ""
COPY USE F_BILCHG COPY USE F_BILCHG
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
COPY DISPLAY F_BILCHG COPY DISPLAY F_BILCHG
COPY OUTPUT F_PROPERG COPY OUTPUT F_PROPERG
COPY INPUT F_PROPERG COPY INPUT F_PROPERG
@ -270,6 +272,7 @@ BEGIN
INPUT GRUPPO F_PERDEG INPUT GRUPPO F_PERDEG
INPUT CONTO F_PERDEC INPUT CONTO F_PERDEC
INPUT SOTTOCONTO F_PERDES INPUT SOTTOCONTO F_PERDES
END END
NUMBER F_PERDEC 3 NUMBER F_PERDEC 3
@ -294,7 +297,7 @@ BEGIN
PROMPT -12 -1 "" PROMPT -12 -1 ""
END END
BUTTON DLG_CANCEL 9 2 BUTTON DLG_QUIT 9 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END