Aggiornamento a nuova gestione esercizi

git-svn-id: svn://10.65.10.50/trunk@2674 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1996-03-08 08:09:23 +00:00
parent a3d2cabbbe
commit 204062b8b1
5 changed files with 91 additions and 92 deletions

View File

@ -8,100 +8,100 @@ PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 8
GROUPBOX DLG_NULL 78 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 0 "" PROMPT 1 0 ""
END END
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 3 1 "Ditta " PROMPT 3 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE NORMAL CHECKTYPE NORMAL
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 17 1 "Ragione " PROMPT 17 1 "Ragione "
FLAGS "D" FLAGS "D"
END END
NUMBER F_NUMREG 6 NUMBER F_NUMREG 6
BEGIN BEGIN
PROMPT 1 4 "Numero operazione " PROMPT 1 4 "Numero operazione "
HELP "Numero del movimento di prima nota da gestire" HELP "Numero del movimento di prima nota da gestire"
FLAGS "R" FLAGS "R"
FIELD LF_MOV->NUMREG FIELD LF_MOV->NUMREG
USE LF_MOV USE LF_MOV
INPUT NUMREG F_NUMREG INPUT NUMREG F_NUMREG
DISPLAY "Numero@6" NUMREG DISPLAY "Numero@6" NUMREG
DISPLAY "Data@10" DATAREG DISPLAY "Data@10" DATAREG
DISPLAY "Causale" CODCAUS DISPLAY "Causale" CODCAUS
DISPLAY "Documento" NUMDOC DISPLAY "Documento" NUMDOC
DISPLAY "Protoc." PROTIVA DISPLAY "Protoc." PROTIVA
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
OUTPUT F_NUMREG NUMREG OUTPUT F_NUMREG NUMREG
KEY 1 KEY 1
END END
DATE F_DATAREG DATE F_DATAREG
BEGIN BEGIN
PROMPT 1 6 "Data operazione " PROMPT 1 6 "Data operazione "
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
HELP "Data in cui viene registrata l'operazione" HELP "Data in cui viene registrata l'operazione"
MESSAGE COPY,F_ANNOIVA,7,10 MESSAGE COPY,F_ANNOIVA,7,10
END END
NUMBER F_ANNOIVA 4 NUMBER F_ANNOIVA 4
BEGIN BEGIN
PROMPT 51 6 "Anno IVA " PROMPT 51 6 "Anno IVA "
FLAGS "D" FLAGS "D"
END END
DATE F_DATACOMP DATE F_DATACOMP
BEGIN BEGIN
PROMPT 1 7 "Data di competenza " PROMPT 1 7 "Data di competenza "
HELP "Data di competenza dell'operazione" HELP "Data di competenza dell'operazione"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
NUMBER F_ANNOES 4 NUMBER F_ANNOES 4
BEGIN BEGIN
PROMPT 51 7 "Anno di esercizio " PROMPT 51 7 "Codice esercizio "
FLAGS "DRZ" FLAGS "DRZ"
END END
STRING F_CODCAUS 3 STRING F_CODCAUS 3
BEGIN BEGIN
PROMPT 1 9 "Causale " PROMPT 1 9 "Causale "
FLAGS "UZ" FLAGS "UZ"
FIELD CODCAUS FIELD CODCAUS
USE LF_CAUSALI KEY 1 USE LF_CAUSALI KEY 1
INPUT CODCAUS F_CODCAUS INPUT CODCAUS F_CODCAUS
DISPLAY "Codice" CODCAUS DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Tipo" TIPODOC DISPLAY "Tipo" TIPODOC
DISPLAY "Registro" REG DISPLAY "Registro" REG
OUTPUT F_CODCAUS CODCAUS OUTPUT F_CODCAUS CODCAUS
OUTPUT F_DESCRCAUS DESCR OUTPUT F_DESCRCAUS DESCR
ADD RUN cg0 -4 ADD RUN cg0 -4
CHECKTYPE NORMAL CHECKTYPE NORMAL
WARNING "Causale assente" WARNING "Causale assente"
END END
STRING F_DESCRCAUS 50 STRING F_DESCRCAUS 50
BEGIN BEGIN
PROMPT 21 9 "" PROMPT 21 9 ""
USE LF_CAUSALI KEY 2 USE LF_CAUSALI KEY 2
CHECKTYPE NORMAL CHECKTYPE NORMAL
INPUT DESCR F_DESCRCAUS INPUT DESCR F_DESCRCAUS
DISPLAY "Descrizione@50" DESCR DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS DISPLAY "Codice" CODCAUS
DISPLAY "Tipo" TIPODOC DISPLAY "Tipo" TIPODOC
DISPLAY "Registro" REG DISPLAY "Registro" REG
COPY OUTPUT F_CODCAUS COPY OUTPUT F_CODCAUS
ADD RUN cg0 -4 ADD RUN cg0 -4
END END
ENDPAGE ENDPAGE

