Correzioni da PR

git-svn-id: svn://10.65.10.50/trunk@1370 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1995-05-17 13:13:02 +00:00
parent 94e7874e18
commit b52128062a
9 changed files with 419 additions and 383 deletions

View File

@ -31,6 +31,7 @@ BEGIN
PROMPT 3 3 "Anno liquidazione " PROMPT 3 3 "Anno liquidazione "
HELP "Anno di cui si effettua la liquidazione" HELP "Anno di cui si effettua la liquidazione"
FLAGS "A" FLAGS "A"
VALIDATE FIXLEN_FUNC 4
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END

View File

@ -36,6 +36,7 @@ NUMBER F_ANNO 4
BEGIN BEGIN
PROMPT 3 6 "Anno riepilogo " PROMPT 3 6 "Anno riepilogo "
FLAGS "A" FLAGS "A"
VALIDATE FIXLEN_FUNC 4
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END

View File

@ -5,6 +5,8 @@
#include "cg4400a.h" #include "cg4400a.h"
#include "cg4400b.h" #include "cg4400b.h"
static TString256 TMP;
inline CG4400_application& app() { return (CG4400_application&)main_app(); } inline CG4400_application& app() { return (CG4400_application&)main_app(); }
bool CG4400_application::filter_func (const TRelation * r) bool CG4400_application::filter_func (const TRelation * r)
@ -129,11 +131,7 @@ bool CG4400_application::mask_tipo_stampa(TMask_field& f, KEY k)
{ {
int tipo_stampa = m.get_int(TIPO_STAMPA); int tipo_stampa = m.get_int(TIPO_STAMPA);
if (tipo_stampa == 3) //stampa su libro unico if (tipo_stampa == 3) //stampa su libro unico
{
m.enable_page(1); m.enable_page(1);
TMask_field& cc = f.mask().field(CODICE_LIB_UN);
cc.set_dirty();
}
else else
m.disable_page(1); m.disable_page(1);
} }
@ -162,7 +160,7 @@ bool CG4400_application::mask_mese (TMask_field& f, KEY k)
f.mask().hide (TIPO_RIEPILOGATIVO); f.mask().hide (TIPO_RIEPILOGATIVO);
f.mask().hide (RIF_VID); f.mask().hide (RIF_VID);
} }
//TMask_field& cc = f.mask().field(CODICE_LIB_UN); //TMask_field& cc = f.mask().field(CODICE_LIBRO_IVA);
//cc.set_dirty(); //cc.set_dirty();
} }
if (id == FINO_A_MESE) if (id == FINO_A_MESE)
@ -199,16 +197,12 @@ bool CG4400_application::look_reg(int i, int anno, TString& codlib, int m, const
TDate sca_vid = _tabreg->get_date("D1"); TDate sca_vid = _tabreg->get_date("D1");
if (codlib != cod_lib_un) if (codlib != cod_lib_un)
{ {
if (_selected.ones() == 1L) if (_selected[i]) message_box("Ditta %ld: il codice libro unico del registro non e' uguale al codice libro unico indicato", ditta);
if (_selected[i])
message_box("Ditta %ld: il codice libro unico del registro non e' uguale al codice libro unico indicato", ditta);
return FALSE; return FALSE;
} }
if (m < *umese) if (m < *umese)
{ {
if (_selected.ones() == 1L) if (_selected[i]) message_box("Ditta %ld: il mese indicato e' inferiore al mese dell'ultima data di stampa del registro", ditta);
if (_selected[i])
message_box("Ditta %ld: il mese indicato e' inferiore al mese dell'ultima data di stampa del registro", ditta);
return FALSE; return FALSE;
} }
if (u_data.ok()) if (u_data.ok())
@ -218,9 +212,7 @@ bool CG4400_application::look_reg(int i, int anno, TString& codlib, int m, const
if (sca_vid.ok()) if (sca_vid.ok())
if (sca_vid.month() < m) if (sca_vid.month() < m)
{ {
if (_selected.ones() == 1L) if (_selected[i]) message_box("Ditta %ld: la data scadenza di vidimazione del registro non deve essere inferiore al mese indicato", ditta);
if (_selected[i])
message_box("Ditta %ld: la data scadenza di vidimazione del registro non deve essere inferiore al mese indicato", ditta);
return FALSE; return FALSE;
} }
} }
@ -259,11 +251,8 @@ bool CG4400_application::look_regs(int anno, TString& codlib, int m, int* umese,
if (sca_vid.ok()) if (sca_vid.ok())
if (sca_vid.month() < m) if (sca_vid.month() < m)
continue; continue;
int month; if (u_data.ok())
if (!u_data.ok()) if (u_data.month() < m - 1)
month = 0;
else month = u_data.month();
if (month < m - 1)
{ {
app().set_firm(__firm); app().set_firm(__firm);
*st = FALSE; *st = FALSE;
@ -285,13 +274,7 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
{ {
TString16 cod(f.mask().get(CODICE_LIBRO_IVA)); TString16 cod(f.mask().get(CODICE_LIBRO_IVA));
TString16 codlib(f.mask().get(CODICE_LIB_UN)); TString16 codlib(f.mask().get(CODICE_LIB_UN));
//modifica del 26/04/1995
if (codlib.empty())
{
app()._test = TRUE;
return f.error_box("Inserire il codice del libro unico");
}
//fine modifica
int fino_a_mese = f.mask().get_int(MESE); int fino_a_mese = f.mask().get_int(MESE);
int anno = f.mask().get_int(ANNO); int anno = f.mask().get_int(ANNO);
bool ok = FALSE; bool ok = FALSE;
@ -314,12 +297,11 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
{ {
//modifica del 21/04/1995 suggerita da Cinzia!!! //modifica del 21/04/1995 suggerita da Cinzia!!!
if (app()._selected.ones() == 1L) //solo se ho selezionato 1 ditta devo dare il messaggio if (app()._selected.ones() == 1L) //solo se ho selezionato 1 ditta devo dare il messaggio
if (app()._selected[i]) //if (app()._selected[i]) f.message_box("Ditta %ld: il registro %s non soddisfa i parametri indicati", ditta, (const char*)cod);
f.message_box("Ditta %ld: il registro %s non soddisfa i parametri indicati", ditta, (const char*)cod); f.message_box("Ditta %ld: il registro %s non soddisfa i parametri indicati", ditta, (const char*)cod);
continue; else continue;
} }
//if (mese != 0 && mese < fino_a_mese - 1) //indipendentemente se si tratta di una ditta selezionata oppure no if (mese != 0 && mese < fino_a_mese - 1) //indipendentemente se si tratta di una ditta selezionata oppure no
if (mese < fino_a_mese - 1) //indipendentemente se si tratta di una ditta selezionata oppure no
{ {
app().set_firm(app().__firm); app().set_firm(app().__firm);
can_print = FALSE; can_print = FALSE;
@ -334,8 +316,8 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
{ {
if (!can_print) if (!can_print)
return FALSE; return FALSE;
//if ( app()._selected[i])
if (app()._selected.ones() == 1L) //solo se ho selezionato 1 ditta devo dare il messaggio if (app()._selected.ones() == 1L) //solo se ho selezionato 1 ditta devo dare il messaggio
if (app()._selected[i])
f.message_box("Ditta %ld: nessun registro soddisfa i parametri indicati", ditta); f.message_box("Ditta %ld: nessun registro soddisfa i parametri indicati", ditta);
continue; continue;
} }
@ -356,16 +338,24 @@ bool CG4400_application::mask_libun (TMask_field& f, KEY k)
} }
bool CG4400_application::mask_cod (TMask_field& f, KEY k) bool CG4400_application::mask_cod (TMask_field& f, KEY k)
{
//if (k == K_TAB || f.focusdirty())
if (k == K_TAB)
{ {
TTable TabLbu ("%LBU"); TTable TabLbu ("%LBU");
TString codtab; TString codtab;
int anno; int anno;
if (k == K_ENTER)
{
TString16 codlib(f.get()); TString16 codlib(f.get());
if (codlib.empty())
return f.warning_box("Inserire il codice del libro unico");
}
//if (k == K_TAB || f.focusdirty())
if (k == K_TAB)
{
TString16 codlib(f.mask().get(CODICE_LIB_UN));
anno = f.mask().get_int(ANNO); anno = f.mask().get_int(ANNO);
TabLbu.zero(); TabLbu.zero();
codtab.format ("%04d%-3s", anno, (const char*)codlib); codtab.format ("%04d%-3s", anno, (const char*)codlib);
TabLbu.put ("CODTAB", codtab); TabLbu.put ("CODTAB", codtab);
@ -376,13 +366,6 @@ bool CG4400_application::mask_cod (TMask_field& f, KEY k)
f.mask().set(ULTIMA_PAGINA,TabLbu.get_long("I1")); f.mask().set(ULTIMA_PAGINA,TabLbu.get_long("I1"));
app()._codice_vidi = TabLbu.get("S4"); app()._codice_vidi = TabLbu.get("S4");
} }
//modifica del 26/04/1995
if (app()._test)
{
f.mask().send_key(K_TAB, CODICE_LIBRO_IVA);
app()._test = FALSE;
}
//fine modifica
} }
return TRUE; return TRUE;
} }
@ -535,7 +518,7 @@ bool CG4400_application::to_ditt_handler(TMask_field& f, KEY key)
{ {
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE)); const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m); app().set_choice_limits(m);
m.set(F_SELECT, l); m.field(F_SELECT).set(format("%ld", l));
} }
return TRUE; return TRUE;
} }
@ -551,7 +534,7 @@ bool CG4400_application::fr_ditt_handler(TMask_field& f, KEY key)
{ {
const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE)); const long l = app().select_firm_range(m.get_long(DA_CODICE), m.get_long(A_CODICE));
app().set_choice_limits(m); app().set_choice_limits(m);
m.set(F_SELECT, l); m.field(F_SELECT).set(format("%ld", l));
} }
return TRUE; return TRUE;
} }
@ -602,8 +585,8 @@ void CG4400_application::set_choice_limits(TMask& m)
if (last < dit) last = dit; if (last < dit) last = dit;
} }
} }
if (first != -1) m.set(DA_CODICE,first); if (first != -1) m.field(DA_CODICE).set(format("%ld",first));
if (last != -1) m.set(A_CODICE,last); if (last != -1) m.field(A_CODICE).set(format("%ld",last));
m.set(F_SELECT, _selected.ones()); m.set(F_SELECT, _selected.ones());
} }
@ -660,16 +643,16 @@ void CG4400_application::build_nomiditte(TProgind* pnd)
_nomiditte.add(d); _nomiditte.add(d);
} }
//if (pnd) pnd->addstatus(1); if (pnd) pnd->addstatus(1);
//TApplication::set_firm(__firm); //TApplication::set_firm(__firm);
} }
bool CG4400_application::user_create() bool CG4400_application::user_create()
{ {
//TProgind* pnd = NULL; TProgind* pnd = NULL;
//pnd = new TProgind (2,"Preparazione archivi\nPrego attendere", pnd = new TProgind (2,"Preparazione archivi\nPrego attendere",
// FALSE, TRUE, 30); FALSE, TRUE, 30);
_com = new TLocalisamfile(LF_COMUNI); _com = new TLocalisamfile(LF_COMUNI);
_anag = new TLocalisamfile(LF_ANAG); _anag = new TLocalisamfile(LF_ANAG);
@ -701,7 +684,7 @@ bool CG4400_application::user_create()
_ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Ditte", _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Ditte",
"@1|Cod.@5R|Ragione Sociale@50|Vers."); "@1|Cod.@5R|Ragione Sociale@50|Vers.");
//if (pnd) pnd->addstatus(1); if (pnd) pnd->addstatus(1);
_n_ditte = 0l; _n_ditte = 0l;
__firm = TApplication::get_firm(); __firm = TApplication::get_firm();
@ -709,14 +692,16 @@ bool CG4400_application::user_create()
TDate oggi(TODAY); TDate oggi(TODAY);
_annoes = oggi.year(); _annoes = oggi.year();
build_nomiditte(); build_nomiditte(pnd);
build_ditte_sheet(); build_ditte_sheet();
//if (pnd) pnd->addstatus(1);
add_cursor(_cur); add_cursor(_cur);
add_file(LF_MOV); add_file(LF_MOV);
add_file(LF_RMOVIVA); add_file(LF_RMOVIVA);
//delete pnd; delete pnd;
return TRUE; return TRUE;
} }
@ -1876,6 +1861,40 @@ bool CG4400_application::preprocess_page(int file, int counter)
_datareg = mov.get_date(MOV_DATAREG); _datareg = mov.get_date(MOV_DATAREG);
/*
if (_tipo_stampa != 3 && _liquidazione)
{
int da;
if (_tipo_stampa == 1)
da = _data_da.month();
else da = 1;
int a = _datareg.month();
for (int m = da; m < a; m++)
{
if (!_st_liq[m])
if (stampo_liquidazione(m))
{
_datareg = format("01/%02d/%4d", m, _annoes); //serve per la preprocess_header (intestazione per la stampa liquidazione)
TFilename t;
t.temp("reg");
if (_tipo_stampa == 1)
send_message('S', t, m);
else send_message('s', t, m);
TString80 nomef; nomef = t.path(); nomef << "\\" << t.name();
if (fexist(nomef))
{
_intesta_liq = TRUE;
merge_export_file(t,FALSE,TRUE);
printer().formfeed();
_intesta_liq = FALSE;
reset_print();
}
}
_st_liq[m] = TRUE;
}
}
*/
if (_tipo_stampa != 3 && _liquidazione) if (_tipo_stampa != 3 && _liquidazione)
{ {
int da; int da;
@ -1913,7 +1932,10 @@ bool CG4400_application::preprocess_page(int file, int counter)
printer().formfeed(); printer().formfeed();
_intesta_liq = FALSE; _intesta_liq = FALSE;
reset_print(); reset_print();
<<<<<<< cg4400.cpp
=======
remove(t); remove(t);
>>>>>>> 1.57
} }
} }
_st_liq[m] = TRUE; _st_liq[m] = TRUE;
@ -1999,7 +2021,7 @@ bool CG4400_application::preprocess_page(int file, int counter)
_tipodoc = mov.get(MOV_TIPODOC); _tipodoc = mov.get(MOV_TIPODOC);
_descr_doc = descr_doc(); _descr_doc = descr_doc();
TString app = datadoc.string(brief, '/'); TString app = datadoc.string(2, '/');
if (stampa_totali_finali()) if (stampa_totali_finali())
_doc_array.add_riga(_tipodoc,_descr_doc,totdoc); _doc_array.add_riga(_tipodoc,_descr_doc,totdoc);
@ -2007,7 +2029,7 @@ bool CG4400_application::preprocess_page(int file, int counter)
//setto le righe di stampa //setto le righe di stampa
_r = 1; _r = 1;
if (!_stampa_data_reg) if (!_stampa_data_reg)
set_row(_r, "%s", (const char*) _datareg.string(brief, '/')); set_row(_r, "%s", (const char*) _datareg.string(2, '/'));
set_row(_r, "@9g%5ld", protiva); set_row(_r, "@9g%5ld", protiva);
if (datadoc.ok()) if (datadoc.ok())
set_row(_r, "@15g%s", (const char*) app); set_row(_r, "@15g%s", (const char*) app);
@ -2415,29 +2437,22 @@ void CG4400_application::liq_b0_settato()
printer().footerlen(0); printer().footerlen(0);
merge_export_file(f,FALSE,TRUE); merge_export_file(f,FALSE,TRUE);
_intesta_liq = FALSE; _intesta_liq = FALSE;
<<<<<<< cg4400.cpp
=======
remove(f); remove(f);
>>>>>>> 1.57
} }
} }
void CG4400_application::liq_other_case() void CG4400_application::liq_other_case()
{ {
if (_scelta == prosegui_cal_stampa) if (_scelta == prosegui_cal_stampa)
{
if (stampo_liquidazione(_datareg.month()))
{ {
_t.temp("reg"); _t.temp("reg");
if (_tipo_stampa == 1) if (_tipo_stampa == 1)
send_message('L', _t, _datareg.month()); send_message('L', _t, _datareg.month());
else send_message('l', _t, _datareg.month()); else send_message('l', _t, _datareg.month());
} }
else //se chiamo la liquidazione con L o l mi calcola anche i progressivi
if (_tipo_stampa != 1)
{
TFilename app;
app.temp();
send_message('C', app, _datareg.month());
}
}
if (_scelta == prosegui_stampa) if (_scelta == prosegui_stampa)
{ {
if (stampo_liquidazione(_datareg.month())) if (stampo_liquidazione(_datareg.month()))
@ -2447,14 +2462,11 @@ void CG4400_application::liq_other_case()
send_message('S', _t, _datareg.month()); send_message('S', _t, _datareg.month());
else send_message('s', _t, _datareg.month()); else send_message('s', _t, _datareg.month());
} }
if (_tipo_stampa != 1) //in stampa di prova i progressivi me li calcolo io!!!
{ //Why???
TFilename app; TFilename app;
app.temp(); app.temp();
send_message('C', app, _datareg.month()); send_message('C', app, _datareg.month());
} }
} if (_scelta == no_liquidazione)
if (_scelta == no_liquidazione && _tipo_stampa != 1)
{ {
TFilename app; TFilename app;
app.temp(); app.temp();
@ -2484,9 +2496,12 @@ print_action CG4400_application::postprocess_page (int file, int counter)
printer().footerlen(0); printer().footerlen(0);
merge_export_file(_t,FALSE,TRUE); merge_export_file(_t,FALSE,TRUE);
_intesta_liq = FALSE; _intesta_liq = FALSE;
<<<<<<< cg4400.cpp
=======
remove(_t); remove(_t);
>>>>>>> 1.57
} }
//_t = NULL; Come ho potuto scrivere cio?! _t = NULL;
} }
} }
} }
@ -2737,8 +2752,12 @@ void CG4400_application::no_movimenti()
printer().footerlen(0); printer().footerlen(0);
merge_export_file(f,FALSE,TRUE); merge_export_file(f,FALSE,TRUE);
printer().formfeed(); printer().formfeed();
<<<<<<< cg4400.cpp
_intesta_liq = FALSE;
=======
_intesta_liq = FALSE; _intesta_liq = FALSE;
remove(f); remove(f);
>>>>>>> 1.57
} }
} }
} }
@ -2752,7 +2771,7 @@ bool CG4400_application::stampa_registri_IVA(const TMask& m)
bool ok = FALSE; bool ok = FALSE;
for (int i = 0; i < _ditte->items(); i++) for (int i = 0; i < _ditte->items(); i++)
{ {
if (_selected[i]) if (_selected[(long)i])
{ {
bool msg = TRUE; bool msg = TRUE;
_ditta = _ditte->row(i).get_long(1); _ditta = _ditte->row(i).get_long(1);
@ -2877,7 +2896,6 @@ bool CG4400_application::stampa_registri_IVA(const TMask& m)
_stampa_mese = 13; _stampa_mese = 13;
_scelta = controlla_b0(); //sul registro non va stampata la liq. ma comunque _scelta = controlla_b0(); //sul registro non va stampata la liq. ma comunque
//va richiamata per il calcolo progressivi (a seconda di b0) //va richiamata per il calcolo progressivi (a seconda di b0)
//se non e' stampa di prova
ok = setta_mask(i); ok = setta_mask(i);
if (!ok) continue; if (!ok) continue;
@ -2943,8 +2961,8 @@ void CG4400_application::stampa_liq_mesi_succ()
TFilename t; TFilename t;
t.temp("iva"); t.temp("iva");
if (_tipo_stampa == 1) if (_tipo_stampa == 1)
send_message('L',t, m); //prima era S ma non andava bene! send_message('S',t, m);
else send_message('l',t,m); //prima era s else send_message('s',t,m);
//TString80 nomef; nomef = t.path(); nomef << "\\" << t.name(); //TString80 nomef; nomef = t.path(); nomef << "\\" << t.name();
//if (fexist(nomef)) //if (fexist(nomef))
if (fexist(t)) if (fexist(t))
@ -2953,8 +2971,12 @@ void CG4400_application::stampa_liq_mesi_succ()
if (m > da) printer().formfeed(); if (m > da) printer().formfeed();
printer().footerlen(0); printer().footerlen(0);
merge_export_file(t,FALSE,TRUE); merge_export_file(t,FALSE,TRUE);
<<<<<<< cg4400.cpp
_intesta_liq = FALSE;
=======
_intesta_liq = FALSE; _intesta_liq = FALSE;
remove(t); remove(t);
>>>>>>> 1.57
} }
} }
} }

