Patch level :2.0 partners nopatch

Files correlati     :ce4 & friends
Ricompilazione Demo : [ ]
Commento            :programma CRPA; step 2


git-svn-id: svn://10.65.10.50/trunk@11633 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2003-12-02 13:13:13 +00:00
parent 324aab9467
commit e6184da13f
5 changed files with 203 additions and 102 deletions

View File

@ -1,9 +1,11 @@
#include <applicat.h>
#include <automask.h>
#include <doc.h>
#include <rdoc.h>
#include <form.h>
#include <printer.h>
#include <recarray.h>
#include "..\ve\velib.h"
#include "ce4200a.h"
#include "ce4200.h"
@ -11,8 +13,6 @@
#include "cespi.h"
#include "salcecms.h"
#include "..\ve\velib.h"
//===============================================================================================
//maschera
@ -40,9 +40,6 @@ class TCalc_cesp_cms_form : public TForm
{
public:
virtual bool validate(TForm_item &cf, TToken_string &s);
void set_testata() {set_header(1,TRUE);}
void set_pedata() {set_footer(1,FALSE); set_footer(1,TRUE);}
TCalc_cesp_cms_form();
virtual ~TCalc_cesp_cms_form();
@ -56,12 +53,6 @@ TCalc_cesp_cms_form::~TCalc_cesp_cms_form()
{
}
bool TCalc_cesp_cms_form::validate(TForm_item &cf, TToken_string &s)
{
return TCalc_cesp_cms_form::validate(cf,s); //richiama la validate standard della classe genitore (TForm_cespiti)
}
//===============================================================================================
//Applicazione
@ -78,6 +69,8 @@ protected:
public:
void utilizzo_per_cms(const TRectype& ammce_rec);
real calc_perc_util_cesp(const TRectype& salcecms_rec, const TDate& dtinices, const TDate& dtfineces);
void elabora_docs();
void stampa_docs();
};
@ -185,7 +178,7 @@ void TCalc_cesp_cms::utilizzo_per_cms(const TRectype& ammce_rec)
rigadoc.put(RDOC_QTA, 1);
const real quota = distrib.get();
TString80 descr; //descrizione cosi' tanto x mettercela
descr.format("Quota ammortamento per l'esercizio %s", (const char *) quota.stringa());
descr.format("Quota ammortamento");
rigadoc.put(RDOC_DESCR, descr);
rigadoc.put(RDOC_PREZZO, quota); //ammortamento cespite per la commessa
const real perc_cms = salcecms[i].get_real(SALCECMS_PERCUTIL);
@ -195,14 +188,60 @@ void TCalc_cesp_cms::utilizzo_per_cms(const TRectype& ammce_rec)
rigadoc.put(RDOC_DATACONS, TDate(TODAY)); //data di elaborazione
rigadoc.put(RDOC_CODIVA, _mask->get(F_CODIVA)); //codice IVA obbligatorio
}
//scrittura del documento
//scrittura del documento sul file
doc_cesp.write();
}
}//fine if (salcecms.rows()>0)
}//fine if(qtot!=0)
}
void TCalc_cesp_cms::elabora_docs()
{
TRectype darec(LF_AMMCE),arec(LF_AMMCE);
const int esercizio = _mask->get_int(F_ESERCIZIO);
darec.put(AMMCE_IDCESPITE, _mask->get(F_DA_IDCESPITE));
arec.put(AMMCE_IDCESPITE, _mask->get(F_A_IDCESPITE));
TString filtro;
filtro.format("(CODES==%d)&&(TPSALDO==2)&&(TPAMM==1)",esercizio);
TRelation rel(LF_AMMCE);
TCursor cur(&rel, filtro, 1, &darec, &arec);
const long items = cur.items();
cur.freeze();
//ciclo sui cespiti di AMMCE nel codes selezionato
for (cur=0; cur.pos()<items; ++cur)
{
utilizzo_per_cms(cur.curr());
}
}
void TCalc_cesp_cms::stampa_docs()
{
//setta la testata del form
_form->find_field('H', odd_page, FR_CODDITTA).set(_mask->get(F_DITTA));
_form->find_field('H', odd_page, FR_RAGSOC).set(_mask->get(F_RAGSOC));
_form->find_field('H', odd_page, FR_ESERCIZIO).set(_mask->get(F_ESERCIZIO));
_form->find_field('H', odd_page, FR_DATAINIZIO).set(_mask->get(F_INIZIO_ES));
_form->find_field('H', odd_page, FR_DATAFINE).set(_mask->get(F_FINE_ES));
//stampa i documenti via form (necessaria una setregion x stampare solo i documenti con la
//numerazione selezionata!!)
TCursor& curform = *_form->cursor();
TRectype darec(curform.curr());
darec.put(RDOC_PROVV, 'D');
darec.put(RDOC_ANNO, _mask->get_int(F_ESERCIZIO));
darec.put(RDOC_CODNUM, _mask->get(F_CODNUM));
darec.put(RDOC_NDOC, _mask->get_long(F_DA_IDCESPITE));
TRectype arec(darec);
arec.put(RDOC_NDOC, _mask->get_long(F_A_IDCESPITE));
curform.setregion(darec, arec);
_form->print();
}
bool TCalc_cesp_cms::create()
{
@ -227,28 +266,24 @@ bool TCalc_cesp_cms::destroy()
void TCalc_cesp_cms::main_loop()
{
while (_mask->run() == K_ENTER)
KEY k = K_ENTER;
while (k != K_QUIT)
{
TRectype darec(LF_AMMCE),arec(LF_AMMCE);
k = _mask->run();
const int esercizio = _mask->get_int(F_ESERCIZIO);
darec.put(AMMCE_IDCESPITE, _mask->get(F_DA_IDCESPITE));
arec.put(AMMCE_IDCESPITE, _mask->get(F_A_IDCESPITE));
TString filtro;
filtro.format("(CODES==%d)&&(TPSALDO==2)&&(TPAMM==1)",esercizio);
TRelation rel(LF_AMMCE);
TCursor cur(&rel, filtro, 1, &darec, &arec);
const long items = cur.items();
cur.freeze();
//ciclo sui cespiti di AMMCE nel codes selezionato
for (cur=0; cur.pos()<items; ++cur)
switch (k)
{
utilizzo_per_cms(cur.curr());
case K_ENTER:
elabora_docs();
break;
case K_ESC:
stampa_docs();
break;
default:
break;
}
}
}
@ -256,7 +291,7 @@ void TCalc_cesp_cms::main_loop()
int ce4200(int argc, char* argv[])
{
TCalc_cesp_cms a;
a.run(argc,argv,TR("Calcolo cespiti per commessa"));
a.run(argc,argv,TR("Calcolo e stampa cespiti per commessa"));
return 0;
}

View File

@ -1,8 +1,14 @@
//define dei campi del form ce4200a.frm
#define FR_CODDITTA 101
#define FR_RAGSOC 102
#define FR_ESERCIZIO 103
#define FR_DATAINIZIO 104
#define FR_DATAFINE 105
#define FR_CODDITTA 11
#define FR_RAGSOC 12
#define FR_ESERCIZIO 13
#define FR_DATAINIZIO 14
#define FR_DATAFINE 15
#define FR_B_IDCESPITE 16
#define FR_B_CODCMS 17
#define FR_B_DESC 18
#define FR_B_VALAMM 19
#define FR_B_TOTVALAMM 20

View File

@ -1,25 +1,11 @@
#include "ce4200.h"
SECTION GRAPHICS ODD
LINEA -1 132 1
BEGIN
PROMPT 1 7 "B"
END
LINEA -1 132 1
BEGIN
PROMPT 1 10 ""
END
LINEA -1 132 1
BEGIN
PROMPT 1 -3 "B"
END
USE LF_DOC
JOIN LF_RIGHEDOC INTO PROVV==PROVV ANNO==ANNO CODNUM==CODNUM NDOC==NDOC
END
//////////////////////////////////////////////////////////////////////////////////
SECTION HEADER ODD 10
//-----------------------intestazione form-------------------------------------------
SECTION HEADER ODD 7
STRINGA -1
BEGIN
@ -31,12 +17,11 @@ SECTION HEADER ODD 10
BEGIN
KEY "Codice ditta"
PROMPT 1 2 "@bDitta@r "
PICTURE "#####"
END
STRINGA FR_RAGSOC
BEGIN
KEY "Ragione sociale"
KEY "@bRagione sociale@r"
PROMPT 25 2 ""
END
@ -48,65 +33,124 @@ SECTION HEADER ODD 10
STRINGA FR_DATAINIZIO
BEGIN
KEY "Inizio Esercizio"
KEY "@bInizio Esercizio@r"
PROMPT 25 3 ""
END
STRINGA FR_DATAFINE
BEGIN
KEY "Fine Esercizio"
KEY "@bFine Esercizio@r"
PROMPT 41 3 ""
END
STRINGA -1
BEGIN
KEY "separatore"
PROMPT 1 4 "______________________________________________________________________________"
END
STRINGA -1
BEGIN
KEY "codice cespite"
PROMPT 1 5 "@bCespite"
END
STRINGA -1
BEGIN
KEY "codice commessa"
PROMPT 12 5 "@bCommessa"
END
STRINGA -1
BEGIN
KEY "valore ammortizzato"
PROMPT 73 5 "@bQuota"
END
STRINGA -1
BEGIN
KEY "separatore"
PROMPT 1 6 "______________________________________________________________________________"
END
END
///////////////////////////////////////////////////////////
// Valori cespite
///////////////////////////////////////////////////////////
//-----------------------riga tipo uno---------------------------------------------------//
SECTION BODY ODD 3
STRINGA -1
BEGIN
PROMPT 1 1 "@b"
FIELD IDCESPITE
END
NUMERO FR_B_IDCESPITE 10
BEGIN
KEY "idcespite"
PROMPT 1 1 ""
PICTURE "@@@@@@@@@@"
MESSAGE RESET,FR_B_TOTVALAMM
FIELD NDOC
END
STRINGA -1 54
BEGIN
PROMPT 17 1 ""
FIELD DESC
END
SECTION TOTALE_CESPITE 2 1 1 FILE LF_RIGHEDOC GROUP LF_RIGHEDOC->NDOC
STRING -1
BEGIN
PROMPT 1 2 ""
FIELD DTCOMP
END
STRINGA FR_B_CODCMS 20
BEGIN
KEY "codcms"
PROMPT 11 1 ""
FIELD LF_RIGHEDOC->CODCMS
END
STRING -1
BEGIN
PROMPT 17 2 ""
FIELD DTFUNZ
END
STRINGA FR_B_DESC 30
BEGIN
KEY "desc"
PROMPT 32 1 ""
FIELD LF_RIGHEDOC->DESCR
END
VALUTA FR_B_VALAMM 15
BEGIN
KEY "valamm"
PROMPT 63 1 ""
FIELD LF_RIGHEDOC->PREZZO
MESSAGE ADD,FR_B_TOTVALAMM
END
END //end section totale_cespite
STRINGA -1
BEGIN
KEY "totale valore ammortizzato"
PROMPT 32 2 "@bTotale valore ammortizzato"
END
VALUTA FR_B_TOTVALAMM 15
BEGIN
KEY "totale valamm"
PROMPT 63 2 "@b"
END
END
/////////////////////////////////////////////////////////////////////////////////
//-------------------------pie' di pagina------------------------------------------------//
SECTION FOOTER ODD 3
DATA -1
BEGIN
STRINGA -1
BEGIN
KEY "separatore"
PROMPT 1 1 "______________________________________________________________________________"
END
DATA -1
BEGIN
PROMPT 1 2 "@bData@r "
MESSAGE _TODAY
END
END
NUMERO -1
BEGIN
PROMPT 120 2 "@bPagina@r "
NUMERO -1
BEGIN
PROMPT 35 2 "@bPagina@r "
MESSAGE _PAGENO
END
END
END

View File

@ -8,6 +8,7 @@
#define F_DA_DESC 207
#define F_A_IDCESPITE 208
#define F_A_DESC 209
#define F_NRIGA 210
#define F_CODNUM 211
#define F_DESNUM 212
#define F_TIPODOC 213
@ -16,5 +17,5 @@
#define F_DESTIPORIGA 216
#define F_CODIVA 217
#define F_DESIVA 218
#define F_STAMPA 219

View File

@ -1,23 +1,39 @@
#include "ce4200a.h"
TOOLBAR "" 0 -2 0 2
TOOLBAR "" 0 -3 0 2
BUTTON DLG_ELABORA 10 2
BEGIN
PROMPT -12 -11 "~Elabora"
PROMPT -13 -11 "~Elabora"
PICTURE BMP_ELABORA
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -23 -11 "~Stampa"
PICTURE BMP_PRINT
MESSAGE EXIT,K_ESC
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -11 ""
PROMPT -33 -11 ""
END
ENDPAGE
PAGE "Calcolo saldi per commessa" -1 -1 0 -3
LIST F_NRIGA 3
BEGIN
PROMPT 1 100 ""
FLAGS "D"
ITEM "1|1"
FIELD NRIGA
KEY 1
END
NUMBER F_DITTA 5
BEGIN
PROMPT 1 2 "Ditta "
@ -70,6 +86,8 @@ BEGIN
USE LF_SALCECMS SELECT NRIGA==1
JOIN LF_CESPI INTO IDCESPITE==IDCESPITE
INPUT IDCESPITE F_DA_IDCESPITE
INPUT CODES F_ESERCIZIO
INPUT NRIGA F_NRIGA
DISPLAY "Codice@10" IDCESPITE
DISPLAY "Descrizione@50" LF_CESPI->DESC
DISPLAY "Cat." LF_CESPI->CODCAT
@ -94,6 +112,8 @@ BEGIN
FLAGS "UZ"
COPY USE F_DA_IDCESPITE
INPUT IDCESPITE F_A_IDCESPITE
INPUT CODES F_ESERCIZIO
INPUT NRIGA F_NRIGA
COPY DISPLAY F_DA_IDCESPITE
OUTPUT F_A_IDCESPITE IDCESPITE
OUTPUT F_A_DESC LF_CESPI->DESC
@ -172,11 +192,6 @@ BEGIN
FLAGS "D"
END
BOOLEAN F_STAMPA
BEGIN
PROMPT 1 14 "Stampa i documenti"
END
ENDPAGE
ENDMASK