Aggiustamenti per videi veloci:

Con queste modifiche e' finita la prima unita' di test per Omero


git-svn-id: svn://10.65.10.50/trunk@4036 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-01-07 08:05:19 +00:00
parent e74f67bdcb
commit f513638262
9 changed files with 2986 additions and 2920 deletions

@ -1,197 +1,216 @@
// 776600.cpp - Gestione estinti
#include <applicat.h>
#include <mask.h>
#include <isam.h>
#include <relation.h>
#include <sheet.h>
#include <urldefid.h>
#include "776600a.h"
#include "77lib.h"
//
// Lista modifiche
// 3.4.96 Aggiunto controllo in save() per impedire la creazione di un record-dichiarazione
// anche quando si vuol solo cancellare il codice dichiarante senza immetterne un altro
//
class TEstinti_app : public TApplication
{
long _codditta;
TMask* _msk;
TLocalisamfile* _base, *_basebis;
TRelation* _rel;
TCursor* _cur;
TBrowse_sheet* _estint_sheet;
TRectype& _rec;
static bool show_estinti(TMask_field& f, KEY k);
void force_output(int dlg, const long cod);
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool save(TMask& m, const long coddic_prec);
bool set_codditta(TMask_field& f);
bool main_loop();
};
TEstinti_app& app() { return (TEstinti_app&) main_app(); }
bool TEstinti_app::set_codditta(TMask_field& f)
{
TString16 codditta;
codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
// f.set_dirty();
f.check();
}
return TRUE;
}
bool TEstinti_app::show_estinti(TMask_field& f, KEY k)
{
if (k == K_SPACE)
app()._estint_sheet->run();
return TRUE;
}
bool TEstinti_app::create()
{
TApplication::create();
_base = new TLocalisamfile(LF_BASE);
_basebis = new TLocalisamfile(LF_BASEBIS);
_msk = new TMask("776600a");
_rel = new TRelation(LF_BASE);
_rel->add(LF_NDITTE, "CODDITTA=CODDITTA");
_codditta = get_firm_770();
set_codditta(_msk->field(F_CODDITTA));
TString16 filt;
filt.format("CODDIC=%ld", _codditta);
_cur = new TCursor(_rel, filt);
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODDIC_DUMMY);
TToken_string siblings;
_estint_sheet = new TBrowse_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
"Codice|Ragione sociale@50", 8, &dummy, siblings);
_msk->set_handler(F_ESTINTI, show_estinti);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TEstinti_app::destroy()
{
delete _estint_sheet;
delete _rel; delete _cur;
delete _msk; delete _base; delete _basebis;
return TApplication::destroy();
}
void TEstinti_app::force_output(int dlg, const long codditta)
{
TLocalisamfile ditte(LF_NDITTE);
ditte.zero();
ditte.put("CODDITTA", (long)codditta);
int ret = ditte.read(_isequal);
if (ret == NOERR)
{
TString80 ragsoc(ditte.get("RAGSOC"));
_msk->set(dlg, ragsoc);
}
}
bool TEstinti_app::save(TMask& m, const long codic_prec)
{
const long new_codic = m.get_long(F_CODDIC);
_rec = _base->curr();
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
_base->read(_rec);
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
// Stessa cosa su basebis
_basebis->zero();
_basebis->put("CODDITTA", (long)_codditta);
_basebis->put("CODDIC", (long)new_codic);
_basebis->rewrite();
// Crea il record globale per il dichiarante scelto se non esiste
// 3.4.96 - Solo se il dichiarante e' diverso da 0, senno' quando si vuol cancellare
// il dichiarante crea un record duplicato!
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
return TRUE;
}
bool TEstinti_app::main_loop()
{
KEY tasto = K_ESC;
const long codditta = _msk->get_long(F_CODDITTA);
_base->zero();
_base->setkey(1);
_base->put("CODDITTA", (long)codditta);
_base->read();
_msk->open_modal();
while (tasto != K_QUIT)
{
const bool dichiarante = sogg_dic(_codditta);
long coddic = 0L;
if (!dichiarante)
{
coddic = sogg_estinto(_codditta);
if (coddic > 0L && coddic < COD_QUA_I_DIC)
{
_msk->set(F_CODDIC, coddic);
// _msk->field(F_CODDIC).check();
force_output(F_RAGSOC, coddic);
}
}
_msk->enable(F_CODDIC, !dichiarante);
_msk->enable(F_ESTINTI, dichiarante);
_msk->enable(DLG_SAVEREC,!dichiarante);
tasto = _msk->run();
switch (tasto) {
case K_ENTER:
if (_msk->dirty())
// Se e' un dichiarante F_CODDIC e' disabilitato e non c'e' nulla da salvare
if (!dichiarante)
save(*_msk, coddic);
break;
case K_ESC :
tasto = K_QUIT;
break;
case K_QUIT :
break;
case K_SAVE :
if (!dichiarante)
save(*_msk, coddic);
break;
default:
break;
}
}
_msk->close();
return FALSE;
}
bool TEstinti_app::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return main_loop();
return FALSE;
}
int Estinti(int argc, char* argv[])
{
TEstinti_app a;
a.run(argc, argv, "Gestione dichiarante / estinti");
return 0;
}
// 776600.cpp - Gestione estinti
#include <applicat.h>
#include <mask.h>
#include <isam.h>
#include <relation.h>
#include <sheet.h>
#include <urldefid.h>
#include "776600a.h"
#include "77lib.h"
//
// Lista modifiche
// 3.4.96 Aggiunto controllo in save() per impedire la creazione di un record-dichiarazione
// anche quando si vuol solo cancellare il codice dichiarante senza immetterne un altro
//
class TEstinti_app : public TApplication
{
long _codditta;
TMask* _msk;
TLocalisamfile* _base, *_basebis;
TRelation* _rel;
TCursor* _cur;
TBrowse_sheet* _estint_sheet;
static bool show_estinti(TMask_field& f, KEY k);
void force_output(int dlg, const long cod);
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
bool save(TMask& m, const long coddic_prec);
bool set_codditta(TMask_field& f);
bool main_loop();
public:
TEstinti_app();
~TEstinti_app() {};
};
TEstinti_app& app() { return (TEstinti_app&) main_app(); }
TEstinti_app::TEstinti_app():
_base(NULL),
_basebis(NULL),
_rel(NULL),
_msk(NULL),
_cur(NULL),
_estint_sheet(NULL)
{}
bool TEstinti_app::set_codditta(TMask_field& f)
{
TString16 codditta;
codditta << get_firm_770();
if (codditta != "0")
{
f.set(codditta);
// f.set_dirty();
f.check();
}
return TRUE;
}
bool TEstinti_app::show_estinti(TMask_field& f, KEY k)
{
if (k == K_SPACE)
app()._estint_sheet->run();
return TRUE;
}
bool TEstinti_app::create()
{
TApplication::create();
_base = new TLocalisamfile(LF_BASE);
_basebis = new TLocalisamfile(LF_BASEBIS);
_msk = new TMask("776600a");
_rel = new TRelation(LF_BASE);
_rel->add(LF_NDITTE, "CODDITTA=CODDITTA");
_codditta = get_firm_770();
set_codditta(_msk->field(F_CODDITTA));
TString16 filt;
filt.format("CODDIC=%ld", _codditta);
_cur = new TCursor(_rel, filt);
TEdit_field& dummy = (TEdit_field&)_msk->field(F_CODDIC_DUMMY);
TToken_string siblings;
_estint_sheet = new TBrowse_sheet(_cur,"CODDITTA|9->RAGSOC", "Elenco estinti",
"Codice|Ragione sociale@50", 8, &dummy, siblings);
_msk->set_handler(F_ESTINTI, show_estinti);
dispatch_e_menu (BAR_ITEM(1));
return TRUE;
}
bool TEstinti_app::destroy()
{
delete _estint_sheet;
delete _rel; delete _cur;
delete _msk; delete _base; delete _basebis;
return TApplication::destroy();
}
void TEstinti_app::force_output(int dlg, const long codditta)
{
TLocalisamfile ditte(LF_NDITTE);
ditte.zero();
ditte.put("CODDITTA", (long)codditta);
int ret = ditte.read(_isequal);
if (ret == NOERR)
{
TString80 ragsoc(ditte.get("RAGSOC"));
_msk->set(dlg, ragsoc);
}
}
bool TEstinti_app::save(TMask& m, const long codic_prec)
{
const long new_codic = m.get_long(F_CODDIC);
TRectype _rec = _base->curr();
_base->setkey(1);
_rec.zero();
_rec.put("TIPOQUA", ' ');
_rec.put("CODDITTA",(long)_codditta);
if (_base->read(_rec) == NOERR)
{
_rec.put("CODDIC",(long)new_codic);
_base->rewrite(_rec);
}
// Stessa cosa su basebis
TRectype _recbis = _basebis->curr();
_basebis->setkey(1);
_recbis.zero();
_recbis.put("TIPOQUA", ' ');
_recbis.put("CODDITTA",(long)_codditta);
if (_basebis->read(_recbis) == NOERR)
{
_recbis.put("CODDIC",(long)new_codic);
_basebis->rewrite(_rec);
}
// Crea il record globale per il dichiarante scelto se non esiste
// 3.4.96 - Solo se il dichiarante e' diverso da 0, senno' quando si vuol cancellare
// il dichiarante crea un record duplicato!
if (new_codic != 0L)
if (!exist_dichiar_770(new_codic, TRUE))
enter_dichiar_770(new_codic, anno_770(), TRUE);
return TRUE;
}
bool TEstinti_app::main_loop()
{
KEY tasto = K_ESC;
const long codditta = _msk->get_long(F_CODDITTA);
_base->zero();
_base->setkey(1);
_base->put("CODDITTA", (long)codditta);
_base->read();
_msk->open_modal();
while (tasto != K_QUIT)
{
const bool dichiarante = sogg_dic(_codditta);
long coddic = 0L;
if (!dichiarante)
coddic = sogg_estinto(_codditta);
_msk->set(F_CODDIC, coddic);
force_output(F_RAGSOC, coddic);
_msk->enable(F_CODDIC, !dichiarante);
_msk->enable(F_ESTINTI, dichiarante);
_msk->enable(DLG_SAVEREC,!dichiarante);
tasto = _msk->run();
switch (tasto) {
case K_ENTER:
if (_msk->dirty())
// Se e' un dichiarante F_CODDIC e' disabilitato e non c'e' nulla da salvare
if (!dichiarante)
save(*_msk, coddic);
break;
case K_ESC :
tasto = K_QUIT;
break;
case K_QUIT :
break;
case K_SAVE :
if (!dichiarante)
save(*_msk, coddic);
break;
default:
break;
}
}
_msk->close();
return FALSE;
}
bool TEstinti_app::menu(MENU_TAG m)
{
if (m == BAR_ITEM(1))
return main_loop();
return FALSE;
}
int Estinti(int argc, char* argv[])
{
TEstinti_app a;
a.run(argc, argv, "Gestione dichiarante / estinti");
return 0;
}

