diff --git a/cg/cg2100a.uml b/cg/cg2100a.uml index 7f4a25acc..e4301b606 100755 --- a/cg/cg2100a.uml +++ b/cg/cg2100a.uml @@ -1,113 +1,113 @@ -#include "cg2100.h" - -TOOLBAR "" 0 20 0 2 -#include -ENDPAGE - -PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 8 - -GROUPBOX DLG_NULL 78 3 -BEGIN - 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 -END - -STRING F_RAGSOC 50 -BEGIN - 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 -END - -DATE F_DATAREG -BEGIN - PROMPT 1 6 "Data operazione " - CHECKTYPE REQUIRED - FLAGS "A" - 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" -END - -DATE F_DATACOMP -BEGIN - PROMPT 1 7 "Data di competenza " - HELP "Data di competenza dell'operazione" - CHECKTYPE REQUIRED - FLAGS "A" -END - -NUMBER F_ANNOES 4 -BEGIN - PROMPT 51 7 "Anno di esercizio " - FLAGS "DRZ" -END - -STRING F_CODCAUS 3 -BEGIN - PROMPT 1 9 "Causale " - HELP "Codice della causale dell'operazione" - FLAGS "U" - FIELD LF_MOV->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 REQUIRED - WARNING "Causale assente" -END - -STRING F_DESCRCAUS 50 -BEGIN - PROMPT 21 9 "" - HELP "Descrizione della causale dell'operazione" - 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 - -ENDMASK +#include "cg2100.h" + +TOOLBAR "" 0 20 0 2 +#include +ENDPAGE + +PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 8 + +GROUPBOX DLG_NULL 78 3 +BEGIN + 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 +END + +STRING F_RAGSOC 50 +BEGIN + 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 +END + +DATE F_DATAREG +BEGIN + PROMPT 1 6 "Data operazione " + CHECKTYPE REQUIRED + FLAGS "A" + 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" +END + +DATE F_DATACOMP +BEGIN + PROMPT 1 7 "Data di competenza " + HELP "Data di competenza dell'operazione" + CHECKTYPE REQUIRED + FLAGS "A" +END + +NUMBER F_ANNOES 4 +BEGIN + PROMPT 51 7 "Anno di esercizio " + FLAGS "DRZ" +END + +STRING F_CODCAUS 3 +BEGIN + PROMPT 1 9 "Causale " + HELP "Codice della causale dell'operazione" + FLAGS "UZ" + FIELD LF_MOV->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 REQUIRED + WARNING "Causale assente" +END + +STRING F_DESCRCAUS 50 +BEGIN + PROMPT 21 9 "" + HELP "Descrizione della causale dell'operazione" + 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 + +ENDMASK diff --git a/cg/cg2100b.uml b/cg/cg2100b.uml index 6b7b78229..46ed3f1f3 100755 --- a/cg/cg2100b.uml +++ b/cg/cg2100b.uml @@ -122,7 +122,7 @@ STRING F_CODCAUS 3 BEGIN PROMPT 1 8 "Causale " HELP "Codice della causale generante l'operazione" - FLAGS "U" + FLAGS "UZ" FIELD CODCAUS USE LF_CAUSALI KEY 1 INPUT CODCAUS F_CODCAUS diff --git a/cg/cg2100c.uml b/cg/cg2100c.uml index 1a877c0d7..4fb9a7a13 100755 --- a/cg/cg2100c.uml +++ b/cg/cg2100c.uml @@ -163,7 +163,7 @@ STRING F_CODCAUS 3 BEGIN PROMPT 1 8 "Causale " HELP "Codice della causale generante l'operazione" - FLAGS "U" + FLAGS "UZ" FIELD LF_MOV->CODCAUS USE LF_CAUSALI SELECT REG!="" INPUT CODCAUS F_CODCAUS @@ -199,7 +199,7 @@ END STRING F_CODREG 3 BEGIN PROMPT 1 9 "Registro IVA " - FLAGS "DG" + FLAGS "DGUZ" FIELD LF_MOV->REG END @@ -388,7 +388,7 @@ BEGIN PROMPT 60 11 "Pagamento " HELP "Codice del pagamento concordato per il movimento" FIELD CODPAG - FLAGS "U" + FLAGS "UZ" USE %CPG INPUT CODTAB F_CODPAG DISPLAY "Codice" CODTAB @@ -475,6 +475,7 @@ BEGIN DISPLAY "Tipo" S1 OUTPUT F_CODIVA CODTAB CHECKTYPE NORMAL + VALIDATE ZEROFILL_FUNC 2 WARNING "Codice IVA assente" END diff --git a/cg/cg2100i.uml b/cg/cg2100i.uml index 8b54e0e57..9408b76f7 100755 --- a/cg/cg2100i.uml +++ b/cg/cg2100i.uml @@ -77,7 +77,7 @@ BEGIN OUTPUT F_CODCAUS CODCAUS OUTPUT F_DESCRCAUS DESCR OUTPUT F_TIPODOC TIPODOC - FLAGS "D" + FLAGS "DUZ" END STRING F_DESCRCAUS 50 diff --git a/cg/cg21iva.uml b/cg/cg21iva.uml index ac13628c0..2b7a0a89d 100755 --- a/cg/cg21iva.uml +++ b/cg/cg21iva.uml @@ -20,7 +20,7 @@ BEGIN OUTPUT 211 S0 CHECKTYPE NORMAL WARNING "Codice IVA assente" - VALIDATE REQIF_FUNC 1 101 + VALIDATE ZEROFILL_FUNC 2 END STRING 211 58 diff --git a/cg/cg3200.cpp b/cg/cg3200.cpp index b3e350f8a..7df9b4e33 100755 --- a/cg/cg3200.cpp +++ b/cg/cg3200.cpp @@ -36,7 +36,7 @@ class TMastrini_application : public TPrintapp TDociva_array _b; TRelation* _rel; - TMask* _msk; + TMask* _msk; TTable* _tabivd, * _tabtpd, * _tabreg, * _tabesc; TLocalisamfile* _mov; TLocalisamfile* _nditte; @@ -44,7 +44,6 @@ class TMastrini_application : public TPrintapp TLocalisamfile* _comuni; TLocalisamfile* _clifo; TLocalisamfile* _caus; - Saldo _sld; TDate _data_ini,_data_fine,_data_finese,_data_finesesucc,_ultima_data_reg; TDate _datareg,_datadoc,_data_inizioese,_datareg_stampa,_inizioes; @@ -1573,8 +1572,9 @@ void TMastrini_application::calcola_progressivi() { if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) { + TSaldo sld; const TRecnotype pos = saldi.recno(); - saldo = _sld.saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc); + saldo = sld.saldofin_esprec(_anno_corrente,_gruppo,_conto,_sottoc); saldi.readat(pos); if (saldo> ZERO) diff --git a/cg/cglib.h b/cg/cglib.h index 7cbd49d24..9f31df563 100755 --- a/cg/cglib.h +++ b/cg/cglib.h @@ -32,7 +32,7 @@ class TSaldo real _saldo, _saldo_iniziale; real _prg_dare, _prg_avere, _prg_daresca, _prg_averesca; int _indbil; - TRectype* _saldo_ep; + TRectype _saldo_ep; int _annoes; TDate _inizioEs, _fineEs; TString16 _codcaus; diff --git a/cg/cglib01.cpp b/cg/cglib01.cpp index a8ea93bf2..8c0d75201 100755 --- a/cg/cglib01.cpp +++ b/cg/cglib01.cpp @@ -2,13 +2,11 @@ // calcolo dei saldi #include -#include -#include -#include +#include #include #include #include -#include + #include #include #include @@ -78,7 +76,7 @@ TRectype* TSaldi_list::saldi() const return (TRectype*)o; } -TSaldo::TSaldo() +TSaldo::TSaldo() : _saldo_ep(LF_SALDI) { _saldo_iniziale = ZERO; _prg_dare = ZERO; @@ -86,15 +84,12 @@ TSaldo::TSaldo() _saldo = ZERO; _annoes = 0; _indbil = 0; - _saldo_ep = new TRectype(LF_SALDI); _movimentato = _significativo = FALSE; _rec_presente_ec = _rec_presente_ep = FALSE; } TSaldo::~TSaldo() -{ - delete _saldo_ep; -} +{} // // Cerca l'esercizio precedente di EseCorr @@ -121,28 +116,28 @@ const int TSaldo::EsePre(const int EseCorr) real TSaldo::saldofin_esprec(int annoes, int g, int c, long s) { - real saldo,pdare,pavere,pdaresca,paveresca; - char flag; const int annoesprec = EsePre(annoes); - if (annoesprec == 0) return ZERO; // non ci sono esercizi prima del primo - TRectype app = ricerca_progr_prec(annoesprec, g, c, s); + const TRectype& app = ricerca_progr_prec(annoesprec, g, c, s); - flag = app.get(SLD_FLAGSALINI)[0]; - saldo = app.get_real(SLD_SALDO); - pdare = app.get_real(SLD_PDARE); - pavere = app.get_real(SLD_PAVERE); - pdaresca = app.get_real(SLD_PDARESCA); - paveresca = app.get_real(SLD_PAVERESCA); + const char flag = app.get(SLD_FLAGSALINI)[0]; + const real saldo = app.get_real(SLD_SALDO); + const real pdare = app.get_real(SLD_PDARE); + const real pavere = app.get_real(SLD_PAVERE); + const real pdaresca = app.get_real(SLD_PDARESCA); + const real paveresca = app.get_real(SLD_PAVERESCA); _significativo = (saldo != ZERO || pdare != ZERO || pavere != ZERO || pdaresca != ZERO || paveresca != ZERO); - + + real tot = pdare-pavere+pdaresca-paveresca; if (flag == 'D') - return pdare-pavere+saldo+pdaresca-paveresca; + tot += saldo; else - return pdare-pavere-saldo+pdaresca-paveresca; + tot -= saldo; + + return tot; } real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil) @@ -231,7 +226,10 @@ void TSaldo::leggi_mov(long nr) } /******************************************** - bool Saldo::calcola_data_limite(int annoes, int g, int c, long s, const TDate& data_inf, const TDate& data_sup, int indbil, bool controllo_competenza, const TDate& inizio_es, const TDate& fine_es, const TDate& fine_es_prec,bool stp_prov) + bool Saldo::calcola_data_limite(int annoes, int g, int c, long s, + const TDate& data_inf, const TDate& data_sup, int indbil, + bool controllo_competenza, const TDate& inizio_es, + const TDate& fine_es, const TDate& fine_es_prec,bool stp_prov) { TString sezione, gcs_corr, gcs_prec="", provv = ""; real importo, dep = ZERO; @@ -601,10 +599,10 @@ TRectype& TSaldo::ricerca_progr_prec (int annoesprec, int g, int c, long s) _rec_presente_ep = FALSE; } - *_saldo_ep = saldi.curr(); + _saldo_ep = saldi.curr(); saldi.setkey(oldkey); - return *_saldo_ep; + return _saldo_ep; } //calcolo dei progressivi attuali