Correzioni fine luglio
git-svn-id: svn://10.65.10.50/trunk@3263 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
76490bb089
commit
f8073f1e33
@ -354,14 +354,13 @@ void TSchedaPercipienti::compila_testata(TMask& m)
|
||||
{
|
||||
m.set(F_DATADOC, _coll._datadoc);
|
||||
m.set(F_NUMDOC, _coll._numdoc);
|
||||
|
||||
m.set(F_IVA, _coll._imposte.string());
|
||||
m.set(F_SPESE, _coll._spese.string());
|
||||
m.set(F_COMPENS, _coll._compenso.string());
|
||||
|
||||
switch (tipo_coll())
|
||||
{
|
||||
case ritenuta:
|
||||
case occasionale:
|
||||
m.set(F_COMPENS, _coll._compenso.string());
|
||||
m.set(F_TOTDOC, _coll._compenso.string());
|
||||
break;
|
||||
@ -380,67 +379,6 @@ bool TSchedaPercipienti::coll_variazione() const
|
||||
tipo_coll() == pagamento_piu_perc;
|
||||
}
|
||||
|
||||
void TSchedaPercipienti::init_mask(TMask& m)
|
||||
{
|
||||
update_lasts(m);
|
||||
|
||||
if (tipo_coll() != nessuno)
|
||||
{
|
||||
const bool variazione = coll_variazione();
|
||||
if (!variazione) compila_testata(m);
|
||||
switch (tipo_coll())
|
||||
{
|
||||
case pagamento:
|
||||
case ritenuta:
|
||||
// Compilo riga di pagamento SOLO SE NON ce ne sono gia'..
|
||||
if ( (tipo_coll() == pagamento && _rel->pag_items() == 0)
|
||||
||
|
||||
tipo_coll() == ritenuta )
|
||||
{
|
||||
const real totrit(m.get(F_TOTRIT));
|
||||
const real totdoc(m.get(F_TOTDOC));
|
||||
const real compenso(m.get(F_COMPENS));
|
||||
const real spese(m.get(F_SPESE));
|
||||
|
||||
if ( (tipo_coll() == pagamento && ( _coll._compenso + totrit == totdoc) )
|
||||
||
|
||||
(tipo_coll() == ritenuta) )
|
||||
{
|
||||
TSheet_field& pags = (TSheet_field&)m.field(F_PAGAMENTI);
|
||||
TRectype rpag(_rel->pag(0));
|
||||
rpag.zero();
|
||||
real& imponibile = _coll._compenso;
|
||||
|
||||
rpag.put("DATAPAG", _coll._datadoc);
|
||||
rpag.put("COMPENSO", compenso);
|
||||
|
||||
const real impo_calc = calcola_imponibile(compenso);
|
||||
rpag.put("IMPONIBILE", impo_calc);
|
||||
|
||||
rpag.put("SPESA", spese);
|
||||
|
||||
const real rite_calc = calcola_ritenuta(impo_calc);
|
||||
rpag.put("RITENUTA", rite_calc);
|
||||
|
||||
real perc = (rite_calc * 100) / impo_calc;
|
||||
perc.round(2);
|
||||
rpag.put("PERC", perc);
|
||||
rpag.put("NUMVERS", (long)-1);
|
||||
const real netto = compenso - rite_calc + spese;
|
||||
rpag.put("NETTO", netto);
|
||||
// Update spreadsheet
|
||||
rec2row(pags.row(0), rpag, 0);
|
||||
pags.force_update();
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
fill_sheet(m);
|
||||
}
|
||||
|
||||
void TSchedaPercipienti::get_ragsoc(const char* tipoa, const long codanagr)
|
||||
{
|
||||
TLocalisamfile anag(LF_ANAG);
|
||||
@ -508,7 +446,7 @@ void TSchedaPercipienti::init_query_mode(TMask& m)
|
||||
}
|
||||
return;
|
||||
break;
|
||||
case ritenuta:
|
||||
case occasionale:
|
||||
/*
|
||||
setta_nprog(m,FALSE); // Sempre in aggiunta
|
||||
m.send_key(K_AUTO_ENTER, 0); */
|
||||
|
318
m770/770102.cpp
318
m770/770102.cpp
@ -9,13 +9,115 @@
|
||||
// solo se e' un versamento in banca
|
||||
//
|
||||
// 5.6.96 Calcolo contributo INPS
|
||||
//
|
||||
// 22.7.96 Esegue controllo ritenuta solo se diversa da ZERO
|
||||
// Tolti tutti i trunc() per lasciare i decimali nei conti
|
||||
// 24.7.96 Non considera piu' la perc. come 100 se lasciata vuota
|
||||
//
|
||||
|
||||
HIDDEN TString80 tmp1, tmp2;
|
||||
HIDDEN TString80 tmp1, tmp2;
|
||||
HIDDEN real __impo = ZERO;
|
||||
HIDDEN real __compe = ZERO;
|
||||
HIDDEN real __percra;
|
||||
HIDDEN real __percra = ZERO;
|
||||
HIDDEN TString80 __rite;
|
||||
HIDDEN bool __bRicalcolaRigaPag = FALSE;
|
||||
HIDDEN real __rCompensoCg = ZERO;
|
||||
|
||||
void TSchedaPercipienti::init_mask(TMask& m)
|
||||
{
|
||||
update_lasts(m);
|
||||
__bRicalcolaRigaPag = FALSE;
|
||||
__rCompensoCg = ZERO;
|
||||
if (tipo_coll() != nessuno)
|
||||
{
|
||||
const bool variazione = coll_variazione();
|
||||
if (!variazione) compila_testata(m);
|
||||
switch (tipo_coll())
|
||||
{
|
||||
case pagamento:
|
||||
case occasionale:
|
||||
// Compilo riga di pagamento SOLO SE NON ce ne sono gia'..
|
||||
if ( (tipo_coll() == pagamento && _rel->pag_items() == 0)
|
||||
||
|
||||
tipo_coll() == occasionale )
|
||||
{
|
||||
const real totrit(m.get(F_TOTRIT));
|
||||
const real totdoc(m.get(F_TOTDOC));
|
||||
const real compenso(m.get(F_COMPENS));
|
||||
const real spese(m.get(F_SPESE));
|
||||
|
||||
if ( (tipo_coll() == pagamento && (_coll._compenso + totrit == totdoc) )
|
||||
||
|
||||
(tipo_coll() == occasionale) )
|
||||
{
|
||||
TSheet_field& pags = (TSheet_field&)m.field(F_PAGAMENTI);
|
||||
TRectype rpag(_rel->pag(0));
|
||||
rpag.zero();
|
||||
real& imponibile = _coll._compenso;
|
||||
rpag.put("DATAPAG", _coll._datadoc);
|
||||
rpag.put("COMPENSO", compenso);
|
||||
// Come 'zzo fa a calcolare l'imponibile se ancora nun c'e' la causale?
|
||||
// const real impo_calc = calcola_imponibile(compenso);
|
||||
// rpag.put("IMPONIBILE", impo_calc);
|
||||
rpag.put("SPESA", spese);
|
||||
|
||||
/********** 26.7.96 non esiste piu' sta' roba
|
||||
const real rite_calc = calcola_ritenuta(impo_calc);
|
||||
rpag.put("RITENUTA", rite_calc);
|
||||
real perc = (rite_calc * 100) / impo_calc;
|
||||
perc.round(2);
|
||||
rpag.put("PERC", perc);
|
||||
rpag.put("NUMVERS", (long)-1);
|
||||
const real netto = compenso - rite_calc + spese;
|
||||
rpag.put("NETTO", netto);
|
||||
**************************/
|
||||
// forza il ricalcolo della riga pag. (da check_causale)
|
||||
__bRicalcolaRigaPag = TRUE;
|
||||
__rCompensoCg = compenso;
|
||||
// Update spreadsheet
|
||||
rec2row(pags.row(0), rpag, 0);
|
||||
pags.force_update();
|
||||
}
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
fill_sheet(m);
|
||||
}
|
||||
|
||||
// Utilizzato in collegamento da cg
|
||||
real TSchedaPercipienti::calcola_ritenuta(const real& imponibile, TString& sPercRa)
|
||||
{
|
||||
TTable cau("%ca7");
|
||||
TString codcau(curr_mask().get(F_CODCAUS));
|
||||
cau.zero();
|
||||
cau.put("CODTAB", codcau);
|
||||
cau.read();
|
||||
real rQuotaRaCaus = cau.get_real("R0");
|
||||
sPercRa = cau.get("R0");
|
||||
real rite = ZERO;
|
||||
rite = (imponibile * rQuotaRaCaus)/100.00;
|
||||
return rite;
|
||||
}
|
||||
|
||||
// Utilizzato in collegamento da cg Forse ora da togliere..
|
||||
real TSchedaPercipienti::calcola_imponibile(const real& compenso)
|
||||
{
|
||||
TTable cau("%ca7");
|
||||
TString codcau(curr_mask().get(F_CODCAUS));
|
||||
cau.zero();
|
||||
cau.put("CODTAB", codcau);
|
||||
if (cau.read() != NOERR)
|
||||
return ZERO;
|
||||
real quota_imp = cau.get_int("R4");
|
||||
TString16 cod_qua(cau.get("S1"));
|
||||
real imponibile_calcolato = ZERO;
|
||||
// Calcola imponibile
|
||||
if (compenso != ZERO)
|
||||
imponibile_calcolato = (compenso * quota_imp) / 100.00;
|
||||
return imponibile_calcolato;
|
||||
}
|
||||
|
||||
bool TSchedaPercipienti::vers_notify(TSheet_field& s, int r, KEY k)
|
||||
{
|
||||
@ -726,26 +828,47 @@ bool TSchedaPercipienti::vers1015_handler(TMask_field& f, KEY k)
|
||||
//
|
||||
bool TSchedaPercipienti::check_causale(TMask_field& f, KEY k)
|
||||
{
|
||||
// if (k == K_TAB)
|
||||
if (f.to_check(k))
|
||||
TMask& m = f.mask();
|
||||
|
||||
if (k == K_TAB)
|
||||
// if (f.to_check(k))
|
||||
{
|
||||
TFixed_string cod_caus(f.get(),3);
|
||||
|
||||
if (cod_caus.empty() && f.mask().is_running())
|
||||
|
||||
if (cod_caus.empty() && m.is_running())
|
||||
{
|
||||
KEY ke = f.mask().last_key();
|
||||
KEY ke = m.last_key();
|
||||
if (ke != K_QUIT && ke != K_ESC)
|
||||
return f.warning_box("Manca la causale");
|
||||
}
|
||||
else
|
||||
{
|
||||
TString16 cod_qua (f.mask().get(F_CODQUA));
|
||||
char tipo = f.mask().get(F_TIPOA)[0];
|
||||
TString16 cod_qua (m.get(F_CODQUA));
|
||||
char tipo = m.get(F_TIPOA)[0];
|
||||
|
||||
if (cod_qua == "C" || cod_qua == "E1")
|
||||
if (tipo == 'G')
|
||||
return f.warning_box("Con il quadro C o E1 e' possibile l'immissione"
|
||||
" per le sole persone fisiche");
|
||||
if (__bRicalcolaRigaPag)
|
||||
{
|
||||
TSheet_field& pags = app().pags();
|
||||
TMask& ssMask = pags.sheet_mask();
|
||||
// aggiorna la riga ( collegamenti con 6(occas.) e 3(pag.) )
|
||||
TString sPercRa(6);
|
||||
real rImpoCg = app().calcola_imponibile(__rCompensoCg);
|
||||
real rRiteCg = app().calcola_ritenuta(rImpoCg, sPercRa);
|
||||
TToken_string& tsRiga = pags.row(0);
|
||||
tsRiga.add(rImpoCg.string(), 3);
|
||||
tsRiga.add(sPercRa, 4);
|
||||
tsRiga.add(rRiteCg.string(), 7);
|
||||
pags.force_update(0);
|
||||
// Per evitare che i valori vengano azzerati:
|
||||
__compe = __rCompensoCg;
|
||||
__impo = rImpoCg;
|
||||
__percra = atof(sPercRa);
|
||||
__rite = rRiteCg.string();
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
@ -756,57 +879,6 @@ bool TSchedaPercipienti::check_causale(TMask_field& f, KEY k)
|
||||
// RIGA PAGAMENTI
|
||||
//
|
||||
///////////////////////////////////////////////////////////////////////////
|
||||
/*****************
|
||||
bool TSchedaPercipienti::pag_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
const bool forzatura = app().curr_mask().get_bool(F_FORCED);
|
||||
const real compenso (f.mask().get(MPAG_COMPENSO));
|
||||
real imponibile_calc = ZERO;
|
||||
TString16 cod_qua(app().curr_mask().get(F_CODQUA));
|
||||
|
||||
if (k == K_TAB)
|
||||
{
|
||||
if (__compe != ZERO && compenso == ZERO)
|
||||
app()._azzerato_pag = FALSE;
|
||||
|
||||
const bool cambiato_compenso = __compe == ZERO ? __compe != compenso : FALSE;
|
||||
|
||||
if (cambiato_compenso)
|
||||
{
|
||||
imponibile_calc = calcola_imponibile(f, compenso, cambiato_compenso);
|
||||
calcola_ritenuta(f, imponibile_calc, cambiato_compenso);
|
||||
// "Solo per il quadro E1 l'imponibile puo' essere maggiore del compenso"
|
||||
if (cod_qua != "E1")
|
||||
if (imponibile_calc > compenso)
|
||||
{
|
||||
f.warning_box("L'imponibile non puo' essere"
|
||||
" maggiore del compenso");
|
||||
return forzatura;
|
||||
}
|
||||
f.mask().send_key(K_TAB, MPAG_NETTO); // forza il ricalcolo del netto
|
||||
}
|
||||
|
||||
const real imponibile(f.mask().get(MPAG_IMPONIBILE));
|
||||
const bool imponibile_cambiato = __impo != ZERO ? imponibile != __impo : FALSE;
|
||||
if (imponibile_cambiato)
|
||||
calcola_ritenuta(f, imponibile, imponibile_cambiato);
|
||||
}
|
||||
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
// "Solo per il quadro E1 l'imponibile puo' essere maggiore del compenso"
|
||||
if (cod_qua != "E1")
|
||||
if (imponibile_calc > compenso)
|
||||
{
|
||||
f.warning_box("L'imponibile non puo' essere"
|
||||
" maggiore del compenso");
|
||||
return forzatura;
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
*****************************/
|
||||
//
|
||||
// SPESA_HANDLER
|
||||
//
|
||||
@ -820,7 +892,7 @@ bool TSchedaPercipienti::spesa_handler(TMask_field& f, KEY k)
|
||||
}
|
||||
|
||||
// CHECK_RITENUTA
|
||||
// o Controlla se la ritenuta e' corretta
|
||||
// o Controlla se la ritenuta e' corretta (SOLO SE != ZERO 22.7.96)
|
||||
// o Ricalcola la ritenuta se e' stata vuotata
|
||||
bool TSchedaPercipienti::check_ritenuta(TMask_field& f, KEY k)
|
||||
{
|
||||
@ -837,15 +909,20 @@ bool TSchedaPercipienti::check_ritenuta(TMask_field& f, KEY k)
|
||||
f.mask().send_key(K_TAB, MPAG_NETTO); // forza il ricalcolo del netto
|
||||
}
|
||||
|
||||
// Controlla solo se RITENUTA != ZERO
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const bool forzatura = app().curr_mask().get_bool(F_FORCED);
|
||||
real perc_ra = (f.mask().get_real(MPAG_PERCRA) );
|
||||
real perc_ra = (m.get_real(MPAG_PERCRA) );
|
||||
if (perc_ra == ZERO)
|
||||
perc_ra = 100.00;
|
||||
const real imponibile (f.mask().get(MPAG_IMPONIBILE));
|
||||
real ritenuta (f.mask().get(MPAG_RITPAG));
|
||||
const real imponibile (m.get(MPAG_IMPONIBILE));
|
||||
real ritenuta (m.get(MPAG_RITPAG));
|
||||
|
||||
if (ritenuta == ZERO)
|
||||
return TRUE;
|
||||
|
||||
real rite = ZERO;
|
||||
// Se non indico la percentuale => considero come 100%
|
||||
if (perc_ra != ZERO)
|
||||
@ -903,57 +980,20 @@ real TSchedaPercipienti::calcola_imponibile(TMask_field& f, const real& compenso
|
||||
// Calcola imponibile
|
||||
if (compenso != ZERO)
|
||||
{
|
||||
// "Se la perc.ass.imponibile = 0 => percentuale = 100% "
|
||||
if (quota_imp == ZERO)
|
||||
imponibile_calcolato = compenso;
|
||||
else
|
||||
imponibile_calcolato = (compenso * quota_imp) / 100.00;
|
||||
imponibile_calcolato.trunc();
|
||||
// imponibile_calcolato = round_770(imponibile_calcolato);
|
||||
|
||||
imponibile_calcolato = (compenso * quota_imp) / 100.00;
|
||||
// 13.6.96 toglie il contributo inps
|
||||
if (bContributoInps)
|
||||
{
|
||||
real rPercCassaPrev=ZERO;
|
||||
rPercCassaPrev = mm.get_real(F_CASSA_PREV);
|
||||
imponibile_calcolato = (imponibile_calcolato / (100.00 + rPercCassaPrev)) * 100.00;
|
||||
imponibile_calcolato.trunc();
|
||||
}
|
||||
|
||||
TString impost(imponibile_calcolato.string());
|
||||
lm.set(MPAG_IMPONIBILE, impost);
|
||||
}
|
||||
return imponibile_calcolato;
|
||||
}
|
||||
|
||||
// Utilizzato in collegamento da cg
|
||||
real TSchedaPercipienti::calcola_imponibile(const real& compenso)
|
||||
{
|
||||
TTable cau("%ca7");
|
||||
TString codcau(curr_mask().get(F_CODCAUS));
|
||||
cau.zero();
|
||||
cau.put("CODTAB", codcau);
|
||||
cau.read();
|
||||
real quota_imp = cau.get_int("R4");
|
||||
TString16 cod_qua(cau.get("S1"));
|
||||
real imponibile_calcolato = ZERO;
|
||||
|
||||
|
||||
// Calcola imponibile
|
||||
if (compenso != ZERO)
|
||||
{
|
||||
// "Se la perc.ass.imponibile = 0 => percentuale = 100% "
|
||||
if (quota_imp == ZERO)
|
||||
imponibile_calcolato = compenso;
|
||||
else
|
||||
imponibile_calcolato = (compenso * quota_imp) / 100.00;
|
||||
// imponibile_calcolato = round_770(imponibile_calcolato);
|
||||
imponibile_calcolato.trunc();
|
||||
}
|
||||
return imponibile_calcolato;
|
||||
}
|
||||
|
||||
|
||||
bool TSchedaPercipienti::imponibile_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
@ -979,10 +1019,11 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
TMask& mm = app().curr_mask(); // main mask
|
||||
TMask& lm = f.mask(); // local mask
|
||||
const bool forzatura = mm.get_bool(F_FORCED);
|
||||
const real compenso (lm.get(MPAG_COMPENSO));
|
||||
real compenso (lm.get(MPAG_COMPENSO));
|
||||
real imponibile = ZERO;
|
||||
TString16 cod_qua(mm.get(F_CODQUA));
|
||||
const bool bContributoInps = mm.get_bool(F_FLAG_INPS);
|
||||
bool bCambiatoCompenso = FALSE;
|
||||
|
||||
if (k == K_TAB)
|
||||
{
|
||||
@ -992,11 +1033,11 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
if (compenso == ZERO)
|
||||
return TRUE;
|
||||
|
||||
const bool forza_ricalcolo = __compe != ZERO ? __compe != compenso : FALSE;
|
||||
bCambiatoCompenso = __compe != ZERO ? __compe != compenso : FALSE;
|
||||
if (__compe != compenso)
|
||||
__compe = compenso; // per evitare di perdere l'imponibile
|
||||
|
||||
imponibile = calcola_imponibile(f, compenso, forza_ricalcolo);
|
||||
imponibile = calcola_imponibile(f, compenso, bCambiatoCompenso);
|
||||
|
||||
#ifdef DBG
|
||||
tmp1 = imponibile.string();
|
||||
@ -1006,7 +1047,7 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
warning_box("Imponibile = %s - Compenso = %s", (const char*)tmp1,(const char*)tmp2 );
|
||||
#endif
|
||||
|
||||
calcola_ritenuta(f, imponibile, forza_ricalcolo);
|
||||
calcola_ritenuta(f, imponibile, bCambiatoCompenso);
|
||||
|
||||
// "Solo per il quadro E1 l'imponibile puo' essere maggiore del compenso"
|
||||
if (cod_qua != "E1")
|
||||
@ -1020,15 +1061,14 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
// Calcolo contributo INPS
|
||||
if (bContributoInps)
|
||||
{
|
||||
real /*rQuotaPrev,*/rScorporaComp, rImpInps, rInpsComplex, rInpsPerc;
|
||||
|
||||
real rInpsPercPrima = lm.get_real(MPAG_INPSPERC);
|
||||
real rInpsCompPrima = lm.get_real(MPAG_INPSCOMP);
|
||||
real rScorporaComp, rImpInps, rInpsComplex, rInpsPerc;
|
||||
real rPercCassaPrev = mm.get_real(F_CASSA_PREV);
|
||||
real rPercContrInps = mm.get_real(F_PERC_INPS);
|
||||
real rPercAssContrInps = mm.get_real(F_PERC_ASS_INPS);
|
||||
real rQuotaCommitContrInps = mm.get_real(F_PERC_COMMIT_INPS);
|
||||
|
||||
// rQuotaPrev = compenso / (100.00 + rPercCassaPrev);
|
||||
// rQuotaPrev.round(0);
|
||||
rScorporaComp = (compenso / (100.00 + rPercCassaPrev)) * 100.00;
|
||||
rImpInps = (rScorporaComp / 100.00) * rPercAssContrInps;
|
||||
rImpInps.round(0);
|
||||
@ -1039,13 +1079,13 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
else
|
||||
rInpsPerc = rInpsComplex - ((rInpsComplex * rQuotaCommitContrInps)/100.00);
|
||||
|
||||
rInpsComplex.trunc();
|
||||
rInpsPerc.trunc();
|
||||
|
||||
TString sInpsComp(rInpsComplex.string());
|
||||
TString sInpsPerc(rInpsPerc.string());
|
||||
lm.set(MPAG_INPSPERC, sInpsPerc);
|
||||
lm.set(MPAG_INPSCOMP, sInpsComp);
|
||||
// Setto i compensi INPS solo se prima erano vuoti
|
||||
if (rInpsPercPrima == ZERO || bCambiatoCompenso)
|
||||
lm.set(MPAG_INPSPERC, sInpsPerc);
|
||||
if (rInpsCompPrima == ZERO || bCambiatoCompenso)
|
||||
lm.set(MPAG_INPSCOMP, sInpsComp);
|
||||
}
|
||||
lm.send_key(K_TAB, MPAG_NETTO); // forza il ricalcolo del netto
|
||||
}
|
||||
@ -1075,10 +1115,11 @@ bool TSchedaPercipienti::compenso_handler(TMask_field& f, KEY k)
|
||||
//
|
||||
bool TSchedaPercipienti::calcola_ritenuta(TMask_field& f, const real& imponibile, const bool forza, const real percent)
|
||||
{
|
||||
real rPercRaRiga = f.mask().get_real(MPAG_PERCRA);
|
||||
TMask& m=f.mask();
|
||||
real rPercRaRiga = m.get_real(MPAG_PERCRA);
|
||||
real rPercRaCaus = app().curr_mask().get_real(F_PERRIT);
|
||||
const bool azzerato = app()._azzerato_pag;
|
||||
const real rit_prec(f.mask().get(MPAG_RITPAG));
|
||||
const real rit_prec(m.get(MPAG_RITPAG));
|
||||
|
||||
if (rit_prec != ZERO && !forza)
|
||||
return FALSE;
|
||||
@ -1101,48 +1142,19 @@ bool TSchedaPercipienti::calcola_ritenuta(TMask_field& f, const real& imponibile
|
||||
if (prendi_ra_da_causale)
|
||||
{
|
||||
TString quota_rast(rPercRaCaus.string());
|
||||
f.mask().set(MPAG_PERCRA, quota_rast);
|
||||
m.set(MPAG_PERCRA, quota_rast);
|
||||
}
|
||||
|
||||
// Calcolo ritenuta ...
|
||||
// Se non indico la percentuale => considero come 100%
|
||||
real rite = ZERO;
|
||||
if (rPerc == ZERO)
|
||||
rite = imponibile;
|
||||
else
|
||||
rite = (imponibile * rPerc) / 100.00;
|
||||
real rite = (imponibile * rPerc) / 100.00;
|
||||
|
||||
rite.trunc();
|
||||
// rite.round();
|
||||
// .. riempie il campo corrispondente
|
||||
TString ritest(rite.string());
|
||||
f.mask().set(MPAG_RITPAG, ritest);
|
||||
f.mask().send_key(K_TAB, MPAG_NETTO); // forza il ricalcolo del netto
|
||||
m.set(MPAG_RITPAG, ritest);
|
||||
m.send_key(K_TAB, MPAG_NETTO); // forza il ricalcolo del netto
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Utilizzato in collegamento da cg
|
||||
real TSchedaPercipienti::calcola_ritenuta(const real& imponibile)
|
||||
{
|
||||
TTable cau("%ca7");
|
||||
TString codcau(curr_mask().get(F_CODCAUS));
|
||||
cau.zero();
|
||||
cau.put("CODTAB", codcau);
|
||||
cau.read();
|
||||
real rQuotaRaCaus = cau.get_real("R0");
|
||||
real rite = ZERO;
|
||||
|
||||
// Calcolo ritenuta ...
|
||||
// Se non indico la percentuale => considero come 100%
|
||||
if (rQuotaRaCaus == ZERO)
|
||||
rite = imponibile;
|
||||
else
|
||||
rite = (imponibile * rQuotaRaCaus)/100.00;
|
||||
rite.trunc();
|
||||
return rite;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Handler della percentuale di r.a.
|
||||
// ricalcolo la ritenuta quando cambia
|
||||
@ -1189,7 +1201,7 @@ real TSchedaPercipienti::calcola_netto(TMask_field& f)
|
||||
const real inpsperc (m.get(MPAG_INPSPERC));
|
||||
|
||||
netto = compenso - ritenuta + spesa - inpsperc;
|
||||
netto.trunc();
|
||||
// netto.trunc();
|
||||
f.mask().set(MPAG_NETTO, netto.string());
|
||||
|
||||
return netto;
|
||||
|
@ -92,7 +92,7 @@ class TSchedaPercipienti : public TRelation_application
|
||||
static bool calcola_ritenuta (TMask_field& f,const real& compenso,const bool forza=FALSE,const real perc=ZERO);
|
||||
static real calcola_netto (TMask_field& f);
|
||||
real calcola_imponibile(const real& compenso);
|
||||
real calcola_ritenuta (const real& imponibile);
|
||||
real calcola_ritenuta (const real& imponibile, TString& sPercRa);
|
||||
static long get_numvers (TMask_field& f);
|
||||
static void setta_ritvers(TMask_field& f, const real& ritenuta);
|
||||
|
||||
|
@ -104,7 +104,6 @@ bool TDati_anagrafici::codditta_hnd(TMask_field& f, KEY k)
|
||||
f.check();
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -258,13 +257,12 @@ bool TDati_anagrafici::indirizzo (TMask_field& f, KEY k)
|
||||
char tipoa;
|
||||
TString ragione,nome,cognome,ind,civ,cap,com,prov,codcom;
|
||||
|
||||
if ( k == K_TAB )// && f.mask().is_running() )
|
||||
if (k == K_TAB)
|
||||
{
|
||||
tipoa = f.mask().get (ASCF_TIPOA)[0];
|
||||
codanagr = f.mask().get_long(F_ANAGR);
|
||||
|
||||
// Ricerca sull'archivio anagrafiche dei dati relativi al depositario
|
||||
|
||||
// Ricerca sull'archivio anagrafiche dei dati relativi al depositario
|
||||
anag.setkey(1);
|
||||
anag.zero();
|
||||
anag.put("TIPOA", tipoa);
|
||||
@ -343,8 +341,7 @@ bool TDati_anagrafici::cod_conc (TMask_field& f, KEY k)
|
||||
tipoa = f.mask().get (F_TIPOA)[0];
|
||||
codanagr = f.mask().get_long(F_ANAGR);
|
||||
|
||||
// Ricerca sull'archivio anagrafiche dei dati
|
||||
|
||||
// Ricerca sull'archivio anagrafiche dei dati
|
||||
anag.setkey(1);
|
||||
anag.zero();
|
||||
anag.put("TIPOA", tipoa);
|
||||
@ -357,8 +354,7 @@ bool TDati_anagrafici::cod_conc (TMask_field& f, KEY k)
|
||||
codcom = anag.get("COMRES");
|
||||
}
|
||||
|
||||
// Ricerca dati relativi al comune
|
||||
|
||||
// Ricerca dati relativi al comune
|
||||
comuni.setkey(1);
|
||||
comuni.zero();
|
||||
comuni.put("STATO", "");
|
||||
@ -520,7 +516,6 @@ bool TDati_anagrafici::destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
@ -538,23 +533,17 @@ bool TDati_anagrafici::main_loop()
|
||||
switch (tasto)
|
||||
{
|
||||
case K_ESC :
|
||||
break;
|
||||
|
||||
break;
|
||||
case K_QUIT :
|
||||
break;
|
||||
|
||||
break;
|
||||
case K_SAVE :
|
||||
{
|
||||
registra();
|
||||
}
|
||||
break;
|
||||
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (tasto != K_QUIT); //K_ENTER
|
||||
|
||||
while (tasto != K_QUIT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@ -634,8 +623,7 @@ void TDati_anagrafici::registra_caaf()
|
||||
long codditta;
|
||||
char tipoa = 'G';
|
||||
|
||||
// Registro il codice caaf sull'archivio base
|
||||
|
||||
// Registro il codice caaf sull'archivio base
|
||||
codditta = _msk->get_long(F_CODDITTA);
|
||||
|
||||
base.setkey(1);
|
||||
|
@ -75,7 +75,7 @@ BEGIN
|
||||
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
|
||||
OUTPUT F_COMRES 1@->DENCOM
|
||||
OUTPUT F_PROVRES 1@->PROVCOM
|
||||
OUTPUT F_COMRF 2@->DENCOM
|
||||
OUTPUT F_COMRF 2@->DENCOM
|
||||
OUTPUT F_PROVRF 2@->PROVCOM
|
||||
OUTPUT F_PTELRF LF_ANAG->PTELRF
|
||||
OUTPUT F_TELRF LF_ANAG->TELRF
|
||||
|
@ -70,25 +70,25 @@ BEGIN
|
||||
JOIN LF_COMUNI TO LF_ANAG ALIAS 2 INTO COM==COMRF
|
||||
DISPLAY "Codice" CODANAGR
|
||||
DISPLAY "Ragione Sociale@50" LF_ANAG->RAGSOC
|
||||
OUTPUT F_COFI LF_ANAG->COFI
|
||||
OUTPUT F_COFI LF_ANAG->COFI
|
||||
OUTPUT F_COGNOME LF_ANAG->RAGSOC[1,30]
|
||||
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
|
||||
OUTPUT F_SESSO SESSO
|
||||
OUTPUT F_NOME LF_ANAG->RAGSOC[31,50]
|
||||
OUTPUT F_SESSO SESSO
|
||||
OUTPUT F_DATANASC DATANASC
|
||||
OUTPUT F_COMNASC LF_COMUNI->DENCOM
|
||||
OUTPUT F_PROVNASC LF_COMUNI->PROVCOM
|
||||
OUTPUT F_INDRES LF_ANAG->INDRES
|
||||
OUTPUT F_INDRES LF_ANAG->INDRES
|
||||
OUTPUT F_CIVRES LF_ANAG->CIVRES
|
||||
OUTPUT F_CAPRES LF_ANAG->CAPRES
|
||||
OUTPUT F_INDRF LF_ANAG->INDRF
|
||||
OUTPUT F_CIVRF LF_ANAG->CIVRF
|
||||
OUTPUT F_CAPRF LF_ANAG->CAPRF
|
||||
OUTPUT F_INDRF LF_ANAG->INDRF
|
||||
OUTPUT F_CIVRF LF_ANAG->CIVRF
|
||||
OUTPUT F_CAPRF LF_ANAG->CAPRF
|
||||
OUTPUT F_COMRES 1@->DENCOM
|
||||
OUTPUT F_PROVRES 1@->PROVCOM
|
||||
OUTPUT F_COMRF 2@->DENCOM
|
||||
OUTPUT F_COMRF 2@->DENCOM
|
||||
OUTPUT F_PROVRF 2@->PROVCOM
|
||||
OUTPUT F_DOMFISC LF_ANAG->VARSLORES
|
||||
OUTPUT F_ANAGR LF_ANAGFIS->CODANAGR
|
||||
OUTPUT F_ANAGR LF_ANAGFIS->CODANAGR
|
||||
OUTPUT F_PTELRF LF_ANAG->PTELRF
|
||||
OUTPUT F_TELRF LF_ANAG->TELRF
|
||||
FIELD LF_BASE->RAPPR
|
||||
|
@ -313,7 +313,8 @@ NUMBER QA2F_CSSNINT 15
|
||||
BEGIN
|
||||
PROMPT 2 6 "18 Interessi "
|
||||
FIELD LF_QUAA2->INTER18
|
||||
PICTURE "."
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 3
|
||||
|
102
m770/771230.cpp
102
m770/771230.cpp
@ -35,20 +35,20 @@ class TQuadroC_E2 : public TRelation_application
|
||||
bool bInps;
|
||||
real inps;
|
||||
};
|
||||
righe_pag* _rig;
|
||||
TRelation* _rel;
|
||||
TMask* _msk[2];
|
||||
TSort* _sort;
|
||||
long _codanagr;
|
||||
char _tipoa, _tipoq;
|
||||
int _nproga;
|
||||
int _mode;
|
||||
int _anno_dic; // anno dichiarazione
|
||||
TLocalisamfile* _per, *_scper, *_rpag, *_qd;
|
||||
TTable* _ca7;
|
||||
TRiporti _rip;
|
||||
|
||||
int _file;
|
||||
righe_pag* _rig;
|
||||
TRelation* _rel;
|
||||
TMask* _msk[2];
|
||||
TSort* _sort;
|
||||
long _codanagr;
|
||||
char _tipoa, _tipoq;
|
||||
int _nproga;
|
||||
int _mode;
|
||||
int _anno_dic; // anno dichiarazione
|
||||
TLocalisamfile* _per, *_scper, *_rpag, *_qd;
|
||||
TTable* _ca7;
|
||||
TRiporti _rip;
|
||||
long _codditta;
|
||||
int _file;
|
||||
|
||||
private:
|
||||
static bool nprog_handler (TMask_field& f, KEY key);
|
||||
@ -249,7 +249,7 @@ bool TQuadroC_E2::codditta_hnd(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && !f.mask().is_running())
|
||||
{
|
||||
TString16 codditta; codditta << get_firm_770();
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
if (codditta != "0")
|
||||
{
|
||||
f.set(codditta);
|
||||
@ -377,7 +377,7 @@ bool TQuadroC_E2::generazione()
|
||||
int codcaus, nprog;
|
||||
TString16 qua;
|
||||
TDate datapag;
|
||||
real perc=ZERO,somme=ZERO,impo=ZERO,rite=ZERO,comp=ZERO,inps=ZERO;
|
||||
real perc=ZERO,spesa=ZERO,impo=ZERO,rite=ZERO,comp=ZERO,inps=ZERO;
|
||||
|
||||
for (; cur.pos() < nitems; ++cur)
|
||||
{
|
||||
@ -419,16 +419,16 @@ bool TQuadroC_E2::generazione()
|
||||
continue;
|
||||
//codtrib = cau.get_int("I0");
|
||||
perc = rpag.get_real(PAG_PERC);
|
||||
somme = rpag.get_real(PAG_SPESA);
|
||||
spesa = rpag.get_real(PAG_SPESA);
|
||||
rite = rpag.get_real(PAG_RITENUTA);
|
||||
impo = rpag.get_real(PAG_IMPONIBILE);
|
||||
comp = rpag.get_real(PAG_COMPENSO);
|
||||
inps = rpag.get_real(PAG_INPSPERC);
|
||||
|
||||
if (perc==ZERO && comp==ZERO && rite==ZERO && impo==ZERO
|
||||
&& somme==ZERO)
|
||||
&& spesa==ZERO)
|
||||
continue;
|
||||
riempi_record(tipoa,codan,codcaus,perc,somme,impo,rite,comp,acc_imp,inps,bContrInps);
|
||||
riempi_record(tipoa,codan,codcaus,perc,spesa,impo,rite,comp,acc_imp,inps,bContrInps);
|
||||
}
|
||||
rpag.readat(nrec);
|
||||
}
|
||||
@ -546,7 +546,7 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
int codcaus_p, codcaus, nprog;
|
||||
real tot_somme=ZERO,tot_impo=ZERO,tot_rite=ZERO,tot_comp=ZERO, rQCInps=ZERO;
|
||||
real rTotQCInps = ZERO;
|
||||
bool esiste_record = FALSE, acc_imp = FALSE;
|
||||
bool esiste_record=FALSE, bAssoggettateRacc=FALSE,bFattoProspetto=FALSE;
|
||||
struct righe_pag* rp;
|
||||
|
||||
keyp = key = "";
|
||||
@ -557,25 +557,26 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
{
|
||||
p.addstatus(1);
|
||||
esiste_record = TRUE;
|
||||
rp = (struct righe_pag*)buf;
|
||||
tipoa = rp->tipoa;
|
||||
codanag = atol(rp->codan);
|
||||
codcaus = atoi(rp->codcau);
|
||||
perc = rp->perc;
|
||||
acc_imp = rp->acim;
|
||||
rp = (struct righe_pag*)buf;
|
||||
tipoa = rp->tipoa;
|
||||
codanag = atol(rp->codan);
|
||||
codcaus = atoi(rp->codcau);
|
||||
perc = rp->perc;
|
||||
bAssoggettateRacc = rp->acim;
|
||||
// non frega un tubo bInps = rp->bInps; // se la riga aveva il contributo inps nella caus.
|
||||
rQCInps = rp->inps;
|
||||
|
||||
if (QuadroE1() && !acc_imp)
|
||||
if (QuadroE1() && !bAssoggettateRacc)
|
||||
{
|
||||
genera_prospetto(codcaus,rp->comp,rp->impo,rp->rite);
|
||||
esiste_record = FALSE;
|
||||
bFattoProspetto = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
key.format("%c%5ld%2d%s", tipoa, codanag, codcaus, (const char*)perc);
|
||||
if ( (key != keyp) && (keyp != "") )
|
||||
{
|
||||
bFattoProspetto = FALSE;
|
||||
qd.zero();
|
||||
qd.put("CODDITTA", (long)get_firm_770());
|
||||
qd.put("TIPOA", tipoa_p);
|
||||
@ -587,7 +588,7 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
if (QuadroC())
|
||||
qd.put("CONTSSN", rTotQCInps);
|
||||
|
||||
if (QuadroD() || QuadroC())
|
||||
if (QuadroD() || QuadroC() || QuadroE())
|
||||
qd.put("SOMME", tot_somme + tot_comp - tot_impo);
|
||||
else
|
||||
if (QuadroD1())
|
||||
@ -596,11 +597,8 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
qd.put("SPESEANT", tot_somme);
|
||||
}
|
||||
else
|
||||
if (QuadroE())
|
||||
qd.put("SOMME", tot_somme);
|
||||
else
|
||||
if (QuadroE1())
|
||||
qd.put("SOMME", tot_comp);
|
||||
if (QuadroE1())
|
||||
qd.put("SOMME", tot_comp);
|
||||
|
||||
if (QuadroE1())
|
||||
qd.put("AMMONTARE", tot_impo);
|
||||
@ -614,11 +612,9 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
|
||||
qd.put("PERC", perc_p);
|
||||
|
||||
// if (_tipoq != 'E' && _tipoq != '2')
|
||||
if (!QuadroE() && !QuadroE1())
|
||||
qd.put("TOTALE", tot_comp + tot_somme);
|
||||
|
||||
// if (_tipoq == '2')
|
||||
if (QuadroE1())
|
||||
qd.put("NETTO", tot_comp - tot_rite);
|
||||
else
|
||||
@ -627,11 +623,11 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
rTotQCInps = tot_impo = tot_somme = tot_rite = tot_comp = ZERO;
|
||||
}
|
||||
|
||||
tot_somme += rp->somme;
|
||||
tot_rite += rp->rite;
|
||||
tot_impo += rp->impo;
|
||||
tot_comp += rp->comp;
|
||||
rTotQCInps += rQCInps;
|
||||
tot_somme += rp->somme;
|
||||
tot_rite += rp->rite;
|
||||
tot_impo += rp->impo;
|
||||
tot_comp += rp->comp;
|
||||
rTotQCInps += rQCInps;
|
||||
|
||||
if (tipoa_p != tipoa || codanag != codanag_p)
|
||||
nprog = 1;
|
||||
@ -645,41 +641,32 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
}
|
||||
} // while (retrieve() != NULL)
|
||||
|
||||
if (esiste_record)
|
||||
if (esiste_record || bFattoProspetto)
|
||||
{
|
||||
qd.zero();
|
||||
qd.put("CODDITTA", (long)get_firm_770());
|
||||
qd.put("CODDITTA", (long)_codditta);
|
||||
qd.put("TIPOA", tipoa_p);
|
||||
qd.put("CODANAGR", (long)codanag_p);
|
||||
qd.put("CODCAUS", codcaus_p);
|
||||
qd.put("NPROG", nprog++);
|
||||
|
||||
// if (_tipoq == 'D' || _tipoq == 'C')
|
||||
if (QuadroD() || QuadroC())
|
||||
if (QuadroD() || QuadroC() || QuadroE())
|
||||
qd.put("SOMME", tot_somme + tot_comp - tot_impo);
|
||||
else
|
||||
// if (_tipoq == '1')
|
||||
if (QuadroD1())
|
||||
{
|
||||
qd.put("QUOTAPRO", tot_comp - tot_impo);
|
||||
qd.put("SPESEANT", tot_somme);
|
||||
}
|
||||
else
|
||||
// if (_tipoq == 'E')
|
||||
if (QuadroE())
|
||||
qd.put("SOMME", tot_somme);
|
||||
else
|
||||
// if (_tipoq == '2')
|
||||
if (QuadroE1())
|
||||
qd.put("SOMME", tot_comp);
|
||||
if (QuadroE1())
|
||||
qd.put("SOMME", tot_comp);
|
||||
|
||||
// if (_tipoq == '2')
|
||||
if (QuadroE1())
|
||||
qd.put("AMMONTARE", tot_impo);
|
||||
else
|
||||
qd.put("IMPONIBILE", tot_impo);
|
||||
|
||||
// if (_tipoq == 'C')
|
||||
if (QuadroC())
|
||||
qd.put("RITENUTE", tot_rite);
|
||||
else
|
||||
@ -691,12 +678,9 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
if (QuadroC())
|
||||
qd.put("CONTSSN", rTotQCInps);
|
||||
|
||||
|
||||
// if (_tipoq != 'E' && _tipoq != '2')
|
||||
if (!QuadroE() && !QuadroE1())
|
||||
qd.put("TOTALE", tot_comp + tot_somme);
|
||||
|
||||
// if (_tipoq == '2')
|
||||
if (QuadroE1())
|
||||
qd.put("NETTO", tot_comp - tot_rite);
|
||||
else
|
||||
@ -828,7 +812,7 @@ bool TQuadroC_E2::user_create()
|
||||
_rel = new TRelation(_file);
|
||||
_rpag = new TLocalisamfile(LF_RPAG);
|
||||
_ca7 = new TTable ("%CA7");
|
||||
|
||||
_codditta = get_firm_770();
|
||||
set_search_field(F_CODANAGRPERC);
|
||||
|
||||
_registra = FALSE;
|
||||
|
@ -214,8 +214,9 @@ BEGIN
|
||||
DISPLAY "C.T." B2
|
||||
DISPLAY "I.C." B1
|
||||
DISPLAY "R.A." B0
|
||||
OUTPUT F_CODCAU CODTAB
|
||||
OUTPUT F_DESCRCAUS S0
|
||||
OUTPUT F_CODCAU CODTAB
|
||||
OUTPUT F_DESCRCAUS S0
|
||||
OUTPUT F_ALI R0
|
||||
FLAGS "Z"
|
||||
WARNING "Manca la causale"
|
||||
CHECKTYPE NORMAL
|
||||
|
@ -68,6 +68,7 @@ class TQuadroI : public TRelation_application
|
||||
TMask * _msk;
|
||||
char _quadro;
|
||||
protected:
|
||||
static bool PDGcalcolaM6(TMask_field& f, KEY k);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
@ -209,6 +210,23 @@ int TQuadroI::read(TMask& m)
|
||||
return NOERR;
|
||||
}
|
||||
|
||||
bool TQuadroI::PDGcalcolaM6(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
real m3 = m.get_real(F_M3);
|
||||
real m4 = m.get_real(F_M4);
|
||||
real m5 = m.get_real(F_M5);
|
||||
real m6 = m3 - m4 - m5;
|
||||
if (m6 < ZERO)
|
||||
m6 = ZERO;
|
||||
TString m6s(m6.string());
|
||||
m.set(F_M6, m6s);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadroI::user_create()
|
||||
{
|
||||
switch (_quadro)
|
||||
@ -225,7 +243,10 @@ bool TQuadroI::user_create()
|
||||
break;
|
||||
case 'W':
|
||||
_msk = new TMask("771400a");
|
||||
_rel = new TRelation (LF_BASEBIS);
|
||||
_msk->set_handler(F_M3, PDGcalcolaM6);
|
||||
_msk->set_handler(F_M4, PDGcalcolaM6);
|
||||
_msk->set_handler(F_M5, PDGcalcolaM6);
|
||||
_rel = new TRelation (LF_BASEBIS);
|
||||
break;
|
||||
case '2':
|
||||
_msk = new TMask("771400b");
|
||||
|
@ -202,8 +202,16 @@
|
||||
#define F_QSUPPR 423
|
||||
#define F_QSUPPS 424
|
||||
#define F_QSUPPT 425
|
||||
|
||||
#define F_CRIMPDL357 307
|
||||
|
||||
|
||||
// P.dati generali
|
||||
#define F_M1 300
|
||||
#define F_M2 301
|
||||
#define F_M3 302
|
||||
#define F_M4 303
|
||||
#define F_M5 304
|
||||
#define F_M6 305
|
||||
|
||||
#define F_TIPOQUA1 430
|
||||
#define F_TIPOQUA2 431
|
||||
#define F_TIPOQUA 432
|
||||
|
@ -449,8 +449,9 @@ bool M71310_application::user_create()
|
||||
_msk->set_handler (F_QLMESEPAG, mese);
|
||||
_msk->set_handler (F_QLANNOPAG, anno);
|
||||
_msk->set_handler (F_QLCODTRIB, cod_tributo);
|
||||
_msk->set_handler (F_QLNUMERO, auto_premi);
|
||||
_msk->set_handler (F_NPROG, auto_premi);
|
||||
_msk->set_handler (F_QLNUMERO, auto_premi);
|
||||
_msk->set_handler (F_CCQUIETANZA, auto_premi);
|
||||
_msk->set_handler (F_NPROG, auto_premi);
|
||||
_msk->set_handler (F_ARTBIL, artbil_hnd);
|
||||
|
||||
return TRUE;
|
||||
|
@ -80,9 +80,10 @@ BEGIN
|
||||
OUTPUT F_ARTBIL QLAB
|
||||
OUTPUT F_QLSERIE QLSERIE
|
||||
OUTPUT F_ABI QLSERIE
|
||||
OUTPUT F_CAB QLNUMERO[1,5]
|
||||
OUTPUT F_NPROG QLNUMERO[6,11]
|
||||
OUTPUT F_QLNUMERO QLNUMERO
|
||||
OUTPUT F_CAB QLNUMERO[1,5]
|
||||
OUTPUT F_NPROG QLNUMERO[6,11]
|
||||
OUTPUT F_QLNUMERO QLNUMERO
|
||||
OUTPUT F_CCQUIETANZA QLNUMERO
|
||||
FIELD LF_QUAL->QLAP
|
||||
FLAGS "R"
|
||||
VALIDATE FIXLEN_FUNC 4
|
||||
@ -119,8 +120,8 @@ END
|
||||
LIST F_QLTIPOVERS 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "Tipo versamento "
|
||||
ITEM " |Nessuno"
|
||||
MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
|
||||
// ITEM " |Nessuno"
|
||||
// MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
|
||||
ITEM "B|Delega bancaria"
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
|
||||
ITEM "D|Distinta"
|
||||
|
@ -70,17 +70,17 @@ BEGIN
|
||||
PROMPT 0 4 "Dati relativi al conguaglio di fine anno effettuato dai datori di lavoro"
|
||||
END
|
||||
|
||||
NUMBER F_ER92C93 15
|
||||
NUMBER F_M1 15
|
||||
BEGIN
|
||||
PROMPT 1 5 "Eccedenza di ritenute di fine 1994 compensata nel 1995 "
|
||||
PROMPT 1 5 "M1 Eccedenza di ritenute di fine 1994 compensata nel 1995 "
|
||||
FIELD LF_BASEBIS->ECCRIT12
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_ER93C94 15
|
||||
NUMBER F_M2 15
|
||||
BEGIN
|
||||
PROMPT 1 6 "Eccedenza di ritenute di fine 1995 da compensare nel 1996 "
|
||||
PROMPT 1 6 "M2 Eccedenza di ritenute fine 1995 da compensare nel 1996 "
|
||||
FIELD LF_BASEBIS->ECCRIT23
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
@ -91,36 +91,40 @@ BEGIN
|
||||
PROMPT 0 8 "Prospetto riservato ai sostituti non tenuti a presentare la dichiarazione"
|
||||
END
|
||||
|
||||
NUMBER F_CRIMPDL357 15
|
||||
NUMBER F_M3 15
|
||||
BEGIN
|
||||
PROMPT 1 9 "Credito di imposta ex D.L.357/94 spettante "
|
||||
PROMPT 1 9 "M3 Credito di imposta ex D.L.357/94 spettante "
|
||||
FIELD LF_BASEBIS->CRIMPDL
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
// MESSAGE K_TAB,F_M6
|
||||
END
|
||||
|
||||
NUMBER F_CRIMPDL357 15
|
||||
NUMBER F_M4 15
|
||||
BEGIN
|
||||
PROMPT 1 10 "Credito di imposta utilizzato ai fini IVA "
|
||||
PROMPT 1 10 "M4 Credito di imposta utilizzato ai fini IVA "
|
||||
FIELD LF_BASEBIS->CRIMPIVA
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
FLAGS "R"
|
||||
// MESSAGE K_TAB,F_M6
|
||||
END
|
||||
|
||||
NUMBER F_CRIMPDL357 15
|
||||
NUMBER F_M5 15
|
||||
BEGIN
|
||||
PROMPT 1 11 "Credito di imposta utilizzato per versamento ritenute "
|
||||
PROMPT 1 11 "M5 Credito imposta utilizzato per versamento ritenute "
|
||||
FIELD LF_BASEBIS->CRIMPRIT
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
FLAGS "R"
|
||||
// MESSAGE K_TAB,F_M6
|
||||
END
|
||||
|
||||
NUMBER F_CRIMPDL357 15
|
||||
NUMBER F_M6 15
|
||||
BEGIN
|
||||
PROMPT 1 12 "Credito di imposta residuo "
|
||||
PROMPT 1 12 "M6 Credito di imposta residuo "
|
||||
FIELD LF_BASEBIS->CRIMPRES
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
FLAGS "D"
|
||||
// NUM_CALC {#F_M3-#F_M4-#F_M5}
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
116
m770/774200.cpp
116
m770/774200.cpp
@ -16,8 +16,6 @@
|
||||
//
|
||||
// 15.3.96 Allungata la stringa QCOMP per far spazio ai quadri A1-2-3
|
||||
//
|
||||
#include <math.h>
|
||||
|
||||
#include <applicat.h>
|
||||
#include <mask.h>
|
||||
#include <printapp.h>
|
||||
@ -27,9 +25,7 @@
|
||||
#include <utility.h>
|
||||
#include <config.h>
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "774200.h"
|
||||
|
||||
#include "quadroa.h"
|
||||
#include "quadroa3.h"
|
||||
#include "quadrob.h"
|
||||
@ -710,13 +706,14 @@ bool TRiporti::set(const TString& quadro, int anno, const long codditta, const l
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
const int NUM_DIP_A = 9;
|
||||
|
||||
void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
|
||||
{
|
||||
TLocalisamfile base (LF_BASE);
|
||||
real totale,somme,ritenute;
|
||||
bool almeno_una_riga = FALSE;
|
||||
double dipendenti;
|
||||
double num_rec;
|
||||
long dipendenti,num_rec;
|
||||
|
||||
real a0cobb,a0cnet,a0eprev,a0iitra,a0cter,a0timp,a0ilor,a0tdet,a0rter,a0rdat;
|
||||
real a0erit,a0carr,a0aarr,a0darr,a0rarr,a0cinps,a0ciiaut,a0crimpras;
|
||||
@ -798,10 +795,9 @@ void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
|
||||
}
|
||||
}
|
||||
|
||||
double app = num_rec / 9;
|
||||
double foglid = ceil(app);
|
||||
|
||||
long fogli = (long)foglid;
|
||||
long fogli = num_rec / NUM_DIP_A;
|
||||
if (num_rec % NUM_DIP_A)
|
||||
fogli++;
|
||||
|
||||
// base.setkey(2);
|
||||
base.zero();
|
||||
@ -843,54 +839,56 @@ void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
|
||||
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
|
||||
}
|
||||
|
||||
const int NUM_DIPENDENTI_MODULO_A3 = 35;
|
||||
|
||||
void TRiporti::calcola_riporti_A3(TCursor* cur, const long dich)
|
||||
{
|
||||
TLocalisamfile base (LF_BASE);
|
||||
bool almeno_una_riga = FALSE;
|
||||
double dipendenti;
|
||||
double num_rec;
|
||||
|
||||
real a3rept10,a3rept12;
|
||||
|
||||
a3rept10 = ZERO;
|
||||
a3rept12 = ZERO;
|
||||
|
||||
dipendenti = 0;
|
||||
num_rec = 0;
|
||||
bool almeno_una_riga = FALSE;
|
||||
long dipendenti=0L, num_rec=0L;
|
||||
real a3rept10=ZERO,a3rept12=ZERO;
|
||||
|
||||
(*cur) = 0L;
|
||||
|
||||
TRecnotype items = cur->items();
|
||||
TString scritta(60);
|
||||
|
||||
scritta.format("Calcolo riporti del quadro A3 per la ditta %ld", _codditta);
|
||||
|
||||
TProgind progn(items, scritta, FALSE, TRUE);
|
||||
|
||||
// fogli per l'elenco delle trasf.
|
||||
int iFogliTrasf=0;
|
||||
int iDipTrasf=0;
|
||||
|
||||
for (int i = 0; i < items; i++, ++(*cur))
|
||||
{
|
||||
progn.addstatus(1);
|
||||
const long coddip = cur->curr().get_long(QUA_CODIP);
|
||||
const long nprog = cur->curr().get_long(QUA_NPROG);
|
||||
|
||||
long coddip = cur->curr().get_long(QUA_CODIP);
|
||||
|
||||
if (!almeno_una_riga)
|
||||
almeno_una_riga = TRUE;
|
||||
|
||||
if ( (cur->curr().get_real(QA3_REDCOR16) == ZERO) && (cur->curr().get_real(QA3_REDCOR18) == ZERO))
|
||||
// Non conta quelli con redditto corrisposto = ZERO
|
||||
if ((cur->curr().get_real(QA3_REDCOR16) == ZERO) && (cur->curr().get_real(QA3_REDCOR18) == ZERO))
|
||||
continue;
|
||||
|
||||
|
||||
// nprog=2 se e' il record della trasformata. Conto i dip.con trasf. per
|
||||
// contare i fogli
|
||||
if (nprog == 2)
|
||||
iDipTrasf++;
|
||||
|
||||
dipendenti++;
|
||||
|
||||
a3rept10 += cur->curr().get_real(QA3_REDCOR16);
|
||||
a3rept12 += cur->curr().get_real(QA3_REDCOR18);
|
||||
}
|
||||
|
||||
double app = dipendenti / 35;
|
||||
double foglid = ceil(app);
|
||||
|
||||
long fogli = (long)foglid;
|
||||
|
||||
// base.setkey(2);
|
||||
long fogli = dipendenti / NUM_DIPENDENTI_MODULO_A3;
|
||||
if (dipendenti % NUM_DIPENDENTI_MODULO_A3)
|
||||
fogli++;
|
||||
iFogliTrasf = iDipTrasf / NUM_DIPENDENTI_MODULO_A3;
|
||||
if (iDipTrasf % NUM_DIPENDENTI_MODULO_A3)
|
||||
iFogliTrasf++;
|
||||
fogli += iFogliTrasf;
|
||||
|
||||
base.zero();
|
||||
if (dich)
|
||||
{
|
||||
@ -1013,14 +1011,14 @@ void TRiporti::calcola_riporti_H(TCursor* cur, const long dich)
|
||||
warning_box("Dichiarazione non presente. Impossibile registrare i riporti");
|
||||
}
|
||||
|
||||
const int NUM_PERC_C = 36;
|
||||
|
||||
void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
{
|
||||
TLocalisamfile base (LF_BASE);
|
||||
real totale,somme,ritenute,rTotCSSN;
|
||||
bool almeno_una_riga = FALSE;
|
||||
double percipienti;
|
||||
|
||||
percipienti = 0;
|
||||
long percipienti=0L;
|
||||
|
||||
totale = ZERO;
|
||||
somme = ZERO;
|
||||
@ -1061,10 +1059,9 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
progn.addstatus(1);
|
||||
}
|
||||
|
||||
double app = percipienti / 36;
|
||||
double foglid = ceil(app);
|
||||
|
||||
long fogli = (long)foglid;
|
||||
long fogli = percipienti / NUM_PERC_C;
|
||||
if (percipienti % NUM_PERC_C)
|
||||
fogli++;
|
||||
|
||||
// base.setkey(2);
|
||||
base.zero();
|
||||
@ -1083,7 +1080,7 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
base.put(BSE_C0ACTOT, totale);
|
||||
base.put(BSE_C0SNSRIT, somme);
|
||||
base.put(BSE_C0ROPE, ritenute);
|
||||
base.put(BSE_C0SNSRIT, rTotCSSN);
|
||||
base.put(BSE_C0CONTSSN, rTotCSSN);
|
||||
base.rewrite();
|
||||
base.reread(_unlock);
|
||||
setta_flag_quadri_comp(_codditta, C, almeno_una_riga, dich);
|
||||
@ -1549,6 +1546,21 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
|
||||
TString scritta(60);
|
||||
scritta.format("Calcolo riporti del quadro F per la ditta %ld", _codditta);
|
||||
|
||||
i20_4 = cur->curr().get_real(QF0_A1);
|
||||
i20_5 = cur->curr().get_real(QF0_A2);
|
||||
i20_6 = cur->curr().get_real(QF0_A3);
|
||||
i21_1 = cur->curr().get_real(QF0_A4);
|
||||
e_sogrit = cur->curr().get_real(QF0_ESOGRIT);
|
||||
f_sogrit = cur->curr().get_real(QF0_FSOGRIT);
|
||||
e_rope = cur->curr().get_real(QF0_EROPE);
|
||||
f_rope = cur->curr().get_real(QF0_FROPE);
|
||||
|
||||
// Per stabilire se il quadro e' stato compilato verifica anche i campi
|
||||
// fuori dagli spreadsheet
|
||||
almeno_una_riga = i20_4 != ZERO || i20_5 != ZERO || i20_6 != ZERO ||
|
||||
i21_1 != ZERO || e_sogrit != ZERO || f_sogrit != ZERO || e_rope != ZERO ||
|
||||
f_rope != ZERO;
|
||||
|
||||
rf = new TLocalisamfile(LF_RIGHEF);
|
||||
|
||||
TRectype dep(rf->curr());
|
||||
@ -1582,14 +1594,6 @@ void TRiporti::calcola_riporti_F(TCursor* cur, const long dich)
|
||||
i20_1 = a_sogrit;
|
||||
i20_2 = a_rope;
|
||||
i20_3 = a_totacc;
|
||||
i20_4 = cur->curr().get_real(QF0_A1);
|
||||
i20_5 = cur->curr().get_real(QF0_A2);
|
||||
i20_6 = cur->curr().get_real(QF0_A3);
|
||||
i21_1 = cur->curr().get_real(QF0_A4);
|
||||
e_sogrit = cur->curr().get_real(QF0_ESOGRIT);
|
||||
f_sogrit = cur->curr().get_real(QF0_FSOGRIT);
|
||||
e_rope = cur->curr().get_real(QF0_EROPE);
|
||||
f_rope = cur->curr().get_real(QF0_FROPE);
|
||||
|
||||
for (i = 1; i <= _prosp_b->last_row(); i++)
|
||||
{
|
||||
@ -1828,7 +1832,7 @@ void TRiporti::calcola_riporti_G(TCursor* cur, const long dich)
|
||||
real i24_1, i24_2, i24_3, i24_4, i24_5, i24_6;
|
||||
real i24_7, i24_8, i24_9, i24_10, i24_11, i24_12;
|
||||
real i24_13, i25_4;
|
||||
bool almeno_una_riga=FALSE, almeno_una_riga_distinta=FALSE;
|
||||
bool almeno_una_riga=FALSE, almeno_una_riga_distinta=FALSE,almeno_una_riga_prospetti=FALSE;
|
||||
long fogli_comp = 0L, percipienti=0L;
|
||||
TRelation* relp;
|
||||
TCursor* curp;
|
||||
@ -1852,7 +1856,8 @@ void TRiporti::calcola_riporti_G(TCursor* cur, const long dich)
|
||||
i24_7 = cur->curr().get_real(QG_P35TOT);
|
||||
i24_8 = cur->curr().get_real(QG_P36TOT);
|
||||
i24_9 = cur->curr().get_real(QG_P37TOT);
|
||||
almeno_una_riga = i24_2 != ZERO || i24_3 != ZERO || i24_4 != ZERO
|
||||
almeno_una_riga_prospetti = i24_2 != ZERO || i24_3 != ZERO
|
||||
|| i24_4 != ZERO
|
||||
|| i24_5 != ZERO || i24_6 != ZERO || i24_7 != ZERO
|
||||
|| i24_8 != ZERO || i24_9 != ZERO;
|
||||
|
||||
@ -1898,9 +1903,12 @@ void TRiporti::calcola_riporti_G(TCursor* cur, const long dich)
|
||||
}
|
||||
|
||||
// E' compilato se c'e' qualcosa nel G o nella distinta fax 15.7.96 p.1
|
||||
almeno_una_riga = almeno_una_riga || almeno_una_riga_distinta;
|
||||
almeno_una_riga = almeno_una_riga_prospetti || almeno_una_riga_distinta;
|
||||
|
||||
fogli_comp = fogli_compilati(fisiche,no_fisiche,QGD_FISICHE_PER_FOGLIO,QGD_NOFISICHE_PER_FOGLIO);
|
||||
// Considera un foglio in piu' per la parte del G (prospetti 1-2-3-4)
|
||||
if (almeno_una_riga_prospetti)
|
||||
fogli_comp++;
|
||||
|
||||
basebis.setkey(1);
|
||||
basebis.zero();
|
||||
|
@ -12,7 +12,7 @@ bool filter_func (const TRelation *);
|
||||
|
||||
enum {A,A1,A2,A3,B,B1,C,D,D1,E,E1,E2,F,F1,F2,G,G1,H,I,N,P,Q,R,S,T};
|
||||
|
||||
const int CAMPI_IB1 = 60;
|
||||
const int CAMPI_IB1 = 61;
|
||||
const int CAMPI_IB2 = 50;
|
||||
const int CAMPI_A = 53;
|
||||
|
||||
@ -23,7 +23,7 @@ HIDDEN const char* _campi_I1[CAMPI_IB1] = { BSE_A0NFCOM,BSE_A0NLDIP,BSE_A0COBB,B
|
||||
BSE_A0NACAAF,BSE_B0NFCOM,BSE_B0NLDIP,BSE_B0TFR93,BSE_B0AI,BSE_B0COLAV,
|
||||
BSE_B0TFR7492,BSE_B0AI7492,BSE_B0RITSI,BSE_B0IMP,BSE_B0TIMP,BSE_B0ROP,
|
||||
BSE_B0AIINPS,BSE_B0ROPESA,BSE_B0CIIAUT,BSE_B1NFCOM,BSE_B1NPER,BSE_B1TIND,
|
||||
BSE_B1TIRM,BSE_B1TICOM,BSE_C0NFCOM,BSE_C0NLASS,BSE_C0ACTOT,BSE_C0SNSRIT,
|
||||
BSE_B1TIRM,BSE_B1TICOM,BSE_C0NFCOM,BSE_C0NLASS,BSE_C0ACTOT,BSE_C0CONTSSN,BSE_C0SNSRIT,
|
||||
BSE_C0ROPE,BSE_C0CIIAUT,BSE_D0NFCOM,BSE_D0NLAUT,BSE_D0ACTOT,BSE_D0SNSRIT,
|
||||
BSE_D0ROPE,BSE_D0CIIAUT,BSE_D1NFCOM,BSE_D1NPER,BSE_D1TACOR,BSE_D1SNSRIT,
|
||||
BSE_D1ROPE};
|
||||
|
636
m770/77base1.frm
Executable file
636
m770/77base1.frm
Executable file
@ -0,0 +1,636 @@
|
||||
USE 36
|
||||
JOIN 37 TO 36 INTO TIPOQUA=TIPOQUA CODDITTA=CODDITTA
|
||||
JOIN 9 TO 36 INTO CODDITTA=CODDITTA
|
||||
JOIN 6 TO 9 ALIAS 116 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||
JOIN 8 TO 6 ALIAS 118 INTO CODANAGR=CODANAGR
|
||||
JOIN 13 TO 8 ALIAS 113 INTO COM=COMNASC
|
||||
JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
|
||||
JOIN 6 TO 36 ALIAS 216 INTO CODANAGR=RAPPR
|
||||
JOIN 13 TO 216@ ALIAS 313 INTO COM=COMNASC
|
||||
JOIN 13 TO 216@ ALIAS 413 INTO COM=COMRF(COMRES)
|
||||
END
|
||||
|
||||
DESCRIPTION
|
||||
BEGIN
|
||||
36->* "Base 770"
|
||||
37->* "Basebis 770"
|
||||
9->* "Ditte"
|
||||
6->* "LF_ANAG Anagrafica persone fisiche e giuridiche"
|
||||
8->* "Anagrafica persone fisiche"
|
||||
116@->* "Comuni"
|
||||
118@->* "Comuni"
|
||||
END
|
||||
|
||||
GENERAL
|
||||
BEGIN
|
||||
OFFSET 0 0
|
||||
FONT "Courier 17cpi"
|
||||
SIZE 10
|
||||
CA "X"
|
||||
IN 3 2
|
||||
FI 131
|
||||
END
|
||||
|
||||
SECTION BODY FIRST 73
|
||||
|
||||
LISTA 1
|
||||
BEGIN
|
||||
KEY "Tipo anagrafica: ABILITA PERSONE FISICHE/ALTRI SOGGETTI"
|
||||
FIELD 9->TIPOA
|
||||
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRINGA 2
|
||||
BEGIN
|
||||
KEY "GRUPPO 1 - PERSONE FISICHE - CODICE FISCALE"
|
||||
PROMPT 22 13 ""
|
||||
FIELD 116@->COFI
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 3
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 90 13 ""
|
||||
ITEM "1|X"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
FIELD 36->RSS
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 4
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 98 13 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|X"
|
||||
ITEM "3|"
|
||||
FIELD 36->RSS
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 5
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 107 13 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|X"
|
||||
FIELD 36->RSS
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 6
|
||||
BEGIN
|
||||
KEY "CODICE ATTIVITA"
|
||||
PROMPT 119 13 ""
|
||||
FIELD 9->CODATTPREV
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 7
|
||||
BEGIN
|
||||
KEY "COGNOME"
|
||||
PROMPT 22 15 ""
|
||||
FIELD 116@->RAGSOC[1,30]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 8
|
||||
BEGIN
|
||||
KEY "NOME"
|
||||
PROMPT 80 15 ""
|
||||
FIELD 116@->RAGSOC[31,50]
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 9
|
||||
BEGIN
|
||||
KEY "SESSO M"
|
||||
PROMPT 119 15 ""
|
||||
ITEM "M|X"
|
||||
ITEM "F|"
|
||||
FIELD 118@->SESSO
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTA 10
|
||||
BEGIN
|
||||
KEY "SESSO F"
|
||||
PROMPT 127 15 ""
|
||||
ITEM "M|"
|
||||
ITEM "F|X"
|
||||
FIELD 118@->SESSO
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 11
|
||||
BEGIN
|
||||
KEY "DATA DI NASCITA"
|
||||
PROMPT 22 17 ""
|
||||
FIELD 118@->DATANASC
|
||||
FORMAT "1444-"
|
||||
PICTURE "## ^ ##^^^^^"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 12
|
||||
BEGIN
|
||||
KEY "COMUNE DI NASCITA"
|
||||
PROMPT 44 17 ""
|
||||
FIELD 113@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 13
|
||||
BEGIN
|
||||
KEY "PROV. DI NASCITA"
|
||||
PROMPT 100 17 ""
|
||||
FIELD 113@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 14
|
||||
BEGIN
|
||||
KEY "EVENTI ECCEZIONALI"
|
||||
PROMPT 127 17 ""
|
||||
FIELD 116@->EVECC
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 15
|
||||
BEGIN
|
||||
KEY "COMUNE DI RES.FISCALE"
|
||||
PROMPT 41 19 ""
|
||||
FIELD 213@->DENCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 16
|
||||
BEGIN
|
||||
KEY "PROV DI RES.FISCALE"
|
||||
PROMPT 100 19 ""
|
||||
FIELD 213@->PROVCOM
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 17
|
||||
BEGIN
|
||||
KEY "CAP"
|
||||
PROMPT 119 19 ""
|
||||
FIELD 116@->CAPRF
|
||||
FIELD 116@->CAPRES
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 18
|
||||
BEGIN
|
||||
KEY "VIA di RES."
|
||||
PROMPT 41 21 ""
|
||||
FIELD 116@->INDRF
|
||||
FIELD 116@->INDRES
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 19
|
||||
BEGIN
|
||||
KEY "NUM. CIVICO di RES."
|
||||
PROMPT 102 13 ""
|
||||
FIELD 116@->CIVRF
|
||||
FIELD 116@->CIVRES
|
||||
FLAGS "H"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRINGA 20
|
||||
BEGIN
|
||||
KEY "TELEFONO - PREFISSO"
|
||||
PROMPT 100 21 ""
|
||||
FIELD 116@->PTELRF
|
||||
END
|
||||
|
||||
STRINGA 21
|
||||
BEGIN
|
||||
KEY "TELEFONO - NUMERO"
|
||||
PROMPT 112 21 ""
|
||||
FIELD 116@->TELRF
|
||||
END
|
||||
|
||||
STRINGA 22
|
||||
BEGIN
|
||||
KEY "GRUPPO 2 - ALTRI SOGGETTI - CODICE FISCALE"
|
||||
PROMPT 22 23 ""
|
||||
FIELD 116@->COFI
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTA 23
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 90 23 ""
|
||||
ITEM "1|X"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
FIELD 36->RSS
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTA 24
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 98 23 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|X"
|
||||
ITEM "3|"
|
||||
FIELD 36->RSS
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTA 25
|
||||
BEGIN
|
||||
KEY "REG.A.STATUTO.SPECIALE VA - SA -SI"
|
||||
PROMPT 107 23 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|X"
|
||||
FIELD 36->RSS
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 26
|
||||
BEGIN
|
||||
KEY "CODICE ATTIVITA"
|
||||
PROMPT 119 23 ""
|
||||
FIELD 9->CODATTPREV
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 27
|
||||
BEGIN
|
||||
KEY "RAGIONE SOCIALE"
|
||||
PROMPT 22 25 ""
|
||||
FIELD 116@->RAGSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 28
|
||||
BEGIN
|
||||
KEY "EVENTI ECCEZIONALI"
|
||||
PROMPT 127 25 ""
|
||||
FIELD 116@->EVECC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 29
|
||||
BEGIN
|
||||
KEY "FLAG SEDE LEGALE"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 30
|
||||
BEGIN
|
||||
KEY "COMUNE SEDE LEGALE "
|
||||
PROMPT 39 27 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 31
|
||||
BEGIN
|
||||
KEY "PROV. SEDE LEGALE"
|
||||
PROMPT 119 27 ""
|
||||
FIELD 413@->PROVCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 32
|
||||
BEGIN
|
||||
KEY "VIA SEDE LEGALE"
|
||||
PROMPT 39 27 ""
|
||||
FIELD 216@->INDRES[1,18]
|
||||
FLAGS "H"
|
||||
MESSAGE COPY,12|COPY,107
|
||||
END
|
||||
|
||||
STRING 33
|
||||
BEGIN
|
||||
KEY "NUM.CIV"
|
||||
PROMPT 93 4 ""
|
||||
FLAGS "H"
|
||||
FIELD 216@->CIVRES
|
||||
MESSAGE APPEND,12|APPEND,107
|
||||
END
|
||||
|
||||
STRING 34
|
||||
BEGIN
|
||||
KEY "VIA SEDE LEGALE"
|
||||
PROMPT 39 27 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 35
|
||||
BEGIN
|
||||
KEY "CAP"
|
||||
PROMPT 119 27 ""
|
||||
FIELD 116@->CAPRF
|
||||
FIELD 116@->CAPRES
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 36
|
||||
BEGIN
|
||||
KEY "COMUNE DI RESIDENZA FISCALE"
|
||||
PROMPT 39 29 ""
|
||||
FIELD 413@->DENCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 37
|
||||
BEGIN
|
||||
KEY "PROV. RESIDENZA FISCALE"
|
||||
PROMPT 119 29 ""
|
||||
FIELD 413@->PROVCOM
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING 38
|
||||
BEGIN
|
||||
KEY "VIA RESIDENZA FISCALE"
|
||||
PROMPT 39 29 ""
|
||||
FIELD 216@->INDRES[1,18]
|
||||
FLAGS "H"
|
||||
MESSAGE COPY,12|COPY,107
|
||||
END
|
||||
|
||||
STRING 39
|
||||
BEGIN
|
||||
KEY "NUM.CIV"
|
||||
PROMPT 93 4 ""
|
||||
FLAGS "H"
|
||||
FIELD 216@->CIVRES
|
||||
MESSAGE APPEND,12|APPEND,107
|
||||
END
|
||||
|
||||
STRING 40
|
||||
BEGIN
|
||||
KEY "VIA RES FISCALE"
|
||||
PROMPT 39 29 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 41
|
||||
BEGIN
|
||||
KEY "CAP"
|
||||
PROMPT 119 29 ""
|
||||
FIELD 116@->CAPRF
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 42
|
||||
BEGIN
|
||||
KEY "DATA APP.BILANCIO gg-mm-aaa"
|
||||
PROMPT 29 31 ""
|
||||
FORMAT "1444-"
|
||||
PICTURE "## ^ ##^^^^^"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 43
|
||||
BEGIN
|
||||
KEY "Termine per APP.BILANCIO gg-mm-aaa"
|
||||
PROMPT 88 31 ""
|
||||
FORMAT "1444-"
|
||||
PICTURE "## ^ ##^^^^^"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 48
|
||||
BEGIN
|
||||
KEY "STATO"
|
||||
PROMPT 29 33 ""
|
||||
FIELD 118@->STATOSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 49
|
||||
BEGIN
|
||||
KEY "NAT.GIURIDICA"
|
||||
PROMPT 49 33 ""
|
||||
FIELD 118@->NATGIU
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 50
|
||||
BEGIN
|
||||
KEY "SITUAZIONE"
|
||||
PROMPT 73 33 ""
|
||||
FIELD 118@->SITSOC
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 51
|
||||
BEGIN
|
||||
KEY "TELEFONO - PREF"
|
||||
PROMPT 99 33 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRINGA 52
|
||||
BEGIN
|
||||
KEY "TELEFONO - NUMERO"
|
||||
PROMPT 110 33 ""
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
NUMBER 53
|
||||
BEGIN
|
||||
KEY "NUMERO ESTINTI"
|
||||
PROMPT 66 35 ""
|
||||
END
|
||||
|
||||
STRINGA 54
|
||||
BEGIN
|
||||
KEY "Dati RAPP. - COFI"
|
||||
PROMPT 22 37 ""
|
||||
FIELD 216@->COFI
|
||||
END
|
||||
|
||||
LISTA 55
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 1"
|
||||
PROMPT 85 37 ""
|
||||
ITEM "1|X"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
ITEM "4|"
|
||||
ITEM "5|"
|
||||
ITEM "6|"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
LISTA 56
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 2"
|
||||
PROMPT 94 37 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|X"
|
||||
ITEM "3|"
|
||||
ITEM "4|"
|
||||
ITEM "5|"
|
||||
ITEM "6|"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
LISTA 57
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 3"
|
||||
PROMPT 102 37 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|X"
|
||||
ITEM "4|"
|
||||
ITEM "5|"
|
||||
ITEM "6|"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
LISTA 58
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 4"
|
||||
PROMPT 110 37 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
ITEM "4|X"
|
||||
ITEM "5|"
|
||||
ITEM "6|"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
LISTA 59
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 5"
|
||||
PROMPT 119 37 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
ITEM "4|"
|
||||
ITEM "5|X"
|
||||
ITEM "6|"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
LISTA 60
|
||||
BEGIN
|
||||
KEY "CODICE CARICA 6"
|
||||
PROMPT 127 37 ""
|
||||
ITEM "1|"
|
||||
ITEM "2|"
|
||||
ITEM "3|"
|
||||
ITEM "4|"
|
||||
ITEM "5|"
|
||||
ITEM "6|X"
|
||||
FIELD 36->CARRAPP
|
||||
END
|
||||
|
||||
STRINGA 61
|
||||
BEGIN
|
||||
KEY "RAPP.COGNOME"
|
||||
PROMPT 22 39 ""
|
||||
FIELD 216@->RAGSOC[1,30]
|
||||
END
|
||||
|
||||
STRINGA 62
|
||||
BEGIN
|
||||
KEY "RAPP.NOME"
|
||||
PROMPT 80 39 ""
|
||||
FIELD 216@->RAGSOC[31,50]
|
||||
END
|
||||
|
||||
LISTA 63
|
||||
BEGIN
|
||||
KEY "RAPP.SESSO"
|
||||
PROMPT 119 39 ""
|
||||
ITEM "M|X"
|
||||
ITEM "F|"
|
||||
ITEM "|"
|
||||
FIELD 216@->SESSO
|
||||
END
|
||||
|
||||
LISTA 64
|
||||
BEGIN
|
||||
KEY "RAPP.SESSO"
|
||||
PROMPT 127 39 ""
|
||||
ITEM "M|"
|
||||
ITEM "F|X"
|
||||
ITEM "|"
|
||||
FIELD 216@->SESSO
|
||||
END
|
||||
|
||||
STRINGA 65
|
||||
BEGIN
|
||||
KEY "RAPP.DATANAGG"
|
||||
PROMPT 22 41 ""
|
||||
FORMAT "1444-"
|
||||
PICTURE "## ^ ##^^^^^"
|
||||
FIELD 216@->DATANASC
|
||||
END
|
||||
|
||||
STRINGA 68
|
||||
BEGIN
|
||||
KEY "COMUNE NA"
|
||||
PROMPT 46 41 ""
|
||||
FIELD 313@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 69
|
||||
BEGIN
|
||||
KEY "PROV NA"
|
||||
PROMPT 119 41 ""
|
||||
FIELD 313@->PROVCOM
|
||||
END
|
||||
|
||||
STRINGA 70
|
||||
BEGIN
|
||||
KEY "COMUNE RES"
|
||||
PROMPT 41 43 ""
|
||||
FIELD 413@->DENCOM
|
||||
END
|
||||
|
||||
STRINGA 71
|
||||
BEGIN
|
||||
KEY "PROV RES"
|
||||
PROMPT 99 43 ""
|
||||
FIELD 413@->PROVCOM
|
||||
END
|
||||
|
||||
STRINGA 72
|
||||
BEGIN
|
||||
KEY "CAP RES"
|
||||
PROMPT 119 43 ""
|
||||
FIELD 413@->CAPRF
|
||||
FIELD 413@->CAPRES
|
||||
END
|
||||
|
||||
STRINGA 73
|
||||
BEGIN
|
||||
KEY "IND RES"
|
||||
PROMPT 41 45 ""
|
||||
FIELD 413@->INDRF
|
||||
FIELD 413@->INDRES
|
||||
END
|
||||
|
||||
STRINGA 74
|
||||
BEGIN
|
||||
KEY "TELEFONO PREFISSO"
|
||||
PROMPT 99 45 ""
|
||||
FIELD 216@->PTELRF
|
||||
END
|
||||
|
||||
STRINGA 75
|
||||
BEGIN
|
||||
KEY "TELEFONO NUMERO"
|
||||
PROMPT 111 45 ""
|
||||
FIELD 216@->TELRF
|
||||
END
|
||||
|
||||
END
|
||||
|
@ -338,7 +338,7 @@ class TVersamento_stampa : public TVersamento
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
typedef enum { nessuno=0, fattura=1, pagamento=3, versamento=4,
|
||||
ritenuta=6, pagamento_piu_perc=7 } TTipo_coll;
|
||||
occasionale=6, pagamento_piu_perc=7 } TTipo_coll;
|
||||
|
||||
struct TLink770
|
||||
{
|
||||
|
@ -55,6 +55,7 @@
|
||||
#define RICERCA_DIP 4
|
||||
#define RICERCA_QB 5
|
||||
#define GROUP_ALL 6
|
||||
#define G_DISABILI 7
|
||||
|
||||
#define QBG_ANADIP 1
|
||||
#define QBG_QUADROB 2
|
||||
|
@ -182,25 +182,9 @@ BEGIN
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_UTPAG 15
|
||||
BEGIN
|
||||
PROMPT 2 14 "Utili pagati "
|
||||
FIELD LF_QUAGD->UTPAG
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_ROPE 15
|
||||
BEGIN
|
||||
PROMPT 40 14 "Rit. utili pagati "
|
||||
FIELD LF_QUAGD->ROPE
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_UTSPETT 15
|
||||
BEGIN
|
||||
PROMPT 2 16 "Utili spettanti "
|
||||
PROMPT 2 14 "Utili spettanti "
|
||||
FIELD LF_QUAGD->UTSPETT
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
@ -208,12 +192,28 @@ END
|
||||
|
||||
NUMBER F_ROPESPET 15
|
||||
BEGIN
|
||||
PROMPT 40 16 "Rit.ut. spettanti "
|
||||
PROMPT 40 14 "Rit.ut. spettanti "
|
||||
FIELD LF_QUAGD->ROPESPET
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_UTPAG 15
|
||||
BEGIN
|
||||
PROMPT 2 16 "Utili pagati "
|
||||
FIELD LF_QUAGD->UTPAG
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_ROPE 15
|
||||
BEGIN
|
||||
PROMPT 40 16 "Rit. utili pagati "
|
||||
FIELD LF_QUAGD->ROPE
|
||||
PICTURE "."
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
207
m770/base.h
207
m770/base.h
@ -1,103 +1,104 @@
|
||||
// Mod.770 - Archivio BASE
|
||||
|
||||
#define BSE_CODDITTA "CODDITTA"
|
||||
#define BSE_CODDIC "CODDIC"
|
||||
#define BSE_TIPOQUA "TIPOQUA"
|
||||
#define BSE_CODDATLAV "CODDATLAV"
|
||||
#define BSE_ANNODIC "ANNODIC"
|
||||
#define BSE_ER92C93 "ER92C93"
|
||||
#define BSE_ER93C94 "ER93C94"
|
||||
#define BSE_NATTVER "NATTVER"
|
||||
#define BSE_EVNATTEC "EVNATTEC"
|
||||
#define BSE_CODCAAF "CODCAAF"
|
||||
#define BSE_CODPRO "CODPRO"
|
||||
#define BSE_N73093ALL "N73093ALL"
|
||||
#define BSE_SERIE "SERIE"
|
||||
#define BSE_DATAVERS "DATAVERS"
|
||||
#define BSE_NUMERO "NUMERO"
|
||||
#define BSE_A0NFCOM "A0NFCOM"
|
||||
#define BSE_A0NLDIP "A0NLDIP"
|
||||
#define BSE_A0COBB "A0COBB"
|
||||
#define BSE_A0CNET "A0CNET"
|
||||
#define BSE_A0EPREV "A0EPREV"
|
||||
#define BSE_A0IITRA "A0IITRA"
|
||||
#define BSE_A0CTER "A0CTER"
|
||||
#define BSE_A0TIMP "A0TIMP"
|
||||
#define BSE_A0ILOR "A0ILOR"
|
||||
#define BSE_A0TDET "A0TDET"
|
||||
#define BSE_A0RTER "A0RTER"
|
||||
#define BSE_A0RDAT "A0RDAT"
|
||||
#define BSE_A0ERIT "A0ERIT"
|
||||
#define BSE_A0CARR "A0CARR"
|
||||
#define BSE_A0AARR "A0AARR"
|
||||
#define BSE_A0DARR "A0DARR"
|
||||
#define BSE_A0RARR "A0RARR"
|
||||
#define BSE_A0RITSI "A0RITSI"
|
||||
#define BSE_A0CINPS "A0CINPS"
|
||||
#define BSE_A0RITOPEVA "A0RITOPEVA"
|
||||
#define BSE_A0RITOPESA "A0RITOPESA"
|
||||
#define BSE_A0CIIAUT "A0CIIAUT"
|
||||
#define BSE_A0NADLAV "A0NADLAV"
|
||||
#define BSE_A0NACAAF "A0NACAAF"
|
||||
#define BSE_A0CRIMPRAS "A0CRIMPRAS"
|
||||
#define BSE_A3NFCOM "A3NFCOM"
|
||||
#define BSE_A3NUMPER "A3NUMPER"
|
||||
#define BSE_A3REPT10 "A3REPT10"
|
||||
#define BSE_A3REPT12 "A3REPT12"
|
||||
#define BSE_B0NFCOM "B0NFCOM"
|
||||
#define BSE_B0NLDIP "B0NLDIP"
|
||||
#define BSE_B0TFR93 "B0TFR93"
|
||||
#define BSE_B0AI "B0AI"
|
||||
#define BSE_B0COLAV "B0COLAV"
|
||||
#define BSE_B0TFR7492 "B0TFR7492"
|
||||
#define BSE_B0AI7492 "B0AI7492"
|
||||
#define BSE_B0RITSI "B0RITSI"
|
||||
#define BSE_B0IMP "B0IMP"
|
||||
#define BSE_B0TIMP "B0TIMP"
|
||||
#define BSE_B0ROP "B0ROP"
|
||||
#define BSE_B0AIINPS "B0AIINPS"
|
||||
#define BSE_B0ROPESA "B0ROPESA"
|
||||
#define BSE_B0CIIAUT "B0CIIAUT"
|
||||
#define BSE_B1NFCOM "B1NFCOM"
|
||||
#define BSE_B1NPER "B1NPER"
|
||||
#define BSE_B1TIND "B1TIND"
|
||||
#define BSE_B1TIRM "B1TIRM"
|
||||
#define BSE_B1TICOM "B1TICOM"
|
||||
#define BSE_C0NFCOM "C0NFCOM"
|
||||
#define BSE_C0NLASS "C0NLASS"
|
||||
#define BSE_C0ACTOT "C0ACTOT"
|
||||
#define BSE_C0SNSRIT "C0SNSRIT"
|
||||
#define BSE_C0ROPE "C0ROPE"
|
||||
#define BSE_C0CIIAUT "C0CIIAUT"
|
||||
#define BSE_D0NFCOM "D0NFCOM"
|
||||
#define BSE_D0NLAUT "D0NLAUT"
|
||||
#define BSE_D0ACTOT "D0ACTOT"
|
||||
#define BSE_D0SNSRIT "D0SNSRIT"
|
||||
#define BSE_D0ROPE "D0ROPE"
|
||||
#define BSE_D0CIIAUT "D0CIIAUT"
|
||||
#define BSE_D1NFCOM "D1NFCOM"
|
||||
#define BSE_D1NPER "D1NPER"
|
||||
#define BSE_D1TACOR "D1TACOR"
|
||||
#define BSE_D1SNSRIT "D1SNSRIT"
|
||||
#define BSE_D1ROPE "D1ROPE"
|
||||
#define BSE_QCOMP "QCOMP"
|
||||
#define BSE_QSUPPINV "QSUPPINV"
|
||||
#define BSE_NSUPPM "NSUPPM"
|
||||
#define BSE_LUOVERS "LUOVERS"
|
||||
#define BSE_TIPOVERS "TIPOVERS"
|
||||
#define BSE_RSS "RSS"
|
||||
#define BSE_FLART4 "FLART4"
|
||||
#define BSE_QSUPPRIC "QSUPPRIC"
|
||||
#define BSE_DITTACAAF "DITTACAAF"
|
||||
|
||||
#define I8_1 "B0NFCOM"
|
||||
#define I8_2 "B0NLDIP"
|
||||
#define I8_3 "B0TFR93"
|
||||
#define I8_4 "B0AI"
|
||||
#define I8_5 "B0COLAV"
|
||||
#define I8_6 "B0TFR7492"
|
||||
#define I9_7 "B0AI7492"
|
||||
#define I9_8 "B0IMP"
|
||||
#define I9_9 "B0TIMP"
|
||||
#define I9_10 "B0ROP"
|
||||
|
||||
// Mod.770 - Archivio BASE
|
||||
|
||||
#define BSE_CODDITTA "CODDITTA"
|
||||
#define BSE_CODDIC "CODDIC"
|
||||
#define BSE_TIPOQUA "TIPOQUA"
|
||||
#define BSE_CODDATLAV "CODDATLAV"
|
||||
#define BSE_ANNODIC "ANNODIC"
|
||||
#define BSE_ER92C93 "ER92C93"
|
||||
#define BSE_ER93C94 "ER93C94"
|
||||
#define BSE_NATTVER "NATTVER"
|
||||
#define BSE_EVNATTEC "EVNATTEC"
|
||||
#define BSE_CODCAAF "CODCAAF"
|
||||
#define BSE_CODPRO "CODPRO"
|
||||
#define BSE_N73093ALL "N73093ALL"
|
||||
#define BSE_SERIE "SERIE"
|
||||
#define BSE_DATAVERS "DATAVERS"
|
||||
#define BSE_NUMERO "NUMERO"
|
||||
#define BSE_A0NFCOM "A0NFCOM"
|
||||
#define BSE_A0NLDIP "A0NLDIP"
|
||||
#define BSE_A0COBB "A0COBB"
|
||||
#define BSE_A0CNET "A0CNET"
|
||||
#define BSE_A0EPREV "A0EPREV"
|
||||
#define BSE_A0IITRA "A0IITRA"
|
||||
#define BSE_A0CTER "A0CTER"
|
||||
#define BSE_A0TIMP "A0TIMP"
|
||||
#define BSE_A0ILOR "A0ILOR"
|
||||
#define BSE_A0TDET "A0TDET"
|
||||
#define BSE_A0RTER "A0RTER"
|
||||
#define BSE_A0RDAT "A0RDAT"
|
||||
#define BSE_A0ERIT "A0ERIT"
|
||||
#define BSE_A0CARR "A0CARR"
|
||||
#define BSE_A0AARR "A0AARR"
|
||||
#define BSE_A0DARR "A0DARR"
|
||||
#define BSE_A0RARR "A0RARR"
|
||||
#define BSE_A0RITSI "A0RITSI"
|
||||
#define BSE_A0CINPS "A0CINPS"
|
||||
#define BSE_A0RITOPEVA "A0RITOPEVA"
|
||||
#define BSE_A0RITOPESA "A0RITOPESA"
|
||||
#define BSE_A0CIIAUT "A0CIIAUT"
|
||||
#define BSE_A0NADLAV "A0NADLAV"
|
||||
#define BSE_A0NACAAF "A0NACAAF"
|
||||
#define BSE_A0CRIMPRAS "A0CRIMPRAS"
|
||||
#define BSE_A3NFCOM "A3NFCOM"
|
||||
#define BSE_A3NUMPER "A3NUMPER"
|
||||
#define BSE_A3REPT10 "A3REPT10"
|
||||
#define BSE_A3REPT12 "A3REPT12"
|
||||
#define BSE_B0NFCOM "B0NFCOM"
|
||||
#define BSE_B0NLDIP "B0NLDIP"
|
||||
#define BSE_B0TFR93 "B0TFR93"
|
||||
#define BSE_B0AI "B0AI"
|
||||
#define BSE_B0COLAV "B0COLAV"
|
||||
#define BSE_B0TFR7492 "B0TFR7492"
|
||||
#define BSE_B0AI7492 "B0AI7492"
|
||||
#define BSE_B0RITSI "B0RITSI"
|
||||
#define BSE_B0IMP "B0IMP"
|
||||
#define BSE_B0TIMP "B0TIMP"
|
||||
#define BSE_B0ROP "B0ROP"
|
||||
#define BSE_B0AIINPS "B0AIINPS"
|
||||
#define BSE_B0ROPESA "B0ROPESA"
|
||||
#define BSE_B0CIIAUT "B0CIIAUT"
|
||||
#define BSE_B1NFCOM "B1NFCOM"
|
||||
#define BSE_B1NPER "B1NPER"
|
||||
#define BSE_B1TIND "B1TIND"
|
||||
#define BSE_B1TIRM "B1TIRM"
|
||||
#define BSE_B1TICOM "B1TICOM"
|
||||
#define BSE_C0NFCOM "C0NFCOM"
|
||||
#define BSE_C0NLASS "C0NLASS"
|
||||
#define BSE_C0ACTOT "C0ACTOT"
|
||||
#define BSE_C0SNSRIT "C0SNSRIT"
|
||||
#define BSE_C0ROPE "C0ROPE"
|
||||
#define BSE_C0CIIAUT "C0CIIAUT"
|
||||
#define BSE_D0NFCOM "D0NFCOM"
|
||||
#define BSE_D0NLAUT "D0NLAUT"
|
||||
#define BSE_D0ACTOT "D0ACTOT"
|
||||
#define BSE_D0SNSRIT "D0SNSRIT"
|
||||
#define BSE_D0ROPE "D0ROPE"
|
||||
#define BSE_D0CIIAUT "D0CIIAUT"
|
||||
#define BSE_D1NFCOM "D1NFCOM"
|
||||
#define BSE_D1NPER "D1NPER"
|
||||
#define BSE_D1TACOR "D1TACOR"
|
||||
#define BSE_D1SNSRIT "D1SNSRIT"
|
||||
#define BSE_D1ROPE "D1ROPE"
|
||||
#define BSE_QCOMP "QCOMP"
|
||||
#define BSE_QSUPPINV "QSUPPINV"
|
||||
#define BSE_NSUPPM "NSUPPM"
|
||||
#define BSE_LUOVERS "LUOVERS"
|
||||
#define BSE_TIPOVERS "TIPOVERS"
|
||||
#define BSE_RSS "RSS"
|
||||
#define BSE_FLART4 "FLART4"
|
||||
#define BSE_QSUPPRIC "QSUPPRIC"
|
||||
#define BSE_DITTACAAF "DITTACAAF"
|
||||
#define BSE_C0CONTSSN "C0CONTSSN"
|
||||
|
||||
#define I8_1 "B0NFCOM"
|
||||
#define I8_2 "B0NLDIP"
|
||||
#define I8_3 "B0TFR93"
|
||||
#define I8_4 "B0AI"
|
||||
#define I8_5 "B0COLAV"
|
||||
#define I8_6 "B0TFR7492"
|
||||
#define I9_7 "B0AI7492"
|
||||
#define I9_8 "B0IMP"
|
||||
#define I9_9 "B0TIMP"
|
||||
#define I9_10 "B0ROP"
|
||||
|
||||
|
@ -23,5 +23,8 @@
|
||||
#define TCF_COMMINPS 118
|
||||
#define TCF_PERCASSPREV 119
|
||||
|
||||
|
||||
#define G_INPS 10
|
||||
#define INPS_GROUP 7
|
||||
#define GR_CAUDD1 8
|
||||
#define G_ICTS 9
|
||||
|
||||
|
@ -3,10 +3,6 @@ TOOLBAR "" 0 20 0 2
|
||||
#include <toolbar.h>
|
||||
ENDPAGE
|
||||
|
||||
#define INPS_GROUP 7
|
||||
#define GR_CAUDD1 8
|
||||
#define G_ICTS 9
|
||||
|
||||
PAGE "Tabella causali modello 770" -1 -1 78 18
|
||||
|
||||
GROUPBOX DLG_NULL 77 8
|
||||
@ -54,20 +50,19 @@ LIST F_QUADRCE2 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Codice quadro "
|
||||
HELP "Inserire il codice quadro"
|
||||
ITEM "| "
|
||||
MESSAGE DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "C|C"
|
||||
MESSAGE ENABLE,F_CT|DISABLE,F_IC|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|ENABLE,F_CT|DISABLE,F_IC|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "D|D"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD1|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE ENABLE,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD1|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "D1|D1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD|DISABLE,GR_CAUDD1@||ENABLE,TCF_CAUSD1|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE ENABLE,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD|DISABLE,GR_CAUDD1@||ENABLE,TCF_CAUSD1|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "E|E"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "E1|E1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE COPY,F_CODQUA
|
||||
WARNING "Manca il codice quadro"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD LF_TABCOM->S1
|
||||
END
|
||||
|
||||
@ -75,57 +70,56 @@ LIST F_QUADRAT 2
|
||||
BEGIN
|
||||
PROMPT 1 3 "Codice quadro "
|
||||
HELP "Inserire il codice quadro"
|
||||
ITEM "| "
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "A|A"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "A1|A1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "A2|A2"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "A3|A3"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "B|B"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "B1|B1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "C|C"
|
||||
MESSAGE ENABLE,F_CT|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|ENABLE,F_IC|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|ENABLE,F_CT|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|ENABLE,F_IC|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "D|D"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD1|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE ENABLE,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD1|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "D1|D1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD1|DISABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE ENABLE,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,TCF_CAUSD|DISABLE,GR_CAUDD1@|ENABLE,TCF_CAUSD1|DISABLE,TCF_CAUSD|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "E|E"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "E1|E1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "E2|E2"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|HIDE,F_DESCR1|SHOW,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|HIDE,F_DESCR1|SHOW,F_DESCR2
|
||||
ITEM "F|F"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "F1|F1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "F2|F2"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|HIDE,F_DESCR1|SHOW,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|HIDE,F_DESCR1|SHOW,F_DESCR2
|
||||
ITEM "G|G"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "G1|G1"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "N|N"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "P|P"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "Q|Q"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "R|R"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "S|S"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
ITEM "T|T"
|
||||
MESSAGE RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE CLEAR,G_INPS@|RESET,G_ICTS@|DISABLE,G_ICTS@|RESET,GR_CAUDD1@|DISABLE,GR_CAUDD1@|SHOW,F_DESCR1|HIDE,F_DESCR2
|
||||
MESSAGE COPY,F_QUADRCE2
|
||||
MESSAGE COPY,F_CODQUA
|
||||
WARNING "Manca il codice quadro"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD LF_TABCOM->S1
|
||||
END
|
||||
|
||||
@ -322,7 +316,8 @@ END
|
||||
BOOLEAN TCF_BINPS
|
||||
BEGIN
|
||||
PROMPT 1 14 "Contributo INPS "
|
||||
FIELD LF_TABCOM->B4
|
||||
FIELD LF_TABCOM->B4
|
||||
GROUP G_INPS
|
||||
MESSAGE TRUE ENABLE,INPS_GROUP@
|
||||
MESSAGE FALSE DISABLE,INPS_GROUP@
|
||||
END
|
||||
|
@ -20,6 +20,7 @@ class TQuadriBB1_application : public TRelation_application
|
||||
static bool QBTotRedImpHandler (TMask_field& f, KEY k);
|
||||
static bool QBAmmRopeHandler (TMask_field& f, KEY k);
|
||||
static bool QBTotIndennHandler (TMask_field& f, KEY k);
|
||||
static bool QBCalcola37 (TMask_field& f, KEY k);
|
||||
static void BB1SettaCognomeNome(TMask& m);
|
||||
const char* _maskname;
|
||||
int _num;
|
||||
@ -167,6 +168,8 @@ TMask* TQuadriBB1_application::load_mask(int n)
|
||||
m->set_handler(QBF_CONTLAV, QBTotIndennHandler);
|
||||
m->set_handler(QBF_TFR7494, QBTotIndennHandler);
|
||||
m->set_handler(QBF_INDEN7494, QBTotIndennHandler);
|
||||
m->set_handler(QBF_TIND7494, QBCalcola37); // 28
|
||||
m->set_handler(QBF_TRID, QBCalcola37); // 29
|
||||
}
|
||||
// m->disable(DLG_FINDREC);
|
||||
break;
|
||||
@ -176,6 +179,22 @@ TMask* TQuadriBB1_application::load_mask(int n)
|
||||
return _msk[n] = m;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::QBCalcola37(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k==K_TAB)
|
||||
{
|
||||
TMask& m=f.mask();
|
||||
real c28=m.get_real(QBF_TIND7494);
|
||||
real c29=m.get_real(QBF_TRID);
|
||||
real c37 = c28 - c29;
|
||||
if (c37 < ZERO)
|
||||
c37 = ZERO;
|
||||
TString c37s(c37.string());
|
||||
m.set(QBF_TOTIMP,c37s);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
@ -588,8 +607,12 @@ bool TQuadriBB1_application::QBTotIndennHandler(TMask_field& f, KEY k)
|
||||
real c27 = m.get_real(QBF_INDEN7494);
|
||||
|
||||
real c28 = c20 + c24 - c25 + c26 + c27;
|
||||
if (c28 < ZERO)
|
||||
c28 = ZERO;
|
||||
TString c28s(c28.string());
|
||||
m.set(QBF_TIND7494, c28s);
|
||||
m.set(QBF_TIND7494, c28s);
|
||||
// Ricalcola il 37 da qui perche' il 28 e' disabilitato
|
||||
QBCalcola37(f,k);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
|
740
m770/quadn_t.cpp
740
m770/quadn_t.cpp
@ -1,370 +1,370 @@
|
||||
// quadn_t.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
#include <tabutil.h>
|
||||
#include <config.h>
|
||||
#include "774200.h"
|
||||
#include "77lib.h"
|
||||
#include "quadron.h"
|
||||
#include "77qn.h"
|
||||
#include "77qq.h"
|
||||
#include "77qp.h"
|
||||
|
||||
#define CODDITTA77 181
|
||||
#define ANNODIC77 182
|
||||
|
||||
class TQuadriNT_application : public TRelation_application
|
||||
{
|
||||
static bool codditta77_handler (TMask_field& m, KEY k);
|
||||
static bool nprog_handler (TMask_field& m, KEY k);
|
||||
static bool anno_handler (TMask_field& m, KEY k);
|
||||
static bool mese_handler (TMask_field& f, KEY k);
|
||||
static bool codreg_handler (TMask_field& f, KEY k);
|
||||
static bool codtrib_handler (TMask_field& f, KEY k);
|
||||
static bool tipo (TMask_field& f , KEY k);
|
||||
static bool luogo (TMask_field& f , KEY k);
|
||||
const char* _maskname;
|
||||
int _num;
|
||||
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
|
||||
TString16 _quadro;
|
||||
TRiporti _rip;
|
||||
TRelation* _rel;
|
||||
TMask* _msk;
|
||||
bool _registra;
|
||||
int _anno_dic;
|
||||
bool _MaskConAnnoDic, _MaskConCodditta;
|
||||
bool MaskConAnnoDic() const;
|
||||
bool MaskConCodditta() const { return _MaskConCodditta; }
|
||||
void LeggiMask();
|
||||
bool EsisteUnRec();
|
||||
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
|
||||
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
|
||||
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
|
||||
bool CheckImporti(const TMask& m);
|
||||
long _codditta;
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write (const TMask& m);
|
||||
virtual bool remove();
|
||||
virtual void on_config_change();
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int) { return FALSE;}
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_mask(TMask&);
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
virtual void init_query_insert_mode(TMask&);
|
||||
public:
|
||||
TQuadriNT_application(const char* name, const int num, const char* quadro);
|
||||
};
|
||||
|
||||
TQuadriNT_application::TQuadriNT_application(const char* name, const int num, const char* quadro)
|
||||
: _maskname(name), _num(num),
|
||||
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE),
|
||||
_msk(NULL), _rel(NULL), _quadro(quadro)
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAN:
|
||||
_pos_quadro = N;
|
||||
break;
|
||||
case LF_QUAR:
|
||||
_pos_quadro = R;
|
||||
break;
|
||||
case LF_QUAP:
|
||||
_pos_quadro = P;
|
||||
break;
|
||||
case LF_QUAQ:
|
||||
_pos_quadro = Q;
|
||||
break;
|
||||
case LF_QUAS:
|
||||
_pos_quadro = S;
|
||||
break;
|
||||
case LF_QUAT:
|
||||
_pos_quadro = T;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); }
|
||||
|
||||
void TQuadriNT_application::LeggiMask()
|
||||
{
|
||||
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
|
||||
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
}
|
||||
|
||||
void TQuadriNT_application::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year());
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_create()
|
||||
{
|
||||
_msk = new TMask(_maskname);
|
||||
_rel = new TRelation(_num);
|
||||
|
||||
_codditta = get_firm_770();
|
||||
_msk->set_handler(CODDITTA77, codditta77_handler);
|
||||
_msk->set_handler(QNF_NPROG, nprog_handler);
|
||||
|
||||
if (QuadroNoR())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
}
|
||||
|
||||
if (QuadroQoT())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
_msk->set_handler(QQF_CODREG, codreg_handler);
|
||||
}
|
||||
|
||||
if (QuadroPoS())
|
||||
_msk->set_handler(QPF_CODTRIB, codtrib_handler);
|
||||
|
||||
_registra = FALSE;
|
||||
set_search_field(QNF_NPROG);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::EsisteUnRec()
|
||||
{
|
||||
TLocalisamfile qn(_num);
|
||||
qn.zero();
|
||||
qn.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qn.curr());
|
||||
qn.read(_isgteq);
|
||||
if (qn.curr() > dep || qn.eof())
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_destroy()
|
||||
{
|
||||
if (_quadro != "")
|
||||
if (_registra)
|
||||
_rip.set_compilato(_codditta, _pos_quadro, EsisteUnRec());
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Controlla che ci siano o l'imposta o i compensi
|
||||
// NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei
|
||||
// quadri Q, R e T (107 e 106)
|
||||
bool TQuadriNT_application::CheckImporti(const TMask& m)
|
||||
{
|
||||
TString impost(m.get(QNF_IMPOSTA));
|
||||
TString compen(m.get(QNF_COMPENSI));
|
||||
return impost.not_empty() || compen.not_empty();
|
||||
}
|
||||
|
||||
int TQuadriNT_application::rewrite(const TMask& m)
|
||||
{
|
||||
m.autosave(*_rel);
|
||||
const int err = _rel->rewrite();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
int TQuadriNT_application::write(const TMask& m)
|
||||
{
|
||||
m.autosave(*_rel);
|
||||
const int err = _rel->write();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::remove()
|
||||
{
|
||||
_registra = TRUE;
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_mask(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::codditta77_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
TMask& m = f.mask();
|
||||
if (codditta != "0")
|
||||
{
|
||||
m.set(CODDITTA77, codditta);
|
||||
m.field(CODDITTA77).check();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 2 modi :
|
||||
// RUN,773,-1,771230m,89,"Prospetto del Quadro E1","E1" [771230i.uml]
|
||||
// oppure
|
||||
// 773 -1 menu_st "Stampe dichiarazioni" [prassi.mnu]
|
||||
// QUADRO N:
|
||||
// 773,-2,77qn,72,"Quadro N","N"
|
||||
///////////////////////////////////////////////////////////
|
||||
int quadriN_T(int argc, char* argv[])
|
||||
{
|
||||
TFilename mask;
|
||||
int num = 0;
|
||||
if (argc > 1)
|
||||
mask = argv[2];
|
||||
num = atoi(argv[3]);
|
||||
const char* title = argv[4];
|
||||
const char* quadro = argv[5];
|
||||
TQuadriNT_application a(mask, num, quadro);
|
||||
a.run(argc, argv, title ? title : "Test Relation Application");
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca l'anno");
|
||||
else
|
||||
if (!app().CheckImporti(m))
|
||||
return f.warning_box("Manca almeno un importo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il mese");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri Q e T
|
||||
bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice regione");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri P e S. Codice tributo REQUIRED
|
||||
bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice tributo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
// Propone il primo numero disponibile quando la maschera e' ancora "off"
|
||||
if (!m.is_running())
|
||||
{
|
||||
long nprog = 0L;
|
||||
TLocalisamfile qnr(app()._num);
|
||||
qnr.zero();
|
||||
qnr.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qnr.curr());
|
||||
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
|
||||
{
|
||||
if (qnr.curr() > dep) break;
|
||||
nprog = qnr.get_long(QN_NPROG);
|
||||
}
|
||||
nprog++;
|
||||
TString16 nprog_str; nprog_str << nprog;
|
||||
f.mask().set(QNF_NPROG, nprog_str);
|
||||
}
|
||||
// Quando la maschera e' running, se c'e' NPROG la chiude
|
||||
else
|
||||
{
|
||||
TString nprogstr(f.get());
|
||||
if (nprogstr.not_empty())
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::luogo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// quadn_t.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
#include <tabutil.h>
|
||||
#include <config.h>
|
||||
#include "774200.h"
|
||||
#include "77lib.h"
|
||||
#include "quadron.h"
|
||||
#include "77qn.h"
|
||||
#include "77qq.h"
|
||||
#include "77qp.h"
|
||||
|
||||
#define CODDITTA77 181
|
||||
#define ANNODIC77 182
|
||||
|
||||
class TQuadriNT_application : public TRelation_application
|
||||
{
|
||||
static bool codditta77_handler (TMask_field& m, KEY k);
|
||||
static bool nprog_handler (TMask_field& m, KEY k);
|
||||
static bool anno_handler (TMask_field& m, KEY k);
|
||||
static bool mese_handler (TMask_field& f, KEY k);
|
||||
static bool codreg_handler (TMask_field& f, KEY k);
|
||||
static bool codtrib_handler (TMask_field& f, KEY k);
|
||||
static bool tipo (TMask_field& f , KEY k);
|
||||
static bool luogo (TMask_field& f , KEY k);
|
||||
const char* _maskname;
|
||||
int _num;
|
||||
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
|
||||
TString16 _quadro;
|
||||
TRiporti _rip;
|
||||
TRelation* _rel;
|
||||
TMask* _msk;
|
||||
bool _registra;
|
||||
int _anno_dic;
|
||||
bool _MaskConAnnoDic, _MaskConCodditta;
|
||||
bool MaskConAnnoDic() const;
|
||||
bool MaskConCodditta() const { return _MaskConCodditta; }
|
||||
void LeggiMask();
|
||||
bool EsisteUnRec();
|
||||
bool QuadroNoR() const { return _num == LF_QUAN || _num == LF_QUAR; }
|
||||
bool QuadroPoS() const { return _num == LF_QUAP || _num == LF_QUAS; }
|
||||
bool QuadroQoT() const { return _num == LF_QUAQ || _num == LF_QUAT; }
|
||||
bool CheckImporti(const TMask& m);
|
||||
long _codditta;
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write (const TMask& m);
|
||||
virtual bool remove();
|
||||
virtual void on_config_change();
|
||||
virtual TMask* get_mask(int) { return _msk; }
|
||||
virtual bool changing_mask(int) { return FALSE;}
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_mask(TMask&);
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
virtual void init_query_insert_mode(TMask&);
|
||||
public:
|
||||
TQuadriNT_application(const char* name, const int num, const char* quadro);
|
||||
};
|
||||
|
||||
TQuadriNT_application::TQuadriNT_application(const char* name, const int num, const char* quadro)
|
||||
: _maskname(name), _num(num),
|
||||
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE),
|
||||
_msk(NULL), _rel(NULL), _quadro(quadro)
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAN:
|
||||
_pos_quadro = N;
|
||||
break;
|
||||
case LF_QUAR:
|
||||
_pos_quadro = R;
|
||||
break;
|
||||
case LF_QUAP:
|
||||
_pos_quadro = P;
|
||||
break;
|
||||
case LF_QUAQ:
|
||||
_pos_quadro = Q;
|
||||
break;
|
||||
case LF_QUAS:
|
||||
_pos_quadro = S;
|
||||
break;
|
||||
case LF_QUAT:
|
||||
_pos_quadro = T;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TQuadriNT_application& app() { return (TQuadriNT_application&)main_app(); }
|
||||
|
||||
void TQuadriNT_application::LeggiMask()
|
||||
{
|
||||
_MaskConAnnoDic = _msk->id2pos(ANNODIC77) > 0;
|
||||
_MaskConCodditta = _msk->id2pos(CODDITTA77) > 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
}
|
||||
|
||||
void TQuadriNT_application::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year());
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_create()
|
||||
{
|
||||
_msk = new TMask(_maskname);
|
||||
_rel = new TRelation(_num);
|
||||
|
||||
_codditta = get_firm_770();
|
||||
_msk->set_handler(CODDITTA77, codditta77_handler);
|
||||
_msk->set_handler(QNF_NPROG, nprog_handler);
|
||||
|
||||
if (QuadroNoR())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
}
|
||||
|
||||
if (QuadroQoT())
|
||||
{
|
||||
_msk->set_handler(QNF_ANNORIF, anno_handler);
|
||||
_msk->set_handler(QNF_MESERIF, mese_handler);
|
||||
_msk->set_handler(QQF_CODREG, codreg_handler);
|
||||
}
|
||||
|
||||
if (QuadroPoS())
|
||||
_msk->set_handler(QPF_CODTRIB, codtrib_handler);
|
||||
|
||||
_registra = FALSE;
|
||||
set_search_field(QNF_NPROG);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::EsisteUnRec()
|
||||
{
|
||||
TLocalisamfile qn(_num);
|
||||
qn.zero();
|
||||
qn.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qn.curr());
|
||||
qn.read(_isgteq);
|
||||
if (qn.curr() > dep || qn.eof())
|
||||
return FALSE;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::user_destroy()
|
||||
{
|
||||
if (_quadro != "")
|
||||
if (_registra)
|
||||
_rip.set_compilato(_codditta, _pos_quadro, EsisteUnRec());
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Controlla che ci siano o l'imposta o i compensi
|
||||
// NB che siano uguali QNF_IMPOSTA anche nei corrispondenti campi dei
|
||||
// quadri Q, R e T (107 e 106)
|
||||
bool TQuadriNT_application::CheckImporti(const TMask& m)
|
||||
{
|
||||
TString impost(m.get(QNF_IMPOSTA));
|
||||
TString compen(m.get(QNF_COMPENSI));
|
||||
return impost.not_empty() || compen.not_empty();
|
||||
}
|
||||
|
||||
int TQuadriNT_application::rewrite(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
const int err = _rel->rewrite();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
int TQuadriNT_application::write(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
const int err = _rel->write();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::remove()
|
||||
{
|
||||
_registra = TRUE;
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_mask(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriNT_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::codditta77_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
TMask& m = f.mask();
|
||||
if (codditta != "0")
|
||||
{
|
||||
m.set(CODDITTA77, codditta);
|
||||
m.field(CODDITTA77).check();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// 2 modi :
|
||||
// RUN,773,-1,771230m,89,"Prospetto del Quadro E1","E1" [771230i.uml]
|
||||
// oppure
|
||||
// 773 -1 menu_st "Stampe dichiarazioni" [prassi.mnu]
|
||||
// QUADRO N:
|
||||
// 773,-2,77qn,72,"Quadro N","N"
|
||||
///////////////////////////////////////////////////////////
|
||||
int quadriN_T(int argc, char* argv[])
|
||||
{
|
||||
TFilename mask;
|
||||
int num = 0;
|
||||
if (argc > 1)
|
||||
mask = argv[2];
|
||||
num = atoi(argv[3]);
|
||||
const char* title = argv[4];
|
||||
const char* quadro = argv[5];
|
||||
TQuadriNT_application a(mask, num, quadro);
|
||||
a.run(argc, argv, title ? title : "Test Relation Application");
|
||||
return 0;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::anno_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca l'anno");
|
||||
else
|
||||
if (!app().CheckImporti(m))
|
||||
return f.warning_box("Manca almeno un importo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::mese_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il mese");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri Q e T
|
||||
bool TQuadriNT_application::codreg_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice regione");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Per i Quadri P e S. Codice tributo REQUIRED
|
||||
bool TQuadriNT_application::codtrib_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && (modifica(m) || inserimento(m)) )
|
||||
{
|
||||
TString dep(f.get());
|
||||
if (dep.empty())
|
||||
return f.warning_box("Manca il codice tributo");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::nprog_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
// Propone il primo numero disponibile quando la maschera e' ancora "off"
|
||||
if (!m.is_running())
|
||||
{
|
||||
long nprog = 0L;
|
||||
TLocalisamfile qnr(app()._num);
|
||||
qnr.zero();
|
||||
qnr.put(QN_CODDITTA, (long)app()._codditta);
|
||||
TRectype dep(qnr.curr());
|
||||
for (qnr.read(_isgteq); !qnr.eof(); qnr.next())
|
||||
{
|
||||
if (qnr.curr() > dep) break;
|
||||
nprog = qnr.get_long(QN_NPROG);
|
||||
}
|
||||
nprog++;
|
||||
TString16 nprog_str; nprog_str << nprog;
|
||||
f.mask().set(QNF_NPROG, nprog_str);
|
||||
}
|
||||
// Quando la maschera e' running, se c'e' NPROG la chiude
|
||||
else
|
||||
{
|
||||
TString nprogstr(f.get());
|
||||
if (nprogstr.not_empty())
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::tipo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriNT_application::luogo(TMask_field& f , KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
char tipo = f.mask().get(F_QLTIPOVERS)[0];
|
||||
char luogo = f.mask().get(F_QLLUOVERS)[0];
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
}
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user