COrrezione stampa by Enrica

git-svn-id: svn://10.65.10.50/trunk@866 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-01-13 10:08:02 +00:00
parent 4a3fda6075
commit c7a7073462
5 changed files with 743 additions and 698 deletions

View File

@ -51,8 +51,8 @@ HIDDEN const char* err_msg[] = {"La data operazione non appartiene a nessun eser
"Codice causale non presente in tabella",
"Codice causale sospeso",
"Nella causale e' stato attivato il segnale non va in allegato",
"Tipo documento non presente in tabella",
"Tipo documento non corrisponde a quello indicato in causale",
"Tipo documento non presente in tabella",
"Codice registro non corrisponde a quello indicato in causale",
"Codice registro non presente in tabella",
"Codice registro sospeso",
@ -95,14 +95,13 @@ class TListaMov_application : public TPrintapp
long _numreg, _numreg_fin, _numreg_ini, _codalleg, _numeroregp,_codclifosucc;
long _codcf_prec, _numr, _numero;
int _ae, _anno, _annoes, _annoeser;
char _tipo;
real _totdocumenti, _totdoc, _totimponibile, _totimposta, _importo;
real _op_esenti, _op_non_imp, _impo, _impos;
real _tot_dare, _tot_avere, _tot_avere_giornaliero;
real _tot_dare_giornaliero, _tot_dare_generale, _tot_avere_generale;
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 _settata_prima_riga, _causale_gia_stampata;
bool _settata_prima_riga, _causale_gia_stampata,_mov_di_sola_iva;
int _cur1,_cur2,_cur2b,_cur3,_cur4,_decidi,_tipod,_controllo_mov_errati;
int _numero_riga, _alleg, _tiporegistro, _tipocr, _scelta_stampa, _nr, _n;
liste _tipo_lista;
@ -683,9 +682,9 @@ void TListaMov_application::stampa_errori_rmov()
if (saldi.read() != NOERR)
set_row(_nr++, "@11gCodice gruppo/conto/sottoconto non presente in Saldi p.d.c.");
TRecnotype numrec = current_cursor()->file(LF_RMOV).recno();
stampa_errori_contropartita();
current_cursor()->file(LF_RMOV).readat(numrec);
//TRecnotype numrec = current_cursor()->file(LF_RMOV).recno();
//stampa_errori_contropartita();
//current_cursor()->file(LF_RMOV).readat(numrec);
}
void TListaMov_application::stampa_errori_contropartita()
@ -795,9 +794,9 @@ void TListaMov_application::set_page(int file, int count)
// set_row(_nr,"@5g@3s",FLD(LF_MOV,MOV_CODCAUS));
// set_row(_nr,"@9g#.20t", &_descr_causale);
set_row(_nr,"@30g@24s",FLD(LF_RMOV,RMV_DESCR));
set_row(_nr,"@56g@3n",FLD(LF_RMOV,RMV_GRUPPO));
set_row(_nr,"@60g@3n",FLD(LF_RMOV,RMV_CONTO));
set_row(_nr,"@64g@6n",FLD(LF_RMOV,RMV_SOTTOCONTO));
set_row(_nr,"@56g@pn",FLD(LF_RMOV,RMV_GRUPPO,"###"));
set_row(_nr,"@60g@pn",FLD(LF_RMOV,RMV_CONTO,"###"));
set_row(_nr,"@64g@pn",FLD(LF_RMOV,RMV_SOTTOCONTO,"######"));
set_row(_nr,"@71g#.21t",&_descr);
_appoggio = current_cursor()->curr(LF_RMOV).get(RMV_SEZIONE);
if ((_appoggio=="D")||(_appoggio=="d"))
@ -812,13 +811,6 @@ void TListaMov_application::set_page(int file, int count)
dep = "";
_n = 1;
set_row (_n++,(const char*)dep);
/*
set_row (_n, "Operazione n. @18g@7n", FLD(LF_MOV,MOV_NUMREG));
set_row (_n, "@26gdel@30g@d",FLD(LF_MOV,MOV_DATAREG));
set_row (_n, "@41g@40s@r",FLD(LF_MOV,MOV_DESCR));
set_row (_n, "@82gdoc. @87g@7s",FLD(LF_MOV,MOV_NUMDOC));
set_row (_n, "@95gdel@99g@d", FLD(LF_MOV,MOV_DATADOC));
*/
set_row (_n, "Operazione n. @14g@7n", FLD(LF_MOV,MOV_NUMREG));
set_row (_n, "@22gdel@26g@d",FLD(LF_MOV,MOV_DATAREG));
set_row (_n, "@37g@36s",FLD(LF_MOV,MOV_DESCR));
@ -864,9 +856,9 @@ void TListaMov_application::stampa_intestazione()
sep = "";
set_row (1,(const char*)sep);
if (_tipo_elenco == "C")
set_row (2, "@bCliente@9g@6n", FLD(LF_MOV,MOV_CODCF));
set_row (2, "@bCliente@8g@6n", FLD(LF_MOV,MOV_CODCF));
else
set_row (2, "@bFornitore@12g@6n", FLD(LF_MOV,MOV_CODCF));
set_row (2, "@bFornitore@10g@6n", FLD(LF_MOV,MOV_CODCF));
set_row (2, "@b@18g#.35t", &_ragsoc);
set_row (2, "@b@54gInd #.29t", &_indcf);
set_row (2, "@b@87g#.10t", &_civcf);
@ -907,10 +899,10 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_datacomp = current_cursor()->curr(LF_MOV).get_date(MOV_DATACOMP);
_causale = current_cursor()->curr(LF_MOV).get(MOV_CODCAUS);
_registro = current_cursor()->curr(LF_MOV).get(MOV_REG);
_anno = current_cursor()->curr(LF_MOV).get_int(MOV_ANNOIVA);
_anno = current_cursor()->curr(LF_MOV).get_int(MOV_ANNOIVA);
_tipodoc = current_cursor()->curr(LF_MOV).get(MOV_TIPODOC);
_datareg = current_cursor()->file(LF_MOV).get_date(MOV_DATAREG);
_tipo = current_cursor()->file(LF_MOV).get_char(MOV_TIPO);
_tipo_elenco = current_cursor()->file(LF_MOV).get(MOV_TIPO);
_codcf = current_cursor()->file(LF_MOV).get_long(MOV_CODCF);
_numero = current_cursor()->file(LF_MOV).get_long(MOV_NUMREG);
_codval = cur->curr(LF_MOV).get(MOV_CODVALI);
@ -919,6 +911,13 @@ bool TListaMov_application::preprocess_page(int file,int counter)
_causale_gia_stampata = FALSE;
_ae = date2esc(_datareg);
if (_registro.not_empty()) //si tratta di fattura
if (current_cursor()->is_first_match(LF_RMOV))
_mov_di_sola_iva = FALSE;
else _mov_di_sola_iva = TRUE;
_descr_doc = DescrDoc(_tipodoc);
TLocalisamfile& fl = current_cursor()->file(LF_MOV);
TRectype da (fl.curr());
TRectype a (fl.curr());
@ -969,7 +968,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
if (!_causale_gia_stampata)
{
set_row(_nr,"@4g%3s", (const char*) _causale);
set_row(_nr,"@8g%.20s@r", (const char*) _descr_causale);
set_row(_nr,"@8g%-.20s", (const char*) _descr_causale);
_causale_gia_stampata = TRUE;
}
int gruppo = current_cursor()->curr(LF_RMOV).get_int(RMV_GRUPPO);
@ -1060,7 +1059,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
if (!_causale_gia_stampata)
{
set_row(_nr,"@4g%3s", (const char*) _causale);
set_row(_nr,"@8g%.20s@r", (const char*) _descr_causale);
set_row(_nr,"@8g%-.20s", (const char*) _descr_causale);
_causale_gia_stampata = TRUE;
}
long gruppo = atol(current_cursor()->curr(LF_RMOV).get(RMV_GRUPPO));
@ -1217,7 +1216,7 @@ bool TListaMov_application::preprocess_page(int file,int counter)
set_row(2,"@42g@6,rs",FLD(LF_MOV,MOV_NUMDOC));
set_row(2,"@49g@3s",FLD(LF_MOV,MOV_CODCAUS));
set_row(2,"@53g@2s",FLD(LF_MOV,MOV_TIPODOC));
set_row(2,"@56g%.12s@r", (const char *)_descr_doc);
set_row(2,"@56g%-.12s", (const char *)_descr_doc);
set_row(2,"@68g@pN",FLD(LF_MOV,MOV_TOTDOC,"###.###.###.###"));
set_row(2,"@84g@pN",FLD(LF_RMOVIVA,RMI_IMPONIBILE,"###.###.###.###"));
set_row(2,"@101g@4s",FLD(LF_RMOVIVA,RMI_CODIVA));
@ -1278,16 +1277,23 @@ print_action TListaMov_application::postprocess_page(int file,int count)
reset_print();
_err.reset();
int n = 1;
int r = 0;
if (_scelta_stampa == 0)
if (_registro.not_empty() && _mov_di_sola_iva)
{
compila_clifo();
set_row(++r, "@1g%3s %-.20s@25g%-35s %6ld %-50s", (const char*)_causale, (const char*)_descr_causale,
(const char*) _descr_doc, _codcf, (const char*)_ragsoc);
}
if ( _scelta_stampa == 0 && _stampa_parte_iva )
{
int r = 0;
for (int j = 0; j < _c.items(); j++)
{
TRigaiva& riga = (TRigaiva&)_c[j];
//r = j+1;
r++;
set_row(r, "Imponibile@12g%15.0r", &riga._imponibile);
set_row(r, "@31gImposta@39g%15.0r", &riga._imposta);
set_row(r, "Imponibile@12g%r", &riga._imponibile);
set_row(r, "@31gImposta@39g%r", &riga._imposta);
set_row(r, "@58gCodice Iva@69g%3s", (const char*)riga._codiva);
switch (riga._tipodet)
{
@ -1309,20 +1315,21 @@ print_action TListaMov_application::postprocess_page(int file,int count)
}
real corrval = current_cursor()->file(LF_MOV).get_real(MOV_CORRVALUTA);
real corrlire = current_cursor()->file(LF_MOV).get_real(MOV_CORRLIRE);
TString vall (corrval.string("###.###.###.###,@@"));
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);
set_row(r,"@34gCorr.in valuta@49g%s", (const char*)vall);
set_row(r,"@70g%-3s", (const char *)_codval);
}
if (_esiste_riga_iva)
set_row(++r, "@11gPresenti righe IVA in una registrazione senza IVA");
if (_nonesiste_riga_iva)
set_row(++r, "@11gNon presente alcuna riga IVA in una registrazione con IVA");
_c.destroy();
if (r > 0)
n = ++r;
}
if (r > 0)
n = ++r;
TRecnotype pos, items;
bool FINITO = FALSE;
if ((_scelta_stampa == 0)&&(_controllo_mov_errati != 3)&&(_tot_dare != _tot_avere))
@ -1342,7 +1349,7 @@ print_action TListaMov_application::postprocess_page(int file,int count)
TCursor * cur = current_cursor();
cur->save_status();
++(*cur);
datarec = cur->file(LF_MOV).get_date(MOV_DATAREG);
datarec = cur->file(LF_MOV).get_date(MOV_DATAREG);
--(*cur);
cur->restore_status();
}
@ -1399,15 +1406,16 @@ break;
real corrlire = cur->file(LF_MOV).get_real(MOV_CORRLIRE);
if (corrval != ZERO)
{
TString vall (corrval.string("###.###.###.###,@@"));
set_row(rr,"Corr.in lire@14g%r", &corrlire);
set_row(rr,"@34gCorr.in valuta@49g%r", &corrval);
set_row(rr,"@34gCorr.in valuta@49g%s", (const char*) vall);
/*
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);
set_row(rr++,"@70g%-3s", (const char *)_codval);
}
_totdocumenti += _totdoc;
TRecnotype pos, items;
@ -1434,15 +1442,15 @@ break;
TString blank = "";
set_row(rr++,(const char*)blank);
if ((_tipo_elenco == "C")||(_tipo_elenco == "c"))
set_row(rr++, "@bTotali Cliente@18gDocumenti Totale documenti@45gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp.");
set_row(rr++, "@bTotali Cliente@18gDocumenti Totale documenti@47gAllegati:@63gImponibile@82gImposta@95gop. esenti@110gop. non imp.");
else
set_row(rr++, "@bTotali Fornitore@18gDocumenti Totale documenti@47gAllegati:@56gImponibile@75gImposta@94gop. esenti@112gop. non imp.");
set_row(rr++, "@bTotali Fornitore@18gDocumenti Totale documenti@49gAllegati:@63gImponibile@82gImposta@95gop. esenti@110gop. non imp.");
set_row(rr, "@b@18g%9d", _documenti);
set_row(rr, "@b@28g%r", &_totdocumenti);
set_row(rr, "@b@56g%r", &_totimponibile);
set_row(rr, "@b@75g%r", &_totimposta);
set_row(rr, "@b@94g%r", &_op_esenti);
set_row(rr, "@b@112g%r", &_op_non_imp);
set_row(rr, "@b@29g%r", &_totdocumenti);
set_row(rr, "@b@58g%r", &_totimponibile);
set_row(rr, "@b@74g%r", &_totimposta);
set_row(rr, "@b@90g%r", &_op_esenti);
set_row(rr, "@b@106g%r", &_op_non_imp);
_totimposta = 0;
_totimponibile = 0;
_op_esenti = 0;
@ -1563,6 +1571,10 @@ else _err.set(3);
if (_annoeser != ae)
_err.set(6);
if (_tipodoc != "")
if (!RicercaDoc(_tipodoc))
_err.set(11);
if (_causale.not_empty()) //se indicata la causale
{
if (_caus->curr().empty())
@ -1575,12 +1587,14 @@ else _err.set(3);
if (_stampa_mess_alleg_iva && _alleg_causale)
_err.set(9);
}
if (_tipodoc == "" || _tipodoc != _tipodocumento)
if (_tipodoc != _tipodocumento)
_err.set(10);
if (_tipodoc != "")
if (!RicercaDoc(_tipodoc))
_err.set(11);
if (_registro == "" || _registro != _reg_causale)
/*
if (_tipodoc != "")
if (!RicercaDoc(_tipodoc))
_err.set(11);
*/
if (_registro != _reg_causale)
_err.set(12);
if (_registro.not_empty()) //movimento iva (fatture)
@ -1620,14 +1634,14 @@ else _err.set(3);
if (_codcf == 0l)
_err.set(16);
}
if ((tipo == 1 && _tipo != 'C') || (tipo == 2 && _tipo != 'F'))
if ((tipo == 1 && _tipo_elenco != "C") || (tipo == 2 && _tipo_elenco != "F"))
_err.set(17);
TLocalisamfile clifo(LF_CLIFO);
clifo.setkey(1);
clifo.zero();
clifo.put(CLI_CODCF, _codcf);
clifo.put(CLI_TIPOCF,_tipo);
clifo.put(CLI_TIPOCF,_tipo_elenco);
if (clifo.read() == NOERR)
{
bool sosp = clifo.get_bool(CLI_SOSPESO);
@ -1638,27 +1652,29 @@ else _err.set(3);
long calleg = clifo.get_long(CLI_CODALLEG);
if (!occ)
{
if (_stampa_mess_alleg_iva && alleg == 1)
if (_stampa_mess_alleg_iva && alleg == '1')
_err.set(19);
if (calleg != 0l)
{
if (calleg == _codcf)
_err.set(20);
clifo.zero();
clifo.put(CLI_CODCF, calleg);
clifo.put(CLI_TIPOCF,_tipo);
if (clifo.read() == NOERR)
{
bool sospall = clifo.get_bool(CLI_SOSPESO);
long codall = clifo.get_long(CLI_CODALLEG);
char alleg = clifo.get_char(CLI_ALLEG);
if (sospall)
_err.set(21);
if (codall != 0l)
_err.set(22);
if (_stampa_mess_alleg_iva && alleg == 1)
_err.set(23);
clifo.zero();
clifo.put(CLI_CODCF, calleg);
clifo.put(CLI_TIPOCF,_tipo_elenco);
if (clifo.read() == NOERR)
{
bool sospall = clifo.get_bool(CLI_SOSPESO);
long codall = clifo.get_long(CLI_CODALLEG);
char alleg = clifo.get_char(CLI_ALLEG);
if (sospall)
_err.set(21);
if (codall != 0l)
_err.set(22);
if (_stampa_mess_alleg_iva && alleg == '1')
_err.set(23);
}
else _err.set(24);
}
else _err.set(24);
}
}
else _err.set(25);
@ -1750,14 +1766,15 @@ bool TListaMov_application::segnala_errori_ogniriga()
TConto tc (gruppo,conto,sottoconto);
TRecnotype numerorec = rmov.recno();
if (contropartita())
{
rmov.readat(nrec);
return TRUE;
}
rmov.readat(numerorec);
/*
TRecnotype numerorec = rmov.recno();
if (contropartita())
{
rmov.readat(nrec);
return TRUE;
}
rmov.readat(numerorec);
*/
if (anno != _annoeser || datareg != _datareg)
{
rmov.readat(nrec);
@ -2489,7 +2506,7 @@ void TListaMov_application::preprocess_header()
set_header (soh++, "@86gtutte le causali");
sep.fill('-');
set_header (soh++, (const char *) sep);
set_header (soh++, "Rg Cod Causale@30gDescrizione@56gCodice conto@71gDescrizione conto@98gDare@116gAvere@130gSB");
set_header (soh, "Rg Cod Causale@30gDescrizione@56gCodice conto@71gDescrizione conto@98gDare@116gAvere@130gSB");
}
break;

View File

@ -31,6 +31,10 @@
#define F_CODICEFIN1 124
#define F_MOVIMENTI 125
#define F_STAMPAMOVP 126
#define F_RAGSOCINI 127
#define F_RAGSOCFIN 128
#define F_RAGSOCINI1 129
#define F_RAGSOCFIN1 130
#define ST_DATA 0x0001
#define ST_NUMERO 0x0002

View File

@ -95,22 +95,35 @@ END
DATE F_DATAINI
BEGIN
<<<<<<< cg3100a.uml
PROMPT 19 11 "Stampa mov. dalla data "
HELP "Data da cui iniziare la stampa"
=======
PROMPT 16 11 "Stampa mov. dalla data "
//HELP "Se non indicato nessun valore viene effettuata una stampa completa in ordine di data"
>>>>>>> 1.12
GROUP 3
END
DATE F_DATAFIN
BEGIN
<<<<<<< cg3100a.uml
PROMPT 55 11 "alla data "
HELP "Data fino a cui stampare i movimenti"
=======
PROMPT 52 11 "alla data "
>>>>>>> 1.12
GROUP 3
END
NUMBER F_NUMEROINI 7
BEGIN
<<<<<<< cg3100a.uml
PROMPT 19 12 "Stampa mov. dal numero "
HELP "Numero del movimento da cui iniziare la stampa"
=======
PROMPT 16 12 "Stampa mov. dal numero "
>>>>>>> 1.12
USE LF_MOV KEY 1
INPUT NUMREG F_NUMEROINI
DISPLAY "Numero@6" NUMREG
@ -126,8 +139,12 @@ END
NUMBER F_NUMEROFIN 7
BEGIN
<<<<<<< cg3100a.uml
PROMPT 55 12 "al numero "
HELP "Numero del movimenti fino cui fare la stampa"
=======
PROMPT 52 12 "al numero "
>>>>>>> 1.12
COPY USE F_NUMEROINI
INPUT NUMREG F_NUMEROFIN
COPY DISPLAY F_NUMEROINI
@ -147,8 +164,9 @@ BEGIN
DISPLAY "Codice causale" CODCAUS
DISPLAY "Descrizione@50" DESCR
OUTPUT F_CAUSALEINI CODCAUS
FLAGS "UR"
FLAGS "U"
HELP "Causale di inizio stampa: vuoto = inizio archivio"
VALIDATE ZEROFILL_FUNC 3
END
STRING F_CAUSALEFIN 3
@ -159,8 +177,9 @@ BEGIN
DISPLAY "Codice causale" CODCAUS
DISPLAY "Descrizione@50" DESCR
OUTPUT F_CAUSALEFIN CODCAUS
FLAGS "UR"
FLAGS "U"
HELP "Causale di fine stampa: vuoto = fine archivio"
VALIDATE ZEROFILL_FUNC 3
END
STRING F_REGISTROINI 3
@ -173,9 +192,10 @@ BEGIN
DISPLAY "Cod. registro iva" CODTAB[5,7]
DISPLAY "Descrizione@40" S0
OUTPUT F_REGISTROINI CODTAB[5,7]
FLAGS "UR"
FLAGS "U"
//CHECKTYPE NORMAL
HELP "Codice registro iva di inizio stampa: vuoto = inizio archivio"
VALIDATE ZEROFILL_FUNC 3
END
STRING F_REGISTROFIN 3
@ -188,9 +208,10 @@ BEGIN
DISPLAY "Cod. registro iva" CODTAB[5,7]
DISPLAY "Descrizione@40" S0
OUTPUT F_REGISTROFIN CODTAB[5,7]
FLAGS "UR"
FLAGS "U"
//CHECKTYPE NORMAL
HELP "Codice registro iva di fine stampa: vuoto = fine archivio"
VALIDATE ZEROFILL_FUNC 3
END
BOOLEAN F_STAMPA
@ -212,14 +233,15 @@ BEGIN
END
*/
BUTTON DLG_OK 9 2
BUTTON DLG_PRINT 9 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -203,14 +203,15 @@ BEGIN
HELP "Indicare se stampare i movimenti provvisori"
END
BUTTON DLG_OK 9 2
BUTTON DLG_PRINT 9 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -95,14 +95,15 @@ BEGIN
PROMPT 2 15 "(N.B. se non indicato nessun valore stampa completa in ordine di data) "
END
BUTTON DLG_OK 9 2
BUTTON DLG_PRINT 9 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 9 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE