COrretti errori su lista movimenti giornale mastrini e bilancio IV direttiva

git-svn-id: svn://10.65.10.50/trunk@775 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1994-12-20 09:36:33 +00:00
parent d774a2e53c
commit 0c7584c8a6
14 changed files with 1909 additions and 1646 deletions

View File

@ -6,6 +6,8 @@
#include <tabutil.h> #include <tabutil.h>
#include <utility.h> #include <utility.h>
#include <urldefid.h> #include <urldefid.h>
#include <array.h>
#include <lffiles.h>
#include <mov.h> #include <mov.h>
#include <rmov.h> #include <rmov.h>
@ -98,7 +100,7 @@ class TListaMov_application : public TPrintapp
real _op_esenti, _op_non_imp, _impo, _impos; real _op_esenti, _op_non_imp, _impo, _impos;
real _tot_dare, _tot_avere, _tot_avere_giornaliero; real _tot_dare, _tot_avere, _tot_avere_giornaliero;
real _tot_dare_giornaliero, _tot_dare_generale, _tot_avere_generale; real _tot_dare_giornaliero, _tot_dare_generale, _tot_avere_generale;
bool _intracom, _no_preprocess_page, _salto_pagina, _stampa_anno_comp,_esiste_riga_iva,_nonesiste_riga_iva; bool _intra, _no_preprocess_page, _salto_pagina, _stampa_anno_comp,_esiste_riga_iva,_nonesiste_riga_iva;
bool _stampa_parte_iva,_alleg_causale,_stampa_mess_alleg_iva,_allegb,_ricser; bool _stampa_parte_iva,_alleg_causale,_stampa_mess_alleg_iva,_allegb,_ricser;
bool _settata_prima_riga, _causale_gia_stampata; bool _settata_prima_riga, _causale_gia_stampata;
int _cur1,_cur2,_cur2b,_cur3,_cur4,_decidi,_tipod,_controllo_mov_errati; int _cur1,_cur2,_cur2b,_cur3,_cur4,_decidi,_tipod,_controllo_mov_errati;
@ -312,6 +314,7 @@ void TListaMov_application::compila_clifo()
_civcf = _clifo->curr().get(CLI_CIVCF); _civcf = _clifo->curr().get(CLI_CIVCF);
_paiv = _clifo->curr().get(CLI_PAIV); _paiv = _clifo->curr().get(CLI_PAIV);
_capcf = _clifo->curr().get(CLI_CAPCF); _capcf = _clifo->curr().get(CLI_CAPCF);
_dencom = _clifo->curr().get(CLI_LOCCF);
_cofi = _clifo->curr().get(CLI_COFI); _cofi = _clifo->curr().get(CLI_COFI);
_codalleg = _clifo->curr().get_long(CLI_CODALLEG); _codalleg = _clifo->curr().get_long(CLI_CODALLEG);
} }
@ -326,7 +329,7 @@ void TListaMov_application::compila_comuni()
_comuni->read(); _comuni->read();
if (_comuni->bad()) if (_comuni->bad())
_comuni->curr().zero(); _comuni->curr().zero();
_dencom = _comuni->get(COM_DENCOM); //_dencom = _comuni->get(COM_DENCOM);
_provcom = _comuni->get(COM_PROVCOM); _provcom = _comuni->get(COM_PROVCOM);
} }
@ -864,17 +867,17 @@ void TListaMov_application::stampa_intestazione()
set_row (2, "@bCliente@9g@6n", FLD(LF_MOV,MOV_CODCF)); set_row (2, "@bCliente@9g@6n", FLD(LF_MOV,MOV_CODCF));
else else
set_row (2, "@bFornitore@12g@6n", FLD(LF_MOV,MOV_CODCF)); set_row (2, "@bFornitore@12g@6n", FLD(LF_MOV,MOV_CODCF));
set_row (2, "@b@18g#35t", &_ragsoc); set_row (2, "@b@18g#.35t", &_ragsoc);
set_row (2, "@b@54gInd #29t", &_indcf); set_row (2, "@b@54gInd #.29t", &_indcf);
set_row (2, "@b@87g#10t", &_civcf); set_row (2, "@b@87g#.10t", &_civcf);
set_row (2, "@b@98gP.I. #11t", &_paiv); set_row (2, "@b@98gP.I. #11t", &_paiv);
if (_alleg == 0) if (_alleg == 0)
set_row (2, "@b@121gAllegato NO"); set_row (2, "@b@121gAllegato NO");
else else
set_row (2, "@b@121gAllegato SI"); set_row (2, "@b@121gAllegato SI");
set_row (3, "@b@54gCap #5t", &_capcf); set_row (3, "@b@54gCap #5t", &_capcf);
set_row (3,"@b@64gLoc #20t", &_dencom); set_row (3,"@b@64gLoc #.20t", &_dencom);
set_row (3,"@b@89gPr #5t", &_provcom); set_row (3,"@b@89gPr #.5t", &_provcom);
set_row (3, "@b@98gC.F. #16t", &_cofi); set_row (3, "@b@98gC.F. #16t", &_cofi);
if (_alleg == 0) if (_alleg == 0)
set_row (3, "@b@120gRifer@126g#6d", &_codalleg); set_row (3, "@b@120gRifer@126g#6d", &_codalleg);
@ -910,6 +913,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_tipo = current_cursor()->file(LF_MOV).get_char(MOV_TIPO); _tipo = current_cursor()->file(LF_MOV).get_char(MOV_TIPO);
_codcf = current_cursor()->file(LF_MOV).get_long(MOV_CODCF); _codcf = current_cursor()->file(LF_MOV).get_long(MOV_CODCF);
_numero = current_cursor()->file(LF_MOV).get_long(MOV_NUMREG); _numero = current_cursor()->file(LF_MOV).get_long(MOV_NUMREG);
_codval = cur->curr(LF_MOV).get(MOV_CODVALI);
_tiporegistro = CodiceRegistro(_registro, _anno); _tiporegistro = CodiceRegistro(_registro, _anno);
_causale_gia_stampata = FALSE; _causale_gia_stampata = FALSE;
@ -992,7 +996,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
} }
return TRUE; return TRUE;
} }
else if ((_stampa_parte_iva)&&(file == LF_RMOVIVA)) else if ( _stampa_parte_iva && file == LF_RMOVIVA)
{ {
TRectype iva(current_cursor()->file(LF_RMOVIVA).curr()); TRectype iva(current_cursor()->file(LF_RMOVIVA).curr());
_impo = iva.get_real(RMI_IMPONIBILE); _impo = iva.get_real(RMI_IMPONIBILE);
@ -1000,8 +1004,9 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_tipocr = iva.get_int(RMI_TIPOCR); _tipocr = iva.get_int(RMI_TIPOCR);
_tipod = iva.get_int(RMI_TIPODET); _tipod = iva.get_int(RMI_TIPODET);
_cod = iva.get(RMI_CODIVA); _cod = iva.get(RMI_CODIVA);
_intra = iva.get_bool(RMI_INTRA);
_c.add_riga(_impo,_impos,_cod,_tipod,_tipocr,0.00,0.00); _c.add_riga(_impo,_impos,ZERO,ZERO,_cod,_tipod,_tipocr,_intra);
return TRUE; return TRUE;
} }
@ -1017,7 +1022,9 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_registro = current_cursor()->curr(LF_MOV).get(MOV_REG); _registro = current_cursor()->curr(LF_MOV).get(MOV_REG);
_anno = current_cursor()->curr(LF_MOV).get_int(MOV_ANNOES); _anno = current_cursor()->curr(LF_MOV).get_int(MOV_ANNOES);
_tipodoc = current_cursor()->curr(LF_MOV).get(MOV_TIPODOC); _tipodoc = current_cursor()->curr(LF_MOV).get(MOV_TIPODOC);
_causale_gia_stampata = FALSE;
TLocalisamfile* fl = &(current_cursor()->file(LF_MOV)); TLocalisamfile* fl = &(current_cursor()->file(LF_MOV));
TRectype da (fl->curr()); TRectype da (fl->curr());
TRectype a (fl->curr()); TRectype a (fl->curr());
@ -1036,6 +1043,8 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_caus->setkey(1); _caus->setkey(1);
_caus->curr().put(CAU_CODCAUS,_causale); _caus->curr().put(CAU_CODCAUS,_causale);
_caus->read(); _caus->read();
if (_caus->bad())
_caus->curr().zero();
_descr_causale = _caus->curr().get(CAU_DESCR); _descr_causale = _caus->curr().get(CAU_DESCR);
_alleg_causale = _caus->curr().get_bool(CAU_ALLEG); _alleg_causale = _caus->curr().get_bool(CAU_ALLEG);
_tipodocumento = _caus->curr().get(CAU_TIPODOC); _tipodocumento = _caus->curr().get(CAU_TIPODOC);
@ -1048,6 +1057,12 @@ bool TListaMov_application::preprocess_page(int file,int counter)
} }
else if (file == LF_RMOV) else if (file == LF_RMOV)
{ {
if (!_causale_gia_stampata)
{
set_row(_nr,"@4g%3s", (const char*) _causale);
set_row(_nr,"@8g%.20s@r", (const char*) _descr_causale);
_causale_gia_stampata = TRUE;
}
long gruppo = atol(current_cursor()->curr(LF_RMOV).get(RMV_GRUPPO)); long gruppo = atol(current_cursor()->curr(LF_RMOV).get(RMV_GRUPPO));
long conto = atol(current_cursor()->curr(LF_RMOV).get(RMV_CONTO)); long conto = atol(current_cursor()->curr(LF_RMOV).get(RMV_CONTO));
long sottoconto = atol(current_cursor()->curr(LF_RMOV).get(RMV_SOTTOCONTO)); long sottoconto = atol(current_cursor()->curr(LF_RMOV).get(RMV_SOTTOCONTO));
@ -1092,7 +1107,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_codcf = cur->curr(LF_MOV).get_long(MOV_CODCF); _codcf = cur->curr(LF_MOV).get_long(MOV_CODCF);
_codcaus = cur->curr(LF_MOV).get(MOV_CODCAUS); _codcaus = cur->curr(LF_MOV).get(MOV_CODCAUS);
_tipodoc = cur->curr(LF_MOV).get(MOV_TIPODOC); _tipodoc = cur->curr(LF_MOV).get(MOV_TIPODOC);
_codval = cur->curr(LF_MOV).get(MOV_CODVAL); _codval = cur->curr(LF_MOV).get(MOV_CODVALI);
_totdoc = cur->curr(LF_MOV).get_real(MOV_TOTDOC); _totdoc = cur->curr(LF_MOV).get_real(MOV_TOTDOC);
/* /*
if ((_tipo_elenco != _tipo_clifo_prec) && if ((_tipo_elenco != _tipo_clifo_prec) &&
@ -1167,27 +1182,27 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_simbolo = SimboloValuta(_codval); _simbolo = SimboloValuta(_codval);
_allegb = CausAlleg(_codcaus); _allegb = CausAlleg(_codcaus);
_descr_doc = DescrDoc(_tipodoc); _descr_doc = DescrDoc(_tipodoc);
//_totdocumenti += _totdoc; _intra = cur->curr(LF_RMOVIVA).get_bool(RMI_INTRA);
//_ricser = current_cursor()->curr(LF_RMOVIVA).get_int(RMI_RICSER); /*
_intracom = current_cursor()->curr(LF_RMOVIVA).get_bool(RMI_INTRA); if ((_codval != "LIT") && _intracom)
{
if ((_codval != "LIT") && _intracom) reset_row(1);
set_row(1,"Corr.in lire@14g@pN",FLD(LF_MOV,MOV_CORRLIRE,"###.###.###.###"));
set_row(1,"@34gCorr.in valuta@49g@pN",FLD(LF_MOV,MOV_CORRVALUTA,"###.###.###.###"));
if (_simbolo.not_empty())
set_row(1,"@65g%.5s", (const char *)_simbolo);
else
set_row(1,"@65g%.3s", (const char *)_codval);
}
*/
if (!_settata_prima_riga)
{ {
reset_row(1); reset_print();
set_row(1,"Corr.in lire@14g@pN",FLD(LF_MOV,MOV_CORRLIRE,"###.###.###.###")); set_row(1, "");
set_row(1,"@34gCorr.in valuta@49g@pN",FLD(LF_MOV,MOV_CORRVALUTA,"###.###.###.###")); set_row(2,"@7n",FLD(LF_MOV,MOV_NUMREG));
if (_simbolo.not_empty()) set_row(2,"@8g@d",FLD(LF_MOV,MOV_DATAREG));
set_row(1,"@65g%.5s", (const char *)_simbolo); set_row(2,"@17g@3,rs",FLD(LF_MOV,MOV_REG));
else set_row(2,"@21g@5n",FLD(LF_MOV,MOV_PROTIVA));
set_row(1,"@65g%.3s", (const char *)_codval);
}
else if (!_settata_prima_riga)
{
reset_row(1);
set_row(1,"@7n",FLD(LF_MOV,MOV_NUMREG));
set_row(1,"@8g@d",FLD(LF_MOV,MOV_DATAREG));
set_row(1,"@17g@3,rs",FLD(LF_MOV,MOV_REG));
set_row(1,"@21g@5n",FLD(LF_MOV,MOV_PROTIVA));
TString protiva = cur->curr(LF_MOV).get(MOV_PROTIVA); TString protiva = cur->curr(LF_MOV).get(MOV_PROTIVA);
TString uprotiva = cur->curr(LF_MOV).get(MOV_UPROTIVA); TString uprotiva = cur->curr(LF_MOV).get(MOV_UPROTIVA);
@ -1196,26 +1211,26 @@ bool TListaMov_application::preprocess_page(int file,int counter)
{ {
for (int i = 0; protiva[i] && (protiva[i] == uprotiva[i]); i++); for (int i = 0; protiva[i] && (protiva[i] == uprotiva[i]); i++);
uprotiva = uprotiva.mid(i); uprotiva = uprotiva.mid(i);
set_row(1, "@24g/@25g%s", (const char*) uprotiva); set_row(2, "@24g/@25g%s", (const char*) uprotiva);
} }
set_row(1, "@33g@d", FLD(LF_MOV,MOV_DATADOC)); set_row(2, "@33g@d", FLD(LF_MOV,MOV_DATADOC));
set_row(1,"@42g@6,rs",FLD(LF_MOV,MOV_NUMDOC)); set_row(2,"@42g@6,rs",FLD(LF_MOV,MOV_NUMDOC));
set_row(1,"@49g@3s",FLD(LF_MOV,MOV_CODCAUS)); set_row(2,"@49g@3s",FLD(LF_MOV,MOV_CODCAUS));
set_row(1,"@53g@2s",FLD(LF_MOV,MOV_TIPODOC)); set_row(2,"@53g@2s",FLD(LF_MOV,MOV_TIPODOC));
set_row(1,"@56g%.12s@r", (const char *)_descr_doc); set_row(2,"@56g%.12s@r", (const char *)_descr_doc);
set_row(1,"@68g@pN",FLD(LF_MOV,MOV_TOTDOC,"###.###.###.###")); set_row(2,"@68g@pN",FLD(LF_MOV,MOV_TOTDOC,"###.###.###.###"));
set_row(1,"@84g@pN",FLD(LF_RMOVIVA,RMI_IMPONIBILE,"###.###.###.###")); set_row(2,"@84g@pN",FLD(LF_RMOVIVA,RMI_IMPONIBILE,"###.###.###.###"));
set_row(1,"@101g@4s",FLD(LF_RMOVIVA,RMI_CODIVA)); set_row(2,"@101g@4s",FLD(LF_RMOVIVA,RMI_CODIVA));
set_row(1,"@105g@1n",FLD(LF_RMOVIVA,RMI_TIPODET)); set_row(2,"@105g@1n",FLD(LF_RMOVIVA,RMI_TIPODET));
if (_tipoatt == "E") if (_tipoatt == "E")
if (_ricser == 1) if (_ricser == 1)
set_row(1,"@109g1"); set_row(2,"@109g1");
else if (_ricser == 2) else if (_ricser == 2)
set_row(1,"@109g2"); set_row(2,"@109g2");
set_row(1,"@111g@f",FLD(LF_RMOVIVA,RMI_INTRA)); set_row(2,"@111g@f",FLD(LF_RMOVIVA,RMI_INTRA));
set_row(1,"@113g@pN",FLD(LF_RMOVIVA,RMI_IMPOSTA,"###.###.###.###")); set_row(2,"@113g@pN",FLD(LF_RMOVIVA,RMI_IMPOSTA,"###.###.###.###"));
if (!_allegb) if (!_allegb)
set_row(1,"@131g*"); set_row(2,"@131g*");
incrementa_totali(); incrementa_totali();
_settata_prima_riga = TRUE; _settata_prima_riga = TRUE;
@ -1223,12 +1238,12 @@ bool TListaMov_application::preprocess_page(int file,int counter)
} }
else if (_settata_prima_riga) else if (_settata_prima_riga)
{ {
reset_row(1); reset_print();
set_row(1,"@84g@pN", FLD(LF_RMOVIVA,RMI_IMPONIBILE,"###.###.###.###")); set_row(1,"@84g@pN", FLD(LF_RMOVIVA,RMI_IMPONIBILE,"###.###.###.###"));
set_row(1,"@101g@4s", FLD(LF_RMOVIVA,RMI_CODIVA)); set_row(1,"@101g@4s", FLD(LF_RMOVIVA,RMI_CODIVA));
set_row(1,"@113g@pN", FLD(LF_RMOVIVA,RMI_IMPOSTA,"###.###.###.###")); set_row(1,"@113g@pN", FLD(LF_RMOVIVA,RMI_IMPOSTA,"###.###.###.###"));
incrementa_totali(); incrementa_totali();
} }
return TRUE; return TRUE;
} }
} }
@ -1268,28 +1283,38 @@ print_action TListaMov_application::postprocess_page(int file,int count)
int r = 0; int r = 0;
for (int j = 0; j < _c.items(); j++) for (int j = 0; j < _c.items(); j++)
{ {
TRigaiva& riga = _c.riga(j); TRigaiva& riga = (TRigaiva&)_c[j];
//r = j+1; //r = j+1;
r++; r++;
set_row(r, "Imponibile@12g%15.0r", &riga._imponibile); set_row(r, "Imponibile@12g%15.0r", &riga._imponibile);
set_row(r, "@31gImposta@39g%15.0r", &riga._imposta); set_row(r, "@31gImposta@39g%15.0r", &riga._imposta);
set_row(r, "@58gCodice Iva@68g%3s", (const char*)riga._codiva); set_row(r, "@58gCodice Iva@69g%3s", (const char*)riga._codiva);
switch (riga._tipodet) switch (riga._tipodet)
{ {
case 0 : set_row(r, "@73gDetraibile"); case 0 : set_row(r, "@76gDetraibile");
break; break;
case 1 : set_row(r, "@73gIndetraibile su op.es."); case 1 : set_row(r, "@76gIndetraibile su op.es.");
break; break;
case 3 : set_row(r, "@73gPassaggi interni"); case 3 : set_row(r, "@76gPassaggi interni");
break; break;
case 9 : set_row(r, "@73gIndetraibile art.19"); case 9 : set_row(r, "@76gIndetraibile art.19");
break; break;
default: break; default: break;
} }
if (riga._intra)
set_row(r, "@104gOper.intrac.");
if (_controllo_mov_errati != 3) if (_controllo_mov_errati != 3)
if (!_esiste_riga_iva && ! _nonesiste_riga_iva) if (!_esiste_riga_iva && ! _nonesiste_riga_iva)
stampa_errori_iva(&r, riga._codiva, riga._tipodet, riga._tipocr); stampa_errori_iva(&r, riga._codiva, riga._tipodet, riga._tipocr);
} }
real corrval = current_cursor()->file(LF_MOV).get_real(MOV_CORRVALUTA);
real corrlire = current_cursor()->file(LF_MOV).get_real(MOV_CORRLIRE);
if (corrval != ZERO)
{
set_row(++r,"Corr.in lire@14g%r", &corrlire);
set_row(r,"@34gCorr.in valuta@49g%r", &corrval);
set_row(r,"@66g%.3s", (const char *)_codval);
}
if (_esiste_riga_iva) if (_esiste_riga_iva)
set_row(++r, "@11gPresenti righe IVA in una registrazione senza IVA"); set_row(++r, "@11gPresenti righe IVA in una registrazione senza IVA");
if (_nonesiste_riga_iva) if (_nonesiste_riga_iva)
@ -1367,10 +1392,26 @@ break;
case fatture: case fatture:
if (file == LF_MOV) if (file == LF_MOV)
{ {
reset_print();
TCursor* cur = current_cursor();
int rr = 1;
real corrval = cur->file(LF_MOV).get_real(MOV_CORRVALUTA);
real corrlire = cur->file(LF_MOV).get_real(MOV_CORRLIRE);
if (corrval != ZERO)
{
set_row(rr,"Corr.in lire@14g%r", &corrlire);
set_row(rr,"@34gCorr.in valuta@49g%r", &corrval);
/*
if (_simbolo.not_empty())
set_row(1,"@65g%.5s", (const char *)_simbolo);
else
set_row(1,"@65g%.3s", (const char *)_codval);
*/
set_row(rr++,"@66g%.3s", (const char *)_codval);
}
_totdocumenti += _totdoc; _totdocumenti += _totdoc;
TRecnotype pos, items; TRecnotype pos, items;
bool FINITO = FALSE; bool FINITO = FALSE;
TCursor* cur = current_cursor();
pos = current_cursor()->pos(); pos = current_cursor()->pos();
items = current_cursor()->items(); items = current_cursor()->items();
@ -1390,27 +1431,28 @@ break;
if (FINITO || (_tipo_elenco != _tipoelsucc)||(_codcf != _codclifosucc)) if (FINITO || (_tipo_elenco != _tipoelsucc)||(_codcf != _codclifosucc))
{ {
reset_print();
TString blank = ""; TString blank = "";
set_row(1,(const char*)blank); set_row(rr++,(const char*)blank);
if ((_tipo_elenco == "C")||(_tipo_elenco == "c")) if ((_tipo_elenco == "C")||(_tipo_elenco == "c"))
set_row(2, "@bTotali Cliente@18gDocumenti Totale documenti@45gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp."); set_row(rr++, "@bTotali Cliente@18gDocumenti Totale documenti@45gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp.");
else else
set_row(2, "@bTotali Fornitore@18gDocumenti Totale documenti@47gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp."); set_row(rr++, "@bTotali Fornitore@18gDocumenti Totale documenti@47gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp.");
set_row(3, "@b@18g%9d", _documenti); set_row(rr, "@b@18g%9d", _documenti);
set_row(3, "@b@28g%r", &_totdocumenti); set_row(rr, "@b@28g%r", &_totdocumenti);
set_row(3, "@b@56g%r", &_totimponibile); set_row(rr, "@b@56g%r", &_totimponibile);
set_row(3, "@b@75g%r", &_totimposta); set_row(rr, "@b@75g%r", &_totimposta);
set_row(3, "@b@94g%r", &_op_esenti); set_row(rr, "@b@94g%r", &_op_esenti);
set_row(3, "@b@112g%r", &_op_non_imp); set_row(rr, "@b@112g%r", &_op_non_imp);
_totimposta = 0; _totimposta = 0;
_totimponibile = 0; _totimponibile = 0;
_op_esenti = 0; _op_esenti = 0;
_op_non_imp = 0; _op_non_imp = 0;
_documenti = 0; _documenti = 0;
_totdocumenti = 0; _totdocumenti = 0;
return REPEAT_PAGE; //return REPEAT_PAGE;
} }
if (rr > 1)
return REPEAT_PAGE;
} }
break; break;
@ -2326,7 +2368,7 @@ void TListaMov_application::preprocess_header()
//sep = "Studio "; //sep = "Studio ";
sep = ""; sep = "";
sep << "Data @< Pag. @#"; sep << "Data @< Pag. @#";
sep.right_just(127); sep.right_just(127);
@ -2361,9 +2403,9 @@ void TListaMov_application::preprocess_header()
else else
if (_flags & ST_NUMERO) if (_flags & ST_NUMERO)
{ {
set_header (soh, "dal numero@12g%d", _numreg_ini); set_header (soh, "dal numero@12g%ld", _numreg_ini);
if (_numreg_fin != 0) if (_numreg_fin != 0)
set_header (soh, "@20gal numero@30g%d", _numreg_fin); set_header (soh, "@20gal numero@30g%ld", _numreg_fin);
} }
else else
set_header (soh, "Completa in ordine di numero"); set_header (soh, "Completa in ordine di numero");
@ -2414,18 +2456,18 @@ void TListaMov_application::preprocess_header()
{ {
if (_annoes != 0) if (_annoes != 0)
{ {
set_header (soh, "Anno comp. %d", (const char*)_annoes); set_header (soh, "Anno comp. %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", (const char*)_data_ini.string());
set_header (soh, "@30ga@32g%s",_data_fin.string()); set_header (soh, "@30ga@32g%s", (const char*)_data_fin.string());
} }
} }
else else
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "Dalla data@12g%s",_data_ini.string()); set_header (soh, "Dalla data@12g%s", (const char*)_data_ini.string());
set_header (soh, "@24galla data@34g%s",_data_fin.string()); set_header (soh, "@24galla data@34g%s", (const char*)_data_fin.string());
} }
else else
set_header (soh, "Completa in ordine di data"); set_header (soh, "Completa in ordine di data");
@ -2433,8 +2475,8 @@ void TListaMov_application::preprocess_header()
else else
if (_flags & ST_NUMERO) if (_flags & ST_NUMERO)
{ {
set_header (soh, "@46gdal numero@57g%d", (const char*)_numreg_ini); set_header (soh, "@46gdal numero@57g%ld", _numreg_ini);
set_header (soh, "@65gal numero@75g%d",(const char*)_numreg_fin); set_header (soh, "@65gal numero@75g%ld", _numreg_fin);
} }
else else
set_header (soh, "@46gCompleta in ordine di numero"); set_header (soh, "@46gCompleta in ordine di numero");
@ -2456,25 +2498,25 @@ 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", (const char*)_annoes); set_header (soh, "@15gAnno comp %d", _annoes);
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "@31gdalla data@42g%s",_data_ini.string()); set_header (soh, "@30gdalla data@41g%s", (const char*)_data_ini.string());
set_header (soh, "@53galla data@63g%s",_data_fin.string()); set_header (soh, "@52galla data@62g%s", (const char*)_data_fin.string());
} }
} }
else else
if (_flags & ST_DATA) if (_flags & ST_DATA)
{ {
set_header (soh, "@15gdalla data@26g%s",_data_ini.string()); set_header (soh, "@15gdalla data@26g%s", (const char*)_data_ini.string());
set_header (soh, "@37galla data@47g%s",_data_fin.string()); set_header (soh, "@37galla data@47g%s", (const char*)_data_fin.string());
} }
else else
set_header (soh, "@15gcompleta in ordine di data"); set_header (soh, "@15gcompleta in ordine di data");
if (_flags & ST_CODICE) if (_flags & ST_CODICE)
{ {
set_header (soh, "@99gdal codice@110g%d",_codice_ini); set_header (soh, "@74gdal codice@85g%ld", _codice_ini);
set_header (soh, "@117gal codice@127g%d",_codice_fin); set_header (soh, "@92gal codice@102g%ld", _codice_fin);
} }
sep.fill('-'); sep.fill('-');
set_header (++soh, (const char *) sep); set_header (++soh, (const char *) sep);

