Corretta gestione delle causali contabili.

git-svn-id: svn://10.65.10.50/trunk@25 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1994-08-17 14:05:45 +00:00
parent 10852c6b02
commit fe15049eab
5 changed files with 4050 additions and 4034 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,366 +1,362 @@
#include <applicat.h> #include <applicat.h>
#include <tabutil.h> #include <tabutil.h>
#include "cg2103.h" #include "cg2103.h"
#include <causali.h> #include <causali.h>
const char* iva2name(TipoIVA iva) const char* iva2name(TipoIVA iva)
{ {
const char* i; const char* i;
switch(iva) switch(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;
default : i = "IVA ERRATA!"; break; default : i = "IVA ERRATA!"; break;
} }
return i; return i;
} }
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// Registro // Registro
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
TRegistro::TRegistro(const char* cod, int year) : _rec(LF_TAB), _att(LF_ATTIV) TRegistro::TRegistro(const char* cod, int year) : _rec(LF_TAB), _att(LF_ATTIV)
{ {
read(cod, year); read(cod, year);
} }
bool TRegistro::read(const char* cod, int year) bool TRegistro::read(const char* cod, int year)
{ {
if (year <= 0) if (year <= 0)
{ {
const TDate oggi(TODAY); const TDate oggi(TODAY);
year = oggi.year(); year = oggi.year();
} }
int err = ~NOERR; int err = ~NOERR;
if (cod && *cod > ' ') TTable reg("REG");
{ 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)
if (err != NOERR && _rec.ok()) _rec.zero();
_rec.zero(); return err == NOERR;
return err == NOERR; }
}
int TRegistro::year() const
int TRegistro::year() const { return ok() ? atoi(_rec.get("CODTAB")) : 0; }
{ 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; _att = r._att;
_att = r._att; return *this;
return *this; }
}
int TRegistro::tipo() const
int TRegistro::tipo() const {
{ const int t = _rec.ok() ? _rec.get_int("I0") : 0;
const int t = _rec.ok() ? _rec.get_int("I0") : 0; return t;
return t; }
}
TipoIVA TRegistro::iva() const
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 o contabile: tipo %d",
error_box("Il registro '%s' non e' un registro iva, tipo: %d", (const char*)name(), i);
(const char*)_rec.get("CODTAB"), i); i = nessuna_iva;
i = nessuna_iva; }
} return i;
return i; }
}
bool TRegistro::read_att()
bool TRegistro::read_att() {
{ if (!_att.empty())
if (!_att.empty()) return TRUE;
return TRUE;
TLocalisamfile attiv(LF_ATTIV);
TLocalisamfile attivita(LF_ATTIV); attiv.put("CODDITTA", MainApp()->get_firm());
attivita.put("CODDITTA", MainApp()->get_firm()); attiv.put("CODATT", attivita());
const char* a = _rec.get("S8"); const int err = attiv.read();
attivita.put("CODATT", a); _att = attiv.curr();
const int err = attivita.read(); if (err != NOERR)
_att = attivita.curr(); _att.zero();
if (err != NOERR)
_att.zero(); return err == NOERR;
}
return err == NOERR;
} bool TRegistro::agenzia_viaggi()
{
bool TRegistro::agenzia_viaggi() if (iva() != iva_vendite)
{ return FALSE;
if (iva() != iva_vendite)
return FALSE; bool av = FALSE;
if (read_att()) av = _att.get_bool("REG74TER");
bool av = FALSE;
if (read_att()) av = _att.get_bool("REG74TER"); return av;
}
return av;
} const TString& TRegistro::tipo_attivita()
{
const TString& TRegistro::tipo_attivita() read_att();
{ return _att.get("TIPOATT");
read_att(); }
return _att.get("TIPOATT");
}
// Certified 99%
bool TRegistro::update(long protiva, const TDate& datareg)
// Certified 99% {
bool TRegistro::update(long protiva, const TDate& datareg) bool updated = TRUE;
{
bool updated = TRUE; if (protiva > _rec.get_long("I5"))
{
if (protiva > _rec.get_long("I5")) _rec.put("I5", protiva);
{ updated = FALSE;
_rec.put("I5", protiva); }
updated = FALSE; if (datareg > _rec.get_date("D2"))
} {
if (datareg > _rec.get_date("D2")) _rec.put("D2", datareg);
{ updated = FALSE;
_rec.put("D2", datareg); }
updated = FALSE; if (!updated)
} {
TTable reg("REG");
if (!updated) updated = reg.rewrite(_rec) == NOERR;
{ }
TTable reg("REG");
updated = reg.rewrite(_rec) == NOERR; return updated;
} }
return updated; ///////////////////////////////////////////////////////////
} // Libro giornale
///////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////
// Libro giornale // Legge il libro giornale dell'anno specificato
/////////////////////////////////////////////////////////// bool TLibro_giornale::read(int y)
{
// Legge il libro giornale dell'anno specificato if (y <= 0)
bool TLibro_giornale::read(int y) {
{ const TDate oggi(TODAY);
if (y <= 0) y = oggi.year();
{ }
const TDate oggi(TODAY);
y = oggi.year(); TTable reg("REG");
} bool found = FALSE;
// if (ok() && y == year()) return TRUE; // Gia' letto! TString16 anno; anno.format("%4d", y);
TTable reg("REG"); reg.setkey(1);
bool found = FALSE; reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y
TString16 anno; anno.format("%4d", y); for (int err = reg.read(_isgteq); err == NOERR; err = reg.next())
{
reg.put("CODTAB", anno); // Cerca il primo registro dell'anno y if (strncmp(reg.get("CODTAB"), anno, 4) != 0) break;
if (reg.get_int("I0") == libro_giornale)
for (int err = reg.read(_isgteq); err == NOERR; err = reg.next()) {
{ found = TRUE;
if (strncmp(reg.get("CODTAB"), anno, 4) != 0) break; break;
if (reg.get_int("I0") == libro_giornale) }
{ }
found = TRUE;
break; if (!found) reg.zero(); // Memorizza record (anche vuoto)
} _rec = reg.curr();
}
return found;
if (!found) reg.zero(); // Memorizza record (anche vuoto) }
_rec = reg.curr();
TLibro_giornale::TLibro_giornale(int y)
return found; {
} read(y);
}
TLibro_giornale::TLibro_giornale(int y)
{ ///////////////////////////////////////////////////////////
read(y); // Causale
} ///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////// TCausale::TCausale(const char* cod, int year)
// Causale : TArray(12), _rec(LF_CAUSALI), _iva(iva_errata)
/////////////////////////////////////////////////////////// {
if (*cod) read(cod, year);
TCausale::TCausale(const char* cod, int year) }
: TArray(12), _rec(LF_CAUSALI), _iva(iva_errata)
{
if (*cod) read(cod, year); // Legge le righe della causale attualmente selezionata sulla maschera
} bool TCausale::read(const char* cod, int year)
{
destroy(); // Delete all rows
// Legge le righe della causale attualmente selezionata sulla maschera
bool TCausale::read(const char* cod, int year) if (*cod > ' ')
{ {
destroy(); // Delete all rows _iva = iva_errata;
if (*cod > ' ') TLocalisamfile caus(LF_CAUSALI);
{ caus.setkey(1);
_iva = iva_errata; caus.zero();
caus.put(CAU_CODCAUS, cod);
TLocalisamfile caus(LF_CAUSALI);
caus.setkey(1); int err = caus.read();
caus.zero(); _rec = caus.curr();
caus.put(CAU_CODCAUS, cod); if (err != NOERR) return FALSE;
int err = caus.read(); TLocalisamfile rcaus(LF_RCAUSALI);
_rec = caus.curr(); rcaus.setkey(1);
if (err != NOERR) return FALSE; rcaus.zero();
rcaus.put(CAU_CODCAUS, cod);
TLocalisamfile rcaus(LF_RCAUSALI); rcaus.put(CAU_NRIGA, 0);
rcaus.setkey(1);
rcaus.zero(); err = rcaus.read(_isgteq); // Find first line
rcaus.put(CAU_CODCAUS, cod); if (err != NOERR) return FALSE;
rcaus.put(CAU_NRIGA, 0);
while (err == NOERR && rcaus.get(CAU_CODCAUS) == cod)
err = rcaus.read(_isgteq); // Find first line {
if (err != NOERR) return FALSE; const int riga = rcaus.get_int(CAU_NRIGA);
add(rcaus.curr(), riga);
while (err == NOERR && rcaus.get(CAU_CODCAUS) == cod) err = rcaus.next(); // Read next line
{ }
const int riga = rcaus.get_int(CAU_NRIGA); rcaus.zero();
add(rcaus.curr(), riga); for (int riga = 1; riga < size(); riga++) // Fill gaps
err = rcaus.next(); // Read next line if (objptr(riga) == NULL) add(rcaus.curr(), riga);
}
rcaus.zero(); if (year > 0)
for (int riga = 1; riga < size(); riga++) // Fill gaps {
if (objptr(riga) == NULL) add(rcaus.curr(), riga); TString16 codreg(caus.get("REG"));
const bool ok = _reg.read(codreg, year); // Read register
if (year > 0) if (!ok && codreg.not_empty())
{ return error_box("Non esiste il registro '%s' per l'anno %d",
TString16 codreg(caus.get("REG")); (const char*)codreg, year);
const bool ok = _reg.read(codreg, year); // Read register }
if (!ok) }
return error_box("Non esiste il registro '%s' per l'anno %d", else
(const char*)codreg, year); {
} _iva = nessuna_iva; // Clear IVA data
} _reg.read("", year);
else }
{
_iva = nessuna_iva; // Clear IVA data return TRUE;
_reg.read("", year); }
}
return TRUE; const TRectype& TCausale::row(int num) const
} {
const TRectype* rec = (const TRectype*)objptr(num);
CHECKD(rec, "Manca la riga di causale ", num);
const TRectype& TCausale::row(int num) const return *rec;
{ }
const TRectype* rec = (const TRectype*)objptr(num);
CHECKD(rec, "Manca la riga di causale ", num);
return *rec; TConto& TCausale::bill(int num, TConto& conto) const
} {
const TRectype& rec = row(num);
conto.set(rec.get_int("GRUPPO"), rec.get_int("CONTO"),
TConto& TCausale::bill(int num, TConto& conto) const rec.get_long("SOTTOCONTO"), rec.get_char("TIPOCF"));
{ return conto;
const TRectype& rec = row(num); }
conto.set(rec.get_int("GRUPPO"), rec.get_int("CONTO"),
rec.get_long("SOTTOCONTO"), rec.get_char("TIPOCF")); bool TCausale::data_doc() const
return conto; { return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; }
}
bool TCausale::num_doc() const
bool TCausale::data_doc() const { return _rec.ok() ? _rec.get_bool("NUMDOC") : FALSE; }
{ return _rec.ok() ? _rec.get_bool("DATADOC") : FALSE; }
bool TCausale::apertura() const
bool TCausale::num_doc() const { return _rec.ok() ? _rec.get_char("MOVAP") == 'A' : FALSE; }
{ return _rec.ok() ? _rec.get_bool("NUMDOC") : FALSE; }
bool TCausale::sezionale() const
bool TCausale::apertura() const { return _rec.ok() ? _rec.get_bool("MOVSEZ") : FALSE; }
{ return _rec.ok() ? _rec.get_char("MOVAP") == 'A' : FALSE; }
bool TCausale::valuta() const
bool TCausale::sezionale() const { return _rec.ok() ? _rec.get_bool("MOVVAL") : FALSE; }
{ return _rec.ok() ? _rec.get_bool("MOVSEZ") : FALSE; }
bool TCausale::intra() const
bool TCausale::valuta() const { return _rec.ok() ? _rec.get_bool("INTRACOM") : FALSE; }
{ return _rec.ok() ? _rec.get_bool("MOVVAL") : FALSE; }
bool TCausale::corrval() const
bool TCausale::intra() const { return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; }
{ return _rec.ok() ? _rec.get_bool("INTRACOM") : FALSE; }
bool TCausale::corrval() const const char* TCausale::causale_inc_imm() const
{ return _rec.ok() ? _rec.get_bool("VALINTRA") : FALSE; } { return _rec.ok() ? _rec.get("CODCAUSIM") : ""; }
const char* TCausale::tipo_doc() const
const char* TCausale::causale_inc_imm() const { return _rec.ok() ? _rec.get("TIPODOC") : ""; }
{ return _rec.ok() ? _rec.get("CODCAUSIM") : ""; }
const char* TCausale::tipo_doc() const TipoIVA TCausale::iva() const
{ return _rec.ok() ? _rec.get("TIPODOC") : ""; } {
if (_iva == iva_errata)
{
TipoIVA TCausale::iva() const TipoIVA i = nessuna_iva;
{
if (_iva == iva_errata) if (ok())
{ {
TipoIVA i = nessuna_iva; TString tipodoc(_rec.get("TIPODOC"));
if (tipodoc.not_empty())
if (ok()) {
{ TTable tpd("%TPD");
TString tipodoc(_rec.get("TIPODOC")); tpd.put("CODTAB", tipodoc);
if (tipodoc.not_empty()) if (tpd.read() == NOERR)
{ {
TTable tpd("%TPD"); i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
tpd.put("CODTAB", tipodoc); if (i != iva_vendite && i != iva_acquisti)
if (tpd.read() == NOERR) i = _reg.iva();
{ }
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica }
if (i != iva_vendite && i != iva_acquisti) }
i = _reg.iva(); ((TCausale*)this)->_iva = i; // Ricorda IVA per la prossima volta
} }
} return _iva;
} }
((TCausale*)this)->_iva = i; // Ricorda IVA per la prossima volta
}
return _iva; bool TCausale::similar(const TCausale& c) const
} {
return iva() == c.iva() &&
sezionale() == c.sezionale() &&
bool TCausale::similar(const TCausale& c) const valuta() == c.valuta() &&
{ intra() == c.intra();
return iva() == c.iva() && }
sezionale() == c.sezionale() &&
valuta() == c.valuta() && ///////////////////////////////////////////////////////////
intra() == c.intra(); // Codice IVA
} ///////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////// TCodiceIVA::TCodiceIVA(const char* cod) : TRectype(LF_TABCOM)
// Codice IVA {
/////////////////////////////////////////////////////////// read(cod);
}
TCodiceIVA::TCodiceIVA(const char* cod) : TRectype(LF_TABCOM)
{ bool TCodiceIVA::read(const char* cod)
read(cod); {
} int err = ~NOERR;
TTable iva("%IVA");
bool TCodiceIVA::read(const char* cod) if (cod && *cod)
{ {
int err = ~NOERR; iva.setkey(1);
TTable iva("%IVA"); iva.put("CODTAB", cod);
if (cod && *cod) err = iva.read();
{ }
iva.setkey(1); TRectype::operator=(iva.curr());
iva.put("CODTAB", cod); if (err != NOERR) zero();
err = iva.read(); return err == NOERR;
} }
TRectype::operator=(iva.curr());
if (err != NOERR) zero();
return err == NOERR;
}

