Correzioni immissione

git-svn-id: svn://10.65.10.50/trunk@3177 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
nik 1996-07-10 08:41:25 +00:00
parent bb61a87476
commit 899cf84309
46 changed files with 1456 additions and 734 deletions

View File

@ -312,6 +312,7 @@ BEGIN
ITEM "Numero-CAB@11"
ITEM "Progressivo banca"
ITEM "Ritenuta@15"
// ITEM "NUMVERS"
WARNING "Versamento inconsistente"
END

View File

@ -101,9 +101,8 @@ STRING 105 5
BEGIN
PROMPT 16 5 ""
FIELD LF_RVER->SERIE
FLAGS "G"
WARNING "Inserire la serie"
HELP "Inserire la serie"
FLAGS "ZG"
WARNING "Inserire la serie/codice ABI"
GROUP 1 2 4 6
END
@ -119,7 +118,7 @@ BEGIN
GROUP 1 2 3 4 5
END
STRING 72 5
NUMBER 72 5
BEGIN
PROMPT 39 5 ""
FIELD LF_RVER->NUMERO
@ -127,7 +126,7 @@ BEGIN
WARNING "Inserire il codice CAB"
HELP "CODICE CAB LUNGO 5"
MESSAGE COPY,106
FLAGS "HG"
FLAGS "HZG"
GROUP 2 6
END
@ -135,6 +134,7 @@ NUMBER 107 6
BEGIN
PROMPT 2 6 "Progressivo per versamento banca "
FLAGS "DZ"
// FLAGS "Z"
GROUP 2 6
END
@ -153,8 +153,8 @@ END
NUMBER VERF_NUMVERS 6
BEGIN
PROMPT 1 8 "NUMVERS "
FLAGS "H"
PROMPT 80 80 "NUMVERS "
FLAGS "D"
END
BUTTON DLG_OK 9 2

View File

@ -262,19 +262,26 @@ void TSchedaPercipienti::load_pag_sheet(const long numvers)
if (nvers == numvers)
_selected.set(npag);
const int LARGHEZZA_COL = 15;
d->add(" "); // 0 spazio per la 'X' di selezione
TString16 dep (riga.get(0));
TString dep(riga.get(0));
d->add(dep); // 1 data pagamento
comp = riga.get(1);
d->add(comp.string(".")); // 2 compenso
dep = comp.string(".");
dep.right_just(LARGHEZZA_COL);
d->add(dep); // 2 compenso
spese = riga.get(2);
d->add(spese.string(".")); // 3 spese
dep = spese.string(".");
dep.right_just(LARGHEZZA_COL);
d->add(dep); // 3 spese
// NB
// se cambia posizione nriga o ritpag nella tokenstring cambia
// anche in pag_select()!
ritpag = riga.get(SS_POS_RITPAG);
d->add(ritpag.string("."));
dep = ritpag.string(".");
dep.right_just(LARGHEZZA_COL);
d->add(dep);
d->add(nriga, SS_POS_NRIGA);
// Metto nell'array-sheet anche NUMVERS

View File

