Patch level :2.2 nopatch

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :modulo LI


git-svn-id: svn://10.65.10.50/trunk@12918 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2005-04-07 12:52:46 +00:00
parent 25f0df833e
commit b3e1381afd
8 changed files with 440 additions and 0 deletions

3
li/f154.dir Executable file
View File

@ -0,0 +1,3 @@
154
0
$letint|0|0|76|0|Lettere d'intento|||

16
li/f154.trr Executable file
View File

@ -0,0 +1,16 @@
154
11
ANNO|2|4|0|Anno
NUMPROT|3|6|0|Numero protocollo
DATAREG|5|8|0|Data di registrazione
VSPROT|1|7|0|Vostro numero di protocollo
VSDATA|5|8|0|Vostra data di registrazione
CODCLI|3|6|0|Codice cliente
TIPOOP|2|1|0|Tipo operazione (1=singola,2=fino a,3=nel periodo dal/al)
IMPORTO|4|18|3|Importo
DAL|5|8|0|Data inizio periodo
AL|5|8|0|Data fine periodo
STAMPATO|8|1|0|Stampato
2
ANNO+NUMPROT|
CODCLI+ANNO+NUMPROT|X

16
li/letint.h Executable file
View File

@ -0,0 +1,16 @@
#ifndef __LETINT_H
#define __LETINT_H
#define LETINT_ANNO "ANNO"
#define LETINT_NUMPROT "NUMPROT"
#define LETINT_DATAREG "DATAREG"
#define LETINT_VSPROT "VSPROT"
#define LETINT_VSDATA "VSDATA"
#define LETINT_CODCLI "CODCLI"
#define LETINT_TIPOOP "TIPOOP"
#define LETINT_IMPORTO "IMPORTO"
#define LETINT_DAL "DAL"
#define LETINT_AL "AL"
#define LETINT_STAMPATO "STAMPATO"
#endif

22
li/li0.cpp Executable file
View File

@ -0,0 +1,22 @@
#include <xvt.h>
#include <checks.h>
#include "li0.h"
#define usage "Error - usage : %s -{3}"
int main(int argc,char** argv)
{
int rt = -1 ;
const int r = (argc > 1) ? atoi(&argv[1][1]) : -1;
switch (r)
{
case 3:
rt = li0400(argc,argv) ; break; //immissione dati file letinc
default:
error_box(usage, argv[0]) ; break;
}
return rt;
}

7
li/li0.h Executable file
View File

@ -0,0 +1,7 @@
#ifndef __LI0_H
#define __LI0_H
int li0400(int argc, char* argv[]);
#endif // __LI0_H

131
li/li0400.cpp Executable file
View File

