Patch level : 10.0 nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :

modulo riclassificazioni


git-svn-id: svn://10.65.10.50/branches/R_10_00@20691 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2010-07-21 15:21:26 +00:00
parent 538ea00410
commit f52e4a76bb
11 changed files with 184 additions and 304 deletions

View File

@ -1,7 +1,7 @@
#include <xvt.h>
#include <checks.h>
#include "ab0.h"
#include "ri0.h"
#define usage "Error - usage : %s -{0|1|2|3}"
@ -12,13 +12,9 @@ int main(int argc,char** argv)
switch (n)
{
case 0:
ab0100(argc,argv); break;
case 1:
ab0200(argc,argv); break;
case 2:
ab0300(argc,argv); break;
ri0100(argc,argv); break;
case 3:
ab0400(argc,argv); break;
ri0400(argc,argv); break;
default:
error_box(usage, argv[0]) ;
}

View File

@ -1,6 +1,6 @@
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
extern int ab0400 (int argc, char* argv[]); //Riclassifica ed esporta i saldi
extern int ri0100 (int argc, char* argv[]); //Tabella periodi di bilancio
extern int ri0200 (int argc, char* argv[]); //Piano dei conti analisi di bilancio
extern int ri0300 (int argc, char* argv[]); //Compatta il Piano dei Conti
extern int ri0400 (int argc, char* argv[]); //Riclassifica ed esporta i saldi

View File

