Aggiornamenti nuova gestione esercizi contabili

git-svn-id: svn://10.65.10.50/trunk@2677 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1996-03-11 08:06:41 +00:00
parent 4ab3200b41
commit ef4f09a9cd
11 changed files with 47 additions and 135 deletions

View File

@ -66,7 +66,6 @@ bool CGTab_application::user_destroy()
{ {
if (get_tabname() == "ESC") if (get_tabname() == "ESC")
delete _saldi; delete _saldi;
return Tab_application::user_destroy(); return Tab_application::user_destroy();
} }
@ -189,7 +188,7 @@ void CGTab_application::check_sheet()
if (i > 0 && e.inizio() != ++s1) if (i > 0 && e.inizio() != ++s1)
tt->add("*** non contiguo ***"); tt->add("*** non contiguo ***");
else tt->add("ok"); else tt->add("");
s1 = e.fine(); s1 = e.fine();

View File

@ -21,6 +21,7 @@
#include <anagr.h> #include <anagr.h>
#include "cglib.h" #include "cglib.h"
#include "cglib04.h"
#include "cg1.h" #include "cg1.h"
#include "cg1500.h" #include "cg1500.h"
@ -31,8 +32,6 @@ bool mask_date (TMask_field& f, KEY k);
bool mask_bilancio(TMask_field& f, KEY k); bool mask_bilancio(TMask_field& f, KEY k);
bool mask_tipost (TMask_field& f, KEY k); bool mask_tipost (TMask_field& f, KEY k);
HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
class CG1500_application : public TPrintapp class CG1500_application : public TPrintapp
{ {
friend bool mask_anno (TMask_field& f, KEY k); friend bool mask_anno (TMask_field& f, KEY k);
@ -219,24 +218,6 @@ bool IsEsercizio (const TDate& datalim, int anno_eser)
return FALSE; return FALSE;
} }
HIDDEN int date2esc(const TDate& d, int* prevesc)
{
if (prevesc) *prevesc = 0;
TTable esc("ESC");
for (int err = esc.first(); err == NOERR; err = esc.next())
{
const TDate ia(esc.get("D0")); // Data inizio esercizio
const TDate fa(esc.get("D1")); // Data fine esercizio
const anno = esc.get_int("CODTAB");
app()._inizioEs = ia;
app()._fineEs = fa;
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
}
bool mask_anno(TMask_field& f, KEY k) bool mask_anno(TMask_field& f, KEY k)
{ {
if (k == K_ENTER) if (k == K_ENTER)
@ -3738,7 +3719,6 @@ bool CG1500_application::set_print(int)
else _dataini = _inizioEs; else _dataini = _inizioEs;
_datada = m.get(F_DATADA); _datada = m.get(F_DATADA);
_dataa = m.get(F_DATAA); _dataa = m.get(F_DATAA);
//_stampa_mov_prov = (bool)(m.get(F_STAMPAMPROV) == "X");
} }
if ((_verifica == 1)||(_verifica == 2)) if ((_verifica == 1)||(_verifica == 2))
{ {
@ -3888,8 +3868,11 @@ void CG1500_application::preprocess_header()
//else set_header(r, "@41gall'ultima immissione Es. Precedente"); //else set_header(r, "@41gall'ultima immissione Es. Precedente");
//modifica del 20/04/1995 //modifica del 20/04/1995
set_header(r,"@85gAnno comp. %d", _annoes); {
TString d1(InizioEsercizio(_annoes).string());
TString d2(FineEsercizio(_annoes).string());
set_header(r,"@86gEsercizio %s %s", (const char*)d1, (const char*)d2); /**/
}
r++; r++;
riga.fill('-'); riga.fill('-');
set_header(r, (const char*)riga); set_header(r, (const char*)riga);
@ -3921,13 +3904,19 @@ void CG1500_application::preprocess_header()
(const char*) dataa); (const char*) dataa);
//modifica del 20/04/1995 //modifica del 20/04/1995
if (_annoes != 0) //se l'anno e' 0 non si considera la competenza if (_annoes != 0) //se l'anno e' 0 non si considera la competenza
set_header(r,"@86gAnno comp. %d", _annoes); {
TString d1(InizioEsercizio(_annoes).string());
TString d2(FineEsercizio(_annoes).string());
set_header(r,"@86gEsercizio %s %s", (const char*)d1, (const char*)d2); /**/
}
} }
else if (_tipo_stampa1 == 2) else if (_tipo_stampa1 == 2)
{ {
set_header(r,"@42gall'ultima immissione Es. %d", _annoes); set_header(r,"@42gall'ultima immissione Es. %d", _annoes);
//modifica del 20/04/1995 //modifica del 20/04/1995
set_header(r,"@86gAnno comp. %d", _annoes); TString d1(InizioEsercizio(_annoes).string());
TString d2(FineEsercizio(_annoes).string());
set_header(r,"@86gEsercizio %s %s", (const char*)d1, (const char*)d2); /**/
} }
if ( (_verifica == 1)||(_verifica == 2) ) if ( (_verifica == 1)||(_verifica == 2) )