File diff suppressed because it is too large Load Diff

@ -1,71 +1,69 @@
// 77qb.h
#define QBF_CODDITTA 181
#define QBF_ANNODIC 182
#define QBF_CODDIP 183
#define QBF_NPROG 184
#define QBF_DATAINI 185
#define QBF_DATAFIN 186
#define QBF_ANNICOMM 187
#define QBF_MESICOMM 188
#define QBF_ANNICONV 189
#define QBF_MESICONV 190
#define QBF_ANNIPARZ 191
#define QBF_MESIPARZ 192
#define QBF_PERCPARZ 193
#define QBF_QUOTAECC 194
#define QBF_MESEEROG 195
#define QBF_TITEROG 196
#define QBF_PERCABB 197
#define QBF_AMMNETTO 198
#define QBF_MESEEROG2 199
#define QBF_TITEROG2 200
#define QBF_PERCABB2 201
#define QBF_AMMNETTO2 202
#define QBF_CONTLAV 203
#define QBF_TFR7494 204
#define QBF_INDEN7494 205
#define QBF_TIND7494 206
#define QBF_TRID 207
#define QBF_TFRIND 208
#define QBF_ALIQUOTA 209
#define QBF_RETRMEDIA 210
#define QBF_ALIQUOTA2 211
#define QBF_IMPTFR 212
#define QBF_IMPIND 213
#define QBF_IMPANNO 214
#define QBF_TOTIMP 215
#define QBF_ROPEACC 216
#define QBF_IMPDOV 217
#define QBF_RITECC 218
#define QBF_QUOTASPET 219
#define QBF_INDSPETT 220
#define QBF_ROPE 221
#define QBF_IMPOCSSN 222
#define QBF_RAGDITTA 223
#define QBF_ANADIP_CODDIP 224
#define QBF_QUAB_CODDIP 225
#define QBF_HCODDIP 228
#define QBF_COGNOME 226
#define QBF_NOME 227
#define GROUP_EREDE 2
#define GROUP_DIPDEC 3
#define RICERCA_DIP 4
#define RICERCA_QB 5
#define GROUP_ALL 6
#define G_DISABILI 7
#define QBG_ANADIP 1
#define QBG_QUADROB 2
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define CODDITTA77 181
#define ANNODIC77 182
// 77qb.h
#define QBF_CODDITTA 181
#define QBF_ANNODIC 182
#define QBF_CODDIP 183
#define QBF_NPROG 184
#define QBF_DATAINI 185
#define QBF_DATAFIN 186
#define QBF_ANNICOMM 187
#define QBF_MESICOMM 188
#define QBF_ANNICONV 189
#define QBF_MESICONV 190
#define QBF_ANNIPARZ 191
#define QBF_MESIPARZ 192
#define QBF_PERCPARZ 193
#define QBF_QUOTAECC 194
#define QBF_MESEEROG 195
#define QBF_TITEROG 196
#define QBF_PERCABB 197
#define QBF_AMMNETTO 198
#define QBF_MESEEROG2 199
#define QBF_TITEROG2 200
#define QBF_PERCABB2 201
#define QBF_AMMNETTO2 202
#define QBF_CONTLAV 203
#define QBF_TFR7494 204
#define QBF_INDEN7494 205
#define QBF_TIND7494 206
#define QBF_TRID 207
#define QBF_TFRIND 208
#define QBF_ALIQUOTA 209
#define QBF_RETRMEDIA 210
#define QBF_ALIQUOTA2 211
#define QBF_IMPTFR 212
#define QBF_IMPIND 213
#define QBF_IMPANNO 214
#define QBF_TOTIMP 215
#define QBF_ROPEACC 216
#define QBF_IMPDOV 217
#define QBF_RITECC 218
#define QBF_QUOTASPET 219
#define QBF_INDSPETT 220
#define QBF_ROPE 221
#define QBF_IMPOCSSN 222
#define QBF_RAGDITTA 223
#define QBF_ANADIP_CODDIP 224
#define QBF_QUAB_CODDIP 225
#define QBF_COGNOME 226
#define QBF_NOME 227
#define GROUP_EREDE 2
#define GROUP_DIPDEC 3
#define RICERCA_DIP 4
#define RICERCA_QB 5
#define GROUP_ALL 6
#define G_DISABILI 7
#define QBG_ANADIP 1
#define QBG_QUADROB 2
#define QBF_CODDIP_ANAG 228
#define QBF_CODDIP_QB 229
#define CODDITTA77 181
#define ANNODIC77 182

