This commit was generated by cvs2svn to compensate for changes in r1834,
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@1835 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
2f9b35286a
commit
41cad56e5e
30
ab/ab0.cpp
Executable file
30
ab/ab0.cpp
Executable file
@ -0,0 +1,30 @@
|
||||
#include <xvt.h>
|
||||
#include <checks.h>
|
||||
|
||||
#include "ab0.h"
|
||||
|
||||
#define usage "Error - usage : %s -{0|1|2|3|4|5}"
|
||||
|
||||
int main(int argc,char** argv)
|
||||
{
|
||||
int n = (argc > 1) ? atoi(argv[1]+1) : -1;
|
||||
|
||||
switch (n)
|
||||
{
|
||||
case 0:
|
||||
ab0100(argc,argv); break;
|
||||
case 1:
|
||||
ab0200(argc,argv); break;
|
||||
case 2:
|
||||
ab0300(argc,argv); break;
|
||||
// case 3:
|
||||
// m71310(argc,argv); break;
|
||||
// case 4:
|
||||
// m71295(argc,argv); break;
|
||||
// case 5:
|
||||
// m71230(argc,argv); break;
|
||||
default:
|
||||
error_box(usage, argv[0]) ;
|
||||
}
|
||||
return 0;
|
||||
}
|
5
ab/ab0.h
Executable file
5
ab/ab0.h
Executable file
@ -0,0 +1,5 @@
|
||||
|
||||
extern int ab0100 (int argc, char* argv[]); //Tabella periodi di bilancio
|
||||
extern int ab0200 (int argc, char* argv[]); //Piano dei conti analisi di bilancio
|
||||
extern int ab0300 (int argc, char* argv[]); //Compatta il Piano dei Conti
|
||||
|
22
ab/ab0.url
Executable file
22
ab/ab0.url
Executable file
@ -0,0 +1,22 @@
|
||||
#include <default.url>
|
||||
|
||||
MENU TASK_MENUBAR
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
|
||||
MENUBAR MENU_BAR(1)
|
||||
|
||||
MENU MENU_BAR(1)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
|
||||
MENUBAR MENU_BAR(2)
|
||||
|
||||
MENU MENU_BAR(2)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
||||
MENUBAR MENU_BAR(3)
|
||||
|
||||
MENU MENU_BAR(3)
|
||||
SUBMENU MENU_FILE "~File"
|
||||
|
102
ab/ab0100.cpp
Executable file
102
ab/ab0100.cpp
Executable file
@ -0,0 +1,102 @@
|
||||
|
||||
#include <applicat.h>
|
||||
#include <tabapp.h>
|
||||
#include <strings.h>
|
||||
#include <stdtypes.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <prefix.h>
|
||||
|
||||
#include "batbpdb.h"
|
||||
|
||||
class Tabanabil_application : public Tab_application
|
||||
{
|
||||
private:
|
||||
TMask* _msk;
|
||||
TString _tabname;
|
||||
|
||||
public:
|
||||
bool user_create();
|
||||
|
||||
static bool giorno_handler(TMask_field& f, KEY k);
|
||||
static bool mese_handler (TMask_field& f, KEY k);
|
||||
|
||||
Tabanabil_application() {}
|
||||
virtual ~Tabanabil_application() {}
|
||||
};
|
||||
|
||||
HIDDEN inline Tabanabil_application& app() {return (Tabanabil_application&) main_app();}
|
||||
|
||||
bool Tabanabil_application::giorno_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.mask().is_running())
|
||||
{
|
||||
int giorno = atoi(f.get());
|
||||
|
||||
if (giorno > 31)
|
||||
return f.warning_box("Valore non valido per il giorno");
|
||||
|
||||
int mese = (f.dlg() == F_GIORNO_INI ? f.mask().get_int(F_MESE_INI) : f.mask().get_int(F_MESE_FINE));
|
||||
|
||||
if (mese == 2)
|
||||
if (giorno > 29)
|
||||
return f.warning_box("Valore non valido per il giorno");
|
||||
|
||||
if (mese == 11 || mese == 4 || mese == 6 || mese == 9)
|
||||
if (giorno > 30)
|
||||
return f.warning_box("Valore non valido per il giorno");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Tabanabil_application::mese_handler(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.mask().is_running())
|
||||
{
|
||||
int mese = atoi(f.get());
|
||||
|
||||
if (mese < 1 || mese > 12)
|
||||
return f.warning_box("Valore non valido per il mese");
|
||||
|
||||
int giorno = (f.dlg() == F_MESE_INI ? f.mask().get_int(F_GIORNO_INI) : f.mask().get_int(F_GIORNO_FINE));
|
||||
|
||||
if (mese == 2)
|
||||
if (giorno > 29)
|
||||
return f.warning_box("Valore non valido per il giorno");
|
||||
|
||||
if (mese == 11 || mese == 4 || mese == 6 || mese == 9)
|
||||
if (giorno > 30)
|
||||
return f.warning_box("Valore non valido per il giorno");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Tabanabil_application::user_create()
|
||||
{
|
||||
Tab_application::user_create();
|
||||
|
||||
_msk = get_mask();
|
||||
_tabname = get_tabname();
|
||||
|
||||
if (_tabname == "%PDB")
|
||||
{
|
||||
_msk->set_handler(F_GIORNO_INI, giorno_handler);
|
||||
_msk->set_handler(F_MESE_INI, mese_handler);
|
||||
_msk->set_handler(F_GIORNO_FINE, giorno_handler);
|
||||
_msk->set_handler(F_MESE_FINE, mese_handler);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ab0100(int argc, char* argv[])
|
||||
{
|
||||
Tabanabil_application a;
|
||||
|
||||
a.run(argc,argv, "Tabelle");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
264
ab/ab0200.cpp
Executable file
264
ab/ab0200.cpp
Executable file
@ -0,0 +1,264 @@
|
||||
|
||||
#include <applicat.h>
|
||||
#include <relapp.h>
|
||||
#include <tabapp.h>
|
||||
#include <strings.h>
|
||||
#include <stdtypes.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <prefix.h>
|
||||
|
||||
#include "ab0200.h"
|
||||
|
||||
class TPconAb : public TRelation_application
|
||||
{
|
||||
TMask* _msk;
|
||||
TRelation* _rel;
|
||||
TLocalisamfile* _pcon;
|
||||
|
||||
TString _codice;
|
||||
int _indbil,_newindbil;
|
||||
bool _isparametri;
|
||||
|
||||
protected:
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual int rewrite(const TMask& m);
|
||||
virtual int write (const TMask& m);
|
||||
virtual bool remove();
|
||||
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_query_mode (TMask&);
|
||||
virtual void init_modify_mode (TMask&);
|
||||
virtual void init_insert_mode (TMask&);
|
||||
|
||||
public:
|
||||
|
||||
static bool ContoSezBilOpp(TMask_field& f, KEY key);
|
||||
static bool IndBil (TMask_field& f, KEY key);
|
||||
static bool LivelloStrutt (TMask_field& f, KEY key);
|
||||
|
||||
void ScriviContoSezOpp (const TString& codice, const TString& val);
|
||||
|
||||
TPconAb() {} ;
|
||||
};
|
||||
/*
|
||||
TPconAb::TPconAb(const char* codice, char indbil): _codice(codice), _indbil(indbil)
|
||||
{
|
||||
}
|
||||
*/
|
||||
// Handler che controlla, nel caso venga scelto un conto di sezione opposta gia' esistente,
|
||||
// l'indicatore di bilancio del conto di sezione opposta e' "opposto" rispetto al conto
|
||||
// "di partenza". Controlla inoltre, nel caso il conto di sezione opposta abbia a sua volta
|
||||
// un conto di sezione opposta significativo, che quest'ultimo coincida con il conto "di partenza".
|
||||
|
||||
bool TPconAb::ContoSezBilOpp(TMask_field& f, KEY k)
|
||||
{
|
||||
if ( (k == K_TAB && f.mask().is_running()) || k == K_ENTER)
|
||||
{
|
||||
TLocalisamfile pcon (LF_ABPCON);
|
||||
|
||||
TString16 codice (f.get());
|
||||
|
||||
pcon.setkey(1);
|
||||
pcon.zero();
|
||||
pcon.put("CODCBL", codice);
|
||||
if (pcon.read() == NOERR)
|
||||
{
|
||||
int indbilI = f.mask().get_int(F_INDBIL);
|
||||
int indbilII = pcon.get_int("INDBIL");
|
||||
|
||||
if (indbilI == 1 && indbilII != 2)
|
||||
return f.warning_box("L'indicatore di bilancio del conto di sezione opposta deve essere una passivita'");
|
||||
|
||||
if (indbilI == 2 && indbilII != 1)
|
||||
return f.warning_box("L'indicatore di bilancio del conto di sezione opposta deve essere un'attivita'");
|
||||
|
||||
if (indbilI == 3 && indbilII != 4)
|
||||
return f.warning_box("L'indicatore di bilancio del conto di sezione opposta deve essere un ricavo");
|
||||
|
||||
if (indbilI == 4 && indbilII != 3)
|
||||
return f.warning_box("L'indicatore di bilancio del conto di sezione opposta deve essere un costo");
|
||||
|
||||
TString16 codice1 (f.mask().get(F_CODICE));
|
||||
TString16 codice2 (pcon.get("CODCONTR"));
|
||||
|
||||
if (codice2 != "" && codice1 != codice2)
|
||||
return f.warning_box("Il conto di sezione opposta risulta diverso dal conto di sezione di partenza");
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Handler che abilita il campo "Conto di sezione opposta" se l'indicatore
|
||||
// di bilancio e' compreso tra 1 e 4, e lo disabilita in tutti gli altri casi.
|
||||
|
||||
bool TPconAb::IndBil(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_SPACE)
|
||||
{
|
||||
int indbil = atoi(f.get());
|
||||
|
||||
if (indbil == 1 || indbil == 2 || indbil == 3 || indbil == 4)
|
||||
f.mask().enable(F_CODCONTR);
|
||||
else
|
||||
f.mask().disable(F_CODCONTR);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// Handler che controlla la validita' del campo "Livello di struttura":
|
||||
// il suo valore deve essere >= 1 e <= 99.
|
||||
|
||||
bool TPconAb::LivelloStrutt(TMask_field& f, KEY k)
|
||||
{
|
||||
if (k == K_TAB && f.mask().is_running())
|
||||
{
|
||||
int livello = atoi(f.get());
|
||||
|
||||
if (livello < 1 || livello > 99)
|
||||
return f.warning_box("Valore non valido per livello struttura");
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void TPconAb::init_query_mode(TMask&)
|
||||
{
|
||||
if (_isparametri)
|
||||
{
|
||||
_msk->set(F_CODCONTR, _codice);
|
||||
_msk->set(F_INDBIL, _newindbil);
|
||||
_msk->disable(F_CODCONTR);
|
||||
_msk->disable(F_INDBIL);
|
||||
}
|
||||
}
|
||||
|
||||
void TPconAb::init_modify_mode(TMask&)
|
||||
{
|
||||
if (_isparametri)
|
||||
{
|
||||
_msk->set(F_CODCONTR, _codice);
|
||||
_msk->set(F_INDBIL, _newindbil);
|
||||
_msk->disable(F_CODCONTR);
|
||||
_msk->disable(F_INDBIL);
|
||||
}
|
||||
}
|
||||
|
||||
void TPconAb::init_insert_mode(TMask&)
|
||||
{
|
||||
if (_isparametri)
|
||||
{
|
||||
_msk->set(F_CODCONTR, _codice);
|
||||
_msk->set(F_INDBIL, _newindbil);
|
||||
_msk->disable(F_CODCONTR);
|
||||
_msk->disable(F_INDBIL);
|
||||
}
|
||||
}
|
||||
|
||||
void TPconAb::ScriviContoSezOpp(const TString& codice, const TString& val)
|
||||
{
|
||||
TLocalisamfile pcon (LF_ABPCON);
|
||||
|
||||
pcon.setkey(1);
|
||||
pcon.zero();
|
||||
pcon.put("CODCBL", codice);
|
||||
if (pcon.read() == NOERR)
|
||||
{
|
||||
pcon.put("CODCONTR", val);
|
||||
pcon.rewrite();
|
||||
}
|
||||
}
|
||||
|
||||
int TPconAb::rewrite(const TMask& m)
|
||||
{
|
||||
TString16 codopp = _rel->curr(LF_ABPCON).get("CODCONTR");
|
||||
ScriviContoSezOpp(codopp,"");
|
||||
|
||||
m.autosave(_rel);
|
||||
|
||||
codopp = m.get(F_CODCONTR);
|
||||
TString16 val (m.get(F_CODICE));
|
||||
ScriviContoSezOpp(codopp,val);
|
||||
|
||||
return _rel->rewrite();
|
||||
}
|
||||
|
||||
int TPconAb::write(const TMask& m)
|
||||
{
|
||||
TString16 codopp (m.get(F_CODCONTR));
|
||||
TString16 val (m.get(F_CODICE));
|
||||
ScriviContoSezOpp(codopp,val);
|
||||
|
||||
m.autosave(_rel);
|
||||
|
||||
return _rel->write();
|
||||
}
|
||||
|
||||
bool TPconAb::remove()
|
||||
{
|
||||
TString16 codopp = _rel->curr(LF_ABPCON).get("CODCONTR");
|
||||
|
||||
ScriviContoSezOpp(codopp,"");
|
||||
|
||||
return TRelation_application::remove();
|
||||
}
|
||||
|
||||
bool TPconAb::user_create()
|
||||
{
|
||||
_pcon = new TLocalisamfile (LF_ABPCON);
|
||||
|
||||
_rel = new TRelation (LF_ABPCON);
|
||||
|
||||
_msk = new TMask("ab0200a") ;
|
||||
|
||||
_msk->set_handler(F_CODCONTR, ContoSezBilOpp);
|
||||
_msk->set_handler(F_INDBIL, IndBil);
|
||||
_msk->set_handler(F_LIVELLO, LivelloStrutt);
|
||||
|
||||
_isparametri = FALSE;
|
||||
|
||||
if (argv(2) != "" && argv(3) != "")
|
||||
{
|
||||
_codice = argv(2);
|
||||
if (_codice != "-uPRASSI")
|
||||
{
|
||||
_indbil = atoi(argv(3));
|
||||
|
||||
if (_indbil == 1) _newindbil = 2;
|
||||
if (_indbil == 2) _newindbil = 1;
|
||||
if (_indbil == 3) _newindbil = 4;
|
||||
if (_indbil == 4) _newindbil = 3;
|
||||
|
||||
_isparametri = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
set_search_field(F_CODICE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TPconAb::user_destroy()
|
||||
{
|
||||
delete _msk;
|
||||
delete _rel;
|
||||
delete _pcon;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int ab0200(int argc, char* argv[])
|
||||
{
|
||||
TPconAb a;
|
||||
|
||||
a.run(argc, argv, "Piano dei Conti");
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
11
ab/ab0200.h
Executable file
11
ab/ab0200.h
Executable file
@ -0,0 +1,11 @@
|
||||
// campi maschera ab0200a.uml
|
||||
|
||||
#define F_CODICE 101
|
||||
#define F_DESCRIZ1 102
|
||||
#define F_DESCRIZ2 103
|
||||
#define F_LIVELLO 104
|
||||
#define F_INDBIL 105
|
||||
#define F_CODCONTR 106
|
||||
#define F_DETTAGLIO 107
|
||||
#define F_DESCRCONTR1 108
|
||||
#define F_DESCRCONTR2 109
|
119
ab/ab0200a.uml
Executable file
119
ab/ab0200a.uml
Executable file
@ -0,0 +1,119 @@
|
||||
#include "ab0200.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Piano dei Conti" 0 -1 0 19
|
||||
|
||||
GROUPBOX DLG_NULL 76 5
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
NUMBER F_CODICE 10
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice tabella "
|
||||
HELP "Codice della tabella Piano dei Conti"
|
||||
FIELD LF_ABPCON->CODCBL
|
||||
KEY 1
|
||||
USE LF_ABPCON KEY 1
|
||||
INPUT CODCBL F_CODICE
|
||||
DISPLAY "Codice@10" CODCBL
|
||||
DISPLAY "Descrizione@80" DESCRIZ
|
||||
OUTPUT F_CODICE CODCBL
|
||||
OUTPUT F_DESCRIZ1 DESCRIZ[1,40]
|
||||
OUTPUT F_DESCRIZ2 DESCRIZ[41,]
|
||||
CHECKTYPE REQUIRED
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_DESCRIZ1 40
|
||||
BEGIN
|
||||
PROMPT 2 2 "I parte descrizione "
|
||||
FIELD LF_ABPCON->DESCRIZ[1,40]
|
||||
KEY 2
|
||||
USE LF_ABPCON KEY 2
|
||||
INPUT DESCRIZ[1,40] F_DESCRIZ1
|
||||
DISPLAY "Descrizione@80" DESCRIZ
|
||||
DISPLAY "Codice@10" CODCBL
|
||||
COPY OUTPUT F_CODICE
|
||||
HELP "Prima parte della descrizione"
|
||||
WARNING "Manca la descrizione"
|
||||
CHECKTYPE REQUIRED // Guy: perche' non cosi'?
|
||||
END
|
||||
|
||||
STRING F_DESCRIZ2 40
|
||||
BEGIN
|
||||
PROMPT 2 3 "II parte descrizione "
|
||||
FIELD LF_ABPCON->DESCRIZ[41,]
|
||||
KEY 2
|
||||
HELP "Seconda parte della descrizione"
|
||||
END
|
||||
|
||||
NUMBER F_LIVELLO 2
|
||||
BEGIN
|
||||
PROMPT 2 6 "Livello di struttura "
|
||||
HELP "Inserire il livello di struttura: il valore deve essere compreso fra 1 e 99"
|
||||
FIELD LF_ABPCON->LIVELLO
|
||||
FLAGS "R"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
LIST F_INDBIL 14
|
||||
BEGIN
|
||||
PROMPT 2 8 "Indicatore di bilancio "
|
||||
FIELD LF_ABPCON->INDBIL
|
||||
ITEM "1|Attivita'"
|
||||
ITEM "2|Passivita'"
|
||||
ITEM "3|Costi"
|
||||
ITEM "4|Ricavi"
|
||||
ITEM "5|Conti d'ordine"
|
||||
ITEM "9|Varie"
|
||||
END
|
||||
|
||||
NUMBER F_CODCONTR 10
|
||||
BEGIN
|
||||
PROMPT 2 10 "Conto di sez.bil.opposta "
|
||||
HELP "Inserire il conto di sezione di bilancio opposta"
|
||||
FIELD LF_ABPCON->CODCONTR
|
||||
USE LF_ABPCON KEY 1
|
||||
INPUT CODCBL F_CODCONTR
|
||||
DISPLAY "Codice@10" CODCBL
|
||||
DISPLAY "Ind.bil" INDBIL
|
||||
DISPLAY "Descrizione@80" DESCRIZ
|
||||
OUTPUT F_CODCONTR CODCBL
|
||||
OUTPUT F_DESCRCONTR1 DESCRIZ[1,33]
|
||||
OUTPUT F_DESCRCONTR2 DESCRIZ[34,]
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN AB0 -1 #F_CODICE #F_INDBIL
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_DESCRCONTR1 33
|
||||
BEGIN
|
||||
PROMPT 41 10 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_DESCRCONTR2 47
|
||||
BEGIN
|
||||
PROMPT 27 11 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
LIST F_DETTAGLIO 10
|
||||
BEGIN
|
||||
PROMPT 2 13 "Dettaglio/Movimenti "
|
||||
FIELD LF_ABPCON->DETT
|
||||
ITEM " |Nessuno"
|
||||
ITEM "D|Dettaglio"
|
||||
ITEM "M|Movimenti"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
67
ab/ab0300.cpp
Executable file
67
ab/ab0300.cpp
Executable file
@ -0,0 +1,67 @@
|
||||
// Compatta Piano dei Conti Analisi di Bilancio
|
||||
|
||||
#include <applicat.h>
|
||||
#include <isam.h>
|
||||
#include <mask.h>
|
||||
#include <utility.h>
|
||||
#include <config.h>
|
||||
#include <urldefid.h>
|
||||
|
||||
#include "ab0.h"
|
||||
|
||||
class Comp_abpcon : public TApplication
|
||||
{
|
||||
//TSystemisamfile* _abpcon;
|
||||
TLocalisamfile* _abpcon;
|
||||
|
||||
public:
|
||||
virtual bool create();
|
||||
virtual bool destroy();
|
||||
virtual bool menu(MENU_TAG m);
|
||||
|
||||
Comp_abpcon() {}
|
||||
};
|
||||
|
||||
bool Comp_abpcon::create()
|
||||
{
|
||||
TApplication::create();
|
||||
|
||||
//_abpcon = new TSystemisamfile (LF_ABPCON);
|
||||
_abpcon = new TLocalisamfile (LF_ABPCON);
|
||||
|
||||
//_abpcon->packfile();
|
||||
//_abpcon->packindex();
|
||||
|
||||
dispatch_e_menu (BAR_ITEM(1));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool Comp_abpcon::destroy()
|
||||
{
|
||||
delete _abpcon;
|
||||
|
||||
return TApplication::destroy();
|
||||
}
|
||||
|
||||
bool Comp_abpcon::menu(MENU_TAG m)
|
||||
{
|
||||
if (m == BAR_ITEM(1))
|
||||
return FALSE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int ab0300 (int argc, char* argv[])
|
||||
{
|
||||
Comp_abpcon main_app;
|
||||
main_app.run(argc, argv, "Compatta");
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
9
ab/batbpdb.h
Executable file
9
ab/batbpdb.h
Executable file
@ -0,0 +1,9 @@
|
||||
// campi maschera batbpdb.uml
|
||||
|
||||
#define F_CODTAB 101
|
||||
#define F_DESCR 102
|
||||
#define F_GIORNO_INI 103
|
||||
#define F_MESE_INI 104
|
||||
#define F_GIORNO_FINE 105
|
||||
#define F_MESE_FINE 106
|
||||
#define F_DESCRAGG 107
|
99
ab/batbpdb.uml
Executable file
99
ab/batbpdb.uml
Executable file
@ -0,0 +1,99 @@
|
||||
#include "batbpdb.h"
|
||||
|
||||
TOOLBAR "" 0 20 0 2
|
||||
|
||||
#include <toolbar.h>
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Tabella periodi di bilancio" 0 -1 0 19
|
||||
|
||||
GROUPBOX DLG_NULL 76 4
|
||||
BEGIN
|
||||
PROMPT 1 0 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
STRING F_CODTAB 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Codice tabella "
|
||||
HELP "Codice della tabella periodi di bilancio"
|
||||
FIELD %PDB->CODTAB
|
||||
KEY 1
|
||||
USE %PDB KEY 1
|
||||
INPUT CODTAB F_CODTAB
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
DISPLAY "Giorno inizio" I0
|
||||
DISPLAY "Mese inizio" I1
|
||||
DISPLAY "Giorno fine" I2
|
||||
DISPLAY "Mese fine" I3
|
||||
OUTPUT F_CODTAB CODTAB
|
||||
OUTPUT F_DESCR S0
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
STRING F_DESCR 50
|
||||
BEGIN
|
||||
PROMPT 2 2 "Descrizione "
|
||||
HELP "Descrizione del codice tabella periodi di bilancio"
|
||||
CHECKTYPE REQUIRED
|
||||
FIELD %PDB->S0
|
||||
END
|
||||
|
||||
NUMBER F_GIORNO_INI 2
|
||||
BEGIN
|
||||
PROMPT 2 5 "Inizio periodo "
|
||||
HELP "Inserire il giorno relativo al periodo di inizio"
|
||||
FIELD %PDB->I0
|
||||
FLAGS "R"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_MESE_INI 2
|
||||
BEGIN
|
||||
PROMPT 21 5 ""
|
||||
HELP "Inserire il mese relativo al periodo di inizio"
|
||||
FIELD %PDB->I1
|
||||
FLAGS "R"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 25 5 "gg/mm"
|
||||
END
|
||||
|
||||
NUMBER F_GIORNO_FINE 2
|
||||
BEGIN
|
||||
PROMPT 2 7 "Fine periodo "
|
||||
HELP "Inserire il giorno relativo alla fine del periodo"
|
||||
FIELD %PDB->I2
|
||||
FLAGS "R"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
NUMBER F_MESE_FINE 2
|
||||
BEGIN
|
||||
PROMPT 21 7 ""
|
||||
HELP "Inserire il mese relativo alla fine del periodo"
|
||||
FIELD %PDB->I3
|
||||
FLAGS "R"
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
TEXT DLG_NULL
|
||||
BEGIN
|
||||
PROMPT 25 7 "gg/mm"
|
||||
END
|
||||
|
||||
STRING F_DESCRAGG 50
|
||||
BEGIN
|
||||
PROMPT 2 9 "Descrizione "
|
||||
FLAGS "D"
|
||||
FIELD %PDB->S1
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
Loading…
x
Reference in New Issue
Block a user