View File

@ -24,7 +24,6 @@
#include <occas.h> #include <occas.h>
#include <causali.h> #include <causali.h>
#include "cglib03.h" #include "cglib03.h"
#include "cglib04.h"
#include "conto.h" #include "conto.h"
enum messaggio { enum messaggio {
@ -49,7 +48,6 @@ class CG4400_application : public TPrintapp
TArray_sheet *_ditte; TArray_sheet *_ditte;
TArray _nomiditte; TArray _nomiditte;
bool _st_liq[13]; bool _st_liq[13];
bool _test;
TRecnotype _nrec; TRecnotype _nrec;
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;
@ -148,7 +146,7 @@ public:
virtual print_action postprocess_page (int, int); virtual print_action postprocess_page (int, int);
virtual void preprocess_header(); virtual void preprocess_header();
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {} CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100) {}
virtual ~CG4400_application() {} virtual ~CG4400_application() {}
}; };

View File

@ -25,6 +25,7 @@ BEGIN
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
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END

View File

@ -260,17 +260,22 @@ bool CG4500_application::setta()
TConfig conf(CONFIG_DITTA); TConfig conf(CONFIG_DITTA);
_annop = conf.get("AnLiIv"); _annop = conf.get("AnLiIv");
int aivap = atoi(conf.get("AnLiIv")); //int aivap = atoi(conf.get("AnLiIv"));
TString anno ( format("%04d", aivap+1) ); //TString16 anno ( format("%04d", aivap+1) );
int aivap = atoi(_annop);
int anno = aivap+1;
TabLia.zero(); TabLia.zero();
TabLia.put("CODTAB", format("%05ld%d", get_firm(), anno)); TString16 chiave; chiave.format("%05ld%04d", get_firm(), anno);
TabLia.put("CODTAB",chiave);
if (TabLia.read() == NOERR) if (TabLia.read() == NOERR)
m.set(F_FREQUENZA, TabLia.get("S7")); m.set(F_FREQUENZA, TabLia.get("S7"));
else else
{ {
TabLia.zero(); TabLia.zero();
TabLia.put("CODTAB", format("%05ld%d", get_firm(), _annop)); chiave = "";
chiave.format("%05ld%04d", get_firm(), aivap);
TabLia.put("CODTAB", chiave);
if (TabLia.read() == NOERR) if (TabLia.read() == NOERR)
m.set(F_FREQUENZA, TabLia.get("S7")); m.set(F_FREQUENZA, TabLia.get("S7"));
else else
@ -378,12 +383,13 @@ bool CG4500_application::apertura_es()
TabReg.write(nuovo); TabReg.write(nuovo);
} }
} }
/*
if (!ok) if (!ok)
{ {
error_box("Non esiste il registro libro giornale relativo all'es. precedente"); error_box("Non esiste il registro libro giornale relativo all'es. precedente");
return FALSE; return FALSE;
} }
*/
//viene aggiornata la tabella degli esercizi //viene aggiornata la tabella degli esercizi
TabEs.zero(); TabEs.zero();
annonew = format ("%04d", _newanno); annonew = format ("%04d", _newanno);
@ -402,18 +408,42 @@ bool CG4500_application::apertura_iva()
TTable TabLia ("%LIA"); TTable TabLia ("%LIA");
TTable TabLbu ("%LBU"); TTable TabLbu ("%LBU");
TLocalisamfile nditte (LF_NDITTE); TLocalisamfile nditte (LF_NDITTE);
TDate data;
TString annoiva (4); TString annoiva (4);
TDate data;
bool ok = FALSE; bool ok = FALSE;
if (!setta()) if (!setta())
return FALSE; return FALSE;
//viene aggiornata la tabella del libro unico. Se esisteva gia' un record relativo al nuovo esercizio IVA, viene cancellato. int annop = atoi(_annop);
//In ogni caso ne viene creato uno nuovo relativo al nuovo esercizio.
annoiva = format("%04d", _annoiva); annoiva = format("%04d", _annoiva);
//viene aggiornata la tabella LIA (liquidazione iva annuale)
TabLia.zero();
TabLia.put ("CODTAB", format("%05ld%04d", get_firm(), _annoiva));
if (TabLia.read() == NOERR)
TabLia.remove();
TabLia.zero();
TRectype newrec (TabLia.curr());
TabLia.put ("CODTAB", format("%05ld%04d", get_firm(), annop));
if (TabLia.read() == NOERR)
{
ok = TRUE;
newrec = TabLia.curr();
newrec.put("CODTAB", format("%05ld%04d", get_firm(), _annoiva));
newrec.put("S7", _frequenza);
TabLia.write(newrec);
}
if (!ok)
{
error_box("Non esiste il record relativo all'anno iva precedente sulla tabella liquidazione annuale iva");
return FALSE;
}
//viene aggiornata la tabella del libro unico.
TabLbu.zero(); TabLbu.zero();
TabLbu.put ("CODTAB", annoiva); TabLbu.put ("CODTAB", annoiva);
@ -428,6 +458,7 @@ bool CG4500_application::apertura_iva()
TabLbu.remove(); TabLbu.remove();
} }
ok = FALSE;
TabLbu.zero(); TabLbu.zero();
TRectype nrec (TabLbu.curr()); TRectype nrec (TabLbu.curr());
TabLbu.put ("CODTAB", _annop); TabLbu.put ("CODTAB", _annop);
@ -440,9 +471,9 @@ bool CG4500_application::apertura_iva()
{ {
if (TabLbu.curr() != rec) break; if (TabLbu.curr() != rec) break;
TRecnotype nr = TabLbu.recno();
TString cod_lib = TabLbu.get("CODTAB"); TString cod_lib = TabLbu.get("CODTAB");
cod_lib = cod_lib.mid(4,3); cod_lib = cod_lib.mid(4,3);
ok = TRUE; ok = TRUE;
nrec = TabLbu.curr(); nrec = TabLbu.curr();
TString16 cod; TString16 cod;
@ -451,16 +482,17 @@ bool CG4500_application::apertura_iva()
nrec.put("I0", 0L); nrec.put("I0", 0L);
TabLbu.write(nrec); TabLbu.write(nrec);
TabLbu.readat(nr);
} }
/*
if (!ok) if (!ok)
{ {
error_box("Non esistono i registri del libro unico relativi all'anno iva precedente"); error_box("Non esistono i registri del libro unico relativi all'anno iva precedente");
return FALSE; return FALSE;
} }
*/
//viene aggiornata la tabella dei registri. Se esisteva gia' un record relativo al nuovo esercizio, viene cancellato. //viene aggiornata la tabella dei registri.
//In ogni caso ne viene creato uno nuovo relativo al nuovo esercizio.
TabReg.zero(); TabReg.zero();
TabReg.put ("CODTAB", annoiva); TabReg.put ("CODTAB", annoiva);
@ -490,6 +522,7 @@ bool CG4500_application::apertura_iva()
{ {
if (TabReg.curr() != recc) break; if (TabReg.curr() != recc) break;
TRecnotype nr = TabReg.recno();
int tiporeg = TabReg.get_int("I0"); int tiporeg = TabReg.get_int("I0");
TString cod_reg = TabReg.get("CODTAB"); TString cod_reg = TabReg.get("CODTAB");
TDate data_vid = TabReg.get_date("D0"); TDate data_vid = TabReg.get_date("D0");
@ -500,7 +533,7 @@ bool CG4500_application::apertura_iva()
ok = TRUE; ok = TRUE;
nuovo = TabReg.curr(); nuovo = TabReg.curr();
TString16 cod; TString16 cod;
cod << _annoiva << cod_reg; cod << annoiva << cod_reg;
nuovo.put("CODTAB", cod); nuovo.put("CODTAB", cod);
nuovo.put("I1", 0L); nuovo.put("I1", 0L);
nuovo.put("I2", 0L); nuovo.put("I2", 0L);
@ -515,43 +548,20 @@ bool CG4500_application::apertura_iva()
nuovo.put("R2", real(0.0)); nuovo.put("R2", real(0.0));
TabReg.write(nuovo); TabReg.write(nuovo);
TabReg.readat(nr);
} }
} }
/*
if (!ok) if (!ok)
{ {
error_box("Non esistono i registri iva relativi all'anno iva precedente"); error_box("Non esistono i registri iva relativi all'anno iva precedente");
return FALSE; return FALSE;
} }
*/
//viene aggiornata la tabella LIA (liquidazione iva annuale)
TabLia.zero();
TabLia.put ("CODTAB", format("%05ld%d", get_firm(), annoiva));
if (TabLia.read() == NOERR)
TabLia.remove();
ok = FALSE;
TabLia.zero();
TRectype newrec (TabLia.curr());
TabLia.put ("CODTAB", format("%05ld%d", get_firm(), _annop));
if (TabLia.read() == NOERR)
{
ok = TRUE;
newrec = TabLia.curr();
newrec.put("CODTAB", format("%05ld%d", get_firm(), annoiva));
newrec.put("S7", _frequenza);
TabLia.write(newrec);
}
if (!ok)
{
error_box("Non esiste il record relativo all'anno iva precedente sulla tabella liquidazione annuale iva");
return FALSE;
}
//viene aggiornato l'anno iva sui parametri ditta //viene aggiornato l'anno iva sui parametri ditta
TConfig conf(CONFIG_DITTA); TConfig conf(CONFIG_DITTA);
conf.set("AnLiIv", _annoiva); conf.set("AnLiIv", annoiva);
//sull'anagrafica ditte viene aggiornata la frequenza versamento //sull'anagrafica ditte viene aggiornata la frequenza versamento
nditte.zero(); nditte.zero();
@ -569,7 +579,7 @@ bool CG4500_application::apertura_iva()
int cg4500 (int argc, char* argv[]) int cg4500 (int argc, char* argv[])
{ {
CG4500_application main_app; CG4500_application main_app;
main_app.run(argc, argv, ""); main_app.run(argc, argv, "Apertura nuovo esercizio");
return TRUE; return TRUE;
} }