@ -1,28 +1,27 @@
// 77qb1.h
#define QB1F_CODDITTA 181
#define QB1F_ANNODIC 182
#define QB1F_NPROG 183
#define QB1F_RAGDITTA 184
#define QB1F_INDEN 185
#define QB1F_AMMIMP 186
#define QB1F_IMP4 187
#define QB1F_IMP8 188
#define QB1F_IMP10 189
#define QB1F_IMP12 190
#define QB1F_IMP15 191
#define QB1F_IMPO15 192
#define QB1F_IMPO4 193
#define QB1F_IMPNETTO 194
#define QB1F_ANADIP_CODDIP 195
#define QB1F_QUAB1_CODDIP 196
#define QB1F_CODDIP 197
#define QB1F_COGNOME 198
#define QB1F_NOME 199
#define QB1F_HCODDIP 200
#define QB1G_ANADIP 1
#define QB1G_QUADROB 2
#define QB1F_CODDIP_ANAG 201
#define QB1F_CODDIP_QB1 202
// 77qb1.h
#define QB1F_CODDITTA 181
#define QB1F_ANNODIC 182
#define QB1F_NPROG 183
#define QB1F_RAGDITTA 184
#define QB1F_INDEN 185
#define QB1F_AMMIMP 186
#define QB1F_IMP4 187
#define QB1F_IMP8 188
#define QB1F_IMP10 189
#define QB1F_IMP12 190
#define QB1F_IMP15 191
#define QB1F_IMPO15 192
#define QB1F_IMPO4 193
#define QB1F_IMPNETTO 194
#define QB1F_ANADIP_CODDIP 195
#define QB1F_QUAB1_CODDIP 196
#define QB1F_CODDIP 197
#define QB1F_COGNOME 198
#define QB1F_NOME 199
#define QB1G_ANADIP 1
#define QB1G_QUADROB 2
#define QB1F_CODDIP_ANAG 201
#define QB1F_CODDIP_QB1 202

