Errori corretti

git-svn-id: svn://10.65.10.50/trunk@1590 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-07-13 07:51:59 +00:00
parent 79c2bab453
commit 0303a5c42a
6 changed files with 5123 additions and 5128 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -94,35 +94,6 @@ bool CG4400_application::mask_azzera (TMask_field& f, KEY k)
return TRUE; return TRUE;
} }
/*
bool CG4400_application::mask_firm_to (TMask_field& f, KEY k)
{
if (k == K_TAB && f.focusdirty())
{
TMask& m = f.mask();
const long from = m.get_long(DA_CODICE);
long to = m.get_long(A_CODICE);
if (from != 0 || to != 0)
{
TBit_array& sel = app()._selected;
if (to == 0) to = 99999;
for (int i = 0; i < app()._ditte->items(); i++)
{
TToken_string& d = app()._ditte->row(i);
const long cod = d.get_long(1);
if (cod >= from && cod <= to)
sel.set(i);
}
// m.reset(DA_CODICE);
// m.reset(A_CODICE);
const long numd = sel.ones();
f.mask().set(F_SELECT, numd);
}
}
return TRUE;
}
*/
bool CG4400_application::mask_tipo_stampa(TMask_field& f, KEY k) bool CG4400_application::mask_tipo_stampa(TMask_field& f, KEY k)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
@ -801,12 +772,18 @@ void CG4400_application::calcola_progressivi()
impo = cs.get(0); impo = cs.get(0);
impos = cs.get(1); impos = cs.get(1);
} }
TToken_string fatt_rit (pim.get("S1")); //se in sospensione d'imposta l'imponibile e l'iva li trovo in R11 e R12
if (_sosp_imposta) //in genere non sara' mai un corrispettivo
{
impo = pim.get_real("R11");
impos = pim.get_real("R12");
}
TToken_string fatt_rit (pim.get("S1")); //e' sempre un acquisto
real im (fatt_rit.get(0)); real im (fatt_rit.get(0));
real is (fatt_rit.get(1)); real is (fatt_rit.get(1));
impo += im; impo += im;
impos += is; impos += is;
implo += im+is; implo += im+is; // potrei percio' ignorare l'importo lordo
if (impo != ZERO || impos != ZERO || implo != ZERO) if (impo != ZERO || impos != ZERO || implo != ZERO)
_tot_iva_array.add_riga(impo,impos,implo,ZERO,ZERO,ZERO,codiva); _tot_iva_array.add_riga(impo,impos,implo,ZERO,ZERO,ZERO,codiva);
if (_tipo_reg == 2) //registro acquisti if (_tipo_reg == 2) //registro acquisti
@ -849,6 +826,12 @@ void CG4400_application::calcola_progressivi()
impo = cs.get(0); impo = cs.get(0);
impos = cs.get(1); impos = cs.get(1);
} }
//se in sospensione d'imposta l'imponibile e l'iva li trovo in R11 e R12
if (_sosp_imposta)
{
impo = pim.get_real("R11");
impos = pim.get_real("R12");
}
TToken_string fatt_rit (pim.get("S1")); TToken_string fatt_rit (pim.get("S1"));
real im (fatt_rit.get(0)); real im (fatt_rit.get(0));
real is (fatt_rit.get(1)); real is (fatt_rit.get(1));
@ -1401,93 +1384,6 @@ int CG4400_application::stampa_acquisti(int row)
return rw; return rw;
} }
/*
void CG4400_application::set_page_tot_reg()
{
TString16 codivaprec = "";
int row=0, rr=0;
rr = stampa_prospetto();
//if (_nrec > 0) //numero di records di rmoviva
if (_esiste_riga_iva && _stampa)
{
real tot_imponib, tot_imposta, tot_imponibp, tot_impostap, tot_lordo;
real dep_imponib, dep_imposta, dep_lordo;
tot_imponib = tot_imposta = tot_imponibp = tot_impostap = tot_lordo = ZERO;
dep_imponib = dep_imposta = dep_lordo = ZERO;
_tot_iva_array.sort(compare_rows); //viene ordinato per codice iva
for (int k = 0; k < _tot_iva_array.items(); k++)
{
TRiga& riga = (TRiga&)_tot_iva_array[k];
//row = rr+k;
if (codivaprec == "")
codivaprec = riga._codiva;
if (codivaprec != riga._codiva)
{
set_row(rr, "%3s", (const char*)codivaprec);
TString descr = descr_iva(codivaprec);
set_row(rr, "@5g%s",(const char*)descr);
if (dep_imponib != ZERO)
set_row(rr, "@25g%r", &dep_imponib);
if (dep_imposta != ZERO)
set_row(rr, "@41g%r", &dep_imposta);
if (dep_lordo != ZERO)
set_row(rr, "@61g%r", &dep_lordo);
}
rr++;
codivaprec = riga._codiva;
dep_imponib = dep_imposta = dep_lordo = ZERO;
}
if (riga._tipodoc == "FS")
{
real somma = -(riga._imponibile + riga._imposta);
dep_lordo += somma;
}
else if (riga._tipodoc == "CR" || riga._tipodoc == "RF" || riga._tipodoc == "SC")
{
dep_lordo += riga._imponibile + riga._imposta;
tot_lordo += riga._imponibile + riga._imposta;
}
if (riga._tipodoc != "CR" && riga._tipodoc != "SC" && riga._tipodoc == "RF")
{
dep_imponib += riga._imponibile;
dep_imposta += riga._imposta;
tot_imponib += riga._imponibile;
tot_imposta += riga._imposta;
}
if (k == (_tot_iva_array.items()-1))
{
set_row(rr, "%3s", (const char*)riga._codiva);
TString descr = descr_iva(riga._codiva);
set_row(rr, "@5g%s", (const char*)descr);
if (dep_imponib != ZERO)
set_row(rr, "@25g%r", &dep_imponib);
if (dep_imposta != ZERO)
set_row(rr, "@41g%r", &dep_imposta);
if (dep_lordo != ZERO)
set_row(rr, "@61g%r", &dep_lordo);
}
}
_tot_iva_array.destroy();
rr++;
set_row(++rr, "TOTALE@25g%r@41g%r", &tot_imponib, &tot_imposta);
if (_corrispettivi)
if (tot_lordo != ZERO)
set_row(rr, "@61g%r", &tot_lordo);
if (_tipo_reg == 2) rr = stampa_acquisti(rr);
if (_tipo_reg == 2 && _tipo_stampa != 1)
stampa_plafonds(rr);
}
}
*/
void CG4400_application::set_page_tot_reg() void CG4400_application::set_page_tot_reg()
{ {
int rr=0; int rr=0;
@ -1830,6 +1726,7 @@ bool CG4400_application::compila_reg(const TMask& m)
_pagine_stampate = _tabreg->get_long("I1"); _pagine_stampate = _tabreg->get_long("I1");
_numini = _pagine_stampate; _numini = _pagine_stampate;
_corrispettivi = _tabreg->get_bool("B0"); _corrispettivi = _tabreg->get_bool("B0");
_sosp_imposta = _tabreg->get_bool("B1");
_liquidazione = _tabreg->get_bool("B7"); _liquidazione = _tabreg->get_bool("B7");
_riep_liq = _tabreg->get_bool("B6"); _riep_liq = _tabreg->get_bool("B6");
_stampa_cred_pre = _tabreg->get_bool("B4"); _stampa_cred_pre = _tabreg->get_bool("B4");
@ -2694,6 +2591,7 @@ void CG4400_application::look_reg()
_liquidazione = _tabreg->get_bool("B7"); _liquidazione = _tabreg->get_bool("B7");
_riep_liq = _tabreg->get_bool("B6"); _riep_liq = _tabreg->get_bool("B6");
_corrispettivi = _tabreg->get_bool("B0"); _corrispettivi = _tabreg->get_bool("B0");
_sosp_imposta = _tabreg->get_bool("B1");
_pagine_stampate = _tabreg->get_long("I1"); _pagine_stampate = _tabreg->get_long("I1");
_numini = _pagine_stampate; _numini = _pagine_stampate;
_cod_un_loc = _tabreg->get_int("I7"); _cod_un_loc = _tabreg->get_int("I7");
@ -3228,11 +3126,23 @@ void CG4400_application::preprocess_header()
r++; r++;
/*
if (!_intesta_vidi) if (!_intesta_vidi)
set_header(r, "Registro IVA: %s %s %s Attivita\' %s %s", set_header(r, "Registro IVA: %s %s %s Attivita\' %s %s",
(const char *) _codreg, (const char *) _desc_lib, (const char *) _codreg, (const char *) _desc_lib,
(const char *) data, (const char *) _codatt, (const char *) data, (const char *) _codatt,
(const char *) _attivita); (const char *) _attivita);
*/
if (!_intesta_vidi)
{
if (_intesta_liq)
set_header(r, "Registro IVA: %s %s %s", (const char*)_codreg,
(const char*)_desc_lib, (const char*) data);
else set_header(r, "Registro IVA: %s %s %s Attivita\' %s %s",
(const char*) _codreg, (const char*) _desc_lib,
(const char*) data, (const char*) _codatt,
(const char*) _attivita);
}
else else
{ {
set_header(r++, "Registro IVA: %s %s", (const char *) _codreg, (const char *) _desc_lib); set_header(r++, "Registro IVA: %s %s", (const char *) _codreg, (const char *) _desc_lib);

View File

@ -54,6 +54,7 @@ class CG4400_application : public TPrintapp
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa; bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre; bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi; bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
bool _sosp_imposta;
char _frequiva, _tipo_riepilogativo; char _frequiva, _tipo_riepilogativo;
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg; TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
TDate _u_data; TDate _u_data;
@ -66,7 +67,7 @@ class CG4400_application : public TPrintapp
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt; TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
TString _tipodoc, _descr_doc, _codlib, _codice_vidi; TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis; TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
TFilename _t; TFilename _t, _pippo;
TParagraph_string* _desc27; TParagraph_string* _desc27;
messaggio _scelta; messaggio _scelta;
@ -143,7 +144,7 @@ public:
real stampa_valori_plafonds(const real&, const int, TTable&, const char*); real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
void build_nomiditte(TProgind* pnd = NULL); void build_nomiditte(TProgind* pnd = NULL);
void set_year(int y) { _annoes = y; } void set_year(int y) { _annoes = y; }
void clear_stliq(); void clear_stliq();
virtual bool preprocess_print(int, int); virtual bool preprocess_print(int, int);
virtual bool user_create(); virtual bool user_create();
virtual bool user_destroy(); virtual bool user_destroy();

View File

@ -1,272 +1,272 @@
// cg4400a.uml // cg4400a.uml
// Stampa tabella registri // Stampa tabella registri
#include "cg4400a.h" #include "cg4400a.h"
PAGE "Stampa registri IVA" -1 -1 56 18 PAGE "Stampa registri IVA" -1 -1 56 18
LISTBOX TIPO_STAMPA 1 48 LISTBOX TIPO_STAMPA 1 48
BEGIN 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 "1|Stampa di prova" ITEM "1|Stampa di prova"
MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|SHOW,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@ MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|SHOW,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@
ITEM "2|Libri bollati della ditta" ITEM "2|Libri bollati della ditta"
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
ITEM "3|Libri unici dello studio" ITEM "3|Libri unici dello studio"
MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
ITEM "4|Libri con riferimenti al libro giornale" ITEM "4|Libri con riferimenti al libro giornale"
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
END END
NUMBER ANNO 4 NUMBER ANNO 4
BEGIN 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" WARNING "Inserire l'anno"
VALIDATE FIXLEN_FUNC 4 VALIDATE FIXLEN_FUNC 4
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
GROUPBOX DLG_NULL 39 5 GROUPBOX DLG_NULL 39 5
BEGIN BEGIN
PROMPT 16 2 "Scelta ditte" PROMPT 16 2 "Scelta ditte"
END END
NUMBER DA_CODICE 6 NUMBER DA_CODICE 5
BEGIN BEGIN
PROMPT 17 3 "Da codice " PROMPT 17 3 "Da codice "
HELP "Codice ditta di inizio selezione" HELP "Codice ditta di inizio selezione"
END END
BUTTON BUT_DFR 2 1 BUTTON BUT_DFR 2 1
BEGIN BEGIN
PROMPT 34 3 "*" PROMPT 33 3 "*"
PICTURE 109 PICTURE 109
END END
NUMBER A_CODICE 6 NUMBER A_CODICE 5
BEGIN BEGIN
PROMPT 17 4 "A codice " PROMPT 17 4 "A codice "
HELP "Codice ditta di fine selezione" HELP "Codice ditta di fine selezione"
END END
BUTTON BUT_DTO 2 1 BUTTON BUT_DTO 2 1
BEGIN BEGIN
PROMPT 34 4 "*" PROMPT 33 4 "*"
PICTURE 109 PICTURE 109
END END
STRING F_SELECT 5 STRING F_SELECT 5
BEGIN BEGIN
PROMPT 17 5 "Scelte n. " PROMPT 17 5 "Scelte n. "
FLAGS "D" FLAGS "DR"
END END
BUTTON DLG_SELECT 10 2 BUTTON DLG_SELECT 10 2
BEGIN BEGIN
PROMPT 41 3 "~Selezione" PROMPT 41 3 "~Selezione"
HELP "Indicare le ditte da selezionare per la stampa" HELP "Indicare le ditte da selezionare per la stampa"
END END
BUTTON F_ANNULLA 10 BUTTON F_ANNULLA 10
BEGIN BEGIN
PROMPT 41 5 "A~zzera" PROMPT 41 5 "A~zzera"
HELP "Annullare la selezione delle ditte" HELP "Annullare la selezione delle ditte"
MESSAGE RESET,DA_CODICE|RESET,A_CODICE MESSAGE RESET,DA_CODICE|RESET,A_CODICE
END END
DATE DATA_STAMPA DATE DATA_STAMPA
BEGIN BEGIN
PROMPT 28 7 "Data stampa " PROMPT 28 7 "Data stampa "
FLAGS "A" FLAGS "A"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Inserire la data di stampa" WARNING "Inserire la data di stampa"
END END
STRING CODICE_LIBRO 3 STRING CODICE_LIBRO 3
BEGIN BEGIN
PROMPT 2 7 "Codice libro " PROMPT 2 7 "Codice libro "
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate" HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
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 INPUT CODTAB[5,7] CODICE_LIBRO
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7] DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO CODTAB[5,7] OUTPUT CODICE_LIBRO CODTAB[5,7]
FLAGS "U" FLAGS "U"
VALIDATE ZEROFILL_FUNC 3 VALIDATE ZEROFILL_FUNC 3
GROUP 1 GROUP 1
END END
STRING CODICE_LIBRO_PROVA 3 STRING CODICE_LIBRO_PROVA 3
BEGIN BEGIN
PROMPT 2 7 "Codice libro " PROMPT 2 7 "Codice libro "
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate" HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111) USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
INPUT CODTAB[1,4] ANNO INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIBRO_PROVA INPUT CODTAB[5,7] CODICE_LIBRO_PROVA
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7] DISPLAY "Codice " CODTAB[5,7]
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]
FLAGS "U" FLAGS "U"
VALIDATE ZEROFILL_FUNC 3 VALIDATE ZEROFILL_FUNC 3
END END
STRING CODICE_LIB_UN 3 STRING CODICE_LIB_UN 3
BEGIN BEGIN
PROMPT 2 7 "Libro unico " PROMPT 2 7 "Libro unico "
HELP "Codice del libro unico su cui deve essere effettuata la stampa" HELP "Codice del libro unico su cui deve essere effettuata la stampa"
USE %LBU SELECT CODTAB[1,4]==#111 USE %LBU SELECT CODTAB[1,4]==#111
INPUT CODTAB[1,4] ANNO INPUT CODTAB[1,4] ANNO
INPUT CODTAB[5,7] CODICE_LIB_UN INPUT CODTAB[5,7] CODICE_LIB_UN
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7] DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIB_UN CODTAB[5,7] OUTPUT CODICE_LIB_UN CODTAB[5,7]
FLAGS "U" FLAGS "U"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
WARNING "Inserire il codice del libro unico" WARNING "Inserire il codice del libro unico"
VALIDATE ZEROFILL_FUNC 3 VALIDATE ZEROFILL_FUNC 3
GROUP 2 GROUP 2
END END
GROUPBOX DLG_NULL 52 3 GROUPBOX DLG_NULL 52 3
BEGIN BEGIN
PROMPT 2 8 "Stampa movimenti" PROMPT 2 8 "Stampa movimenti"
END END
DATE DA_DATA DATE DA_DATA
BEGIN BEGIN
PROMPT 3 9 "Dalla data " PROMPT 3 9 "Dalla data "
HELP "Data di inizio stampa registro" HELP "Data di inizio stampa registro"
GROUP 3 GROUP 3
END END
DATE A_DATA DATE A_DATA
BEGIN BEGIN
PROMPT 30 9 "Alla data " PROMPT 30 9 "Alla data "
HELP "Data di fine stampa registro" HELP "Data di fine stampa registro"
VALIDATE DATE_CMP_FUNC >= DA_DATA VALIDATE DATE_CMP_FUNC >= DA_DATA
WARNING "Inserire una data non inferiore alla data limite inferiore" WARNING "Inserire una data non inferiore alla data limite inferiore"
GROUP 3 GROUP 3
END END
LISTBOX FINO_A_MESE 10 LISTBOX FINO_A_MESE 10
BEGIN BEGIN
PROMPT 3 9 "Fino al mese " PROMPT 3 9 "Fino al mese "
HELP "Mese fino al quale eseguire la stampa" HELP "Mese fino al quale eseguire la stampa"
FLAGS "M" FLAGS "M"
GROUP 1 GROUP 1
END END
LISTBOX MESE 10 LISTBOX MESE 10
BEGIN BEGIN
PROMPT 4 9 "Mese " PROMPT 4 9 "Mese "
HELP "Mese di cui eseguire la stampa" HELP "Mese di cui eseguire la stampa"
FLAGS "M" FLAGS "M"
GROUP 2 GROUP 2
END END
LISTBOX TIPO_RIEPILOGATIVO 11 LISTBOX TIPO_RIEPILOGATIVO 11
BEGIN BEGIN
PROMPT 2 11 "Tipo riepilogativo " PROMPT 2 11 "Tipo riepilogativo "
HELP "Indicare il tipo stampa di liquidazione sul registro" HELP "Indicare il tipo stampa di liquidazione sul registro"
ITEM "P|Del periodo" ITEM "P|Del periodo"
ITEM "A|Annuale" ITEM "A|Annuale"
END END
GROUPBOX DLG_NULL 35 4 GROUPBOX DLG_NULL 35 4
BEGIN BEGIN
PROMPT 2 12 "Formato pagina" PROMPT 2 12 "Formato pagina"
END END
LISTBOX STAMPA_WIDTH 4 LISTBOX STAMPA_WIDTH 4
BEGIN BEGIN
PROMPT 3 13 "Numero di colonne " PROMPT 3 13 "Numero di colonne "
HELP "Numero di colonne per pagina del modulo di stampa." HELP "Numero di colonne per pagina del modulo di stampa."
ITEM "1|132" ITEM "1|132"
ITEM "2|198" ITEM "2|198"
END END
NUMBER STAMPA_LEN 3 NUMBER STAMPA_LEN 3
BEGIN BEGIN
PROMPT 3 14 "Numero di righe " PROMPT 3 14 "Numero di righe "
HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe" HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe"
END END
BUTTON DLG_PRINT 10 2 BUTTON DLG_PRINT 10 2
BEGIN BEGIN
PROMPT -12 -1 "~Stampa" PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER MESSAGE EXIT,K_ENTER
END END
BUTTON DLG_QUIT 10 2 BUTTON DLG_QUIT 10 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END
ENDPAGE ENDPAGE
PAGE "Stampa registri IVA" -1 -1 56 18 PAGE "Stampa registri IVA" -1 -1 56 18
NUMBER ULTIMA_PAGINA 4 NUMBER ULTIMA_PAGINA 4
BEGIN BEGIN
PROMPT 2 2 "Ultimo numero di pagina stampata libro unico " PROMPT 2 2 "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"
FLAGS "R" FLAGS "R"
GROUP 2 GROUP 2
END END
STRING CODICE_LIBRO_IVA 3 STRING CODICE_LIBRO_IVA 3
BEGIN BEGIN
PROMPT 2 3 "Eventuale codice libro IVA " PROMPT 2 3 "Eventuale codice libro IVA "
HELP "Libro IVA da stampare. Vuoto = tutti" HELP "Libro IVA da stampare. Vuoto = tutti"
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111) USE REG SELECT (I0<"3") && (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
DISPLAY "Anno " CODTAB[1,4] DISPLAY "Anno " CODTAB[1,4]
DISPLAY "Codice " CODTAB[5,7] DISPLAY "Codice " CODTAB[5,7]
DISPLAY "Descrizione @40" S0 DISPLAY "Descrizione @40" S0
OUTPUT ANNO CODTAB[1,4] OUTPUT ANNO CODTAB[1,4]
OUTPUT CODICE_LIBRO_IVA CODTAB[5,7] OUTPUT CODICE_LIBRO_IVA CODTAB[5,7]
//CHECKTYPE NORMAL //CHECKTYPE NORMAL
FLAGS "U" FLAGS "U"
VALIDATE ZEROFILL_FUNC 3 VALIDATE ZEROFILL_FUNC 3
GROUP 2 GROUP 2
END END
LISTBOX ULTIMO_MESE 10 LISTBOX ULTIMO_MESE 10
BEGIN BEGIN
PROMPT 2 4 "Ultimo mese stampa su libro unico " PROMPT 2 4 "Ultimo mese stampa su libro unico "
FLAGS "MD" FLAGS "MD"
ITEM "00|Nessuno" ITEM "00|Nessuno"
GROUP 2 GROUP 2
END END
BOOLEAN RIF_VID BOOLEAN RIF_VID
BEGIN BEGIN
PROMPT 2 5 "Stampa riferimenti vidimazione" PROMPT 2 5 "Stampa riferimenti vidimazione"
END END
BUTTON DLG_PRINT 10 2 BUTTON DLG_PRINT 10 2
BEGIN BEGIN
PROMPT -12 -1 "~Stampa" PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER MESSAGE EXIT,K_ENTER
END END
BUTTON DLG_QUIT 10 2 BUTTON DLG_QUIT 10 2
BEGIN BEGIN
PROMPT -22 -1 "" PROMPT -22 -1 ""
END END
ENDPAGE ENDPAGE
ENDMASK ENDMASK

View File

@ -1,218 +1,232 @@
// classpim.cpp // classpim.cpp
// funzione per classificare i PIM e sommare tutto cio' che contengono // funzione per classificare i PIM e sommare tutto cio' che contengono
#include "classpim.h" #include "classpim.h"
#include <stdlib.h> #include <stdlib.h>
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t) bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
{ {
static int last_checked = -1; static int last_checked = -1;
// parse CODTAB of pim record // parse CODTAB of pim record
TString ctab = pimr.get("CODTAB"); TString ctab = pimr.get("CODTAB");
const int tipocr = atoi(ctab.mid(15,1)); // tipo costo_ricavo const int tipocr = atoi(ctab.mid(15,1)); // tipo costo_ricavo
const int tipodet = atoi(ctab.mid(20,1)); // tipo detraibilita' const int tipodet = atoi(ctab.mid(20,1)); // tipo detraibilita'
const int corrisp = (int)pimr.get_long("I0"); // netto = 1, lordo = 2 const int corrisp = (int)pimr.get_long("I0"); // netto = 1, lordo = 2
const int tipomov = (int)pimr.get_long("I1"); // 1 = vendita, 2 = acquisto const int tipomov = (int)pimr.get_long("I1"); // 1 = vendita, 2 = acquisto
const bool vola = pimr.get_bool("B2"); const bool vola = pimr.get_bool("B2");
const bool rimb = pimr.get_bool("B3"); const bool rimb = pimr.get_bool("B3");
const bool ricl = pimr.get_bool("B4");
TString tipoiva = pimr.get("S5");
TString tipoiva = pimr.get("S5");
// cominciamo cosi'
imp = ZERO; iva = ZERO; // cominciamo cosi'
imp = ZERO; iva = ZERO;
for (int i = last_checked + 1; i <= MAX_TIPOREC; i++)
{ for (int i = last_checked + 1; i <= MAX_TIPOREC; i++)
tiporec tocheck = (tiporec)i; {
bool found = FALSE; tiporec tocheck = (tiporec)i;
bool found = FALSE;
switch(tocheck)
{ switch(tocheck)
case acq_norm: {
found = tipomov == 2 && tipoiva != "NS"; case acq_norm:
found &= (tipodet == 0 /* || tipodet == 1 || tipodet == 3 || //found = tipomov == 2 && tipoiva != "NS";
tipodet == 5 || tipodet == 9 */); found = tipomov == 2;
if (found) found &= (tipodet == 0 /* || tipodet == 1 || tipodet == 3 ||
{ tipodet == 5 || tipodet == 9 */);
imp = pimr.get_real("R0"); if (found)
iva = pimr.get_real("R1"); {
} imp = pimr.get_real("R0") - pimr.get_real("R9");
break; iva = pimr.get_real("R1") - pimr.get_real("R10");
case vend_norm: }
found = tipomov == 1 /* && corrisp == 1 */ && tipoiva != "NS"; break;
if (found) case vend_norm:
{ //found = tipomov == 1 /* && corrisp == 1 */ && tipoiva != "NS";
imp = pimr.get_real("R0"); found = tipomov == 1 /* && corrisp == 1 */;
iva = pimr.get_real("R1"); if (found)
} {
break; imp = pimr.get_real("R0");
case acq_simp: iva = pimr.get_real("R1");
if (tipomov == 2) }
{ break;
imp = pimr.get_real("R11"); case acq_simp:
iva = pimr.get_real("R12"); if (tipomov == 2)
} {
found = !imp.is_zero() || !iva.is_zero(); imp = pimr.get_real("R11");
break; iva = pimr.get_real("R12");
case vend_simp: }
if (tipomov == 1 /* && corrisp == 1 */) found = !imp.is_zero() || !iva.is_zero();
{ break;
imp = pimr.get_real("R11"); case vend_simp:
iva = pimr.get_real("R12"); if (tipomov == 1 /* && corrisp == 1 */)
} {
found = !imp.is_zero() || !iva.is_zero(); imp = pimr.get_real("R11");
break; iva = pimr.get_real("R12");
case bolle_doganali: }
if (tipomov == 2 && tipoiva != "NS") found = !imp.is_zero() || !iva.is_zero();
{ break;
imp = pimr.get_real("R9"); case bolle_doganali:
iva = pimr.get_real("R10"); //if (tipomov == 2 && tipoiva != "NS")
} if (tipomov == 2)
found = !imp.is_zero() || !iva.is_zero(); {
break; imp = pimr.get_real("R9");
case base_ventilazione: iva = pimr.get_real("R10");
found = (tipomov == 2 && tipodet != 9 && tipocr == 1); }
found &= (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES"); found = !imp.is_zero() || !iva.is_zero();
if (found) break;
{ case base_ventilazione:
imp = pimr.get_real("R0"); found = (tipomov == 2 && tipodet != 9 && tipocr == 1);
iva = pimr.get_real("R1"); found &= (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES");
} found &= (ricl ? TRUE : tipodet == 3);
found &= !imp.is_zero() || !iva.is_zero(); if (found)
break; {
case acq_beni_riv: imp = pimr.get_real("R0");
found = (tipomov == 2 && tipodet != 9 && iva = pimr.get_real("R1");
(tipocr == 1 || (tipocr == 5 && tipodet == 3))); }
found &= tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES"; found &= !imp.is_zero() || !iva.is_zero();
if (found) break;
{ case acq_beni_riv:
imp = pimr.get_real("R0"); /*
iva = pimr.get_real("R1"); found = (tipomov == 2 && tipodet != 9 &&
} (tipocr == 1 || (tipocr == 5 && tipodet == 3)));
found &= (!imp.is_zero() || !iva.is_zero()); found &= tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES";
break; found &= (ricl ? TRUE : tipodet == 3);
case corr_norm: */
found = tipomov == 1 && corrisp == 2 && tipoiva != "NS"; found = (tipomov == 2 && (tipocr == 1 || tipocr == 5));
if (found) if (found)
{ {
imp = pimr.get_real("R0"); imp = pimr.get_real("R0");
iva = pimr.get_real("R1"); iva = pimr.get_real("R1");
found &= (!imp.is_zero() || !iva.is_zero()); }
} found &= (!imp.is_zero() || !iva.is_zero());
break; break;
case corr_simp: case corr_norm:
if (tipomov == 1 && corrisp == 2) found = tipomov == 1 && corrisp == 2 && tipoiva != "NS";
{ if (found)
imp = pimr.get_real("R11"); {
iva = pimr.get_real("R12"); imp = pimr.get_real("R0");
} iva = pimr.get_real("R1");
found = !imp.is_zero() || !iva.is_zero(); found &= (!imp.is_zero() || !iva.is_zero());
break; }
case acq_beni_ammort: break;
found = tipomov == 2 && tipocr == 2 && case corr_simp:
tipodet == 0 && tipoiva != "NS"; if (tipomov == 1 && corrisp == 2)
if (found) {
{ imp = pimr.get_real("R11");
imp = pimr.get_real("R0"); iva = pimr.get_real("R12");
iva = pimr.get_real("R1"); }
found &= (!imp.is_zero() || !iva.is_zero()); found = !imp.is_zero() || !iva.is_zero();
} break;
break; case acq_beni_ammort:
case acq_beni_ammort_nd: //found = tipomov == 2 && tipocr == 2 &&
found = tipomov == 2 && tipocr ==2 && // tipodet == 0 && tipoiva != "NS";
tipodet != 0 && tipoiva != "NS"; found = tipomov == 2 && tipocr == 2 && tipodet == 0;
if (found) if (found)
{ {
imp = pimr.get_real("R0"); imp = pimr.get_real("R0");
iva = pimr.get_real("R1"); iva = pimr.get_real("R1");
found &= (!imp.is_zero() || !iva.is_zero()); found &= (!imp.is_zero() || !iva.is_zero());
} }
break; break;
case acq_beni_leasing: case acq_beni_ammort_nd:
found = tipomov == 2 && tipocr == 8 && tipoiva != "NS"; //found = tipomov == 2 && tipocr ==2 &&
if (found) // tipodet != 0 && tipoiva != "NS";
{ found = tipomov == 2 && tipocr ==2 && tipodet != 0;
imp = pimr.get_real("R0"); if (found)
iva = pimr.get_real("R1"); {
found &= (!imp.is_zero() || !iva.is_zero()); imp = pimr.get_real("R0");
} iva = pimr.get_real("R1");
break; found &= (!imp.is_zero() || !iva.is_zero());
case acq_amm_ultdetr: }
found = tipomov == 2 && tipocr == 3 && tipoiva != "NS"; break;
if (found) case acq_beni_leasing:
{ //found = tipomov == 2 && tipocr == 8 && tipoiva != "NS";
imp = pimr.get_real("R0"); found = tipomov == 2 && tipocr == 8;
iva = pimr.get_real("R1"); if (found)
found &= (!imp.is_zero() || !iva.is_zero()); {
} imp = pimr.get_real("R0");
break; iva = pimr.get_real("R1");
case acq_ind_op_es: found &= (!imp.is_zero() || !iva.is_zero());
found = tipomov == 2 && tipodet == 1 && tipoiva != "NS"; }
if (found) break;
{ case acq_amm_ultdetr:
imp = pimr.get_real("R0"); //found = tipomov == 2 && tipocr == 3 && tipoiva != "NS";
iva = pimr.get_real("R1"); found = tipomov == 2 && tipocr == 3;
found &= (!imp.is_zero() || !iva.is_zero()); if (found)
} {
break; imp = pimr.get_real("R0");
case acq_ind_pass_int: iva = pimr.get_real("R1");
found = tipomov == 2 && tipodet == 3 && tipoiva != "NS"; found &= (!imp.is_zero() || !iva.is_zero());
if (found) }
{ break;
imp = pimr.get_real("R0"); case acq_ind_op_es:
iva = pimr.get_real("R1"); found = tipomov == 2 && tipodet == 1 && tipoiva != "NS";
found &= (!imp.is_zero() || !iva.is_zero()); if (found)
} {
break; imp = pimr.get_real("R0");
case acq_ind_art_19: iva = pimr.get_real("R1");
found = tipomov == 2 && tipodet == 9 && tipoiva != "NS"; found &= (!imp.is_zero() || !iva.is_zero());
if (found) }
{ break;
imp = pimr.get_real("R0"); case acq_ind_pass_int:
iva = pimr.get_real("R1"); found = tipomov == 2 && tipodet == 3 && tipoiva != "NS";
found &= (!imp.is_zero() || !iva.is_zero()); if (found)
} {
break; imp = pimr.get_real("R0");
case cess_amm: iva = pimr.get_real("R1");
found = tipomov == 1 && tipocr == 4 && tipoiva != "NS"; found &= (!imp.is_zero() || !iva.is_zero());
if (found) }
{ break;
imp = pimr.get_real("R0"); case acq_ind_art_19:
iva = pimr.get_real("R1"); found = tipomov == 2 && tipodet == 9 && tipoiva != "NS";
found &= (!imp.is_zero() || !iva.is_zero()); if (found)
} {
break; imp = pimr.get_real("R0");
case vend_rimborso: iva = pimr.get_real("R1");
found = tipomov == 1 && rimb && tipoiva != "NS"; found &= (!imp.is_zero() || !iva.is_zero());
if (found) }
{ break;
imp = pimr.get_real("R0"); case cess_amm:
iva = pimr.get_real("R1"); //found = tipomov == 1 && tipocr == 4 && tipoiva != "NS";
found &= (!imp.is_zero() || !iva.is_zero()); found = tipomov == 1 && tipocr == 4;
} if (found)
break; {
case acq_rimborso: imp = pimr.get_real("R0");
found = tipomov == 2 && rimb && tipoiva != "NS"; iva = pimr.get_real("R1");
if (found) found &= (!imp.is_zero() || !iva.is_zero());
{ }
imp = pimr.get_real("R0"); break;
iva = pimr.get_real("R1"); case vend_rimborso:
found &= (!imp.is_zero() || !iva.is_zero()); found = tipomov == 1 && rimb && tipoiva != "NS";
} if (found)
break; {
} imp = pimr.get_real("R0");
iva = pimr.get_real("R1");
if (i == MAX_TIPOREC) found &= (!imp.is_zero() || !iva.is_zero());
last_checked = -1; }
else if (found) break;
{ case acq_rimborso:
t = tocheck; found = tipomov == 2 && rimb && tipoiva != "NS";
last_checked = i; if (found)
break; {
} imp = pimr.get_real("R0");
} iva = pimr.get_real("R1");
found &= (!imp.is_zero() || !iva.is_zero());
return last_checked != -1; }
} break;
}
if (i == MAX_TIPOREC)
last_checked = -1;
else if (found)
{
t = tocheck;
last_checked = i;
break;
}
}
return last_checked != -1;
}