@ -3,10 +3,9 @@
#include <tabutil.h>
#include <utility.h>
#include "abtbpdb.h"
#include "abtbarb.h"
#include "ritbper.h"
class Tabanabil_application : public Tab_application
class Tabriclass_application : public Tab_application
{
private:
TMask* _msk;
@ -14,110 +13,26 @@ private:
public:
bool user_create();
const char * extra_modules() const { return format("%d",CGAUT); }
static bool giorno_handler(TMask_field& f, KEY k);
static bool mese_handler (TMask_field& f, KEY k);
static bool anni_handler (TMask_field& f, KEY k);
Tabanabil_application() {}
virtual ~Tabanabil_application() {}
Tabriclass_application() {}
virtual ~Tabriclass_application() {}
};
HIDDEN inline Tabanabil_application& app() {return (Tabanabil_application&) main_app();}
HIDDEN inline Tabriclass_application& app() {return (Tabriclass_application&) main_app();}
bool Tabanabil_application::giorno_handler(TMask_field& f, KEY k)
{
if (k == K_TAB && f.mask().is_running())
{
const int giorno = atoi(f.get());
if (giorno > 31)
return f.warning_box(TR("Valore non valido per il giorno"));
const 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(TR("Valore non valido per il giorno"));
if (mese == 11 || mese == 4 || mese == 6 || mese == 9)
if (giorno > 30)
return f.warning_box(TR("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())
{
const int mese = atoi(f.get());
if (mese < 1 || mese > 12)
return f.warning_box(TR("Valore non valido per il mese"));
const 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 > 28)
return f.warning_box(TR("Valore non valido per il giorno"));
if (mese == 11 || mese == 4 || mese == 6 || mese == 9)
if (giorno > 30)
return f.warning_box(TR("Valore non valido per il giorno"));
}
return TRUE;
}
bool Tabanabil_application::anni_handler(TMask_field& f, KEY k)
{
if (k == K_ENTER)
{
TMask & m=f.mask();
const TDate inizio(m.get_int(F_GIORNO_INI),m.get_int(F_MESE_INI),1993);
if (inizio.empty())
return TRUE;
const TDate fine(m.get_int(F_GIORNO_FINE),m.get_int(F_MESE_FINE),1993+m.get_int(F_NUM_ANNI));
if (fine.empty())
return TRUE;
if (fine==inizio)
return f.error_box(TR("Date uguali: specificare il numero di anni"));
if (fine<inizio)
return f.error_box(TR("Data finale inferiore alla iniziale: specificare il numero di anni"));
}
return TRUE;
}
bool Tabanabil_application::user_create()
bool Tabriclass_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);
_msk->set_handler(F_NUM_ANNI, anni_handler);
}
if (_tabname == "%ARB")
set_search_field(F_CODTAB_ESE);
return TRUE;
return true;
}
int ab0100(int argc, char* argv[])
int ri0100(int argc, char* argv[])
{
Tabanabil_application a;
Tabriclass_application a;
a.run(argc,argv, TR("Tabelle"));
return 0;

View File

@ -8,11 +8,11 @@
#include <pconti.h>
#include "../cg/cglib02.h"
#include "saldi.h"
#include "abpcon.h"
#include "../ab/saldi.h"
#include "../ab/abpcon.h"
#include "ab0.h"
#include "ab0400.h"
#include "ri0.h"
#include "ri0400.h"
///////////////////////////////////////////////////////////
@ -26,7 +26,7 @@ protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TRicl_mask() : TAutomask("ab0400a") { }
TRicl_mask() : TAutomask("ri0400a") { }
virtual ~TRicl_mask() { }
};
@ -297,7 +297,7 @@ public:
#ifdef DBG
void TRicl_saldi::open_log()
{
TFilename log("ab0400.log");
TFilename log("ri0400.log");
_log = fopen(log,"a");
if (_log == NULL)
@ -943,7 +943,7 @@ void TRicl_saldi::main_loop()
}
}
int ab0400 (int argc, char* argv[])
int ri0400 (int argc, char* argv[])
{
TRicl_saldi main_app;
main_app.run(argc, argv, TR("Riclassificazione saldi"));

View File

@ -1,10 +0,0 @@
// 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
#define F_NUM_ANNI 108

View File

@ -1,70 +0,0 @@
<report name="abstpdb" lpi="6">
<font face="Courier New" size="10" />
<section keep_with_next="1" type="Head">
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella Perodi di Bilancio">
<font face="Courier New" bold="1" size="14" />
</field>
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
<field x="2" y="3" type="Testo" width="4" text="Cod.">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="8" y="3" type="Testo" width="11" text="Descrizione">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="58" y="3" type="Testo" width="12" text="gg/mm inizio">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="73" y="3" type="Testo" width="10" text="gg/mm fine">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="85" y="3" type="Testo" width="9" text="Num. Anni">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="8" y="4" type="Testo" width="40" text="Descrizione alternativa stampa raffronto ">
<font face="Courier New" bold="1" size="10" />
</field>
<field border="2" x="1" y="5.5" type="Linea" width="93" height="0" />
</section>
<section keep_with_next="1" type="Head" level="1" />
<section keep_with_next="1" type="Body" />
<section keep_with_next="1" type="Body" level="1">
<field x="2" type="Stringa" link="%PDB.CODTAB[1,3]" width="3">
<source>CODTAB[1,3]</source>
</field>
<field x="8" type="Stringa" width="50">
<source>S0</source>
</field>
<field x="61" type="Numero" align="right" width="2">
<source>I0[1,2]</source>
</field>
<field x="65" type="Numero" align="right" width="2">
<source>I1[1,2]</source>
</field>
<field x="77" type="Numero" align="right" width="2">
<source>I2[1,2]</source>
</field>
<field x="81" type="Numero" align="right" width="2">
<source>I3[1,2]</source>
</field>
<field x="90" type="Numero" align="right" width="4">
<source>I4[1,4]</source>
</field>
<field x="8" y="1" type="Stringa" width="50">
<source>S1</source>
</field>
<field border="1" x="1" y="2.5" type="Linea" width="93" height="0" />
</section>
<section keep_with_next="1" type="Foot" height="3">
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
<field x="2" y="1" type="Data" width="10">
<source>#SYSTEM.DATE</source>
</field>
<field x="90" y="1" type="Numero" align="right" width="3">
<source>#PAGE</source>
</field>
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
</section>
<section keep_with_next="1" type="Foot" level="1" />
<sql>USE %PDB</sql>
</report>

67
ri/ristper.rep Executable file
View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report name="ristper" lpi="6">
<font face="Courier New" size="10" />
<section type="Head">
<field type="Testo" valign="center" align="center" width="96" height="2" text="Tabella Perodi di Riclassificazione">
<font face="Courier New" bold="1" size="14" />
</field>
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
<field x="74.5" y="2.75" type="Testo" width="6" text="Durata">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="2" y="3" type="Testo" width="4" text="Cod.">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="8" y="3" type="Testo" width="11" text="Descrizione">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="69.5" y="4" type="Testo" width="3" text="gg,">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="74" y="4" type="Testo" width="5" text="sett.">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="82" y="4" type="Testo" width="4" text="mesi">
<font face="Courier New" bold="1" size="10" />
</field>
<field x="88" y="4" type="Testo" width="4" text="anni">
<font face="Courier New" bold="1" size="10" />
</field>
<field border="2" x="1" y="5.5" type="Linea" width="93" height="0" />
</section>
<section type="Head" level="1" />
<section type="Body" />
<section type="Body" level="1">
<field x="2" type="Stringa" link="&#26;RIPER.CODTAB" width="3">
<source>CODTAB</source>
</field>
<field x="8" type="Stringa" width="50">
<source>S0</source>
</field>
<field x="70.5" type="Numero" align="right" width="2">
<source>I0</source>
</field>
<field x="77.5" type="Numero" align="right" width="2">
<source>I1</source>
</field>
<field x="84" type="Numero" align="right" width="2">
<source>I2</source>
</field>
<field x="90" type="Numero" align="right" width="2">
<source>I3</source>
</field>
<field border="1" x="1" y="1.25" type="Linea" width="93" height="0" />
</section>
<section type="Foot" height="3">
<field border="2" x="1" y="0.5" type="Linea" width="93" height="0" />
<field x="2" y="1" type="Data" width="10">
<source>#SYSTEM.DATE</source>
</field>
<field x="90" y="1" type="Numero" align="right" width="3">
<source>#PAGE</source>
</field>
<field border="2" x="1" y="2.5" type="Linea" width="93" height="0" />
</section>
<section type="Foot" level="1" />
<sql>USE &#26;RIPER</sql>
</report>

View File

@ -10,7 +10,7 @@ STRING F_INIZIO1 2
BEGIN
PROMPT 3 1 "Da codice "
HELP "Codice da cui iniziare a stampare. Vuoto = inizio archivio"
USE %PDB
USE &PER
INPUT CODTAB F_INIZIO1
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@40" S0

View File

@ -1,110 +0,0 @@
#include "abtbpdb.h"
TOOLBAR "" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Tabella periodi di bilancio" 0 2 0 0
GROUPBOX DLG_NULL 76 6
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING F_CODTAB 2
BEGIN
PROMPT 2 2 "Codice periodo "
HELP "Inserire il codice identificativo del periodo prescelto"
FLAS "UZ"
FIELD CODTAB
KEY 1
USE %PDB KEY 1
INPUT CODTAB F_CODTAB
DISPLAY "Codice@3" CODTAB
DISPLAY "Descrizione@40" S0
DISPLAY "gg.inizio@3" I0
DISPLAY "mm.inizio@3" I1
DISPLAY "gg.fine@3" I2
DISPLAY "mm.fine@3" I3
DISPLAY "Numero anni@3" I4
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESCR S0
CHECKTYPE REQUIRED
END
STRING F_DESCR 70 40
BEGIN
PROMPT 2 4 "Descrizione "
HELP "Descrizione del codice tabella periodi di bilancio"
FIELD S0
KEY 2
USE %PDB KEY 2
INPUT S0 F_DESCR
DISPLAY "Descrizione@40" S0
DISPLAY "Codice@3" CODTAB
DISPLAY "gg.inizio@3" I0
DISPLAY "mm.inizio@3" I1
DISPLAY "gg.fine@3" I2
DISPLAY "mm.fine@3" I3
DISPLAY "Numero anni@3" I4
COPY OUTPUT F_CODTAB
CHECKTYPE REQUIRED
END
NUMBER F_GIORNO_INI 2
BEGIN
PROMPT 2 8 "Inizio periodo: giorno "
HELP "Inserire il giorno relativo al periodo di inizio"
FIELD I0
FLAGS "RU"
CHECKTYPE REQUIRED
END
NUMBER F_MESE_INI 2
BEGIN
PROMPT 32 8 "mese "
HELP "Inserire il mese relativo al periodo di inizio"
FIELD I1
FLAGS "RU"
CHECKTYPE REQUIRED
END
NUMBER F_GIORNO_FINE 2
BEGIN
PROMPT 2 10 "Fine periodo: giorno "
HELP "Inserire il giorno relativo alla fine del periodo"
FIELD I2
FLAGS "RU"
CHECKTYPE REQUIRED
END
NUMBER F_MESE_FINE 2
BEGIN
PROMPT 32 10 "mese "
HELP "Inserire il mese relativo alla fine del periodo"
FIELD I3
FLAGS "RU"
CHECKTYPE REQUIRED
END
NUMBER F_NUM_ANNI 1
BEGIN
PROMPT 2 12 "Numero di anni "
HELP "Inserire il numero di anni"
FIELD I4
FLAGS "RU"
CHECKTYPE NORMAL
END
STRING F_DESCRAGG 70 30
BEGIN
PROMPT 2 15 "Descrizione alternativa per stampa raffronti "
FIELD S1
END
ENDPAGE
ENDMASK

8
ri/ritbper.h Executable file
View File

@ -0,0 +1,8 @@
// campi maschera batbpdb.uml
#define F_CODTAB 101
#define F_DESCR 102
#define F_LUNGH_GG 103
#define F_LUNGH_SET 104
#define F_LUNGH_MESI 105
#define F_LUNGH_ANNI 106

84
ri/ritbper.uml Executable file
View File

@ -0,0 +1,84 @@
#include "ritbper.h"
TOOLBAR "" 0 0 0 2
#include <relapbar.h>
ENDPAGE
PAGE "Tabella periodi di bilancio" 0 2 0 0
GROUPBOX DLG_NULL 76 6
BEGIN
PROMPT 1 0 ""
FLAGS "R"
END
STRING F_CODTAB 2
BEGIN
PROMPT 2 2 "Codice periodo "
HELP "Inserire il codice identificativo del periodo prescelto"
FLAS "UZ"
FIELD CODTAB
KEY 1
USE &PER KEY 1
INPUT CODTAB F_CODTAB
DISPLAY "Codice@3" CODTAB
DISPLAY "Descrizione@40" S0
OUTPUT F_CODTAB CODTAB
OUTPUT F_DESCR S0
CHECKTYPE REQUIRED
END
STRING F_DESCR 70 40
BEGIN
PROMPT 2 4 "Descrizione "
HELP "Descrizione del codice tabella periodi di bilancio"
FIELD S0
KEY 2
USE &PER KEY 2
INPUT S0 F_DESCR
DISPLAY "Descrizione@40" S0
DISPLAY "Codice@3" CODTAB
DISPLAY "gg.inizio@3" I0
DISPLAY "mm.inizio@3" I1
DISPLAY "gg.fine@3" I2
DISPLAY "mm.fine@3" I3
DISPLAY "Numero anni@3" I4
COPY OUTPUT F_CODTAB
CHECKTYPE REQUIRED
END
NUMBER F_LUNGH_GG 2
BEGIN
PROMPT 2 8 "Lunghezza : giorni 2 "
HELP "Inserire la durata in giorni "
FIELD I0
MESSAGE CLEAR,F_LUNGH_SET
MESSAGE EMPTY ENABLE,F_LUNGH_SET
END
NUMBER F_LUNGH_SET 1
BEGIN
PROMPT 2 9 " : settimane "
HELP "Inserire la durata in settimane "
FIELD I1
MESSAGE CLEAR,F_LUNGH_GG
MESSAGE EMPTY ENABLE,F_LUNGH_GG
END
NUMBER F_LUNGH_MESI 2
BEGIN
PROMPT 2 10 " : mesi "
HELP "Inserire la durata in mesi "
FIELD I2
END
NUMBER F_LUNGH_ANNI 2
BEGIN
PROMPT 2 11 " : anni "
HELP "Inserire la durata in mesi "
FIELD I3
END
ENDPAGE
ENDMASK