Correzione MI3262, relativo allo spostamento in parametri liquidazione

della gestione liquidazione differita. Ora non e' piu' un parametro di
ditta ma un parametro annuale memorizzato in LIA->B1.


git-svn-id: svn://10.65.10.50/trunk@4021 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1996-12-19 09:21:13 +00:00
parent 1d2aee1c2d
commit 6b05513677
10 changed files with 81 additions and 52 deletions

View File

@ -460,6 +460,12 @@ public:
void add_plafond (int month, const char* codatt, int type, void add_plafond (int month, const char* codatt, int type,
real& howmuch, bool intra); real& howmuch, bool intra);
// Ritorna il parametro della liquidazione differita per la ditta corrente, cosi come
// e' scritto sui parametri liquidazione (LIA)
// Se si passa 0 (default) vede prende la ditta correntemente in corso di calcolo
// Analogamente per l'anno
bool TLiquidazione_app::is_differita(long firm = 0, int year = 0);
// ritorna l'aliquota ordinaria dal // ritorna l'aliquota ordinaria dal
// codice IVA apposito immesso nei parametri studio // codice IVA apposito immesso nei parametri studio
real aliquota_agvia(); real aliquota_agvia();

View File

@ -758,6 +758,20 @@ real TLiquidazione_app::versamenti_IVA(int month, const char* types, bool intr)
return ret; return ret;
} }
// Ritorna il parametro della liquidazione differita per la ditta corrente, cosi come
// e' scritto sui parametri liquidazione (LIA)
// Se si passa 0 (default) vede prende la ditta correntemente in corso di calcolo
// Analogamente per l'anno
bool TLiquidazione_app::is_differita(long firm, int year)
{
long d = (firm == 0) ? _nditte->lfile().get_long("CODDITTA") : firm;
int y = (year == 0) ? atoi(_year) : year;
if (look_lia(d,atoi(_year)))
return _lia->get_bool("B1");
else
return FALSE;
}
real TLiquidazione_app::aliquota_agvia() real TLiquidazione_app::aliquota_agvia()
{ {
TConfig cnf(CONFIG_STUDIO); TConfig cnf(CONFIG_STUDIO);

View File

@ -456,10 +456,12 @@ bool TLiquidazione_app::recalc_acconto(real& inf, real& ina)
real acq_intr = 0.0; real acq_intr = 0.0;
bool isdifferita = FALSE; bool isdifferita = FALSE;
bool error = FALSE; bool error = FALSE;
{ // MI3262
TConfig cnf(CONFIG_DITTA, "cg"); //{
isdifferita = cnf.get_bool("GeLiDi"); // TConfig cnf(CONFIG_DITTA, "cg");
} // isdifferita = cnf.get_bool("GeLiDi");
//}
isdifferita = is_differita();
TString16 tipo_acc; TString16 tipo_acc;
// TBI rewrite from scratch // TBI rewrite from scratch

View File

@ -373,7 +373,9 @@ bool LiqAcc_app::video_vis()
return FALSE; return FALSE;
TConfig cnf(CONFIG_DITTA, "cg"); TConfig cnf(CONFIG_DITTA, "cg");
bool liqdiff = cnf.get_bool("GeLiDi"); // MI3262..
bool liqdiff = lia.get_bool("B1");//= cnf.get_bool("GeLiDi");
_tipo_acc = lia.get("S8"); _tipo_acc = lia.get("S8");
TString16 freqviva = lia.get("S7"); TString16 freqviva = lia.get("S7");
TInteressi_IVA_table ver; TInteressi_IVA_table ver;

View File

@ -174,29 +174,9 @@ bool TParametri_ditta::postprocess_config(TMask& mask, TConfig& config)
{ {
check_registers(mask.get_int(FLD_ANLIIV)); check_registers(mask.get_int(FLD_ANLIIV));
mask.field(FLD_ANLIIV).set_dirty(mask.get_int(FLD_ANLIIV) != config.get_int("AnLiIv")); mask.field(FLD_ANLIIV).set_dirty(mask.get_int(FLD_ANLIIV) != config.get_int("AnLiIv"));
if (mask.get_bool(CHK_GELIDI)) // MI3262
{ // La gestione liquidazione differita e' stata spostata sui parametri liquidazione
TLocalisamfile ditte(LF_NDITTE); // ovvero cg5300.cpp
const long ditta = get_firm();
ditte.put("CODDITTA", ditta);
ditte.read();
if (ditte.get("DINIZIOATT").empty())
error_box("La gestione della liquidazione differita richiede "
"la data di inizio attivita' sull'anagrafica della ditta.");
char freqiva = ditte.get_char("FREQVIVA");
TString16 key; key.format("%05ld%d", ditta, mask.get_int(FLD_ANLIIV));
TTable lia("%LIA");
lia.put("CODTAB", key);
if (lia.read() == NOERR)
freqiva = lia.get_char("S7");
if (freqiva != 'M')
error_box("La gestione della liquidazione differita richiede "
"la frequenza dei versamenti IVA mensile.");
}
return TRUE; return TRUE;
} }

View File

@ -12,7 +12,6 @@
#define CHK_GESVAL 111 #define CHK_GESVAL 111
#define FLD_CODLIN 112 #define FLD_CODLIN 112
#define FLD_CRIVAP 113 #define FLD_CRIVAP 113
#define CHK_GELIDI 114
#define FLD_COCACH 115 #define FLD_COCACH 115
#define FLD_COCAAP 116 #define FLD_COCAAP 116
#define FLD_CSBICHS 117 #define FLD_CSBICHS 117

View File

@ -50,14 +50,14 @@ BEGIN
END END
GROUPBOX DLG_NULL 76 8 GROUPBOX DLG_NULL 76 7
BEGIN BEGIN
PROMPT 2 5 "Parametri contabilita'" PROMPT 2 5 "Parametri contabilita'"
END END
GROUPBOX DLG_NULL 76 6 GROUPBOX DLG_NULL 76 6
BEGIN BEGIN
PROMPT 2 13 "Parametri saldaconto" PROMPT 2 12 "Parametri saldaconto"
END END
BOOLEAN CHK_GSLBCN BOOLEAN CHK_GSLBCN
@ -81,30 +81,23 @@ BEGIN
FIELD StLgiU FIELD StLgiU
END END
BOOLEAN CHK_GELIDI
BEGIN
PROMPT 4 9 "Gestione liquidazione differita"
HELP "Indicare se effettuare la liq. diff. ex DL 151 del 13-5-91 convertito da L. 202"
FIELD GeLiDi
END
BOOLEAN CHK_GESVEN BOOLEAN CHK_GESVEN
BEGIN BEGIN
PROMPT 4 10 "Gestione vendite" PROMPT 4 9 "Gestione vendite"
HELP "Indicare se e' attivata anche la gestione delle vendite" HELP "Indicare se e' attivata anche la gestione delle vendite"
FIELD GesVen FIELD GesVen
END END
BOOLEAN CHK_GEST74 BOOLEAN CHK_GEST74
BEGIN BEGIN
PROMPT 4 11 "Gestione versamenti 4.tr per soggetti art. 74/4" PROMPT 4 10 "Gestione versamenti 4.tr per soggetti art. 74/4"
HELP "Indicare se si deve gestire il versamento del 4. trimestre per benzinai e autotrasportatori" HELP "Indicare se si deve gestire il versamento del 4. trimestre per benzinai e autotrasportatori"
FIELD GesT74 FIELD GesT74
END END
BOOLEAN CHK_GESSAL BOOLEAN CHK_GESSAL
BEGIN BEGIN
PROMPT 4 14 "Gestione saldaconto " PROMPT 4 13 "Gestione saldaconto "
HELP "Indicare se attivare la gestione del saldaconto clienti/fornitori" HELP "Indicare se attivare la gestione del saldaconto clienti/fornitori"
MESSAGE TRUE ENABLE,CHK_GESVAL MESSAGE TRUE ENABLE,CHK_GESVAL
MESSAGE TRUE ENABLE,CHK_NRCLIDX MESSAGE TRUE ENABLE,CHK_NRCLIDX
@ -124,7 +117,7 @@ END
BOOLEAN CHK_GESVAL BOOLEAN CHK_GESVAL
BEGIN BEGIN
PROMPT 48 14 "Gestione Valuta" PROMPT 48 13 "Gestione Valuta"
HELP "Indicare se gestire i movimenti prima nota in valuta" HELP "Indicare se gestire i movimenti prima nota in valuta"
FIELD GesVal FIELD GesVal
GROUP GROUP_SALDACONTO GROUP GROUP_SALDACONTO
@ -132,7 +125,7 @@ END
BOOLEAN CHK_NRCLIDX BOOLEAN CHK_NRCLIDX
BEGIN BEGIN
PROMPT 4 15 "N. Rif. allineato a destra per clienti" PROMPT 4 14 "N. Rif. allineato a destra per clienti"
HELP "Indicare se allineare a destra il num. di rif. delle partite nel saldaconto" HELP "Indicare se allineare a destra il num. di rif. delle partite nel saldaconto"
FIELD NrCliDx FIELD NrCliDx
GROUP GROUP_SALDACONTO GROUP GROUP_SALDACONTO
@ -140,7 +133,7 @@ END
BOOLEAN CHK_NRFORDX BOOLEAN CHK_NRFORDX
BEGIN BEGIN
PROMPT 48 15 "e per fornitori" PROMPT 48 14 "e per fornitori"
HELP "Indicare se allineare a destra il num. di rif. delle partite nel saldaconto" HELP "Indicare se allineare a destra il num. di rif. delle partite nel saldaconto"
FIELD NrForDx FIELD NrForDx
GROUP GROUP_SALDACONTO GROUP GROUP_SALDACONTO
@ -148,7 +141,7 @@ END
BOOLEAN CHK_DTCFPG BOOLEAN CHK_DTCFPG
BEGIN BEGIN
PROMPT 4 16 "Dettaglio riga C/F sui pagamenti" PROMPT 4 15 "Dettaglio riga C/F sui pagamenti"
HELP "Indicare se si desidera il dettaglio riga clienti/fornitori in gestione pagamenti" HELP "Indicare se si desidera il dettaglio riga clienti/fornitori in gestione pagamenti"
FIELD DtCfPg FIELD DtCfPg
GROUP GROUP_SALDACONTO GROUP GROUP_SALDACONTO
@ -156,7 +149,7 @@ END
BOOLEAN CHK_RIFPRO BOOLEAN CHK_RIFPRO
BEGIN BEGIN
PROMPT 4 17 "Riferimento partita con numero protocollo" PROMPT 4 16 "Riferimento partita con numero protocollo"
HELP "Indicare se si desidera il numero protocollo IVA anziche' il numero documento come riferimento partita" HELP "Indicare se si desidera il numero protocollo IVA anziche' il numero documento come riferimento partita"
FIELD RifPro FIELD RifPro
GROUP GROUP_SALDACONTO GROUP GROUP_SALDACONTO
@ -164,7 +157,7 @@ END
STRING FLD_CODLIN 1 STRING FLD_CODLIN 1
BEGIN BEGIN
PROMPT 50 17 "Codice lingua " PROMPT 50 16 "Codice lingua "
HELP "Lingua di riferimento per rendiconti contabili" HELP "Lingua di riferimento per rendiconti contabili"
FIELD CodLin FIELD CodLin
USE %LNG USE %LNG

View File

@ -28,6 +28,7 @@ class TParaliq_app : public TRelation_application
protected: // Applicat protected: // Applicat
virtual void on_config_change(); virtual void on_config_change();
static bool gelidi_handler(TMask_field& f, KEY k);
protected: // Relapp protected: // Relapp
virtual bool user_create(); virtual bool user_create();
@ -59,6 +60,30 @@ public:
virtual ~TParaliq_app() {} virtual ~TParaliq_app() {}
}; };
inline TParaliq_app& app() { return (TParaliq_app&) main_app(); }
bool TParaliq_app::gelidi_handler(TMask_field& f, KEY k)
{
if (k==K_ENTER)
{
TLocalisamfile* ditte = app()._ditte;
TMask& m = f.mask();
if (m.get_bool(F_GELIDI))
{
const long ditta = m.get_long(F_CODDITTA);
ditte->put("CODDITTA", ditta);
if (ditte->read()==NOERR)
if (ditte->get("DINIZIOATT").empty())
{
f.set(" ");
f.error_box("La gestione della liquidazione differita richiede "
"la data di inizio attivita' sull'anagrafica della ditta.");
}
}
}
return TRUE;
}
void TParaliq_app::check_registers(int year) void TParaliq_app::check_registers(int year)
{ {
@ -161,6 +186,7 @@ bool TParaliq_app::user_create()
_ditte = new TLocalisamfile(LF_NDITTE); _ditte = new TLocalisamfile(LF_NDITTE);
_msk = new TMask("cg5300a"); _msk = new TMask("cg5300a");
_msk->set_handler(F_GELIDI,gelidi_handler);
((TSheet_field&)_msk->field(F_SHEET_PLA)).set_notify(sheet_action); ((TSheet_field&)_msk->field(F_SHEET_PLA)).set_notify(sheet_action);
return TRUE; return TRUE;
} }

