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

View File

@ -383,6 +383,7 @@ END
STRING F_CODIVA 4 STRING F_CODIVA 4
BEGIN BEGIN
PROMPT 1 12 "Codice IVA " PROMPT 1 12 "Codice IVA "
FLAGS "U"
USE %IVA USE %IVA
INPUT CODTAB F_CODIVA INPUT CODTAB F_CODIVA
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
@ -531,9 +532,9 @@ BEGIN
PROMPT 3 4 "" PROMPT 3 4 ""
ITEM "Imponibile@14" ITEM "Imponibile@14"
ITEM "Iva@4" ITEM "Iva@4"
ITEM "Det@1"
ITEM "Imposta@14" ITEM "Imposta@14"
ITEM "C/R@1" ITEM "C/R@1"
ITEM "Det@1"
ITEM " @1" ITEM " @1"
ITEM "Gr." ITEM "Gr."
ITEM "Co." ITEM "Co."

View File

@ -40,20 +40,19 @@ 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;
} }
@ -84,8 +83,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;
@ -96,12 +95,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();
@ -141,7 +139,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");
@ -164,13 +161,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;
TString16 anno; anno.format("%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())
@ -246,7 +242,7 @@ bool TCausale::read(const char* cod, int year)
{ {
TString16 codreg(caus.get("REG")); TString16 codreg(caus.get("REG"));
const bool ok = _reg.read(codreg, year); // Read register const bool ok = _reg.read(codreg, year); // Read register
if (!ok) 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);
} }

View File

@ -41,6 +41,7 @@ public:
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(); bool agenzia_viaggi();
const TString& tipo_attivita(); const TString& tipo_attivita();

View File

@ -119,6 +119,7 @@ END
STRING 102 4 STRING 102 4
BEGIN BEGIN
PROMPT 2 6 "IVA " PROMPT 2 6 "IVA "
FLAGS "U"
USE %IVA USE %IVA
INPUT CODTAB 102 INPUT CODTAB 102
DISPLAY "Codice" CODTAB DISPLAY "Codice" CODTAB
@ -136,16 +137,16 @@ BEGIN
FLAGS "D" FLAGS "D"
END END
NUMBER 105 1 NUMBER 103 1
BEGIN BEGIN
PROMPT 2 7 "Detraz. " PROMPT 2 7 "Detraz. "
SHEET "Codice|Descrizione@60" SHEET "Codice|Descrizione@60"
INPUT 105 INPUT 103
ITEM " |Regime normale" ITEM " |Regime normale"
ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti" ITEM "1|IVA indetraibile su acquisti riferiti a ricavi esenti"
ITEM "3|IVA indicata per il solo calcolo di ventilazione" ITEM "3|IVA indicata per il solo calcolo di ventilazione"
ITEM "9|IVA non detraibile per l'articolo 19" ITEM "9|IVA non detraibile per l'articolo 19"
OUTPUT 105 OUTPUT 103
OUTPUT 213 OUTPUT 213
END END
@ -163,7 +164,7 @@ BEGIN
PICTURE "." PICTURE "."
END END
NUMBER 103 14 NUMBER 104 14
BEGIN BEGIN
PROMPT 41 8 "Imposta " PROMPT 41 8 "Imposta "
FLAGS "RV" FLAGS "RV"
@ -176,13 +177,13 @@ BEGIN
PROMPT 1 10 "Costo/Ricavo" PROMPT 1 10 "Costo/Ricavo"
END END
STRING 104 1 STRING 105 1
BEGIN BEGIN
PROMPT 2 11 "Tipo " PROMPT 2 11 "Tipo "
FLAGS "D" FLAGS "D"
HELP "Specifica il tipo Costo/Ricavo" HELP "Specifica il tipo Costo/Ricavo"
SHEET "Codice|Descrizione@50" SHEET "Codice|Descrizione@50"
INPUT 104 INPUT 105
ITEM " |Acquisti o vendite in genere" ITEM " |Acquisti o vendite in genere"
ITEM "1|Acquisti beni per rivendita" ITEM "1|Acquisti beni per rivendita"
ITEM "2|Acquisti beni ammortizzabili" ITEM "2|Acquisti beni ammortizzabili"
@ -190,7 +191,7 @@ BEGIN
ITEM "4|Vendita beni strumentali art. 17" ITEM "4|Vendita beni strumentali art. 17"
ITEM "5|Beni per rivendita da non ventilare" ITEM "5|Beni per rivendita da non ventilare"
ITEM "8|Altri beni strumentali acquistati in leasing" ITEM "8|Altri beni strumentali acquistati in leasing"
OUTPUT 104 OUTPUT 105
OUTPUT 212 OUTPUT 212
END END

View File

@ -1,4 +1,4 @@
// $Id: maskfld.cpp,v 1.1.1.1 1994-08-12 10:52:00 alex Exp $ // $Id: maskfld.cpp,v 1.2 1994-08-17 14:05:45 guy Exp $
#include <xvt.h> #include <xvt.h>
#include <applicat.h> #include <applicat.h>
@ -685,10 +685,18 @@ HIDDEN char* const _msg = &__tmp_string[512];
bool TMask_field::error_box(const char* fmt, ...) const bool TMask_field::error_box(const char* fmt, ...) const
{ {
set_focus();
build_msg(); build_msg();
if (mask().is_running())
{
set_focus();
::error_box("%s", _msg); ::error_box("%s", _msg);
set_focus(); set_focus();
}
else
{
xvt_statbar_set(_msg);
beep();
}
return FALSE; return FALSE;
} }
@ -703,10 +711,19 @@ bool TMask_field::message_box(const char* fmt, ...) const
bool TMask_field::warning_box(const char* fmt, ...) const bool TMask_field::warning_box(const char* fmt, ...) const
{ {
set_focus();
build_msg(); build_msg();
if (mask().is_running())
{
set_focus();
::warning_box("%s", _msg); ::warning_box("%s", _msg);
set_focus(); set_focus();
}
else
{
xvt_statbar_set(_msg);
beep();
}
return FALSE; return FALSE;
} }