Patch level : 10.952
Files correlati : cg0.exe Ricompilazione Demo : [ ] Commento : Bug 0001785: Anagrafica clienti (cg0) Abilitare i campi data di nascita comune di nascita e stao di nascita anche per i clienti Bug 0001790: Programma di gestione occasionali Aggiungere questo programma con i campi del file occasionali. git-svn-id: svn://10.65.10.50/branches/R_10_00@21774 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
049191d2b9
commit
afd9c24b3e
@ -12,6 +12,7 @@ int main(int argc, char** argv)
|
||||
case 3: cg0400(argc,argv); break; // Progressivi IVA
|
||||
case 4: cg0500(argc,argv); break; // Causali contabili
|
||||
case 5: cg0600(argc,argv); break; // Tabelle contabili
|
||||
case 6: cg0700(argc,argv); break; // Clienti/Fornitori occasionali
|
||||
default: cg0100(argc,argv); break; // Piano dei conti
|
||||
}
|
||||
exit(0);
|
||||
|
1
cg/cg0.h
1
cg/cg0.h
@ -7,6 +7,7 @@ int cg0300(int argc, char* argv[]);
|
||||
int cg0400(int argc, char* argv[]);
|
||||
int cg0500(int argc, char* argv[]);
|
||||
int cg0600(int argc, char* argv[]);
|
||||
int cg0700(int argc, char* argv[]);
|
||||
|
||||
#endif // __CG0_H
|
||||
|
||||
|
@ -151,6 +151,8 @@
|
||||
#define F_IMPMINFAT 257
|
||||
#define F_RIFDOC 258
|
||||
#define F_CODCAUSINC 259
|
||||
#define F_STATONASC 260
|
||||
#define F_DESTANASC 261
|
||||
|
||||
#define DLG_RIC 300
|
||||
#define DLG_CST 301
|
||||
|
@ -522,7 +522,7 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 76 6
|
||||
GROUPBOX DLG_NULL 76 7
|
||||
BEGIN
|
||||
PROMPT 1 14 "Dati Percipiente/Nascita"
|
||||
END
|
||||
@ -580,7 +580,6 @@ DATE F_DATANASC
|
||||
BEGIN
|
||||
PROMPT 2 17 "Data "
|
||||
FIELD DATANASC
|
||||
GROUP 5
|
||||
HELP "Data di nascita del cliente/fornitore"
|
||||
END
|
||||
|
||||
@ -591,15 +590,14 @@ BEGIN
|
||||
ITEM "M|Maschio"
|
||||
ITEM "F|Femmina"
|
||||
FIELD SESSO
|
||||
GROUP 5
|
||||
GROUP 5
|
||||
END
|
||||
|
||||
STRING F_COMNASC 4
|
||||
BEGIN
|
||||
PROMPT 60 17 "Comune "
|
||||
PROMPT 2 18 "Comune "
|
||||
FIELD COMNASC
|
||||
FLAGS "U"
|
||||
GROUP 5
|
||||
COPY USE F_COMCF
|
||||
INPUT STATO ""
|
||||
INPUT COM F_COMNASC
|
||||
@ -614,8 +612,7 @@ END
|
||||
|
||||
STRING F_DENCOMNASC 50
|
||||
BEGIN
|
||||
PROMPT 2 18 "Denominazione "
|
||||
GROUP 5
|
||||
PROMPT 23 18 ""
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM F_DENCOMNASC
|
||||
COPY DISPLAY F_DENCOMCF
|
||||
@ -624,6 +621,33 @@ BEGIN
|
||||
ADD RUN ba4 -0
|
||||
END
|
||||
|
||||
NUMBER F_STATONASC 3
|
||||
BEGIN
|
||||
PROMPT 2 19 "Stato "
|
||||
FIELD STATONASC
|
||||
FLAGS "Z"
|
||||
USE %STA
|
||||
INPUT CODTAB F_STATONASC
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Stato@50" S0
|
||||
OUTPUT F_STATONASC CODTAB
|
||||
OUTPUT F_DESTANASC S0
|
||||
HELP "Codice dello stato di nascita"
|
||||
CHECKTYPE NORMAL
|
||||
WARNING "Stato assente"
|
||||
END
|
||||
|
||||
STRING F_DESTANASC 50
|
||||
BEGIN
|
||||
PROMPT 23 19 ""
|
||||
USE %STA KEY 2
|
||||
INPUT S0 F_DESTANASC
|
||||
DISPLAY "Stato@60" S0
|
||||
DISPLAY "Codice" CODTAB
|
||||
COPY OUTPUT F_STATONASC
|
||||
END
|
||||
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Banche" -1 -1 78 19
|
||||
|
104
cg/cg0700.cpp
Executable file
104
cg/cg0700.cpp
Executable file
@ -0,0 +1,104 @@
|
||||
#include <recarray.h>
|
||||
#include <relapp.h>
|
||||
|
||||
#include "cg0.h"
|
||||
#include "cg0700a.h"
|
||||
|
||||
#include <pconti.h>
|
||||
#include <saldi.h>
|
||||
#include <automask.h>
|
||||
#include <validate.h>
|
||||
|
||||
///////////////////////////////////////////////////////////
|
||||
// TCheck_PIVA_mask
|
||||
///////////////////////////////////////////////////////////
|
||||
|
||||
class TOccas_mask : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TOccas_mask() : TAutomask("cg0700a") { }
|
||||
};
|
||||
bool TOccas_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
switch (o.dlg())
|
||||
{
|
||||
case O_COFI:
|
||||
if (e == fe_modify)
|
||||
{
|
||||
TMask& m = o.mask();
|
||||
TString16 cofi = m.get(O_COFI);
|
||||
if (cofi.blank())
|
||||
cofi = m.get(O_CODICE);
|
||||
|
||||
if (cf_check(m.get(O_STATONAS), cofi))
|
||||
{
|
||||
int giorno = atoi(cofi.mid(9,2));
|
||||
m.set(O_SESSO, giorno > 40 ? "F" : "M");
|
||||
|
||||
if (m.field(O_COMUNENAS).empty())
|
||||
m.set(O_COMUNENAS, cofi.mid(11,4), 0x2);
|
||||
|
||||
if (m.field(O_DATANAS).empty())
|
||||
{
|
||||
const TFixed_string mesi("ABCDEHLMPRST");
|
||||
const int mese = mesi.find(cofi[8])+1;
|
||||
int anno = atoi(cofi.mid(6,2));
|
||||
if (giorno > 0 && mese > 0 && anno > 0)
|
||||
{
|
||||
giorno %= 40;
|
||||
anno += anno < 5 ? 2000 : 1900;
|
||||
m.set(O_DATANAS, TDate(giorno, mese, anno));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
class TOccasionali_app : public TRelation_application
|
||||
{
|
||||
TOccas_mask * _msk;
|
||||
TRelation *_rel;
|
||||
|
||||
bool user_create();
|
||||
bool user_destroy();
|
||||
virtual TMask* get_mask(int mode) {return _msk;}
|
||||
virtual bool changing_mask(int mode) {return FALSE;}
|
||||
|
||||
public:
|
||||
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
|
||||
virtual bool check_autorization() const { return false; }
|
||||
virtual TRelation* get_relation() const {return _rel;}
|
||||
};
|
||||
|
||||
HIDDEN inline TOccasionali_app& app() { return (TOccasionali_app&) main_app();}
|
||||
|
||||
bool TOccasionali_app::user_create()
|
||||
{
|
||||
open_files(LF_OCCAS, 0);
|
||||
|
||||
_rel = new TRelation(LF_OCCAS);
|
||||
_msk = new TOccas_mask() ;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TOccasionali_app::user_destroy()
|
||||
{
|
||||
delete _rel;
|
||||
delete _msk;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int cg0700(int argc, char* argv[])
|
||||
{
|
||||
TOccasionali_app a ;
|
||||
a.run(argc, argv, TR("Clienti/Fornitori Occasionali"));
|
||||
return 0;
|
||||
}
|
17
cg/cg0700a.h
Executable file
17
cg/cg0700a.h
Executable file
@ -0,0 +1,17 @@
|
||||
|
||||
// Maschera clienti/fornitori occasionali
|
||||
#define O_CODICE 100
|
||||
#define O_RAGSOC 101
|
||||
#define O_STATO 102
|
||||
#define O_COMUNE 103
|
||||
#define O_DENCOM 104
|
||||
#define O_CAP 105
|
||||
#define O_INDIRIZZO 106
|
||||
#define O_NUMERO 107
|
||||
#define O_COFI 108
|
||||
#define O_PAIV 109
|
||||
#define O_SESSO 110
|
||||
#define O_DATANAS 111
|
||||
#define O_STATONAS 112
|
||||
#define O_COMUNENAS 113
|
||||
#define O_DENCOMNAS 114
|
184
cg/cg0700a.uml
Executable file
184
cg/cg0700a.uml
Executable file
@ -0,0 +1,184 @@
|
||||
#include "cg2100.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
#include <relapbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Clienti/Fornitori occasionali" 0 0 0 0
|
||||
|
||||
GROUPBOX DLG_NULL 70 4
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
END
|
||||
|
||||
STRING O_CODICE 16
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice "
|
||||
FLAGS "U"
|
||||
USE LF_OCCAS
|
||||
INPUT CFPI O_CODICE
|
||||
DISPLAY "Codice@16" CFPI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
OUTPUT O_CODICE CFPI
|
||||
OUTPUT O_RAGSOC RAGSOC
|
||||
FIELD CFPI
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
KEY 1
|
||||
END
|
||||
|
||||
STRING O_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Ragione sociale "
|
||||
FIELD RAGSOC
|
||||
USE LF_OCCAS KEY 2
|
||||
INPUT RAGSOC O_RAGSOC
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice@16" CFPI
|
||||
OUTPUT O_CODICE CFPI
|
||||
OUTPUT O_RAGSOC RAGSOC
|
||||
VALIDATE NOT_EMPTY_FUNC
|
||||
KEY 2
|
||||
END
|
||||
|
||||
STRING O_COFI 16
|
||||
BEGIN
|
||||
PROMPT 2 4 "Codice fiscale "
|
||||
FIELD COFI
|
||||
FLAGS "U"
|
||||
VALIDATE XTZCF_FUNC O_STATONAS O_SESSO O_DATANAS O_COMUNENAS
|
||||
END
|
||||
|
||||
STRING O_PAIV 12
|
||||
BEGIN
|
||||
PROMPT 44 4 "Partita IVA "
|
||||
FIELD PAIV
|
||||
VALIDATE PI_FUNC O_STATO
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 5
|
||||
BEGIN
|
||||
PROMPT 1 5 "@bDati residenza"
|
||||
END
|
||||
|
||||
STRING O_INDIRIZZO 40
|
||||
BEGIN
|
||||
PROMPT 2 6 "Indirizzo "
|
||||
FIELD INDIR
|
||||
END
|
||||
|
||||
STRING O_NUMERO 6
|
||||
BEGIN
|
||||
PROMPT 55 6 "Numero "
|
||||
FIELD CIV
|
||||
END
|
||||
|
||||
STRING O_STATO 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Stato "
|
||||
HELP "Stato di residenza della persona"
|
||||
FIELD STATO
|
||||
FLAGS "U"
|
||||
USE %STA
|
||||
INPUT CODTAB O_STATO
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Denominazione@50" S0
|
||||
OUTPUT O_STATO CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING O_COMUNE 4
|
||||
BEGIN
|
||||
PROMPT 27 7 "Comune "
|
||||
FIELD COM
|
||||
FLAGS "U"
|
||||
USE LF_COMUNI
|
||||
INPUT STATO O_STATO
|
||||
INPUT COM O_COMUNE
|
||||
DISPLAY "Codice" COM
|
||||
DISPLAY "Denominazione@50" DENCOM
|
||||
OUTPUT O_COMUNE COM
|
||||
OUTPUT O_DENCOM DENCOM
|
||||
OUTPUT O_CAP CAPCOM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
NUMBER O_CAP 5
|
||||
BEGIN
|
||||
PROMPT 56 7 "C.A.P. "
|
||||
HELP "CAP della residenza della persona"
|
||||
FIELD CAP
|
||||
END
|
||||
|
||||
STRING O_DENCOM 50
|
||||
BEGIN
|
||||
PROMPT 2 8 "Denominazione "
|
||||
HELP "Nome del comune di residenza della persona"
|
||||
USE LF_COMUNI KEY 2
|
||||
INPUT DENCOM O_DENCOM
|
||||
DISPLAY "Denominazione@50" DENCOM
|
||||
DISPLAY "Codice@10" COM
|
||||
COPY OUTPUT O_COMUNE
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 70 4
|
||||
BEGIN
|
||||
PROMPT 1 10 "@bDati nascita"
|
||||
END
|
||||
|
||||
LIST O_SESSO 1 7
|
||||
BEGIN
|
||||
PROMPT 2 11 "Sesso "
|
||||
ITEM "M|Maschio"
|
||||
ITEM "F|Femmina"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE O_DATANAS
|
||||
BEGIN
|
||||
PROMPT 23 11 "Data "
|
||||
FIELD DNASC
|
||||
END
|
||||
|
||||
STRING O_STATONAS 3
|
||||
BEGIN
|
||||
PROMPT 41 11 "Stato "
|
||||
FIELD STATONASC
|
||||
FLAGS "U"
|
||||
COPY USE O_STATO
|
||||
INPUT CODTAB O_STATONAS
|
||||
COPY DISPLAY O_STATO
|
||||
OUTPUT O_STATONAS CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING O_COMUNENAS 4
|
||||
BEGIN
|
||||
PROMPT 55 11 "Comune "
|
||||
FIELD COMNASC
|
||||
FLAGS "U"
|
||||
COPY USE O_COMUNE
|
||||
INPUT STATO O_STATONAS
|
||||
INPUT COM O_COMUNENAS
|
||||
COPY DISPLAY O_COMUNE
|
||||
OUTPUT O_COMUNENAS COM
|
||||
OUTPUT O_DENCOMNAS DENCOM
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
STRING O_DENCOMNAS 50
|
||||
BEGIN
|
||||
PROMPT 2 12 "Denominazione "
|
||||
COPY USE O_DENCOM
|
||||
INPUT DENCOM O_DENCOMNAS
|
||||
COPY DISPLAY O_DENCOM
|
||||
COPY OUTPUT O_COMUNENAS
|
||||
CHECKTYPE NORMAL
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
@ -65,9 +65,10 @@ Item_02 = "Registri", "ba3 -0 reg", ""
|
||||
Item_03 = "Piano dei conti", "cg0 -0", "F"
|
||||
Item_04 = "Causali", "cg0 -4", "F"
|
||||
Item_05 = "Clienti/Fornitori", "cg0 -1", "F"
|
||||
Item_06 = "Agenti", "pr0 -4", ""
|
||||
Item_07 = "Cambi giornalieri", "ba3 -0 cam", ""
|
||||
Item_08 = "Esercizi", "cg0 -5 esc", "F"
|
||||
Item_06 = "Clienti/Fornitori occasionali", "cg0 -6", "F"
|
||||
Item_07 = "Agenti", "pr0 -4", ""
|
||||
Item_08 = "Cambi giornalieri", "ba3 -0 cam", ""
|
||||
Item_09 = "Esercizi", "cg0 -5 esc", "F"
|
||||
|
||||
[CGMENU_008]
|
||||
Caption = "Stampa tabelle ditta"
|
||||
|
Loading…
x
Reference in New Issue
Block a user