View File

@ -1,109 +1,110 @@
#ifndef __CG2103_H #ifndef __CG2103_H
#define __CG2103_H #define __CG2103_H
#ifndef __ISAM_H #ifndef __ISAM_H
#include <isam.h> #include <isam.h>
#endif #endif
#ifndef __CONTO_H #ifndef __CONTO_H
#include "conto.h" #include "conto.h"
#endif #endif
enum TipoIVA { enum TipoIVA {
iva_errata = -1, iva_errata = -1,
nessuna_iva = 0, nessuna_iva = 0,
iva_vendite = 1, iva_vendite = 1,
iva_acquisti = 2, iva_acquisti = 2,
iva_generica = 9 iva_generica = 9
}; };
const char* iva2name(TipoIVA i); const char* iva2name(TipoIVA i);
class TRegistro : public TObject class TRegistro : public TObject
{ {
bool read_att(); bool read_att();
protected: protected:
enum TipoRegistro { libro_giornale = 5 }; enum TipoRegistro { libro_giornale = 5 };
TRectype _rec, _att; TRectype _rec, _att;
public: public:
bool read(const char* code, int year); bool read(const char* code, int year);
TRegistro& operator =(const TRegistro& r); TRegistro& operator =(const TRegistro& r);
virtual bool ok() const { return !_rec.empty(); } virtual bool ok() const { return !_rec.empty(); }
int tipo() const; int tipo() const;
TipoIVA iva() const; TipoIVA iva() const;
const TString& name() const { return _rec.get("CODTAB").mid(4); } const TString& name() const { return _rec.get("CODTAB").mid(4); }
int year() const; int year() const;
TDate last_reg() const { return _rec.get_date("D2"); } 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"); } long protocol() const { return _rec.get_long("I5"); }
const TString& attivita() const { return _rec.get("S8"); }
bool agenzia_viaggi();
const TString& tipo_attivita(); bool agenzia_viaggi();
const TString& tipo_attivita();
bool update(long uprotiva, const TDate& lastreg);
bool update(long uprotiva, const TDate& lastreg);
TRegistro(const char* code = "", int year = 0);
virtual ~TRegistro() {} TRegistro(const char* code = "", int year = 0);
}; virtual ~TRegistro() {}
};
class TLibro_giornale : public TRegistro
{ class TLibro_giornale : public TRegistro
public: {
bool read(int year); public:
TLibro_giornale(int year = 0); bool read(int year);
virtual ~TLibro_giornale() {} TLibro_giornale(int year = 0);
}; virtual ~TLibro_giornale() {}
};
class TCausale : public TArray
{ class TCausale : public TArray
TipoIVA _iva; {
TRectype _rec; TipoIVA _iva;
TRegistro _reg; TRectype _rec;
TRegistro _reg;
protected:
const TRectype& row(int num) const; protected:
const TRectype& row(int num) const;
public:
TConto& bill(int num, TConto& c) const; public:
TConto& bill(int num, TConto& c) const;
bool data_doc() const;
bool num_doc() const; bool data_doc() const;
bool apertura() const; bool num_doc() const;
bool sezionale() const; bool apertura() const;
bool valuta() const; bool sezionale() const;
bool intra() const; bool valuta() const;
bool corrval() const; bool intra() const;
const char* causale_inc_imm() const; bool corrval() const;
const char* tipo_doc() const; const char* causale_inc_imm() const;
const char* tipo_doc() const;
TRegistro& reg() { return _reg; }
TipoIVA iva() const; TRegistro& reg() { return _reg; }
TipoIVA iva() const;
virtual bool ok() const { return !_rec.empty(); }
bool similar(const TCausale& c) const; virtual bool ok() const { return !_rec.empty(); }
bool similar(const TCausale& c) const;
bool read(const char* cod, int year);
bool read(const char* cod, int year);
TCausale(const char* code = "", int year = 0);
virtual ~TCausale() {} TCausale(const char* code = "", int year = 0);
}; virtual ~TCausale() {}
};
class TCodiceIVA : public TRectype
{ class TCodiceIVA : public TRectype
public: {
TCodiceIVA(const char* codice = NULL); public:
bool read(const char* codice); TCodiceIVA(const char* codice = NULL);
bool ok() const { return !empty(); } bool read(const char* codice);
const TString& codice() const { return get("CODTAB"); } bool ok() const { return !empty(); }
real percentuale() const { return get_real("R0"); } const TString& codice() const { return get("CODTAB"); }
const TString& tipo() const { return get("S1"); } real percentuale() const { return get_real("R0"); }
}; const TString& tipo() const { return get("S1"); }
};
#endif
#endif