View File

@ -1,9 +1,10 @@
#define F_YEAR 301 #define F_YEAR 301
#define F_CRED_PREC 302 #define F_CRED_PREC 302
#define F_FREQ_VERS 303 #define F_FREQ_VERS 303
#define F_SHEET_PLA 304 #define F_GELIDI 304
#define F_CODDITTA 305 #define F_SHEET_PLA 305
#define F_RAGSOC 306 #define F_CODDITTA 306
#define F_RAGSOC 307
#define F_CRED_COST 308 #define F_CRED_COST 308
#define F_CODATT 101 #define F_CODATT 101
#define F_DESATT 150 #define F_DESATT 150

View File

@ -66,11 +66,17 @@ LIST F_FREQ_VERS 1 14
BEGIN BEGIN
PROMPT 4 5 "Frequenza versamenti " PROMPT 4 5 "Frequenza versamenti "
HELP "Indicare la frequenza dei versamenti delle liquidazioni IVA" HELP "Indicare la frequenza dei versamenti delle liquidazioni IVA"
ITEM "M|Mensile" ITEM "M|Mensile" MESSAGE ENABLE,F_GELIDI
ITEM "T|Trimestrale" ITEM "T|Trimestrale" MESSAGE CLEAR,F_GELIDI
FIELD S7 FIELD S7
END END
BOOLEAN F_GELIDI
BEGIN
PROMPT 45 5 "Liquidazione differita "
FIELD B1
END
NUMBER F_CRED_PREC 15 NUMBER F_CRED_PREC 15
BEGIN BEGIN
PROMPT 4 6 "Credito precedente " PROMPT 4 6 "Credito precedente "