@ -1,104 +1,125 @@
#include "77qb1.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
#define QB1F_CODDIP 197
#define QB1F_NPROG 183
PAGE "MODULO 770 - Manutenzione Quadro B1" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QB1F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QB1F_CODDITTA
OUTPUT QB1F_RAGDITTA RAGSOC
FIELD LF_QUAB1->CODDITTA
END
STRING QB1F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QB1F_ANNODIC 4
BEGIN
PROMPT 52 4 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER QB1F_HCODDIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAB1->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER QB1F_CODDIP 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QB1F_CODDITTA))
INPUT CODDITTA QB1F_CODDITTA
INPUT CODIP QB1F_CODDIP
DISPLAY "Codice " CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QB1F_CODDIP CODIP
OUTPUT QB1F_COGNOME COGNOME
OUTPUT QB1F_NOME NOME
ADD RUN 773 -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, QB1F_HCODDIP
END
STRING QB1F_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QB1F_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QB1F_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAB1 KEY 1 SELECT ((CODDITTA=#QB1F_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODIP=CODDIP
INPUT CODDITTA QB1F_CODDITTA
INPUT CODDIP QB1F_CODDIP
INPUT NPROG QB1F_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QB1F_CODDIP CODDIP
OUTPUT QB1F_NPROG NPROG
FIELD LF_QUAB1->NPROG
KEY 1
END
ENDPAGE
ENDMASK
#include "77qb1.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Quadro B1" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QB1F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QB1F_CODDITTA
OUTPUT QB1F_RAGDITTA RAGSOC
FIELD LF_QUAB1->CODDITTA
END
STRING QB1F_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QB1F_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER QB1F_CODDIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAB1->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER QB1F_CODDIP_ANAG 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1
INPUT CODDITTA QB1F_CODDITTA SELECT
INPUT CODDIP QB1F_CODDIP_ANAG
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QB1F_CODDIP_ANAG CODDIP
OUTPUT QB1F_COGNOME COGNOME
OUTPUT QB1F_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY, QB1F_CODDIP
MESSAGE COPY,QB1F_CODDIP
FLAGS "H"
GROUP QB1G_ANADIP
END
NUMBER QB1F_CODDIP_QB1 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAB1 KEY 1
JOIN LF_DIPEND KEY 1 INTO CODDITTA==CODDITTA CODDIP==CODDIP
INPUT CODDITTA QB1F_CODDITTA SELECT
INPUT CODDIP QB1F_CODDIP_QB1
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QB1F_CODDIP_QB1 CODDIP
OUTPUT QB1F_COGNOME LF_DIPEND->COGNOME
OUTPUT QB1F_NOME LF_DIPEND->NOME
MESSAGE COPY, QB1F_CODDIP
GROUP QB1G_QUADROB
KEY 1
END
STRING QB1F_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QB1F_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QB1F_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAB1 KEY 1
JOIN LF_DIPEND KEY 1 INTO CODDITTA==CODDITTA CODDIP==CODDIP
INPUT CODDITTA QB1F_CODDITTA SELECT
INPUT CODDIP QB1F_CODDIP
INPUT NPROG QB1F_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QB1F_CODDIP CODDIP
OUTPUT QB1F_NPROG NPROG
OUTPUT QB1F_COGNOME LF_DIPEND->COGNOME
OUTPUT QB1F_NOME LF_DIPEND->NOME
FIELD LF_QUAB1->NPROG
KEY 1
END
ENDPAGE
ENDMASK

@ -1,212 +1,212 @@
// Quadro B-1
#include "77qb1.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "MODULO 770 - QUADRO B1" -1 -1 78 18
NUMBER QB1F_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRDH"
USE LF_NDITTE KEY 1
INPUT CODDITTA QB1F_CODDITTA
FIELD LF_QUAB1->CODDITTA
CHECKTYPE REQUIRED
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QB1F_CODDIP 5
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAB1->CODDIP
INPUT CODDITTA QB1F_CODDITTA
INPUT CODIP QB1F_CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QB1F_COGNOME COGNOME
OUTPUT QB1F_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
KEY 1
END
STRING QB1F_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
END
STRING QB1F_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
END
NUMBER QB1F_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAB1->NPROG
FLAGS "DG"
KEY 1
END
NUMBER QB1F_INDEN 15
BEGIN
PROMPT 1 6 "11 Ammontare indennita' di anzianita' di previdenza "
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->INDEN
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bImposta di ricchezza mobile "
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 1 7 ""
END
#define COL1 3
#define COL2 33
#define COL3 60
TEXT DLG_NULL
BEGIN
PROMPT COL1 8 "12 Ammontare impon. "
END
NUMBER QB1F_AMMIMP 15
BEGIN
PROMPT COL1 9 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->AMMIMP
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 8 "13 Imponibile 4%"
END
NUMBER QB1F_IMP4 15
BEGIN
PROMPT COL2 9 ""
FIELD LF_QUAB1->IMP4
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL3 8 "14 Imponibile 8% "
END
NUMBER QB1F_IMP8 15
BEGIN
PROMPT COL3 9 ""
FIELD LF_QUAB1->IMP8
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL1 10 "15 Imponibile 10% "
END
NUMBER QB1F_IMP10 15
BEGIN
PROMPT COL1 11 ""
FIELD LF_QUAB1->IMP10
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 10 "16 Imponibile 12% "
END
NUMBER QB1F_IMP12 15
BEGIN
PROMPT COL2 11 ""
FIELD LF_QUAB1->IMP12
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL3 10 "17 Imponibile 15% "
END
NUMBER QB1F_IMP15 15
BEGIN
PROMPT COL3 11 ""
FIELD LF_QUAB1->IMP15
PICTURE "."
FLAGS "R"
END
NUMBER QB1F_IMPNETTO 15
BEGIN
PROMPT COL1 12 "18 Amm. impon. (al netto delle rit.di ricchezza mobile) "
FIELD LF_QUAB1->IMPNETTO
PICTURE "."
FLAGS "R"
END
#define RIGA1 14
#define RIGA2 15
#define RIGA3 16
TEXT DLG_NULL
BEGIN
PROMPT 1 RIGA1 "@bImposta complementare "
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 RIGA1 ""
END
TEXT DLG_NULL
BEGIN
PROMPT COL1 RIGA2 "19 Imponibile 1,5%"
END
NUMBER QB1F_IMPO15 15
BEGIN
PROMPT COL1 RIGA3 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->IMPO15
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 RIGA2 "20 Imponibile 4%"
END
NUMBER QB1F_IMPO4 15
BEGIN
PROMPT COL2 RIGA3 ""
FIELD LF_QUAB1->IMPO4
PICTURE "."
FLAGS "R"
END
ENDPAGE
ENDMASK
// Quadro B-1
#include "77qb1.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "1" -1 -1 78 18
NUMBER QB1F_CODDITTA 5
BEGIN
PROMPT 80 80 ""
FLAGS "D"
USE LF_NDITTE KEY 1
INPUT CODDITTA QB1F_CODDITTA
FIELD LF_QUAB1->CODDITTA
CHECKTYPE REQUIRED
KEY 1
END
TEXT DLG_NULL
BEGIN
PROMPT 1 1 "@bDipendente"
END
NUMBER QB1F_CODDIP 5
BEGIN
PROMPT 17 1 ""
USE LF_DIPEND KEY 1
FIELD LF_QUAB1->CODDIP
INPUT CODDITTA QB1F_CODDITTA
INPUT CODDIP QB1F_CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QB1F_COGNOME COGNOME
OUTPUT QB1F_NOME NOME
CHECKTYPE REQUIRED
FLAGS "DG"
KEY 1
END
STRING QB1F_COGNOME 24
BEGIN
PROMPT 25 1 ""
FLAGS "DG"
END
STRING QB1F_NOME 20
BEGIN
PROMPT 49 1 ""
FLAGS "DG"
END
NUMBER QB1F_NPROG 4
BEGIN
PROMPT 72 1 ""
FIELD LF_QUAB1->NPROG
FLAGS "DG"
KEY 1
END
NUMBER QB1F_INDEN 15
BEGIN
PROMPT 1 6 "11 Ammontare indennita' di anzianita' di previdenza "
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->INDEN
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bImposta di ricchezza mobile "
END
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 1 7 ""
END
#define COL1 3
#define COL2 33
#define COL3 60
TEXT DLG_NULL
BEGIN
PROMPT COL1 8 "12 Ammontare impon. "
END
NUMBER QB1F_AMMIMP 15
BEGIN
PROMPT COL1 9 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->AMMIMP
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 8 "13 Imponibile 4%"
END
NUMBER QB1F_IMP4 15
BEGIN
PROMPT COL2 9 ""
FIELD LF_QUAB1->IMP4
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL3 8 "14 Imponibile 8% "
END
NUMBER QB1F_IMP8 15
BEGIN
PROMPT COL3 9 ""
FIELD LF_QUAB1->IMP8
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL1 10 "15 Imponibile 10% "
END
NUMBER QB1F_IMP10 15
BEGIN
PROMPT COL1 11 ""
FIELD LF_QUAB1->IMP10
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 10 "16 Imponibile 12% "
END
NUMBER QB1F_IMP12 15
BEGIN
PROMPT COL2 11 ""
FIELD LF_QUAB1->IMP12
PICTURE "."
FLAGS "R"
END
TEXT DLG_NULL
BEGIN
PROMPT COL3 10 "17 Imponibile 15% "
END
NUMBER QB1F_IMP15 15
BEGIN
PROMPT COL3 11 ""
FIELD LF_QUAB1->IMP15
PICTURE "."
FLAGS "R"
END
NUMBER QB1F_IMPNETTO 15
BEGIN
PROMPT COL1 12 "18 Amm. impon. (al netto delle rit.di ricchezza mobile) "
FIELD LF_QUAB1->IMPNETTO
PICTURE "."
FLAGS "R"
END
#define RIGA1 14
#define RIGA2 15
#define RIGA3 16
TEXT DLG_NULL
BEGIN
PROMPT 1 RIGA1 "@bImposta complementare "
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 RIGA1 ""
END
TEXT DLG_NULL
BEGIN
PROMPT COL1 RIGA2 "19 Imponibile 1,5%"
END
NUMBER QB1F_IMPO15 15
BEGIN
PROMPT COL1 RIGA3 ""
PICTURE "."
FLAGS "R"
FIELD LF_QUAB1->IMPO15
END
TEXT DLG_NULL
BEGIN
PROMPT COL2 RIGA2 "20 Imponibile 4%"
END
NUMBER QB1F_IMPO4 15
BEGIN
PROMPT COL2 RIGA3 ""
FIELD LF_QUAB1->IMPO4
PICTURE "."
FLAGS "R"
END
ENDPAGE
ENDMASK

@ -1,103 +1,126 @@
#include "77qb.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "MODULO 770 - Manutenzione Quadro B" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QBF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QBF_CODDITTA
OUTPUT QBF_RAGDITTA RAGSOC
FIELD LF_QUAB->CODDITTA
END
STRING QBF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QBF_ANNODIC 4
BEGIN
PROMPT 52 4 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER QBF_HCODDIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
CHECKTYPE REQUIRED
KEY 1
END
NUMBER QBF_CODDIP 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1 SELECT ((CODDITTA=#QBF_CODDITTA))
INPUT CODDITTA QBF_CODDITTA
INPUT CODIP QBF_CODDIP
DISPLAY "Codice " CODIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QBF_CODDIP CODIP
OUTPUT QBF_COGNOME COGNOME
OUTPUT QBF_NOME NOME
ADD RUN 773 -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY,QBF_HCODDIP
END
STRING QBF_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QBF_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QBF_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAB KEY 1 SELECT ((CODDITTA=#QBF_CODDITTA))
JOIN LF_DIPEND KEY 1 INTO CODIP=CODDIP
INPUT CODDITTA QBF_CODDITTA
INPUT CODDIP QBF_CODDIP
INPUT NPROG QBF_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QBF_CODDIP CODDIP
OUTPUT QBF_COGNOME COGNOME
OUTPUT QBF_NOME NOME
OUTPUT QBF_NPROG NPROG
FIELD LF_QUAB->NPROG
CHECKTYPE REQUIRED
KEY 1
END
ENDPAGE
ENDMASK
#include "77qb.h"
TOOLBAR "" 0 20 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Quadro B" -1 -1 78 21
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 0 ""
END
NUMBER QBF_CODDITTA 5
BEGIN
PROMPT 3 1 "Ditta "
FLAGS "GRD"
KEY 1
CHECKTYPE REQUIRED
USE LF_NDITTE KEY 1
INPUT CODDITTA QBF_CODDITTA
OUTPUT QBF_RAGDITTA RAGSOC
FIELD LF_QUAB->CODDITTA
END
STRING QBF_RAGDITTA 50
BEGIN
PROMPT 17 1 "Ragione "
FLAGS "D"
END
NUMBER QBF_ANNODIC 4
BEGIN
PROMPT 52 3 "Anno dichiarazione "
FLAGS "DR"
END
TEXT DLG_NULL
BEGIN
PROMPT 1 7 "@bDati dipendente"
END
NUMBER QBF_CODDIP 6
BEGIN
PROMPT 80 80 ""
FLAGS "D"
FIELD LF_QUAB->CODDIP
CHECKTYPE REQUIRED
KEY 1
END
NUMBER QBF_CODDIP_ANAG 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_DIPEND KEY 1
INPUT CODDITTA QBF_CODDITTA SELECT
INPUT CODDIP QBF_CODDIP_ANAG
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" COGNOME
DISPLAY "Nome@20" NOME
OUTPUT QBF_CODDIP_ANAG CODDIP
OUTPUT QBF_COGNOME COGNOME
OUTPUT QBF_NOME NOME
ADD RUN 773mod -1 771150a 45 "Anagrafica dipendenti"
MESSAGE COPY,QBF_CODDIP
FLAGS "H"
GROUP QBG_ANADIP
KEY 1
END
NUMBER QBF_CODDIP_QB 6
BEGIN
PROMPT 1 8 "@bCodice "
USE LF_QUAB KEY 1
JOIN LF_DIPEND KEY 1 INTO CODDITTA==CODDITTA CODDIP==CODDIP
INPUT CODDITTA QBF_CODDITTA SELECT
INPUT CODDIP QBF_CODDIP_QB
DISPLAY "Codice " CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QBF_CODDIP_QB CODDIP
OUTPUT QBF_COGNOME LF_DIPEND->COGNOME
OUTPUT QBF_NOME LF_DIPEND->NOME
MESSAGE COPY, QBF_CODDIP
GROUP QBG_QUADROB
KEY 1
END
STRING QBF_COGNOME 24
BEGIN
PROMPT 25 8 ""
FLAGS "D"
END
STRING QBF_NOME 20
BEGIN
PROMPT 49 8 ""
FLAGS "D"
END
NUMBER QBF_NPROG 4
BEGIN
PROMPT 1 10 "@bNumero "
CHECKTYPE REQUIRED
USE LF_QUAB KEY 1
JOIN LF_DIPEND KEY 1 INTO CODDITTA=CODDITTA CODDIP=CODDIP
INPUT CODDITTA QBF_CODDITTA SELECT
INPUT CODDIP QBF_CODDIP
INPUT NPROG QBF_NPROG
DISPLAY "Codice@10" CODDIP
DISPLAY "Cognome@24" LF_DIPEND->COGNOME
DISPLAY "Nome@20" LF_DIPEND->NOME
DISPLAY "N°@4" NPROG
OUTPUT QBF_CODDIP CODDIP
OUTPUT QBF_COGNOME LF_DIPEND->COGNOME
OUTPUT QBF_NOME LF_DIPEND->NOME
OUTPUT QBF_NPROG NPROG
FIELD LF_QUAB->NPROG
CHECKTYPE REQUIRED
KEY 1
END
ENDPAGE
ENDMASK

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff