Patch level : 10.0 0040
Files correlati : cg0 Ricompilazione Demo : [ ] Commento : Aggiunto pulsante di creazione percipiente git-svn-id: svn://10.65.10.50/trunk@16543 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2980a95395
commit
9f452e8acf
113
cg/cg0200.cpp
113
cg/cg0200.cpp
@ -11,6 +11,7 @@
|
|||||||
|
|
||||||
#include <anagr.h>
|
#include <anagr.h>
|
||||||
#include <anafis.h>
|
#include <anafis.h>
|
||||||
|
#include <anagiu.h>
|
||||||
#include <cfven.h>
|
#include <cfven.h>
|
||||||
#include <clifo.h>
|
#include <clifo.h>
|
||||||
#include <comuni.h>
|
#include <comuni.h>
|
||||||
@ -65,6 +66,7 @@ protected:
|
|||||||
|
|
||||||
static bool tipocf_handler(TMask_field& f, KEY key);
|
static bool tipocf_handler(TMask_field& f, KEY key);
|
||||||
static bool tipo_handler(TMask_field& f, KEY key);
|
static bool tipo_handler(TMask_field& f, KEY key);
|
||||||
|
static bool crea_percipienti(TMask_field& f, KEY key);
|
||||||
static bool percip_handler(TMask_field& f, KEY key);
|
static bool percip_handler(TMask_field& f, KEY key);
|
||||||
static bool email_handler(TMask_field& f, KEY k);
|
static bool email_handler(TMask_field& f, KEY k);
|
||||||
static bool rsoc_handler(TMask_field& f, KEY k);
|
static bool rsoc_handler(TMask_field& f, KEY k);
|
||||||
@ -284,20 +286,104 @@ bool TClifo_application::tipo_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
const bool fis = f.get() == "F";
|
const bool fis = f.get() == "F";
|
||||||
m.show(-5, app()._lbcn && fis);
|
m.show(-5, fis);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TClifo_application::crea_percipienti(TMask_field& f, KEY key)
|
||||||
|
{
|
||||||
|
if (key == K_SPACE)
|
||||||
|
{
|
||||||
|
TMask& m = f.mask();
|
||||||
|
TLocalisamfile anag(LF_ANAG);
|
||||||
|
TToken_string k;
|
||||||
|
long percip = m.get_long(F_CODANAGPER);
|
||||||
|
const char tipo = m.get(F_TIPOAPER)[0];
|
||||||
|
|
||||||
|
if (percip == 0)
|
||||||
|
{
|
||||||
|
percip = m.get_long(F_CODCF);
|
||||||
|
k.add(tipo);
|
||||||
|
k.add(percip);
|
||||||
|
const TRectype & rec = cache().get(LF_ANAG, k);
|
||||||
|
|
||||||
|
if (!rec.empty())
|
||||||
|
return error_box("Esiste gia' una anagrafica con codice uguale del fornitore");
|
||||||
|
m.set(F_CODANAGPER, percip);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
k.add(m.get(F_TIPOAPER));
|
||||||
|
k.add(percip);
|
||||||
|
const TRectype & rec = cache().get(LF_ANAG, k);
|
||||||
|
if (!rec.empty())
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
anag.put(ANA_TIPOA, tipo);
|
||||||
|
anag.put(ANA_CODANAGR, percip);
|
||||||
|
anag.put(ANA_COFI, m.get(F_COFI));
|
||||||
|
anag.put(ANA_PAIV, m.get(F_PAIV));
|
||||||
|
anag.put(ANA_RAGSOC, m.get(F_RAGSOC));
|
||||||
|
anag.put(ANA_STATORES, m.get(F_STATOCF));
|
||||||
|
anag.put(ANA_COMRES, m.get(F_COMCF));
|
||||||
|
anag.put(ANA_INDRES, m.get(F_INDCF));
|
||||||
|
anag.put(ANA_CIVRES, m.get(F_CIVCF));
|
||||||
|
anag.put(ANA_CAPRES, m.get(F_CAPCF));
|
||||||
|
|
||||||
|
int err = anag.write();
|
||||||
|
|
||||||
|
if (err == NOERR)
|
||||||
|
{
|
||||||
|
if (tipo == 'F')
|
||||||
|
{
|
||||||
|
TLocalisamfile anafis(LF_ANAGFIS);
|
||||||
|
|
||||||
|
anafis.put(ANF_CODANAGR, percip);
|
||||||
|
anafis.put(ANF_DATANASC, m.get(F_DATANASC));
|
||||||
|
anafis.put(ANF_SESSO, atoi(m.get(F_COFI).mid(9, 2)) > 31 ? 'F' : 'M');
|
||||||
|
anafis.put(ANF_COMNASC, m.get(F_COMNASC));
|
||||||
|
err = anafis.write();
|
||||||
|
if (err != NOERR)
|
||||||
|
return message_box("Scrittura anagrafica persona fisica Errore %d", err);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
TLocalisamfile anagiu(LF_ANAGGIU);
|
||||||
|
|
||||||
|
anagiu.put(ANG_CODANAGR, percip);
|
||||||
|
|
||||||
|
err = anagiu.write();
|
||||||
|
if (err != NOERR)
|
||||||
|
return message_box("Scrittura anagrafica persona fisica Errore %d", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
return message_box("Scrittura anagrafica Errore %d", err);
|
||||||
|
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
bool TClifo_application::percip_handler(TMask_field& f, KEY key)
|
bool TClifo_application::percip_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
TMask& m = f.mask();
|
TMask& m = f.mask();
|
||||||
|
|
||||||
if (f.to_check(key) && !m.field(F_CODANAGPER).empty())
|
if (f.to_check(key) && !m.field(F_CODANAGPER).empty())
|
||||||
{
|
{
|
||||||
const TRectype& anag = m.efield(F_CODANAGPER).browse()->cursor()->file().curr();
|
long percip = m.get_long(F_CODANAGPER);
|
||||||
|
const char tipo = m.get(F_TIPOAPER)[0];
|
||||||
|
TToken_string k;
|
||||||
|
|
||||||
|
k.add(tipo);
|
||||||
|
k.add(percip);
|
||||||
|
const TRectype & anag = cache().get(LF_ANAG, k);
|
||||||
const TString& c = m.get(F_COFI), p = m.get(F_PAIV);
|
const TString& c = m.get(F_COFI), p = m.get(F_PAIV);
|
||||||
|
|
||||||
|
if (key == K_TAB && anag.empty())
|
||||||
|
return true;
|
||||||
|
|
||||||
if ((c.full() && c != anag.get(ANA_COFI)) ||
|
if ((c.full() && c != anag.get(ANA_COFI)) ||
|
||||||
(p.full() && p != anag.get(ANA_PAIV)))
|
(p.full() && p != anag.get(ANA_PAIV)))
|
||||||
return error_box(TR("Percipiente non corretto: codice fiscale o partita IVA diversa"));
|
return error_box(TR("Percipiente non corretto: codice fiscale o partita IVA diversa"));
|
||||||
@ -322,21 +408,17 @@ bool TClifo_application::percip_handler(TMask_field& f, KEY key)
|
|||||||
if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV));
|
if (p.empty()) m.set(F_PAIV, anag.get(ANA_PAIV));
|
||||||
if (m.get(F_TIPOAPER) == "F")
|
if (m.get(F_TIPOAPER) == "F")
|
||||||
{
|
{
|
||||||
m.show(-5, app()._lbcn);
|
const TRectype & fis = cache().get(LF_ANAGFIS, anag.get(ANA_CODANAGR));
|
||||||
if (app()._lbcn)
|
|
||||||
|
if (!fis.empty())
|
||||||
{
|
{
|
||||||
const TRectype & fis = cache().get(LF_ANAGFIS, anag.get(ANA_CODANAGR));
|
if (m.get(F_DATANASC).empty()) m.set(F_DATANASC, fis.get(ANF_DATANASC));
|
||||||
|
if (m.get(F_COMNASC).empty())
|
||||||
if (!fis.empty())
|
|
||||||
{
|
{
|
||||||
if (m.get(F_DATANASC).empty()) m.set(F_DATANASC, fis.get(ANF_DATANASC));
|
m.set(F_STATONASC, fis.get(ANF_STATONASC), true);
|
||||||
if (m.get(F_COMNASC).empty())
|
m.set(F_COMNASC, fis.get(ANF_COMNASC), true);
|
||||||
{
|
}
|
||||||
m.set(F_STATONASC, fis.get(ANF_STATONASC), true);
|
}
|
||||||
m.set(F_COMNASC, fis.get(ANF_COMNASC), true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -861,6 +943,7 @@ bool TClifo_application::user_create() // initvar e arrmask
|
|||||||
_msk->set_handler(F_PAIV, paiv_handler);
|
_msk->set_handler(F_PAIV, paiv_handler);
|
||||||
_msk->set_handler(F_CODANAGPER, percip_handler);
|
_msk->set_handler(F_CODANAGPER, percip_handler);
|
||||||
_msk->set_handler(F_TIPOPERS, tipo_handler);
|
_msk->set_handler(F_TIPOPERS, tipo_handler);
|
||||||
|
_msk->set_handler(DLG_ANAG, crea_percipienti);
|
||||||
_msk->set_handler(F_ALLEG, alleg_handler);
|
_msk->set_handler(F_ALLEG, alleg_handler);
|
||||||
_msk->set_handler(F_CODALLEG, codalleg_handler);
|
_msk->set_handler(F_CODALLEG, codalleg_handler);
|
||||||
_msk->set_handler(DLG_EMAIL, email_handler);
|
_msk->set_handler(DLG_EMAIL, email_handler);
|
||||||
|
@ -166,6 +166,7 @@
|
|||||||
#define F_DIRTY 305
|
#define F_DIRTY 305
|
||||||
#define F_BYMAIL 306
|
#define F_BYMAIL 306
|
||||||
#define F_DOCMAIL 307
|
#define F_DOCMAIL 307
|
||||||
|
#define DLG_ANAG 308
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
|
@ -1,28 +1,25 @@
|
|||||||
#include "cg0200.h"
|
#include "cg0200.h"
|
||||||
|
|
||||||
TOOLBAR "topbar" 0 0 0 2
|
TOOLBAR "" 0 18 0 4
|
||||||
|
|
||||||
#include <relapbar.h>
|
|
||||||
|
|
||||||
ENDPAGE
|
|
||||||
TOOLBAR "" 0 -2 0 2
|
|
||||||
|
|
||||||
BUTTON DLG_EMAIL 10 2
|
BUTTON DLG_EMAIL 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -13 -11 "~Posta"
|
PROMPT -56 -3 "~Posta"
|
||||||
PICTURE BMP_EMAIL
|
PICTURE BMP_EMAIL
|
||||||
END
|
END
|
||||||
|
|
||||||
GOLEM DLG_OGGETTI 10 2
|
GOLEM DLG_OGGETTI 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT -33 -11 ""
|
PROMPT -66 -3 ""
|
||||||
FIELD OGGETTI
|
FIELD OGGETTI
|
||||||
FLAGS "M"
|
FLAGS "M"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
#include <toolbar.h>
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
|
|
||||||
PAGE "Pag.1" 0 0 0 -4
|
PAGE "Pag.1" -1 -1 78 19
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 76 4
|
GROUPBOX DLG_NULL 76 4
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -523,6 +520,12 @@ BEGIN
|
|||||||
ITEM "G|Giuridica"
|
ITEM "G|Giuridica"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_ANAG 10 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 45 15 "Crea percipiente"
|
||||||
|
GROUP 4
|
||||||
|
END
|
||||||
|
|
||||||
NUMBER F_CODANAGPER 5
|
NUMBER F_CODANAGPER 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 59 15 "Codice "
|
PROMPT 59 15 "Codice "
|
||||||
@ -538,7 +541,7 @@ BEGIN
|
|||||||
OUTPUT F_CODANAGPER CODANAGR
|
OUTPUT F_CODANAGPER CODANAGR
|
||||||
OUTPUT F_RAGSOC1 RAGSOC
|
OUTPUT F_RAGSOC1 RAGSOC
|
||||||
HELP "Codice anagrafico percepiente per la compilazione Mod. 770"
|
HELP "Codice anagrafico percepiente per la compilazione Mod. 770"
|
||||||
CHECKTYPE NORMAL
|
CHECKTYPE SEARCH
|
||||||
WARNING "Percipiente assente"
|
WARNING "Percipiente assente"
|
||||||
ADD RUN ba4 -1 #F_TIPOAPER
|
ADD RUN ba4 -1 #F_TIPOAPER
|
||||||
END
|
END
|
||||||
|
Loading…
x
Reference in New Issue
Block a user