6449f498db
pertanto rimando chi fosse interessato ai dettagli, alla consultazione del documento crono.doc sulla mia macchina. git-svn-id: svn://10.65.10.50/trunk@4134 c028cbd2-c16b-5b4b-a496-9718f37d4682
815 lines
20 KiB
C++
Executable File
815 lines
20 KiB
C++
Executable File
// 771100.cpp - Manutenzione dati anagrafici
|
|
//
|
|
// 771mod -0 A : "Dichiarante"
|
|
// 771mod -0 C : "Rappresentante"
|
|
// 771mod -0 D : "Scritture contabili"
|
|
// 771mod -0 E : "Dati C.A.A.F."
|
|
// 771mod -0 F : "Direttore / Professionista"
|
|
// 771mod -0 G : "Concessione / UIDD"
|
|
//
|
|
// Lista modifiche:
|
|
//
|
|
// 1.4.96 Rappresentante: codice e carica rappr. non vengono piu' registrati
|
|
// su NDITTE ma bensi' su BASE
|
|
//
|
|
#include <mask.h>
|
|
#include <printapp.h>
|
|
#include <relation.h>
|
|
#include <tabutil.h>
|
|
#include <utility.h>
|
|
#include <config.h>
|
|
#include <urldefid.h>
|
|
#include <mailbox.h>
|
|
#include <execp.h>
|
|
#include "771.h"
|
|
#include "771100.h"
|
|
#include "../ba/ba4200.h"
|
|
#include "../ba/ba4300.h" // per il f_coddittah
|
|
#include <comuni.h>
|
|
#include <anagr.h>
|
|
#include <nditte.h>
|
|
#include "77lib.h"
|
|
#include "../ba/ba4500.h"
|
|
|
|
class TDati_anagrafici : public TApplication
|
|
{
|
|
private:
|
|
static bool indirizzo (TMask_field&, KEY);
|
|
static bool cod_conc (TMask_field&, KEY);
|
|
static bool niscraa (TMask_field&, KEY);
|
|
static bool ditta_caaf(TMask_field&, KEY);
|
|
static bool attivita_handler(TMask_field&, KEY);
|
|
static bool fisica_handler(TMask_field&, KEY);
|
|
static bool giuridica_handler(TMask_field&, KEY);
|
|
static bool anagrafica_handler(TMask_field&, KEY);
|
|
static bool anagr_dich_handler(TMask_field&, KEY);
|
|
|
|
// bottone ditta in DatiCAAF
|
|
static bool DCditta_handler(TMask_field&, KEY);
|
|
TMask* _msk;
|
|
TRelation* _rel;
|
|
char _ana;
|
|
long _codditta;
|
|
bool Dichiarante() const { return _ana == 'A'; }
|
|
bool Rappresentante() const { return _ana == 'C'; }
|
|
bool ScrittureContabili() const { return _ana == 'D'; }
|
|
bool DatiCAAF() const { return _ana == 'E'; }
|
|
bool DirProf() const { return _ana == 'F'; }
|
|
bool ConcUIDD() const { return _ana == 'G'; }
|
|
public:
|
|
TString _titolo;
|
|
virtual bool create();
|
|
virtual bool destroy();
|
|
virtual bool menu(MENU_TAG m);
|
|
bool main_loop();
|
|
KEY registra(TMask& m, bool check_dirty);
|
|
void registra_fis_giu();
|
|
void registra_rappr();
|
|
void registra_caaf();
|
|
void registra_dirprof();
|
|
void registra_dativari();
|
|
static bool codditta_hnd(TMask_field& f, KEY k);
|
|
TDati_anagrafici(char anagrafica);
|
|
};
|
|
|
|
TDati_anagrafici::TDati_anagrafici(char anagrafica) : _titolo(50), _ana(toupper(anagrafica))
|
|
{
|
|
if (Dichiarante())
|
|
_titolo = "Dichiarante";
|
|
|
|
if (Rappresentante())
|
|
_titolo = "Rappresentante";
|
|
|
|
if (ScrittureContabili())
|
|
_titolo = "Scritture contabili";
|
|
|
|
if (DatiCAAF())
|
|
_titolo = "Dati C.A.A.";
|
|
|
|
if (DirProf())
|
|
_titolo = "Direttore / Professionista";
|
|
|
|
if (ConcUIDD())
|
|
_titolo = "Concessione / UIDD";
|
|
}
|
|
|
|
HIDDEN TDati_anagrafici& app() { return (TDati_anagrafici &) main_app(); }
|
|
|
|
|
|
bool TDati_anagrafici::codditta_hnd(TMask_field& f, KEY k)
|
|
{
|
|
if (k == K_TAB && !(f.mask().is_running()) )
|
|
{
|
|
TString16 codditta; codditta << app()._codditta;
|
|
if (codditta != "0")
|
|
{
|
|
f.set(codditta);
|
|
f.check();
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::attivita_handler(TMask_field& m, KEY k)
|
|
{
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
|
|
app().registra(m.mask(),FALSE);
|
|
m.mask().stop_run(K_ESC);
|
|
|
|
TString appname;
|
|
|
|
appname = "ba4 -4";
|
|
|
|
TString body(16);
|
|
|
|
body << "1" << "|";
|
|
body << m.mask().get(F_CODDITTA) << "|";
|
|
body << m.mask().get(F_ATTIV) << "|";
|
|
body << m.mask().get(F_ATTIV);
|
|
|
|
TMessage msg(appname, MSG_LN, (const char*) body);
|
|
msg.send();
|
|
|
|
TExternal_app a(appname);
|
|
a.run();
|
|
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::DCditta_handler(TMask_field& f, KEY k)
|
|
{
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
else
|
|
{
|
|
TMask& m = f.mask();
|
|
app().registra(m, FALSE);
|
|
m.stop_run(K_ESC);
|
|
const long lDittaCaaf = m.get_long(F_DITTACAAF);
|
|
TToken_string body(16);
|
|
body.add("1"); // usa la chiave 1
|
|
body.add(lDittaCaaf); // ditta per il campo codice ditta
|
|
body.add(lDittaCaaf); // ditta per il secondo campo codice ditta
|
|
TString16 cmd("ba4 -2");
|
|
TMessage msg(cmd, MSG_LN, (const char*) body);
|
|
msg.send();
|
|
TExternal_app a(cmd);
|
|
a.run();
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::fisica_handler(TMask_field& m, KEY k)
|
|
{
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
|
|
app().registra(m.mask(),FALSE);
|
|
m.mask().stop_run(K_ESC);
|
|
|
|
TToken_string body(16);
|
|
|
|
body << "1" << "|";
|
|
body << m.mask().get(F_ANAGR);
|
|
|
|
TString16 cmd ("ba4 -1 F");
|
|
|
|
TMessage msg(cmd, MSG_LN, (const char*) body);
|
|
TMailbox mb;
|
|
mb.send(msg);
|
|
|
|
TExternal_app a(cmd);
|
|
a.run();
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TDati_anagrafici::giuridica_handler(TMask_field& m, KEY k)
|
|
{
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
|
|
app().registra(m.mask(),FALSE);
|
|
m.mask().stop_run(K_ESC);
|
|
|
|
TToken_string body(16);
|
|
|
|
body << "1" << "|";
|
|
body << m.mask().get(F_ANAGR);
|
|
|
|
TString16 cmd ("ba4 -1 G");
|
|
|
|
TMessage msg(cmd, MSG_LN, (const char*) body);
|
|
TMailbox mb;
|
|
mb.send(msg);
|
|
|
|
TExternal_app a(cmd);
|
|
a.run();
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TDati_anagrafici::anagrafica_handler(TMask_field& m, KEY k)
|
|
{
|
|
TString16 cmd;
|
|
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
|
|
app().registra(m.mask(),FALSE);
|
|
m.mask().stop_run(K_ESC);
|
|
|
|
TToken_string body(16);
|
|
|
|
body << "1" << "|";
|
|
body << m.mask().get(F_ANAGR);
|
|
|
|
char tipoa = m.mask().get(ASCF_TIPOA)[0];
|
|
|
|
if (tipoa == 'F')
|
|
cmd = "ba4 -1 F";
|
|
else
|
|
if (tipoa == 'G')
|
|
cmd = "ba4 -1 G";
|
|
|
|
TMessage msg(cmd, MSG_LN, (const char*) body);
|
|
TMailbox mb;
|
|
mb.send(msg);
|
|
|
|
TExternal_app a(cmd);
|
|
a.run();
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TDati_anagrafici::anagr_dich_handler(TMask_field& m, KEY k)
|
|
{
|
|
TString16 cmd;
|
|
|
|
if (k != K_SPACE)
|
|
return TRUE;
|
|
|
|
app().registra(m.mask(),FALSE);
|
|
m.mask().stop_run(K_ESC);
|
|
|
|
TToken_string body(16);
|
|
|
|
body << "1" << "|";
|
|
body << m.mask().get(F_ANAGR);
|
|
|
|
char tipoa = m.mask().get(F_TIPOA)[0];
|
|
|
|
if (tipoa == 'F')
|
|
cmd = "ba4 -1 F";
|
|
else
|
|
if (tipoa == 'G')
|
|
cmd = "ba4 -1 G";
|
|
|
|
TMessage msg(cmd, MSG_LN, (const char*) body);
|
|
TMailbox mb;
|
|
mb.send(msg);
|
|
|
|
TExternal_app a(cmd);
|
|
a.run();
|
|
m.set_focus();
|
|
xvt_statbar_set("");
|
|
|
|
return FALSE;
|
|
}
|
|
|
|
bool TDati_anagrafici::indirizzo (TMask_field& f, KEY k)
|
|
{
|
|
TLocalisamfile anag (LF_ANAG, FALSE);
|
|
TLocalisamfile comuni (LF_COMUNI, FALSE);
|
|
long codanagr;
|
|
char tipoa;
|
|
TString ragione,nome,cognome,ind,civ,cap,com,prov,codcom;
|
|
|
|
if (k == K_TAB)
|
|
{
|
|
tipoa = f.mask().get (ASCF_TIPOA)[0];
|
|
codanagr = f.mask().get_long(F_ANAGR);
|
|
|
|
// Ricerca sull'archivio anagrafiche dei dati relativi al depositario
|
|
anag.setkey(1);
|
|
anag.zero();
|
|
anag.put("TIPOA", tipoa);
|
|
anag.put("CODANAGR", codanagr);
|
|
if (anag.read() == NOERR)
|
|
{
|
|
ragione = anag.get("RAGSOC");
|
|
codcom = anag.get("COMRF");
|
|
|
|
if (codcom != "")
|
|
{
|
|
ind = anag.get("INDRF");
|
|
civ = anag.get("CIVRF");
|
|
cap = anag.get("CAPRF");
|
|
}
|
|
else
|
|
{
|
|
ind = anag.get("INDRES");
|
|
civ = anag.get("CIVRES");
|
|
cap = anag.get("CAPRES");
|
|
codcom = anag.get("COMRES");
|
|
}
|
|
}
|
|
|
|
if (tipoa == 'F')
|
|
{
|
|
cognome = ragione.mid(0,30);
|
|
nome = ragione.mid(30,20);
|
|
f.mask().hide(F_RAGIONE);
|
|
f.mask().show(F_COGNOME);
|
|
f.mask().show(F_NOME);
|
|
f.mask().set(F_COGNOME, cognome);
|
|
f.mask().set(F_NOME, nome);
|
|
}
|
|
else
|
|
if (tipoa == 'G')
|
|
{
|
|
f.mask().hide(F_COGNOME);
|
|
f.mask().hide(F_NOME);
|
|
f.mask().show(F_RAGIONE);
|
|
f.mask().set(F_RAGIONE, ragione);
|
|
}
|
|
|
|
// Ricerca dati relativi al comune del depositario
|
|
|
|
comuni.setkey(1);
|
|
comuni.zero();
|
|
comuni.put("STATO", "");
|
|
comuni.put("COM", codcom);
|
|
if (comuni.read() == NOERR)
|
|
{
|
|
com = comuni.get("DENCOM");
|
|
prov = comuni.get("PROVCOM");
|
|
}
|
|
|
|
f.mask().set(F_IND, ind);
|
|
f.mask().set(F_CIV, civ);
|
|
f.mask().set(F_CAP, cap);
|
|
f.mask().set(F_COM, com);
|
|
f.mask().set(F_PROV, prov);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::cod_conc (TMask_field& f, KEY k)
|
|
{
|
|
TLocalisamfile anag (LF_ANAG);
|
|
TLocalisamfile comuni (LF_COMUNI);
|
|
long codanagr;
|
|
char tipoa;
|
|
int codconc,uffiidd,codcs;
|
|
TString codcom;
|
|
|
|
if ( k == K_TAB )// && f.mask().is_running() )
|
|
{
|
|
tipoa = f.mask().get (F_TIPOA)[0];
|
|
codanagr = f.mask().get_long(F_ANAGR);
|
|
|
|
// Setta il prompt del button di uscita sull'anagrafica del dichiarante
|
|
// if (tipoa == 'G')
|
|
// f.mask().field(F_ANAGR_DICH).set_prompt("Giuridiche");
|
|
// if (tipoa == 'F')
|
|
// f.mask().field(F_ANAGR_DICH).set_prompt("Fisiche");
|
|
|
|
// Ricerca sull'archivio anagrafiche dei dati
|
|
anag.setkey(1);
|
|
anag.zero();
|
|
anag.put("TIPOA", tipoa);
|
|
anag.put("CODANAGR", codanagr);
|
|
if (anag.read() == NOERR)
|
|
{
|
|
codcom = anag.get("COMRF");
|
|
|
|
if (codcom == "")
|
|
codcom = anag.get("COMRES");
|
|
}
|
|
|
|
// Ricerca dati relativi al comune
|
|
comuni.setkey(1);
|
|
comuni.zero();
|
|
comuni.put("STATO", "");
|
|
comuni.put("COM", codcom);
|
|
if (comuni.read() == NOERR)
|
|
{
|
|
codconc = comuni.get_int("UFFCONC");
|
|
uffiidd = comuni.get_int("UFFIIDD1");
|
|
codcs = comuni.get_int("UFFCSERV");
|
|
|
|
if (uffiidd == 0)
|
|
uffiidd = comuni.get_int("UFFIIDD2");
|
|
|
|
if (uffiidd == 0)
|
|
uffiidd = comuni.get_int("UFFIIDD3");
|
|
|
|
if (codconc != 0)
|
|
f.mask().set(F_CODCONC1, codconc);
|
|
if (uffiidd != 0)
|
|
f.mask().set(F_CODUI, uffiidd);
|
|
if (codcs != 0)
|
|
f.mask().set(F_CODCS, codcs);
|
|
|
|
f.mask().check_field(F_CODCS);
|
|
f.mask().check_field(F_CODUI);
|
|
}
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
|
|
bool TDati_anagrafici::niscraa(TMask_field& f, KEY k)
|
|
{
|
|
if (k == K_TAB && !f.mask().is_running())
|
|
{
|
|
TLocalisamfile base (LF_BASE);
|
|
TLocalisamfile ditte(LF_NDITTE);
|
|
TString16 niscraa = "";
|
|
long dittacaaf = 0;
|
|
|
|
long codditta = f.mask().get_long(F_CODDITTA);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
dittacaaf = base.get_long("DITTACAAF");
|
|
|
|
ditte.setkey(1);
|
|
ditte.zero();
|
|
ditte.put(NDT_CODDITTA, dittacaaf);
|
|
if (ditte.read() == NOERR)
|
|
niscraa = ditte.get(NDT_NISCRAA);
|
|
}
|
|
f.mask().set(F_NISCRAA, niscraa);
|
|
if (dittacaaf != 0)
|
|
f.mask().set(F_DITTACAAF, dittacaaf);
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::ditta_caaf(TMask_field& f, KEY k)
|
|
{
|
|
if (k == K_TAB || k == K_ENTER)
|
|
{
|
|
long caaf = f.mask().get_long(F_ANAGR);
|
|
long ditta = atol(f.get());
|
|
|
|
if (caaf == 0 && ditta != 0)
|
|
return f.warning_box("Se non indicato il codice del CAAF la ditta non deve essere indicata");
|
|
|
|
if (caaf != 0 && ditta == 0)
|
|
return f.warning_box("Se indicato il codice del CAAF deve essere indicata anche la ditta a cui e' collegato");
|
|
}
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::create()
|
|
{
|
|
TApplication::create();
|
|
_rel = new TRelation (LF_NDITTE);
|
|
_rel->add(LF_BASE, "CODDITTA=CODDITTA");
|
|
_rel->add(LF_BASEBIS, "CODDITTA=CODDITTA");
|
|
|
|
_codditta = get_firm_770();
|
|
|
|
if (Dichiarante())
|
|
{
|
|
char tipo_pers = tipo_persona(_codditta);
|
|
if (tipo_pers == ' ' || tipo_pers == '\0')
|
|
{
|
|
message_box("Il titolare della ditta non e' stato compilato correttamente.");
|
|
return TRUE;
|
|
}
|
|
if (tipo_pers == 'G')
|
|
{
|
|
_msk = new TMask ("771100b");
|
|
_msk->set_handler(F_GIURIDICA, giuridica_handler);
|
|
}
|
|
else
|
|
if (tipo_pers == 'F')
|
|
{
|
|
_msk = new TMask ("771100a");
|
|
_msk->set_handler(F_FISICA, fisica_handler);
|
|
}
|
|
_msk->set_handler(F_ATTIVITA, attivita_handler);
|
|
}
|
|
|
|
if (Rappresentante())
|
|
{
|
|
_msk = new TMask ("771100c");
|
|
_msk->set_handler(F_FISICA, fisica_handler);
|
|
|
|
}
|
|
|
|
if (ScrittureContabili())
|
|
{
|
|
_msk = new TMask ("771100d");
|
|
_msk->set_handler(F_ANAGR, indirizzo);
|
|
_msk->set_handler(F_ATTIVITA, attivita_handler);
|
|
_msk->set_handler(F_FISICA, anagrafica_handler);
|
|
_msk->set_handler(F_GIURIDICA,anagrafica_handler);
|
|
_msk->disable(DLG_SAVEREC);
|
|
_msk->disable(DLG_CANCEL);
|
|
}
|
|
|
|
if (DatiCAAF())
|
|
{
|
|
_msk = new TMask ("771100e");
|
|
_msk->set_handler(F_ANAGR, niscraa);
|
|
_msk->set_handler(F_GIURIDICA, giuridica_handler);
|
|
_msk->set_handler(F_DITTACAAF, ditta_caaf);
|
|
_msk->set_handler(DCF_DITTA, DCditta_handler);
|
|
}
|
|
|
|
if (DirProf())
|
|
{
|
|
_msk = new TMask ("771100f");
|
|
_msk->set_handler(F_FISICA, fisica_handler);
|
|
}
|
|
|
|
if (ConcUIDD())
|
|
{
|
|
_msk = new TMask ("771100g");
|
|
_msk->field(F_CODCONC2).set_dirty();
|
|
_msk->set_handler(F_CODCONC2, cod_conc);
|
|
_msk->set_handler(F_BTN_GIURIDICA, anagr_dich_handler);
|
|
_msk->set_handler(F_BTN_FISICA, anagr_dich_handler);
|
|
}
|
|
|
|
_msk->set_mode(MODE_MOD);
|
|
TString16 codditta; codditta << _codditta;
|
|
if (codditta != "0")
|
|
_msk->set(F_CODDITTA,codditta);
|
|
|
|
dispatch_e_menu (BAR_ITEM(1));
|
|
|
|
return TRUE;
|
|
}
|
|
|
|
bool TDati_anagrafici::destroy()
|
|
{
|
|
delete _msk;
|
|
delete _rel;
|
|
return TApplication::destroy();
|
|
}
|
|
|
|
bool TDati_anagrafici::main_loop()
|
|
{
|
|
KEY tasto = K_ESC;
|
|
_msk->open_modal();
|
|
|
|
while (tasto != K_QUIT)
|
|
{
|
|
_rel->lfile().put("CODDITTA", _codditta);
|
|
_rel->read();
|
|
_msk->autoload(*_rel);
|
|
|
|
// controllo se indicato rappresentante
|
|
if (Rappresentante() && (_msk->get_long(F_ANAGR) == 0L))
|
|
message_box("Il rappresentante non e' stato indicato.");
|
|
|
|
tasto = _msk->run();
|
|
|
|
switch (tasto)
|
|
{
|
|
case K_ESC :
|
|
break;
|
|
case K_QUIT :
|
|
if (registra(*_msk,TRUE) == K_ESC)
|
|
tasto = K_ESC;
|
|
break;
|
|
case K_SAVE :
|
|
registra(*_msk,FALSE);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
_msk->close_modal();
|
|
return FALSE;
|
|
}
|
|
|
|
KEY TDati_anagrafici::registra(TMask& m, bool check_dirty)
|
|
{
|
|
KEY k = K_YES;
|
|
|
|
if (check_dirty && m.dirty())
|
|
k = yesnocancel_box("Registrare le modifiche?");
|
|
|
|
if (k == K_YES)
|
|
{
|
|
if (_ana == 'A' || _ana == 'B')
|
|
registra_fis_giu();
|
|
|
|
if (_ana == 'C')
|
|
registra_rappr();
|
|
|
|
if (_ana == 'E')
|
|
registra_caaf();
|
|
|
|
if (_ana == 'F')
|
|
registra_dirprof();
|
|
|
|
if (_ana == 'G')
|
|
registra_dativari();
|
|
}
|
|
|
|
return k;
|
|
}
|
|
|
|
void TDati_anagrafici::registra_fis_giu()
|
|
{
|
|
TLocalisamfile base(LF_BASE);
|
|
long codditta;
|
|
|
|
codditta = _msk->get_long(F_CODDITTA);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
int rss = _msk->get_int(F_RSS);
|
|
base.put("RSS", rss);
|
|
base.rewrite();
|
|
}
|
|
else
|
|
{
|
|
int rss = _msk->get_int(F_RSS);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
base.put("RSS", rss);
|
|
base.write();
|
|
}
|
|
}
|
|
|
|
void TDati_anagrafici::registra_rappr()
|
|
{
|
|
TLocalisamfile base(LF_BASE);
|
|
const long codditta = _msk->get_long(F_CODDITTA);
|
|
const long CodiceRappr = _msk->get_long(F_ANAGR);
|
|
const int CaricaRappr = _msk->get_int(F_CARRAP);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
base.put("RAPPR", CodiceRappr);
|
|
base.put("CARRAPP", CaricaRappr);
|
|
base.rewrite();
|
|
}
|
|
else
|
|
{
|
|
base.zero();
|
|
base.put("RAPPR", CodiceRappr);
|
|
base.put("CARRAPP", CaricaRappr);
|
|
base.write();
|
|
}
|
|
}
|
|
|
|
void TDati_anagrafici::registra_caaf()
|
|
{
|
|
TLocalisamfile ditte(LF_NDITTE);
|
|
TLocalisamfile base (LF_BASE);
|
|
long codditta;
|
|
char tipoa = 'G';
|
|
|
|
// Registro il codice caaf sull'archivio base
|
|
codditta = _msk->get_long(F_CODDITTA);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
long codice = _msk->get_long(F_ANAGR);
|
|
long dittacaaf = _msk->get_long(F_DITTACAAF);
|
|
|
|
base.put("CODCAAF", codice);
|
|
base.put("DITTACAAF", dittacaaf);
|
|
base.rewrite();
|
|
}
|
|
else
|
|
{
|
|
long codice = _msk->get_long(F_ANAGR);
|
|
long dittacaaf = _msk->get_long(F_DITTACAAF);
|
|
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
base.put("CODCAAF", codice);
|
|
base.put("DITTACAAF", dittacaaf);
|
|
base.write();
|
|
}
|
|
}
|
|
|
|
void TDati_anagrafici::registra_dirprof()
|
|
{
|
|
TLocalisamfile base (LF_BASE);
|
|
long codditta;
|
|
|
|
codditta = _msk->get_long(F_CODDITTA);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
long codpro = _msk->get_long(F_ANAGR);
|
|
bool flart4 = _msk->get_bool(F_CONTROLLI);
|
|
|
|
base.put("CODPRO", codpro);
|
|
base.put("FLART4", flart4);
|
|
base.rewrite();
|
|
}
|
|
else
|
|
{
|
|
long codpro = _msk->get_long(F_ANAGR);
|
|
bool flart4 = _msk->get_bool(F_CONTROLLI);
|
|
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
base.put("CODPRO", codpro);
|
|
base.put("FLART4", flart4);
|
|
base.write();
|
|
}
|
|
}
|
|
|
|
void TDati_anagrafici::registra_dativari()
|
|
{
|
|
TLocalisamfile base(LF_BASEBIS);
|
|
long codditta;
|
|
|
|
codditta = _msk->get_long(F_CODDITTA);
|
|
|
|
base.setkey(1);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
if (base.read() == NOERR)
|
|
{
|
|
TString16 codconc1(_msk->get(F_CODCONC1));
|
|
TString16 codconc2(_msk->get(F_CODCONC2));
|
|
TString16 codconc3(_msk->get(F_CODCONC3));
|
|
int codtes1 = _msk->get_int(F_CODTES1);
|
|
int codtes2 = _msk->get_int(F_CODTES2);
|
|
int codtes3 = _msk->get_int(F_CODTES3);
|
|
base.put("L0CCONC1", codconc1);
|
|
base.put("L0CCONC2", codconc2);
|
|
base.put("L0CCONC3", codconc3);
|
|
base.put("L0CTES1", codtes1);
|
|
base.put("L0CTES2", codtes2);
|
|
base.put("L0CTES3", codtes3);
|
|
base.rewrite();
|
|
}
|
|
else
|
|
{
|
|
TString16 codconc1(_msk->get(F_CODCONC1));
|
|
TString16 codconc2(_msk->get(F_CODCONC2));
|
|
TString16 codconc3(_msk->get_int(F_CODCONC3));
|
|
int codtes1 = _msk->get_int(F_CODTES1);
|
|
int codtes2 = _msk->get_int(F_CODTES2);
|
|
int codtes3 = _msk->get_int(F_CODTES3);
|
|
base.zero();
|
|
base.put("CODDITTA", codditta);
|
|
base.put("L0CCONC1", codconc1);
|
|
base.put("L0CCONC2", codconc2);
|
|
base.put("L0CCONC3", codconc3);
|
|
base.put("L0CTES1", codtes1);
|
|
base.put("L0CTES2", codtes2);
|
|
base.put("L0CTES3", codtes3);
|
|
base.write();
|
|
}
|
|
}
|
|
|
|
bool TDati_anagrafici::menu(MENU_TAG m)
|
|
{
|
|
if (m == BAR_ITEM(1))
|
|
return main_loop();
|
|
return FALSE;
|
|
}
|
|
|
|
int m71100 (int argc, char* argv[])
|
|
{
|
|
TDati_anagrafici main_app(*argv[2]);
|
|
main_app.run(argc, argv, main_app._titolo);
|
|
return TRUE;
|
|
}
|