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

View File

@ -20,6 +20,7 @@
#include <attiv.h>
#include <causali.h>
#include <nditte.h>
#include "cglib.h"
#include "cglib03.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",
"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",
"La data di competenza non appartiene a nessun esercizio",
"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 sospeso",
"Nella causale e' stato attivato il segnale non va in allegato",
@ -187,6 +188,12 @@ TDate FineEsercizio(int anno)
return fine_es;
}
int EsercizioSucc(int code)
{
TEsercizi_contabili esc;
return esc.next(code);
}
bool annoes(TMask_field& f, KEY k)
{
if (k == K_TAB)
@ -195,7 +202,7 @@ bool annoes(TMask_field& f, KEY k)
if ( anno != 0 )
{
f.mask().field(F_DATAINI).set(InizioEsercizio(anno));
TDate fine = FineEsercizio(anno + 1);
TDate fine = FineEsercizio(EsercizioSucc(anno));
if (fine == botime)
fine = FineEsercizio(anno);
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") ||
((app()._masc == "cg3100a" ) && (decidi == 2)) ) )
{
TDate fine = FineEsercizio(anno + 1);
TDate fine = FineEsercizio(EsercizioSucc(anno));
if (fine == botime)
fine = FineEsercizio(anno);
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 (_ae != _annoeser)
{
if (_annoes) //specificato l'anno nella maschera
_err.set(2);
else _err.set(3);
else _err.set(3);
}
if (ae)
{
int pr; // Esercizio precedente
@ -2446,7 +2455,7 @@ void TListaMov_application::preprocess_header()
{
if (_annoes != 0)
{
set_header (soh, "Anno comp. %d", _annoes);
set_header (soh, "Cod. eserc.%d", _annoes);
if (_flags & ST_DATA)
{
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_ANNO_COMP)
set_header (soh, "@78gcon messaggi: anno di competenza, allegato iva");
set_header (soh, "@78gcon messaggi: data competenza, allegato iva");
else
set_header (soh, "@78gcon messaggio: allegato iva");
}
else if (_flags & ST_ANNO_COMP)
{
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
set_header (soh, "@78gcon messaggio: anno di competenza");
set_header (soh, "@78gcon messaggio: data competenza");
}
sep.fill('-');
set_header (++soh, (const char *) sep);
@ -2519,7 +2528,7 @@ void TListaMov_application::preprocess_header()
{
if (_annoes != 0)
{
set_header (soh, "Anno comp. %d", _annoes);
set_header (soh, "Cod. comp. %d", _annoes);
if (_flags & ST_DATA)
{
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);
if (_annoes != 0)
{
set_header (soh, "@15gAnno comp %d", _annoes);
set_header (soh, "@15gCod. comp %d", _annoes);
if (_flags & ST_DATA)
{
set_header (soh, "@30gdalla data@41g%s", (const char*)_data_ini.string());

View File

@ -31,12 +31,12 @@ END
NUMBER F_ANNO 4
BEGIN
GROUP 3
PROMPT 2 3 "Anno esercizio "
HELP "Anno d'esercizio di cui si vuole la lista"
PROMPT 2 3 "Codice esercizio "
HELP "Codice esercizio per cui si vuole la lista"
USE ESC
CHECKTYPE NORMAL
INPUT CODTAB F_ANNO
DISPLAY "Anno" CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB

View File

@ -30,12 +30,12 @@ END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 4 "Anno esercizio "
HELP "Anno d'esercizio di cui si vuole la stampa"
PROMPT 2 4 "Codice esercizio "
HELP "Codice esercizio per cui si vuole la stampa"
USE ESC KEY 1
CHECKTYPE NORMAL
INPUT CODTAB F_ANNO
DISPLAY "Anno" CODTAB
DISPLAY "Codice" CODTAB
DISPLAY "Data inizio esercizio" D0
DISPLAY "Data fine esercizio" D1
OUTPUT F_ANNO CODTAB

View File

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