@ -123,9 +123,17 @@ bool TVersa_rit::create()
_luogo = _msk->get(F_LUOGO)[0];
_tipo = _msk->get(F_TIPO)[0];
_versato = real(_msk->get(F_VERSATO));
if (_tipo == DELEGA_BANCARIA)
{
_serie = _msk->get(F_ABI);
_numero = _msk->get(F_CAB);
}
else
{
_serie = _msk->get(F_SERIE);
_numero = _msk->get(F_NUMERO);
}
}
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODANAGRPERC);
@ -301,8 +309,7 @@ bool TVersa_rit::ha_pagamenti_non_versati(const long codditta,char tipoa,const l
while (rpag.curr() == dep && !rpag.eof())
{
// numvers = rpag.get_long("NUMVERS");
numvers = rpag.get_long("NRIGA");
numvers = rpag.get_long("NUMVERS");
nriga = rpag.get_int("NRIGA");
ritpag = rpag.get_real("RITENUTA");
if (numvers <= 0)

View File

@ -15,4 +15,7 @@
#define F_CODANAGRPERC 112
#define F_TIPOA 113
#define F_ABI 114
#define F_CAB 115
#endif

View File

@ -170,25 +170,41 @@ BEGIN
END
*/
NUMBER F_ABI 5
BEGIN
PROMPT 16 7 ""
FLAGS "Z"
WARNING "Inserire il codice CAB"
GROUP 2 6
END
NUMBER F_CAB 6
BEGIN
PROMPT 39 7 ""
FLAGS "Z"
WARNING "Inserire il codice CAB"
GROUP 2 6
END
STRING F_SERIE 5
BEGIN
PROMPT 16 7 ""
// VALIDATE REQIF_FUNC 2 103 104
CHECKTYPE REQUIRED
FLAGS "G"
WARNING "Inserire il numero di serie/codice CAB"
WARNING "Inserire il numero di serie"
HELP "Inserire la serie"
GROUP 1 2 4 6
GROUP 1 2 4
END
STRING F_NUMERO 11
BEGIN
PROMPT 39 7 ""
VALIDATE REQIF_FUNC 2 103 104
WARNING "Inserire il numero/codice ABI/quietanza"
WARNING "Inserire il numero/quietanza"
HELP "Inserire il numero"
FLAGS "G"
GROUP 1 2 3 4 5 6
GROUP 1 2 3 4 5
END
NUMBER F_VERSATO 15

View File

@ -10,6 +10,7 @@ END
BUTTON F_ATTIVITA 10 2
BEGIN
PROMPT -25 -1 "~Attivita'"
MESSAGE K_TAB,F_ATTIV
END
BUTTON DLG_SAVEREC 10 2
@ -94,6 +95,7 @@ BEGIN
FLAGS "H"
END
/*
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attivita' "
@ -105,6 +107,21 @@ BEGIN
CHECKTYPE REQUIRED
FLAGS "D"
END
*/
STRING F_ATTIV 5
BEGIN
PROMPT 1 4 "Attivita' "
USE LF_ATTIV
INPUT CODDITTA F_CODDITTA SELECT
INPUT CODATT F_ATTIV
DISPLAY "Attivita'" CODATT
DISPLAY "Prevalente" ATTPREV
DISPLAY " @50" DESCR
OUTPUT F_DESCRATT DESCR
CHECKTYPE REQUIRED
FLAGS "D"
END
STRING F_DESCRATT 50
BEGIN

View File

@ -1,8 +1,44 @@
#include "771100.h"
TOOLBAR "" 0 20 0 2
BUTTON DLG_SAVEREC 8 2
BEGIN
PROMPT -16 -1 "~Registra"
FLAGS "D"
MESSAGE EXIT,K_SAVE
END
#include <toolbar.h>
BUTTON DLG_NEWREC 8 2
BEGIN
PROMPT -26 -1 "~Nuovo"
MESSAGE EXIT,K_INS
FLAGS "D"
END
BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL
FLAGS "D"
END
BUTTON DLG_FINDREC 8 2
BEGIN
PROMPT -46 -1 "Ri~cerca"
MESSAGE EXIT,K_F9
FLAGS "D"
END
BUTTON DLG_CANCEL 8 2
BEGIN
PROMPT -56 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -66 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE

View File

@ -34,13 +34,13 @@ NUMBER ADF_DIP_CODDIP 6
BEGIN
PROMPT 1 3 "Codice dipendente "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
FIELD LF_DIPEND->CODIP
FIELD LF_DIPEND->CODDIP
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP ADF_DIP_CODDIP
DISPLAY "Codice dipendente" CODIP
INPUT CODDIP ADF_DIP_CODDIP
DISPLAY "Codice dipendente" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT ADF_DIP_CODDIP CODIP
OUTPUT ADF_DIP_CODDIP CODDIP
OUTPUT F_DIP_COGNOME COGNOME
OUTPUT F_DIP_NOME NOME
FLAGS "R"
@ -58,7 +58,7 @@ BEGIN
PROMPT 1 5 "Codice fiscale "
FLAGS "U"
FIELD LF_DIPEND->CODFI
VALIDATE CF_FUNC F_DIP_CODFI
VALIDATE XTCF_FUNC F_DIPCODFI F_DIP_SESSO F_DIP_DATANA ADF_CODCOMNASC
END
STRING F_DIP_COGNOME 24
@ -83,21 +83,37 @@ END
DATA F_DIP_DATANA
BEGIN
PROMPT 1 8 "Data di nascita "
PROMPT 35 7 "Data di nascita "
FIELD LF_DIPEND->DATANA
END
STRING F_DIP_COMUNENA 20
STRING ADF_CODCOMNASC 4
BEGIN
PROMPT 37 8 "Comune di nascita "
PROMPT 1 8 "Codice Comune di nascita "
USE LF_COMUNI
INPUT COM ADF_CODCOMNASC
#include <comdcod.h>
CHECKYPE NORMAL
OUTPUT ADF_COMNASC DENCOM
OUTPUT F_DIP_PROVNA PROVCOM
FLAGS "HG"
END
STRING ADF_COMNASC 50
BEGIN
PROMPT 1 8 "Comune di nascita "
USE LF_COMUNI KEY 2
INPUT DENCOM ADF_COMNASC
#include <comdcod.h>
OUTPUT ADF_COMNASC DENCOM
OUTPUT F_DIP_PROVNA PROVCOM
FIELD LF_DIPEND->COMUNENA
END
STRING F_DIP_PROVNA 2
BEGIN
PROMPT 1 9 "Provincia di nasc."
PROMPT 1 9 "Provincia di nascita "
FIELD LF_DIPEND->PROVNA
FLAGS "U"
END
GROUPBOX DLG_NULL 78 4
@ -105,23 +121,27 @@ BEGIN
PROMPT 0 11 "Residenza"
END
STRING F_DIP_INDRE 24
STRING ADF_COMRES 50
BEGIN
PROMPT 1 12 "Indirizzo "
FIELD LF_DIPEND->INDRES
END
STRING F_DIP_COMUNERE 20
BEGIN
PROMPT 1 13 "Comune "
PROMPT 1 12 "Comune "
USE LF_COMUNI KEY 2
INPUT DENCOM ADF_COMRES
#include <comdcod.h>
OUTPUT ADF_COMRES DENCOM
OUTPUT F_DIP_PROVRE PROVCOM
FIELD LF_DIPEND->COMRES
END
STRING F_DIP_PROVRE 2
BEGIN
PROMPT 61 13 "Provincia "
PROMPT 1 13 "Provincia "
FIELD LF_DIPEND->PROVRES
FLAGS "U"
END
STRING F_DIP_INDRE 24
BEGIN
PROMPT 22 13 "Indirizzo "
FIELD LF_DIPEND->INDRES
END
NUMBER F_DIP_QUALIFICA 2
@ -142,7 +162,7 @@ BEGIN
ITEM "10|Ministri di culto"
ITEM "11|Eredi"
FLAG "Z"
WARNING "Manca la qualifica"
WARNING "Qualifica errata"
OUTPUT F_DIP_QUALIFICA
END
@ -164,15 +184,16 @@ END
NUMBER ADF_CODDIPDEC 6
BEGIN
PROMPT 1 16 "Codice dipendente deceduto "
USE LF_DIPEND KEY 1 SELECT ((CODIP!=#ADF_DIP_CODDIP) && (CODDITTA=#ADF_CODDITTA))
USE LF_DIPEND KEY 1 SELECT ((CODDITTA==#ADF_CODDITTA)&&(CODDIP!=#ADF_DIP_CODDIP)&&(QUALIFICA!="11"))
FIELD LF_DIPEND->CODDIPDEC
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP ADF_CODDIPDEC
DISPLAY "Codice dipendente" CODIP
INPUT CODDIP ADF_CODDIPDEC
DISPLAY "Codice dipendente" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT ADF_CODDIPDEC CODIP
FLAGS "R"
OUTPUT ADF_CODDIPDEC CODDIP
VALIDATE NOT_EMPTY_CHECK_FIELD
// CHECKTYPE NORMAL
END
LISTBOX ADF_ASSFIS 1 40
@ -193,17 +214,17 @@ BEGIN
PROMPT 1 1 "Eredi"
END
NUMBER F_DIP_CODEREDE0 5
NUMBER F_DIP_CODEREDE0 6
BEGIN
PROMPT 3 2 "Codice "
FIELD LF_DIPEND->CODEREDE0
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE0
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE0
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE0 CODIP
OUTPUT F_DIP_CODEREDE0 CODDIP
OUTPUT F_DIP_COGNEREDE0 COGNOME
OUTPUT F_DIP_NOMEREDE0 NOME
FLAG "DGR"
@ -222,17 +243,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE1 5
NUMBER F_DIP_CODEREDE1 6
BEGIN
PROMPT 11 3 ""
FIELD LF_DIPEND->CODEREDE1
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE1
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE1
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE1 CODIP
OUTPUT F_DIP_CODEREDE1 CODDIP
OUTPUT F_DIP_COGNEREDE1 COGNOME
OUTPUT F_DIP_NOMEREDE1 NOME
CHECKTYPE NORMAL
@ -251,17 +272,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE2 5
NUMBER F_DIP_CODEREDE2 6
BEGIN
PROMPT 11 4 ""
FIELD LF_DIPEND->CODEREDE2
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE2
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE2
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE2 CODIP
OUTPUT F_DIP_CODEREDE2 CODDIP
OUTPUT F_DIP_COGNEREDE2 COGNOME
OUTPUT F_DIP_NOMEREDE2 NOME
CHECKTYPE NORMAL
@ -280,17 +301,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE3 5
NUMBER F_DIP_CODEREDE3 6
BEGIN
PROMPT 11 5 ""
FIELD LF_DIPEND->CODEREDE3
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE3
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE3
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE3 CODIP
OUTPUT F_DIP_CODEREDE3 CODDIP
OUTPUT F_DIP_COGNEREDE3 COGNOME
OUTPUT F_DIP_NOMEREDE3 NOME
CHECKTYPE NORMAL
@ -309,17 +330,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE4 5
NUMBER F_DIP_CODEREDE4 6
BEGIN
PROMPT 11 6 ""
FIELD LF_DIPEND->CODEREDE4
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE4
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE4
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE4 CODIP
OUTPUT F_DIP_CODEREDE4 CODDIP
OUTPUT F_DIP_COGNEREDE4 COGNOME
OUTPUT F_DIP_NOMEREDE4 NOME
FLAG "DR"
@ -338,17 +359,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE5 5
NUMBER F_DIP_CODEREDE5 6
BEGIN
PROMPT 11 7 ""
FIELD LF_DIPEND->CODEREDE5
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE5
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE5
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE5 CODIP
OUTPUT F_DIP_CODEREDE5 CODDIP
OUTPUT F_DIP_COGNEREDE5 COGNOME
OUTPUT F_DIP_NOMEREDE5 NOME
FLAG "DR"
@ -367,17 +388,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE6 5
NUMBER F_DIP_CODEREDE6 6
BEGIN
PROMPT 11 8 ""
FIELD LF_DIPEND->CODEREDE6
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE6
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE6
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE6 CODIP
OUTPUT F_DIP_CODEREDE6 CODDIP
OUTPUT F_DIP_COGNEREDE6 COGNOME
OUTPUT F_DIP_NOMEREDE6 NOME
FLAG "DR"
@ -396,17 +417,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE7 5
NUMBER F_DIP_CODEREDE7 6
BEGIN
PROMPT 11 9 ""
FIELD LF_DIPEND->CODEREDE7
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE7
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE7
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE7 CODIP
OUTPUT F_DIP_CODEREDE7 CODDIP
OUTPUT F_DIP_COGNEREDE7 COGNOME
OUTPUT F_DIP_NOMEREDE7 NOME
FLAG "DR"
@ -425,17 +446,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE8 5
NUMBER F_DIP_CODEREDE8 6
BEGIN
PROMPT 11 10 ""
FIELD LF_DIPEND->CODEREDE8
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE8
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE8
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE8 CODIP
OUTPUT F_DIP_CODEREDE8 CODDIP
OUTPUT F_DIP_COGNEREDE8 COGNOME
OUTPUT F_DIP_NOMEREDE8 NOME
FLAG "DR"
@ -454,17 +475,17 @@ BEGIN
FLAG "D"
END
NUMBER F_DIP_CODEREDE9 5
NUMBER F_DIP_CODEREDE9 6
BEGIN
PROMPT 11 11 ""
FIELD LF_DIPEND->CODEREDE9
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#ADF_CODDITTA))
INPUT CODDITTA ADF_CODDITTA
INPUT CODIP F_DIP_CODEREDE9
DISPLAY "Codice" CODIP
INPUT CODDIP F_DIP_CODEREDE9
DISPLAY "Codice" CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_DIP_CODEREDE9 CODIP
OUTPUT F_DIP_CODEREDE9 CODDIP
OUTPUT F_DIP_COGNEREDE9 COGNOME
OUTPUT F_DIP_NOMEREDE9 NOME
FLAG "DR"

View File

@ -15,12 +15,10 @@
#include <nditte.h>
#include <defmask.h>
#include "77lib.h"
#include "dipend.h"
#include "quadroa.h"
#include "quadroa3.h"
#include "soctrasf.h"
#include "771200.h"
#include "774200.h"
@ -65,8 +63,7 @@ class TQuadroA : public TRelation_application
TRiporti _rip;
int _file;
bool _soc_trasf;
TString _cognome,_nome;
long _codditta,_codip;
TString _cognome,_nome; // dati soc.trasf.
private:
// Handler relativi ai quadri A - A1 - A2 - A3
@ -84,13 +81,18 @@ class TQuadroA : public TRelation_application
static bool QA_check_ritdovute (TMask_field& f, KEY key);
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);
// Handler relativi alla manutenzione quadro A3
static bool QA3_codip_handler (TMask_field& f, KEY key);
static bool QA3_base_occupazionale(TMask_field& f, KEY key);
static bool QA3_nprog (TMask_field& f, KEY key);
void AA3SettaCognomeNome(TMask& m);
protected:
TString _sCognome, _sNome; // dati dipendente
int _iNprog;
long _codditta,_codip;
virtual bool user_create();
virtual bool user_destroy();
virtual int rewrite(const TMask& m);
@ -203,17 +205,19 @@ TMask* TQuadroA::load_mask(int n)
if (!QuadroA3())
{
m->set_handler(QAF_NPROG, nprog_handler);
m->set_handler(F_CODIP, codanagr_handler);
m->set_handler(F_CODANAGDIP, codanagr_handler);
m->set_handler(F_CODANAGDIPQA, codanagr_handler);
}
else
{
m->set_handler(QAF_NPROG, QA3_nprog);
m->set_handler(F_CODIP, QA3_codip_handler);
m->set_handler(F_CODANAGDIP, QA3_codip_handler);
m->set_handler(F_BASEOCCUPA, QA3_base_occupazionale);
}
}
break;
case 1:
m->disable(DLG_FINDREC);
if (m)
{
if (QuadroA2())
@ -230,11 +234,9 @@ TMask* TQuadroA::load_mask(int n)
m->set_handler(F_RETCON56, QA_A2_check_58);
// Se 27=0 => 25 deve = 0
m->set_handler(F_IACOBBCD25, QA_check_2527);
// Calcola il totale imponibile (c.27)
m->set_handler(F_AMMLORDO24, QA_tot_impon_hnd);
m->set_handler(QAF_SVNSOGRIT, QA_tot_impon_hnd);
m->set_handler(F_DETCC, QA_tot_detraz_hnd);
m->set_handler(F_DETFC, QA_tot_detraz_hnd);
m->set_handler(F_DETAF, QA_tot_detraz_hnd);
@ -244,14 +246,21 @@ TMask* TQuadroA::load_mask(int n)
m->set_handler(F_AMRIODL38, QA_chech_ritdatlav);
// Controlla che 42 = 39 + 40 - 41
m->set_handler(F_AMMRITDOV, QA_check_ritdovute);
// Calcolo: 30 = 23+27+28+29
m->set_handler(F_COMPNETTI, QA_calcolo30);
m->set_handler(F_TOTIMP26, QA_calcolo30);
m->set_handler(F_AIEREP23, QA_calcolo30);
m->set_handler(F_CCTAMMCONT, QA_calcolo30);
}
}
break;
default:
break;
}
m->disable(DLG_FINDREC);
if (QuadroA3())
set_search_field(F_CODIPQUADRO);
else
set_search_field(QAF_NPROG);
return _msk[n] = m;
}
@ -266,10 +275,8 @@ bool TQuadroA::is_societa_trasformata(TMask& m)
{
_cognome = soc.get(SOC_DENOMIN);
_nome = soc.get(SOC_NOME);
return TRUE;
}
return FALSE;
}
@ -284,7 +291,7 @@ bool TQuadroA::setta_nprog(TMask_field& f)
quadro.zero();
quadro.put("CODDITTA", codditta);
quadro.put("CODIP", coddip);
quadro.put("CODDIP", coddip);
TRectype rec(quadro.curr());
@ -313,7 +320,7 @@ bool TQuadroA::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);
@ -325,15 +332,59 @@ bool TQuadroA::codditta_hnd(TMask_field& f, KEY k)
bool TQuadroA::codanagr_handler(TMask_field& f, KEY k)
{
if (k == K_TAB && f.focusdirty())
if (!f.mask().is_running()) return TRUE;
/* if (k == K_ENTER)
{
TString16 dummy(f.get());
if (dummy.not_empty())
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)
{
const long coddip = atol(f.get());
if (coddip != 0L)
{
const long codditta = get_firm_770();
if (!esiste_dipendente(codditta, coddip))
return f.warning_box("Dipendente inesistente");
else
setta_nprog(f);
}
}
return TRUE;
}
void TQuadroA::AA3SettaCognomeNome(TMask& m)
{
const int iDlgCognome = QAF_COGNOME;
const int iDlgNome = QAF_NOME;
const int iDlgNProg = QAF_NPROG;
const int iProg = m.get_int(iDlgNProg);
TString sCognome(m.get(iDlgCognome));
TString sNome;
if (app()._codip != 0L)
{
TLocalisamfile dip (LF_DIPEND);
dip.zero();
dip.put(DIP_CODDITTA, app()._codditta);
dip.put(DIP_CODIP, app()._codip);
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);
}
}
}
// Passa al modo inserimento/modifica.
bool TQuadroA::nprog_handler(TMask_field& f, KEY key)
{
@ -342,17 +393,22 @@ bool TQuadroA::nprog_handler(TMask_field& f, KEY key)
if (key == K_TAB)
{
const int nprog = atoi(f.get());
if (nprog==0) return TRUE;
if (nprog==0)
return TRUE;
const long coddip = f.mask().get_long(F_CODIP);
const long codditta = get_firm_770();
if ( (is_erede(codditta,coddip)) && nprog > 1)
return error_box("Il dipendente selezionato e' un erede: non e'\n possibile indicare piu' di un rigo sul quadro A");
else
{
app()._codip = coddip;
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)
}
}
return TRUE;
}
@ -371,11 +427,22 @@ bool TQuadroA::QA3_codip_handler(TMask_field& f, KEY key)
{
if (!f.mask().is_running()) return TRUE;
if (key == K_ENTER)
{
const long coddip = atol(f.get());
if (coddip==0) return TRUE;
const long codditta = get_firm_770();
if (!esiste_dipendente(codditta, coddip))
return f.warning_box("Dipendente inesistente");
}
if (key == K_TAB)
{
const long coddip = atol(f.get());
if (coddip==0) return TRUE;
const long codditta = get_firm_770();
if (!esiste_dipendente(codditta, coddip))
return f.warning_box("Dipendente inesistente");
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)
}
@ -383,18 +450,14 @@ bool TQuadroA::QA3_codip_handler(TMask_field& f, KEY key)
}
// Se CF dat.lav.prec. e' vuoto => mette a ZERO il 19 e lo disabilita
// 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);
f.mask().disable(F_CAUSA);
}
else
f.mask().enable(F_CAUSA);
}
return TRUE;
}
@ -451,21 +514,30 @@ bool TQuadroA::QA_A2_check_58(TMask_field& f, KEY k)
{
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);
if (cod == "B")
{
if (!QA_cerca_codA(codditta, coddip, app()._quadro))
return error_box("Non esiste nessun record con 58=A per questo dipendente");
return error_box(app().QuadroA2() ?
"Non esiste nessun record con 9=A per questo dipendente" :
"Non esiste nessun record con 58=A per questo dipendente");
else
{
// Nasconde prompt 770 mostra prompt 730
m.hide(-6);
m.show(-7);
m.disable(-G_ALL);
m.hide(-G_770);
// m.reset(-G_ALL);
m.show(-G_730);
}
}
// Nasconde prompt 730 mostra prompt 770
else
{
m.hide(-7);
m.show(-6);
m.hide(-G_730);
m.show(-G_770);
m.enable(-G_ALL);
}
}
return TRUE;
@ -478,9 +550,7 @@ bool TQuadroA::QA_comp_netti_hnd (TMask_field& f, KEY k)
real denaro = f.mask().get_real(F_DENARO);
real natura = f.mask().get_real(F_NATURA);
real cobbdip = f.mask().get_real(F_COBBDIP21);
real compnetti = denaro + natura - cobbdip;
f.mask().set(F_COMPNETTI, compnetti);
f.send_key(K_TAB,F_COMPNETTI);
}
@ -510,22 +580,36 @@ bool TQuadroA::QA_tot_detraz_hnd (TMask_field& f, KEY k)
{
if (k == K_TAB)
{
bool ForzaRicalcolo = FALSE;
real totdet36 = f.mask().get_real(F_TOTDET36);
ForzaRicalcolo = f.focusdirty();
if (ForzaRicalcolo)
{
real detcc = f.mask().get_real(F_DETCC);
real detfc = f.mask().get_real(F_DETFC);
real detaf = f.mask().get_real(F_DETAF);
real detld = f.mask().get_real(F_DETLD);
real deto = f.mask().get_real(F_DETO);
TMask& m = f.mask();
real totdet36 = m.get_real(F_TOTDET36);
real detcc = m.get_real(F_DETCC);
real detfc = m.get_real(F_DETFC);
real detaf = m.get_real(F_DETAF);
real detld = m.get_real(F_DETLD);
real deto = m.get_real(F_DETO);
totdet36 = detcc + detfc + detaf + detld + deto;
f.mask().set(F_TOTDET36, totdet36);
m.set(F_TOTDET36, totdet36);
// disabilita il campo 37 se uno almeno da 32 a 36 e' compilato
if (totdet36 != ZERO)
m.disable(F_TOTDET36);
else
m.enable(F_TOTDET36);
}
return TRUE;
}
bool TQuadroA::QA_calcolo30(TMask_field& f, KEY k)
{
if (k == K_TAB)
{
TMask& m = f.mask();
real c30 = m.get_real(F_TOTIMP29);
real c23 = m.get_real(F_COMPNETTI);
real c27 = m.get_real(F_TOTIMP26);
real c28 = m.get_real(F_AIEREP23);
real c29 = m.get_real(F_CCTAMMCONT);
c30 = c23 + c27 + c28 + c29;
m.set(F_TOTIMP29, c30);
}
return TRUE;
}
@ -535,7 +619,7 @@ bool TQuadroA::QA3_base_occupazionale(TMask_field& f , KEY k)
if (k == K_SPACE)
{
TString appname(30);
appname.format("773mod -1 771200i 37 \"%s\" 0", "Base occupati");
appname.format("773mod -1 771200i 37 \"%s\" 0", "Base occupazionale");
TExternal_app a(appname);
a.run();
}
@ -593,7 +677,7 @@ void TQuadroA::registra_record2_A3(const TMask& m)
int TQuadroA::rewrite(const TMask& m)
{
if (_tipoq == '3' && _soc_trasf)
if (QuadroA3() && _soc_trasf)
registra_record2_A3(m);
m.autosave(_rel);
@ -605,7 +689,7 @@ int TQuadroA::rewrite(const TMask& m)
int TQuadroA::write(const TMask& m)
{
if (_tipoq == '3' && _soc_trasf)
if (QuadroA3() && _soc_trasf)
registra_record2_A3(m);
m.autosave(_rel);
@ -630,7 +714,7 @@ void TQuadroA::cancella_record2_A3()
bool TQuadroA::remove()
{
if (_tipoq == '3' && _soc_trasf)
if (QuadroA3() && _soc_trasf)
cancella_record2_A3();
_registra = TRUE;
return TRelation_application::remove();
@ -663,6 +747,8 @@ bool TQuadroA::user_create()
_qd = new TLocalisamfile(_file);
_rel = new TRelation(_file);
_codditta = get_firm_770();
set_search_field(F_CODANAGDIP);
_registra = FALSE;
@ -789,35 +875,33 @@ void TQuadroA::init_query_mode(TMask& m)
{
m.set(QAF_ANNODIC, _anno_dic);
if (_tipoq == '3')
if (QuadroA3())
{
_soc_trasf = is_societa_trasformata(m);
if (_soc_trasf)
carica_record2_A3(m);
}
if (_tipoq != '3')
else
{
// forza il ricalcolo dell'ultimo numero disponibile
TString16 dummy(m.get(QAF_NPROG));
if (dummy.not_empty())
setta_nprog(m.field(QAF_NPROG));
}
m.send_key(K_SHIFT+K_CTRL+'h', -1); // nasconde (hide) group 1 - Scelta ANAGR
m.send_key(K_SHIFT+K_CTRL+'s', -2); // abilita (show) group 2 - Ricerca su DATI PERC
m.send_key(K_SHIFT+K_CTRL+'h', -1); // hide group 1 -nasconde DIPEND.
m.send_key(K_SHIFT+K_CTRL+'s', -2); // show group 2 -Ricerca su QUADRO A
}
void TQuadroA::init_query_insert_mode(TMask& m)
{
m.set(QAF_ANNODIC, _anno_dic);
m.send_key(K_SHIFT+K_CTRL+'h', -2); // group 3 Nasconde ricerca su PERC
m.send_key(K_SHIFT+K_CTRL+'s', -1); // group 1 Ricerca su ANAGR
m.send_key(K_SHIFT+K_CTRL+'h', -2); // group 2 Nasconde ricerca su QUADROA
m.send_key(K_SHIFT+K_CTRL+'s', -1); // group 1 Ricerca su ANAGR.DIPENDENTI
}
void TQuadroA::init_modify_mode(TMask& m)
{
if (_tipoq == '3')
if (QuadroA3())
{
_codditta = m.get_long(QAF_CODDITTA);
_codip = m.get_long(F_CODIP);
@ -835,7 +919,7 @@ void TQuadroA::init_modify_mode(TMask& m)
void TQuadroA::init_insert_mode(TMask& m)
{
if (_tipoq == '3')
if (QuadroA3())
{
_codditta = m.get_long(QAF_CODDITTA);
_codip = m.get_long(F_CODIP);

View File

@ -177,3 +177,9 @@
#define QA2F_730NLIQ 419
#define F_CODANAGDIPQA 420
#define G_ALL 6
#define G_730 7
#define G_770 9

View File

@ -3,6 +3,9 @@ TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "MODULO 770 - Manutenzione Quadro A" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
@ -43,7 +46,7 @@ NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA->CODIP
FIELD LF_QUAA->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
@ -53,17 +56,38 @@ BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
DISPLAY "Codice " CODIP
INPUT CODDIP F_CODANAGDIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, F_CODIP
FLAGS "H"
GROUP G_DIPEND
END
NUMBER F_CODANAGDIPQA 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAA KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIPQA
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_COGNOME LF_DIPEND->COGNOME
OUTPUT QAF_NOME LF_DIPEND->NOME
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 8 ""
@ -81,15 +105,16 @@ BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAA KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODIP=CODIP
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
INPUT NPROG QAF_NPROG
DISPLAY "Codice@10" CODIP
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_NPROG NPROG
FIELD LF_QUAA->NPROG
KEY 1

View File

@ -15,22 +15,24 @@ BEGIN
FLAGS "H"
FIELD LF_QUAA->CODDITTA
KEY 1
GROUP 8
MESSAGE COPY,1@
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA->CODIP
FIELD LF_QUAA->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
GROUP 8
MESSAGE COPY,2@
KEY 1
END
@ -39,6 +41,7 @@ STRING QAF_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
GROUP 8
MESSAGE COPY,3@
END
@ -46,6 +49,7 @@ STRING QAF_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
GROUP 8
MESSAGE COPY,4@
END
@ -55,6 +59,7 @@ BEGIN
FIELD LF_QUAA->NPROG
FLAGS "DG"
KEY 1
GROUP 8
MESSAGE COPY,5@
END
@ -72,6 +77,7 @@ BEGIN
ITEM "C|Area produzione"
ITEM "D|Aree non definite"
FIELD LF_QUAA->AREAATT
GROUP G_ALL
END
STRING QAF_TIPOATT 1
@ -85,18 +91,21 @@ BEGIN
ITEM "C|Formazione lavoro"
OUTPUT QAF_TIPOATT
FIELD LF_QUAA->TIPO
GROUP G_ALL
END
NUMBER F_NUMGIORNI 3
BEGIN
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 "
FIELD LF_QUAA->DATAFR
GROUP G_ALL
END
NUMBER QAF_GIODET 3
@ -105,6 +114,7 @@ BEGIN
FIELD LF_QUAA->NUMGIODET
NUM_EXPR {(#THIS>=0)&&(#THIS<=366)}
WARNING "I giorni detrazione per lav.dip. devono essere compresi tra 0 e 366"
GROUP G_ALL
END
STRING F_CODFISDL 16
@ -113,6 +123,7 @@ BEGIN
FIELD LF_QUAA->CFDLPREC
FLAGS "U"
VALIDATE CF_FUNC F_CODFISDL
GROUP G_ALL
END
NUMBER F_CAUSA 1
@ -127,7 +138,10 @@ BEGIN
ITEM "3|Conferimento o cessione a titolo oneroso"
ITEM "4|Esercizio della facolta' prevista da art.23, comma 7, D.P.R. 600/73"
ITEM "5|Altro"
ITEM "6|Forme pensionistiche complementari (I num.d'ordine)"
ITEM "7|Forme pensionistiche complementari (II num.d'ordine)"
OUTPUT F_CAUSA
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
@ -140,6 +154,7 @@ BEGIN
PROMPT 2 9 "20 in denaro "
FIELD LF_QUAA->DENARO
PICTURE "."
GROUP G_ALL
END
NUMBER F_NATURA 15
@ -147,6 +162,7 @@ BEGIN
PROMPT 45 9 "21 in natura "
FIELD LF_QUAA->NATURA
PICTURE "."
GROUP G_ALL
END
NUMBER F_COBBDIP21 15
@ -155,6 +171,7 @@ BEGIN
HELP "Contributi obbligatori a carico del dipendente"
FIELD LF_QUAA->COBBDIP
PICTURE "."
GROUP G_ALL
END
NUMBER F_COMPNETTI 15
@ -162,9 +179,9 @@ BEGIN
PROMPT 45 11 "23 compensi netti"
FIELD LF_QUAA->COMPNETTI
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 13 "@bIndennita' e assegni ex Art.48, C.4 e 5, T.U.I.R."
@ -175,6 +192,7 @@ BEGIN
PROMPT 2 14 "24 ammontare lordo "
FIELD LF_QUAA->AMMLORDO
PICTURE "."
GROUP G_ALL
END
NUMBER F_IACOBBCD25 15
@ -183,6 +201,7 @@ BEGIN
FIELD LF_QUAA->IACOBBCD
PICTURE "."
HELP "Contributi obbligatori a carico del dipendente"
GROUP G_ALL
END
NUMBER QAF_SVNSOGRIT 15
@ -190,6 +209,7 @@ BEGIN
PROMPT 2 15 "26 som.v.non sog.rit."
FIELD LF_QUAA->NORIT
PICTURE "."
GROUP G_ALL
END
NUMBER F_TOTIMP26 15
@ -197,6 +217,7 @@ BEGIN
PROMPT 39 15 "27 totale imponibile "
FIELD LF_QUAA->TOTIMP
PICTURE "."
GROUP G_ALL
END
ENDPAGE
@ -214,7 +235,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -248,6 +269,7 @@ BEGIN
FIELD LF_QUAA->AIENTIPREV
PICTURE "."
HELP "Assegni e indennita' erogati da enti previdenziali"
GROUP G_ALL
END
NUMBER F_CCTAMMCONT 15
@ -255,6 +277,7 @@ BEGIN
PROMPT 2 4 "29 ammontare compensi corrisposti da terzi "
FIELD LF_QUAA->CCTAMMCONT
PICTURE "."
GROUP G_ALL
END
NUMBER F_TOTIMP29 15
@ -262,6 +285,7 @@ BEGIN
PROMPT 2 5 "30 totale imponibile "
FIELD LF_QUAA->TOTIMP2
PICTURE "."
GROUP G_ALL
END
NUMBER F_ICTOTIMP30 15
@ -270,6 +294,7 @@ BEGIN
FIELD LF_QUAA->ICTOTIMP
PICTURE "."
HELP "Imposta corrispondente al totale imponibile"
GROUP G_ALL
END
NUMBER F_DETCC 15
@ -278,6 +303,7 @@ BEGIN
FIELD LF_QUAA->DETCC
PICTURE "."
HELP "Detrazione per coniuge a carico"
GROUP G_ALL
END
NUMBER F_DETFC 15
@ -286,6 +312,7 @@ BEGIN
FIELD LF_QUAA->DETFC
PICTURE "."
HELP "Detrazione per figli a carico"
GROUP G_ALL
END
NUMBER F_DETAF 15
@ -294,6 +321,7 @@ BEGIN
FIELD LF_QUAA->DETAF
PICTURE "."
HELP "Detrazione per altri famigliari a carico"
GROUP G_ALL
END
NUMBER F_DETLD 15
@ -302,6 +330,7 @@ BEGIN
FIELD LF_QUAA->DETLD
PICTURE "."
HELP "Detrazione per lavoro dipendente"
GROUP G_ALL
END
NUMBER F_DETO 15
@ -310,6 +339,7 @@ BEGIN
FIELD LF_QUAA->DETO
PICTURE "."
HELP "Detrazione per oneri"
GROUP G_ALL
END
NUMBER F_TOTDET36 15
@ -317,6 +347,7 @@ BEGIN
PROMPT 41 9 "37 totale detrazione "
FIELD LF_QUAA->TOTDET
PICTURE "."
GROUP G_ALL
END
NUMBER QAF_INCDETFC 15
@ -324,15 +355,16 @@ BEGIN
PROMPT 2 10 "38 inc.detr.figli a ca."
FIELD LF_QUAA->INCDETFC
PICTURE "."
GROUP G_ALL
END
NUMBER F_AMRIOT37 15
BEGIN
PROMPT 2 11 "39 ammontare delle ritenute operate da terzi"
FIELD LF_QUAA->AMRIOT
PICTURE "."
HELP "Ammontare delle ritenute operate da terzi"
GROUP G_ALL
END
NUMBER F_AMRIODL38 15
@ -341,6 +373,7 @@ BEGIN
FIELD LF_QUAA->AMRIODL
PICTURE "."
HELP "Ammontare delle ritenute operate dal datore di lavoro"
GROUP G_ALL
END
NUMBER F_ECCRITRIMB 15
@ -349,6 +382,7 @@ BEGIN
FIELD LF_QUAA->ECCRITRIMB
PICTURE "."
HELP "Eccedenza delle ritenute da rimborsare"
GROUP G_ALL
END
NUMBER F_AMMRITDOV 15
@ -357,6 +391,7 @@ BEGIN
FIELD LF_QUAA->AMMRITDOV
PICTURE "."
HELP "Ammontare delle ritenute dovute"
GROUP G_ALL
END
NUMBER F_ERSPSAN41 15
@ -365,6 +400,7 @@ BEGIN
FIELD LF_QUAA->ERSPSAN
PICTURE "."
HELP "Erogazioni per spese sanitarie, anche in forma assicurativa"
GROUP G_ALL
END
NUMBER F_PRASSVI42 15
@ -373,6 +409,7 @@ BEGIN
FIELD LF_QUAA->PRASSVI
PICTURE "."
HELP "Premi di assicurazione vita e infortuni"
GROUP G_ALL
END
NUMBER F_CONPRECO43 15
@ -381,6 +418,7 @@ BEGIN
FIELD LF_QUAA->CONPRECO
PICTURE "."
HELP "Contributi per previdenza complementare"
GROUP G_ALL
END
ENDPAGE
@ -398,7 +436,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -437,6 +475,7 @@ BEGIN
FIELD LF_QUAA->COBBDIP2
PICTURE "."
HELP "Contributi obbligatori a carico del dipendente"
GROUP G_ALL
END
NUMBER F_AMMIMP45 15
@ -445,6 +484,7 @@ BEGIN
FIELD LF_QUAA->AMMIMP
PICTURE "."
HELP "Ammontare imponibile"
GROUP G_ALL
END
NUMBER F_DETIMPOS46 15
@ -452,6 +492,7 @@ BEGIN
PROMPT 2 5 "48 detrazioni d'imposta"
FIELD LF_QUAA->DETIMPOS
PICTURE "."
GROUP G_ALL
END
NUMBER F_RITESEG47 15
@ -459,6 +500,7 @@ BEGIN
PROMPT 41 5 "49 ritenuta eseguita "
FIELD LF_QUAA->RITESEG
PICTURE "."
GROUP G_ALL
END
NUMBER F_SVNASSRI48 15
@ -466,6 +508,7 @@ BEGIN
PROMPT 2 6 "50 altre somme e valori non ass.a ritenuta "
FIELD LF_QUAA->SVNASSRI
PICTURE "."
GROUP G_ALL
END
NUMBER F_AIFCSSN49 15
@ -474,6 +517,7 @@ BEGIN
FIELD LF_QUAA->AIFCSSN
PICTURE "."
HELP "Ammontare imponibile ai fini del C.S.S.N."
GROUP G_ALL
END
TEXT DLG_NULL
@ -500,6 +544,7 @@ BEGIN
ITEM "E|Retribuzione insufficiente"
ITEM "F|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
OUTPUT F_CONEFF50
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
@ -512,6 +557,7 @@ BEGIN
PROMPT 2 14 "53 imposta vers. "
FIELD LF_QUAA->IMPVERS
PICTURE "."
GROUP G_ALL
END
NUMBER F_ISOPTAS52 15
@ -519,6 +565,7 @@ BEGIN
PROMPT 37 14 "54 interessi "
FIELD LF_QUAA->INTERE
PICTURE "."
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 3
@ -531,6 +578,7 @@ BEGIN
PROMPT 2 17 "55 contr. versato"
FIELD LF_QUAA->CSSN95CV
PICTURE "."
GROUP G_ALL
END
NUMBER F_ISOPTAS54 15
@ -538,6 +586,7 @@ BEGIN
PROMPT 37 17 "56 interessi "
FIELD LF_QUAA->INTERE2
PICTURE "."
GROUP G_ALL
END
ENDPAGE
@ -555,7 +604,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -590,9 +639,8 @@ END
STRING F_CNEFF55 1
BEGIN
PROMPT 2 4 "57 conguagli n/eff.assist.95 "
PROMPT 2 4 "57 conguagli n/eff. "
FIELD LF_QUAA->CNEFF
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@85"
INPUT F_CNEFF55
ITEM " |Niente"
@ -604,19 +652,20 @@ 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
GROUP G_ALL
END
STRING F_RETCON56 1
BEGIN
PROMPT 37 4 "58 rettifica conguaglio "
FIELD LF_QUAA->RETCON
SHEET "Codice|Descrizione@65"
SHEET "Cod.|Descrizione@200"
INPUT F_RETCON56
ITEM " | "
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 (per il primo numero 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 (per il primo numero d'ordine)"
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 di una precedente comunicazione tempestivamente perventuta al sostituto ma per la quale non è stato effettuato il conguaglio nel mese di giugno"
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 "E|Conguaglio tardivo per mod.730-4 pervenuto tardivamente"
ITEM "F|Conguaglio tardivo per causa dipendente dal sostituto d'imposta"
OUTPUT F_RETCON56
@ -633,6 +682,7 @@ BEGIN
PROMPT 2 7 "59 impo. rimborsata "
FIELD LF_QUAA->IMPRIMB
PICTURE "."
GROUP G_ALL
END
NUMBER F_IMPVER58 15
@ -640,6 +690,7 @@ BEGIN
PROMPT 44 7 "60 imposta versata"
FIELD LF_QUAA->IMPVER
PICTURE "."
GROUP G_ALL
END
NUMBER F_INTIRPEF59 15
@ -648,6 +699,7 @@ BEGIN
FIELD LF_QUAA->INTIRPEF
PICTURE "."
HELP "Interessi IRPEF"
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
@ -658,26 +710,38 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "62 impo. versata "
GROUP 6
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 44 11 "63 interessi "
// GROUP 7
PROMPT 2 11 "62 i.ver/tr.IRPEF"
// FLAGS "H"
GROUP G_730
END
NUMBER F_IMPVER60 15
BEGIN
//PROMPT 2 11 "Imposta versata "
PROMPT 23 11 ""
FIELD LF_QUAA->IMPVER2
PICTURE "."
END
TEXT DLG_NULL
BEGIN
PROMPT 44 11 "63 interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 44 11 "63 i.ri.IRPEF"
GROUP G_730
// FLAGS "H"
END
NUMBER F_INTER61 15
BEGIN
// PROMPT 44 11 "Interessi "
PROMPT 61 11 ""
FIELD LF_QUAA->INTER
PICTURE "."
@ -685,13 +749,19 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 12 "64 soprattasse saldo IRPEF per 95 e prima rata acconto del 96 "
GROUP 6
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"
GROUP G_730
END
NUMBER F_STSIRPEF62 15
BEGIN
// PROMPT 2 12 "Soprattasse saldo IRPEF per 94 e prima rata acconto del 95 "
PROMPT 61 12 ""
FIELD LF_QUAA->STSIRPEF
PICTURE "."
@ -706,13 +776,14 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 15 "65 Contr. rimborso "
GROUP 6
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 44 15 "66 Contr. versato "
// GROUP 7
PROMPT 2 15 "65 2rata ac.IRPEF96"
// FLAGS "H"
GROUP G_730
END
NUMBER F_CONRIMB63 15
@ -724,8 +795,15 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 16 "67 interessi "
// GROUP 7
PROMPT 44 15 "66 Contr.versato "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 44 15 "66 i.v.trat.CSSN "
GROUP G_730
// FLAGS "H"
END
NUMBER F_CONVER64 15
@ -737,13 +815,20 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 16 "Imp. rimb. CSSN "
GROUP 7
PROMPT 2 16 "67 interessi "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 16 "67 imp. rimb. CSSN "
// FLAGS "H"
GROUP G_730
END
NUMBER F_INTER65 15
BEGIN
// PROMPT 2 16 "Interessi "
// "Interessi "
PROMPT 21 16 ""
FIELD LF_QUAA->INTER2
PICTURE "."
@ -764,7 +849,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -792,7 +877,7 @@ BEGIN
GROUP 5
END
GROUPBOX DLG_NULL 78 7
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1996"
END
@ -800,12 +885,19 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 2 4 "68 contr. versato "
GROUP 6
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 2 4 "68 1r.acc.CSSN 96 "
GROUP G_730
// FLAGS "H"
END
NUMBER F_CONVER66 15
BEGIN
// PROMPT 2 4 "Contributo versato "
// "Contributo versato "
PROMPT 21 4 ""
FIELD LF_QUAA->CONVER2
PICTURE "."
@ -814,12 +906,19 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 44 4 "69 interessi "
GROUP 6
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 44 4 "69 2r.acc.CSSN 96"
GROUP G_730
// FLAGS "H"
END
NUMBER F_INTER67 15
BEGIN
// PROMPT 44 4 "Interessi "
// "69 Interessi "
PROMPT 61 4 ""
FIELD LF_QUAA->INTER3
PICTURE "."
@ -827,15 +926,17 @@ END
NUMBER F_STSCSSN68 15
BEGIN
PROMPT 2 5 "70 Soprattasse saldo C.S.S.N. 94 e prima rata acconto 95 "
PROMPT 2 5 "70 Soprattasse saldo C.S.S.N. 95 e prima rata acconto 96 "
FIELD LF_QUAA->STSCSSN70
GROUP G_ALL
PICTURE "."
END
NUMBER F_SEGDICNL69 2
BEGIN
PROMPT 2 6 "71 Mod.730/95 non liquidabile "
PROMPT 2 6 "71 Mod.730/96 non liquidabile "
FIELD LF_QUAA->M730NLIQ
FLAGS "Z"
SHEET "Codice|Descrizione@65"
INPUT F_SEGDICNL69
ITEM " |Niente"
@ -853,6 +954,7 @@ BEGIN
ITEM "12|Errata o incompleta dichiarazione del quadro F Mod.730/96 del dichiarante"
ITEM "13|Errata o incompleta dichiarazione del quadro F Mod.730/96 del coniuge"
OUTPUT F_SEGDICNL69
GROUP G_ALL
END
GROUPBOX DLG_NULL 78 4
@ -875,6 +977,7 @@ BEGIN
OUTPUT F_DENCAAF S0
OUTPUT F_NISCRA I1
OUTPUT F_CODFISCAAF S1
GROUP G_ALL
END
STRING F_DENCAAF 50

View File

@ -3,6 +3,9 @@ TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "MODULO 770 - Manutenzione Quadro A1" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
@ -43,7 +46,7 @@ NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA1->CODIP
FIELD LF_QUAA1->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
@ -53,17 +56,38 @@ BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
DISPLAY "Codice " CODIP
INPUT CODDIP F_CODIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
GROUP G_DIPEND
MESSAGE COPY, F_CODIP
FLAGS "H"
END
NUMBER F_CODANAGDIPQA 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAA1 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIPQA
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_COGNOME LF_DIPEND->COGNOME
OUTPUT QAF_NOME LF_DIPEND->NOME
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24
BEGIN
PROMPT 25 8 ""
@ -81,15 +105,16 @@ BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAA1 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODIP=CODIP
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
INPUT NPROG QAF_NPROG
DISPLAY "Codice@10" CODIP
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_NPROG NPROG
FIELD LF_QUAA1->NPROG
KEY 1

View File

@ -18,13 +18,13 @@ BEGIN
MESSAGE COPY,1@
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA1->CODIP
FIELD LF_QUAA1->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
@ -167,7 +167,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -195,7 +195,7 @@ BEGIN
GROUP 5
END
GROUPBOX DLG_NULL 78 6
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 3 "@bPrima rata acconto C.S.S.N. per il 1995"
END
@ -255,13 +255,7 @@ BEGIN
FLAGS "U"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 7 "Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
GROUPBOX DLG_NULL 78 4
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 9 "@bDati identificativi del C.A.A.F che ha prestato assistenza "
END
@ -301,6 +295,12 @@ BEGIN
FLAGS "D"
END
DATE F_DATARIC29
BEGIN
PROMPT 2 12 "26 Data ricezione Modello 730-5 "
FIELD LF_QUAA1->DATARIC26
END
ENDPAGE
ENDMASK

View File

@ -3,6 +3,9 @@ TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "MODULO 770 - Manutenzione Quadro A2" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
@ -43,7 +46,7 @@ NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA2->CODIP
FIELD LF_QUAA2->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
@ -53,15 +56,35 @@ BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
DISPLAY "Codice " CODIP
INPUT CODDIP F_CODIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, F_CODIP
FLAGS "H"
GROUP G_DIPEND
END
NUMBER F_CODANAGDIPQA 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODDIP F_CODANAGDIPQA
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_COGNOME LF_DIPEND->COGNOME
OUTPUT QAF_NOME LF_DIPEND->NOME
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24
@ -81,15 +104,16 @@ BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAA2 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODIP=CODIP
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
INPUT NPROG QAF_NPROG
DISPLAY "Codice@10" CODIP
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT F_CODANAGDIPQA CODDIP
OUTPUT QAF_NPROG NPROG
FIELD LF_QUAA2->NPROG
KEY 1

View File

@ -18,13 +18,13 @@ BEGIN
MESSAGE COPY,1@
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAA2->CODIP
FIELD LF_QUAA2->CODDIP
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QAF_COGNOME COGNOME
@ -67,6 +67,7 @@ STRING QA2F_CNEFF 1
BEGIN
PROMPT 2 4 "8 Conguagli non effettuati "
FIELD LF_QUAA2->CONEFF
FLAGS "U"
HELP "Conguagli non effettuati relativi all'assistenza 1995"
SHEET "Codice|Descrizione@85"
INPUT QA2F_CNEFF
@ -78,6 +79,7 @@ BEGIN
ITEM "E|Nel caso di situazioni per le quali dovrebbero essere indicati piu' codici"
ITEM "F|Rimborso non effettuato o rimborso effettuato parzialmente"
OUTPUT QA2F_CNEFF
GROUP G_ALL
END
STRING QA2F_RETCON 1
@ -99,29 +101,16 @@ BEGIN
PROMPT 1 6 "@bSALDO IRPEF PER IL 1994 "
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP 6
END
*/
/*
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "11 Imposta versata "
GROUP 7
END
*/
TEXT DLG_NULL
BEGIN
PROMPT 2 7 "10 Imposta rimbor. "
GROUP G_770
END
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "11 Imposta versata "
PROMPT 2 7 "10 i.ver/tr.IRPEF""
GROUP G_730
END
NUMBER F_IIRPEFVER8 15
@ -131,31 +120,11 @@ BEGIN
PICTURE "."
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "12 Interessi "
GROUP 6
PROMPT 41 7 "11 Imposta versata "
GROUP G_770
END
*/
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "12 Interessi "
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 41 7 "13 Imposta versata "
GROUP 7
END
*/
NUMBER F_IIRPEFRI9 15
BEGIN
@ -164,20 +133,11 @@ BEGIN
PICTURE "."
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "14 Interessi "
GROUP 6
PROMPT 2 8 "12 Interessi "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 8 "1a rata acc.IRPEF96 "
GROUP 7
END
*/
NUMBER F_INTER11 15
BEGIN
PROMPT 21 8 ""
@ -185,20 +145,17 @@ BEGIN
PICTURE "."
END
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 10 "@bPRIMA RATA ACCONTO IRPEF PER IL 1995 "
END
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "13 Imposta versata "
// GROUP 6
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 2 11 "14 Interessi "
GROUP 7
END
*/
NUMBER F_PRIRPEF10 15
BEGIN
// PROMPT 2 11 "Imposta versata "
@ -213,12 +170,6 @@ BEGIN
// GROUP 6
END
TEXT DLG_NULL
BEGIN
PROMPT 41 11 "Imp.vers/tratt CSSN"
GROUP 7
END
NUMBER F_INTER11 15
BEGIN
// PROMPT 41 11 "Interessi "
@ -261,7 +212,7 @@ BEGIN
GROUP 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FLAGS "DG"
@ -305,14 +256,6 @@ BEGIN
PROMPT 41 5 "17 Cont. versato "
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 2 5 "17 Cont. versato "
GROUP 7
END
*/
NUMBER QA2F_CSSNCRIMB 15
BEGIN
PROMPT 21 5 ""
@ -320,20 +263,6 @@ BEGIN
PICTURE "."
END
/*
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "18 Interessi "
GROUP 6
END
TEXT DLG_NULL
BEGIN
PROMPT 41 5 "2a rata acc.CSSN 96"
GROUP 7
END
*/
NUMBER QA2F_CSSNCVER 15
BEGIN
// PROMPT 41 5 "Contr. versato "

View File

@ -1,13 +1,15 @@
#include "771200.h"
TOOLBAR "" 0 18 0 4
#include <toolbar.h>
BUTTON F_BASEOCCUPA 24 2
BEGIN
PROMPT -13 -3 "~Dati Base occupazionale"
PROMPT -13 -3 "~Dati base occupazionale"
END
#include <toolbar.h>
ENDPAGE
#define G_DIPEND 1
#define G_QUADROA 2
PAGE "Manutenzione dati base occupazionale" -1 -1 78 18
GROUPBOX DLG_NULL 78 3
@ -53,51 +55,53 @@ BEGIN
KEY 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAA3->CODIP
FIELD LF_QUAA3->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER F_CODANAGDIP 5
NUMBER F_CODANAGDIP 6
BEGIN
PROMPT 10 7 ""
USE LF_DIPEND KEY 1 SELECT (CODDITTA=#QAF_CODDITTA)
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODANAGDIP
DISPLAY "Codice " CODIP
INPUT CODDIP F_CODANAGDIP
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT F_CODANAGDIP CODIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
MESSAGE COPY, F_CODIP
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
GROUP 2
GROUP G_DIPEND
FLAGS "H"
END
NUMBER F_CODIPQUADRO 5
NUMBER F_CODIPQUADRO 6
BEGIN
PROMPT 10 7 ""
USE LF_QUAA3 KEY 1 SELECT ((CODDITTA=#QAF_CODDITTA) && (NPROG="1"))
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIPQUADRO
DISPLAY "Codice" CODIP
INPUT CODDIP F_CODIPQUADRO
DISPLAY "Codice" CODDIP
DISPLAY "N.ro" NPROG
DISPLAY "Inizio rapporto" DIRAPTI
DISPLAY "gg.incremento" NGINC15
DISPLAY "Reddito corrisposto" REDCOR16
DISPLAY "gg.incremento" NGINC17
DISPLAY "Reddito corrisposto" REDCOR18
OUTPUT F_CODIPQUADRO CODIP
MESSAGE COPY, F_CODIP
ADD RUN BA4 -1
//FLAGS "HP"
OUTPUT F_CODIPQUADRO CODDIP
OUTPUT F_CODANAGDIP CODDIP
OUTPUT QAF_NPROG NPROG
// ADD RUN BA4 -1
FLAGS "H"
GROUP 1
MESSAGE COPY, F_CODIP
GROUP G_QUADROA
END
STRING QAF_COGNOME 24

View File

@ -17,10 +17,10 @@ BEGIN
KEY 1
END
NUMBER F_CODIP 5
NUMBER F_CODIP 6
BEGIN
PROMPT 17 1 ""
FIELD LF_QUAA3->CODIP
FIELD LF_QUAA3->CODDIP
MESSAGE COPY,F_CODIP2
FLAGS "DG"
KEY 1
@ -31,7 +31,7 @@ NUMBER F_CODIP2 5
BEGIN
USE LF_DIPEND KEY 1
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME
@ -130,7 +130,7 @@ NUMBER F_CODIP2_2 5
BEGIN
USE LF_DIPEND KEY 1
INPUT CODDITTA QAF_CODDITTA
INPUT CODIP F_CODIP
INPUT CODDIP F_CODIP
DISPLAY "Cognome - Nome o Ragione sociale@50" RAGSOC
OUTPUT QAF_COGNOME COGNOME
OUTPUT QAF_NOME NOME

View File

@ -1,6 +1,45 @@
#include "771200.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
BUTTON DLG_SAVEREC 8 2
BEGIN
PROMPT -16 -1 "~Registra"
FLAGS "D"
MESSAGE EXIT,K_SAVE
END
BUTTON DLG_NEWREC 8 2
BEGIN
PROMPT -26 -1 "~Nuovo"
MESSAGE EXIT,K_INS
FLAGS "D"
END
BUTTON DLG_DELREC 8 2
BEGIN
PROMPT -36 -1 "~Elimina"
MESSAGE EXIT,K_DEL
FLAGS "D"
END
BUTTON DLG_FINDREC 8 2
BEGIN
PROMPT -46 -1 "Ri~cerca"
MESSAGE EXIT,K_F9
FLAGS "D"
END
BUTTON DLG_CANCEL 8 2
BEGIN
PROMPT -56 -1 ""
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 8 2
BEGIN
PROMPT -66 -1 ""
MESSAGE EXIT,K_QUIT
END
ENDPAGE
PAGE "MODULO 770 - Manutenzione Quadro A" -1 -1 78 21
@ -35,7 +74,7 @@ END
NUMBER F_BSE_CONSBASOCC 5
BEGIN
PROMPT 2 5 "Consistenza base occupazionale "
PROMPT 2 5 "Consistenza base occupazionale al 12/06/94 "
FIELD LF_BASEBIS->CONSBASOCC
FLAGS "R"
END

View File

@ -564,6 +564,7 @@ void TQuadroC_E2::leggi_sort(TProgind& p)
acc_imp = rp->acim;
bInps = rp->bInps; // se la riga aveva il contributo inps nella cau.
rQCInps = bInps ? rp->inps : ZERO;
if (QuadroE1() && !acc_imp)
{
genera_prospetto(codcaus,rp->comp,rp->impo,rp->rite);

View File

@ -120,6 +120,12 @@ int TQuadroG::read(TMask& m)
return err;
}
void TQuadroG::init_insert_mode (TMask& m)
{
fill_ss(m);
fill_arr(m);
}
void TQuadroG::init_modify_mode (TMask& m)
{
m.disable(DLG_DELREC);

View File

@ -42,6 +42,7 @@ class TQuadroG : public TRelation_application
virtual TRelation* get_relation() const { return _rel; }
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) { return FALSE; }
virtual void init_insert_mode (TMask&);
virtual void init_query_mode (TMask&);
virtual void init_modify_mode (TMask&);
void fill_ss(TMask& m);
@ -125,6 +126,7 @@ class TQuadroG1 : public TRelation_application
virtual TMask* get_mask(int mode) { return _msk; }
virtual bool changing_mask(int mode) { return FALSE; }
virtual void init_query_mode (TMask&);
virtual void init_insert_mode (TMask&);
virtual void init_modify_mode (TMask&);
// void init_mask (TMask&);
void fill_arr(TMask& m);

View File

@ -161,13 +161,16 @@ 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)
f.mask().stop_run(K_AUTO_ENTER);
m.stop_run(K_AUTO_ENTER);
else
f.mask().stop_run(K_INS);
m.stop_run(K_INS); */
}
return TRUE;
}
@ -448,7 +451,7 @@ bool M71310_application::user_create()
_msk->set_handler (F_QLANNOPAG, anno);
_msk->set_handler (F_QLCODTRIB, cod_tributo);
_msk->set_handler (F_QLNUMERO, auto_premi);
_msk->set_handler (F_CAB, auto_premi);
_msk->set_handler (F_NPROG, auto_premi);
_msk->set_handler (F_ARTBIL, artbil_hnd);
return TRUE;

View File

@ -29,8 +29,7 @@
#define F_QUADRO 130
#define F_ABI 131
#define F_CAB 132
#define F_CAB1 133
#define F_CAB2 134
#define F_NPROG 133
#define FH_ABISERIE 135
#define FH_CAB 136

View File

@ -110,12 +110,13 @@ BEGIN
OUTPUT F_ARTBIL QLAB
OUTPUT F_QLSERIE QLSERIE
OUTPUT F_ABI QLSERIE
OUTPUT F_CAB1 QLNUMERO[1,5]
OUTPUT F_CAB QLNUMERO[6,11]
OUTPUT F_CAB QLNUMERO[1,5]
OUTPUT F_NPROG QLNUMERO[6,11]
OUTPUT F_QLNUMERO QLNUMERO
FIELD LF_QUAL->QLAP
FLAGS "R"
VALIDATE FIXLEN_FUNC 4
WARNING "L' anno deve essere indicato per esteso"
WARNING "L'anno deve essere indicato per esteso"
KEY 1
END
@ -203,7 +204,7 @@ BEGIN
KEY 1
END
NUMBER F_CAB1 5
NUMBER F_CAB 5
BEGIN
PROMPT 63 10 ""
FIELD LF_QUAL->QLNUMERO[1,5]
@ -212,7 +213,7 @@ BEGIN
KEY 1
END
NUMBER F_CAB 6
NUMBER F_NPROG 6
BEGIN
PROMPT 69 10 ""
FIELD LF_QUAL->QLNUMERO[6,11]

View File

@ -145,9 +145,7 @@ void Tab770_application::init_insert_mode(TMask& m)
}
void Tab770_application::init_modify_mode(TMask& m)
{
// init_mask(m);
}
{}
bool Tab770_application::user_create()
{

View File

@ -143,7 +143,6 @@ bool TGenera::set(const long codditta, TConfig* cnf, const char* section)
int TGenera::controllo_parametri()
{
TLocalisamfile base (LF_BASE);
base.setkey(1);
base.zero();
base.put("CODDITTA", _codditta);

View File

@ -159,6 +159,135 @@ int riporti_dich(int argc, char* argv[])
return 0;
}
const char* build_fill_string(TString& qcomp)
{
// NB cambiare qui il numero dei quadri
const int NUM_QUADRI = 25; // sono 26 posizioni perche' parte da 0
const int agg = NUM_QUADRI - qcomp.len();
__tmp.cut(agg);
__tmp.fill(' ', agg);
return __tmp;
}
void TRiporti::setta_flag_quadri_comp(const long codditta, const int quadro, const bool almeno_una_riga, const long dich)
{
TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSE_CODDITTA, codditta);
if (basebis.read(_isequal, _lock) == NOERR)
{
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
if (almeno_una_riga)
qcomp[(int)quadro] = 'X';
else
qcomp[(int)quadro] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
// basebis.reread(_unlock);
}
else
warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati");
//
// Setta flag quadri compilati del dichiarante; cio' va fatto in 3 casi:
//
// 1. dalla gestione dei singoli quadri di una ditta "estinta".
// 2. dal prg "Riporti" del dichiarante.
// 3. dalla gestione dei quadri del dichiarante stesso.
//
const long codic = sogg_estinto(codditta);
const long ha_dichiarante = dich ? dich : codic;
const bool sono_dichiarante = sogg_dic(codditta);
if (ha_dichiarante || sono_dichiarante)
{
basebis.setkey(1);
basebis.zero();
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSE_CODDITTA, sono_dichiarante ? codditta : ha_dichiarante);
if (basebis.read(_isequal, _lock) == NOERR)
{
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
if (almeno_una_riga)
qcomp[(int)quadro] = 'X';
else
qcomp[(int)quadro] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
// basebis.reread(_unlock);
}
else
warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati");
}
}
void TRiporti::setta_flag_quadro_I(const long codditta, const long dich)
{
bool compilato = FALSE;
TLocalisamfile base (LF_BASE);
TLocalisamfile basebis (LF_BASEBIS);
base.setkey(1);
base.zero();
base.put(BSE_CODDITTA, codditta);
base.read(_isequal, _lock);
basebis.setkey(1);
basebis.zero();
basebis.put(BSB_CODDITTA, codditta);
basebis.read(_isequal, _lock);
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
// I campi del quadro I sono in parte su base in parte su basebis
for (int i = 0; i < CAMPI_IB1; i++)
if (base.get_real(_campi_I1[i]) != ZERO)
{
compilato = TRUE;
break;
}
base.reread(_unlock);
if (!compilato)
{
/* TLocalisamfile basebis (LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSB_CODDITTA, codditta);
basebis.read();*/
for (int i = 0; i < CAMPI_IB2; i++)
if (basebis.get_real(_campi_I2[i]) != ZERO)
{
compilato = TRUE;
break;
}
}
if (compilato)
qcomp[(int)I] = 'X';
else
qcomp[(int)I] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
}
HIDDEN bool filter_func (const TRelation * rel)
{
int anno,annod;
@ -832,132 +961,6 @@ void TRiporti::calcola_riporti_A2(TCursor* cur, const long dich)
setta_flag_quadri_comp(_codditta, A2, almeno_una_riga, dich);
}
const char* build_fill_string(TString& qcomp)
{
// NB cambiare qui il numero dei quadri
const int NUM_QUADRI = 25; // sono 26 posizioni perche' parte da 0
const int agg = NUM_QUADRI - qcomp.len();
__tmp.cut(agg);
__tmp.fill(' ', agg);
return __tmp;
}
void TRiporti::setta_flag_quadri_comp(const long codditta, const int quadro, const bool almeno_una_riga, const long dich)
{
TLocalisamfile basebis(LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSE_CODDITTA, codditta);
if (basebis.read(_isequal, _testandlock) == NOERR)
{
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
if (almeno_una_riga)
qcomp[(int)quadro] = 'X';
else
qcomp[(int)quadro] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
basebis.reread(_unlock);
}
else
warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati");
//
// Setta flag quadri compilati del dichiarante; cio' va fatto in 3 casi:
//
// 1. dalla gestione dei singoli quadri di una ditta "estinta".
// 2. dal prg "Riporti" del dichiarante.
// 3. dalla gestione dei quadri del dichiarante stesso.
//
const long codic = sogg_estinto(codditta);
const long ha_dichiarante = dich ? dich : codic;
const bool sono_dichiarante = sogg_dic(codditta);
if (ha_dichiarante || sono_dichiarante)
{
basebis.setkey(1);
basebis.zero();
basebis.put("TIPOQUA", COD_QUA_I_DIC);
basebis.put(BSE_CODDITTA, sono_dichiarante ? codditta : ha_dichiarante);
if (basebis.read(_isequal, _testandlock) == NOERR)
{
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
if (almeno_una_riga)
qcomp[(int)quadro] = 'X';
else
qcomp[(int)quadro] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
basebis.reread(_unlock);
}
else
warning_box("Dichiarazione non presente: impossibile registrare il campo Quadri compilati");
}
}
void TRiporti::setta_flag_quadro_I(const long codditta, const long dich)
{
bool compilato = FALSE;
TLocalisamfile base (LF_BASE);
TLocalisamfile basebis (LF_BASEBIS);
base.setkey(1);
base.zero();
base.put(BSE_CODDITTA, codditta);
base.read();
basebis.setkey(1);
basebis.zero();
basebis.put(BSB_CODDITTA, codditta);
basebis.read();
TString qcomp(basebis.get(BSE_QCOMP));
TString dep(build_fill_string(qcomp));
qcomp << dep;
// TString qcomp (format("%25s", (const char*) app));
for (int i = 0; i < CAMPI_IB1; i++)
if (base.get_real(_campi_I1[i]) != ZERO)
{
compilato = TRUE;
break;
}
if (!compilato)
{
TLocalisamfile basebis (LF_BASEBIS);
basebis.setkey(1);
basebis.zero();
basebis.put(BSB_CODDITTA, codditta);
basebis.read();
for (int i = 0; i < CAMPI_IB2; i++)
if (basebis.get_real(_campi_I2[i]) != ZERO)
{
compilato = TRUE;
break;
}
}
if (compilato)
qcomp[(int)I] = 'X';
else
qcomp[(int)I] = ' ';
basebis.put(BSE_QCOMP, qcomp);
basebis.rewrite();
}
void TRiporti::calcola_riporti_H(TCursor* cur, const long dich)
{
TLocalisamfile basebis (LF_BASEBIS);

View File

@ -62,7 +62,7 @@ END
TEXT 97
BEGIN
PROMPT 2 13 "Codice ABI "
GROUP ABI_CAB
GROUP ABICAB
END
TEXT 98
@ -74,7 +74,7 @@ END
TEXT 99
BEGIN
PROMPT 46 13 "Codice CAB "
GROUP ABI_CAB
GROUP ABICAB
END
DATE F_DATAVERS
@ -96,13 +96,11 @@ RADIOBUTTON F_TIPOVERS 26
BEGIN
PROMPT 46 7 "Tipo versamento "
ITEM "B|Delega bancaria"
MESSAGE SHOW,97|SHOW,99|SHOW,F_ABI|SHOW,F_CAB|HIDE,96|HIDE,98|HIDE,F_SERIE|HIDE,F_NUMERO
MESSAGE SHOW,ABICAB@|SHOW,97|SHOW,99|HIDE,96|HIDE,98|HIDE,F_SERIE|HIDE,F_NUMERO
ITEM "D|Distinta"
MESSAGE SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|HIDE,F_ABI|HIDE,F_CAB
MESSAGE ENABLE,F_SERIE
MESSAGE HIDE,ABICAB@|ENABLE,F_SERIE|SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|
ITEM "C|C/C Postale"
MESSAGE SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|HIDE,F_ABI|HIDE,F_CAB
MESSAGE CLEAR,F_SERIE|DISABLE,F_SERIE
MESSAGE HIDE,ABICAB@|SHOW,96|SHOW,98|SHOW,F_SERIE|SHOW,F_NUMERO|HIDE,97|HIDE,99|CLEAR,F_SERIE|DISABLE,F_SERIE
FIELD LF_BASE->TIPOVERS
END
@ -111,7 +109,7 @@ BEGIN
PROMPT 18 13 ""
FIELD LF_BASE->SERIE
FLAGS "Z"
GROUP ABI_CAB
GROUP ABICAB
END
NUMBER F_CAB 5
@ -119,7 +117,7 @@ BEGIN
PROMPT 63 13 ""
FIELD LF_BASE->NUMERO[1,5]
FLAGS "Z"
GROUP ABI_CAB
GROUP ABICAB
END
NUMBER F_PROGBANCA 6
@ -127,7 +125,7 @@ BEGIN
PROMPT 69 13 ""
FLAGS "Z"
FIELD LF_BASE->NUMERO[6,11]
GROUP ABI_CAB
GROUP ABICAB
END
STRING F_SERIE 5

View File

@ -25,6 +25,11 @@ TQuadroG1::TQuadroG1()
inline TQuadroG1& app() { return (TQuadroG1&) main_app(); }
void TQuadroG1::init_insert_mode (TMask& m)
{
fill_arr(m);
}
void TQuadroG1::init_modify_mode (TMask& m)
{
// init_mask(m);

View File

@ -221,15 +221,14 @@ bool is_dipendente(const long codditta, const long coddip)
bool is_erede(const long codditta, const long coddip)
{
TLocalisamfile dip (LF_DIPEND);
TString16 CodDipDec("");
TString CodDipDec;
dip.setkey(1);
dip.zero();
dip.put(DIP_CODDITTA, codditta);
dip.put(DIP_CODIP, coddip);
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();
}
@ -287,7 +286,7 @@ bool scrivi_erede(const long codditta, const long deceduto, const long coddip)
if (ValCampo.empty() || ValCampo == "0")
{
trovato = TRUE;
dip.put(NomeCampo, (long)coddip);
dip.put(NomeCampo, sCodErede);
dip.rewrite();
break;
}

View File

@ -56,6 +56,15 @@
#define RICERCA_QB 5
#define GROUP_ALL 6
#define QBG_ANADIP 1
#define QBG_QUADROB 2
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define CODDITTA77 181
#define ANNODIC77 182

View File

@ -21,6 +21,8 @@
#define QB1F_NOME 199
#define QB1F_HCODDIP 200
#define RICERCA_DIP 4
#define RICERCA_QB 5
#define QB1G_ANADIP 1
#define QB1G_QUADROB 2
#define QB1F_CODDIP_ANAG 201
#define QB1F_CODDIP_QB1 202

View File

@ -71,7 +71,7 @@ END
NUMBER F_CODANAGRPERC 5
BEGIN
PROMPT 15 8 ""
USE LF_PERC KEY 1 SELECT (CODDITTA=#F_CODDITTA)
USE LF_PERC KEY 1 SELECT ((CODDITTA=#F_CODDITTA)&&(TIPOA=#F_TIPOA))
JOIN LF_ANAG TO LF_PERC KEY 1 INTO TIPOA=TIPOA CODANAGR=CODANAGR
INPUT CODDITTA F_CODDITTA
INPUT TIPOA F_TIPOA
@ -90,7 +90,7 @@ END
NUMBER F_CODANAGRCOM 5
BEGIN
PROMPT 15 8 ""
USE LF_ANAG KEY 1
USE LF_ANAG KEY 1 SELECT (TIPOA=#F_TIPOA)
INPUT TIPOA F_TIPOA
INPUT CODANAGR F_CODANAGRCOM
DISPLAY "Tipo " TIPOA

View File

@ -89,9 +89,10 @@ END
NUMBER QNF_ANNORIF 4
BEGIN
PROMPT 17 9 ""
WARNING "Manca l'anno"
WARNING "Anno non valido"
CHECKTYPE REQUIRED
FIELD LF_QUAN->ANNORIF
VALIDATE FIXLEN_FUNC 4
END
TEXT DLG_NULL

View File

@ -89,9 +89,10 @@ END
NUMBER QQF_ANNORIF 4
BEGIN
PROMPT 17 9 ""
WARNING "Manca l'anno"
WARNING "Anno non valido"
CHECKTYPE REQUIRED
FIELD LF_QUAQ->ANNOPAG
VALIDATE FIXLEN_FUNC 4
END
TEXT DLG_NULL

View File

@ -89,9 +89,10 @@ END
NUMBER QRF_ANNORIF 4
BEGIN
PROMPT 17 9 ""
WARNING "Manca l'anno"
WARNING "Anno non valido"
CHECKTYPE REQUIRED
FIELD LF_QUAR->ANNORIF
VALIDATE FIXLEN_FUNC 4
END
TEXT DLG_NULL

View File

@ -89,9 +89,10 @@ END
NUMBER QTF_ANNORIF 4
BEGIN
PROMPT 17 9 ""
WARNING "Manca l'anno"
WARNING "Anno non valido"
CHECKTYPE REQUIRED
FIELD LF_QUAT->ANNOPAG
VALIDATE FIXLEN_FUNC 4
END
TEXT DLG_NULL

View File

@ -52,5 +52,8 @@
// Aggiunte 96
#define ADF_CODDIPDEC 147
#define ADF_ASSFIS 148
#define ADF_COMNASC 149
#define ADF_COMRES 150
#define ADF_CODCOMNASC 151
#endif

View File

@ -37,14 +37,17 @@ STRING F_CODFISC 11
BEGIN
PROMPT 4 5 "Codice fiscale "
FIELD LF_TABCOM->S1
CHECKTYPE REQUIRED
WARNING "Manca il codice fiscale"
VALIDATE PI_FUNC F_STATO
END
NUMBER F_ISCALBO 5
BEGIN
PROMPT 4 7 "Codice iscrizione albo "
// FIELD LF_TABCOM->S2
FIELD LF_TABCOM->I1
CHECKTYPE REQUIRED
WARNING "Manca il codice iscrizione albo"
END
ENDPAGE

View File

@ -4,7 +4,7 @@
#define __DIPEND_H
#define DIP_CODDITTA "CODDITTA"
#define DIP_CODIP "CODIP"
#define DIP_CODIP "CODDIP"
#define DIP_COGNOME "COGNOME"
#define DIP_NOME "NOME"
#define DIP_CODFI "CODFI"

View File

@ -19,7 +19,7 @@
#include <urldefid.h>
#include <tabutil.h>
#include <config.h>
#include <progind.h>
#include "dipend.h"
#include <nditte.h>
#include "77lib.h"
@ -32,7 +32,10 @@
#define CODDITTA77 181
#define ANNODIC77 182
HIDDEN const char* QUALIFICA_EREDE = "11";
void socbbis_setta_ditta(TMask& m);
long ADCalcolaItems(const int lffile, const long codditta, const long coddip);
class TGenericRel_application : public TRelation_application
{
@ -42,10 +45,13 @@ class TGenericRel_application : public TRelation_application
static bool PE1calcrit_handler (TMask_field& m, KEY k);
static bool ADabilita_coddipdec (TMask_field& m, KEY k);
static bool ADCodDipDec (TMask_field& m, KEY k);
static bool eredi_handler (TMask_field& m, KEY k);
void ADCancellaQuadri(const long codditta,const long coddip);
// static bool eredi_handler (TMask_field& m, KEY k);
static bool date_handler (TMask_field& m, KEY k);
long _codditta;
long _lCodDipDec;
long _lCodDip;
TString16 _sQualificaPrec; // qualifica prima di andare in edit
const char* _maskname;
int _num;
TString16 _quadro;
@ -130,8 +136,6 @@ bool TGenericRel_application::user_create()
if (Dipendenti())
{
// _msk->set_handler(F_DIP_EREDE, eredi_handler);
_msk->set_handler(ADF_CODDIPDEC, eredi_handler);
_msk->set_handler(F_DIP_QUALIFICA, ADabilita_coddipdec);
_msk->set_handler(ADF_CODDIPDEC, ADCodDipDec);
set_search_field(ADF_DIP_CODDIP);
@ -187,7 +191,7 @@ bool TGenericRel_application::user_destroy()
{
if (_quadro != "" && _quadro != "0")
if (_registra)
_rip.set(_quadro ,0);
_rip.set(_quadro);
delete _msk;
delete _rel;
return TRUE;
@ -209,9 +213,230 @@ int TGenericRel_application::write(const TMask& m)
return err;
}
// Costruisce un cursore solo per sapere gli items per la progind
long ADCalcolaItems(const int lffile, const long codditta, const long coddip)
{
long items=0L;
TRelation* rel = new TRelation(lffile);
TString filtro;
filtro.format("CODDITTA=%ld && CODDIP=%ld", codditta,coddip);
TCursor* cur = new TCursor(rel,filtro,1);
(*cur) = 0L;
items = cur->items();
delete cur;
delete rel;
return items;
}
void TGenericRel_application::ADCancellaQuadri(const long codditta,const long coddip)
{
bool bRimossoA,bRimossoA1,bRimossoA2,bRimossoA3,bRimossoB,bRimossoB1;
bRimossoA=bRimossoA1=bRimossoA2=bRimossoA3=bRimossoB=bRimossoB1=FALSE;
long items = ADCalcolaItems(LF_QUAA, codditta, coddip);
TProgind progA(items,"Cancellazione quadro A", FALSE,TRUE);
// Cancella quadro A
TLocalisamfile qa(LF_QUAA);
qa.zero();
qa.put("CODDITTA", (long) codditta);
qa.put("CODDIP", (long) coddip);
TRectype dep(qa.curr());
for (qa.read(_isgteq, _lock); !qa.eof(); qa.next(_lock))
{
progA.addstatus(1);
if (qa.curr() > dep)
{
qa.reread(_unlock);
break;
}
const long lDit = qa.get_long("CODDITTA");
const long lDip = qa.get_long("CODDIP");
if (lDit == codditta && lDip == coddip)
{
bRimossoA = TRUE;
qa.remove();
}
}
// Cancella quadro A1
items = ADCalcolaItems(LF_QUAA1, codditta, coddip);
TProgind progA1(items,"Cancellazione quadro A-1", FALSE,TRUE);
TLocalisamfile qa1(LF_QUAA1);
qa1.zero();
qa1.put("CODDITTA", (long) codditta);
qa1.put("CODDIP", (long) coddip);
TRectype dep1(qa1.curr());
for (qa1.read(_isgteq, _lock); !qa1.eof(); qa1.next(_lock))
{
progA1.addstatus(1);
if (qa1.curr() > dep1)
{
qa1.reread(_unlock);
break;
}
const long lDit = qa1.get_long("CODDITTA");
const long lDip = qa1.get_long("CODDIP");
if (lDit == codditta && lDip == coddip)
{
bRimossoA1 = TRUE;
qa1.remove();
}
}
// Cancella quadro A2
items = ADCalcolaItems(LF_QUAA2, codditta, coddip);
TProgind progA2(items,"Cancellazione quadro A-2", FALSE,TRUE);
TLocalisamfile qa2(LF_QUAA2);
qa2.zero();
qa2.put("CODDITTA", (long) codditta);
qa2.put("CODDIP", (long) coddip);
TRectype dep2(qa2.curr());
for (qa2.read(_isgteq, _lock); !qa2.eof(); qa2.next(_lock))
{
progA2.addstatus(1);
if (qa2.curr() > dep2)
{
qa2.reread(_unlock);
break;
}
const long lDit = qa2.get_long("CODDITTA");
const long lDip = qa2.get_long("CODDIP");
if (lDit == codditta && lDip == coddip)
{
bRimossoA2 = TRUE;
qa2.remove();
}
}
// Cancella quadro A3
items = ADCalcolaItems(LF_QUAA3, codditta, coddip);
TProgind progA3(items,"Cancellazione quadro A-3", FALSE,TRUE);
TLocalisamfile qa3(LF_QUAA3);
qa3.zero();
qa3.put("CODDITTA", (long) codditta);
qa3.put("NPROG", 1);
qa3.put("CODDIP", (long) coddip);
TRectype dep3(qa3.curr());
for (qa3.read(_isgteq, _lock); !qa3.eof(); qa3.next(_lock))
{
progA3.addstatus(1);
const long lDit = qa3.get_long("CODDITTA");
const long lDip = qa3.get_long("CODDIP");
if (lDit != codditta || lDip != coddip)
{
qa3.reread(_unlock);
continue;
}
if (lDit == codditta && lDip == coddip)
{
bRimossoA3 = TRUE;
qa3.remove();
}
}
// Cancella quadro B
items = ADCalcolaItems(LF_QUAB, codditta, coddip);
TProgind progB(items,"Cancellazione quadro B", FALSE,TRUE);
TLocalisamfile qb(LF_QUAB);
qb.zero();
qb.put("CODDITTA", (long) codditta);
qb.put("CODDIP", (long) coddip);
TRectype dep4(qb.curr());
for (qb.read(_isgteq, _lock); !qb.eof(); qb.next(_lock))
{
progB.addstatus(1);
if (qb.curr() > dep4)
{
qb.reread(_unlock);
break;
}
const long lDit = qb.get_long("CODDITTA");
const long lDip = qb.get_long("CODDIP");
if (lDit == codditta && lDip == coddip)
{
bRimossoB = TRUE;
qb.remove();
}
}
// Cancella quadro B1
items = ADCalcolaItems(LF_QUAB1, codditta, coddip);
TProgind progB1(items,"Cancellazione quadro B-1", FALSE,TRUE);
TLocalisamfile qb1(LF_QUAB1);
qb1.zero();
qb1.put("CODDITTA", (long) codditta);
qb1.put("CODDIP", (long) coddip);
TRectype dep5(qb1.curr());
for (qb1.read(_isgteq, _lock); !qb1.eof(); qb1.next(_lock))
{
progB1.addstatus(1);
if (qb1.curr() > dep5)
{
qb1.reread(_unlock);
break;
}
const long lDit = qb1.get_long("CODDITTA");
const long lDip = qb1.get_long("CODDIP");
if (lDit == codditta && lDip == coddip)
{
bRimossoB1 = TRUE;
qb1.remove();
}
}
if (bRimossoA)
_rip.set("A");
if (bRimossoA1)
_rip.set("A1");
if (bRimossoA2)
_rip.set("A2");
if (bRimossoA3)
_rip.set("A3");
if (bRimossoB)
_rip.set("B");
if (bRimossoB1)
_rip.set("B1");
}
bool TGenericRel_application::remove()
{
_registra = TRUE;
if (Dipendenti())
{
const long codditta = _codditta;
const long coddip = _lCodDip;
// Se era un erede resetta il riferimento al deceduto..
if (_sQualificaPrec != "" && _sQualificaPrec == QUALIFICA_EREDE)
{
if (_lCodDipDec > 0L)
if (!riscrivi_erede(codditta, _lCodDipDec, coddip,0L))
return warning_box("Fallita cancellazione erede");
}
// Se era un deceduto cancella cod.dip.dec. sugli eredi
if (is_deceduto(codditta,coddip))
{
TLocalisamfile dip (LF_DIPEND);
TProgind ProgDip(dip.items(),"Cancellazione codice deceduto ..", FALSE,TRUE);
for (dip.first(); !dip.eof(); dip.next(_lock))
{
ProgDip.addstatus(1);
const long lDipDec = dip.get_long(DIP_CODDIPDEC);
if (lDipDec == coddip)
{
dip.put(DIP_CODDIPDEC, 0L);
dip.rewrite();
}
else
dip.reread(_unlock);
}
}
// Cancella tutti i quadri che facevano riferimento a questo dip.
ADCancellaQuadri(codditta,coddip);
}
return TRelation_application::remove();
}
@ -235,7 +460,11 @@ void TGenericRel_application::init_modify_mode(TMask& m)
{
init_mask(m);
if (Dipendenti())
{
_lCodDip = m.get_long(ADF_DIP_CODDIP);
_lCodDipDec = m.get_long(ADF_CODDIPDEC);
_sQualificaPrec = m.get(F_DIP_QUALIFICA);
}
}
void TGenericRel_application::init_insert_mode(TMask& m)
@ -245,6 +474,12 @@ void TGenericRel_application::init_insert_mode(TMask& m)
void TGenericRel_application::init_query_mode(TMask& m)
{
if (Dipendenti())
{
_lCodDipDec = 0L;
_sQualificaPrec = "";
}
if (_num == LF_SOCTRASF || _num == LF_BASEBIS)
{
socbbis_setta_ditta(m);
@ -342,14 +577,30 @@ bool TGenericRel_application::ADabilita_coddipdec(TMask_field& f, KEY k)
{
TMask& m = f.mask();
TString qual(f.get());
if (qual == "11")
if (qual == QUALIFICA_EREDE)
m.enable(ADF_CODDIPDEC);
else
{
// Se prima era un erede e ora non lo e' piu' aggiorna il deceduto (brr..)
if (app()._sQualificaPrec != "" &&
app()._sQualificaPrec == QUALIFICA_EREDE)
{
const long codditta = app()._codditta;
const long coddip = m.get_long(ADF_DIP_CODDIP);
const long lDecedutoPrec = m.get_long(ADF_CODDIPDEC);
if (lDecedutoPrec > 0L)
if (!riscrivi_erede(codditta, lDecedutoPrec,coddip,0L))
return warning_box("Fallita cancellazione erede");
}
m.reset(ADF_CODDIPDEC);
m.disable(ADF_CODDIPDEC);
}
}
return TRUE;
}
const char* FALLITO_EREDE_MSG = "Impossibile inserire un nuovo erede. Il numero massimo di eredi e' 10";
bool TGenericRel_application::ADCodDipDec(TMask_field& f, KEY k)
{
if (k == K_ENTER)
@ -374,23 +625,24 @@ bool TGenericRel_application::ADCodDipDec(TMask_field& f, KEY k)
{
// Cancella l'erede nel rec.del dec. precedente
if (!riscrivi_erede(codditta, lDecedutoOriginario,coddip,0L))
return warning_box("Fallita cancellazione erede");
return warning_box("Impossibile cancellare il codice erede nella scheda del dipendente deceduto");
// Scrive l'erede nel rec.del dec. attuale
if (lDecedutoCorrente != 0L)
if (!scrivi_erede(codditta, lDecedutoCorrente, coddip))
return warning_box("Fallita scrittura codice erede su deceduto");
return warning_box(FALLITO_EREDE_MSG);
}
else
if (lDecedutoCorrente != 0L)
{
if (!scrivi_erede(codditta, lDecedutoCorrente, coddip))
return warning_box("Fallita scrittura codice erede su deceduto");
return warning_box(FALLITO_EREDE_MSG);
app()._lCodDipDec = lDecedutoCorrente;
}
}
return TRUE;
}
/*
bool TGenericRel_application::eredi_handler(TMask_field& f, KEY k)
{
if (k == K_TAB || k == K_SPACE)
@ -427,6 +679,7 @@ bool TGenericRel_application::eredi_handler(TMask_field& f, KEY k)
}
return TRUE;
}
*/
bool TGenericRel_application::date_handler(TMask_field& f, KEY k)
{

View File

@ -3,6 +3,7 @@
#include <urldefid.h>
#include <tabutil.h>
#include <config.h>
#include "dipend.h"
#include "774200.h"
#include "77lib.h"
#include "quadrob.h"
@ -10,9 +11,6 @@
#include "77qb.h"
#include "77qb1.h"
#define CODDITTA77 181
#define ANNODIC77 182
class TQuadriBB1_application : public TRelation_application
{
static bool codditta77_handler (TMask_field& m, KEY k);
@ -22,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 void BB1SettaCognomeNome(TMask& m);
const char* _maskname;
int _num;
int _pos_quadro; // posizione nell'array dei quadri. Usato in set_comp
@ -41,6 +40,9 @@ class TQuadriBB1_application : public TRelation_application
bool EsisteGiaCodDip(const TMask& m);
bool EsisteGiaRecordDip(const TMask& m);
long _codditta;
long _lCodDip;
int _iNprog;
TString _sCognome, _sNome;
void init_mask(TMask&);
protected:
@ -136,15 +138,23 @@ TMask* TQuadriBB1_application::load_mask(int n)
TMask* m = new TMask(name);
m->set_handler(CODDITTA77, codditta77_handler);
if (QuadroB())
m->set_handler(QBF_CODDIP, CodDipHandler);
else
m->set_handler(QB1F_CODDIP, CodDipHandler);
m->set_handler(QuadroB() ? QBF_NPROG : QB1F_NPROG, NprogExitHandler);
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)
@ -157,16 +167,12 @@ 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);
set_search_field(QBF_QUAB_CODDIP);
}
else
set_search_field(QB1F_ANADIP_CODDIP);
m->disable(DLG_FINDREC);
break;
default:
break;
}
m->disable(DLG_FINDREC);
return _msk[n] = m;
}
@ -215,10 +221,10 @@ bool TQuadriBB1_application::EsisteGiaCodDip(const TMask& m)
q.zero();
q.put(QB_CODDITTA, _codditta);
q.put(QB_CODDIP, codip);
TRectype dep(q.curr());
q.read(_isgteq);
return q.curr() == dep;
const bool bEq = q.curr() == dep;
return bEq;
}
// Controlla se esiste gia' una chiave completa
@ -232,7 +238,8 @@ bool TQuadriBB1_application::EsisteGiaRecordDip(const TMask& m)
q.put(QB_CODDIP, codip);
q.put(QB_NPROG, nprog);
TRectype dep(q.curr());
return q.read() == NOERR;
const bool bEq = q.read() == NOERR;
return bEq;
}
int TQuadriBB1_application::rewrite(const TMask& m)
@ -242,21 +249,18 @@ int TQuadriBB1_application::rewrite(const TMask& m)
_registra = err == NOERR;
return err;
}
/*
int TQuadriBB1_application::read(TMask& m)
{
int err;
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);
err = q.read();
_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)
{
@ -283,10 +287,10 @@ void TQuadriBB1_application::init_mask(TMask& m)
const long codip = m.get_long(QBF_CODDIP);
if (codip==0L)
return;
if (is_erede(codditta,codip))
if (is_erede(codditta,codip) && modifica(m))
{
m.disable(-GROUP_ALL); // Disabilita tutti i campi
m.enable(-GROUP_EREDE); // Abilita solo quelli giusti
m.disable(-GROUP_ALL);
m.enable(-GROUP_EREDE);
}
else
{
@ -302,6 +306,21 @@ void TQuadriBB1_application::init_mask(TMask& m)
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)
@ -312,10 +331,32 @@ void TQuadriBB1_application::init_insert_mode(TMask& 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_ANADIP); // group 2 Nasconde QUADROB
m.send_key(K_SHIFT+K_CTRL+'s', -QBG_QUADROB); // group 1 Ricerca su ANAGR.DIPENDENTI
}
else
{
m.send_key(K_SHIFT+K_CTRL+'h', -QB1G_ANADIP); // group 2 Nasconde QUADROB
m.send_key(K_SHIFT+K_CTRL+'s', -QB1G_QUADROB); // group 1 Ricerca su ANAGR.DIPENDENTI
}
}
bool TQuadriBB1_application::codditta77_handler(TMask_field& f, KEY k)
{
@ -362,7 +403,17 @@ bool TQuadriBB1_application::CodDipHandler(TMask_field& f, KEY k)
{
TMask& m = f.mask();
if (!m.is_running()) return TRUE;
// if (k == K_TAB && ricerca(m))
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());
@ -377,6 +428,34 @@ bool TQuadriBB1_application::CodDipHandler(TMask_field& f, KEY k)
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();
@ -388,21 +467,26 @@ bool TQuadriBB1_application::NprogExitHandler(TMask_field& f, KEY k)
if (nprog.not_empty())
{
const int ID_CODDIP = app().QuadroB()? QBF_CODDIP : QB1F_CODDIP;
// Controlla che esista il dipendente
const long codip = m.get_long(ID_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;
if (!esiste_dipendente(codditta, codip))
return f.warning_box("Dipendente inesistente");
// 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);
}
}
@ -423,12 +507,15 @@ bool TQuadriBB1_application::PrimoNprogLibero(TMask& m, const long codditta, con
qb.put(QB_CODDITTA, codditta);
qb.put(QB_CODDIP, codip);
TRectype dep(qb.curr());
for (qb.read(_isgteq); !qb.eof(); qb.next())
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

View File

@ -1,7 +1,7 @@
// Mod.770 - Quadro A
#define QUA_CODDITTA "CODDITTA"
#define QUA_CODIP "CODIP"
#define QUA_CODIP "CODDIP"
#define QUA_NPROG "NPROG"
#define QUA_AREAATT "AREAATT"
#define QUA_TIPO "TIPO"

View File

@ -2,7 +2,7 @@
#define QA3_CODDITTA "CODDITTA"
#define QA3_NPROG "NPROG"
#define QA3_CODIP "CODIP"
#define QA3_CODIP "CODDIP"
#define QA3_DIRAPTI "DIRAPTI"
#define QA3_NGINC15 "NGINC15"
#define QA3_REDCOR16 "REDCOR16"