View File

@ -20,6 +20,7 @@
#include <attiv.h> #include <attiv.h>
#include <causali.h> #include <causali.h>
#include <nditte.h> #include <nditte.h>
#include "cglib.h"
#include "cglib03.h" #include "cglib03.h"
#include "cg2103.h" #include "cg2103.h"
@ -39,11 +40,11 @@ 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'anno di competenza", "Data operazione successiva all'esercizio di competenza",
"Movimento con competenza anno precedente", "Movimento con competenza anno precedente",
"La data di competenza non appartiene a nessun esercizio", "La data di competenza non appartiene a nessun esercizio",
"Data competenza incompatibile con data operazione", "Data competenza incompatibile con data operazione",
"Anno esercizio incompatibile con data competenza", "Esercizio incompatibile con data competenza",
"Codice causale non presente in tabella", "Codice causale non presente in tabella",
"Codice causale sospeso", "Codice causale sospeso",
"Nella causale e' stato attivato il segnale non va in allegato", "Nella causale e' stato attivato il segnale non va in allegato",
@ -187,6 +188,12 @@ TDate FineEsercizio(int anno)
return fine_es; return fine_es;
} }
int EsercizioSucc(int code)
{
TEsercizi_contabili esc;
return esc.next(code);
}
bool annoes(TMask_field& f, KEY k) bool annoes(TMask_field& f, KEY k)
{ {
if (k == K_TAB) if (k == K_TAB)
@ -195,7 +202,7 @@ bool annoes(TMask_field& f, KEY k)
if ( anno != 0 ) if ( anno != 0 )
{ {
f.mask().field(F_DATAINI).set(InizioEsercizio(anno)); f.mask().field(F_DATAINI).set(InizioEsercizio(anno));
TDate fine = FineEsercizio(anno + 1); TDate fine = FineEsercizio(EsercizioSucc(anno));
if (fine == botime) if (fine == botime)
fine = FineEsercizio(anno); fine = FineEsercizio(anno);
f.mask().field(F_DATAFIN).set(fine); f.mask().field(F_DATAFIN).set(fine);
@ -250,7 +257,7 @@ bool data_fine(TMask_field& f, KEY k)
if ( anno != 0 && ( (app()._masc == "cg3100b") || if ( anno != 0 && ( (app()._masc == "cg3100b") ||
((app()._masc == "cg3100a" ) && (decidi == 2)) ) ) ((app()._masc == "cg3100a" ) && (decidi == 2)) ) )
{ {
TDate fine = FineEsercizio(anno + 1); TDate fine = FineEsercizio(EsercizioSucc(anno));
if (fine == botime) if (fine == botime)
fine = FineEsercizio(anno); fine = FineEsercizio(anno);
if (!datafin.ok()) //se la data e' vuota if (!datafin.ok()) //se la data e' vuota
@ -1568,10 +1575,12 @@ bool TListaMov_application::segnala_errori_primariga()
if ( _scelta_stampa == 0 && _stampa_anno_comp ) if ( _scelta_stampa == 0 && _stampa_anno_comp )
if (_ae != _annoeser) if (_ae != _annoeser)
{
if (_annoes) //specificato l'anno nella maschera if (_annoes) //specificato l'anno nella maschera
_err.set(2); _err.set(2);
else _err.set(3); else _err.set(3);
}
if (ae) if (ae)
{ {
int pr; // Esercizio precedente int pr; // Esercizio precedente
@ -2446,7 +2455,7 @@ void TListaMov_application::preprocess_header()
{ {
if (_annoes != 0) if (_annoes != 0)
{ {
set_header (soh, "Anno comp. %d", _annoes); set_header (soh, "Cod. eserc.%d", _annoes);
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "@16gda@19g%s",_data_ini.string()); set_header (soh, "@16gda@19g%s",_data_ini.string());
@ -2496,16 +2505,16 @@ void TListaMov_application::preprocess_header()
if (_flags & ST_MESS_ALLEG) if (_flags & ST_MESS_ALLEG)
{ {
if (_flags & ST_ANNO_COMP) if (_flags & ST_ANNO_COMP)
set_header (soh, "@78gcon messaggi: anno di competenza, allegato iva"); set_header (soh, "@78gcon messaggi: data competenza, allegato iva");
else else
set_header (soh, "@78gcon messaggio: allegato iva"); set_header (soh, "@78gcon messaggio: allegato iva");
} }
else if (_flags & ST_ANNO_COMP) else if (_flags & ST_ANNO_COMP)
{ {
if (_flags & ST_MESS_ALLEG) if (_flags & ST_MESS_ALLEG)
set_header (soh, "@78gcon messaggi: anno di competenza, allegato iva"); set_header (soh, "@78gcon messaggi: data competenza, allegato iva");
else else
set_header (soh, "@78gcon messaggio: anno di competenza"); set_header (soh, "@78gcon messaggio: data competenza");
} }
sep.fill('-'); sep.fill('-');
set_header (++soh, (const char *) sep); set_header (++soh, (const char *) sep);
@ -2519,7 +2528,7 @@ void TListaMov_application::preprocess_header()
{ {
if (_annoes != 0) if (_annoes != 0)
{ {
set_header (soh, "Anno comp. %d", _annoes); set_header (soh, "Cod. comp. %d", _annoes);
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "@16gda@19g%s", (const char*)_data_ini.string()); set_header (soh, "@16gda@19g%s", (const char*)_data_ini.string());
@ -2561,7 +2570,7 @@ void TListaMov_application::preprocess_header()
set_header (soh, (const char*)sep); set_header (soh, (const char*)sep);
if (_annoes != 0) if (_annoes != 0)
{ {
set_header (soh, "@15gAnno comp %d", _annoes); set_header (soh, "@15gCod. comp %d", _annoes);
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "@30gdalla data@41g%s", (const char*)_data_ini.string()); set_header (soh, "@30gdalla data@41g%s", (const char*)_data_ini.string());

View File

@ -31,12 +31,12 @@ END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
GROUP 3 GROUP 3
PROMPT 2 3 "Anno esercizio " PROMPT 2 3 "Codice esercizio "
HELP "Anno d'esercizio di cui si vuole la lista" HELP "Codice esercizio per cui si vuole la lista"
USE ESC USE ESC
CHECKTYPE NORMAL CHECKTYPE NORMAL
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

@ -30,12 +30,12 @@ END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 4 "Anno esercizio " PROMPT 2 4 "Codice esercizio "
HELP "Anno d'esercizio di cui si vuole la stampa" HELP "Codice esercizio per cui si vuole la stampa"
USE ESC KEY 1 USE ESC KEY 1
CHECKTYPE NORMAL CHECKTYPE NORMAL
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

@ -22,6 +22,7 @@
#include <occas.h> #include <occas.h>
#include "conto.h" #include "conto.h"
#include "cglib.h"
#include "cglib03.h" #include "cglib03.h"
#include "cg2103.h" #include "cg2103.h"
#include "cg3400a.h" #include "cg3400a.h"
@ -115,7 +116,7 @@ class CG3400_application : public TPrintapp
static bool filter_func(const TRelation * r); static bool filter_func(const TRelation * r);
static bool filtra_reg (const TRelation * r); static bool filtra_reg (const TRelation * r);
int righe_rimaste() const; int righe_rimaste() const;
private: private:
TRelation* _rel; TRelation* _rel;
@ -134,7 +135,7 @@ private:
long _num_rig; long _num_rig;
real _importo; real _importo;
char _sezione; char _sezione;
int _pagine_contate; // cnt pag. stampate. int _pagine_contate; // cnt pag. stampate.
public: public:
TDate _inizioEs, _fineEs; // date inizio e fine esercizio TDate _inizioEs, _fineEs; // date inizio e fine esercizio
TRigaiva_array _iva_array; TRigaiva_array _iva_array;
@ -1505,22 +1506,11 @@ void CG3400_application::get_date_aep(int aep, TDate* in, TDate* fin)
*fin = esc.get_date("D1"); *fin = esc.get_date("D1");
} }
} }
const int es_prec(const int es_corr) const int es_prec(const int es_corr)
{ {
TTable ese("ESC"); TEsercizi_contabili esc;
TString16 first; return esc.pred(es_corr);
TString codtab;
ese.first();
first = ese.get("CODTAB");
codtab.format("%04d",es_corr);
if (codtab == first)
return 0;
return es_corr - 1;
} }
bool CG3400_application::controlla_mov_aep() bool CG3400_application::controlla_mov_aep()