@ -0,0 +1,131 @@
#include <automask.h>
#include <defmask.h>
#include <relapp.h>
#include <utility.h>
#include "li0.h"
#include "li0400a.h"
#include "letint.h"
//-------------------------------------------------------------------
// MASCHERA (li0400a)
//-------------------------------------------------------------------
class TLetint_mask : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TLetint_mask();
};
bool TLetint_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch (o.dlg())
{
case F_DATAREG:
if (e == fe_close)
{
const int anno = get_int(F_ANNO);
const long numprot = get_long(F_NUMPROT);
TLocalisamfile letint(LF_LETINT);
letint.setkey(1);
letint.put(LETINT_ANNO, anno);
letint.put(LETINT_NUMPROT, numprot);
letint.prev();
const TDate& old_data = letint.get_date(LETINT_DATAREG);
if (get_date(F_DATAREG) < old_data)
return error_box(TR("La data di registrazione non puo' essere antecedente a %s"), (const char*) old_data.string());
}
break;
default:
break;
}
return true;
}
TLetint_mask::TLetint_mask() : TAutomask("li0400a")
{
first_focus(F_ANNO);
}
//--------------------------------------------------------------
// APPLICAZIONE
//--------------------------------------------------------------
class TLetint : public TRelation_application
{
TLetint_mask* _mask;
TRelation* _rel;
protected:
bool user_create();
bool user_destroy();
virtual TMask* get_mask(int mode) { return _mask; }
virtual bool changing_mask(int mode) { return false; }
virtual bool get_next_key(TToken_string& key);
public:
// @cmember Disabilita la verifica del modulo : essendo una anagrafica, va sempre abilitata
virtual bool check_autorization() const {return true;}
virtual TRelation* get_relation() const {return (TRelation*)_rel;}
};
bool TLetint::get_next_key(TToken_string& key)
{
TLocalisamfile& letint = _rel->lfile() ;
long numprot = 1L ;
const int anno(_mask->get_int(F_ANNO)) ;
if (!letint.empty())
{
letint.zero() ;
letint.setkey(1) ;
letint.put(LETINT_ANNO, anno);
letint.read(_isgteq);
if (letint.good()) //se e' tutto ok,si posiziona sull'ultimo record con l'anno selezionato
letint.last();
if (letint.good())
{
const int year(letint.get_int(LETINT_ANNO));
if (year == anno)
numprot += letint.get_long(LETINT_NUMPROT);
}
}
key.format("%d|%d|%d|%ld", F_ANNO, anno, F_NUMPROT, numprot);
return true;
}
bool TLetint::user_create()
{
_rel = new TRelation(LF_LETINT);
_mask = new TLetint_mask;
return true;
}
bool TLetint::user_destroy()
{
delete _mask;
return true;
}
int li0400(int argc, char* argv[])
{
TLetint a;
a.run(argc, argv, TR("Lettere d'intento"));
return 0;
}

25
li/li0400a.h Executable file
View File

@ -0,0 +1,25 @@
// lettere d'intento
// definizione campi per maschera li0400a
#define F_ANNO 101
#define F_NUMPROT 102
#define F_DATAREG 103
#define F_VSPROT 104
#define F_VSDATA 105
#define F_CODCLI 106
#define F_RAGSOC 107
#define F_TIPOOP 108
#define F_IMPORTO 109
#define F_DAL 110
#define F_AL 111
#define F_STAMPATO 112
#define F_INDCF 113
#define F_CIVCF 114
#define F_STATOCF 115
#define F_DESTACF 116
#define F_COMCF 117
#define F_DENCOMCF 118
#define F_LOCALITACF 119
#define F_CAPCF 120
#define F_PROVCF 121
#define F_PAIV 122

220
li/li0400a.uml Executable file
View File