View File

@ -1,227 +1,244 @@
#include "cg3100.h" #include "cg3100.h"
PAGE "" -1 -1 76 20 PAGE "" -1 -1 76 20
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 2 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 2 2 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
DATE F_DATASTAMPA DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 48 1 "Data stampa " PROMPT 48 1 "Data stampa "
HELP "Data in cui viene effettuata la stampa" HELP "Data in cui viene effettuata la stampa"
FLAGS "A" FLAGS "A"
END END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
GROUP 3 GROUP 3
PROMPT 2 3 "Anno esercizio " PROMPT 2 3 "Anno esercizio "
HELP "Anno d'esercizio di cui si vuole la lista" HELP "Anno d'esercizio di 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 "Anno" 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
FLAGS "RZ" FLAGS "RZ"
END END
RADIOBUTTON F_MOVIMENTI 38 RADIOBUTTON F_MOVIMENTI 38
BEGIN BEGIN
PROMPT 30 3 "Scelta stampa " PROMPT 30 3 "Scelta stampa "
HELP "Indicare il tipo di stampa" HELP "Indicare il tipo di stampa"
ITEM "0|Lista movimenti" ITEM "0|Lista movimenti"
MESSAGE SHOW,F_CONTROLLO|SHOW,F_REGISTROFIN|SHOW,F_REGISTROINI|HIDE,1@|RESET,1@ MESSAGE SHOW,F_CONTROLLO|SHOW,F_REGISTROFIN|SHOW,F_REGISTROINI|SHOW,F_STAMPA|HIDE,1@|RESET,1@
ITEM "1|Lista movimenti di sola prima nota" ITEM "1|Lista movimenti di sola prima nota"
MESSAGE HIDE,F_CONTROLLO|RESET,F_CONTROLLO|HIDE,1@|RESET,1@|HIDE,F_REGISTROFIN|RESET,F_REGISTROFIN|HIDE,F_REGISTROINI|RESET,F_REGISTROINI MESSAGE HIDE,F_CONTROLLO|RESET,F_CONTROLLO|HIDE,1@|RESET,1@|HIDE,F_REGISTROFIN|RESET,F_REGISTROFIN|HIDE,F_REGISTROINI|RESET,F_REGISTROINI|HIDE,F_STAMPA|RESET,F_STAMPA
END END
LIST F_CONTROLLO 21 LIST F_CONTROLLO 21
BEGIN BEGIN
PROMPT 2 7 "Controllo movimenti errati " PROMPT 2 7 "Controllo movimenti errati "
HELP "Indicare il tipo di controllo per movimenti errati" HELP "Indicare il tipo di controllo per movimenti errati"
ITEM "3|No" MESSAGE HIDE,1@|RESET,1@ ITEM "3|No" MESSAGE HIDE,1@|RESET,1@
ITEM "2|Si" MESSAGE SHOW,1@ ITEM "2|Si" MESSAGE SHOW,1@
ITEM "1|Stampa movimenti errati" MESSAGE SHOW,1@ ITEM "1|Stampa movimenti errati" MESSAGE SHOW,1@
END END
TEXT DLG_NULL TEXT DLG_NULL
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 2 8 "Stampa messaggi : " PROMPT 2 8 "Stampa messaggi : "
END END
BOOLEAN F_ANNOC BOOLEAN F_ANNOC
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 20 8 "Anno di competenza " PROMPT 20 8 "Anno di competenza "
HELP "Indicare se stampa l'anno di competenza" HELP "Indicare se stampa l'anno di competenza"
END END
BOOLEAN F_ALLEGATO BOOLEAN F_ALLEGATO
BEGIN BEGIN
GROUP 1 GROUP 1
PROMPT 20 9 "Allegato iva " PROMPT 20 9 "Allegato iva "
HELP "Indicare se stampare l'allegato IVA" HELP "Indicare se stampare l'allegato IVA"
MESSAGE TRUE DISABLE,F_STAMPA|COPY,F_STAMPA MESSAGE TRUE DISABLE,F_STAMPA|COPY,F_STAMPA
MESSAGE FALSE ENABLE,F_STAMPA MESSAGE FALSE ENABLE,F_STAMPA
END END
RADIOBUTTON F_DECIDI 10 RADIOBUTTON F_DECIDI 10
BEGIN BEGIN
PROMPT 2 10 "Stampa " PROMPT 2 10 "Stampa "
HELP "Indicare il criterio di scelta dei movimenti" HELP "Indicare il criterio di scelta dei movimenti"
ITEM "2|data" MESSAGE DISABLE,2@|RESET,2@|ENABLE,3@ ITEM "2|data" MESSAGE DISABLE,2@|RESET,2@|ENABLE,3@
ITEM "1|numero" MESSAGE DISABLE,3@|RESET,3@|ENABLE,2@ ITEM "1|numero" MESSAGE DISABLE,3@|RESET,3@|ENABLE,2@
END END
DATE F_DATAINI DATE F_DATAINI
BEGIN BEGIN
PROMPT 16 11 "Stampa mov. dalla data " <<<<<<< cg3100a.uml
HELP "Data da cui iniziare la stampa" PROMPT 19 11 "Stampa mov. dalla data "
GROUP 3 HELP "Data da cui iniziare la stampa"
END =======
PROMPT 16 11 "Stampa mov. dalla data "
DATE F_DATAFIN //HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data"
BEGIN >>>>>>> 1.12
PROMPT 52 11 "alla data " GROUP 3
HELP "Data fino a cui stampare i movimenti" END
GROUP 3
END DATE F_DATAFIN
BEGIN
NUMBER F_NUMEROINI 7 <<<<<<< cg3100a.uml
BEGIN PROMPT 55 11 "alla data "
PROMPT 16 12 "Stampa mov. dal numero " HELP "Data fino a cui stampare i movimenti"
USE LF_MOV KEY 1 =======
INPUT NUMREG F_NUMEROINI PROMPT 52 11 "alla data "
DISPLAY "Numero@6" NUMREG >>>>>>> 1.12
DISPLAY "Data@10" DATAREG GROUP 3
DISPLAY "Causale" CODCAUS END
DISPLAY "Documento" NUMDOC
DISPLAY "Descrizione@50" DESCR NUMBER F_NUMEROINI 7
OUTPUT F_NUMEROINI NUMREG BEGIN
CHECKTYPE NORMAL <<<<<<< cg3100a.uml
FLAGS "R" PROMPT 19 12 "Stampa mov. dal numero "
GROUP 2 HELP "Numero del movimento da cui iniziare la stampa"
HELP "Numero del movimento da cui iniziare la stampa" =======
END PROMPT 16 12 "Stampa mov. dal numero "
>>>>>>> 1.12
NUMBER F_NUMEROFIN 7 USE LF_MOV KEY 1
BEGIN INPUT NUMREG F_NUMEROINI
PROMPT 52 12 "al numero " DISPLAY "Numero@6" NUMREG
COPY USE F_NUMEROINI DISPLAY "Data@10" DATAREG
INPUT NUMREG F_NUMEROFIN DISPLAY "Causale" CODCAUS
COPY DISPLAY F_NUMEROINI DISPLAY "Documento" NUMDOC
OUTPUT F_NUMEROFIN NUMREG DISPLAY "Descrizione@50" DESCR
CHECKTYPE NORMAL OUTPUT F_NUMEROINI NUMREG
FLAGS "R" CHECKTYPE NORMAL
NUM_EXPR {(#F_NUMEROFIN==0)||(#F_NUMEROFIN>=#F_NUMEROINI)} FLAGS "R"
WARNING "Limite superiore errato" GROUP 2
GROUP 2 END
HELP "Numero del movimenti fino cui fare la stampa"
END NUMBER F_NUMEROFIN 7
BEGIN
STRING F_CAUSALEINI 3 <<<<<<< cg3100a.uml
BEGIN PROMPT 55 12 "al numero "
PROMPT 2 14 "Stampa dalla causale " HELP "Numero del movimenti fino cui fare la stampa"
USE LF_CAUSALI KEY 1 =======
INPUT CODCAUS F_CAUSALEINI PROMPT 52 12 "al numero "
DISPLAY "Codice causale" CODCAUS >>>>>>> 1.12
DISPLAY "Descrizione@50" DESCR COPY USE F_NUMEROINI
OUTPUT F_CAUSALEINI CODCAUS INPUT NUMREG F_NUMEROFIN
FLAGS "UZ" COPY DISPLAY F_NUMEROINI
HELP "Causale di inizio stampa: vuoto = inizio archivio" OUTPUT F_NUMEROFIN NUMREG
END CHECKTYPE NORMAL
FLAGS "R"
STRING F_CAUSALEFIN 3 NUM_EXPR {(#F_NUMEROFIN==0)||(#F_NUMEROFIN>=#F_NUMEROINI)}
BEGIN WARNING "Limite superiore errato"
PROMPT 40 14 "alla causale " GROUP 2
COPY USE F_CAUSALEINI END
INPUT CODCAUS F_CAUSALEFIN
DISPLAY "Codice causale" CODCAUS STRING F_CAUSALEINI 3
DISPLAY "Descrizione@50" DESCR BEGIN
OUTPUT F_CAUSALEFIN CODCAUS PROMPT 2 14 "Stampa dalla causale "
FLAGS "UZ" USE LF_CAUSALI KEY 1
HELP "Causale di fine stampa: vuoto = fine archivio" INPUT CODCAUS F_CAUSALEINI
END DISPLAY "Codice causale" CODCAUS
DISPLAY "Descrizione@50" DESCR
STRING F_REGISTROINI 3 OUTPUT F_CAUSALEINI CODCAUS
BEGIN FLAGS "UR"
PROMPT 2 15 "Stampa dal registro iva " HELP "Causale di inizio stampa: vuoto = inizio archivio"
USE REG SELECT I0<"3" END
//INPUT CODTAB[1,5] F_ANNO SELECT
INPUT CODTAB[5,7] F_REGISTROINI STRING F_CAUSALEFIN 3
DISPLAY "Anno" CODTAB[1,4] BEGIN
DISPLAY "Cod. registro iva" CODTAB[5,7] PROMPT 40 14 "alla causale "
DISPLAY "Descrizione@40" S0 COPY USE F_CAUSALEINI
OUTPUT F_REGISTROINI CODTAB[5,7] INPUT CODCAUS F_CAUSALEFIN
FLAGS "UZ" DISPLAY "Codice causale" CODCAUS
//CHECKTYPE NORMAL DISPLAY "Descrizione@50" DESCR
HELP "Codice registro iva di inizio stampa: vuoto = inizio archivio" OUTPUT F_CAUSALEFIN CODCAUS
END FLAGS "UR"
HELP "Causale di fine stampa: vuoto = fine archivio"
STRING F_REGISTROFIN 3 END
BEGIN
PROMPT 40 15 "al reg. iva " STRING F_REGISTROINI 3
COPY USE F_REGISTROINI BEGIN
//INPUT CODTAB[1,5] F_ANNO SELECT PROMPT 2 15 "Stampa dal registro iva "
INPUT CODTAB[5,7] F_REGISTROFIN USE REG SELECT I0<"3"
DISPLAY "Anno" CODTAB[1,4] //INPUT CODTAB[1,5] F_ANNO SELECT
DISPLAY "Cod. registro iva" CODTAB[5,7] INPUT CODTAB[5,7] F_REGISTROINI
DISPLAY "Descrizione@40" S0 DISPLAY "Anno" CODTAB[1,4]
OUTPUT F_REGISTROFIN CODTAB[5,7] DISPLAY "Cod. registro iva" CODTAB[5,7]
FLAGS "UZ" DISPLAY "Descrizione@40" S0
//CHECKTYPE NORMAL OUTPUT F_REGISTROINI CODTAB[5,7]
HELP "Codice registro iva di fine stampa: vuoto = fine archivio" FLAGS "UR"
END //CHECKTYPE NORMAL
HELP "Codice registro iva di inizio stampa: vuoto = inizio archivio"
BOOLEAN F_STAMPA END
BEGIN
PROMPT 2 16 "Stampa imponibili, imposte e codici iva " STRING F_REGISTROFIN 3
HELP "Indicare se stampare i valori degli imponibili, dell'imposte e i codici IVA" BEGIN
END PROMPT 40 15 "al reg. iva "
COPY USE F_REGISTROINI
BOOLEAN F_STAMPAMOVP //INPUT CODTAB[1,5] F_ANNO SELECT
BEGIN INPUT CODTAB[5,7] F_REGISTROFIN
PROMPT 2 17 "Stampa movimenti provvisori " DISPLAY "Anno" CODTAB[1,4]
HELP "Indicare se stampare i movimenti provvisori" DISPLAY "Cod. registro iva" CODTAB[5,7]
END DISPLAY "Descrizione@40" S0
OUTPUT F_REGISTROFIN CODTAB[5,7]
/* FLAGS "UR"
TEXT DLG_NULL //CHECKTYPE NORMAL
BEGIN HELP "Codice registro iva di fine stampa: vuoto = fine archivio"
PROMPT 2 17 "N.B. se non indicato nessun valore stampa completa in ordine di data" END
END
*/ BOOLEAN F_STAMPA
BEGIN
BUTTON DLG_OK 9 2 PROMPT 2 16 "Stampa imponibili, imposte e codici iva "
BEGIN HELP "Indicare se stampare i valori degli imponibili, dell'imposte e i codici IVA"
PROMPT -12 -1 "" END
END
BOOLEAN F_STAMPAMOVP
BUTTON DLG_QUIT 9 2 BEGIN
BEGIN PROMPT 2 17 "Stampa movimenti provvisori "
PROMPT -22 -1 "" HELP "Indicare se stampare i movimenti provvisori"
END END
ENDPAGE /*
TEXT DLG_NULL
ENDMASK BEGIN
PROMPT 2 17 "N.B. se non indicato nessun valore stampa completa in ordine di data"
END
*/
BUTTON DLG_OK 9 2
BEGIN
PROMPT -12 -1 ""
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,159 +1,163 @@
#include "cg3100.h" #include "cg3100.h"
PAGE "" -1 -1 73 16 PAGE "" -1 -1 73 16
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 2 1 "Ditta "
FLAGS "FRD" FLAGS "FRD"
USE LF_NDITTE KEY 1 USE LF_NDITTE KEY 1
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Codice" CODDITTA DISPLAY "Codice" CODDITTA
DISPLAY "Ragione sociale @50" RAGSOC DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
STRING F_RAGSOC 50 STRING F_RAGSOC 50
BEGIN BEGIN
PROMPT 2 2 "Ragione sociale " PROMPT 2 2 "Ragione sociale "
FLAGS "D" FLAGS "D"
END END
DATE F_DATASTAMPA DATE F_DATASTAMPA
BEGIN BEGIN
PROMPT 48 1 "Data stampa " PROMPT 48 1 "Data stampa "
HELP "Data in cui viene effettuata la stampa" HELP "Data in cui viene effettuata la stampa"
FLAGS "A" FLAGS "A"
END END
NUMBER F_ANNO 4 NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 2 4 "Anno esercizio " PROMPT 2 4 "Anno esercizio "
HELP "Anno d'esercizio di cui si vuole la stampa" HELP "Anno d'esercizio di 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 "Anno" 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
FLAGS "RZ" FLAGS "RZ"
END END
DATE F_DATAINI DATE F_DATAINI
BEGIN BEGIN
PROMPT 2 6 "Stampa movimenti dalla data " PROMPT 2 6 "Stampa movimenti dalla data "
HELP "Data da cui iniziare la stampa" HELP "Data da cui iniziare la stampa"
END END
DATE F_DATAFIN DATE F_DATAFIN
BEGIN BEGIN
PROMPT 45 6 "alla data " PROMPT 45 6 "alla data "
HELP "Data fino a cui eseguire la stampa" HELP "Data fino a cui eseguire la stampa"
END END
LIST F_TIPOELENCO 8 LIST F_TIPOELENCO 8
BEGIN BEGIN
PROMPT 2 7 "Tipo elenco " PROMPT 2 7 "Tipo elenco "
HELP "Indicare cosa includere nella stampa" HELP "Indicare cosa includere nella stampa"
ITEM "C|Clienti" ITEM "C|Clienti"
MESSAGE HIDE,2@|SHOW,1@|RESET,1@ MESSAGE HIDE,2@|SHOW,1@|RESET,1@
ITEM "F|Fornitori" ITEM "F|Fornitori"
MESSAGE HIDE,2@|SHOW,1@|RESET,1@ MESSAGE HIDE,2@|SHOW,1@|RESET,1@
ITEM "E|Entrambi" ITEM "E|Entrambi"
MESSAGE HIDE,1@|SHOW,2@|RESET,2@ MESSAGE HIDE,1@|SHOW,2@|RESET,2@
END END
NUMBER F_CODICEINI 6 NUMBER F_CODICEINI 6
BEGIN BEGIN
PROMPT 2 8 "Stampa dal codice " PROMPT 2 8 "Stampa dal codice "
HELP "Indicare il codice da cui iniziare la stampa" HELP "Indicare il codice da cui iniziare la stampa"
GROUP 1 GROUP 1
USE LF_CLIFO USE LF_CLIFO
INPUT TIPOCF F_TIPOELENCO SELECT INPUT TIPOCF F_TIPOELENCO SELECT
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEINI CODCF OUTPUT F_CODICEINI CODCF
FLAGS "R" FLAGS "R"
END END
NUMBER F_CODICEFIN 6 NUMBER F_CODICEFIN 6
BEGIN BEGIN
PROMPT 45 8 "al codice " PROMPT 45 8 "al codice "
HELP "Indicare il codice a cui terminare la stampa" HELP "Indicare il codice a cui terminare la stampa"
GROUP 1 GROUP 1
COPY USE F_CODICEINI COPY USE F_CODICEINI
INPUT TIPOCF F_TIPOELENCO SELECT INPUT TIPOCF F_TIPOELENCO SELECT
DISPLAY "Tipo" TIPOCF DISPLAY "Tipo" TIPOCF
DISPLAY "Codice" CODCF DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_CODICEFIN CODCF OUTPUT F_CODICEFIN CODCF
FLAGS "R" NUM_EXPR {(#F_CODICEFIN==0)||(#F_CODICEFIN>=#F_CODICEINI)}
END WARNING "Limite superiore errato"
FLAGS "R"
NUMBER F_CODICEINI1 6 END
BEGIN
PROMPT 2 8 "Stampa dal codice " NUMBER F_CODICEINI1 6
HELP "Indicare il codice da cui iniziare la stampa" BEGIN
GROUP 2 PROMPT 2 8 "Stampa dal codice "
COPY USE F_CODICEINI HELP "Indicare il codice da cui iniziare la stampa"
INPUT TIPOCF F_CODICEINI1 GROUP 2
DISPLAY "Tipo" TIPOCF COPY USE F_CODICEINI
DISPLAY "Codice" CODCF INPUT TIPOCF F_CODICEINI1
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Tipo" TIPOCF
OUTPUT F_CODICEINI1 CODCF DISPLAY "Codice" CODCF
FLAGS "R" DISPLAY "Ragione sociale@50" RAGSOC
END OUTPUT F_CODICEINI1 CODCF
FLAGS "R"
NUMBER F_CODICEFIN1 6 END
BEGIN
PROMPT 45 8 "al codice " NUMBER F_CODICEFIN1 6
HELP "Indicare il codice a cui terminare la stampa" BEGIN
GROUP 2 PROMPT 45 8 "al codice "
COPY USE F_CODICEINI HELP "Indicare il codice a cui terminare la stampa"
INPUT TIPOCF F_CODICEFIN1 GROUP 2
DISPLAY "Tipo" TIPOCF COPY USE F_CODICEINI
DISPLAY "Codice" CODCF INPUT TIPOCF F_CODICEFIN1
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Tipo" TIPOCF
OUTPUT F_CODICEFIN1 CODCF DISPLAY "Codice" CODCF
FLAGS "R" DISPLAY "Ragione sociale@50" RAGSOC
END OUTPUT F_CODICEFIN1 CODCF
NUM_EXPR {(#F_CODICEFIN1==0)||(#F_CODICEFIN1>=#F_CODICEINI1)}
BOOLEAN F_CAMBIO WARNING "Limite superiore errato"
BEGIN FLAGS "R"
//GROUP 2 END
PROMPT 2 10 "Cambio pagina per cliente/fornitore "
HELP "Indicare se cambiare pagina nel passaggio da clienti a fornitori" BOOLEAN F_CAMBIO
END BEGIN
//GROUP 2
BOOLEAN F_STAMPAMOVP PROMPT 2 10 "Cambio pagina per cliente/fornitore "
BEGIN HELP "Indicare se cambiare pagina nel passaggio da cliente/fornitore a cliente/fornitore"
PROMPT 2 11 "Stampa movimenti provvisori " END
HELP "Indicare se stampare i movimenti provvisori"
END BOOLEAN F_STAMPAMOVP
BEGIN
/* PROMPT 2 11 "Stampa movimenti provvisori "
TEXT DLG_NULL HELP "Indicare se stampare i movimenti provvisori"
BEGIN END
PROMPT 3 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) "
END /*
*/ TEXT DLG_NULL
BEGIN
BUTTON DLG_OK 9 2 PROMPT 3 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) "
BEGIN END
PROMPT -12 -1 "" */
END
BUTTON DLG_OK 9 2
BUTTON DLG_QUIT 9 2 BEGIN
BEGIN PROMPT -12 -1 ""
PROMPT -22 -1 "" END
END
BUTTON DLG_QUIT 9 2
ENDPAGE BEGIN
PROMPT -22 -1 ""
ENDMASK END
ENDPAGE
ENDMASK

View File

@ -36,7 +36,7 @@ class TMastrini_application : public TPrintapp
TDociva_array _b; TDociva_array _b;
TRelation* _rel; TRelation* _rel;
TMask* _msk; TMask* _msk;
TTable* _tabivd, * _tabtpd, * _tabreg, * _tabesc; TTable* _tabivd, * _tabtpd, * _tabreg, * _tabesc;
TLocalisamfile* _mov; TLocalisamfile* _mov;
TLocalisamfile* _nditte; TLocalisamfile* _nditte;
@ -44,6 +44,7 @@ class TMastrini_application : public TPrintapp
TLocalisamfile* _comuni; TLocalisamfile* _comuni;
TLocalisamfile* _clifo; TLocalisamfile* _clifo;
TLocalisamfile* _caus; TLocalisamfile* _caus;
Saldo* _sld;
TDate _data_ini,_data_fine,_data_finese,_data_finesesucc,_ultima_data_reg; TDate _data_ini,_data_fine,_data_finese,_data_finesesucc,_ultima_data_reg;
TDate _datareg,_datadoc,_data_inizioese,_datareg_stampa,_inizioes; TDate _datareg,_datadoc,_data_inizioese,_datareg_stampa,_inizioes;
@ -376,12 +377,12 @@ bool TMastrini_application::almeno_un_record()
long numreg = rmov.get_long(RMV_NUMREG); long numreg = rmov.get_long(RMV_NUMREG);
_mov->setkey(1); _mov->setkey(1);
_mov->zero(); _mov->curr().zero();
_mov->put(MOV_NUMREG,numreg); _mov->curr().put(MOV_NUMREG,numreg);
_mov->read(); _mov->read();
if (_mov->bad()) if (_mov->bad())
_mov->zero(); _mov->zero();
datacomp = (_mov->get(MOV_DATACOMP)); datacomp = (_mov->curr().get(MOV_DATACOMP));
if (_annomsk == 0) if (_annomsk == 0)
datareg = rmov.get_date(RMV_DATAREG); datareg = rmov.get_date(RMV_DATAREG);
@ -635,6 +636,7 @@ void TMastrini_application::stampa_totali198()
bool TMastrini_application::preprocess_page(int file, int counter) bool TMastrini_application::preprocess_page(int file, int counter)
{ {
TLocalisamfile & rmov = current_cursor()->file(LF_RMOV);
long rec; long rec;
TDate datasucc; TDate datasucc;
TString datasuccstring,dataregrmovstring; TString datasuccstring,dataregrmovstring;
@ -742,14 +744,14 @@ bool TMastrini_application::preprocess_page(int file, int counter)
_importo = current_cursor()->curr(LF_RMOV).get_real(RMV_IMPORTO); _importo = current_cursor()->curr(LF_RMOV).get_real(RMV_IMPORTO);
_importo_str = _importo.string("###############"); _importo_str = _importo.string("###############");
_mov->setkey(1); _mov->setkey(1);
_mov->zero(); _mov->curr().zero();
_mov->put(MOV_NUMREG,_numreg); _mov->curr().put(MOV_NUMREG,_numreg);
_mov->read(); _mov->read();
if (_mov->bad()) if (_mov->bad())
_mov->zero(); _mov->zero();
_annoes = _mov->get_int(MOV_ANNOES); _annoes = _mov->get_int(MOV_ANNOES);
_regiva = _mov->get(MOV_REG); _regiva = _mov->curr().get(MOV_REG);
_annoiva = _mov->get_int(MOV_ANNOIVA); _annoiva = _mov->curr().get_int(MOV_ANNOIVA);
// Controlla se saldo e' diverso da 0 // Controlla se saldo e' diverso da 0
@ -759,17 +761,17 @@ bool TMastrini_application::preprocess_page(int file, int counter)
if (_annomsk == 0) if (_annomsk == 0)
{ {
_datareg = (_mov->get(MOV_DATAREG)); _datareg = (_mov->curr().get(MOV_DATAREG));
_datareg_stampa = _datareg; _datareg_stampa = _datareg;
} }
else else
if (_annomsk != 0) if (_annomsk != 0)
{ {
_datareg = _mov->get(MOV_DATACOMP); _datareg = _mov->curr().get(MOV_DATACOMP);
_datareg_stampa = _mov->get(MOV_DATAREG); _datareg_stampa = _mov->curr().get(MOV_DATAREG);
} }
provvis = _mov->get(MOV_PROVVIS); provvis = _mov->curr().get(MOV_PROVVIS);
_dataregs = _datareg_stampa.string(); _dataregs = _datareg_stampa.string();
@ -787,8 +789,8 @@ bool TMastrini_application::preprocess_page(int file, int counter)
if (_numcarat == 2) if (_numcarat == 2)
set_row (1, "@197g*"); set_row (1, "@197g*");
_codcaus = _mov->get(MOV_CODCAUS); _codcaus = _mov->curr().get(MOV_CODCAUS);
_tipodoc = _mov->get(MOV_TIPODOC); _tipodoc = _mov->curr().get(MOV_TIPODOC);
if (_stampatotiva && (_tmcf == 'C' || _tmcf == 'F')) if (_stampatotiva && (_tmcf == 'C' || _tmcf == 'F'))
{ {
if (_tipodoc != "") if (_tipodoc != "")
@ -797,40 +799,79 @@ bool TMastrini_application::preprocess_page(int file, int counter)
_b.add_riga(_descrdociva,_importo, _natdoc); _b.add_riga(_descrdociva,_importo, _natdoc);
} }
} }
_datadoc = (_mov->get(MOV_DATADOC)); _datadoc = (_mov->curr().get(MOV_DATADOC));
_datadocs = _datadoc.string(); _datadocs = _datadoc.string();
_numdoc = _mov->get(MOV_NUMDOC); _numdoc = _mov->curr().get(MOV_NUMDOC);
descrizione_causale(); descrizione_causale();
_descrizionemov = _mov->get(MOV_DESCR); _descrizionemov = _mov->curr().get(MOV_DESCR);
_numgio = atol(_mov->get(MOV_NUMGIO)); _numgio = atol(_mov->curr().get(MOV_NUMGIO));
_descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR); _descrizione = current_cursor()->curr(LF_RMOV).get(RMV_DESCR);
const bool st132 = _numcarat == 1; if (_numcarat == 1) // Stampa 132 caratteri
const TString16 f0(st132 ? "@42g%.18s" : "@42g%.25s"), {
f1(st132 ? "@61g%.23s" : "@68g%.32s"); if (_descrizione != "")
if (_descrizione != "") {
{ if (_descrizionemov != "")
if (_descrizionemov != "") {
set_row (1,(const char *) f0, (const char*) _descrizionemov); set_row (1,"@42g%.18s", (const char*) _descrizionemov);
else if (_descrizionemov == "") set_row (1,"@61g%.23s", (const char*) _descrizione);
set_row (1,(const char *) f0, (const char*) _descrcaus); }
set_row (1,(const char *) f1, (const char*) _descrizione); else if (_descrizionemov == "")
} {
else set_row (1,"@42g%.18s", (const char*) _descrcaus);
if (_descrizione == "") set_row (1,"@61g%.23s", (const char*) _descrizione);
{ }
set_row (1,(const char *) f0, (const char*) _descrcaus); }
if (_descrizionemov != "") else if (_descrizione == "")
set_row (1,(const char *) f1, (const char*) _descrizionemov); if (_descrizionemov != "")
else {
if (_descrizionemov == "") set_row (1,"@42g%.18s", (const char*) _descrcaus);
{ set_row (1,"@61g%.23s", (const char*) _descrizionemov);
conto(_gruppocontr,_contocontr,FALSE); }
TConto tc (_gruppocontr,_contocontr,_sottocontocontr,_tipo_contr); else
TString descr_contr = tc.descrizione(); if (_descrizionemov == "")
set_row (1,(const char *) f1, (const char*) descr_contr); {
} conto(_gruppocontr,_contocontr,FALSE);
TConto tc (_gruppocontr,_contocontr,_sottocontocontr,_tipo_contr);
TString descr_contr = tc.descrizione();
set_row (1,"@42g%.18s", (const char*) _descrcaus);
set_row (1,"@61g%.23s", (const char*) descr_contr);
}
} }
else
if (_numcarat == 2) // Stampa 198 caratteri
{
if (_descrizione != "")
{
if (_descrizionemov != "")
{
set_row (1,"@42g%.25s", (const char*) _descrizionemov);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
else if (_descrizionemov == "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizione);
}
}
else if (_descrizione == "")
if (_descrizionemov != "")
{
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) _descrizionemov);
}
else
if (_descrizionemov == "")
{
conto(_gruppocontr,_contocontr,FALSE);
TConto tc (_gruppocontr,_contocontr,_sottocontocontr,_tipo_contr);
TString descr_contr = tc.descrizione();
set_row (1,"@42g%.25s", (const char*) _descrcaus);
set_row (1,"@68g%.32s", (const char*) descr_contr);
}
}
if (_sezione == "D") if (_sezione == "D")
{ {
_totale_periodo_dare += _importo; _totale_periodo_dare += _importo;
@ -867,7 +908,7 @@ bool TMastrini_application::preprocess_page(int file, int counter)
if (_numcarat == 2) if (_numcarat == 2)
{ {
ricerca_regiva(); ricerca_regiva();
_protiva = atol(_mov->get(MOV_PROTIVA)); _protiva = atol(_mov->curr().get(MOV_PROTIVA));
if (_protiva != 0) if (_protiva != 0)
set_row (1,"@191g%5d", _protiva); set_row (1,"@191g%5d", _protiva);
@ -1007,12 +1048,12 @@ void TMastrini_application::stampa_totaliiva()
void TMastrini_application::descrizione_causale() void TMastrini_application::descrizione_causale()
{ {
_caus->setkey(1); _caus->setkey(1);
_caus->zero(); _caus->curr().zero();
_caus->put(CAU_CODCAUS, _codcaus); _caus->curr().put(CAU_CODCAUS, _codcaus);
_caus->read(); _caus->read();
if (_caus->bad()) if (_caus->bad())
_caus->zero(); _caus->zero();
_descrcaus = _caus->get(CAU_DESCR); _descrcaus = _caus->curr().get(CAU_DESCR);
} }
// Ricerca sulla tabella dei tipi documento, la descrizione e la natura del // Ricerca sulla tabella dei tipi documento, la descrizione e la natura del
@ -1022,22 +1063,22 @@ void TMastrini_application::documenti_iva()
{ {
TString dep; TString dep;
_tabtpd->zero(); _tabtpd->curr().zero();
dep << format ("%2s",(const char*) _tipodoc); dep << format ("%2s",(const char*) _tipodoc);
_tabtpd->put("CODTAB", (const char*) dep); _tabtpd->curr().put("CODTAB", (const char*) dep);
_tabtpd->read(); _tabtpd->read();
_descrdociva = _tabtpd->get("S0"); _descrdociva = _tabtpd->curr().get("S0");
_natdoc = atoi(_tabtpd->get("I0")); _natdoc = atoi(_tabtpd->curr().get("I0"));
} }
void TMastrini_application::ricerca_regiva() void TMastrini_application::ricerca_regiva()
{ {
TString16 dep; TString16 dep;
_tabreg->zero(); _tabreg->curr().zero();
dep << format("%04d", _annoiva); dep << format("%04d", _annoiva);
dep << format("%3s" , (const char*) _regiva); dep << format("%3s" , (const char*) _regiva);
_tabreg->put("CODTAB", (const char*) dep); _tabreg->curr().put("CODTAB", (const char*) dep);
_tabreg->read(); _tabreg->read();
_tipo = _tabreg->get_int("I0"); _tipo = _tabreg->get_int("I0");
} }
@ -1081,6 +1122,7 @@ bool TMastrini_application::set_print(int)
KEY tasto; KEY tasto;
int crt; int crt;
TLocalisamfile* fl; TLocalisamfile* fl;
TString data1,data2;
_puoi_stampare = TRUE; _puoi_stampare = TRUE;
@ -1181,12 +1223,12 @@ void TMastrini_application::data_fine_esercizio(int anno)
{ {
TString16 dep; TString16 dep;
_tabesc->zero(); _tabesc->curr().zero();
dep << format ("%04d", anno); dep << format ("%04d", anno);
_tabesc->put("CODTAB", (const char*) dep); _tabesc->curr().put("CODTAB", (const char*) dep);
_tabesc->read(); _tabesc->read();
_data_finese = _tabesc->get("D1"); _data_finese = _tabesc->curr().get("D1");
_data_inizioese = _tabesc->get("D0"); _data_inizioese = _tabesc->curr().get("D0");
} }
void TMastrini_application::preprocess_header() void TMastrini_application::preprocess_header()
@ -1230,29 +1272,28 @@ void TMastrini_application::ricerca_dati_ditta()
long app; long app;
_nditte->setkey(1); _nditte->setkey(1);
_nditte->zero(); _nditte->curr().zero();
_nditte->put(NDT_CODDITTA,_codice_ditta); _nditte->curr().put(NDT_CODDITTA,_codice_ditta);
_nditte->read(); _nditte->read();
app=_nditte->get_long(NDT_CODDITTA); app=_nditte->curr().get_long(NDT_CODDITTA);
_ragsoc=_nditte->get(NDT_RAGSOC); _ragsoc=_nditte->curr().get(NDT_RAGSOC);
_unloc->setkey(1); _unloc->setkey(1);
_unloc->zero(); _unloc->curr().zero();
_unloc->put(ULC_CODDITTA,app); _unloc->curr().put(ULC_CODDITTA,app);
_unloc->put(ULC_CODULC,"1"); _unloc->curr().put(ULC_CODULC,"1");
_unloc->read(); _unloc->read();
_indulc=_unloc->get(ULC_INDULC); _indulc=_unloc->curr().get(ULC_INDULC);
_civulc=_unloc->get(ULC_CIVULC); _civulc=_unloc->curr().get(ULC_CIVULC);
_capulc=_unloc->get(ULC_CAPULC); _capulc=_unloc->curr().get(ULC_CAPULC);
_comulc=_unloc->get(ULC_COMULC); _comulc=_unloc->curr().get(ULC_COMULC);
_comuni->setkey(1); _comuni->setkey(1);
_comuni->zero(); _comuni->curr().zero();
_comuni->put(COM_COM,_comulc); _comuni->curr().put(COM_COM,_comulc);
if (_comuni->read() != NOERR) _comuni->read();
_comuni->zero(); _com=_comuni->curr().get(COM_DENCOM);
_com=_comuni->get(COM_DENCOM); _prov=_comuni->curr().get(COM_PROVCOM);
_prov=_comuni->get(COM_PROVCOM);
} }
// Crea l'intestazione per la stampa a 132 e a 198 caratteri // Crea l'intestazione per la stampa a 132 e a 198 caratteri
@ -1404,12 +1445,12 @@ void TMastrini_application::calcola_progressivi_al()
long numreg = rmov.get_long(RMV_NUMREG); long numreg = rmov.get_long(RMV_NUMREG);
_mov->setkey(1); _mov->setkey(1);
_mov->zero(); _mov->curr().zero();
_mov->put(MOV_NUMREG,numreg); _mov->curr().put(MOV_NUMREG,numreg);
_mov->read(); _mov->read();
if (_mov->bad()) if (_mov->bad())
_mov->zero(); _mov->zero();
datacomp = (_mov->get(MOV_DATACOMP)); datacomp = (_mov->curr().get(MOV_DATACOMP));
if (_annomsk == 0) if (_annomsk == 0)
{ {
@ -1532,9 +1573,8 @@ void TMastrini_application::calcola_progressivi()
{ {
if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5)) if ((_indbil == 1) || (_indbil == 2) || (_indbil == 5))
{ {
TSaldo sld;
const TRecnotype pos = saldi.recno(); 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); saldi.readat(pos);
if (saldo> ZERO) if (saldo> ZERO)
@ -1607,7 +1647,7 @@ void TMastrini_application::stampa_progressivi()
void TMastrini_application::ricerca_clifo() void TMastrini_application::ricerca_clifo()
{ {
TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom; TString ragsoc,paiv,cofi,indcf,capcf,ptel,tel,statocf,comcf,dencom,provcom,dep;
TLocalisamfile clifo(LF_CLIFO); TLocalisamfile clifo(LF_CLIFO);
TLocalisamfile pconti(LF_PCON); TLocalisamfile pconti(LF_PCON);
TString16 dataini,datafine; TString16 dataini,datafine;
@ -1634,20 +1674,18 @@ void TMastrini_application::ricerca_clifo()
comcf = clifo.get(CLI_COMCF); comcf = clifo.get(CLI_COMCF);
_comuni->setkey(1); _comuni->setkey(1);
_comuni->zero(); _comuni->curr().zero();
_comuni->put(COM_STATO, statocf); _comuni->curr().put(COM_STATO, statocf);
_comuni->put(COM_COM, comcf); _comuni->curr().put(COM_COM, comcf);
if (_comuni->read() != NOERR) _comuni->read();
_comuni->zero(); dencom = _comuni->curr().get(COM_DENCOM);
dencom = _comuni->get(COM_DENCOM); provcom = _comuni->curr().get(COM_PROVCOM);
provcom = _comuni->get(COM_PROVCOM);
pconti.setkey(1); pconti.setkey(1);
pconti.zero(); pconti.zero();
pconti.put(PCN_GRUPPO, _gruppo); pconti.put(PCN_GRUPPO, _gruppo);
pconti.put(PCN_CONTO, _conto); pconti.put(PCN_CONTO, _conto);
if (pconti.read() == NOERR) pconti.read();
pconti.zero();
_sezivd = pconti.get_char(PCN_SEZIVD); _sezivd = pconti.get_char(PCN_SEZIVD);
_lettivd = pconti.get_char(PCN_LETTIVD); _lettivd = pconti.get_char(PCN_LETTIVD);
numrivd = pconti.get_int(PCN_NUMRIVD); numrivd = pconti.get_int(PCN_NUMRIVD);
@ -1725,8 +1763,7 @@ void TMastrini_application::ricerca_classe_IV(bool scelta)
pconti.put(PCN_CONTO, _conto); pconti.put(PCN_CONTO, _conto);
if (scelta) if (scelta)
pconti.put(PCN_SOTTOCONTO, _sottoc); pconti.put(PCN_SOTTOCONTO, _sottoc);
if (pconti.read() != NOERR) pconti.read();
pconti.zero();
_sezivd = pconti.get_char(PCN_SEZIVD); _sezivd = pconti.get_char(PCN_SEZIVD);
_lettivd = pconti.get_char(PCN_LETTIVD); _lettivd = pconti.get_char(PCN_LETTIVD);
_numrivd_int = pconti.get_int (PCN_NUMRIVD); _numrivd_int = pconti.get_int (PCN_NUMRIVD);
@ -1737,7 +1774,7 @@ void TMastrini_application::ricerca_classe_IV(bool scelta)
void TMastrini_application::ricerca_gruppo() void TMastrini_application::ricerca_gruppo()
{ {
TString80 descriz,descriz2; TString80 descr,descriz,descriz2,dep;
TString dataini,datafine; TString dataini,datafine;
ricerca_classe_IV (TRUE); //Esiste a livello di sottoconto ricerca_classe_IV (TRUE); //Esiste a livello di sottoconto
@ -1874,6 +1911,7 @@ bool TMastrini_application::user_create()
_tabtpd = new TTable (TAB_TPD); _tabtpd = new TTable (TAB_TPD);
_tabreg = new TTable (TAB_REG); _tabreg = new TTable (TAB_REG);
_tabesc = new TTable (TAB_ESC); _tabesc = new TTable (TAB_ESC);
_sld = new TSaldo ();
_msk = new TMask("cg3200a"); _msk = new TMask("cg3200a");
_msk->set_handler(F_SOTTOCINI_CONTO, sottoc_handler_ini); _msk->set_handler(F_SOTTOCINI_CONTO, sottoc_handler_ini);
@ -1900,7 +1938,9 @@ bool TMastrini_application::user_destroy()
delete _tabivd; delete _tabivd;
delete _tabtpd; delete _tabtpd;
delete _tabreg; delete _tabreg;
delete _tabesc; delete _tabesc;
delete _sld;
return TRUE; return TRUE;
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,14 +1,17 @@
// cg3400a.h // cg3400a.h
#define CODREG 100 #define CODREG 100
#define DATA_DA 101 #define DATA_DA 101
#define DATA_A 102 #define DATA_A 102
#define STAMPA_DEF 103 #define STAMPA_DEF 103
#define PAGINA_DA 104 #define PAGINA_DA 104
#define REG_DESC 107 #define REG_DESC 107
//#define REG_ANNO 108 //#define REG_ANNO 108
#define ANNO_ESER 108 #define ANNO_ESER 108
#define STAMPA_WIDTH 109 #define STAMPA_WIDTH 109
#define STAMPA_LEN 110 #define STAMPA_LEN 110
#define F_CODDITTA 111
#define F_RAGSOC 112

View File

@ -1,122 +1,140 @@
#include "cg3400a.h" #include "cg3400a.h"
PAGE "Stampa Libro Giornale" -1 -1 70 15 PAGE "Stampa Libro Giornale" -1 -1 78 18
STRING CODREG 3 GROUPBOX DLG_NULL 78 3
BEGIN BEGIN
PROMPT 1 1 "Codice registro " PROMPT 1 0 ""
HELP "Codice del libro giornale da stampare" END
USE REG SELECT (I0 = 5) || (I0 = 4)
// INPUT CODTAB[1,4] ANNO_ESER NUMBER F_CODDITTA 5
INPUT CODTAB[5,7] CODREG BEGIN
DISPLAY "Anno" CODTAB[1,4] PROMPT 3 1 "Ditta "
DISPLAY "Codice" CODTAB[5,7] FLAGS "FRD"
DISPLAY "Descrizione@50" S0 USE LF_NDITTE KEY 1
DISPLAY "Tipo" I0 CHECKTYPE REQUIRED
OUTPUT ANNO_ESER CODTAB[1,4] INPUT CODDITTA F_CODDITTA
OUTPUT CODREG CODTAB[5,7] DISPLAY "Codice" CODDITTA
OUTPUT REG_DESC S0 DISPLAY "Ragione sociale @50" RAGSOC
OUTPUT PAGINA_DA I1 OUTPUT F_RAGSOC RAGSOC
// OUTPUT DATA_DA D0 KEY 1
// OUTPUT DATA_A D1 END
// CHECKTYPE NORMAL
WARNING "Registro inesistente" STRING F_RAGSOC 50
FLAGS "UZ" BEGIN
END PROMPT 17 1 "Ragione "
FLAGS "D"
NUMBER ANNO_ESER 4 END
BEGIN
PROMPT 30 1 "Esercizio " STRING CODREG 3
USE ESC BEGIN
INPUT CODTAB ANNO_ESER PROMPT 1 4 "Codice registro "
DISPLAY "Anno" CODTAB HELP "Codice del libro giornale da stampare"
DISPLAY "Data inizio " D0 USE REG SELECT (I0 = 5) || (I0 = 4)
DISPLAY "Data fine " D1 // INPUT CODTAB[1,4] ANNO_ESER
DISPLAY "Data scarico" D2 INPUT CODTAB[5,7] CODREG
OUTPUT ANNO_ESER CODTAB DISPLAY "Anno" CODTAB[1,4]
// CHECKTYPE REQUIRED DISPLAY "Codice" CODTAB[5,7]
FLAGS "ZH" DISPLAY "Descrizione@50" S0
END DISPLAY "Tipo" I0
// OUTPUT ANNO_ESER CODTAB[1,4]
STRING REG_DESC 50 OUTPUT CODREG CODTAB[5,7]
BEGIN OUTPUT REG_DESC S0
PROMPT 1 3 "Descrizione: " // OUTPUT PAGINA_DA I1
FLAGS "D" // OUTPUT DATA_DA D0
END // OUTPUT DATA_A D1
// CHECKTYPE NORMAL
GROUPBOX DLG_NULL 25 5 WARNING "Registro inesistente"
BEGIN FLAGS "U"
PROMPT 1 5 "Intervallo" END
END
NUMBER ANNO_ESER 4
RADIOBUTTON DLG_NULL 20 BEGIN
BEGIN PROMPT 30 5 "Esercizio "
PROMPT 1 5 "" FLAGS "ZH"
HELP "Indicare l'intervallo di pagine da stampare" END
ITEM "1|Tutto" MESSAGE DISABLE, PAGINA_DA
ITEM "2|Da pagina" MESSAGE ENABLE, PAGINA_DA STRING REG_DESC 50
END BEGIN
// PROMPT 1 6 "Descrizione "
NUMBER PAGINA_DA 5 PROMPT 25 4 ""
BEGIN FLAGS "D"
PROMPT 13 8 "" END
HEL‡P "Numero di pagina da cui iniziare la stampa"
END DATE DATA_DA
BEGIN
PROMPT 1 6 "Dalla data "
GROUPBOX DLG_NULL 33 5 HELP "Stampa i movimenti a partire dalla data specificata"
BEGIN END
PROMPT 33 5 "Formato pagina"
END DATE DATA_A
BEGIN
LISTBOX STAMPA_WIDTH 3 PROMPT 40 6 "Alla data "
BEGIN HELP "Stampa i movimenti fino alla data specificata"
PROMPT 35 6 "Numero di colonne " // VALIDATE DATE_CMP_FUNC >= DATA_DA
HELP "Numero di colonne del modulo di stampa (larghezza)" WARNING "Specificare la data di fine stampa"
ITEM "1|132 colonne" CHECKTYPE REQUIRED
ITEM "2|198 colonne" END
END
NUMBER STAMPA_LEN 3 GROUPBOX DLG_NULL 30 4
BEGIN BEGIN
PROMPT 35 7 "Numero di righe " PROMPT 1 8 "Intervallo"
HELP "Numero di righe del modulo di stampa (altezza)" END
END
RADIOBUTTON DLG_NULL 12
DATE DATA_DA BEGIN
BEGIN PROMPT 1 8 ""
PROMPT 2 10 "Dalla data " HELP "Indicare l'intervallo di pagine da stampare"
HELP "Data da cui iniziare la stampa" ITEM "1|Tutto" MESSAGE CLEAR,PAGINA_DA|DISABLE, PAGINA_DA
END ITEM "2|Da pagina " MESSAGE ENABLE, PAGINA_DA
END
DATE DATA_A
BEGIN NUMBER PAGINA_DA 5
PROMPT 2 11 "Alla data " BEGIN
HELP "Data a cui terminare la stampa" PROMPT 18 10 ""
// VALIDATE DATE_CMP_FUNC >= DATA_DA HELP "Numero di pagina da cui iniziare la stampa"
WARNING "Specificare la data di fine stampa" END
CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 35 4
BOOLEAN STAMPA_DEF BEGIN
BEGIN PROMPT 40 8 "Formato pagina"
PROMPT 34 10 "Stampa definitiva" END
HELP "Indicare se stampare su bollato"
MESSAGE TRUE DISABLE,DATA_DA | CLEAR, DATA_DA LISTBOX STAMPA_WIDTH 4
MESSAGE FALSE ENABLE,DATA_DA BEGIN
END PROMPT 41 9 "Numero di colonne "
HELP "Numero di colonne per pagina del modulo di stampa."
BUTTON DLG_PRINT 9 2 ITEM "1|132"
BEGIN ITEM "2|198"
PROMPT -12 -1 "~Stampa" END
MESSAGE EXIT,K_ENTER
END NUMBER STAMPA_LEN 3
BEGIN
BUTTON DLG_QUIT 9 2 PROMPT 41 10 "Numero di righe "
BEGIN HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe"
PROMPT -22 -1 "" END
END
BOOLEAN STAMPA_DEF
ENDPAGE BEGIN
PROMPT 2 13 "Stampa definitiva su bollato"
ENDMASK HELP "Seleziona la stampa su bollato oppure, se vuoto, la stampa di prova"
MESSAGE TRUE DISABLE,DATA_DA | CLEAR, DATA_DA
MESSAGE FALSE ENABLE,DATA_DA
END
BUTTON DLG_PRINT 9 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,41 +1,39 @@
#include "cg3400b.h" #include "cg3400b.h"
PAGE "Progressivi precedenti" -1 -1 58 10 PAGE "Stampa giornale - progressivi precedenti" -1 -1 58 10
NUMBER N_RIGA_STAMPATO 6 NUMBER N_RIGA_STAMPATO 6
BEGIN BEGIN
PROMPT 1 1 "Ultimo numero di riga stampato " PROMPT 1 1 "Ultimo numero di riga stampato "
FLAGS "D" END
END
NUMBER PROGR_DARE 15
NUMBER PROGR_DARE 6 BEGIN
BEGIN PROMPT 1 3 "Progressivo dare "
PROMPT 1 3 "Progressivo dare " PICTURE "."
FLAGS "D" END
END
DATE ULTIMA_DATA
DATE ULTIMA_DATA BEGIN
BEGIN PROMPT 1 5 "Ultima data di stampa "
PROMPT 1 5 "Ultima data di stampa " END
FLAGS "D"
END BUTTON DLG_OK 9 2
BEGIN
BUTTON DLG_OK 9 2 PROMPT -13 7 ""
BEGIN END
PROMPT -13 7 ""
END BUTTON DLG_CANCEL 9 2
BEGIN
BUTTON DLG_CANCEL 9 2 PROMPT -23 7 ""
BEGIN END
PROMPT -23 7 ""
END BUTTON DLG_RIPRISTINA 10 2
BEGIN
BUTTON DLG_RIPRISTINA 10 2 PROMPT -33 7 "~Ripristina"
BEGIN END
PROMPT -33 7 "Ripristina"
END ENDPAGE
ENDPAGE ENDMASK
ENDMASK

View File

@ -116,14 +116,42 @@ bool CG4400_application::mask_firm_to (TMask_field& f, KEY k)
bool CG4400_application::mask_mese (TMask_field& f, KEY k) bool CG4400_application::mask_mese (TMask_field& f, KEY k)
{ {
const short id = f.dlg();
int mese;
if (id == MESE) //Per stampa su libro unico
mese = f.mask().get_int(MESE);
if (id == FINO_A_MESE)
mese = f.mask().get_int(FINO_A_MESE); //Per stampa su bollato
if (k == K_ENTER) if (k == K_ENTER)
{ {
int mese = f.mask().get_int(MESE); if (id == MESE) //Per stampa su libro unico
int umese = f.mask().get_int(ULTIMO_MESE); {
int umese = f.mask().get_int(ULTIMO_MESE);
if (mese != umese+1) if (mese != umese+1)
return f.warning_box ("Le stampe devono essere richieste mese per mese!\n" return f.warning_box ("Le stampe devono essere richieste mese per mese!\n"
"I mesi successivi a %s non sono ancora stati stampati.", itom(umese)); "I mesi successivi a %s non sono ancora stati stampati.", itom(umese));
}
}
if (k == K_TAB)
{
if (id == MESE)
if (mese == 12)
{
f.mask().show (TIPO_RIEPILOGATIVO);
f.mask().show (RIF_VID);
}
else
{
f.mask().hide (TIPO_RIEPILOGATIVO);
f.mask().hide (RIF_VID);
}
if (id == FINO_A_MESE)
{
if (mese == 12)
f.mask().show (TIPO_RIEPILOGATIVO);
else f.mask().hide (TIPO_RIEPILOGATIVO);
}
} }
return TRUE; return TRUE;
} }
@ -155,7 +183,7 @@ bool CG4400_application::mask_cod (TMask_field& f, KEY k)
bool CG4400_application::mask_data (TMask_field& f, KEY k) bool CG4400_application::mask_data (TMask_field& f, KEY k)
{ {
if (k == K_ENTER) if (k == K_TAB)
{ {
const int anno = f.mask().get_int(ANNO); const int anno = f.mask().get_int(ANNO);
TDate data(f.get()); TDate data(f.get());
@ -164,19 +192,12 @@ bool CG4400_application::mask_data (TMask_field& f, KEY k)
{ {
f.warning_box("L'anno delle date limite deve essere uguale all'anno iva specificato"); f.warning_box("L'anno delle date limite deve essere uguale all'anno iva specificato");
return FALSE; return FALSE;
} }
} if (f.dlg() == A_DATA)
return TRUE; if (data.ok)
} if ( data.day() == 31 && data.month() == 12 )
f.mask().show (TIPO_RIEPILOGATIVO);
bool CG4400_application::mask_tipo (TMask_field& f, KEY k) else f.mask().hide (TIPO_RIEPILOGATIVO);
{
if (k == K_TAB)
{
TDate data(f.get());
if (data.ok())
if ( data.day() == 31 && data.month() == 12 )
f.mask().show (TIPO_RIEPILOGATIVO);
} }
return TRUE; return TRUE;
} }
@ -251,62 +272,6 @@ bool CG4400_application::mask_tipo (TMask_field& f, KEY k)
} }
*/ */
//da una SHEET non e' possibile mandare messaggi nella maschera!!!
bool CG4400_application::tipostampa_handler (TMask_field& f, KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
int stampa_su = m.get_int(TIPO_STAMPA);
if ( (stampa_su == 1) || (stampa_su == 4) )
{
m.hide (CODICE_LIB_UN);
m.hide (CODICE_LIBRO_PROVA);
m.hide (MESE);
m.hide (ULTIMO_MESE);
m.hide (ULTIMA_PAGINA);
m.hide (CODICE_LIBRO_IVA);
m.hide (DATA_STAMPA);
m.hide (DA_DATA);
m.hide (A_DATA);
m.show (CODICE_LIBRO);
m.show (TIPO_RIEPILOGATIVO);
m.show (FINO_A_MESE);
}
if (stampa_su == 2)
{
m.show (CODICE_LIB_UN);
m.hide (CODICE_LIBRO_PROVA);
m.show (MESE);
m.show (ULTIMO_MESE);
m.show (ULTIMA_PAGINA);
m.show (CODICE_LIBRO_IVA);
m.hide (DATA_STAMPA);
m.hide (DA_DATA);
m.hide (A_DATA);
m.hide (CODICE_LIBRO);
m.hide (TIPO_RIEPILOGATIVO);
m.hide (FINO_A_MESE);
}
if (stampa_su == 3)
{
m.hide (CODICE_LIB_UN);
m.hide (MESE);
m.hide (ULTIMO_MESE);
m.hide (ULTIMA_PAGINA);
m.hide (CODICE_LIBRO_IVA);
m.hide (CODICE_LIBRO);
m.show (CODICE_LIBRO_PROVA);
m.show (DATA_STAMPA);
m.show (DA_DATA);
m.show (A_DATA);
m.hide (TIPO_RIEPILOGATIVO);
m.hide (FINO_A_MESE);
}
}
return TRUE;
}
const char * CG4400_application::descr_doc(const char * tipo) const char * CG4400_application::descr_doc(const char * tipo)
{ {
TTable tab_tpd("%TPD"); TTable tab_tpd("%TPD");
@ -757,7 +722,8 @@ int CG4400_application::stampa_prospetto()
else else
rr = r; rr = r;
if (_nrec > 0) //numero records di rmoviva //if (_nrec > 0) //numero records di rmoviva
if (_esiste_riga_iva)
{ {
if (_corrispettivi) if (_corrispettivi)
set_row(++rr, "@26g------------------ P E R I O D O -------------------"); set_row(++rr, "@26g------------------ P E R I O D O -------------------");
@ -888,7 +854,8 @@ void CG4400_application::set_page_tot_reg()
rr = stampa_prospetto(); rr = stampa_prospetto();
if (_nrec > 0) //numero di records di rmoviva //if (_nrec > 0) //numero di records di rmoviva
if (_esiste_riga_iva)
{ {
real tot_imponib, tot_imposta, tot_imponibp, tot_impostap, tot_lordo; real tot_imponib, tot_imposta, tot_imponibp, tot_impostap, tot_lordo;
real dep_imponib, dep_imposta, dep_lordo; real dep_imponib, dep_imposta, dep_lordo;
@ -1065,7 +1032,7 @@ bool CG4400_application::compila_reg(const TMask& m)
if ( _data_a <= _data_da) if ( _data_a <= _data_da)
{ {
TString16 datas = format("%02d/%4d", _data_da.month(), _data_da.year()); TString16 datas = format("%02d/%4d", _data_da.month(), _data_da.year());
warning_box ("La data specificata deve essere superiore al %s (ultima data di stampa specificata sul registro)", (const char*)datas); warning_box ("Ditta %ld : la data specificata deve essere superiore al %s (ultima data di stampa specificata sul registro)", codditta, (const char*)datas);
return FALSE; return FALSE;
} }
_stampa_ind_ditta = _tabreg->get_bool ("B9"); _stampa_ind_ditta = _tabreg->get_bool ("B9");
@ -1099,7 +1066,7 @@ bool CG4400_application::compila_reg(const TMask& m)
if (_data_a > data) if (_data_a > data)
{ {
TString16 datas = format("%02d/%4d", data.month(), data.year()); TString16 datas = format("%02d/%4d", data.month(), data.year());
warning_box ("La data specificata non deve essere superiore al %s (ultima data di stampa del libro giornale)", (const char*)datas); warning_box ("Ditta %ld : la data specificata non deve essere superiore al %s (ultima data di stampa del libro giornale)", codditta, (const char*)datas);
return FALSE; return FALSE;
} }
} }
@ -1138,7 +1105,8 @@ bool CG4400_application::preprocess_print(int file, int counter)
_doc_array.destroy(); _doc_array.destroy();
_dataregp = ""; _dataregp = "";
_mov_empty = TRUE; _mov_empty = TRUE;
_primast = _u_stampata; _esiste_riga_iva = FALSE;
_primast = _u_stampata;
_auto_intraf = FALSE; _auto_intraf = FALSE;
set_print_zero(); set_print_zero();
} }
@ -1182,7 +1150,7 @@ bool CG4400_application::preprocess_page(int file, int counter)
long codcf = mov.get_long(MOV_CODCF); long codcf = mov.get_long(MOV_CODCF);
long numgio = mov.get_long(MOV_NUMGIO); long numgio = mov.get_long(MOV_NUMGIO);
bool stampato = mov.get_bool(MOV_REGST); bool stampato = mov.get_bool(MOV_REGST);
bool intra = caus.get_bool(CAU_INTRACOM); bool intra = caus.get_bool(CAU_INTRACOM); //sul movimento
bool autof = caus.get_bool(CAU_AUTOFATT); bool autof = caus.get_bool(CAU_AUTOFATT);
TString descrcau = caus.get(CAU_DESCR); TString descrcau = caus.get(CAU_DESCR);
@ -1234,6 +1202,7 @@ bool CG4400_application::preprocess_page(int file, int counter)
_nrec = riga_rmoviva(); _nrec = riga_rmoviva();
if (_nrec > 0) if (_nrec > 0)
{ {
_esiste_riga_iva = TRUE;
for (int j = 0; j < _riga_rmi.items(); j++) for (int j = 0; j < _riga_rmi.items(); j++)
{ {
TRigaiva& riga = (TRigaiva&)_riga_rmi[j]; TRigaiva& riga = (TRigaiva&)_riga_rmi[j];
@ -1408,12 +1377,6 @@ print_action CG4400_application::postprocess_print(int file, int counter)
{ {
if (_tipo_stampa == 2) if (_tipo_stampa == 2)
++ _u_stampata; ++ _u_stampata;
/*
TRecnotype pos = _cur->pos();
long items = _cur->items();
if (pos < items-1)
printer().formfeed();
*/
} }
/* /*
if (_stampa_tutti_i_registri) if (_stampa_tutti_i_registri)
@ -1463,10 +1426,10 @@ print_action CG4400_application::postprocess_print(int file, int counter)
bool CG4400_application::set_print(int n) bool CG4400_application::set_print(int n)
{ {
TMask m("cg4400a"); TMask m("cg4400a");
int giorni_del_mese;
const bool ok = set_ditte(m);
if (ok) // bool ok = set_ditte(m);
if (set_ditte(m))
if (_selected.ones() > 0l) if (_selected.ones() > 0l)
{ {
_annoes = m.get_int(ANNO);//in realta' e' l'anno IVA !!! _annoes = m.get_int(ANNO);//in realta' e' l'anno IVA !!!
@ -1486,7 +1449,6 @@ bool CG4400_application::set_print(int n)
// senno' data_da e' letta dal registro // senno' data_da e' letta dal registro
else //stampe definitive else //stampe definitive
{ {
int giorni_del_mese;
if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) ) if ( (_tipo_stampa == 1) || (_tipo_stampa == 4) )
_fino_a_mese = m.get_int(FINO_A_MESE); _fino_a_mese = m.get_int(FINO_A_MESE);
else //stampa su libro unico else //stampa su libro unico
@ -1512,8 +1474,8 @@ bool CG4400_application::set_print(int n)
stampa_registri_IVA(m); stampa_registri_IVA(m);
} }
else warning_box("Nessuna ditta selezionata!"); else warning_box("Nessuna ditta selezionata!");
return FALSE; return FALSE;
// return ok;
} }
void CG4400_application::stampa_registri_IVA(const TMask& m) void CG4400_application::stampa_registri_IVA(const TMask& m)
@ -1531,12 +1493,14 @@ void CG4400_application::stampa_registri_IVA(const TMask& m)
if (!ok) continue; if (!ok) continue;
if (!_stampa_tutti_i_registri) if (!_stampa_tutti_i_registri)
_cur->set_filterfunction(filter_func); _cur->set_filterfunction(filter_func);
_frequiva = _nditte->get("FREQVIVA")[0]; //_frequiva = _nditte->get("FREQVIVA")[0];
if (_tipo_stampa != 3) //stampa definitiva if (_tipo_stampa != 3) //stampa definitiva
ok = controlla_liquidazione() && controlla_mov(); ok = controlla_liquidazione() && controlla_mov();
if (!ok) continue; if (!ok) continue;
// send_message();
if (!_stampa_tutti_i_registri) if (!_stampa_tutti_i_registri)
{ {
(*_cur) = 0L; (*_cur) = 0L;
@ -1570,7 +1534,7 @@ void CG4400_application::stampa_registri_IVA(const TMask& m)
} }
if (_tipo_stampa == 1 || _tipo_stampa == 4) if (_tipo_stampa == 1 || _tipo_stampa == 4)
if (_data_a <= _data_da) if (_data_a <= _data_da)
warning_box("Il registro %s e' gia' stato stampato come bollato di %s", (const char*) _codreg, itom(_fino_a_mese)); warning_box("Ditta %ld : Il registro %s e' gia' stato stampato come bollato di %s", _nditte->get_long("CODDITTA"), (const char*) _codreg, itom(_fino_a_mese));
_pagine_stampate = _tabreg->get_int("I1"); _pagine_stampate = _tabreg->get_int("I1");
_codatt = _tabreg->get("S8"); _codatt = _tabreg->get("S8");
_attivita = desc_attivita(_codatt); _attivita = desc_attivita(_codatt);
@ -1597,6 +1561,8 @@ void CG4400_application::stampa_registri_IVA(const TMask& m)
TApplication::set_firm(firm); TApplication::set_firm(firm);
} }
//void CG4400_application::send_message()
bool CG4400_application::set_ditte(TMask& m) bool CG4400_application::set_ditte(TMask& m)
{ {
_selected.reset(); _selected.reset();
@ -1606,12 +1572,11 @@ bool CG4400_application::set_ditte(TMask& m)
m.field(A_CODICE).set(""); m.field(A_CODICE).set("");
m.field(TIPO_STAMPA).set("1"); m.field(TIPO_STAMPA).set("1");
m.set_handler (TIPO_STAMPA, tipostampa_handler);
m.set_handler (A_CODICE, mask_firm_to); m.set_handler (A_CODICE, mask_firm_to);
m.set_handler (DA_DATA, mask_data); m.set_handler (DA_DATA, mask_data);
m.set_handler (A_DATA, mask_data); m.set_handler (A_DATA, mask_data);
m.set_handler (A_DATA, mask_tipo);
m.set_handler (MESE, mask_mese); m.set_handler (MESE, mask_mese);
m.set_handler (FINO_A_MESE, mask_mese);
m.set_handler (CODICE_LIB_UN, mask_cod); m.set_handler (CODICE_LIB_UN, mask_cod);
m.set_handler (DLG_SELECT, mask_select); m.set_handler (DLG_SELECT, mask_select);
m.set_handler (F_ANNULLA, mask_azzera); m.set_handler (F_ANNULLA, mask_azzera);

View File

@ -37,15 +37,15 @@ class CG4400_application : public TPrintapp
TArray_sheet *_ditte; TArray_sheet *_ditte;
TRecnotype _nrec; TRecnotype _nrec;
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf; bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf;
bool _corrispettivi; bool _corrispettivi, _esiste_riga_iva;
char _frequiva; char _frequiva;
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg; TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
long _n_ditte, _u_stampata, _primast; long _n_ditte, _u_stampata, _primast;
int _fino_a_mese, _tipo_reg, _tipo_stampa, _pagine_stampate; int _fino_a_mese, _tipo_reg, _tipo_stampa, _pagine_stampate;
int _annoes, _r, _stampa_width; // riga corrente di stampa int _annoes, _r, _stampa_width; // riga corrente di stampa
real _totale_doc; real _totale_doc;
TString _codreg, _desc_lib, _codatt, _attivita; TString _codreg, _desc_lib, _codatt, _attivita;
TString _tipodoc, _descr_doc, _codlib; TString _tipodoc, _descr_doc, _codlib;
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis; TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
@ -85,11 +85,9 @@ protected:
static bool filter_func (const TRelation * r); static bool filter_func (const TRelation * r);
static bool tipostampa_handler (TMask_field&, KEY);
static bool mask_firm_to (TMask_field&, KEY); static bool mask_firm_to (TMask_field&, KEY);
static bool mask_cod (TMask_field&, KEY); static bool mask_cod (TMask_field&, KEY);
static bool mask_data (TMask_field&, KEY); static bool mask_data (TMask_field&, KEY);
static bool mask_tipo (TMask_field&, KEY);
static bool mask_mese (TMask_field&, KEY); static bool mask_mese (TMask_field&, KEY);
static bool mask_fino_a_mese (TMask_field&, KEY); static bool mask_fino_a_mese (TMask_field&, KEY);
static bool mask_select (TMask_field&, KEY); static bool mask_select (TMask_field&, KEY);

View File

@ -18,7 +18,9 @@
#define F_VERIFICA 116 #define F_VERIFICA 116
#define CODICE_LIB_UN 117 #define CODICE_LIB_UN 117
#define MESE 118 #define MESE 118
#define CODICE_LIBRO_PROVA 119 #define CODICE_LIBRO_PROVA 119
#define RIF_VID 120

View File

@ -3,7 +3,7 @@
#include "cg4400a.h" #include "cg4400a.h"
PAGE "Stampa registri IVA" -1 -1 56 16 PAGE "Stampa registri IVA" -1 -1 56 18
LISTBOX TIPO_STAMPA 1 48 LISTBOX TIPO_STAMPA 1 48
@ -11,13 +11,13 @@ BEGIN
PROMPT 2 1 "Tipo " PROMPT 2 1 "Tipo "
HELP "Indicare il tipo di stampa da eseguire" HELP "Indicare il tipo di stampa da eseguire"
ITEM "3|Stampa di prova" ITEM "3|Stampa di prova"
MESSAGE SHOW,3@|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@|SHOW,CODICE_LIBRO MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@
ITEM "1|Libri bollati della ditta" ITEM "1|Libri bollati della ditta"
MESSAGE SHOW,1@|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@ MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA
ITEM "2|Libri unici dello studio" ITEM "2|Libri unici dello studio"
MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@ MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA
ITEM "4|Libri con riferimenti al libro giornale" ITEM "4|Libri con riferimenti al libro giornale"
MESSAGE SHOW,1@|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@ MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA
END END
GROUPBOX DLG_NULL 35 5 GROUPBOX DLG_NULL 35 5
@ -70,9 +70,15 @@ END
DATE DATA_STAMPA DATE DATA_STAMPA
BEGIN BEGIN
PROMPT 28 7 "Data stampa " PROMPT 28 7 "Data stampa "
<<<<<<< cg4400a.uml
FLAGS "A"
CHECKTYPE REQUIRED
WARNING "Inserire la data di stampa"
=======
HELP "Data in cui viene stampato il registro" HELP "Data in cui viene stampato il registro"
FLAG "AH" FLAG "AH"
GROUP 3 GROUP 3
>>>>>>> 1.14
END END
NUMBER ANNO 4 NUMBER ANNO 4
@ -80,6 +86,7 @@ BEGIN
PROMPT 2 3 "Anno " PROMPT 2 3 "Anno "
HELP "Anno di cui si vuole stampare il registro" HELP "Anno di cui si vuole stampare il registro"
FLAGS "A" FLAGS "A"
WARNING "Inserire l'anno"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
@ -112,9 +119,13 @@ BEGIN
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7] OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7]
<<<<<<< cg4400a.uml
FLAGS "UR"
=======
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
FLAGS "UZ" FLAGS "UZ"
GROUP 1 GROUP 1
>>>>>>> 1.15
END END
STRING CODICE_LIB_UN 3 STRING CODICE_LIB_UN 3
@ -131,6 +142,7 @@ BEGIN
OUTPUT CODICE_LIB_UN CODTAB[5,7] OUTPUT CODICE_LIB_UN CODTAB[5,7]
FLAGS "UR" FLAGS "UR"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Inserire il codice del libro unico"
GROUP 2 GROUP 2
END END
@ -182,23 +194,32 @@ END
LISTBOX ULTIMO_MESE 10 LISTBOX ULTIMO_MESE 10
BEGIN BEGIN
PROMPT 2 11 "Ultimo mese stampa su libro unico " PROMPT 2 12 "Ultimo mese stampa su libro unico "
FLAGS "MD" FLAGS "MD"
GROUP 2 GROUP 2
END END
NUMBER ULTIMA_PAGINA 4 NUMBER ULTIMA_PAGINA 4
BEGIN BEGIN
<<<<<<< cg4400a.uml
PROMPT 2 13 "Ultimo numero di pagina stampata libro unico "
=======
PROMPT 2 12 "Ultimo numero di pagina stampata libro unico " PROMPT 2 12 "Ultimo numero di pagina stampata libro unico "
HELP "Numero dell'ultima pagina del libro unico stampata" HELP "Numero dell'ultima pagina del libro unico stampata"
>>>>>>> 1.14
FLAGS "R" FLAGS "R"
GROUP 2 GROUP 2
END END
STRING CODICE_LIBRO_IVA 3 STRING CODICE_LIBRO_IVA 3
BEGIN BEGIN
<<<<<<< cg4400a.uml
PROMPT 2 14 "Eventuale codice libro IVA "
HELP "Se non viene indicato nessun cod. libro IVA, vengono stampati tutti i registri delle ditte selezionate"
=======
PROMPT 2 13 "Eventuale codice libro IVA " PROMPT 2 13 "Eventuale codice libro IVA "
HELP "Libro IVA da stampare. Vuoto = tutti" HELP "Libro IVA da stampare. Vuoto = tutti"
>>>>>>> 1.14
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111) USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO_IVA INPUT CODTAB[5,7] CODICE_LIBRO_IVA
@ -212,6 +233,12 @@ BEGIN
GROUP 2 GROUP 2
END END
BOOLEAN RIF_VID
BEGIN
PROMPT 2 15 "Stampa riferimenti vidimazione"
GROUP 2
END
BUTTON DLG_PRINT 10 2 BUTTON DLG_PRINT 10 2
BEGIN BEGIN
PROMPT -12 -1 "~Stampa" PROMPT -12 -1 "~Stampa"

View File

@ -1,15 +1,16 @@
// TRigaiva_array // TRigaiva_array
// Tabella per il calcolo degli imponibili Iva // Tabella per il calcolo degli imponibili Iva
#include "cglib03.h" #include "cglib03.h"
bool TRigaiva_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap) bool TRigaiva_array::add_riga(const real& imponibile, const real& imposta, const real& imponibilep, const real& impostap, const char* codiva, const int tipodet, const int tipocr, bool intra, const int tipoatt)
{ {
bool found = FALSE; bool found = FALSE;
for (int i = 0; i < items(); i++) for (int i = 0; i < items(); i++)
{ {
TRigaiva& r = riga(i); TRigaiva& r = riga(i);
if (r._codiva==codiva && tipodet==r._tipodet && tipocr==r._tipocr) if (r._codiva==codiva && tipodet==r._tipodet && tipocr==r._tipocr && tipoatt==r._tipoatt)
{ {
found = TRUE; found = TRUE;
r._imponibile += imponibile; r._imponibile += imponibile;
@ -20,30 +21,32 @@ bool TRigaiva_array::add_riga(const real& imponibile, const real& imposta, const
} }
if (!found) if (!found)
{ {
TRigaiva* r = new TRigaiva(imponibile,imposta,codiva,tipodet,tipocr,imponibilep,impostap); TRigaiva* r = new TRigaiva(imponibile,imposta,imponibilep,impostap,codiva,tipodet,tipocr,intra,tipoatt);
add(r); add(r);
} }
return found; return found;
} }
bool TRiga_array::add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap) bool TRiga_array::add_riga(const real& imponibile, const real& imposta, const real& implordo, const real& imponibilep, const real& impostap, const real& implordop, const char* codiva)
{ {
bool found = FALSE; bool found = FALSE;
for (int i = 0; i < items(); i++) for (int i = 0; i < items(); i++)
{ {
TRiga& r = riga(i); TRiga& r = riga(i);
if (r._codiva==codiva && r._tipodoc==tipodoc) if (r._codiva==codiva)
{ {
found = TRUE; found = TRUE;
r._imponibile += imponibile; r._imponibile += imponibile;
r._imposta += imposta; r._imposta += imposta;
r._implordo += implordo;
r._imponibilep += imponibilep; r._imponibilep += imponibilep;
r._impostap += impostap; r._impostap += impostap;
r._implordop += implordop;
} }
} }
if (!found) if (!found)
{ {
TRiga* r = new TRiga(imponibile,imposta,codiva,tipodoc,imponibilep,impostap); TRiga* r = new TRiga(imponibile,imposta,implordo,imponibilep,impostap,implordop,codiva);
add(r); add(r);
} }
return found; return found;

View File

@ -1,83 +1,86 @@
// cglib03.h // cglib03.h
// TRigaiva_array // TRigaiva_array
// Tabella per il calcolo degli imponibili Iva // Tabella per il calcolo degli imponibili Iva
#ifndef __CGLIB03_H #ifndef __CGLIB03_H
#define __CGLIB03_H #define __CGLIB03_H
#ifndef __REAL_H #ifndef __REAL_H
#include <real.h> #include <real.h>
#endif #endif
#ifndef __STRINGS_H #ifndef __STRINGS_H
#include <strings.h> #include <strings.h>
#endif #endif
struct TDociva : public TObject struct TDociva : public TObject
{ {
TString _descrdoc; TString _descrdoc;
real _totdociva; real _totdociva;
int _ndoc; int _ndoc;
TDociva(const char* _descrdociva, const real& _importo,const int _natdoc):_descrdoc(_descrdociva),_totdociva(_importo),_ndoc(_natdoc) TDociva(const char* _descrdociva, const real& _importo,const int _natdoc):_descrdoc(_descrdociva),_totdociva(_importo),_ndoc(_natdoc)
{} {}
}; };
class TDociva_array : public TArray class TDociva_array : public TArray
{ {
public: public:
bool add_riga(const char* _descrdociva,const real& _importo,const int _natdoc); bool add_riga(const char* _descrdociva,const real& _importo,const int _natdoc);
TDociva& riga(int i) { return (TDociva&)(*this)[i]; } TDociva& riga(int i) { return (TDociva&)(*this)[i]; }
}; };
struct TRigaiva : public TObject struct TRigaiva : public TObject
{ {
real _imponibile, _imposta, _imponibilep, _impostap; //imponibili, imposte del periodo e progressivi real _imponibile, _imposta;
TString _codiva; real _imponibilep, _impostap;
int _tipodet, _tipocr; TString _codiva;
int _tipodet, _tipocr, _tipoatt;
TRigaiva (const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap): bool _intra;
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodet(tipodet),_tipocr(tipocr),_imponibilep(imponibilep),_impostap(impostap)
{} TRigaiva (const real& imponibile, const real& imposta, const real& imponibilep, const real& impostap, const char* codiva, const int tipodet, const int tipocr, bool intra, const int tipoatt):
}; _imponibile(imponibile),_imposta(imposta),_imponibilep(imponibilep),_impostap(impostap),_codiva(codiva),_tipodet(tipodet),_tipocr(tipocr),_intra(intra),_tipoatt(tipoatt)
{}
class TRigaiva_array : public TArray };
{
public: class TRigaiva_array : public TArray
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const int tipodet, const int tipocr, const real& imponibilep, const real& impostap); {
TRigaiva& riga(int i) { return (TRigaiva&)(*this)[i]; } public:
}; bool add_riga(const real& imponibile, const real& imposta, const real& imponibilep, const real& impostap, const char* codiva, const int tipodet, const int tipocr, bool intra, const int tipoatt = 0);
TRigaiva& riga(int i) { return (TRigaiva&)(*this)[i]; }
struct TTipodoc : public TObject };
{
TString _tipodoc, _descrdoc; struct TTipodoc : public TObject
real _totdoc; {
TString _tipodoc, _descrdoc;
TTipodoc (const char* tipodoc, const char* descrdoc, const real& totdoc): real _totdoc;
_tipodoc(tipodoc),_descrdoc(descrdoc),_totdoc(totdoc) {}
}; TTipodoc (const char* tipodoc, const char* descrdoc, const real& totdoc):
_tipodoc(tipodoc),_descrdoc(descrdoc),_totdoc(totdoc) {}
class TTipodoc_array : public TArray };
{
public: class TTipodoc_array : public TArray
bool add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc); {
TTipodoc& riga(int i) { return (TTipodoc&)(*this)[i]; } public:
}; bool add_riga(const char* tipodoc, const char* descrdoc, const real& totdoc);
TTipodoc& riga(int i) { return (TTipodoc&)(*this)[i]; }
struct TRiga : public TObject };
{
real _imponibile, _imposta, _imponibilep, _impostap; struct TRiga : public TObject
TString _codiva, _tipodoc; {
real _imponibile, _imposta, _implordo; //totali del periodo
TRiga (const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap): real _imponibilep, _impostap, _implordop; //totali progressivi
_imponibile(imponibile),_imposta(imposta),_codiva(codiva),_tipodoc(tipodoc),_imponibilep(imponibilep),_impostap(impostap) {} TString _codiva;
};
TRiga (const real& imponibile, const real& imposta, const real& implordo, const real& imponibilep, const real& impostap, const real& implordop, const char* codiva):
class TRiga_array : public TArray _imponibile(imponibile),_imposta(imposta),_implordo(implordo),_codiva(codiva),_imponibilep(imponibilep),_impostap(impostap),_implordop(implordop) {}
{ };
public:
bool add_riga(const real& imponibile, const real& imposta, const char* codiva, const char* tipodoc, const real& imponibilep, const real& impostap); class TRiga_array : public TArray
TRiga& riga(int i) { return (TRiga&)(*this)[i]; } {
}; public:
bool add_riga(const real& imponibile, const real& imposta, const real& implordo, const real& imponibilep, const real& impostap, const real& implordop, const char* codiva);
#endif TRiga& riga(int i) { return (TRiga&)(*this)[i]; }
};
#endif