Patch level : 12.0 686
Files correlati : cg3.exe cg3200a.msk cg3600a.msk cg3600b.msk Commento : Stampa e visualizzazione mastrini per data competenza IVA
This commit is contained in:
parent
5f23e9a02c
commit
2b1f7adf0b
@ -106,7 +106,7 @@ class TMastrini_application : public TPrintapp
|
||||
bool _stampato,_devi_stampare_footer;
|
||||
int _stampa_saldo_des;
|
||||
|
||||
int _annomsk,_annoesmsk,_annoes,_annomsksucc,_tipo_mask,_anno_ghost;
|
||||
int _annomsk,_annoesmsk,_annoes,_annomsksucc,_tipo_mask,_anno_ghost, _data_liq_iva;
|
||||
int _anno_corrente,_anno_precedente,_indbil,_numero_pag;
|
||||
long _sottoc,_numreg,_numgio,_protiva;
|
||||
bool _stampa_progressivi_si,_competenza,/*_inizio_stampa,*/_puoi_stampare,_stampa_footer_si;
|
||||
@ -144,6 +144,8 @@ protected:
|
||||
bool mask2sheet();
|
||||
bool sheet2mask();
|
||||
|
||||
const TDate get_filter_date(const TRectype & mov, const TRectype & rmov) const;
|
||||
|
||||
const char* real2str(const real& r) const;
|
||||
|
||||
#ifdef CONT_SEP
|
||||
@ -577,7 +579,7 @@ bool TMastrini_application::almeno_un_record()
|
||||
{
|
||||
const int annoes = rmov.get_int (RMV_ANNOES);
|
||||
const TString4 provvis (mov.get(MOV_PROVVIS));
|
||||
const TDate datareg = _annomsk ? mov.get_date(MOV_DATACOMP) : rmov.get_date(RMV_DATAREG);
|
||||
const TDate datareg = get_filter_date(mov, rmov);
|
||||
if ( ((annoes==_annomsk) || (_annomsk==0)) && ((datareg>=_data_ini) && (datareg<=_data_fine)) && (_stampa_mov_prov || provvis.blank()))
|
||||
{
|
||||
trovato = true;
|
||||
@ -633,11 +635,12 @@ bool TMastrini_application::data_fine(TMask_field& f, KEY k)
|
||||
int annoes = m.get_int(F_ANNO);
|
||||
TDate data = m.get_date(F_DATAFINE);
|
||||
TDate data_ini = m.get_date(F_DATAINI);
|
||||
app()._annomsk = annoes;
|
||||
|
||||
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
if (annoes != 0)
|
||||
app()._annomsk = annoes;
|
||||
app()._data_liq_iva = m.get_bool(F_DATA_LIQ);
|
||||
if (annoes != 0)
|
||||
{
|
||||
app().data_fine_esercizio(annoes);
|
||||
|
||||
@ -1432,20 +1435,17 @@ bool TMastrini_application::preprocess_page(int file, int counter)
|
||||
if (((_annoes == _annomsk) || (_annomsk == 0)) && (!_totale_saldo.is_zero()))
|
||||
{
|
||||
_sezione = rmov.get(RMV_SEZIONE);
|
||||
_datareg = get_filter_date(mov, rmov.curr());
|
||||
|
||||
if (_annomsk == 0)
|
||||
{
|
||||
_datareg = mov.get(MOV_DATAREG);
|
||||
|
||||
_datareg_stampa = _datareg;
|
||||
}
|
||||
else
|
||||
if (_annomsk != 0)
|
||||
{
|
||||
_datareg = mov.get(MOV_DATACOMP);
|
||||
_datareg_stampa = mov.get(MOV_DATAREG);
|
||||
}
|
||||
|
||||
if (_data_liq_iva)
|
||||
_datareg_stampa = _datareg;
|
||||
else
|
||||
{
|
||||
if (_annomsk == 0)
|
||||
_datareg_stampa = _datareg;
|
||||
else
|
||||
_datareg_stampa = mov.get(MOV_DATAREG);
|
||||
}
|
||||
|
||||
const TString4 provvis = mov.get(MOV_PROVVIS);
|
||||
|
||||
@ -2971,7 +2971,7 @@ void TMastrini_application::calcola_progressivi_al(const TDate& data_fin)
|
||||
if (_stampa_mov_prov || mov.get(MOV_PROVVIS).blank())
|
||||
{
|
||||
const int annoes = rmov.get_int (RMV_ANNOES);
|
||||
const TDate datareg = mov.get_date(_annomsk ? MOV_DATACOMP : RMV_DATAREG);
|
||||
const TDate datareg = get_filter_date(mov, rmov);
|
||||
|
||||
//Legge movimenti con data > inizio esercizio e < data_fin
|
||||
#ifdef CONT_SEP
|
||||
@ -3720,6 +3720,25 @@ bool TMastrini_application::sheet2mask()
|
||||
return ok;
|
||||
}
|
||||
|
||||
const TDate TMastrini_application::get_filter_date(const TRectype & mov, const TRectype & rmov) const
|
||||
{
|
||||
if (_data_liq_iva)
|
||||
{
|
||||
const int mese_prec = mov.get_int(MOV_MESELIQ);
|
||||
const TDate datareg(rmov.get_date(RMV_DATAREG));
|
||||
|
||||
if (mese_prec == 0)
|
||||
return datareg;
|
||||
TDate data_comp_iva(1, mese_prec, rmov.get_date(RMV_DATAREG).year());
|
||||
|
||||
data_comp_iva.set_end_month();
|
||||
return data_comp_iva;
|
||||
}
|
||||
if (_annomsk == 0)
|
||||
return rmov.get_date(RMV_DATAREG);
|
||||
return mov.get_date(MOV_DATACOMP);
|
||||
}
|
||||
|
||||
bool TMastrini_application::user_create()
|
||||
{
|
||||
TToken_string exp;
|
||||
|
@ -37,6 +37,13 @@ BEGIN
|
||||
FLAGS "A"
|
||||
END
|
||||
|
||||
BOOLEAN F_DATA_LIQ
|
||||
BEGIN
|
||||
PROMPT 31 2 "Stampa per competenza IVA "
|
||||
MESSAGE TRUE CLEAR,F_ANNO
|
||||
MESSAGE FALSE ENABLE,F_ANNO
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 51 2 "Esercizio "
|
||||
|
@ -161,7 +161,8 @@ class TMastrino : public TObject
|
||||
int _esercizio; // Esercizio di riferimento (eventualmente 0)
|
||||
TDate _da_data, _a_data; // Date limite
|
||||
TString _da_caus, _a_caus; // Causali limite
|
||||
bool _provvis; // Includi provvisori
|
||||
bool _provvis; // Includi provvisori
|
||||
bool _comp_IVA; // mastrino per data competenza IVA
|
||||
|
||||
real _pdare_ini, _pavere_ini;
|
||||
real _pdare_per, _pavere_per;
|
||||
@ -183,7 +184,7 @@ public:
|
||||
|
||||
void read(const TBill& conto,
|
||||
int annoes, const TDate& dd, const TDate& ad,
|
||||
const TString& dc, const TString& ac, bool provvis);
|
||||
const TString& dc, const TString& ac, bool provvis, bool compIVA);
|
||||
void reread();
|
||||
|
||||
TRiga_mastrino& operator[](long n) const { return row(n); }
|
||||
@ -200,6 +201,7 @@ public:
|
||||
const real& progressivo_dare_iniziale() const { return _pdare_ini; }
|
||||
const real& progressivo_avere_iniziale() const { return _pavere_ini; }
|
||||
TImporto saldo_iniziale() const;
|
||||
const TDate get_filter_date(const TRectype & mov, const TRectype & rmov) const;
|
||||
|
||||
const real& progressivo_dare_finale() const { return _pdare_fin; }
|
||||
const real& progressivo_avere_finale() const { return _pavere_fin; }
|
||||
@ -211,6 +213,7 @@ public:
|
||||
|
||||
const TBill& conto() const { return _conto; }
|
||||
int esercizio() const { return _esercizio; }
|
||||
bool data_liq_iva() const { return _comp_IVA; }
|
||||
const TDate& inizio_periodo() const { return _da_data; }
|
||||
const TDate& fine_periodo() const { return _a_data; }
|
||||
void periodo(TDate& dd, TDate& ad) const { dd = _da_data; ad = _a_data; }
|
||||
@ -290,10 +293,29 @@ long TMastrino::last(tipo_riga_mastrino tipo) const
|
||||
return pred(items(), tipo);
|
||||
}
|
||||
|
||||
const TDate TMastrino::get_filter_date(const TRectype & mov, const TRectype & rmov) const
|
||||
{
|
||||
if (_comp_IVA)
|
||||
{
|
||||
const int mese_prec = mov.get_int(MOV_MESELIQ);
|
||||
const TDate datareg(rmov.get_date(RMV_DATAREG));
|
||||
|
||||
if (mese_prec == 0)
|
||||
return datareg;
|
||||
TDate data_comp_iva(1, mese_prec, rmov.get_date(RMV_DATAREG).year());
|
||||
|
||||
data_comp_iva.set_end_month();
|
||||
return data_comp_iva;
|
||||
}
|
||||
if (_esercizio == 0)
|
||||
return rmov.get_date(RMV_DATAREG);
|
||||
return mov.get_date(MOV_DATACOMP);
|
||||
}
|
||||
|
||||
void TMastrino::read(const TBill& conto,
|
||||
int ae, const TDate& dd, const TDate& ad,
|
||||
const TString& dc, const TString& ac,
|
||||
bool provvis)
|
||||
bool provvis, bool compIVA)
|
||||
{
|
||||
TEsercizi_contabili esercizi;
|
||||
|
||||
@ -318,6 +340,8 @@ void TMastrino::read(const TBill& conto,
|
||||
const TDate& inizio_esercizio = esercizi[ae].inizio();
|
||||
_da_data = dd.ok() ? dd : inizio_esercizio;
|
||||
_a_data = ad.ok() ? ad : esercizi[ae].fine();
|
||||
_comp_IVA = compIVA;
|
||||
|
||||
|
||||
const bool test_caus = !(dc.blank() && ac.blank());
|
||||
_da_caus = dc;
|
||||
@ -337,6 +361,9 @@ void TMastrino::read(const TBill& conto,
|
||||
else
|
||||
max_data_reg = esercizi[ae].fine();
|
||||
}
|
||||
else
|
||||
if (_comp_IVA)
|
||||
max_data_reg = esercizi[ae].fine();
|
||||
|
||||
// Valori dei saldi fino alla data di inizio stampa:
|
||||
// Vengono inizializzati con i saldi iniziali dell'esercizio,
|
||||
@ -391,7 +418,7 @@ void TMastrino::read(const TBill& conto,
|
||||
const TRecfield rmov_sezione (rmov_rec, RMV_SEZIONE);
|
||||
const TRecfield rmov_importo (rmov_rec, RMV_IMPORTO);
|
||||
|
||||
const TRecfield mov_datacomp (mov_rec, MOV_DATACOMP);
|
||||
// const TRecfield mov_datacomp (mov_rec, MOV_DATACOMP);
|
||||
const TRecfield mov_provvis (mov_rec, MOV_PROVVIS);
|
||||
const TRecfield mov_codcaus (mov_rec, MOV_CODCAUS);
|
||||
|
||||
@ -447,7 +474,7 @@ void TMastrino::read(const TBill& conto,
|
||||
continue;
|
||||
}
|
||||
|
||||
const TDate data_corrente = _esercizio <= 0 ? rmov_datareg : TDate((const char*)mov_datacomp);
|
||||
const TDate data_corrente = get_filter_date(mov_rec, rmov_rec);
|
||||
if (data_corrente > _a_data)
|
||||
continue;
|
||||
|
||||
@ -481,7 +508,7 @@ void TMastrino::read(const TBill& conto,
|
||||
|
||||
TRiga_mastrino* r = new TRiga_mastrino(riga_mastrino,
|
||||
rmov().recno(), mov().recno(),
|
||||
_pdare_per, _pavere_per, rmov_datareg);
|
||||
_pdare_per, _pavere_per, data_corrente);
|
||||
_riga.append(r);
|
||||
}
|
||||
}
|
||||
@ -493,7 +520,7 @@ void TMastrino::read(const TBill& conto,
|
||||
|
||||
void TMastrino::reread()
|
||||
{
|
||||
read(_conto, _esercizio, _da_data, _a_data, _da_caus, _a_caus, _provvis);
|
||||
read(_conto, _esercizio, _da_data, _a_data, _da_caus, _a_caus, _provvis, _comp_IVA);
|
||||
}
|
||||
|
||||
void TMastrino::position_rel(long n)
|
||||
@ -1689,7 +1716,7 @@ public:
|
||||
void destroy();
|
||||
void read(const TBill& conto,
|
||||
int annoes, const TDate& dd, const TDate& ad,
|
||||
const TString& dc, const TString& ac, bool provv);
|
||||
const TString& dc, const TString& ac, bool provv, bool compIVA);
|
||||
void reread();
|
||||
|
||||
TMastrino& mastrino() { return _mastrino; }
|
||||
@ -2079,10 +2106,10 @@ bool TMastrini_grid::on_resize_column(short cid, int new_size)
|
||||
|
||||
void TMastrini_grid::read(const TBill& conto,
|
||||
int annoes, const TDate& dd, const TDate& ad,
|
||||
const TString& dc, const TString& ac, bool provv)
|
||||
const TString& dc, const TString& ac, bool provv, bool compIVA)
|
||||
{
|
||||
destroy();
|
||||
_mastrino.read(conto, annoes, dd, ad, dc, ac, provv);
|
||||
_mastrino.read(conto, annoes, dd, ad, dc, ac, provv, compIVA);
|
||||
update();
|
||||
update_mask();
|
||||
}
|
||||
@ -2099,8 +2126,9 @@ void TMastrini_grid::update_mask() const
|
||||
{
|
||||
TMask& gm = mask();
|
||||
|
||||
gm.set(F_ESERCIZIO, _mastrino.esercizio());
|
||||
gm.set(F_DADATA, _mastrino.inizio_periodo());
|
||||
gm.set(F_ESERCIZIO, _mastrino.esercizio());
|
||||
gm.set(F_COMP_IVA, _mastrino.data_liq_iva());
|
||||
gm.set(F_DADATA, _mastrino.inizio_periodo());
|
||||
gm.set(F_ADATA, _mastrino.fine_periodo());
|
||||
|
||||
set_imp(gm.field(F_TOTPRO_SAL), _mastrino.saldo_iniziale());
|
||||
@ -2641,17 +2669,19 @@ void TQuery_mask::do_query()
|
||||
const TBill conto(g, c, s, t);
|
||||
|
||||
const int annoes = get_int(F_ESERCIZIO);
|
||||
//qui
|
||||
const TDate da_data(get(F_DADATA));
|
||||
const TDate a_data(get(F_ADATA));
|
||||
|
||||
const TString& da_caus = get(F_DACAUSALE);
|
||||
const TString& a_caus = get(F_ACAUSALE);
|
||||
const bool provv = get_bool(F_PROVVIS);
|
||||
const bool provv = get_bool(F_PROVVIS);
|
||||
const bool compIVA = get_bool(F_COMP_IVA);
|
||||
|
||||
conto.set(*_gm, F_GRUPPO, F_CONTO, F_SOTTOCONTO, 0, F_DESSOTTOC);
|
||||
TMastrini_grid& gf = _gm->grid();
|
||||
|
||||
gf.read(conto, annoes, da_data, a_data, da_caus, a_caus, provv);
|
||||
gf.read(conto, annoes, da_data, a_data, da_caus, a_caus, provv, compIVA);
|
||||
gf.select(get_bool(F_END) ? gf.items() -1 : 0);
|
||||
|
||||
_gm->run();
|
||||
|
@ -26,11 +26,12 @@
|
||||
#define F_ACAUSALE 115
|
||||
#define F_ADESCAUS 116
|
||||
#define F_PROVVIS 117
|
||||
#define F_COMP_IVA 118
|
||||
#ifdef CONT_SEP
|
||||
#define F_CONTSEP 118
|
||||
#define F_END 119
|
||||
#define F_CONTSEP 119
|
||||
#define F_END 120
|
||||
#else
|
||||
#define F_END 118
|
||||
#define F_END 119
|
||||
#endif
|
||||
|
||||
#define F_MASTRINI 200
|
||||
|
@ -276,15 +276,22 @@ BEGIN
|
||||
GROUP 3 4
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 11 "@bPeriodo"
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
BOOLEAN F_COMP_IVA
|
||||
BEGIN
|
||||
PROMPT 2 12 "Stampa per competenza IVA "
|
||||
MESSAGE TRUE CLEAR,F_ESERCIZIO
|
||||
MESSAGE FALSE ENABLE,F_ESERCIZIO
|
||||
END
|
||||
|
||||
NUMBER F_ESERCIZIO 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Cod. esercizio "
|
||||
PROMPT 2 13 "Cod. esercizio "
|
||||
FLAGS "Z"
|
||||
USE ESC
|
||||
INPUT CODTAB F_ESERCIZIO
|
||||
@ -298,35 +305,35 @@ END
|
||||
|
||||
DATE F_DADATA
|
||||
BEGIN
|
||||
PROMPT 26 12 "Dalla data "
|
||||
PROMPT 26 13 "Dalla data "
|
||||
END
|
||||
|
||||
DATE F_ADATA
|
||||
BEGIN
|
||||
PROMPT 52 12 "Alla data "
|
||||
PROMPT 52 13 "Alla data "
|
||||
VALIDATE DATE_CMP_FUNC >= F_DADATA
|
||||
WARNING "La data finale deve essere maggiore di quella iniziale"
|
||||
END
|
||||
|
||||
BOOLEAN F_PROVVIS
|
||||
BEGIN
|
||||
PROMPT 2 13 "Includi movimenti provvisori"
|
||||
PROMPT 2 14 "Includi movimenti provvisori"
|
||||
END
|
||||
|
||||
BOOLEAN F_END
|
||||
BEGIN
|
||||
PROMPT 40 13 "Posizionamento in fondo al mastrino"
|
||||
PROMPT 40 14 "Posizionamento in fondo al mastrino"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 15 "@bCausali"
|
||||
PROMPT 1 16 "@bCausali"
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_DACAUSALE 3
|
||||
BEGIN
|
||||
PROMPT 2 16 "Da causale "
|
||||
PROMPT 2 17 "Da causale "
|
||||
FLAGS "UZ"
|
||||
USE LF_CAUSALI
|
||||
INPUT CODCAUS F_DACAUSALE
|
||||
@ -342,7 +349,7 @@ END
|
||||
|
||||
STRING F_DADESCAUS 50
|
||||
BEGIN
|
||||
PROMPT 23 16 ""
|
||||
PROMPT 23 17 ""
|
||||
USE LF_CAUSALI KEY 2
|
||||
INPUT DESCR F_DADESCAUS
|
||||
DISPLAY "Descrizione@50" DESCR
|
||||
@ -354,7 +361,7 @@ END
|
||||
|
||||
STRING F_ACAUSALE 3
|
||||
BEGIN
|
||||
PROMPT 2 17 "A causale "
|
||||
PROMPT 2 18 "A causale "
|
||||
FLAGS "UZ"
|
||||
COPY USE F_DACAUSALE
|
||||
INPUT CODCAUS F_ACAUSALE
|
||||
@ -369,7 +376,7 @@ END
|
||||
|
||||
STRING F_ADESCAUS 50
|
||||
BEGIN
|
||||
PROMPT 23 17 ""
|
||||
PROMPT 23 18 ""
|
||||
COPY USE F_DADESCAUS
|
||||
INPUT DESCR F_ADESCAUS
|
||||
COPY DISPLAY F_DADESCAUS
|
||||
@ -381,7 +388,7 @@ END
|
||||
#ifdef CONT_SEP
|
||||
STRING F_CONTSEP 6
|
||||
BEGIN
|
||||
PROMPT 2 18 "Contabilità separata "
|
||||
PROMPT 2 19 "Contabilità separata "
|
||||
USE &NPENT
|
||||
INPUT CODTAB F_CONTSEP
|
||||
DISPLAY "Codice@6" CODTAB
|
||||
|
@ -81,6 +81,12 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN F_COMP_IVA
|
||||
BEGIN
|
||||
PROMPT 52 1 "Comp.IVA"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 10
|
||||
BEGIN
|
||||
PROMPT 64 1 "Partite"
|
||||
|
Loading…
x
Reference in New Issue
Block a user