Correzioni quasi ultime immissione
git-svn-id: svn://10.65.10.50/trunk@3202 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
d4c7ef3b76
commit
575590459b
@ -133,8 +133,8 @@ END
|
||||
NUMBER 107 6
|
||||
BEGIN
|
||||
PROMPT 2 6 "Progressivo per versamento banca "
|
||||
FLAGS "DZ"
|
||||
// FLAGS "Z"
|
||||
// FLAGS "DZ"
|
||||
FLAGS "Z"
|
||||
GROUP 2 6
|
||||
END
|
||||
|
||||
|
@ -236,12 +236,15 @@ void TSchedaPercipienti::ver_pack()
|
||||
void TSchedaPercipienti::load_pag_sheet(const long numvers)
|
||||
{
|
||||
real comp, spese, imp, ritpag;
|
||||
int i, nriga;
|
||||
int i, iNumRigaAS;
|
||||
|
||||
TSheet_field& pag = pags();
|
||||
_pags->destroy();
|
||||
|
||||
for ( i = 0, nriga = 0; i < pag.items(); i++, nriga++ )
|
||||
iNumRigaAS = 0; // numero di riga dell'array-sheet. Viene incrementato
|
||||
// solo quando si trovano pagamenti 'giusti' (cioe' solo
|
||||
// quando si aggiungono elementi all'array-sheet)
|
||||
for ( i = 0; i < pag.items(); i++)
|
||||
{
|
||||
TToken_string* d = new TToken_string(64);
|
||||
TToken_string& riga = pag.row(i);
|
||||
@ -256,11 +259,7 @@ void TSchedaPercipienti::load_pag_sheet(const long numvers)
|
||||
if (nvers > 0 && nvers != numvers)
|
||||
continue;
|
||||
|
||||
const long npag = nriga;
|
||||
|
||||
// Setto il bit alla posizione numpag
|
||||
if (nvers == numvers)
|
||||
_selected.set(npag);
|
||||
const long npag = i;
|
||||
|
||||
const int LARGHEZZA_COL = 15;
|
||||
d->add(" "); // 0 spazio per la 'X' di selezione
|
||||
@ -283,11 +282,20 @@ void TSchedaPercipienti::load_pag_sheet(const long numvers)
|
||||
dep.right_just(LARGHEZZA_COL);
|
||||
d->add(dep);
|
||||
|
||||
d->add(nriga, SS_POS_NRIGA);
|
||||
d->add(i, SS_POS_NRIGA);
|
||||
// Metto nell'array-sheet anche NUMVERS
|
||||
d->add(nvers, SS_POS_NVER);
|
||||
|
||||
_pags->add(*d); // aggiungo la riga nell'array_sheet
|
||||
// Setto il bit alla posizione numpag e metto la X
|
||||
if (nvers == numvers)
|
||||
{
|
||||
_selected.set(npag);
|
||||
_pags->check(iNumRigaAS, TRUE);
|
||||
}
|
||||
iNumRigaAS++; // ignoro in questo contatore i pagamenti che NON
|
||||
// si vedono (se il pagamento e' scartato prima di qui
|
||||
// non ci passa)
|
||||
}
|
||||
}
|
||||
|
||||
@ -474,10 +482,11 @@ bool TSchedaPercipienti::pag_select (TMask_field& f, KEY k)
|
||||
app().load_pag_sheet(numvers);
|
||||
|
||||
TNikArray_sheet& ASpags = *app()._pags;
|
||||
|
||||
/*
|
||||
const int iPagsASheetItems = ASpags.items();
|
||||
// Metto la 'X' per quelli gia' collegati (se e' acceso il bit[NUMPAG])
|
||||
for (int j = 0; j < ASpags.items(); j++)
|
||||
ASpags.check(j, selected[j]);
|
||||
for (int j = 0; j < iPagsASheetItems; j++)
|
||||
ASpags.check(j, selected[j]);*/
|
||||
|
||||
// seleziona e aggiungi alle gia' selezionate
|
||||
if (ASpags.run() == K_ENTER)
|
||||
@ -547,8 +556,18 @@ void TSchedaPercipienti::work_tipoluogo(TMask_field& f)
|
||||
const int row = ss.selected();
|
||||
|
||||
m.hide (-2); // nasconde tutto
|
||||
ss.enable_cell(row,4);
|
||||
// ss.enable_cell(row,4);
|
||||
|
||||
if (tipo == 'B')
|
||||
{
|
||||
m.show (-6); // ABI e CAB
|
||||
m.enable(SM_PROGRBANCA); // abilita progressivo vers.banca
|
||||
ss.enable_cell(row,6);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.disable(SM_PROGRBANCA);
|
||||
ss.disable_cell(row,6);
|
||||
|
||||
if (tipo == 'D')
|
||||
{
|
||||
@ -558,22 +577,19 @@ void TSchedaPercipienti::work_tipoluogo(TMask_field& f)
|
||||
ss.disable_cell(row,4);
|
||||
}
|
||||
else
|
||||
m.show(-4); // serie e numero
|
||||
}
|
||||
else
|
||||
if (tipo == 'B')
|
||||
{
|
||||
m.show (-6); // ABI e CAB
|
||||
m.enable(SM_PROGRBANCA); // abilita progressivo vers.banca
|
||||
ss.enable_cell(row,6);
|
||||
m.show(-4); // serie e numero
|
||||
ss.enable_cell(row,4);
|
||||
}
|
||||
else
|
||||
}
|
||||
// else
|
||||
if (tipo == 'C')
|
||||
{
|
||||
m.show (-5); // SOLO numero versamento
|
||||
ss.disable_cell(row,4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool TSchedaPercipienti::luo_hndl(TMask_field& f, KEY k)
|
||||
{
|
||||
@ -582,6 +598,7 @@ bool TSchedaPercipienti::luo_hndl(TMask_field& f, KEY k)
|
||||
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
work_tipoluogo(f);
|
||||
TMask& m = f.mask();
|
||||
char tipo = m.get(F_TIPOVERS)[0];
|
||||
char luogo = m.get(F_LUOVERS)[0];
|
||||
|
@ -21,16 +21,14 @@
|
||||
#include <urldefid.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
|
||||
#include "771.h"
|
||||
#include "771100.h"
|
||||
#include "../ba/ba4200.h"
|
||||
|
||||
#include "../ba/ba4300.h" // per il f_coddittah
|
||||
#include <comuni.h>
|
||||
#include <anagr.h>
|
||||
#include <nditte.h>
|
||||
#include "77lib.h"
|
||||
|
||||
#include "../ba/ba4500.h"
|
||||
|
||||
class TDati_anagrafici : public TApplication
|
||||
@ -44,9 +42,12 @@ class TDati_anagrafici : public TApplication
|
||||
static bool fisica_handler(TMask_field&, KEY);
|
||||
static bool giuridica_handler(TMask_field&, KEY);
|
||||
static bool anagrafica_handler(TMask_field&, KEY);
|
||||
// bottone ditta in DatiCAAF
|
||||
static bool DCditta_handler(TMask_field&, KEY);
|
||||
TMask* _msk;
|
||||
TRelation* _rel;
|
||||
char _ana;
|
||||
long _codditta;
|
||||
bool Dichiarante() const { return _ana == 'A'; }
|
||||
bool Rappresentante() const { return _ana == 'C'; }
|
||||
bool ScrittureContabili() const { return _ana == 'D'; }
|
||||
@ -96,7 +97,7 @@ bool TDati_anagrafici::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);
|
||||
@ -137,6 +138,30 @@ bool TDati_anagrafici::attivita_handler(TMask_field& m, KEY k)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TDati_anagrafici::DCditta_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k != K_SPACE)
|
||||
return TRUE;
|
||||
else
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
app().registra();
|
||||
m.stop_run(K_ESC);
|
||||
const long lDittaCaaf = m.get_long(F_DITTACAAF);
|
||||
TToken_string body(16);
|
||||
body.add("1"); // usa la chiave 1
|
||||
body.add(lDittaCaaf); // ditta per il campo codice ditta
|
||||
body.add(lDittaCaaf); // ditta per il secondo campo codice ditta
|
||||
TString16 cmd("ba4 -2");
|
||||
TMessage msg(cmd2name(cmd), MSG_LN, (const char*) body);
|
||||
msg.send();
|
||||
TExternal_app a(cmd);
|
||||
a.run();
|
||||
m.set_focus();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TDati_anagrafici::fisica_handler(TMask_field& m, KEY k)
|
||||
{
|
||||
if (k != K_SPACE)
|
||||
@ -392,9 +417,7 @@ bool TDati_anagrafici::niscraa(TMask_field& f, KEY k)
|
||||
f.mask().set(F_NISCRAA, niscraa);
|
||||
if (dittacaaf != 0)
|
||||
f.mask().set(F_DITTACAAF, dittacaaf);
|
||||
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -411,7 +434,6 @@ bool TDati_anagrafici::ditta_caaf(TMask_field& f, KEY k)
|
||||
if (caaf != 0 && ditta == 0)
|
||||
return f.warning_box("Se indicato il codice del CAAF deve essere indicata anche la ditta a cui e' collegato");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -422,9 +444,11 @@ bool TDati_anagrafici::create()
|
||||
_rel->add(LF_BASE, "CODDITTA=CODDITTA");
|
||||
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
|
||||
|
||||
_codditta = get_firm_770();
|
||||
|
||||
if (Dichiarante())
|
||||
{
|
||||
char tipo_pers = tipo_persona(get_firm_770());
|
||||
char tipo_pers = tipo_persona(_codditta);
|
||||
if (tipo_pers == ' ' || tipo_pers == '\0')
|
||||
{
|
||||
message_box("Il titolare della ditta non e' stato compilato correttamente.");
|
||||
@ -464,6 +488,8 @@ bool TDati_anagrafici::create()
|
||||
_msk->set_handler(F_ANAGR, niscraa);
|
||||
_msk->set_handler(F_GIURIDICA, giuridica_handler);
|
||||
_msk->set_handler(F_DITTACAAF, ditta_caaf);
|
||||
// bottone ditte
|
||||
_msk->set_handler(DCF_DITTA, DCditta_handler);
|
||||
_msk->set_mode(NO_MODE);
|
||||
}
|
||||
|
||||
@ -481,7 +507,7 @@ bool TDati_anagrafici::create()
|
||||
_msk->set_handler(F_ANAGRAFICA, anagrafica_handler);
|
||||
}
|
||||
|
||||
TString16 codditta; codditta << get_firm_770();
|
||||
TString16 codditta; codditta << _codditta;
|
||||
if (codditta != "0")
|
||||
_msk->set(F_CODDITTA,codditta);
|
||||
|
||||
@ -504,7 +530,7 @@ bool TDati_anagrafici::main_loop()
|
||||
|
||||
do
|
||||
{
|
||||
_rel->lfile().put("CODDITTA", get_firm_770());
|
||||
_rel->lfile().put("CODDITTA", _codditta);
|
||||
_rel->read();
|
||||
_msk->autoload(_rel);
|
||||
tasto = _msk->run();
|
||||
|
@ -115,4 +115,6 @@
|
||||
#define F_SOC_DATAINPI 413
|
||||
#define F_SOC_DATAFINPI 414
|
||||
|
||||
#define DCF_DITTA 415
|
||||
|
||||
#endif
|
||||
|
@ -4,24 +4,29 @@ TOOLBAR "" 0 20 0 2
|
||||
|
||||
BUTTON F_GIURIDICA 10 2
|
||||
BEGIN
|
||||
PROMPT -14 -1 "~Giuridiche"
|
||||
PROMPT -15 -1 "~Giuridiche"
|
||||
END
|
||||
|
||||
BUTTON DCF_DITTA 10 2
|
||||
BEGIN
|
||||
PROMPT -25 -1 "~Ditte"
|
||||
END
|
||||
|
||||
BUTTON DLG_SAVEREC 10 2
|
||||
BEGIN
|
||||
PROMPT -24 -1 "~Registra"
|
||||
PROMPT -35 -1 "~Registra"
|
||||
MESSAGE EXIT,K_SAVE
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 10 2
|
||||
BEGIN
|
||||
PROMPT -34 -1 ""
|
||||
PROMPT -45 -1 ""
|
||||
MESSAGE EXIT,K_ESC
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -44 -1 ""
|
||||
PROMPT -55 -1 ""
|
||||
MESSAGE EXIT,K_QUIT
|
||||
END
|
||||
|
||||
|
@ -192,8 +192,9 @@ BEGIN
|
||||
DISPLAY "Cognome@24" COGNOME
|
||||
DISPLAY "Nome@20" NOME
|
||||
OUTPUT ADF_CODDIPDEC CODDIP
|
||||
WARNING "Codice dipendente deceduto non valido"
|
||||
VALIDATE NOT_EMPTY_CHECK_FIELD
|
||||
// CHECKTYPE NORMAL
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
LISTBOX ADF_ASSFIS 1 40
|
||||
|
@ -33,8 +33,9 @@ bool QA_cerca_codA(const long codditta, const long coddip, TString& quadro)
|
||||
qq.put(QUA_CODDITTA, codditta);
|
||||
qq.put(QUA_CODIP, coddip);
|
||||
TRectype dep(qq.curr());
|
||||
|
||||
for (qq.read(); !qq.eof(); qq.next())
|
||||
qq.read();
|
||||
TRecnotype lPos = qq.recno();
|
||||
for ( ;!qq.eof(); qq.next())
|
||||
{
|
||||
if (qq.curr() > dep) break;
|
||||
c58 = qq.get(QUA_RETCON);
|
||||
@ -44,6 +45,7 @@ bool QA_cerca_codA(const long codditta, const long coddip, TString& quadro)
|
||||
break;
|
||||
}
|
||||
}
|
||||
qq.readat(lPos);
|
||||
return Result;
|
||||
}
|
||||
|
||||
@ -78,7 +80,7 @@ class TQuadroA : public TRelation_application
|
||||
static bool QA_tot_detraz_hnd (TMask_field& f, KEY key);
|
||||
static bool QA_cfdlprec_hnd (TMask_field& f, KEY key);
|
||||
static bool QA_chech_ritdatlav (TMask_field& f, KEY key);
|
||||
static bool QA_check_ritdovute (TMask_field& f, KEY key);
|
||||
static bool QA_calcola42 (TMask_field& f, KEY k);
|
||||
static bool QA_check_2527 (TMask_field& f, KEY key);
|
||||
static bool QA_A2_check_58 (TMask_field& f, KEY key);
|
||||
static bool QA_calcolo30 (TMask_field& f, KEY key);
|
||||
@ -244,8 +246,10 @@ TMask* TQuadroA::load_mask(int n)
|
||||
m->set_handler(F_DETO, QA_tot_detraz_hnd);
|
||||
// Controlla che 40 sia <= 30
|
||||
m->set_handler(F_AMRIODL38, QA_chech_ritdatlav);
|
||||
// Controlla che 42 = 39 + 40 - 41
|
||||
m->set_handler(F_AMMRITDOV, QA_check_ritdovute);
|
||||
// Calcola 42 = 39 + 40 - 41
|
||||
m->set_handler(F_AMRIOT37, QA_calcola42);
|
||||
m->set_handler(F_AMRIODL38, QA_calcola42);
|
||||
m->set_handler(F_ECCRITRIMB, QA_calcola42);
|
||||
// Calcolo: 30 = 23+27+28+29
|
||||
m->set_handler(F_COMPNETTI, QA_calcolo30);
|
||||
m->set_handler(F_TOTIMP26, QA_calcolo30);
|
||||
@ -267,7 +271,6 @@ TMask* TQuadroA::load_mask(int n)
|
||||
bool TQuadroA::is_societa_trasformata(TMask& m)
|
||||
{
|
||||
TLocalisamfile soc (LF_SOCTRASF);
|
||||
|
||||
soc.setkey(1);
|
||||
soc.zero();
|
||||
soc.put(SOC_CODDITTA, m.get_long(QAF_CODDITTA));
|
||||
@ -334,14 +337,6 @@ bool TQuadroA::codanagr_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (!f.mask().is_running()) return TRUE;
|
||||
|
||||
/* if (k == K_ENTER)
|
||||
{
|
||||
const long coddip = atol(f.get());
|
||||
const long codditta = get_firm_770();
|
||||
if (!esiste_dipendente(codditta, coddip))
|
||||
return f.warning_box("Dipendente inesistente");
|
||||
}*/
|
||||
|
||||
// if (k == K_TAB && f.focusdirty())
|
||||
if (k == K_TAB)
|
||||
{
|
||||
@ -404,7 +399,7 @@ bool TQuadroA::nprog_handler(TMask_field& f, KEY key)
|
||||
else
|
||||
{
|
||||
app()._codip = coddip;
|
||||
app().AA3SettaCognomeNome(f.mask());
|
||||
// app().AA3SettaCognomeNome(f.mask());
|
||||
f.mask().stop_run(K_AUTO_ENTER); // entra in modo modifica (se il record che ha chiave specificata esiste gia') oppure
|
||||
// inserimento (se trova che non esiste)
|
||||
}
|
||||
@ -453,12 +448,13 @@ bool TQuadroA::QA3_codip_handler(TMask_field& f, KEY key)
|
||||
// 26.6.96 azzera soltanto
|
||||
bool TQuadroA::QA_cfdlprec_hnd(TMask_field& f, KEY k)
|
||||
{
|
||||
/*
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TString tmp(f.get());
|
||||
if (tmp.empty())
|
||||
f.mask().set(F_CAUSA, 0L);
|
||||
}
|
||||
} */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -469,26 +465,25 @@ bool TQuadroA::QA_chech_ritdatlav(TMask_field& f, KEY k)
|
||||
{
|
||||
real RitDatLavoro(f.get()); // c40
|
||||
real TotImp(f.mask().get_real(F_TOTIMP29)); // c30
|
||||
|
||||
if (RitDatLavoro > TotImp)
|
||||
return f.warning_box("Le ritenute del datore di lavoro non possono superare il totale imponibile");
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Controlla che 42 = 39 + 40 - 41
|
||||
bool TQuadroA::QA_check_ritdovute(TMask_field& f, KEY k)
|
||||
// Calcola che 42 = 39 + 40 - 41. Se il risultato e' negativo scrive 0
|
||||
bool TQuadroA::QA_calcola42(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_ENTER)
|
||||
if (k==K_TAB)
|
||||
{
|
||||
real ritterzi = f.mask().get_real(F_AMRIOT37);
|
||||
real ritdatlav = f.mask().get_real(F_AMRIODL38);
|
||||
real eccrit = f.mask().get_real(F_ECCRITRIMB);
|
||||
real c42(f.get());
|
||||
real ritdovute = ritterzi + ritdatlav - eccrit;
|
||||
|
||||
if (c42 != ritdovute)
|
||||
f.warning_box("Correggere l'importo delle ritenute dovute");
|
||||
TMask& m = f.mask();
|
||||
real c39 = m.get_real(F_AMRIOT37);
|
||||
real c40 = m.get_real(F_AMRIODL38);
|
||||
real c41 = m.get_real(F_ECCRITRIMB);
|
||||
real c42 = c39 + c40 - c41;
|
||||
if (c42 < ZERO) c42 = ZERO;
|
||||
TString c42s(c42.string());
|
||||
m.set(F_AMMRITDOV, c42s);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -510,13 +505,14 @@ bool TQuadroA::QA_check_2527 (TMask_field& f, KEY k)
|
||||
// Funziona sia col quadro A che con A2
|
||||
bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB || k == K_ENTER)
|
||||
// if (k == K_TAB || k == K_ENTER)
|
||||
if (f.to_check(k,TRUE))
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TString16 cod(f.get());
|
||||
cod.upper();
|
||||
const long codditta = f.mask().get_long(QAF_CODDITTA);
|
||||
const long coddip = f.mask().get_long(F_CODIP);
|
||||
const long codditta = m.get_long(QAF_CODDITTA);
|
||||
const long coddip = m.get_long(F_CODIP);
|
||||
if (cod == "B")
|
||||
{
|
||||
if (!QA_cerca_codA(codditta, coddip, app()._quadro))
|
||||
@ -526,23 +522,26 @@ bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
|
||||
else
|
||||
{
|
||||
// Nasconde prompt 770 mostra prompt 730
|
||||
m.reset(-G_ALL);
|
||||
m.disable(-G_ALL);
|
||||
// reset anche dei campi calcolati disabilitati nel quadro A
|
||||
if (app().QuadroA()) m.reset(-G_2342);
|
||||
m.hide(-G_770);
|
||||
// m.reset(-G_ALL);
|
||||
m.show(-G_730);
|
||||
}
|
||||
}
|
||||
// Nasconde prompt 730 mostra prompt 770
|
||||
else
|
||||
{
|
||||
m.hide(-G_730);
|
||||
m.show(-G_770);
|
||||
m.hide(-G_730);
|
||||
m.enable(-G_ALL);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// calcola c23 = 20 + 21 -22 Se minore di 0 scrive 0
|
||||
bool TQuadroA::QA_comp_netti_hnd (TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
@ -551,6 +550,7 @@ bool TQuadroA::QA_comp_netti_hnd (TMask_field& f, KEY k)
|
||||
real natura = f.mask().get_real(F_NATURA);
|
||||
real cobbdip = f.mask().get_real(F_COBBDIP21);
|
||||
real compnetti = denaro + natura - cobbdip;
|
||||
if (compnetti < ZERO) compnetti = ZERO;
|
||||
f.mask().set(F_COMPNETTI, compnetti);
|
||||
f.send_key(K_TAB,F_COMPNETTI);
|
||||
}
|
||||
@ -566,10 +566,12 @@ bool TQuadroA::QA_tot_impon_hnd (TMask_field& f, KEY k)
|
||||
real ammlordo = f.mask().get_real(F_AMMLORDO24);
|
||||
real svnsrit = f.mask().get_real(QAF_SVNSOGRIT);
|
||||
real tot_corr = f.mask().get_real(F_TOTIMP26);
|
||||
|
||||
if (tot_corr == ZERO || ForzaRicalcolo)
|
||||
{
|
||||
real totimp29 = ammlordo - svnsrit;
|
||||
// c27 se < 0 scrivere 0 fax 15.7.96 p.1
|
||||
if (totimp29 < ZERO)
|
||||
totimp29 = ZERO;
|
||||
f.mask().set(F_TOTIMP26, totimp29);
|
||||
}
|
||||
}
|
||||
@ -609,6 +611,7 @@ bool TQuadroA::QA_calcolo30(TMask_field& f, KEY k)
|
||||
real c28 = m.get_real(F_AIEREP23);
|
||||
real c29 = m.get_real(F_CCTAMMCONT);
|
||||
c30 = c23 + c27 + c28 + c29;
|
||||
if (c30 < ZERO) c30 = ZERO;
|
||||
m.set(F_TOTIMP29, c30);
|
||||
}
|
||||
return TRUE;
|
||||
@ -657,7 +660,6 @@ void TQuadroA::registra_record2_A3(const TMask& m)
|
||||
quaa3.put(QA3_REDCOR16, rd1);
|
||||
quaa3.put(QA3_NGINC17, ng2);
|
||||
quaa3.put(QA3_REDCOR18, rd2);
|
||||
|
||||
quaa3.rewrite();
|
||||
}
|
||||
else
|
||||
@ -670,7 +672,6 @@ void TQuadroA::registra_record2_A3(const TMask& m)
|
||||
quaa3.put(QA3_REDCOR16, rd1);
|
||||
quaa3.put(QA3_NGINC17, ng2);
|
||||
quaa3.put(QA3_REDCOR18, rd2);
|
||||
|
||||
quaa3.write();
|
||||
}
|
||||
}
|
||||
@ -874,7 +875,6 @@ void TQuadroA::carica_record2_A3(TMask& m)
|
||||
void TQuadroA::init_query_mode(TMask& m)
|
||||
{
|
||||
m.set(QAF_ANNODIC, _anno_dic);
|
||||
|
||||
if (QuadroA3())
|
||||
{
|
||||
_soc_trasf = is_societa_trasformata(m);
|
||||
@ -901,6 +901,8 @@ void TQuadroA::init_query_insert_mode(TMask& m)
|
||||
|
||||
void TQuadroA::init_modify_mode(TMask& m)
|
||||
{
|
||||
if (QuadroA1())
|
||||
m.set(QA1F_ANNORIF, _anno_dic);
|
||||
if (QuadroA3())
|
||||
{
|
||||
_codditta = m.get_long(QAF_CODDITTA);
|
||||
|
@ -179,7 +179,8 @@
|
||||
|
||||
#define F_CODANAGDIPQA 420
|
||||
|
||||
#define G_ALL 6
|
||||
#define G_730 7
|
||||
#define G_770 9
|
||||
#define G_ALL 12
|
||||
#define G_730 9
|
||||
#define G_770 7
|
||||
#define G_2342 6
|
||||
|
||||
|
155
m770/771200b.uml
155
m770/771200b.uml
@ -15,7 +15,7 @@ BEGIN
|
||||
FLAGS "H"
|
||||
FIELD LF_QUAA->CODDITTA
|
||||
KEY 1
|
||||
GROUP 8
|
||||
GROUP 10
|
||||
MESSAGE COPY,1@
|
||||
END
|
||||
|
||||
@ -32,7 +32,7 @@ BEGIN
|
||||
OUTPUT QAF_NOME NOME
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "DG"
|
||||
GROUP 8
|
||||
GROUP 10
|
||||
MESSAGE COPY,2@
|
||||
KEY 1
|
||||
END
|
||||
@ -41,7 +41,7 @@ STRING QAF_COGNOME 24
|
||||
BEGIN
|
||||
PROMPT 25 1 ""
|
||||
FLAGS "DG"
|
||||
GROUP 8
|
||||
GROUP 10
|
||||
MESSAGE COPY,3@
|
||||
END
|
||||
|
||||
@ -49,7 +49,7 @@ STRING QAF_NOME 20
|
||||
BEGIN
|
||||
PROMPT 49 1 ""
|
||||
FLAGS "DG"
|
||||
GROUP 8
|
||||
GROUP 10
|
||||
MESSAGE COPY,4@
|
||||
END
|
||||
|
||||
@ -59,7 +59,7 @@ BEGIN
|
||||
FIELD LF_QUAA->NPROG
|
||||
FLAGS "DG"
|
||||
KEY 1
|
||||
GROUP 8
|
||||
GROUP 10
|
||||
MESSAGE COPY,5@
|
||||
END
|
||||
|
||||
@ -70,7 +70,7 @@ END
|
||||
|
||||
LISTBOX QAF_AREAATT 1 22
|
||||
BEGIN
|
||||
PROMPT 2 4 "13 area attività "
|
||||
PROMPT 2 4 "13 Area attività "
|
||||
ITEM " |"
|
||||
ITEM "A|Area amministrativa"
|
||||
ITEM "B|Area vendita"
|
||||
@ -82,7 +82,7 @@ END
|
||||
|
||||
STRING QAF_TIPOATT 1
|
||||
BEGIN
|
||||
PROMPT 42 4 "14 tipo "
|
||||
PROMPT 42 4 "14 Tipo "
|
||||
SHEET "Codice|Descrizione@70"
|
||||
INPUT QAF_TIPOATT
|
||||
ITEM " |"
|
||||
@ -91,26 +91,27 @@ BEGIN
|
||||
ITEM "C|Formazione lavoro"
|
||||
OUTPUT QAF_TIPOATT
|
||||
FIELD LF_QUAA->TIPO
|
||||
FLAGS "U"
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
NUMBER F_NUMGIORNI 3
|
||||
BEGIN
|
||||
PROMPT 55 4 "15 numero giorni "
|
||||
PROMPT 55 4 "15 Numero giorni "
|
||||
FIELD LF_QUAA->NUMGIO
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
DATE F_DATAFR
|
||||
BEGIN
|
||||
PROMPT 2 5 "16 data fine rapporto "
|
||||
PROMPT 2 5 "16 Data fine rapporto "
|
||||
FIELD LF_QUAA->DATAFR
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
NUMBER QAF_GIODET 3
|
||||
BEGIN
|
||||
PROMPT 40 5 "17 num.gio.det.lav.dip "
|
||||
PROMPT 40 5 "17 Num.gio.det.lav.dip "
|
||||
FIELD LF_QUAA->NUMGIODET
|
||||
NUM_EXPR {(#THIS>=0)&&(#THIS<=366)}
|
||||
WARNING "I giorni detrazione per lav.dip. devono essere compresi tra 0 e 366"
|
||||
@ -119,7 +120,7 @@ END
|
||||
|
||||
STRING F_CODFISDL 16
|
||||
BEGIN
|
||||
PROMPT 2 6 "18 cod.fis.prec.dat.lav. "
|
||||
PROMPT 2 6 "18 Cod.fis.prec.dat.lav. "
|
||||
FIELD LF_QUAA->CFDLPREC
|
||||
FLAGS "U"
|
||||
VALIDATE CF_FUNC F_CODFISDL
|
||||
@ -128,7 +129,7 @@ END
|
||||
|
||||
NUMBER F_CAUSA 1
|
||||
BEGIN
|
||||
PROMPT 60 6 "19 causa "
|
||||
PROMPT 60 6 "19 Causa "
|
||||
FIELD LF_QUAA->CAUSA
|
||||
SHEET "Codice|Descrizione@70"
|
||||
INPUT F_CAUSA
|
||||
@ -151,7 +152,7 @@ END
|
||||
|
||||
NUMBER F_DENARO 15
|
||||
BEGIN
|
||||
PROMPT 2 9 "20 in denaro "
|
||||
PROMPT 2 9 "20 In denaro "
|
||||
FIELD LF_QUAA->DENARO
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -159,7 +160,7 @@ END
|
||||
|
||||
NUMBER F_NATURA 15
|
||||
BEGIN
|
||||
PROMPT 45 9 "21 in natura "
|
||||
PROMPT 45 9 "21 In natura "
|
||||
FIELD LF_QUAA->NATURA
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -167,7 +168,7 @@ END
|
||||
|
||||
NUMBER F_COBBDIP21 15
|
||||
BEGIN
|
||||
PROMPT 2 11 "22 contr.obb.car. dip. "
|
||||
PROMPT 2 11 "22 Contr.obb.car. dip. "
|
||||
HELP "Contributi obbligatori a carico del dipendente"
|
||||
FIELD LF_QUAA->COBBDIP
|
||||
PICTURE "."
|
||||
@ -176,10 +177,11 @@ END
|
||||
|
||||
NUMBER F_COMPNETTI 15
|
||||
BEGIN
|
||||
PROMPT 45 11 "23 compensi netti"
|
||||
PROMPT 45 11 "23 Compensi netti"
|
||||
FIELD LF_QUAA->COMPNETTI
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
FLAGS "D"
|
||||
GROUP G_2342
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
@ -189,7 +191,7 @@ END
|
||||
|
||||
NUMBER F_AMMLORDO24 15
|
||||
BEGIN
|
||||
PROMPT 2 14 "24 ammontare lordo "
|
||||
PROMPT 2 14 "24 Ammontare lordo "
|
||||
FIELD LF_QUAA->AMMLORDO
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -197,7 +199,7 @@ END
|
||||
|
||||
NUMBER F_IACOBBCD25 15
|
||||
BEGIN
|
||||
PROMPT 39 14 "25 contr.obb.car. dip. "
|
||||
PROMPT 39 14 "25 Contr.obb.car. dip. "
|
||||
FIELD LF_QUAA->IACOBBCD
|
||||
PICTURE "."
|
||||
HELP "Contributi obbligatori a carico del dipendente"
|
||||
@ -206,7 +208,7 @@ END
|
||||
|
||||
NUMBER QAF_SVNSOGRIT 15
|
||||
BEGIN
|
||||
PROMPT 2 15 "26 som.v.non sog.rit."
|
||||
PROMPT 2 15 "26 Som.v.non sog.rit."
|
||||
FIELD LF_QUAA->NORIT
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -214,7 +216,7 @@ END
|
||||
|
||||
NUMBER F_TOTIMP26 15
|
||||
BEGIN
|
||||
PROMPT 39 15 "27 totale imponibile "
|
||||
PROMPT 39 15 "27 Totale imponibile "
|
||||
FIELD LF_QUAA->TOTIMP
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -229,12 +231,6 @@ BEGIN
|
||||
PROMPT 1 1 "@bDipendente"
|
||||
END
|
||||
|
||||
NUMBER QAF_CODDITTA 5
|
||||
BEGIN
|
||||
FLAGS "H"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
NUMBER F_CODIP 6
|
||||
BEGIN
|
||||
PROMPT 17 1 ""
|
||||
@ -265,7 +261,7 @@ END
|
||||
|
||||
NUMBER F_AIEREP23 15
|
||||
BEGIN
|
||||
PROMPT 2 3 "28 assegni indennita' erogati da enti previdenziali "
|
||||
PROMPT 2 3 "28 Assegni indennita' erogati da enti previdenziali "
|
||||
FIELD LF_QUAA->AIENTIPREV
|
||||
PICTURE "."
|
||||
HELP "Assegni e indennita' erogati da enti previdenziali"
|
||||
@ -274,7 +270,7 @@ END
|
||||
|
||||
NUMBER F_CCTAMMCONT 15
|
||||
BEGIN
|
||||
PROMPT 2 4 "29 ammontare compensi corrisposti da terzi "
|
||||
PROMPT 2 4 "29 Ammontare compensi corrisposti da terzi "
|
||||
FIELD LF_QUAA->CCTAMMCONT
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -282,7 +278,7 @@ END
|
||||
|
||||
NUMBER F_TOTIMP29 15
|
||||
BEGIN
|
||||
PROMPT 2 5 "30 totale imponibile "
|
||||
PROMPT 2 5 "30 Totale imponibile "
|
||||
FIELD LF_QUAA->TOTIMP2
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -290,7 +286,7 @@ END
|
||||
|
||||
NUMBER F_ICTOTIMP30 15
|
||||
BEGIN
|
||||
PROMPT 2 6 "31 imposta corrispondente totale imponibile "
|
||||
PROMPT 2 6 "31 Imposta corrispondente totale imponibile "
|
||||
FIELD LF_QUAA->ICTOTIMP
|
||||
PICTURE "."
|
||||
HELP "Imposta corrispondente al totale imponibile"
|
||||
@ -299,7 +295,7 @@ END
|
||||
|
||||
NUMBER F_DETCC 15
|
||||
BEGIN
|
||||
PROMPT 2 7 "32 detr.coniuge carico "
|
||||
PROMPT 2 7 "32 Detr.coniuge carico "
|
||||
FIELD LF_QUAA->DETCC
|
||||
PICTURE "."
|
||||
HELP "Detrazione per coniuge a carico"
|
||||
@ -308,7 +304,7 @@ END
|
||||
|
||||
NUMBER F_DETFC 15
|
||||
BEGIN
|
||||
PROMPT 41 7 "33 detr.figli carico "
|
||||
PROMPT 41 7 "33 Detr.figli carico "
|
||||
FIELD LF_QUAA->DETFC
|
||||
PICTURE "."
|
||||
HELP "Detrazione per figli a carico"
|
||||
@ -317,7 +313,7 @@ END
|
||||
|
||||
NUMBER F_DETAF 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "34 det.altri fam.carico"
|
||||
PROMPT 2 8 "34 Det.altri fam.carico"
|
||||
FIELD LF_QUAA->DETAF
|
||||
PICTURE "."
|
||||
HELP "Detrazione per altri famigliari a carico"
|
||||
@ -326,7 +322,7 @@ END
|
||||
|
||||
NUMBER F_DETLD 15
|
||||
BEGIN
|
||||
PROMPT 41 8 "35 detr.lav. dipend. "
|
||||
PROMPT 41 8 "35 Detr.lav. dipend. "
|
||||
FIELD LF_QUAA->DETLD
|
||||
PICTURE "."
|
||||
HELP "Detrazione per lavoro dipendente"
|
||||
@ -335,7 +331,7 @@ END
|
||||
|
||||
NUMBER F_DETO 15
|
||||
BEGIN
|
||||
PROMPT 2 9 "36 detr. per oneri "
|
||||
PROMPT 2 9 "36 Detr. per oneri "
|
||||
FIELD LF_QUAA->DETO
|
||||
PICTURE "."
|
||||
HELP "Detrazione per oneri"
|
||||
@ -344,7 +340,7 @@ END
|
||||
|
||||
NUMBER F_TOTDET36 15
|
||||
BEGIN
|
||||
PROMPT 41 9 "37 totale detrazione "
|
||||
PROMPT 41 9 "37 Totale detrazione "
|
||||
FIELD LF_QUAA->TOTDET
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -352,7 +348,7 @@ END
|
||||
|
||||
NUMBER QAF_INCDETFC 15
|
||||
BEGIN
|
||||
PROMPT 2 10 "38 inc.detr.figli a ca."
|
||||
PROMPT 2 10 "38 Inc.detr.figli a ca."
|
||||
FIELD LF_QUAA->INCDETFC
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -360,7 +356,7 @@ END
|
||||
|
||||
NUMBER F_AMRIOT37 15
|
||||
BEGIN
|
||||
PROMPT 2 11 "39 ammontare delle ritenute operate da terzi"
|
||||
PROMPT 2 11 "39 Ammontare delle ritenute operate da terzi"
|
||||
FIELD LF_QUAA->AMRIOT
|
||||
PICTURE "."
|
||||
HELP "Ammontare delle ritenute operate da terzi"
|
||||
@ -369,7 +365,7 @@ END
|
||||
|
||||
NUMBER F_AMRIODL38 15
|
||||
BEGIN
|
||||
PROMPT 2 12 "40 ammontare ritenute operate datore lavoro "
|
||||
PROMPT 2 12 "40 Ammontare ritenute operate datore lavoro "
|
||||
FIELD LF_QUAA->AMRIODL
|
||||
PICTURE "."
|
||||
HELP "Ammontare delle ritenute operate dal datore di lavoro"
|
||||
@ -378,7 +374,7 @@ END
|
||||
|
||||
NUMBER F_ECCRITRIMB 15
|
||||
BEGIN
|
||||
PROMPT 2 13 "41 eccedenza delle ritenute da rimborsare "
|
||||
PROMPT 2 13 "41 Eccedenza delle ritenute da rimborsare "
|
||||
FIELD LF_QUAA->ECCRITRIMB
|
||||
PICTURE "."
|
||||
HELP "Eccedenza delle ritenute da rimborsare"
|
||||
@ -387,16 +383,17 @@ END
|
||||
|
||||
NUMBER F_AMMRITDOV 15
|
||||
BEGIN
|
||||
PROMPT 2 14 "42 ammont.riten. dovute"
|
||||
PROMPT 2 14 "42 Ammont.riten. dovute"
|
||||
FIELD LF_QUAA->AMMRITDOV
|
||||
PICTURE "."
|
||||
HELP "Ammontare delle ritenute dovute"
|
||||
GROUP G_ALL
|
||||
FLAGS "D"
|
||||
GROUP G_2342
|
||||
END
|
||||
|
||||
NUMBER F_ERSPSAN41 15
|
||||
BEGIN
|
||||
PROMPT 41 14 "43 er.spese sanitarie"
|
||||
PROMPT 41 14 "43 Er.spese sanitarie"
|
||||
FIELD LF_QUAA->ERSPSAN
|
||||
PICTURE "."
|
||||
HELP "Erogazioni per spese sanitarie, anche in forma assicurativa"
|
||||
@ -405,7 +402,7 @@ END
|
||||
|
||||
NUMBER F_PRASSVI42 15
|
||||
BEGIN
|
||||
PROMPT 2 15 "44 premi di assicurazione vita e infortuni "
|
||||
PROMPT 2 15 "44 Premi di assicurazione vita e infortuni "
|
||||
FIELD LF_QUAA->PRASSVI
|
||||
PICTURE "."
|
||||
HELP "Premi di assicurazione vita e infortuni"
|
||||
@ -414,7 +411,7 @@ END
|
||||
|
||||
NUMBER F_CONPRECO43 15
|
||||
BEGIN
|
||||
PROMPT 2 16 "45 contributi per previdenza complementare "
|
||||
PROMPT 2 16 "45 Contributi per previdenza complementare "
|
||||
FIELD LF_QUAA->CONPRECO
|
||||
PICTURE "."
|
||||
HELP "Contributi per previdenza complementare"
|
||||
@ -471,7 +468,7 @@ END
|
||||
|
||||
NUMBER F_COBBDIP44 15
|
||||
BEGIN
|
||||
PROMPT 2 4 "46 cont.obb.carico dip."
|
||||
PROMPT 2 4 "46 Cont.obb.carico dip."
|
||||
FIELD LF_QUAA->COBBDIP2
|
||||
PICTURE "."
|
||||
HELP "Contributi obbligatori a carico del dipendente"
|
||||
@ -480,7 +477,7 @@ END
|
||||
|
||||
NUMBER F_AMMIMP45 15
|
||||
BEGIN
|
||||
PROMPT 41 4 "47 ammontare imponib."
|
||||
PROMPT 41 4 "47 Ammontare imponib."
|
||||
FIELD LF_QUAA->AMMIMP
|
||||
PICTURE "."
|
||||
HELP "Ammontare imponibile"
|
||||
@ -489,7 +486,7 @@ END
|
||||
|
||||
NUMBER F_DETIMPOS46 15
|
||||
BEGIN
|
||||
PROMPT 2 5 "48 detrazioni d'imposta"
|
||||
PROMPT 2 5 "48 Detrazioni d'imposta"
|
||||
FIELD LF_QUAA->DETIMPOS
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -497,7 +494,7 @@ END
|
||||
|
||||
NUMBER F_RITESEG47 15
|
||||
BEGIN
|
||||
PROMPT 41 5 "49 ritenuta eseguita "
|
||||
PROMPT 41 5 "49 Ritenuta eseguita "
|
||||
FIELD LF_QUAA->RITESEG
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -505,7 +502,7 @@ END
|
||||
|
||||
NUMBER F_SVNASSRI48 15
|
||||
BEGIN
|
||||
PROMPT 2 6 "50 altre somme e valori non ass.a ritenuta "
|
||||
PROMPT 2 6 "50 Altre somme e valori non ass.a ritenuta "
|
||||
FIELD LF_QUAA->SVNASSRI
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -513,7 +510,7 @@ END
|
||||
|
||||
NUMBER F_AIFCSSN49 15
|
||||
BEGIN
|
||||
PROMPT 2 7 "51 ammontare imponibile ai fini del C.S.S.N."
|
||||
PROMPT 2 7 "51 Ammontare imponibile ai fini del C.S.S.N."
|
||||
FIELD LF_QUAA->AIFCSSN
|
||||
PICTURE "."
|
||||
HELP "Ammontare imponibile ai fini del C.S.S.N."
|
||||
@ -544,6 +541,7 @@ BEGIN
|
||||
ITEM "E|Retribuzione insufficiente"
|
||||
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
|
||||
OUTPUT F_CONEFF50
|
||||
FLAGS "U"
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
@ -554,7 +552,7 @@ END
|
||||
|
||||
NUMBER F_IMPVERS51 15
|
||||
BEGIN
|
||||
PROMPT 2 14 "53 imposta vers. "
|
||||
PROMPT 2 14 "53 Imposta vers. "
|
||||
FIELD LF_QUAA->IMPVERS
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -562,7 +560,7 @@ END
|
||||
|
||||
NUMBER F_ISOPTAS52 15
|
||||
BEGIN
|
||||
PROMPT 37 14 "54 interessi "
|
||||
PROMPT 37 14 "54 Interessi "
|
||||
FIELD LF_QUAA->INTERE
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -575,7 +573,7 @@ END
|
||||
|
||||
NUMBER F_CONTRVER53 15
|
||||
BEGIN
|
||||
PROMPT 2 17 "55 contr. versato"
|
||||
PROMPT 2 17 "55 Contr. versato"
|
||||
FIELD LF_QUAA->CSSN95CV
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -583,7 +581,7 @@ END
|
||||
|
||||
NUMBER F_ISOPTAS54 15
|
||||
BEGIN
|
||||
PROMPT 37 17 "56 interessi "
|
||||
PROMPT 37 17 "56 Interessi "
|
||||
FIELD LF_QUAA->INTERE2
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -639,7 +637,7 @@ END
|
||||
|
||||
STRING F_CNEFF55 1
|
||||
BEGIN
|
||||
PROMPT 2 4 "57 conguagli n/eff. "
|
||||
PROMPT 2 4 "57 Conguagli n/eff. "
|
||||
FIELD LF_QUAA->CNEFF
|
||||
SHEET "Codice|Descrizione@85"
|
||||
INPUT F_CNEFF55
|
||||
@ -652,12 +650,13 @@ BEGIN
|
||||
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
|
||||
ITEM "G|Rimborso non effettuato o rimborso effettuato parzialmente"
|
||||
OUTPUT F_CNEFF55
|
||||
FLAGS "U"
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
STRING F_RETCON56 1
|
||||
BEGIN
|
||||
PROMPT 37 4 "58 rettifica conguaglio "
|
||||
PROMPT 37 4 "58 Rettifica conguaglio "
|
||||
FIELD LF_QUAA->RETCON
|
||||
SHEET "Cod.|Descrizione@200"
|
||||
INPUT F_RETCON56
|
||||
@ -665,7 +664,7 @@ BEGIN
|
||||
ITEM "A|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.96 (I n. d'ordine)"
|
||||
ITEM "B|Rettifica da parte dei sostituti o dei CAAF degli importi da conguagliare indicati nei mod.730-3,4 e già consegnati entro il 15.5.96 (II n. d'ordine)"
|
||||
ITEM "C|Conguaglio a seguito di rettifica di una precedente comunicazione tardivamente pervenuta al sostituto"
|
||||
ITEM "D|Conguaglio a seguito di rettifica prec. comunic. tempestivam. perventuta al sostituto ma per la quale non è stato effettuato il conguaglio nel mese di giugno"
|
||||
ITEM "D|Conguaglio a seguito di rett. prec. comunic. tempestivam. pervenuta al sostituto ma per la quale non è stato effettuato il conguaglio nel mese di giugno"
|
||||
ITEM "E|Conguaglio tardivo per mod.730-4 pervenuto tardivamente"
|
||||
ITEM "F|Conguaglio tardivo per causa dipendente dal sostituto d'imposta"
|
||||
OUTPUT F_RETCON56
|
||||
@ -679,7 +678,7 @@ END
|
||||
|
||||
NUMBER F_IMPRIMB57 15
|
||||
BEGIN
|
||||
PROMPT 2 7 "59 impo. rimborsata "
|
||||
PROMPT 2 7 "59 Impo. rimborsata "
|
||||
FIELD LF_QUAA->IMPRIMB
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -687,7 +686,7 @@ END
|
||||
|
||||
NUMBER F_IMPVER58 15
|
||||
BEGIN
|
||||
PROMPT 44 7 "60 imposta versata"
|
||||
PROMPT 44 7 "60 Imposta versata"
|
||||
FIELD LF_QUAA->IMPVER
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
@ -695,7 +694,7 @@ END
|
||||
|
||||
NUMBER F_INTIRPEF59 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "61 interessi "
|
||||
PROMPT 2 8 "61 Interessi "
|
||||
FIELD LF_QUAA->INTIRPEF
|
||||
PICTURE "."
|
||||
HELP "Interessi IRPEF"
|
||||
@ -709,14 +708,13 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 11 "62 impo. versata "
|
||||
PROMPT 2 11 "62 Impo. versata "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 11 "62 i.ver/tr.IRPEF"
|
||||
// FLAGS "H"
|
||||
PROMPT 2 11 "62 I.ver/tr.IRPEF"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
@ -729,15 +727,14 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 44 11 "63 interessi "
|
||||
PROMPT 44 11 "63 Interessi "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 44 11 "63 i.ri.IRPEF"
|
||||
PROMPT 44 11 "63 I.ri.IRPEF"
|
||||
GROUP G_730
|
||||
// FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_INTER61 15
|
||||
@ -749,14 +746,13 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 12 "64 soprattasse saldo IRPEF per 95 e prima rata acconto 96 "
|
||||
PROMPT 2 12 "64 Soprattasse saldo IRPEF per 95 e prima rata acconto 96 "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 12 "64 prima rata di acconto IRPEF per il 1996 "
|
||||
// FLAGS "H"
|
||||
PROMPT 2 12 "64 Prima rata di acconto IRPEF per il 1996 "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
@ -782,7 +778,6 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 15 "65 2rata ac.IRPEF96"
|
||||
// FLAGS "H"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
@ -801,9 +796,8 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 44 15 "66 i.v.trat.CSSN "
|
||||
PROMPT 44 15 "66 I.v.trat.CSSN "
|
||||
GROUP G_730
|
||||
// FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_CONVER64 15
|
||||
@ -815,14 +809,13 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 16 "67 interessi "
|
||||
PROMPT 2 16 "67 Interessi "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 16 "67 imp. rimb. CSSN "
|
||||
// FLAGS "H"
|
||||
PROMPT 2 16 "67 Imp. rimb. CSSN "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
@ -884,7 +877,7 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 4 "68 contr. versato "
|
||||
PROMPT 2 4 "68 Contr. versato "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
@ -892,7 +885,6 @@ TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 4 "68 1r.acc.CSSN 96 "
|
||||
GROUP G_730
|
||||
// FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_CONVER66 15
|
||||
@ -905,7 +897,7 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 44 4 "69 interessi "
|
||||
PROMPT 44 4 "69 Interessi "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
@ -913,7 +905,6 @@ TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 44 4 "69 2r.acc.CSSN 96"
|
||||
GROUP G_730
|
||||
// FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_INTER67 15
|
||||
@ -937,7 +928,7 @@ BEGIN
|
||||
PROMPT 2 6 "71 Mod.730/96 non liquidabile "
|
||||
FIELD LF_QUAA->M730NLIQ
|
||||
FLAGS "Z"
|
||||
SHEET "Codice|Descrizione@65"
|
||||
SHEET "Codice|Descrizione@200"
|
||||
INPUT F_SEGDICNL69
|
||||
ITEM " |Niente"
|
||||
ITEM "01|Errata o incompleta compilazione dei dati anagrafici e di residenza del dichiarante"
|
||||
|
@ -65,9 +65,9 @@ BEGIN
|
||||
FIELD LF_QUAA1->MESERIF
|
||||
END
|
||||
|
||||
TEXT QA1F_ANNORIF
|
||||
NUMBER QA1F_ANNORIF 4
|
||||
BEGIN
|
||||
PROMPT 44 3 "1995"
|
||||
PROMPT 44 3 ""
|
||||
FLAGS "D"
|
||||
FIELD LF_QUAA1->ANNORIF
|
||||
END
|
||||
|
@ -103,14 +103,14 @@ END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 7 "10 Imposta rimbor. "
|
||||
GROUP G_770
|
||||
PROMPT 2 7 "10 Imp.ver/tr.IRPEF"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 7 "10 i.ver/tr.IRPEF""
|
||||
GROUP G_730
|
||||
PROMPT 2 7 "10 Imposta rimbor. "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
NUMBER F_IIRPEFVER8 15
|
||||
@ -120,6 +120,12 @@ BEGIN
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 7 "11 Imp.da rim.IRPEF"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 7 "11 Imposta versata "
|
||||
@ -136,6 +142,13 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 8 "12 Interessi "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 8 "12 1rata ac.IRPEF95"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER F_INTER11 15
|
||||
@ -153,7 +166,13 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 11 "13 Imposta versata "
|
||||
// GROUP 6
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 11 "13 2rata ac.IRPEF95"
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER F_PRIRPEF10 15
|
||||
@ -167,7 +186,13 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 11 "14 Interessi "
|
||||
// GROUP 6
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 11 "14 I.v.trat.CSSN "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER F_INTER11 15
|
||||
@ -181,7 +206,13 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 13 "15 Soprattasse IRPEF saldo 94 e prima rata acc.95 "
|
||||
GROUP 6
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 13 "15 Importo da rimborsare CSSN "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER F_STASSA12 15
|
||||
@ -191,12 +222,6 @@ BEGIN
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 13 "Imp. rimb. CSSN "
|
||||
GROUP 7
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "MODULO 770 - Manutenzione Quadro A2" -1 -1 78 21
|
||||
@ -248,12 +273,13 @@ END
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 5 "16 Cont.a rimborso "
|
||||
// GROUP 6
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 5 "17 Cont. versato "
|
||||
PROMPT 2 5 "16 1r.acc.CSSN 95 "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER QA2F_CSSNCRIMB 15
|
||||
@ -263,6 +289,18 @@ BEGIN
|
||||
PICTURE "."
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 5 "17 Cont. versato "
|
||||
GROUP G_770
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 41 5 "17 2r.acc.CSSN 95 "
|
||||
GROUP G_730
|
||||
END
|
||||
|
||||
NUMBER QA2F_CSSNCVER 15
|
||||
BEGIN
|
||||
// PROMPT 41 5 "Contr. versato "
|
||||
@ -288,6 +326,7 @@ BEGIN
|
||||
PROMPT 2 9 "19 Contrib.versato "
|
||||
FIELD LF_QUAA2->CONTV19
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
NUMBER QA2F_CSSNAINT 15
|
||||
@ -295,6 +334,7 @@ BEGIN
|
||||
PROMPT 41 9 "20 Interessi "
|
||||
FIELD LF_QUAA2->INTE20
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
NUMBER QA2F_STCSSN 15
|
||||
@ -302,6 +342,7 @@ BEGIN
|
||||
PROMPT 2 11 "21 Soprattasse su C.S.S.N. saldo 94 e prima rata acc.95 "
|
||||
FIELD LF_QUAA2->SOPRAT21
|
||||
PICTURE "."
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
STRING QA2F_730NLIQ 2
|
||||
@ -326,6 +367,7 @@ BEGIN
|
||||
FIELD LF_QUAA2->M730NLIQ
|
||||
FLAGS "Z"
|
||||
OUTPUT QA2F_730NLIQ
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
@ -348,6 +390,7 @@ BEGIN
|
||||
OUTPUT F_DENCAAF S0
|
||||
OUTPUT F_NISCRA I1
|
||||
OUTPUT F_CODFISCAAF S1
|
||||
GROUP G_ALL
|
||||
END
|
||||
|
||||
STRING F_DENCAAF 50
|
||||
|
@ -117,7 +117,7 @@ BEGIN
|
||||
KEY 1
|
||||
END
|
||||
|
||||
NUMBER F_CODIP_2 5
|
||||
NUMBER F_CODIP_2 6
|
||||
BEGIN
|
||||
PROMPT 17 1 ""
|
||||
MESSAGE COPY,F_CODIP2
|
||||
|
@ -424,6 +424,7 @@ bool TQuadroC_E2::generazione()
|
||||
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)
|
||||
continue;
|
||||
@ -545,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, bInps = FALSE;
|
||||
bool esiste_record = FALSE, acc_imp = FALSE;
|
||||
struct righe_pag* rp;
|
||||
|
||||
keyp = key = "";
|
||||
@ -562,8 +563,8 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
codcaus = atoi(rp->codcau);
|
||||
perc = rp->perc;
|
||||
acc_imp = rp->acim;
|
||||
bInps = rp->bInps; // se la riga aveva il contributo inps nella cau.
|
||||
rQCInps = bInps ? rp->inps : ZERO;
|
||||
// non frega un tubo bInps = rp->bInps; // se la riga aveva il contributo inps nella caus.
|
||||
rQCInps = rp->inps;
|
||||
|
||||
if (QuadroE1() && !acc_imp)
|
||||
{
|
||||
@ -630,7 +631,6 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
tot_rite += rp->rite;
|
||||
tot_impo += rp->impo;
|
||||
tot_comp += rp->comp;
|
||||
if (bInps)
|
||||
rTotQCInps += rQCInps;
|
||||
|
||||
if (tipoa_p != tipoa || codanag != codanag_p)
|
||||
@ -701,7 +701,6 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
|
||||
qd.put("NETTO", tot_comp - tot_rite);
|
||||
else
|
||||
qd.put("NETTO", tot_impo - tot_rite);
|
||||
|
||||
qd.write();
|
||||
}
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ HIDDEN real __num_az = ZERO;
|
||||
|
||||
TQuadroG::TQuadroG(const char quadro)
|
||||
{
|
||||
_registra = FALSE;
|
||||
_registra = _bUsatoDistinta = FALSE;
|
||||
switch (quadro)
|
||||
{
|
||||
case '3':
|
||||
@ -288,6 +288,8 @@ bool TQuadroG::exec_distinta(TMask_field& f, KEY k)
|
||||
{
|
||||
TExternal_app zzz(DISTINTA_APP);
|
||||
zzz.run();
|
||||
// Fai il ricalcolo
|
||||
app()._bUsatoDistinta = TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -314,7 +316,7 @@ bool TQuadroG::user_create()
|
||||
bool TQuadroG::user_destroy()
|
||||
{
|
||||
delete _rel; delete _msk;
|
||||
if (_registra)
|
||||
if (_registra || _bUsatoDistinta)
|
||||
_rip.set(_quadro);
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ class TQuadroG : public TRelation_application
|
||||
TRiporti _rip;
|
||||
TString16 _quadro;
|
||||
TString80 _title;
|
||||
bool _registra;
|
||||
bool _registra, _bUsatoDistinta;
|
||||
static bool p1_notify(TSheet_field& s, int r, KEY k);
|
||||
static bool p2_notify(TSheet_field& s, int r, KEY k);
|
||||
static bool pII_notify(TSheet_field& s, int r, KEY k);
|
||||
|
@ -160,18 +160,7 @@ bool M71310_application::cod_tributo(TMask_field& f , KEY k)
|
||||
bool M71310_application::auto_premi(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.mask().is_running())
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
/*
|
||||
TRelation* rel = app()._rel;
|
||||
TMask& m = f.mask();
|
||||
m.autosave(rel);
|
||||
if (rel->read() == NOERR)
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
else
|
||||
m.stop_run(K_INS); */
|
||||
}
|
||||
f.mask().stop_run(K_AUTO_ENTER);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -179,13 +168,18 @@ bool M71310_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];
|
||||
TMask& m = f.mask();
|
||||
TString16 tipo = m.get(F_QLTIPOVERS);
|
||||
TString16 luogo = m.get(F_QLLUOVERS);
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
if (tipo.not_empty() && luogo.not_empty())
|
||||
if (tipo == "D" && luogo == "T")
|
||||
{
|
||||
m.reset(-G_DISTINTA_TESORERIA);
|
||||
m.disable(-G_DISTINTA_TESORERIA);
|
||||
}
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
m.enable(-G_DISTINTA_TESORERIA);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
@ -194,13 +188,18 @@ bool M71310_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];
|
||||
TMask& m = f.mask();
|
||||
TString16 tipo = m.get(F_QLTIPOVERS);
|
||||
TString16 luogo = m.get(F_QLLUOVERS);
|
||||
|
||||
if (tipo == 'D' && luogo == 'T')
|
||||
f.mask().hide(F_QLSERIE);
|
||||
if (tipo.not_empty())
|
||||
if (tipo == "D" && luogo == "T")
|
||||
{
|
||||
m.reset(-G_DISTINTA_TESORERIA);
|
||||
m.disable(-G_DISTINTA_TESORERIA);
|
||||
}
|
||||
else
|
||||
f.mask().show(F_QLSERIE);
|
||||
m.enable(-G_DISTINTA_TESORERIA);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
@ -36,3 +36,9 @@
|
||||
#define FH_NUMERO 137
|
||||
#define FH_NPROG 138
|
||||
|
||||
#define F_CCQUIETANZA 139
|
||||
#define G_ABICAB 7
|
||||
#define G_DISTINTA 8
|
||||
#define G_CC 9
|
||||
#define G_DISTINTA_TESORERIA 10 // v. handler di tipo vers.
|
||||
|
||||
|
@ -16,12 +16,6 @@ ENDPAGE
|
||||
|
||||
PAGE "QUADRO L" -1 -1 78 18
|
||||
|
||||
#define ABI_CAB 7
|
||||
#define NUM_SERIE 8
|
||||
#define TEXT_NUM_SERIE 9
|
||||
#define TEXT_ABI_CAB 6
|
||||
#define GH 10
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
PROMPT 0 0 ""
|
||||
@ -48,30 +42,6 @@ BEGIN
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
TEXT 96
|
||||
BEGIN
|
||||
PROMPT 2 10 "Numero serie "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
END
|
||||
|
||||
TEXT 97
|
||||
BEGIN
|
||||
PROMPT 2 10 "Codice ABI "
|
||||
GROUP ABI_CAB
|
||||
END
|
||||
|
||||
TEXT 98
|
||||
BEGIN
|
||||
PROMPT 46 10 "Numero quietanza "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
END
|
||||
|
||||
TEXT 99
|
||||
BEGIN
|
||||
PROMPT 46 10 "Codice CAB "
|
||||
GROUP ABI_CAB
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 7
|
||||
BEGIN
|
||||
PROMPT 0 5 ""
|
||||
@ -150,17 +120,13 @@ LIST F_QLTIPOVERS 15
|
||||
BEGIN
|
||||
PROMPT 2 8 "Tipo versamento "
|
||||
ITEM " |Nessuno"
|
||||
MESSAGE SHOW,97|SHOW,99|HIDE,96|HIDE,98|RESET,GH@
|
||||
MESSAGE ENABLE,F_QLSERIE
|
||||
MESSAGE HIDE,G_ABICAB@|HIDE,G_DISTINTA@|HIDE,G_CC@
|
||||
ITEM "B|Delega bancaria"
|
||||
MESSAGE RESET,GH@|HIDE,TEXT_NUM_SERIE@|SHOW,ABI_CAB@
|
||||
MESSAGE ENABLE,ABI_CAB@|DISABLE,NUM_SERIE@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
|
||||
ITEM "D|Distinta"
|
||||
MESSAGE RESET,GH@|SHOW,TEXT_NUM_SERIE@|HIDE,ABI_CAB@
|
||||
MESSAGE ENABLE,NUM_SERIE@|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_DISTINTA@
|
||||
ITEM "C|C/C Postale"
|
||||
MESSAGE RESET,GH@|SHOW,TEXT_NUM_SERIE@|CLEAR,F_ABI|CLEAR,F_QLSERIE|HIDE,ABI_CAB@
|
||||
MESSAGE DISABLE,F_QLSERIE|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_ABICAB@|HIDE,G_ABICAB@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_CC@
|
||||
FIELD LF_QUAL->QLTV
|
||||
KEY 1
|
||||
END
|
||||
@ -179,11 +145,41 @@ BEGIN
|
||||
KEY 1
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 10 "Serie "
|
||||
GROUP G_DISTINTA G_DISTINTA_TESORERIA
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 10 "Numero "
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 10 "Quietanza "
|
||||
GROUP G_CC
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 2 10 "Codice ABI "
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 46 10 "Codice CAB "
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
STRING F_QLSERIE 5
|
||||
BEGIN
|
||||
PROMPT 23 10 ""
|
||||
FIELD LF_QUAL->QLSERIE
|
||||
GROUP NUM_SERIE
|
||||
GROUP G_DISTINTA G_DISTINTA_TESORERIA
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -191,7 +187,15 @@ STRING F_QLNUMERO 11
|
||||
BEGIN
|
||||
PROMPT 63 10 ""
|
||||
FIELD LF_QUAL->QLNUMERO
|
||||
GROUP NUM_SERIE
|
||||
GROUP G_DISTINTA
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING F_CCQUIETANZA 11
|
||||
BEGIN
|
||||
PROMPT 63 10 ""
|
||||
FIELD LF_QUAL->QLNUMERO
|
||||
GROUP G_CC
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -200,7 +204,7 @@ BEGIN
|
||||
PROMPT 23 10 ""
|
||||
FIELD LF_QUAL->QLSERIE
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -209,7 +213,7 @@ BEGIN
|
||||
PROMPT 63 10 ""
|
||||
FIELD LF_QUAL->QLNUMERO[1,5]
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
KEY 1
|
||||
END
|
||||
|
||||
@ -218,7 +222,7 @@ BEGIN
|
||||
PROMPT 69 10 ""
|
||||
FIELD LF_QUAL->QLNUMERO[6,11]
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
KEY 1
|
||||
END
|
||||
|
||||
|
@ -773,7 +773,8 @@ void TRiporti::calcola_riporti_A(TCursor* cur, const long dich)
|
||||
TString codfis = cur->curr().get (QUA_CODFISDL);
|
||||
char retcon = cur->curr().get_char(QUA_RETCON);
|
||||
|
||||
if (causa == 0 && retcon != 'B' && codfis.empty())
|
||||
// if (causa == 0 && retcon != 'B' && codfis.empty())
|
||||
if (retcon != 'B' && codfis.empty())
|
||||
{
|
||||
a0cobb += cur->curr().get_real(QUA_COBBDIP);
|
||||
a0cnet += cur->curr().get_real(QUA_COMPNETTI);
|
||||
@ -1015,7 +1016,7 @@ void TRiporti::calcola_riporti_H(TCursor* cur, const long dich)
|
||||
void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
{
|
||||
TLocalisamfile base (LF_BASE);
|
||||
real totale,somme,ritenute;
|
||||
real totale,somme,ritenute,rTotCSSN;
|
||||
bool almeno_una_riga = FALSE;
|
||||
double percipienti;
|
||||
|
||||
@ -1024,6 +1025,7 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
totale = ZERO;
|
||||
somme = ZERO;
|
||||
ritenute = ZERO;
|
||||
rTotCSSN = ZERO;
|
||||
|
||||
(*cur) = 0L;
|
||||
|
||||
@ -1051,6 +1053,7 @@ void TRiporti::calcola_riporti_C(TCursor* cur, const long dich)
|
||||
totale += cur->curr().get_real(QUC_TOTALE);
|
||||
somme += cur->curr().get_real(QUC_SOMME);
|
||||
ritenute += cur->curr().get_real(QUC_RITENUTE);
|
||||
rTotCSSN += cur->curr().get_real(QUC_CONTSSN);
|
||||
|
||||
if (!almeno_una_riga)
|
||||
almeno_una_riga = TRUE;
|
||||
@ -1080,6 +1083,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.rewrite();
|
||||
base.reread(_unlock);
|
||||
setta_flag_quadri_comp(_codditta, C, almeno_una_riga, dich);
|
||||
@ -1824,7 +1828,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;
|
||||
bool almeno_una_riga=FALSE, almeno_una_riga_distinta=FALSE;
|
||||
long fogli_comp = 0L, percipienti=0L;
|
||||
TRelation* relp;
|
||||
TCursor* curp;
|
||||
@ -1838,7 +1842,6 @@ void TRiporti::calcola_riporti_G(TCursor* cur, const long dich)
|
||||
|
||||
(*cur) = 0L;
|
||||
TRecnotype items = cur->items();
|
||||
almeno_una_riga = items > 0L;
|
||||
|
||||
// Legge quadro G
|
||||
i24_2 = cur->curr().get_real(QG_P1NUMQT);
|
||||
@ -1849,6 +1852,9 @@ 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
|
||||
|| i24_5 != ZERO || i24_6 != ZERO || i24_7 != ZERO
|
||||
|| i24_8 != ZERO || i24_9 != ZERO;
|
||||
|
||||
TString scritta(60);
|
||||
// scritta.format("Calcolo riporti del quadro G per la ditta %ld", _codditta);
|
||||
@ -1886,12 +1892,14 @@ void TRiporti::calcola_riporti_G(TCursor* cur, const long dich)
|
||||
i24_13 += curp->curr().get_real(QGD_ROPE);
|
||||
i25_4 += curp->curr().get_real(QGD_ROPESPET);
|
||||
|
||||
if (!almeno_una_riga)
|
||||
almeno_una_riga = TRUE;
|
||||
almeno_una_riga_distinta = TRUE;
|
||||
|
||||
progn.addstatus(1);
|
||||
}
|
||||
|
||||
// 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;
|
||||
|
||||
fogli_comp = fogli_compilati(fisiche,no_fisiche,QGD_FISICHE_PER_FOGLIO,QGD_NOFISICHE_PER_FOGLIO);
|
||||
|
||||
basebis.setkey(1);
|
||||
|
@ -77,7 +77,7 @@ BEGIN
|
||||
PROMPT 1 7 ""
|
||||
PICTURE 123
|
||||
GROUP 1
|
||||
MESSAGE RUN,773mod,-1,771150a,45,"Anagrafica dipendenti",/uPRASSI
|
||||
MESSAGE RUN,773mod,-1,771150a,45,"Anagrafica dipendenti"|K_TAB,RILEGGI_QUADRI
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
|
@ -10,3 +10,4 @@
|
||||
#define F_CAB 109
|
||||
#define F_PROGBANCA 110
|
||||
#define FH_NUMERO 111
|
||||
#define F_CCQUIETANZA 112
|
||||
|
@ -24,8 +24,9 @@ ENDPAGE
|
||||
|
||||
PAGE "Prospetto dati generali" -1 -1 78 18
|
||||
|
||||
#define ABICAB 1
|
||||
#define GSERIE 2
|
||||
#define G_ABICAB 1
|
||||
#define G_DISTINTA 2
|
||||
#define G_CC 3
|
||||
|
||||
GROUPBOX DLG_NULL 78 4
|
||||
BEGIN
|
||||
@ -56,25 +57,25 @@ END
|
||||
TEXT 96
|
||||
BEGIN
|
||||
PROMPT 2 13 "Numero serie "
|
||||
GROUP GSERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
TEXT 97
|
||||
BEGIN
|
||||
PROMPT 2 13 "Codice ABI "
|
||||
GROUP ABICAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
TEXT 98
|
||||
BEGIN
|
||||
PROMPT 46 13 "Numero quietanza "
|
||||
GROUP GSERIE
|
||||
GROUP G_DISTINTA G_CC
|
||||
END
|
||||
|
||||
TEXT 99
|
||||
BEGIN
|
||||
PROMPT 46 13 "Codice CAB "
|
||||
GROUP ABICAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
DATE F_DATAVERS
|
||||
@ -96,11 +97,11 @@ RADIOBUTTON F_TIPOVERS 26
|
||||
BEGIN
|
||||
PROMPT 46 7 "Tipo versamento "
|
||||
ITEM "B|Delega bancaria"
|
||||
MESSAGE SHOW,ABICAB@|SHOW,97|SHOW,99|HIDE,96|HIDE,98|HIDE,F_SERIE|HIDE,F_NUMERO
|
||||
MESSAGE RESET,G_DISTINTA@|CLEAR,F_CCQUIETANZA|HIDE,G_DISTINTA@|HIDE,G_CC@|SHOW,G_ABICAB@
|
||||
ITEM "D|Distinta"
|
||||
MESSAGE HIDE,ABICAB@|ENABLE,F_SERIE|SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|
|
||||
MESSAGE RESET,G_ABICAB@|CLEAR,F_CCQUIETANZA|HIDE,G_ABICAB@|HIDE,G_CC@|SHOW,G_DISTINTA@
|
||||
ITEM "C|C/C Postale"
|
||||
MESSAGE HIDE,ABICAB@|SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|CLEAR,F_SERIE|DISABLE,F_SERIE
|
||||
MESSAGE RESET,G_ABICAB@|HIDE,G_ABICAB@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_CC@|ENABLE,G_CC@
|
||||
FIELD LF_BASE->TIPOVERS
|
||||
END
|
||||
|
||||
@ -109,7 +110,7 @@ BEGIN
|
||||
PROMPT 18 13 ""
|
||||
FIELD LF_BASE->SERIE
|
||||
FLAGS "Z"
|
||||
GROUP ABICAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
NUMBER F_CAB 5
|
||||
@ -117,7 +118,7 @@ BEGIN
|
||||
PROMPT 63 13 ""
|
||||
FIELD LF_BASE->NUMERO[1,5]
|
||||
FLAGS "Z"
|
||||
GROUP ABICAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
NUMBER F_PROGBANCA 6
|
||||
@ -125,21 +126,28 @@ BEGIN
|
||||
PROMPT 69 13 ""
|
||||
FLAGS "Z"
|
||||
FIELD LF_BASE->NUMERO[6,11]
|
||||
GROUP ABICAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
STRING F_SERIE 5
|
||||
BEGIN
|
||||
PROMPT 18 13 ""
|
||||
FIELD LF_BASE->SERIE
|
||||
GROUP GSERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
STRING F_NUMERO 11
|
||||
BEGIN
|
||||
PROMPT 63 13 ""
|
||||
FIELD LF_BASE->NUMERO
|
||||
GROUP GSERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
STRING F_CCQUIETANZA 11
|
||||
BEGIN
|
||||
PROMPT 63 13 ""
|
||||
FIELD LF_BASE->NUMERO
|
||||
GROUP G_CC
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 78 11
|
||||
|
@ -20,6 +20,8 @@ HIDDEN const char* _build_key(TVersamento& vers);
|
||||
// La ditta corrente 770
|
||||
HIDDEN long _codditta_770 = 0L;
|
||||
|
||||
#define QUALIF_EREDE "11"
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// Utility varie
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
@ -218,18 +220,19 @@ bool is_dipendente(const long codditta, const long coddip)
|
||||
}
|
||||
|
||||
// Stabilisce se il dipendente e' un erede
|
||||
// SE QUALIFICA=11 17.7.96
|
||||
bool is_erede(const long codditta, const long coddip)
|
||||
{
|
||||
TLocalisamfile dip (LF_DIPEND);
|
||||
TString CodDipDec;
|
||||
TString sQualif;
|
||||
dip.setkey(1);
|
||||
dip.zero();
|
||||
dip.put(DIP_CODDITTA, (long)codditta);
|
||||
dip.put(DIP_CODIP, (long)coddip);
|
||||
if (dip.read() == NOERR)
|
||||
CodDipDec = dip.get(DIP_CODDIPDEC);
|
||||
CodDipDec.trim();
|
||||
return CodDipDec.not_empty();
|
||||
sQualif = dip.get(DIP_QUALIFICA);
|
||||
sQualif.trim();
|
||||
return sQualif == QUALIF_EREDE;
|
||||
}
|
||||
|
||||
// Stabilisce se il dipendente e' un deceduto
|
||||
@ -325,7 +328,10 @@ bool riscrivi_erede(const long codditta, const long deceduto, const long erede,
|
||||
}
|
||||
}
|
||||
if (!trovato) dip.reread(_unlock);
|
||||
return trovato;
|
||||
// return trovato; // Cosi' fallirebbe anche nel caso di un codice gia'
|
||||
// cancellato (per es. azzero il codice e faccio registra due volte la seconda
|
||||
// fallirebbe).
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool esiste_pag_in_periodo(TSchedaP& sch, const TDate& data_da, const TDate& data_a)
|
||||
|
@ -17,3 +17,4 @@
|
||||
|
||||
|
||||
|
||||
#define QPF_CCQUIETANZA 183
|
||||
|
@ -8,10 +8,9 @@ ENDPAGE
|
||||
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
|
||||
//
|
||||
|
||||
#define ABI_CAB 7
|
||||
#define NUM_SERIE 8
|
||||
#define TEXT_NUM_SERIE 9
|
||||
#define TEXT_ABI_CAB 6
|
||||
#define G_ABICAB 7
|
||||
#define G_DISTINTA 8
|
||||
#define G_CC 9
|
||||
|
||||
PAGE "MODULO 770 - QUADRO N" -1 -1 78 18
|
||||
|
||||
@ -49,12 +48,6 @@ BEGIN
|
||||
DISPLAY "Serie/ABI" SERIE
|
||||
DISPLAY "Numero/Bollettino/CAB" NUMERO
|
||||
OUTPUT QPF_NPROG NPROG
|
||||
OUTPUT QPF_CODTRIB CODTRIB
|
||||
OUTPUT QPF_DATAVERS DATAVERS
|
||||
OUTPUT QPF_TIPOVERS TIPOVERS
|
||||
OUTPUT QPF_INTERDIP INTERDIP
|
||||
OUTPUT QPF_INTERDAT INTERDAT
|
||||
OUTPUT QPF_IMPOSTA IMPOSTA
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
END
|
||||
@ -128,25 +121,25 @@ END
|
||||
TEXT 96
|
||||
BEGIN
|
||||
PROMPT 2 14 "Numero serie "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
TEXT 97
|
||||
BEGIN
|
||||
PROMPT 2 14 "Codice ABI "
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
TEXT 98
|
||||
BEGIN
|
||||
PROMPT 40 14 "Numero quietanza "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
GROUP G_DISTINTA G_CC
|
||||
END
|
||||
|
||||
TEXT 99
|
||||
BEGIN
|
||||
PROMPT 42 14 "Codice CAB "
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 0 6
|
||||
@ -163,14 +156,13 @@ LIST QPF_TIPOVERS 1 18
|
||||
BEGIN
|
||||
PROMPT 2 12 ""
|
||||
ITEM " |Nessuno"
|
||||
MESSAGE SHOW,97|SHOW,99|HIDE,96|HIDE,98|ENABLE,QPF_SERIE|HIDE,NUM_SERIE@
|
||||
MESSAGE HIDE,G_DISTINTA@|HIDE,G_ABICAB@|HIDE,G_CC@
|
||||
ITEM "B|Delega bancaria"
|
||||
MESSAGE HIDE,TEXT_NUM_SERIE@|SHOW,ABI_CAB@|ENABLE,ABI_CAB@|HIDE,NUM_SERIE@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
|
||||
ITEM "D|Distinta"
|
||||
MESSAGE SHOW,TEXT_NUM_SERIE@|ENABLE,NUM_SERIE@|SHOW,NUM_SERIE@|HIDE,ABI_CAB@|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_DISTINTA@
|
||||
ITEM "C|C/C Postale"
|
||||
MESSAGE SHOW,TEXT_NUM_SERIE@|CLEAR,QPF_ABI|CLEAR,QPF_SERIE|HIDE,ABI_CAB@
|
||||
MESSAGE DISABLE,QPF_SERIE|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_DISTINTA@|HIDE,G_DISTINTA@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_CC@
|
||||
FIELD LF_QUAP->TIPOVERS
|
||||
END
|
||||
|
||||
@ -184,38 +176,56 @@ DATE QPF_DATAVERS
|
||||
BEGIN
|
||||
PROMPT 43 12 "Data versamento "
|
||||
FIELD LF_QUAP->DATAVERS
|
||||
WARNING "Manca la data versamento"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
END
|
||||
|
||||
STRING QPF_SERIE 5
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
FIELD LF_QUAP->SERIE
|
||||
GROUP NUM_SERIE
|
||||
WARNING "Manca la serie"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
STRING QPF_NUMERO 11
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
WARNING "Manca il numero"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
FIELD LF_QUAP->NUMERO
|
||||
GROUP NUM_SERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
NUMBER QPF_ABI 5
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
FIELD LF_QUAP->SERIE
|
||||
WARNING "Manca il codice ABI"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
NUMBER QPF_CAB 5
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
FIELD LF_QUAP->NUMERO
|
||||
WARNING "Manca il codice CAB"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
STRING QPF_CCQUIETANZA 11
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
WARNING "Manca il numero quietanza"
|
||||
VALIDATE REQIF_FUNC 1 QPF_TIPOVERS
|
||||
FIELD LF_QUAP->NUMERO
|
||||
GROUP G_CC
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
@ -17,3 +17,4 @@
|
||||
|
||||
|
||||
|
||||
#define QSF_CCQUIETANZA 183
|
||||
|
@ -8,10 +8,9 @@ ENDPAGE
|
||||
// 2.4.96 Messo CAB di 5. Abi e Cab zerofilled
|
||||
//
|
||||
|
||||
#define ABI_CAB 7
|
||||
#define NUM_SERIE 8
|
||||
#define TEXT_NUM_SERIE 9
|
||||
#define TEXT_ABI_CAB 6
|
||||
#define G_ABICAB 7
|
||||
#define G_DISTINTA 8
|
||||
#define G_CC 9
|
||||
|
||||
PAGE "MODULO 770 - QUADRO S" -1 -1 78 18
|
||||
|
||||
@ -49,12 +48,6 @@ BEGIN
|
||||
DISPLAY "Serie/ABI" SERIE
|
||||
DISPLAY "Numero/Bollettino/CAB" NUMERO
|
||||
OUTPUT QSF_NPROG NPROG
|
||||
OUTPUT QSF_CODTRIB CODTRIB
|
||||
OUTPUT QSF_DATAVERS DATAVERS
|
||||
OUTPUT QSF_TIPOVERS TIPOVERS
|
||||
OUTPUT QSF_INTERDIP INTERDIP
|
||||
OUTPUT QSF_INTERDAT INTERDAT
|
||||
OUTPUT QSF_IMPOSTA IMPOSTA
|
||||
CHECKTYPE REQUIRED
|
||||
KEY 1
|
||||
END
|
||||
@ -128,25 +121,25 @@ END
|
||||
TEXT 96
|
||||
BEGIN
|
||||
PROMPT 2 14 "Numero serie "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
TEXT 97
|
||||
BEGIN
|
||||
PROMPT 2 14 "Codice ABI "
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
TEXT 98
|
||||
BEGIN
|
||||
PROMPT 42 14 "Numero quietanza "
|
||||
GROUP TEXT_NUM_SERIE
|
||||
GROUP G_DISTINTA G_CC
|
||||
END
|
||||
|
||||
TEXT 99
|
||||
BEGIN
|
||||
PROMPT 42 14 "Codice CAB "
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 0 6
|
||||
@ -163,13 +156,13 @@ LIST QSF_TIPOVERS 1 18
|
||||
BEGIN
|
||||
PROMPT 2 12 ""
|
||||
ITEM " |Nessuno"
|
||||
MESSAGE SHOW,97|SHOW,99|HIDE,96|HIDE,98|ENABLE,QSF_SERIE|HIDE,NUM_SERIE@
|
||||
MESSAGE HIDE,G_DISTINTA@|HIDE,G_CC@|HIDE,G_ABICAB@
|
||||
ITEM "B|Delega bancaria"
|
||||
MESSAGE HIDE,TEXT_NUM_SERIE@|SHOW,ABI_CAB@|ENABLE,ABI_CAB@|DISABLE,NUM_SERIE@|HIDE,NUM_SERIE@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_DISTINTA@|HIDE,G_DISTINTA@|SHOW,G_ABICAB@
|
||||
ITEM "D|Distinta"
|
||||
MESSAGE SHOW,TEXT_NUM_SERIE@|HIDE,ABI_CAB@|SHOW,NUM_SERIE@|ENABLE,NUM_SERIE@|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_CC@|HIDE,G_CC@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_DISTINTA@
|
||||
ITEM "C|C/C Postale"
|
||||
MESSAGE SHOW,TEXT_NUM_SERIE@|CLEAR,QSF_ABI|CLEAR,QSF_SERIE|HIDE,ABI_CAB@|DISABLE,QSF_SERIE|DISABLE,ABI_CAB@
|
||||
MESSAGE RESET,G_DISTINTA@|HIDE,G_DISTINTA@|RESET,G_ABICAB@|HIDE,G_ABICAB@|SHOW,G_CC@
|
||||
FIELD LF_QUAS->TIPOVERS
|
||||
END
|
||||
|
||||
@ -183,38 +176,56 @@ DATE QSF_DATAVERS
|
||||
BEGIN
|
||||
PROMPT 43 12 "Data versamento "
|
||||
FIELD LF_QUAS->DATAVERS
|
||||
WARNING "Manca la data versamento"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
END
|
||||
|
||||
STRING QSF_SERIE 5
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
FIELD LF_QUAS->SERIE
|
||||
GROUP NUM_SERIE
|
||||
GROUP G_DISTINTA
|
||||
WARNING "Manca la serie"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
END
|
||||
|
||||
STRING QSF_NUMERO 11
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
FIELD LF_QUAS->NUMERO
|
||||
GROUP NUM_SERIE
|
||||
WARNING "Manca il numero"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
GROUP G_DISTINTA
|
||||
END
|
||||
|
||||
NUMBER QSF_ABI 5
|
||||
BEGIN
|
||||
PROMPT 23 14 ""
|
||||
FIELD LF_QUAS->SERIE
|
||||
WARNING "Manca il codice ABI"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
NUMBER QSF_CAB 5
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
FIELD LF_QUAS->NUMERO
|
||||
WARNING "Manca il codice CAB"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
FLAGS "Z"
|
||||
GROUP ABI_CAB
|
||||
GROUP G_ABICAB
|
||||
END
|
||||
|
||||
STRING QSF_CCQUIETANZA 11
|
||||
BEGIN
|
||||
PROMPT 58 14 ""
|
||||
FIELD LF_QUAS->NUMERO
|
||||
WARNING "Manca il numero quietanza"
|
||||
VALIDATE REQIF_FUNC 1 QSF_TIPOVERS
|
||||
GROUP G_CC
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
@ -1,3 +1,602 @@
|
||||
<<<<<<< quadb_b1.cpp
|
||||
// quadb_b1.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
#include <tabutil.h>
|
||||
#include <config.h>
|
||||
#include "dipend.h"
|
||||
#include "774200.h"
|
||||
#include "77lib.h"
|
||||
#include "quadrob.h"
|
||||
#include "quadrob1.h"
|
||||
#include "77qb.h"
|
||||
#include "77qb1.h"
|
||||
|
||||
class TQuadriBB1_application : public TRelation_application
|
||||
{
|
||||
static bool codditta77_handler (TMask_field& m, KEY k);
|
||||
static bool PrimoNprogLibero (TMask& m, const long codditta, const long coddip);
|
||||
static bool CodDipHandler (TMask_field& m, KEY k);
|
||||
static bool NprogExitHandler (TMask_field& m, KEY k);
|
||||
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 void BB1SettaCognomeNome(TMask& m);
|
||||
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[2];
|
||||
bool _registra;
|
||||
int _anno_dic;
|
||||
int _mode;
|
||||
bool _MaskConAnnoDic, _MaskConCodditta;
|
||||
bool MaskConAnnoDic() const;
|
||||
bool MaskConCodditta() const { return _MaskConCodditta; }
|
||||
bool QuadroB() const { return _num == LF_QUAB; }
|
||||
bool QuadroB1() const { return _num == LF_QUAB1; }
|
||||
bool CheckImporti(const TMask& m);
|
||||
bool EsisteGiaCodDip(const TMask& m);
|
||||
bool EsisteGiaRecordDip(const TMask& m);
|
||||
long _codditta;
|
||||
long _lCodDip;
|
||||
int _iNprog;
|
||||
TString _sCognome, _sNome;
|
||||
void init_mask(TMask&);
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
// virtual int read(TMask& m);
|
||||
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);
|
||||
virtual bool changing_mask(int);
|
||||
TMask* load_mask(int n);
|
||||
virtual TRelation* get_relation() const { return _rel; }
|
||||
virtual void init_query_mode(TMask&);
|
||||
virtual void init_query_insert_mode(TMask&);
|
||||
virtual void init_insert_mode(TMask&);
|
||||
virtual void init_modify_mode(TMask&);
|
||||
|
||||
public:
|
||||
TQuadriBB1_application(const char* name, const int num, const char* quadro);
|
||||
};
|
||||
|
||||
TQuadriBB1_application::TQuadriBB1_application(const char* name, const int num, const char* quadro)
|
||||
: _maskname(name), _num(num), _mode(0),
|
||||
_MaskConCodditta(FALSE), _MaskConAnnoDic(FALSE),
|
||||
_rel(NULL), _quadro(quadro)
|
||||
{
|
||||
memset(_msk, 0, sizeof(_msk));
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAB:
|
||||
_pos_quadro = B;
|
||||
break;
|
||||
case LF_QUAB1:
|
||||
_pos_quadro = B1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TQuadriBB1_application& app() { return (TQuadriBB1_application&)main_app(); }
|
||||
|
||||
bool TQuadriBB1_application::changing_mask(int mode)
|
||||
{
|
||||
if (mode == MODE_QUERY)
|
||||
return _mode != MODE_QUERY;
|
||||
else
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
TMask* TQuadriBB1_application::get_mask(int mode)
|
||||
{
|
||||
const int m = (mode == MODE_QUERY) ? 0 : 1;
|
||||
_mode = mode;
|
||||
return load_mask(m);
|
||||
}
|
||||
|
||||
TMask* TQuadriBB1_application::load_mask(int n)
|
||||
{
|
||||
if (_msk[n] != NULL)
|
||||
return _msk[n];
|
||||
|
||||
TFilename name("77qb");
|
||||
|
||||
if (n == 0)
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAB:
|
||||
name << 'a';
|
||||
break;
|
||||
case LF_QUAB1:
|
||||
name << "1a";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
switch (_num)
|
||||
{
|
||||
case LF_QUAB:
|
||||
name << 'b';
|
||||
break;
|
||||
case LF_QUAB1:
|
||||
name << "1b";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
TMask* m = new TMask(name);
|
||||
m->set_handler(CODDITTA77, codditta77_handler);
|
||||
|
||||
switch (n)
|
||||
{
|
||||
case 0:
|
||||
if (QuadroB())
|
||||
{
|
||||
m->set_handler(QBF_CODDIP_QB, CodDipHandler);
|
||||
m->set_handler(QBF_CODDIP_ANAG, CodDipHandler);
|
||||
set_search_field(QBF_NPROG);
|
||||
}
|
||||
else
|
||||
{
|
||||
m->set_handler(QB1F_CODDIP_QB1, CodDipHandler);
|
||||
m->set_handler(QB1F_CODDIP_ANAG, CodDipHandler);
|
||||
set_search_field(QB1F_NPROG);
|
||||
}
|
||||
m->set_handler(QuadroB() ? QBF_NPROG : QB1F_NPROG, NprogExitHandler);
|
||||
break;
|
||||
case 1:
|
||||
if (m)
|
||||
if (QuadroB())
|
||||
{
|
||||
m->set_handler(QBF_TOTIMP, QBTotRedImpHandler);
|
||||
m->set_handler(QBF_ROPE, QBAmmRopeHandler);
|
||||
m->set_handler(QBF_AMMNETTO, QBTotIndennHandler);
|
||||
m->set_handler(QBF_AMMNETTO2, QBTotIndennHandler);
|
||||
m->set_handler(QBF_CONTLAV, QBTotIndennHandler);
|
||||
m->set_handler(QBF_TFR7494, QBTotIndennHandler);
|
||||
m->set_handler(QBF_INDEN7494, QBTotIndennHandler);
|
||||
}
|
||||
// m->disable(DLG_FINDREC);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
return _msk[n] = m;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::MaskConAnnoDic() const
|
||||
{
|
||||
return _MaskConAnnoDic;
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::on_config_change()
|
||||
{
|
||||
TConfig conf(CONFIG_STUDIO);
|
||||
_anno_dic = (int)conf.get_long(ANNO_SEL, NULL, -1, TDate(TODAY).year());
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::user_create()
|
||||
{
|
||||
_registra = FALSE;
|
||||
_rel = new TRelation(_num);
|
||||
_codditta = get_firm_770();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::user_destroy()
|
||||
{
|
||||
if (_quadro != "")
|
||||
if (_registra)
|
||||
_rip.set(_quadro);
|
||||
if (_msk[1] != NULL) delete _msk[1];
|
||||
if (_msk[0] != NULL) delete _msk[0];
|
||||
delete _rel;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Q.B. Controlla che ci sia diverso da ZERO il tot.red.imp.
|
||||
bool TQuadriBB1_application::CheckImporti(const TMask& m)
|
||||
{
|
||||
real TotRedImp(m.get(QBF_TOTIMP));
|
||||
return TotRedImp != ZERO;
|
||||
}
|
||||
|
||||
// Controlla se esiste gia' un record con lo stesso cod.dip.
|
||||
bool TQuadriBB1_application::EsisteGiaCodDip(const TMask& m)
|
||||
{
|
||||
TLocalisamfile q(_num);
|
||||
const long codip = m.get_long(QuadroB()? QBF_CODDIP : QB1F_CODDIP);
|
||||
q.zero();
|
||||
q.put(QB_CODDITTA, _codditta);
|
||||
q.put(QB_CODDIP, codip);
|
||||
TRectype dep(q.curr());
|
||||
q.read(_isgteq);
|
||||
const bool bEq = q.curr() == dep;
|
||||
return bEq;
|
||||
}
|
||||
|
||||
// Controlla se esiste gia' una chiave completa
|
||||
bool TQuadriBB1_application::EsisteGiaRecordDip(const TMask& m)
|
||||
{
|
||||
TLocalisamfile q(_num);
|
||||
const long codip = m.get_long(QuadroB()? QBF_CODDIP : QB1F_CODDIP);
|
||||
const long nprog = m.get_long(QuadroB()? QBF_NPROG : QB1F_NPROG);
|
||||
q.zero();
|
||||
q.put(QB_CODDITTA, _codditta);
|
||||
q.put(QB_CODDIP, codip);
|
||||
q.put(QB_NPROG, nprog);
|
||||
TRectype dep(q.curr());
|
||||
const bool bEq = q.read() == NOERR;
|
||||
return bEq;
|
||||
}
|
||||
|
||||
int TQuadriBB1_application::rewrite(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
const int err = _rel->rewrite();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
/*
|
||||
int TQuadriBB1_application::read(TMask& m)
|
||||
{
|
||||
int err;
|
||||
_rel->lfile().put("CODDITTA", (long)_codditta);
|
||||
_rel->lfile().put("CODDIP", (long)_lCodDip);
|
||||
_rel->lfile().put("NPROG", _iNprog);
|
||||
err = _rel->read();
|
||||
return err;
|
||||
}
|
||||
*/
|
||||
|
||||
int TQuadriBB1_application::write(const TMask& m)
|
||||
{
|
||||
m.autosave(_rel);
|
||||
if (QuadroB1())
|
||||
if (EsisteGiaRecordDip(m))
|
||||
return warning_box("E' già presente un record per questo dipendente");
|
||||
const int err = _rel->write();
|
||||
_registra = err == NOERR;
|
||||
return err;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::remove()
|
||||
{
|
||||
_registra = TRUE;
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::init_mask(TMask& m)
|
||||
{
|
||||
if (QuadroB())
|
||||
{
|
||||
// leggi dalla maschera di query, che' dovrebbero li' esservi sempre..
|
||||
const long codditta = _msk[0]->get_long(QBF_CODDITTA);
|
||||
const long codip = _msk[0]->get_long(QBF_CODDIP);
|
||||
if (codip==0L)
|
||||
return;
|
||||
if (is_erede(codditta,codip) && modifica(m))
|
||||
{
|
||||
m.disable(-GROUP_ALL);
|
||||
m.enable(-GROUP_EREDE);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.enable(-GROUP_ALL);
|
||||
if (is_deceduto(codditta,codip) || is_dipendente(codditta,codip))
|
||||
m.disable(-GROUP_DIPDEC);
|
||||
else
|
||||
m.enable(-GROUP_DIPDEC);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::init_modify_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
/*
|
||||
if (QuadroB())
|
||||
{
|
||||
m.set(QBF_CODDIP, _lCodDip);
|
||||
m.set(QBF_COGNOME, _sCognome);
|
||||
m.set(QBF_NOME, _sNome);
|
||||
m.set(QBF_NPROG, _iNprog);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.set(QB1F_CODDIP, _lCodDip);
|
||||
m.set(QB1F_COGNOME, _sCognome);
|
||||
m.set(QB1F_NOME, _sNome);
|
||||
m.set(QB1F_NPROG, _iNprog);
|
||||
}*/
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::init_insert_mode(TMask& m)
|
||||
{
|
||||
init_mask(m);
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::init_query_mode(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
if (QuadroB())
|
||||
{
|
||||
m.send_key(K_SHIFT+K_CTRL+'h', -QBG_ANADIP); // nasconde dipend.
|
||||
m.send_key(K_SHIFT+K_CTRL+'s', -QBG_QUADROB); // ricerca su B
|
||||
}
|
||||
else
|
||||
{
|
||||
m.send_key(K_SHIFT+K_CTRL+'h', -QB1G_ANADIP); // nasconde dipend.
|
||||
m.send_key(K_SHIFT+K_CTRL+'s', -QB1G_QUADROB); // ricerca su B
|
||||
}
|
||||
}
|
||||
|
||||
void TQuadriBB1_application::init_query_insert_mode(TMask& m)
|
||||
{
|
||||
m.set(ANNODIC77, _anno_dic);
|
||||
if (QuadroB())
|
||||
{
|
||||
m.send_key(K_SHIFT+K_CTRL+'h', -QBG_QUADROB); // group 1 Ricerca su ANAGR.DIPENDENTI
|
||||
m.send_key(K_SHIFT+K_CTRL+'s', -QBG_ANADIP); // group 2 Nasconde QUADROB
|
||||
}
|
||||
else
|
||||
{
|
||||
m.send_key(K_SHIFT+K_CTRL+'h', -QB1G_QUADROB); // group 1 Ricerca su ANAGR.DIPENDENTI
|
||||
m.send_key(K_SHIFT+K_CTRL+'s', -QB1G_ANADIP); // group 2 Nasconde QUADROB
|
||||
}
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::codditta77_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
TString16 codditta; codditta << app()._codditta;
|
||||
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 quadriB_B1(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];
|
||||
TQuadriBB1_application a(mask, num, quadro);
|
||||
a.run(argc, argv, title ? title : "Test Relation Application");
|
||||
return 0;
|
||||
}
|
||||
|
||||
//
|
||||
// CodDipHandler
|
||||
//
|
||||
// 1 - Controlla che il codice dipendente esista
|
||||
// 2 - Propone il primo progressivo disponibile per quel codice
|
||||
//
|
||||
bool TQuadriBB1_application::CodDipHandler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (!m.is_running()) return TRUE;
|
||||
|
||||
if (k == K_ENTER)
|
||||
{
|
||||
const long codip = atol(f.get());
|
||||
if (codip==0L)
|
||||
return TRUE;
|
||||
|
||||
if (!esiste_dipendente(app()._codditta, codip))
|
||||
return f.warning_box("Dipendente inesistente");
|
||||
}
|
||||
|
||||
if (k == K_TAB)
|
||||
{
|
||||
const long codip = atol(f.get());
|
||||
if (codip==0L)
|
||||
return TRUE;
|
||||
|
||||
if (!esiste_dipendente(app()._codditta, codip))
|
||||
return f.warning_box("Dipendente inesistente");
|
||||
|
||||
PrimoNprogLibero(m, app()._codditta, codip);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Compila cognome e nome se vuoti
|
||||
void TQuadriBB1_application::BB1SettaCognomeNome(TMask& m)
|
||||
{
|
||||
const int iDlgCognome = app().QuadroB() ? QBF_COGNOME : QB1F_COGNOME;
|
||||
const int iDlgNome = app().QuadroB() ? QBF_NOME : QB1F_NOME;
|
||||
const int iDlgNProg = app().QuadroB() ? QBF_NPROG : QB1F_NPROG;
|
||||
const int iProg = m.get_int(iDlgNProg);
|
||||
TString sCognome(m.get(iDlgCognome));
|
||||
TString sNome;
|
||||
if (app()._lCodDip != 0L)
|
||||
{
|
||||
TLocalisamfile dip (LF_DIPEND);
|
||||
dip.zero();
|
||||
dip.put(DIP_CODDITTA, app()._codditta);
|
||||
dip.put(DIP_CODIP, app()._lCodDip);
|
||||
if (dip.read() == NOERR)
|
||||
{
|
||||
sCognome = dip.get("COGNOME");
|
||||
sNome = dip.get("NOME");
|
||||
app()._sCognome = sCognome;
|
||||
app()._sNome = sNome;
|
||||
app()._iNprog = iProg;
|
||||
m.set(iDlgCognome, sCognome);
|
||||
m.set(iDlgNome, sNome);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::NprogExitHandler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (!m.is_running()) return TRUE;
|
||||
|
||||
if (k == K_TAB)
|
||||
{
|
||||
TString nprog(f.get());
|
||||
if (nprog.not_empty())
|
||||
{
|
||||
const int ID_CODDIP = app().QuadroB()? QBF_CODDIP : QB1F_CODDIP;
|
||||
const long codip = app()._lCodDip = m.get_long(ID_CODDIP);
|
||||
const long codditta = app()._codditta;
|
||||
// const long codip = m.get_long(ID_CODDIP);
|
||||
// const long codditta = app()._codditta;
|
||||
|
||||
if (codip==0L)
|
||||
return TRUE;
|
||||
|
||||
// Nel B1 e nel B (per gli eredi) può esserci un solo record per dipendente
|
||||
if (app().QuadroB1() || (app().QuadroB() && is_erede(codditta,codip)) )
|
||||
// Se esiste gia' un record per questo dipendente MA NON la chiave completa
|
||||
// (ora presente nella maschera) rifiuta il record
|
||||
// (impedisce cioe' di andare in inserimento, a meno che non sia la prima
|
||||
// volta, cioe' a meno che non esista ancora nessun record per il dip.
|
||||
// (questo caso e' segnalato dal fallimento della EsisteGiaCodDip) )
|
||||
if (app().EsisteGiaCodDip(m) && !app().EsisteGiaRecordDip(m))
|
||||
return warning_box("Esiste già una riga per questo dipendente");
|
||||
|
||||
// Compila cognome e nome se vuoti
|
||||
BB1SettaCognomeNome(m);
|
||||
m.stop_run(K_AUTO_ENTER);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::PrimoNprogLibero(TMask& m, const long codditta, const long codip)
|
||||
{
|
||||
// Propone il primo numero disponibile
|
||||
if (codip != 0L)
|
||||
{
|
||||
long nprog = 0L;
|
||||
const int id_nprog = app().QuadroB() ? QBF_NPROG : QB1F_NPROG;
|
||||
const bool erede = is_erede(codditta,codip);
|
||||
bool EsisteGiaDip = FALSE;
|
||||
TLocalisamfile qb(app()._num);
|
||||
qb.zero();
|
||||
qb.put(QB_CODDITTA, codditta);
|
||||
qb.put(QB_CODDIP, codip);
|
||||
TRectype dep(qb.curr());
|
||||
qb.read(_isgteq);
|
||||
TRecnotype lPosPrec = qb.recno();
|
||||
for ( ; !qb.eof(); qb.next())
|
||||
{
|
||||
if (qb.curr() > dep) break;
|
||||
EsisteGiaDip = TRUE;
|
||||
nprog = qb.get_long(QB_NPROG);
|
||||
}
|
||||
qb.readat(lPosPrec);
|
||||
|
||||
// Nel B se e' un erede si puo' solo andare in modifica
|
||||
// Nel B1 è consentito un solo record per dipendente
|
||||
if ( (nprog == 0) || (app().QuadroB1() && !EsisteGiaDip) ||
|
||||
(app().QuadroB() && !erede) )
|
||||
nprog++;
|
||||
|
||||
TString16 nprog_str; nprog_str << nprog;
|
||||
m.set(id_nprog, nprog_str);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// QUADRO B
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
bool TQuadriBB1_application::QBTotRedImpHandler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && !ricerca(m))
|
||||
{
|
||||
const long codditta = m.get_long(QBF_CODDITTA);
|
||||
const long codip = m.get_long(QBF_CODDIP);
|
||||
if (!is_erede(codditta,codip))
|
||||
{
|
||||
real totimp(f.get());
|
||||
if (totimp == ZERO)
|
||||
return f.warning_box("Il totale reddito imponibile non può essere nullo");
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TQuadriBB1_application::QBAmmRopeHandler(TMask_field& f, KEY k)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
if (k == K_ENTER && !ricerca(m))
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
const long codditta = m.get_long(QBF_CODDITTA);
|
||||
const long codip = m.get_long(QBF_CODDIP);
|
||||
if (!is_erede(codditta,codip))
|
||||
{
|
||||
real totimp(m.get(QBF_TOTIMP));
|
||||
real rope(f.get());
|
||||
if (rope > totimp)
|
||||
return f.warning_box("Il totale ritenute non può essere maggiore del totale reddito imponibile");
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// 23.5.96 Calcola totale indennità
|
||||
bool TQuadriBB1_application::QBTotIndennHandler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB)
|
||||
{
|
||||
const bool ricalcola = f.focusdirty();
|
||||
if (ricalcola)
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
real c20 = m.get_real(QBF_AMMNETTO);
|
||||
real c24 = m.get_real(QBF_AMMNETTO2);
|
||||
real c25 = m.get_real(QBF_CONTLAV);
|
||||
real c26 = m.get_real(QBF_TFR7494);
|
||||
real c27 = m.get_real(QBF_INDEN7494);
|
||||
|
||||
real c28 = c20 + c24 - c25 + c26 + c27;
|
||||
TString c28s(c28.string());
|
||||
m.set(QBF_TIND7494, c28s);
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
=======
|
||||
// quadb_b1.cpp
|
||||
#include <relapp.h>
|
||||
#include <urldefid.h>
|
||||
@ -592,4 +1191,5 @@ bool TQuadriBB1_application::QBTotIndennHandler(TMask_field& f, KEY k)
|
||||
}
|
||||
|
||||
>>>>>>> 1.3
|
||||
>>>>>>> 1.4
|
||||
|
@ -14,5 +14,6 @@
|
||||
#define QUC_PERC "PERC"
|
||||
#define QUC_RITENUTE "RITENUTE"
|
||||
#define QUC_NETTO "NETTO"
|
||||
#define QUC_CONTSSN "CONTSSN"
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user