View File

@ -30,11 +30,11 @@ END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 3 "Anno esercizio " PROMPT 2 3 "Codice esercizio "
HELP "Anno di cui si vuole ottenere il bilancio" HELP "Esercizio di cui si vuole ottenere il bilancio"
USE ESC USE ESC
INPUT CODTAB F_ANNO INPUT CODTAB F_ANNO
DISPLAY "Anno" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Data inizio esercizio" D0 DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1 DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB OUTPUT F_ANNO CODTAB

View File

@ -18,6 +18,7 @@
#include <saldi.h> #include <saldi.h>
#include "cglib.h" #include "cglib.h"
#include "cglib04.h"
#include "cg1.h" #include "cg1.h"
#include "cg1600.h" #include "cg1600.h"
@ -222,8 +223,6 @@ void Righe_sez_opp::add(int g, int c, long s,
} }
} }
int date2esc(const TDate& d, int* prevesc = NULL);
class CG1600_application : public TPrintapp class CG1600_application : public TPrintapp
{ {
friend bool data_limite (TMask_field & f,KEY k); friend bool data_limite (TMask_field & f,KEY k);
@ -437,24 +436,6 @@ void CG1600_application::set_bil_val(bil_ivd* b, const real& saldo,
b->conto_dettagliato = conto_dettagliato; b->conto_dettagliato = conto_dettagliato;
} }
HIDDEN int date2esc(const TDate& d, int* prevesc)
{
if (prevesc) *prevesc = 0;
TTable esc("ESC");
for (int err = esc.first(); err == NOERR; err = esc.next())
{
const TDate ia(esc.get("D0")); // Data inizio esercizio
const TDate fa(esc.get("D1")); // Data fine esercizio
a()._inizioEs = ia;
a()._fineEs = fa;
const anno = esc.get_int("CODTAB");
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
}
bool data_limite (TMask_field& f, KEY key) bool data_limite (TMask_field& f, KEY key)
{ {
if (key == K_ENTER) if (key == K_ENTER)
@ -5126,11 +5107,16 @@ void CG1600_application::intesta_scalare()
TString datalimitestr,databilrafrstr; TString datalimitestr,databilrafrstr;
TString sep(132); TString sep(132);
TString16 d1e(_data_ini_ese.string());
TString16 d2e(_data_fine_ese.string());
TString16 d1r(_data_ini_raf.string());
TString16 d2r(_data_fine_raf.string());
set_header (3,"@0gSTAMPA BILANCIO CONFORME ALLA IV DIRETTIVA"); set_header (3,"@0gSTAMPA BILANCIO CONFORME ALLA IV DIRETTIVA");
set_header (3,"@89gEsercizio@99g%d", _anno_esercizio); set_header (3,"@80gEs. %s/%s", (const char*)d1e, (const char*)d2e); /**/
if (_annoeserafr != 0 || _databilrafr != botime) if (_annoeserafr != 0 || _databilrafr != botime)
{ {
set_header (3,"@115gEsercizio@125g%d", _anno_esercizio_raf); set_header (3,"@106gEs. %s/%s", (const char*)d1r, (const char*)d2r); /**/
databilrafrstr = _databilrafr.string(); databilrafrstr = _databilrafr.string();
set_header (4,"@112galla data@122g%s", (const char*) databilrafrstr); set_header (4,"@112galla data@122g%s", (const char*) databilrafrstr);
} }

View File

@ -30,11 +30,11 @@ END
NUMBER F_ANNOESE 4 NUMBER F_ANNOESE 4
BEGIN BEGIN
PROMPT 4 5 "Anno esercizio " PROMPT 4 5 "Codice esercizio "
HELP "Anno d'esercizio di cui si vuole la stampa" HELP "Esercizio di cui si vuole la stampa"
USE ESC USE ESC
INPUT CODTAB F_ANNOESE INPUT CODTAB F_ANNOESE
DISPLAY "Anno" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Data inizio esercizio" D0 DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1 DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNOESE CODTAB OUTPUT F_ANNOESE CODTAB
@ -44,8 +44,8 @@ END
NUMBER F_ANNORAFFR 4 NUMBER F_ANNORAFFR 4
BEGIN BEGIN
PROMPT 36 5 "Anno esercizio da raffrontare " PROMPT 36 5 "Cod. esercizio da raffrontare "
HELP "Anno d'esercizio da raffrontare (in caso di confronto)" HELP "Codice esercizio da raffrontare (in caso di confronto)"
COPY USE F_ANNOESE COPY USE F_ANNOESE
INPUT CODTAB F_ANNORAFFR INPUT CODTAB F_ANNORAFFR
COPY DISPLAY F_ANNOESE COPY DISPLAY F_ANNOESE

View File

@ -73,7 +73,7 @@ END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
PROMPT 32 4 "Anno esercizio " PROMPT 32 4 "Cod. esercizio "
FIELD ANNOES FIELD ANNOES
FLAGS "DGZ" FLAGS "DGZ"
MESSAGE COPY,H_ANNOES MESSAGE COPY,H_ANNOES

View File

@ -21,6 +21,7 @@
#include <causali.h> #include <causali.h>
#include <nditte.h> #include <nditte.h>
#include "cglib.h" #include "cglib.h"
#include "cglib04.h"
#include "cglib03.h" #include "cglib03.h"
#include "cg2103.h" #include "cg2103.h"
@ -36,8 +37,6 @@ bool annoes (TMask_field&, KEY);
bool data_inizio (TMask_field&, KEY); bool data_inizio (TMask_field&, KEY);
bool data_fine (TMask_field&, KEY); bool data_fine (TMask_field&, KEY);
HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
HIDDEN const char* err_msg[] = {"La data operazione non appartiene a nessun esercizio", HIDDEN const char* err_msg[] = {"La data operazione non appartiene a nessun esercizio",
"Anno IVA non compatibile con data operazione", "Anno IVA non compatibile con data operazione",
"Data operazione successiva all'esercizio di competenza", "Data operazione successiva all'esercizio di competenza",
@ -139,22 +138,6 @@ public:
HIDDEN inline TListaMov_application & app() HIDDEN inline TListaMov_application & app()
{ return (TListaMov_application&)main_app();} { return (TListaMov_application&)main_app();}
HIDDEN int date2esc(const TDate& d, int* prevesc)
{
if (prevesc) *prevesc = 0;
TTable esc("ESC");
for (int err = esc.first(); err == NOERR; err = esc.next())
{
const TDate ia(esc.get("D0")); // Data inizio esercizio
const TDate fa(esc.get("D1")); // Data fine esercizio
const anno = esc.get_int("CODTAB");
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
}
TDate InizioEsercizio(int anno) TDate InizioEsercizio(int anno)
{ {
TTable TabEs ("ESC"); TTable TabEs ("ESC");

View File

@ -24,9 +24,9 @@
#include "cg3.h" #include "cg3.h"
#include "cg3200.h" #include "cg3200.h"
#include "cglib.h" #include "cglib.h"
#include "cglib04.h"
#include "cglib03.h" #include "cglib03.h"
int date2esc(const TDate& d, int* prevesc = NULL);
bool sottoc_handler_ini (TMask_field& f, KEY k); bool sottoc_handler_ini (TMask_field& f, KEY k);
bool sottoc_handler_fine (TMask_field& f, KEY k); bool sottoc_handler_fine (TMask_field& f, KEY k);
@ -585,24 +585,6 @@ bool TMastrini_application::check_ordine(TMask_field& f, KEY k)
return TRUE; return TRUE;
} }
int date2esc(const TDate& d, int* prevesc)
{
if (prevesc) *prevesc = 0;
TTable esc("ESC");
for (int err = esc.first(); err == NOERR; err = esc.next())
{
const TDate ia(esc.get("D0")); // Data inizio esercizio
const TDate fa(esc.get("D1")); // Data fine esercizio
app()._inizioEs = ia;
app()._fineEs = fa;
const anno = esc.get_int("CODTAB");
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
}
//Questa funzione restituisce vero se il record su piano dei conti ha almeno un //Questa funzione restituisce vero se il record su piano dei conti ha almeno un
//record figlio (e che soddisfa la condizione riguardante la data di registr.). //record figlio (e che soddisfa la condizione riguardante la data di registr.).
//Viene successivamente utilizzata per stampare l'intestazione (e i totali) //Viene successivamente utilizzata per stampare l'intestazione (e i totali)

View File

@ -23,6 +23,7 @@
#include "conto.h" #include "conto.h"
#include "cglib.h" #include "cglib.h"
#include "cglib04.h"
#include "cglib03.h" #include "cglib03.h"
#include "cg2103.h" #include "cg2103.h"
#include "cg3400a.h" #include "cg3400a.h"
@ -50,8 +51,6 @@ HIDDEN const int AVERE198 = 174;
HIDDEN TString256 tmp; HIDDEN TString256 tmp;
HIDDEN int date2esc(const TDate& d, int* prevesc = NULL);
HIDDEN enum descr { causale, conto, operazione }; HIDDEN enum descr { causale, conto, operazione };
class TContoOccas : public TBill class TContoOccas : public TBill
@ -1590,26 +1589,6 @@ bool CG3400_application::leggi_tabreg(const char * reg_cod, int reg_anno)
return ok; return ok;
} }
// Calcola l'anno di esercizio di una data
// Certified 99%
HIDDEN int date2esc(const TDate& d, int* prevesc)
{
if (prevesc) *prevesc = 0;
TTable esc("ESC");
for (int err = esc.first(); err == NOERR; err = esc.next())
{
const TDate ia(esc.get("D0")); // Data inizio esercizio
const TDate fa(esc.get("D1")); // Data fine esercizio
app()._inizioEs = ia;
app()._fineEs = fa;
const anno = esc.get_int("CODTAB");
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
}
void CG3400_application::set_reg_filter(TMask& m) void CG3400_application::set_reg_filter(TMask& m)
{ {
TEdit_field& reg = m.efield(CODREG); TEdit_field& reg = m.efield(CODREG);

View File

@ -65,14 +65,14 @@ BEGIN
PROMPT 69 4 "" PROMPT 69 4 ""
USE ESC USE ESC
INPUT CODTAB F_ANNOCH INPUT CODTAB F_ANNOCH
DISPLAY "Anno" CODTAB DISPLAY "Codice" CODTAB
DISPLAY "Inizio Es.@12" D0 DISPLAY "Inizio Es.@12" D0
DISPLAY "Fine Es.@12" D1 DISPLAY "Fine Es.@12" D1
DISPLAY "Scarico@12" D2 DISPLAY "Scarico@12" D2
OUTPUT F_ANNOCH CODTAB OUTPUT F_ANNOCH CODTAB
OUTPUT F_DATAC D1 OUTPUT F_DATAC D1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Anno non presente in tabella esercizi" WARNING "Codice non presente in tabella esercizi"
FLAGS "GRZD" FLAGS "GRZD"
END END

View File

@ -4,6 +4,7 @@
#include <progind.h> #include <progind.h>
#include <stdlib.h> #include <stdlib.h>
#include <extcdecl.h> #include <extcdecl.h>
#include "cglib.h"
#include "cglib04.h" #include "cglib04.h"
const int size = 256; //Lunghezza del record del TRASFER const int size = 256; //Lunghezza del record del TRASFER
@ -3409,16 +3410,9 @@ const char* riconverti (TString& data_PC,bool anno_di_quattro)
int date2esc(const TDate& d, int* prevesc) int date2esc(const TDate& d, int* prevesc)
{ {
if (prevesc) *prevesc = 0; if (prevesc) *prevesc = 0;
TTable esc("ESC"); TEsercizi_contabili esc;
for (int err = esc.first(); err == NOERR; err = esc.next()) int e = esc.date2esc(d);
{ if (prevesc) *prevesc = esc.pred(e);
const TDate ia(esc.get("D0")); // Data inizio esercizio return e;
const TDate fa(esc.get("D1")); // Data fine esercizio
const anno = esc.get_int("CODTAB");
if (d >= ia && d <= fa)
return anno;
if (prevesc) *prevesc = anno;
}
return 0;
} }