@ -0,0 +1,220 @@
#include "li0400a.h"
TOOLBAR "" 0 -2 0 2
#include <toolbar.h>
ENDPAGE
PAGE "Dichiarazione d'intento" -1 -1 78 20
GROUPBOX DLG_NULL 75 3
BEGIN
PROMPT 0 1 "@bNostri riferimenti"
END
NUMBER F_ANNO 4
BEGIN
PROMPT 1 2 "Anno "
FLAGS "AU"
USE LF_LETINT
INPUT ANNO F_ANNO
DISPLAY "Anno@8" ANNO
DISPLAY "Numero protocollo@30" NUMPROT
OUTPUT F_ANNO ANNO
CHECKTYPE REQUIRED
FIELD ANNO
KEY 1
END
NUMBER F_NUMPROT 6
BEGIN
PROMPT 15 2 "Numero protocollo "
FLAGS "U"
USE LF_LETINT
INPUT NUMPROT F_NUMPROT
DISPLAY "Numero protocollo@30" NUMPROT
DISPLAY "Anno@8" ANNO
OUTPUT F_NUMPROT NUMPROT
CHECKTYPE REQUIRED
FIELD NUMPROT
KEY 1
END
DATE F_DATAREG
BEGIN
PROMPT 43 2 "Data registrazione "
FIELD DATAREG
CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 75 11
BEGIN
PROMPT 0 4 "@bRiferimenti cliente"
END
NUMBER F_CODCLI 6
BEGIN
PROMPT 1 5 "Cod. "
FLAGS "U"
USE LF_CLIFO KEY 1
INPUT TIPOCF "C"
INPUT CODCF F_CODCLI
DISPLAY "Codice " CODCF
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Partita IVA@11" PAIV
OUTPUT F_CODCLI CODCF
OUTPUT F_RAGSOC RAGSOC
OUTPUT F_INDCF INDCF
OUTPUT F_CIVCF CIVCF
OUTPUT F_STATOCF STATOCF
OUTPUT F_COMCF COMCF
OUTPUT F_CAPCF CAPCF
OUTPUT F_LOCALITACF LOCALITACF
OUTPUT F_PAIV PAIV
CHECKTYPE REQUIRED
FIELD CODCLI
ADD RUN cg0 -1
END
STRING F_RAGSOC 50
BEGIN
PROMPT 19 5 ""
USE LF_CLIFO KEY 2
INPUT TIPOCF "C"
INPUT RAGSOC F_RAGSOC
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice " CODCF
COPY OUTPUT F_CODCLI
CHECKTYPE NORMAL
ADD RUN cg0 -1
END
STRING F_INDCF 35
BEGIN
PROMPT 1 6 "Indirizzo "
FLAGS "D"
END
STRING F_CIVCF 10
BEGIN
PROMPT 59 6 "N. "
FLAGS "D"
END
NUMBER F_STATOCF 3
BEGIN
PROMPT 1 7 "Stato "
USE %STA
INPUT CODTAB F_STATOCF
OUTPUT F_DESTACF S0
FLAGS "ZD"
CHECKTYPE NORMAL
END
STRING F_DESTACF 50
BEGIN
PROMPT 22 7 ""
FLAGS "D"
END
STRING F_COMCF 4
BEGIN
PROMPT 7 8 "Comune "
USE LF_COMUNI
INPUT STATO F_STATOCF
INPUT COM F_COMCF
OUTPUT F_DENCOMCF DENCOM
OUTPUT F_PROVCF PROVCOM
FLAGS "D"
CHECKTYPE NORMAL
END
STRING F_DENCOMCF 50
BEGIN
PROMPT 22 8 ""
FLAGS "D"
END
STRING F_LOCALITACF 35
BEGIN
PROMPT 1 9 "Localita' "
FLAGS "D"
END
STRING F_CAPCF 5
BEGIN
PROMPT 52 9 "CAP "
FLAGS "D"
END
STRING F_PROVCF 5
BEGIN
PROMPT 63 9 "Prov"
FLAGS "D"
END
STRING F_PAIV 12
BEGIN
PROMPT 1 10 "Partita IVA "
FLAGS "D"
END
STRING F_VSPROT 7
BEGIN
PROMPT 1 12 "Numero di protocollo "
FIELD VSPROT
END
DATE F_VSDATA
BEGIN
PROMPT 1 13 "Data registrazione "
FIELD VSDATA
END
GROUPBOX DLG_NULL 75 6
BEGIN
PROMPT 0 15 "@bOperazione"
END
LIST F_TIPOOP 1 15
BEGIN
PROMPT 1 16 "Tipo operazione "
ITEM "1|Singola"
MESSAGE ENABLE,F_IMPORTO|CLEAR,1@
ITEM "2|A concorrenza"
MESSAGE ENABLE,F_IMPORTO|CLEAR,1@
ITEM "3|Nel periodo"
MESSAGE ENABLE,1@|CLEAR,F_IMPORTO
FIELD TIPOOP
END
CURRENCY F_IMPORTO 18
BEGIN
PROMPT 1 17 "Importo "
FIELD IMPORTO
END
DATE F_DAL
BEGIN
PROMPT 1 18 "Data inizio periodo "
GROUP 1
FIELD DAL
END
DATE F_AL
BEGIN
PROMPT 1 19 "Data fine periodo "
GROUP 1
FIELD AL
VALIDATE DATE_CMP_FUNC >= F_DAL
WARNING "Specificare una 'Data fine periodo' non inferiore alla 'Data inizio perodo'"
END
BOOLEAN F_STAMPATO
BEGIN
PROMPT 2 20 ""
FIELD STAMPATO
FLAGS "HD"
END
ENDPAGE
ENDMASK