Aggiunte utili (indispensabili!) setkey(1) ovunque ci fosse una read
git-svn-id: svn://10.65.10.50/trunk@728 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
0bc26beeb3
commit
f653e062d1
@ -1631,6 +1631,14 @@ bool TPrimanota_application::corrlire_handler(TMask_field& f, KEY key)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (key == K_ENTER)
|
||||||
|
{
|
||||||
|
const TString16 im(m.get(F_IMPONIBILI));
|
||||||
|
const char* cl = f.get();
|
||||||
|
if (im != cl)
|
||||||
|
warning_box("Il corrispettivo in lire e' diverso dal totale degli imponibili");
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ bool TRegistro::read(const char* cod, int year)
|
|||||||
int err = ~NOERR;
|
int err = ~NOERR;
|
||||||
|
|
||||||
TTable reg("REG");
|
TTable reg("REG");
|
||||||
|
reg.setkey(1);
|
||||||
if (cod && *cod > ' ')
|
if (cod && *cod > ' ')
|
||||||
{
|
{
|
||||||
TString16 chiave; chiave.format("%04d%s", year, cod);
|
TString16 chiave; chiave.format("%04d%s", year, cod);
|
||||||
@ -144,6 +145,7 @@ bool TRegistro::read_att()
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
TLocalisamfile attiv(LF_ATTIV);
|
TLocalisamfile attiv(LF_ATTIV);
|
||||||
|
attiv.setkey(1);
|
||||||
attiv.put("CODDITTA", main_app().get_firm());
|
attiv.put("CODDITTA", main_app().get_firm());
|
||||||
attiv.put("CODATT", attivita());
|
attiv.put("CODATT", attivita());
|
||||||
const int err = attiv.read();
|
const int err = attiv.read();
|
||||||
@ -220,17 +222,16 @@ bool TRegistro::update(long protiva, const TDate& datareg)
|
|||||||
// Legge il libro giornale dell'anno specificato
|
// Legge il libro giornale dell'anno specificato
|
||||||
bool TLibro_giornale::read(int y)
|
bool TLibro_giornale::read(int y)
|
||||||
{
|
{
|
||||||
|
bool found = FALSE;
|
||||||
|
|
||||||
if (y <= 0)
|
if (y <= 0)
|
||||||
{
|
{
|
||||||
const TDate oggi(TODAY);
|
const TDate oggi(TODAY);
|
||||||
y = oggi.year();
|
y = oggi.year();
|
||||||
}
|
}
|
||||||
|
|
||||||
TTable reg("REG");
|
|
||||||
bool found = FALSE;
|
|
||||||
|
|
||||||
TString16 anno; anno.format("%04d", y);
|
TString16 anno; anno.format("%04d", y);
|
||||||
|
TTable reg("REG");
|
||||||
reg.setkey(1);
|
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
|
||||||
|
|
||||||
@ -260,8 +261,9 @@ TLibro_giornale::TLibro_giornale(int y)
|
|||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
TCausale::TCausale(const char* cod, int year)
|
TCausale::TCausale(const char* cod, int year)
|
||||||
: TArray(12), _rec(LF_CAUSALI), _iva(iva_errata),
|
: TArray(12), _rec(LF_CAUSALI),
|
||||||
_sezione_clifo(' '), _sezione_ritsoc(' '), _corrisp(FALSE)
|
_iva(iva_errata), _corrisp(FALSE),
|
||||||
|
_sezione_clifo(' '), _sezione_ritsoc(' ')
|
||||||
{
|
{
|
||||||
if (*cod) read(cod, year);
|
if (*cod) read(cod, year);
|
||||||
}
|
}
|
||||||
@ -281,7 +283,6 @@ bool TCausale::read(const char* cod, int year)
|
|||||||
if (*cod > ' ')
|
if (*cod > ' ')
|
||||||
{
|
{
|
||||||
caus.setkey(1);
|
caus.setkey(1);
|
||||||
caus.zero();
|
|
||||||
caus.put(CAU_CODCAUS, cod);
|
caus.put(CAU_CODCAUS, cod);
|
||||||
|
|
||||||
int err = caus.read();
|
int err = caus.read();
|
||||||
@ -290,7 +291,6 @@ bool TCausale::read(const char* cod, int year)
|
|||||||
|
|
||||||
TLocalisamfile rcaus(LF_RCAUSALI);
|
TLocalisamfile rcaus(LF_RCAUSALI);
|
||||||
rcaus.setkey(1);
|
rcaus.setkey(1);
|
||||||
rcaus.zero();
|
|
||||||
rcaus.put(CAU_CODCAUS, cod);
|
rcaus.put(CAU_CODCAUS, cod);
|
||||||
rcaus.put(CAU_NRIGA, 0);
|
rcaus.put(CAU_NRIGA, 0);
|
||||||
|
|
||||||
@ -312,6 +312,7 @@ bool TCausale::read(const char* cod, int year)
|
|||||||
if (!ok && codreg.not_empty())
|
if (!ok && codreg.not_empty())
|
||||||
return error_box("Non esiste il registro '%s' per l'anno %d",
|
return error_box("Non esiste il registro '%s' per l'anno %d",
|
||||||
(const char*)codreg, year);
|
(const char*)codreg, year);
|
||||||
|
calcIVA();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -429,44 +430,36 @@ char TCausale::sezione_ritsoc()
|
|||||||
return _sezione_ritsoc;
|
return _sezione_ritsoc;
|
||||||
}
|
}
|
||||||
|
|
||||||
TipoIVA TCausale::iva() const
|
void TCausale::calcIVA()
|
||||||
{
|
{
|
||||||
if (_iva == iva_errata)
|
TipoIVA i = nessuna_iva; // Tipo IVA di default
|
||||||
{
|
bool c = FALSE; // Corrispettivi di default
|
||||||
TipoIVA i = nessuna_iva; // Tipo IVA di default
|
|
||||||
bool c = FALSE; // Corrispettivi di default
|
|
||||||
|
|
||||||
TString16 tipodoc(_rec.get("TIPODOC"));
|
const TString16 tipodoc(_rec.get("TIPODOC"));
|
||||||
if (tipodoc.not_empty())
|
if (tipodoc.not_empty())
|
||||||
|
{
|
||||||
|
TTable tpd("%TPD");
|
||||||
|
tpd.setkey(1);
|
||||||
|
tpd.put("CODTAB", tipodoc);
|
||||||
|
if (tpd.read() == NOERR)
|
||||||
{
|
{
|
||||||
TTable tpd("%TPD");
|
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
|
||||||
tpd.put("CODTAB", tipodoc);
|
const TipoIVA ri = _reg.iva();
|
||||||
if (tpd.read() == NOERR)
|
if (i == iva_generica)
|
||||||
|
i = ri;
|
||||||
|
if (i != ri)
|
||||||
{
|
{
|
||||||
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
|
error_box("Tipo documento '%s' incompatibile con tipo registro", (const char*)tipodoc);
|
||||||
const TipoIVA ri = _reg.iva();
|
i = iva_errata;
|
||||||
if (i == iva_generica)
|
}
|
||||||
i = ri;
|
c = tpd.get_bool("B0");
|
||||||
if (i != ri)
|
|
||||||
{
|
|
||||||
error_box("Tipo documento incompatibile con tipo registro");
|
|
||||||
i = iva_errata;
|
|
||||||
}
|
|
||||||
c = tpd.get_bool("B0");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
((TCausale*)this)->_iva = i; // Ricorda IVA per la prossima volta
|
else error_box("Tipo documento sconosciuto: '%s'", (const char*)tipodoc);
|
||||||
((TCausale*)this)->_corrisp = c; // Ricorda flag per la prossima volta
|
|
||||||
}
|
}
|
||||||
return _iva;
|
_iva = i;
|
||||||
|
_corrisp = c;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TCausale::corrispettivi() const
|
|
||||||
{
|
|
||||||
if (_iva == iva_errata) iva();
|
|
||||||
return _corrisp;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TCausale::similar(const TCausale& c) const
|
bool TCausale::similar(const TCausale& c) const
|
||||||
{
|
{
|
||||||
const char* err = "";
|
const char* err = "";
|
||||||
|
@ -80,6 +80,7 @@ class TCausale : public TArray
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
const TRectype& row(int num) const;
|
const TRectype& row(int num) const;
|
||||||
|
void calcIVA();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TBill& bill(int num, TBill& c) const;
|
TBill& bill(int num, TBill& c) const;
|
||||||
@ -99,8 +100,8 @@ public:
|
|||||||
const char* tipo_doc() const;
|
const char* tipo_doc() const;
|
||||||
|
|
||||||
TRegistro& reg() const { return (TRegistro&)_reg; }
|
TRegistro& reg() const { return (TRegistro&)_reg; }
|
||||||
TipoIVA iva() const;
|
TipoIVA iva() const { return _iva; }
|
||||||
bool corrispettivi() const;
|
bool corrispettivi() const { return _corrisp; }
|
||||||
bool saldaconto() const;
|
bool saldaconto() const;
|
||||||
|
|
||||||
virtual bool ok() const;
|
virtual bool ok() const;
|
||||||
|
290
cg/cg2200.cpp
290
cg/cg2200.cpp
@ -1,144 +1,148 @@
|
|||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <progind.h>
|
#include <progind.h>
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
|
|
||||||
#include "cg2200.h"
|
#include "cg2200.h"
|
||||||
#include "cg2101.h"
|
#include "cg2101.h"
|
||||||
|
|
||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
#include <rmov.h>
|
#include <rmov.h>
|
||||||
#include <rmoviva.h>
|
#include <rmoviva.h>
|
||||||
|
|
||||||
TString& add_plural(TString& s, long num, const char* name)
|
TString& add_plural(TString& s, long num, const char* name)
|
||||||
{
|
{
|
||||||
const TFixed_string n(name);
|
const TFixed_string n(name);
|
||||||
const char last = n[n.len()-1];
|
const char last = n[n.len()-1];
|
||||||
|
|
||||||
if (num < 1)
|
if (num < 1)
|
||||||
{
|
{
|
||||||
s << "nessun";
|
s << "nessun";
|
||||||
if (toupper(last) == 'A' || toupper(n[0]) == 'Z' ||
|
if (toupper(last) == 'A' || toupper(n[0]) == 'Z' ||
|
||||||
toupper(n[0]) == 'S' && strchr("aeiouAEIOU", n[1]) == NULL)
|
toupper(n[0]) == 'S' && strchr("aeiouAEIOU", n[1]) == NULL)
|
||||||
s << tolower(last);
|
s << tolower(last);
|
||||||
s << ' ' << name;
|
s << ' ' << name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
s << num << ' ' << name;
|
s << num << ' ' << name;
|
||||||
if (num > 1)
|
if (num > 1)
|
||||||
s[s.len()-1] = (last == 'a') ? 'e' : 'i';
|
s[s.len()-1] = (last == 'a') ? 'e' : 'i';
|
||||||
}
|
}
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
class TDeleteprovv_app : public TApplication
|
class TDeleteprovv_app : public TApplication
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
virtual bool create();
|
virtual bool create();
|
||||||
virtual bool destroy();
|
virtual bool destroy();
|
||||||
virtual bool menu(MENU_TAG m);
|
virtual bool menu(MENU_TAG m);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TDeleteprovv_app() {};
|
TDeleteprovv_app() {};
|
||||||
};
|
};
|
||||||
|
|
||||||
bool TDeleteprovv_app::create()
|
bool TDeleteprovv_app::create()
|
||||||
{
|
{
|
||||||
dispatch_e_menu(BAR_ITEM(1));
|
dispatch_e_menu(BAR_ITEM(1));
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TDeleteprovv_app::destroy()
|
bool TDeleteprovv_app::destroy()
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TDeleteprovv_app::menu(MENU_TAG)
|
bool TDeleteprovv_app::menu(MENU_TAG)
|
||||||
{
|
{
|
||||||
TMask m("cg2200a");
|
TMask m("cg2200a");
|
||||||
TCursor& cur = *m.efield(F_FROMDATE).browse()->cursor();
|
TCursor& cur = *m.efield(F_FROMDATE).browse()->cursor();
|
||||||
TLocalisamfile& mov = cur.file(LF_MOV);
|
TLocalisamfile& mov = cur.file(LF_MOV);
|
||||||
TLocalisamfile rmov(LF_RMOV);
|
TLocalisamfile rmov(LF_RMOV);
|
||||||
TLocalisamfile rmoviva(LF_RMOVIVA);
|
TLocalisamfile rmoviva(LF_RMOVIVA);
|
||||||
|
|
||||||
while (m.run() != K_QUIT)
|
while (m.run() != K_QUIT)
|
||||||
{
|
{
|
||||||
TRecnotype last = cur.items()-1;
|
TRecnotype last = cur.items()-1;
|
||||||
mov.zero();
|
mov.zero();
|
||||||
const char* s = m.get(F_TODATE);
|
const char* s = m.get(F_TODATE);
|
||||||
if (*s)
|
if (*s)
|
||||||
{
|
{
|
||||||
mov.put(MOV_DATAREG, s);
|
mov.put(MOV_DATAREG, s);
|
||||||
mov.put(MOV_NUMREG, m.get(F_TOREG));
|
mov.put(MOV_NUMREG, m.get(F_TOREG));
|
||||||
last = cur.read();
|
last = cur.read();
|
||||||
}
|
}
|
||||||
|
|
||||||
mov.zero();
|
mov.zero();
|
||||||
mov.put(MOV_DATAREG, m.get(F_FROMDATE));
|
mov.put(MOV_DATAREG, m.get(F_FROMDATE));
|
||||||
mov.put(MOV_NUMREG, m.get(F_FROMREG));
|
mov.put(MOV_NUMREG, m.get(F_FROMREG));
|
||||||
const TRecnotype first = cur.read();
|
const TRecnotype first = cur.read();
|
||||||
|
|
||||||
const TRecnotype total = last-first+1;
|
const TRecnotype total = last-first+1;
|
||||||
TString80 caption("Cancellazione di ");
|
TString80 caption("Cancellazione di ");
|
||||||
add_plural(caption, total, "movimento");
|
add_plural(caption, total, "movimento");
|
||||||
|
|
||||||
if (!yesno_box(caption) || total < 1)
|
if (!yesno_box(caption) || total < 1)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
TProgind pi(total, caption, FALSE, TRUE, 24);
|
TProgind pi(total, caption, FALSE, TRUE, 24);
|
||||||
|
|
||||||
for (cur = first; cur.pos() <= last; ++cur)
|
cur.freeze();
|
||||||
{
|
for (cur = first; cur.pos() <= last; ++cur)
|
||||||
const long numreg = mov.get_long(MOV_NUMREG);
|
{
|
||||||
|
const long numreg = mov.get_long(MOV_NUMREG);
|
||||||
int err = cur.lock();
|
|
||||||
for (int rig = 1; err == NOERR; rig++)
|
int err = cur.lock();
|
||||||
{
|
for (int rig = 1; err == NOERR; rig++)
|
||||||
rmov.put(RMV_NUMREG, numreg);
|
{
|
||||||
rmov.put(RMV_NUMRIG, rig);
|
rmov.put(RMV_NUMREG, numreg);
|
||||||
if (rmov.read(_isequal, _lock) != NOERR) break;
|
rmov.put(RMV_NUMRIG, rig);
|
||||||
err = rmov.remove();
|
if (rmov.read(_isequal, _lock) != NOERR) break;
|
||||||
if (err != NOERR)
|
err = rmov.remove();
|
||||||
caption.format("riga contabile %d", rig);
|
if (err != NOERR)
|
||||||
}
|
caption.format("riga contabile %d", rig);
|
||||||
for (rig = 1; err == NOERR; rig++)
|
}
|
||||||
{
|
for (rig = 1; err == NOERR; rig++)
|
||||||
rmoviva.put(RMI_NUMREG, numreg);
|
{
|
||||||
rmoviva.put(RMI_NUMRIG, rig);
|
rmoviva.put(RMI_NUMREG, numreg);
|
||||||
if (rmoviva.read(_isequal, _lock) != NOERR) break;
|
rmoviva.put(RMI_NUMRIG, rig);
|
||||||
err = rmov.remove();
|
if (rmoviva.read(_isequal, _lock) != NOERR) break;
|
||||||
if (err != NOERR)
|
err = rmov.remove();
|
||||||
caption.format("riga IVA %d", rig);
|
if (err != NOERR)
|
||||||
}
|
caption.format("riga IVA %d", rig);
|
||||||
|
}
|
||||||
if (err == NOERR)
|
|
||||||
{
|
if (err == NOERR)
|
||||||
mov.setkey(1); // Isam bug on remove with key != 1
|
{
|
||||||
err = mov.remove();
|
const TRecnotype n = mov.recno();
|
||||||
}
|
mov.setkey(1); // Isam bug on remove with key != 1
|
||||||
else
|
mov.readat(n);
|
||||||
caption = "testata";
|
err = mov.remove();
|
||||||
|
if (err != NOERR)
|
||||||
if (err == NOERR)
|
caption = "testata";
|
||||||
pi.addstatus(1);
|
}
|
||||||
else
|
|
||||||
{
|
if (err == NOERR)
|
||||||
error_box("Errore %d nella cancellazione della %s del movimento %ld",
|
pi.addstatus(1);
|
||||||
err, (const char*)caption, numreg);
|
else
|
||||||
break;
|
{
|
||||||
}
|
error_box("Errore %d nella cancellazione della %s del movimento %ld",
|
||||||
}
|
err, (const char*)caption, numreg);
|
||||||
}
|
break;
|
||||||
|
}
|
||||||
return FALSE;
|
}
|
||||||
}
|
cur.freeze(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
int cg2200(int argc, char** argv)
|
return FALSE;
|
||||||
{
|
}
|
||||||
TDeleteprovv_app a;
|
|
||||||
a.run(argc, argv, "Eliminazione movimenti provvisori");
|
|
||||||
return 0;
|
int cg2200(int argc, char** argv)
|
||||||
|
{
|
||||||
|
TDeleteprovv_app a;
|
||||||
|
a.run(argc, argv, "Eliminazione provvisori");
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
5012
cg/cg3100.cpp
5012
cg/cg3100.cpp
File diff suppressed because it is too large
Load Diff
@ -1291,16 +1291,9 @@ void TMastrini_application::ricerca_dati_ditta()
|
|||||||
_comuni->setkey(1);
|
_comuni->setkey(1);
|
||||||
_comuni->curr().zero();
|
_comuni->curr().zero();
|
||||||
_comuni->curr().put(COM_COM,_comulc);
|
_comuni->curr().put(COM_COM,_comulc);
|
||||||
if (_comuni->read() == NOERR)
|
_comuni->read();
|
||||||
{
|
_com=_comuni->curr().get(COM_DENCOM);
|
||||||
_com=_comuni->curr().get(COM_DENCOM);
|
_prov=_comuni->curr().get(COM_PROVCOM);
|
||||||
_prov=_comuni->curr().get(COM_PROVCOM);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
_com="";
|
|
||||||
_prov="";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Crea l'intestazione per la stampa a 132 e a 198 caratteri
|
// Crea l'intestazione per la stampa a 132 e a 198 caratteri
|
||||||
@ -1674,7 +1667,6 @@ void TMastrini_application::ricerca_clifo()
|
|||||||
paiv = clifo.get(CLI_PAIV);
|
paiv = clifo.get(CLI_PAIV);
|
||||||
cofi = clifo.get(CLI_COFI);
|
cofi = clifo.get(CLI_COFI);
|
||||||
indcf = clifo.get(CLI_INDCF);
|
indcf = clifo.get(CLI_INDCF);
|
||||||
indcf << " " << clifo.get(CLI_CIVCF);
|
|
||||||
capcf = clifo.get(CLI_CAPCF);
|
capcf = clifo.get(CLI_CAPCF);
|
||||||
ptel = clifo.get(CLI_PTEL);
|
ptel = clifo.get(CLI_PTEL);
|
||||||
tel = clifo.get(CLI_TEL);
|
tel = clifo.get(CLI_TEL);
|
||||||
@ -1685,16 +1677,9 @@ void TMastrini_application::ricerca_clifo()
|
|||||||
_comuni->curr().zero();
|
_comuni->curr().zero();
|
||||||
_comuni->curr().put(COM_STATO, statocf);
|
_comuni->curr().put(COM_STATO, statocf);
|
||||||
_comuni->curr().put(COM_COM, comcf);
|
_comuni->curr().put(COM_COM, comcf);
|
||||||
if (_comuni->read() == NOERR)
|
_comuni->read();
|
||||||
{
|
dencom = _comuni->curr().get(COM_DENCOM);
|
||||||
dencom = _comuni->curr().get(COM_DENCOM);
|
provcom = _comuni->curr().get(COM_PROVCOM);
|
||||||
provcom = _comuni->curr().get(COM_PROVCOM);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
dencom = "";
|
|
||||||
provcom = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
pconti.setkey(1);
|
pconti.setkey(1);
|
||||||
pconti.zero();
|
pconti.zero();
|
||||||
@ -1750,28 +1735,19 @@ void TMastrini_application::ricerca_clifo()
|
|||||||
set_header (5, "Comp. da@9g%s", (const char*) dataini);
|
set_header (5, "Comp. da@9g%s", (const char*) dataini);
|
||||||
set_header (5, "@20ga@22g%s", (const char*) datafine);
|
set_header (5, "@20ga@22g%s", (const char*) datafine);
|
||||||
}
|
}
|
||||||
TParagraph_string s(indcf), s1(dencom);
|
|
||||||
|
|
||||||
|
|
||||||
set_header (5, "@33gP.I.@37g%-11s",(const char*) paiv);
|
set_header (5, "@33gP.I.@37g%-11s",(const char*) paiv);
|
||||||
set_header (5, "@49gCF@52g%-16s",(const char*) cofi);
|
set_header (5, "@49gCF@52g%-16s",(const char*) cofi);
|
||||||
set_header (5, "@69g%-25s", s.get());
|
set_header (5, "@69g%-25s",(const char*) indcf);
|
||||||
set_header (5, "@95g%-5s",(const char*) capcf);
|
set_header (5, "@95g%-5s",(const char*) capcf);
|
||||||
set_header (5, "@101g%-25s", s1.get());
|
set_header (5, "@101g%-24s",(const char*) dencom);
|
||||||
set_header (5,"@127g%-5s",(const char*) provcom);
|
set_header (5,"@126g%-5s",(const char*) provcom);
|
||||||
|
|
||||||
if (_numcarat == 2)
|
if (_numcarat == 2)
|
||||||
{
|
{
|
||||||
set_header (5,"@134g%-4s",(const char*) ptel);
|
set_header (5,"@134g%-4s",(const char*) ptel);
|
||||||
set_header (5,"@138g/@139g%-10s",(const char*) tel);
|
set_header (5,"@138g/@139g%-10s",(const char*) tel);
|
||||||
}
|
}
|
||||||
const char * p = s.get();
|
|
||||||
|
|
||||||
if (p != NULL)
|
|
||||||
set_header (5, "@69g%-25s", p);
|
|
||||||
p = s1.get();
|
|
||||||
if (p != NULL)
|
|
||||||
set_header (5, "@101g%-25s", p);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se la ricerca selezionata sulla maschera e' per gruppo, conto, sottoconto
|
// Se la ricerca selezionata sulla maschera e' per gruppo, conto, sottoconto
|
||||||
@ -1975,3 +1951,4 @@ int cg3200(int argc, char* argv[])
|
|||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
190
cg/cglib03.cpp
190
cg/cglib03.cpp
@ -1,95 +1,95 @@
|
|||||||
|
|
||||||
// TRigaiva_array
|
// TRigaiva_array
|
||||||
// Tabella per il calcolo degli imponibili Iva
|
// Tabella per il calcolo degli imponibili Iva
|
||||||
|
|
||||||
#include "cglib03.h"
|
#include "cglib03.h"
|
||||||
|
|
||||||
bool TRigaiva_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap)
|
bool TRigaiva_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap)
|
||||||
{
|
{
|
||||||
bool found = FALSE;
|
bool found = FALSE;
|
||||||
for (int i = 0; i < items(); i++)
|
for (int i = 0; i < items(); i++)
|
||||||
{
|
{
|
||||||
TRigaiva& r = riga(i);
|
TRigaiva& r = riga(i);
|
||||||
if (r._codiva==codiva && tipodet==r._tipodet && tipocr==r._tipocr)
|
if (r._codiva==codiva && tipodet==r._tipodet && tipocr==r._tipocr)
|
||||||
{
|
{
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
r._imponibile += imponibile;
|
r._imponibile += imponibile;
|
||||||
r._imposta += imposta;
|
r._imposta += imposta;
|
||||||
r._imponibilep += imponibilep;
|
r._imponibilep += imponibilep;
|
||||||
r._impostap += impostap;
|
r._impostap += impostap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
TRigaiva* r = new TRigaiva(imponibile,imposta,codiva,tipodet,tipocr,imponibilep,impostap);
|
TRigaiva* r = new TRigaiva(imponibile,imposta,codiva,tipodet,tipocr,imponibilep,impostap);
|
||||||
add(r);
|
add(r);
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TRiga_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap)
|
bool TRiga_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap)
|
||||||
{
|
{
|
||||||
bool found = FALSE;
|
bool found = FALSE;
|
||||||
for (int i = 0; i < items(); i++)
|
for (int i = 0; i < items(); i++)
|
||||||
{
|
{
|
||||||
TRiga& r = riga(i);
|
TRiga& r = riga(i);
|
||||||
if (r._codiva==codiva && r._tipodoc==tipodoc)
|
if (r._codiva==codiva && r._tipodoc==tipodoc)
|
||||||
{
|
{
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
r._imponibile += imponibile;
|
r._imponibile += imponibile;
|
||||||
r._imposta += imposta;
|
r._imposta += imposta;
|
||||||
r._imponibilep += imponibilep;
|
r._imponibilep += imponibilep;
|
||||||
r._impostap += impostap;
|
r._impostap += impostap;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
TRiga* r = new TRiga(imponibile,imposta,codiva,tipodoc,imponibilep,impostap);
|
TRiga* r = new TRiga(imponibile,imposta,codiva,tipodoc,imponibilep,impostap);
|
||||||
add(r);
|
add(r);
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TDociva_array::add_riga(const char* _descrdociva, const real& _importo,const int _natdoc)
|
bool TDociva_array::add_riga(const char* _descrdociva, const real& _importo,const int _natdoc)
|
||||||
{
|
{
|
||||||
bool found = FALSE;
|
bool found = FALSE;
|
||||||
for (int i = 0; i < items(); i++)
|
for (int i = 0; i < items(); i++)
|
||||||
{
|
{
|
||||||
TDociva& r = riga(i);
|
TDociva& r = riga(i);
|
||||||
if (r._descrdoc==_descrdociva)
|
if (r._descrdoc==_descrdociva)
|
||||||
{
|
{
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
if ((r._ndoc == 1)||(r._ndoc == 2)||(r._ndoc == 9))//||(r._ndoc == 4))
|
if ((r._ndoc == 1)||(r._ndoc == 2)||(r._ndoc == 9))//||(r._ndoc == 4))
|
||||||
r._totdociva += _importo;
|
r._totdociva += _importo;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
if ((_natdoc == 1)||(_natdoc == 2)||(_natdoc == 9))//||(_natdoc == 4))
|
if ((_natdoc == 1)||(_natdoc == 2)||(_natdoc == 9))//||(_natdoc == 4))
|
||||||
{
|
{
|
||||||
TDociva* r = new TDociva(_descrdociva,_importo,_natdoc);
|
TDociva* r = new TDociva(_descrdociva,_importo,_natdoc);
|
||||||
add(r);
|
add(r);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TTipodoc_array::add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc)
|
bool TTipodoc_array::add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc)
|
||||||
{
|
{
|
||||||
bool found = FALSE;
|
bool found = FALSE;
|
||||||
for (int i = 0; i < items(); i++)
|
for (int i = 0; i < items(); i++)
|
||||||
{
|
{
|
||||||
TTipodoc& r = (TTipodoc&)(*this)[i];
|
TTipodoc& r = (TTipodoc&)(*this)[i];
|
||||||
if (r._tipodoc==tipodoc)
|
if (r._tipodoc==tipodoc)
|
||||||
{
|
{
|
||||||
found = TRUE;
|
found = TRUE;
|
||||||
r._totdoc += totdoc;
|
r._totdoc += totdoc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!found)
|
if (!found)
|
||||||
{
|
{
|
||||||
TTipodoc* r = new TTipodoc(tipodoc,descrdoc,totdoc);
|
TTipodoc* r = new TTipodoc(tipodoc,descrdoc,totdoc);
|
||||||
add(r);
|
add(r);
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
}
|
}
|
||||||
|
166
cg/cglib03.h
166
cg/cglib03.h
@ -1,83 +1,83 @@
|
|||||||
// cglib03.h
|
// cglib03.h
|
||||||
// TRigaiva_array
|
// TRigaiva_array
|
||||||
// Tabella per il calcolo degli imponibili Iva
|
// Tabella per il calcolo degli imponibili Iva
|
||||||
|
|
||||||
#ifndef __CGLIB03_H
|
#ifndef __CGLIB03_H
|
||||||
#define __CGLIB03_H
|
#define __CGLIB03_H
|
||||||
|
|
||||||
#ifndef __REAL_H
|
#ifndef __REAL_H
|
||||||
#include <real.h>
|
#include <real.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __STRINGS_H
|
#ifndef __STRINGS_H
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
struct TDociva : public TObject
|
struct TDociva : public TObject
|
||||||
{
|
{
|
||||||
TString _descrdoc;
|
TString _descrdoc;
|
||||||
real _totdociva;
|
real _totdociva;
|
||||||
int _ndoc;
|
int _ndoc;
|
||||||
|
|
||||||
TDociva(const char* _descrdociva, const real& _importo,const int _natdoc):_descrdoc(_descrdociva),_totdociva(_importo),_ndoc(_natdoc)
|
TDociva(const char* _descrdociva, const real& _importo,const int _natdoc):_descrdoc(_descrdociva),_totdociva(_importo),_ndoc(_natdoc)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TDociva_array : public TArray
|
class TDociva_array : public TArray
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool add_riga(const char* _descrdociva,const real& _importo,const int _natdoc);
|
bool add_riga(const char* _descrdociva,const real& _importo,const int _natdoc);
|
||||||
TDociva& riga(int i) { return (TDociva&)(*this)[i]; }
|
TDociva& riga(int i) { return (TDociva&)(*this)[i]; }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TRigaiva : public TObject
|
struct TRigaiva : public TObject
|
||||||
{
|
{
|
||||||
real _imponibile, _imposta, _imponibilep, _impostap; //imponibili, imposte del periodo e progressivi
|
real _imponibile, _imposta, _imponibilep, _impostap; //imponibili, imposte del periodo e progressivi
|
||||||
TString _codiva;
|
TString _codiva;
|
||||||
int _tipodet, _tipocr;
|
int _tipodet, _tipocr;
|
||||||
|
|
||||||
TRigaiva (const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap):
|
TRigaiva (const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap):
|
||||||
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodet(tipodet),_tipocr(tipocr),_imponibilep(imponibilep),_impostap(impostap)
|
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodet(tipodet),_tipocr(tipocr),_imponibilep(imponibilep),_impostap(impostap)
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TRigaiva_array : public TArray
|
class TRigaiva_array : public TArray
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap);
|
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap);
|
||||||
TRigaiva& riga(int i) { return (TRigaiva&)(*this)[i]; }
|
TRigaiva& riga(int i) { return (TRigaiva&)(*this)[i]; }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TTipodoc : public TObject
|
struct TTipodoc : public TObject
|
||||||
{
|
{
|
||||||
TString _tipodoc, _descrdoc;
|
TString _tipodoc, _descrdoc;
|
||||||
real _totdoc;
|
real _totdoc;
|
||||||
|
|
||||||
TTipodoc (const char* tipodoc, const char* descrdoc, const real& totdoc):
|
TTipodoc (const char* tipodoc, const char* descrdoc, const real& totdoc):
|
||||||
_tipodoc(tipodoc),_descrdoc(descrdoc),_totdoc(totdoc) {}
|
_tipodoc(tipodoc),_descrdoc(descrdoc),_totdoc(totdoc) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TTipodoc_array : public TArray
|
class TTipodoc_array : public TArray
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc);
|
bool add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc);
|
||||||
TTipodoc& riga(int i) { return (TTipodoc&)(*this)[i]; }
|
TTipodoc& riga(int i) { return (TTipodoc&)(*this)[i]; }
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TRiga : public TObject
|
struct TRiga : public TObject
|
||||||
{
|
{
|
||||||
real _imponibile, _imposta, _imponibilep, _impostap;
|
real _imponibile, _imposta, _imponibilep, _impostap;
|
||||||
TString _codiva, _tipodoc;
|
TString _codiva, _tipodoc;
|
||||||
|
|
||||||
TRiga (const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap):
|
TRiga (const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap):
|
||||||
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodoc(tipodoc),_imponibilep(imponibilep),_impostap(impostap) {}
|
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodoc(tipodoc),_imponibilep(imponibilep),_impostap(impostap) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
class TRiga_array : public TArray
|
class TRiga_array : public TArray
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap);
|
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap);
|
||||||
TRiga& riga(int i) { return (TRiga&)(*this)[i]; }
|
TRiga& riga(int i) { return (TRiga&)(*this)[i]; }
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user