View File

@ -1,6 +1,6 @@
#include "cg4500b.h" #include "cg4500b.h"
PAGE "Apertura nuovo esercizio IVA" -1 -1 73 10 PAGE "Apertura esercizio IVA" -1 -1 73 10
NUMBER F_CODDITTA 5 NUMBER F_CODDITTA 5
BEGIN BEGIN
@ -9,8 +9,6 @@ BEGIN
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 "Ragione sociale @50" RAGSOC
OUTPUT F_CODDITTA CODDITTA OUTPUT F_CODDITTA CODDITTA
OUTPUT F_RAGSOC RAGSOC OUTPUT F_RAGSOC RAGSOC
END END
@ -26,6 +24,7 @@ BEGIN
PROMPT 2 4 "Nuovo anno esercizio IVA " PROMPT 2 4 "Nuovo anno esercizio IVA "
HELP "Anno di cui si vuole aprire un nuovo esercizio IVA" HELP "Anno di cui si vuole aprire un nuovo esercizio IVA"
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
VALIDATE FIXLEN_FUNC 4
//FLAGS "A" //FLAGS "A"
END END

View File

@ -22,7 +22,7 @@ bool mask_datac (TMask_field&, KEY);
bool mask_dataap (TMask_field&, KEY); bool mask_dataap (TMask_field&, KEY);
bool mask_distinti (TMask_field&, KEY); bool mask_distinti (TMask_field&, KEY);
#define MAX 200 #define MAX 99
class CG4600_application : public TApplication class CG4600_application : public TApplication
{ {
@ -395,6 +395,7 @@ bool CG4600_application::set()
_sld->set_movprovv(FALSE); _sld->set_movprovv(FALSE);
_sld->set_movap(FALSE); _sld->set_movap(FALSE);
_pn->destroy_rows(_numreg); //Azzero l'oggetto pn.
costi (); costi ();
_sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg _sld->reset(); //Azzera la tabella dei conti dell'oggetto TSaldo_agg
@ -424,6 +425,8 @@ bool CG4600_application::set()
_sld->reset(); _sld->reset();
chiusura_conto_patrimoniale(); chiusura_conto_patrimoniale();
message_box("Apertura/chiusura conti completata");
return TRUE; return TRUE;
} //K_ENTER } //K_ENTER
return FALSE; return FALSE;
@ -561,7 +564,7 @@ void CG4600_application::costi()
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
sez_rmov = 'A'; // finito di leggere i sottoconti, oppure sez_rmov = 'A'; // finito di leggere i sottoconti, oppure
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
@ -692,7 +695,7 @@ void CG4600_application::ricavi()
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
sez_rmov = 'A'; // finito di leggere i sottoconti, oppure sez_rmov = 'A'; // finito di leggere i sottoconti, oppure
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
@ -1014,7 +1017,7 @@ void CG4600_application::attivita()
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
sez_rmov = 'A'; // finito di leggere i sottoconti, oppure sez_rmov = 'A'; // finito di leggere i sottoconti, oppure
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta
@ -1200,7 +1203,7 @@ void CG4600_application::passivita()
if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli if (sezione == 'D') // ---> Tengo una variabile in cui salvo gli
{ // importi trovati sui saldi. Quando ho { // importi trovati sui saldi. Quando ho
sez_rmov = 'A'; // finito di leggere i sottoconti, oppure sez_rmov = 'A'; // finito di leggere i sottoconti, oppure
tot_saldo += _saldo; // quando ho raggiunto un massimo di 200 tot_saldo += _saldo; // quando ho raggiunto un massimo di 99
_totale_saldo += _saldo; _totale_saldo += _saldo;
} // righe di movimento, genero un' altra } // righe di movimento, genero un' altra
else // riga con importo di sezione opposta else // riga con importo di sezione opposta

View File

@ -25,6 +25,7 @@ BEGIN
PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA " PROMPT 2 1 "@bANNO LIQUIDAZIONE IVA "
HELP "Indicare l'anno dell'esercizio IVA corrente" HELP "Indicare l'anno dell'esercizio IVA corrente"
FIELD AnLiIv FIELD AnLiIv
VALIDATE FIXLEN_FUNC 4
END END
BOOLEAN CHK_ANCFCM BOOLEAN CHK_ANCFCM