View File

@ -1,221 +1,222 @@
PAGE "RIGA IVA" -1 -1 70 15 PAGE "RIGA IVA" -1 -1 70 15
GROUPBOX DLG_NULL 67 4 GROUPBOX DLG_NULL 67 4
BEGIN BEGIN
PROMPT 1 1 "Conto" PROMPT 1 1 "Conto"
END END
LIST 106 1 12 LIST 106 1 12
BEGIN BEGIN
PROMPT 2 2 "Tipo " PROMPT 2 2 "Tipo "
FIELD TMCF FIELD TMCF
ITEM " |Conto" ITEM " |Conto"
MESSAGE SHOW,109|HIDE,209|HIDE,309 MESSAGE SHOW,109|HIDE,209|HIDE,309
ITEM "C|Cliente" ITEM "C|Cliente"
MESSAGE SHOW,209|HIDE,109|HIDE,309 MESSAGE SHOW,209|HIDE,109|HIDE,309
ITEM "F|Fornitore" ITEM "F|Fornitore"
MESSAGE SHOW,309|HIDE,109|HIDE,209 MESSAGE SHOW,309|HIDE,109|HIDE,209
FLAGS "U" FLAGS "U"
END END
NUMBER 107 3 NUMBER 107 3
BEGIN BEGIN
PROMPT 21 2 "Gruppo " PROMPT 21 2 "Gruppo "
FIELD GRUPPO FIELD GRUPPO
END END
NUMBER 108 3 NUMBER 108 3
BEGIN BEGIN
PROMPT 33 2 "Conto " PROMPT 33 2 "Conto "
FIELD CONTO FIELD CONTO
USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="") USE LF_PCON SELECT (CONTO!="") && (SOTTOCONTO="")
INPUT GRUPPO 107 INPUT GRUPPO 107
INPUT CONTO 108 INPUT CONTO 108
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo" TMCF DISPLAY "Tipo" TMCF
OUTPUT 106 TMCF OUTPUT 106 TMCF
OUTPUT 107 GRUPPO OUTPUT 107 GRUPPO
OUTPUT 108 CONTO OUTPUT 108 CONTO
OUTPUT 110 DESCR OUTPUT 110 DESCR
OUTPUT 104 TIPOSPRIC OUTPUT 104 TIPOSPRIC
ADD RUN cg0 -0 ADD RUN cg0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Conto inesistente nella riga IVA" WARNING "Conto inesistente nella riga IVA"
END END
NUMBER 109 6 NUMBER 109 6
BEGIN BEGIN
PROMPT 46 2 "Sottoconto " PROMPT 46 2 "Sottoconto "
FIELD SOTTOCONTO FIELD SOTTOCONTO
USE LF_PCON SELECT SOTTOCONTO!="" USE LF_PCON SELECT SOTTOCONTO!=""
INPUT GRUPPO 107 INPUT GRUPPO 107
INPUT CONTO 108 INPUT CONTO 108
INPUT SOTTOCONTO 109 INPUT SOTTOCONTO 109
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT 104 TIPOSPRIC OUTPUT 104 TIPOSPRIC
OUTPUT 107 GRUPPO OUTPUT 107 GRUPPO
OUTPUT 108 CONTO OUTPUT 108 CONTO
OUTPUT 109 SOTTOCONTO OUTPUT 109 SOTTOCONTO
OUTPUT 110 DESCR OUTPUT 110 DESCR
ADD RUN cg0 -0 ADD RUN cg0 -0
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Sottoconto inesistente nella riga IVA" WARNING "Sottoconto inesistente nella riga IVA"
END END
NUMBER 209 6 NUMBER 209 6
BEGIN BEGIN
PROMPT 46 2 "Cliente " PROMPT 46 2 "Cliente "
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "C" INPUT TIPOCF "C"
INPUT CODCF 209 INPUT CODCF 209
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Cliente@50" RAGSOC DISPLAY "Ragione Sociale Cliente@50" RAGSOC
DISPLAY "Gruppo" GRUPPO DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO DISPLAY "Conto" CONTO
OUTPUT 209 CODCF OUTPUT 209 CODCF
OUTPUT 110 RAGSOC OUTPUT 110 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 ADD RUN cg0 -1
FLAGS "G" FLAGS "G"
MESSAGE COPY,109|RESET,104 MESSAGE COPY,109|RESET,104
END END
NUMBER 309 6 NUMBER 309 6
BEGIN BEGIN
PROMPT 46 2 "Fornitore " PROMPT 46 2 "Fornitore "
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF "F" INPUT TIPOCF "F"
INPUT CODCF 309 INPUT CODCF 309
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale Fornitore@50" RAGSOC DISPLAY "Ragione Sociale Fornitore@50" RAGSOC
OUTPUT 107 GRUPPO OUTPUT 107 GRUPPO
OUTPUT 108 CONTO OUTPUT 108 CONTO
OUTPUT 309 CODCF OUTPUT 309 CODCF
OUTPUT 110 RAGSOC OUTPUT 110 RAGSOC
CHECKTYPE NORMAL CHECKTYPE NORMAL
ADD RUN cg0 -1 ADD RUN cg0 -1
FLAGS "G" FLAGS "G"
MESSAGE COPY,109|RESET,104 MESSAGE COPY,109|RESET,104
END END
STRING 110 50 STRING 110 50
BEGIN BEGIN
PROMPT 2 3 "Descrizione " PROMPT 2 3 "Descrizione "
FLAGS "D" FLAGS "D"
END END
GROUPBOX DLG_NULL 67 5 GROUPBOX DLG_NULL 67 5
BEGIN BEGIN
PROMPT 1 5 "Imposta" PROMPT 1 5 "Imposta"
END END
STRING 102 4 STRING 102 4
BEGIN BEGIN
PROMPT 2 6 "IVA " PROMPT 2 6 "IVA "
USE %IVA FLAGS "U"
INPUT CODTAB 102 USE %IVA
DISPLAY "Codice" CODTAB INPUT CODTAB 102
DISPLAY "Descrizione@50" S0 DISPLAY "Codice" CODTAB
DISPLAY "%@6" R0 DISPLAY "Descrizione@50" S0
DISPLAY "Tipo" S1 DISPLAY "%@6" R0
OUTPUT 102 CODTAB DISPLAY "Tipo" S1
OUTPUT 211 S0 OUTPUT 102 CODTAB
CHECKTYPE NORMAL OUTPUT 211 S0
END CHECKTYPE NORMAL
END
STRING 211 50
BEGIN STRING 211 50
PROMPT 15 6 "" BEGIN
FLAGS "D" PROMPT 15 6 ""
END FLAGS "D"
END
NUMBER 105 1
BEGIN NUMBER 103 1
PROMPT 2 7 "Detraz. " BEGIN
SHEET "Codice|Descrizione@60" PROMPT 2 7 "Detraz. "
INPUT 105 SHEET "Codice|Descrizione@60"
ITEM " |Regime normale" INPUT 103
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti" ITEM " |Regime normale"
ITEM "3|IVA indicata per il solo calcolo di ventilazione" ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti"
ITEM "9|IVA non detraibile per l'articolo 19" ITEM "3|IVA indicata per il solo calcolo di ventilazione"
OUTPUT 105 ITEM "9|IVA non detraibile per l'articolo 19"
OUTPUT 213 OUTPUT 103
END OUTPUT 213
END
STRING 213 50
BEGIN STRING 213 50
PROMPT 15 7 "" BEGIN
FLAGS "D" PROMPT 15 7 ""
END FLAGS "D"
END
NUMBER 101 14
BEGIN NUMBER 101 14
PROMPT 2 8 "Imponibile " BEGIN
FLAGS "RV" PROMPT 2 8 "Imponibile "
PICTURE "." FLAGS "RV"
END PICTURE "."
END
NUMBER 103 14
BEGIN NUMBER 104 14
PROMPT 41 8 "Imposta " BEGIN
FLAGS "RV" PROMPT 41 8 "Imposta "
PICTURE "." FLAGS "RV"
END PICTURE "."
END
GROUPBOX DLG_NULL 67 3
BEGIN GROUPBOX DLG_NULL 67 3
PROMPT 1 10 "Costo/Ricavo" BEGIN
END PROMPT 1 10 "Costo/Ricavo"
END
STRING 104 1
BEGIN STRING 105 1
PROMPT 2 11 "Tipo " BEGIN
FLAGS "D" PROMPT 2 11 "Tipo "
HELP "Specifica il tipo Costo/Ricavo" FLAGS "D"
SHEET "Codice|Descrizione@50" HELP "Specifica il tipo Costo/Ricavo"
INPUT 104 SHEET "Codice|Descrizione@50"
ITEM " |Acquisti o vendite in genere" INPUT 105
ITEM "1|Acquisti beni per rivendita" ITEM " |Acquisti o vendite in genere"
ITEM "2|Acquisti beni ammortizzabili" ITEM "1|Acquisti beni per rivendita"
ITEM "3|Acquisti beni ammortizzabili con detr. 6%" ITEM "2|Acquisti beni ammortizzabili"
ITEM "4|Vendita beni strumentali art. 17" ITEM "3|Acquisti beni ammortizzabili con detr. 6%"
ITEM "5|Beni per rivendita da non ventilare" ITEM "4|Vendita beni strumentali art. 17"
ITEM "8|Altri beni strumentali acquistati in leasing" ITEM "5|Beni per rivendita da non ventilare"
OUTPUT 104 ITEM "8|Altri beni strumentali acquistati in leasing"
OUTPUT 212 OUTPUT 105
END OUTPUT 212
END
STRING 212 50
BEGIN STRING 212 50
PROMPT 15 11 "" BEGIN
FLAGS "D" PROMPT 15 11 ""
END FLAGS "D"
END
BUTTON DLG_OK 9 2
BEGIN BUTTON DLG_OK 9 2
PROMPT -13 -1 "" BEGIN
END PROMPT -13 -1 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN BUTTON DLG_CANCEL 9 2
PROMPT -23 -1 "" BEGIN
END PROMPT -23 -1 ""
END
BUTTON DLG_DELREC 9 2
BEGIN BUTTON DLG_DELREC 9 2
PROMPT -33 -1 "Elimina" BEGIN
END PROMPT -33 -1 "Elimina"
END
ENDPAGE
ENDPAGE
ENDMASK
ENDMASK

File diff suppressed because it is too large Load Diff