Patch level :4.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :contabilizzazione cespiti in corso


git-svn-id: svn://10.65.10.50/trunk@15859 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2007-12-12 11:20:41 +00:00
parent b28ce7479c
commit 076364e945
6 changed files with 405 additions and 115 deletions

View File

@ -194,7 +194,7 @@ STRING F_ELIMCESP 3
BEGIN
PROMPT 2 7 "Eliminazione cespite "
FIELD COAUEL
USE LF_CAUSALI SELECT ((SOSPESO=="")&&(TIPODOC=="")&&(COLLCESP==""))
USE LF_CAUSALI SELECT ((SOSPESO!="X")&&(TIPODOC=="")&&(COLLCESP==""))
INPUT CODCAUS F_ELIMCESP
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
@ -222,10 +222,9 @@ STRING F_RIL_DIFF 3
BEGIN
PROMPT 2 8 "Rilevazione differenze "
FIELD COAUDI
USE LF_CAUSALI SELECT ((SOSPESO=="")&&(TIPODOC=="")&&(COLLCESP==""))
COPY USE F_ELIMCESP
INPUT CODCAUS F_RIL_DIFF
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_ELIMCESP
OUTPUT F_RIL_DIFF CODCAUS
OUTPUT F_D_RIL_DIFF DESCR
ADD RUN CG0 -4
@ -236,10 +235,9 @@ END
STRING F_D_RIL_DIFF 50 35
BEGIN
PROMPT 40 8 ""
USE LF_CAUSALI KEY 2
COPY USE F_D_ELIMCESP
INPUT DESCR F_D_RIL_DIFF
DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS
COPY DISPLAY F_D_ELIMCESP
COPY OUTPUT F_RIL_DIFF
ADD RUN CG0 -4
CHECKTYPE REQUIRED
@ -250,10 +248,9 @@ STRING F_RIL_QUOT 3
BEGIN
PROMPT 2 9 "Rilevazione quote ammortamento "
FIELD COAUQU
USE LF_CAUSALI SELECT ((SOSPESO=="")&&(TIPODOC=="")&&(COLLCESP==""))
COPY USE F_ELIMCESP
INPUT CODCAUS F_RIL_QUOT
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_ELIMCESP
OUTPUT F_RIL_QUOT CODCAUS
OUTPUT F_D_RIL_QUOT DESCR
ADD RUN CG0 -4
@ -264,10 +261,9 @@ END
STRING F_D_RIL_QUOT 50 35
BEGIN
PROMPT 40 9 ""
USE LF_CAUSALI KEY 2
COPY USE F_D_ELIMCESP
INPUT DESCR F_D_RIL_QUOT
DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS
COPY DISPLAY F_D_ELIMCESP
COPY OUTPUT F_RIL_QUOT
ADD RUN CG0 -4
CHECKTYPE REQUIRED
@ -278,10 +274,9 @@ STRING F_RIL_PLUS 3
BEGIN
PROMPT 2 10 "Rilevazione plusvalenze "
FIELD COAUPL
USE LF_CAUSALI SELECT ((SOSPESO=="")&&(TIPODOC=="")&&(COLLCESP==""))
COPY USE F_ELIMCESP
INPUT CODCAUS F_RIL_PLUS
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_ELIMCESP
OUTPUT F_RIL_PLUS CODCAUS
OUTPUT F_D_RIL_PLUS DESCR
ADD RUN CG0 -4
@ -292,10 +287,9 @@ END
STRING F_D_RIL_PLUS 50 35
BEGIN
PROMPT 40 10 ""
USE LF_CAUSALI KEY 2
COPY USE F_D_ELIMCESP
INPUT DESCR F_D_RIL_PLUS
DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS
COPY DISPLAY F_D_ELIMCESP
COPY OUTPUT F_RIL_PLUS
ADD RUN CG0 -4
CHECKTYPE REQUIRED
@ -306,10 +300,9 @@ STRING F_RIL_MIN 3
BEGIN
PROMPT 2 11 "Rilevazione minusvalenze "
FIELD COAUM
USE LF_CAUSALI SELECT ((SOSPESO=="")&&(TIPODOC=="")&&(COLLCESP==""))
COPY USE F_ELIMCESP
INPUT CODCAUS F_RIL_MIN
DISPLAY "Codice" CODCAUS
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_ELIMCESP
OUTPUT F_RIL_MIN CODCAUS
OUTPUT F_D_RIL_MIN DESCR
ADD RUN CG0 -4
@ -320,10 +313,9 @@ END
STRING F_D_RIL_MIN 50 35
BEGIN
PROMPT 40 11 ""
USE LF_CAUSALI KEY 2
COPY USE F_D_ELIMCESP
INPUT DESCR F_D_RIL_MIN
DISPLAY "Descrizione@50" DESCR
DISPLAY "Codice" CODCAUS
COPY DISPLAY F_D_ELIMCESP
COPY OUTPUT F_RIL_MIN
ADD RUN CG0 -4
CHECKTYPE REQUIRED
@ -396,7 +388,7 @@ END
STRING F_SOPR_PAS_D 50 29
BEGIN
PROMPT 46 15 ""
USE LF_PCON KEY 2
USE LF_PCON KEY 2 SELECT SOTTOCONTO!=""
INPUT DESCR F_SOPR_PAS_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
@ -415,10 +407,9 @@ BEGIN
PROMPT 2 16 "Differenze su quote "
FIELD GRCOTDIQ
FLAGS "R"
USE LF_PCON KEY 1 SELECT CONTO=""
COPY USE F_SOPR_PAS_GR
INPUT GRUPPO F_DIFF_QUO_GR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_GR
OUTPUT F_DIFF_QUO_GR GRUPPO
ADD RUN CG0 -0
CHECKTYPE REQUIRED
@ -430,12 +421,10 @@ BEGIN
PROMPT 31 16 ""
FIELD COCOTDIQ
FLAGS "R"
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY USE F_SOPR_PAS_CO
COPY INPUT F_DIFF_QUO_GR
INPUT CONTO F_DIFF_QUO_CO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_CO
OUTPUT F_DIFF_QUO_GR GRUPPO
OUTPUT F_DIFF_QUO_CO CONTO
ADD RUN CG0 -0
@ -450,14 +439,10 @@ BEGIN
PROMPT 37 16 ""
FIELD SOCOTDIQ
FLAGS "R"
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY USE F_SOPR_PAS_SO
COPY INPUT F_DIFF_QUO_CO
INPUT SOTTOCONTO F_DIFF_QUO_SO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_SO
OUTPUT F_DIFF_QUO_SO SOTTOCONTO
OUTPUT F_DIFF_QUO_GR GRUPPO
OUTPUT F_DIFF_QUO_CO CONTO
@ -472,11 +457,7 @@ BEGIN
PROMPT 46 16 ""
USE LF_PCON KEY 2
INPUT DESCR F_DIFF_QUO_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY DISPLAY F_SOPR_PAS_D
COPY OUTPUT F_DIFF_QUO_SO
ADD RUN CG0 -0
CHECKTYPE REQUIRED
@ -489,10 +470,9 @@ BEGIN
PROMPT 2 17 "Differenze su fondi "
FIELD GRCOTDIF
FLAGS "R"
USE LF_PCON KEY 1 SELECT CONTO=""
COPY USE F_SOPR_PAS_GR
INPUT GRUPPO F_DIFF_FON_GR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_GR
OUTPUT F_DIFF_FON_GR GRUPPO
ADD RUN CG0 -0
CHECKTYPE REQUIRED
@ -504,12 +484,10 @@ BEGIN
PROMPT 31 17 ""
FIELD COCOTDIF
FLAGS "R"
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY USE F_SOPR_PAS_CO
COPY INPUT F_DIFF_FON_GR
INPUT CONTO F_DIFF_FON_CO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_CO
OUTPUT F_DIFF_FON_GR GRUPPO
OUTPUT F_DIFF_FON_CO CONTO
ADD RUN CG0 -0
@ -524,14 +502,10 @@ BEGIN
PROMPT 37 17 ""
FIELD SOCOTDIF
FLAGS "R"
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY USE F_SOPR_PAS_SO
COPY INPUT F_DIFF_FON_CO
INPUT SOTTOCONTO F_DIFF_FON_SO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_SO
OUTPUT F_DIFF_FON_SO SOTTOCONTO
OUTPUT F_DIFF_FON_GR GRUPPO
OUTPUT F_DIFF_FON_CO CONTO
@ -546,11 +520,7 @@ BEGIN
PROMPT 46 17 ""
USE LF_PCON KEY 2
INPUT DESCR F_DIFF_FON_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY DISPLAY F_SOPR_PAS_D
COPY OUTPUT F_DIFF_FON_SO
ADD RUN CG0 -0
CHECKTYPE REQUIRED
@ -563,10 +533,9 @@ BEGIN
PROMPT 2 18 "Plusvalenze "
FIELD GRCOTPLU
FLAGS "R"
USE LF_PCON KEY 1 SELECT CONTO=""
COPY USE F_SOPR_PAS_GR
INPUT GRUPPO F_PLUSVAL_GR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_GR
OUTPUT F_PLUSVAL_GR GRUPPO
ADD RUN CG0 -0
CHECKTYPE NORMAL
@ -581,9 +550,7 @@ BEGIN
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO="")&&(INDBIL==4))
COPY INPUT F_PLUSVAL_GR
INPUT CONTO F_PLUSVAL_CO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_CO
OUTPUT F_PLUSVAL_GR GRUPPO
OUTPUT F_PLUSVAL_CO CONTO
ADD RUN CG0 -0
@ -598,15 +565,11 @@ BEGIN
PROMPT 37 18 ""
FIELD SOCOTPLU
FLAGS "R"
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY USE F_SOPR_PAS_SO
INPUT GRUPPO F_PLUSVAL_GR SELECT
INPUT CONTO F_PLUSVAL_CO SELECT
INPUT SOTTOCONTO F_PLUSVAL_SO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_SO
OUTPUT F_PLUSVAL_SO SOTTOCONTO
OUTPUT F_PLUSVAL_GR GRUPPO
OUTPUT F_PLUSVAL_CO CONTO
@ -621,11 +584,7 @@ BEGIN
PROMPT 46 18 ""
USE LF_PCON KEY 2
INPUT DESCR F_PLUSVAL_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY DISPLAY F_SOPR_PAS_D
COPY OUTPUT F_PLUSVAL_SO
ADD RUN CG0 -0
CHECKTYPE NORMAL
@ -638,10 +597,9 @@ BEGIN
PROMPT 2 19 "Minusvalenze "
FIELD GRCOTMIN
FLAGS "R"
USE LF_PCON KEY 1 SELECT CONTO=""
COPY USE F_SOPR_PAS_GR
INPUT GRUPPO F_MINUSVAL_GR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_GR
OUTPUT F_MINUSVAL_GR GRUPPO
ADD RUN CG0 -0
CHECKTYPE NORMAL
@ -656,9 +614,7 @@ BEGIN
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO="")&&(INDBIL==3))
COPY INPUT F_MINUSVAL_GR
INPUT CONTO F_MINUSVAL_CO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_CO
OUTPUT F_MINUSVAL_GR GRUPPO
OUTPUT F_MINUSVAL_CO CONTO
ADD RUN CG0 -0
@ -673,15 +629,11 @@ BEGIN
PROMPT 37 19 ""
FIELD SOCOTMIN
FLAGS "R"
USE LF_PCON KEY 1 SELECT SOTTOCONTO!=""
COPY USE F_SOPR_PAS_SO
INPUT GRUPPO F_MINUSVAL_GR SELECT
INPUT CONTO F_MINUSVAL_CO SELECT
INPUT SOTTOCONTO F_MINUSVAL_SO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Sosp." SOSPESO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_SO
OUTPUT F_MINUSVAL_SO SOTTOCONTO
OUTPUT F_MINUSVAL_GR GRUPPO
OUTPUT F_MINUSVAL_CO CONTO
@ -696,11 +648,7 @@ BEGIN
PROMPT 46 19 ""
USE LF_PCON KEY 2
INPUT DESCR F_MINUSVAL_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY DISPLAY F_SOPR_PAS_D
COPY OUTPUT F_MINUSVAL_SO
ADD RUN CG0 -0
CHECKTYPE NORMAL
@ -713,10 +661,9 @@ BEGIN
PROMPT 2 20 "Vendite cespiti "
FIELD GRCOTVEN
FLAGS "R"
USE LF_PCON KEY 1 SELECT CONTO=""
COPY USE F_SOPR_PAS_GR
INPUT GRUPPO F_VEND_CESP_GR
DISPLAY "Gruppo" GRUPPO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_GR
OUTPUT F_VEND_CESP_GR GRUPPO
ADD RUN CG0 -0
CHECKTYPE REQUIRED
@ -728,12 +675,10 @@ BEGIN
PROMPT 31 20 ""
FIELD COCOTVEN
FLAGS "R"
USE LF_PCON KEY 1 SELECT ((CONTO!="")&&(SOTTOCONTO=""))
COPY USE F_SOPR_PAS_CO
COPY INPUT F_VEND_CESP_GR
INPUT CONTO F_VEND_CESP_CO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Descrizione@50" DESCR
COPY DISPLAY F_SOPR_PAS_CO
OUTPUT F_VEND_CESP_GR GRUPPO
OUTPUT F_VEND_CESP_CO CONTO
ADD RUN CG0 -0
@ -748,14 +693,10 @@ BEGIN
PROMPT 37 20 ""
FIELD SOCOTVEN
FLAGS "R"
USE LF_PCON SELECT SOTTOCONTO!=""
COPY USE F_SOPR_PAS_SO
COPY INPUT F_VEND_CESP_CO
INPUT SOTTOCONTO F_VEND_CESP_SO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sospeso" SOSPESO
COPY DISPLAY F_SOPR_PAS_SO
OUTPUT F_VEND_CESP_SO SOTTOCONTO
OUTPUT F_VEND_CESP_GR GRUPPO
OUTPUT F_VEND_CESP_CO CONTO
@ -770,11 +711,7 @@ BEGIN
PROMPT 46 20 ""
USE LF_PCON KEY 2
INPUT DESCR F_VEND_CESP_D
DISPLAY "Descrizione@50" DESCR
DISPLAY "Sosp." SOSPESO
DISPLAY "Gruppo" GRUPPO
DISPLAY "Conto" CONTO
DISPLAY "Sottoconto" SOTTOCONTO
COPY DISPLAY F_SOPR_PAS_D
COPY OUTPUT F_VEND_CESP_SO
ADD RUN CG0 -0
CHECKTYPE REQUIRED

View File

@ -11,6 +11,8 @@ int main(int argc,char** argv)
ce4200(argc,argv); break; //calcolo cespiti per commessa
case 2:
ce4300(argc,argv); break; //stampa proiezione ammortamenti cespiti
case 3:
ce4400(argc,argv); break; //trasferimento movimenti cespiti in contabilita'
case 0:
default: ce4100(argc,argv) ; break; // inserimento cespiti per commessa
}

View File

@ -4,7 +4,7 @@
int ce4100(int argc, char* argv[]);
int ce4200(int argc, char* argv[]);
int ce4300(int argc, char* argv[]);
int ce4400(int argc, char* argv[]);
#endif // __CE4_H

214
ce/ce4400.cpp Executable file
View File

@ -0,0 +1,214 @@
#include <applicat.h>
#include <automask.h>
#include <progind.h>
#include <recset.h>
#include "../cg/cg2101.h"
#include "celib.h"
#include "ce2101.h"
#include "ce4400a.h"
#include "ammce.h"
#include "cespi.h"
//===============================================================================================
//maschera
class TTrasf_mov_ce_cg_mask: public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TTrasf_mov_ce_cg_mask():TAutomask("ce4400a") { ditta_cespiti().init_mask(*this); }
};
bool TTrasf_mov_ce_cg_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
/* switch (o.dlg())
{
default: break;
}*/
return true;
}
//===============================================================================================
//Struct che serve per avere ammortamenti per categoria (Codcat|Qamm_tot|Qperse_tot)
struct TSaldo_cat :public TObject
{
TString4 _codcat;
real _qamm, _qperse;
void add(const TRectype& rec_ammce);
TSaldo_cat(const TString& codcat) : _codcat(codcat) {}
};
void TSaldo_cat::add(const TRectype& rec_ammce)
{
//valore totale degli ammortamenti del cespite di tipo qnor,qant,qacc che trova in AMMCE
const real qamm = rec_ammce.get_real(AMMCE_QNOR) + rec_ammce.get_real(AMMCE_QANT) + rec_ammce.get_real(AMMCE_QACC);
//valore totale delle qperse del cespite che trova in AMMCE
const real qperse = rec_ammce.get_real(AMMCE_QPERSE);
_qamm += qamm;
_qperse += qperse;
}
//===============================================================================================
//Applicazione
class TTrasf_mov_ce_cg : public TSkeleton_application
{
TTrasf_mov_ce_cg_mask* _mask;
protected:
virtual void main_loop();
virtual bool create();
virtual bool destroy();
void elabora();
void delete_old_movs(const TDate& ini_es);
public:
};
void TTrasf_mov_ce_cg::delete_old_movs(const TDate& ini_es)
{
TMovimentoPN pn;
TRectype darec(LF_MOV);
darec.put(MOV_DATAREG, ini_es);
TString filtro;
filtro.format("(PROVVIS==\"C\")");
TCursor cur_mov (&pn, filtro, 2, &darec);
const long items = cur_mov.items();
cur_mov.freeze();
TProgind progind(items, "Eliminazione vecchi movimenti provvisori cespiti in corso...", false, true);
for (cur_mov = 0; cur_mov.pos() < items; ++cur_mov)
{
progind.addstatus(1);
pn.read();
pn.remove();
}
}
//metodo per gestire la successione degli eventi ad alto livello
void TTrasf_mov_ce_cg::elabora()
{
//gettiamo un po' di parametri dalla maschera
const long codes = _mask->get_long(F_ESERCIZIO);
const TDate ini_es = _mask->get_date(F_INIZIO_ES);
const TDate fine_es = _mask->get_date(F_FINE_ES);
//deve accoppare i movimenti provvisori di prima nota da inizio esercizio ad oggi?
if (_mask->get_bool(F_KILLOLD))
delete_old_movs(ini_es);
TDate datacalc;
//se il trasferimento e' definitivo la data di calcolo e' quella finale dell'esercizio selezionato, senno'...
//...e' quella indicata in F_DATACALC
if (_mask->get_bool(F_PROVDEF))
datacalc = _mask->get_date(F_FINE_ES);
else
datacalc = _mask->get_date(F_DATACALC);
//deve eseguire il calcolo degli ammortamenti?
const bool calcamm = _mask->get_bool(F_CALCAMM);
//programma vero e proprio (calcolo ammortamenti, selezione cespiti validi, trasferimento)
TISAM_recordset cespiti("USE CESPI");
const TRecnotype nrec = cespiti.items();
if (nrec > 0) //test del cazzo necessario per avere una progind
{
//Assoc_array Categoria-QammTot-QperseTot
TAssoc_array quote_per_cat;
TProgind pi(nrec, TR("Trasferimento in corso..."), true, true);
for (int i = 0; cespiti.move_to(i); i++)
{
if (!pi.addstatus(1))
break;
//id e categoria del cespite corrente
const TString& idcespite = cespiti.get(CESPI_IDCESPITE).as_string();
TCespite cespite(idcespite);
const TString4 codcat = cespiti.get(CESPI_CODCAT).as_string();
//se richiesto calcola gli ammortamenti di tutti i cespiti; SOLO situazione FISCALE (tiposit = 1)
//la calc_amm pensa da sola a calcolare gli ammortamenti solo per i cespiti validi
if (calcamm)
cespite.calc_amm(1, datacalc, false); //calc_amm(tiposit,datalim,spesemanu)
//controlla le quote del cespite in questione su AMMCE
TToken_string key;
key.add(idcespite);
key.add(codes);
key.add(2); //tpsaldo finale!!!
key.add(1); //tpamm fiscale!!!!
const TRectype& rec_ammce = cache().get(LF_AMMCE, key);
TSaldo_cat* sc = (TSaldo_cat*)quote_per_cat.objptr(codcat);
//se non trova il codice categoria lo aggiunge...
if (sc == NULL)
{
sc = new TSaldo_cat(codcat);
quote_per_cat.add(codcat, sc);
}
//..e poi somma i valori comunque
sc->add(rec_ammce);
} //for(int i=0...
}
//calcolati,se richiesti,gli ammortamenti, passa in rassegna AMMCE e AMMMV alla ricerca dei cespiti..
//..da considerare per il trasferimento vero e proprio (sono quelli
}
bool TTrasf_mov_ce_cg::create()
{
_mask = new TTrasf_mov_ce_cg_mask;
return TSkeleton_application::create();
}
bool TTrasf_mov_ce_cg::destroy()
{
delete _mask;
return true;
}
void TTrasf_mov_ce_cg::main_loop()
{
KEY k = K_ENTER;
while (k != K_QUIT)
{
k = _mask->run();
switch (k)
{
case K_ENTER:
elabora();
break;
default:
break;
}
}
}
int ce4400(int argc, char* argv[])
{
TTrasf_mov_ce_cg a;
a.run(argc,argv,TR("Trasferimento movimenti cespiti in contabilita'"));
return 0;
}

12
ce/ce4400a.h Executable file
View File

@ -0,0 +1,12 @@
//definizioni campi per la maschera ce4400a.uml (trasferimento movimenti in contabilita')
#define F_DITTA 201
#define F_RAGSOC 202
#define F_ESERCIZIO 203
#define F_INIZIO_ES 204
#define F_FINE_ES 205
#define F_PROVDEF 206
#define F_DATACALC 207
#define F_DATAREG 208
#define F_DATACOMP 209
#define F_CALCAMM 210
#define F_KILLOLD 211

125
ce/ce4400a.uml Executable file
View File

@ -0,0 +1,125 @@
#include "ce4400a.h"
TOOLBAR "" 0 -3 0 2
BUTTON DLG_ELABORA 10 2
BEGIN
PROMPT -13 -11 "~Elabora"
PICTURE BMP_ELABORA
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_CONFIG 10 2
BEGIN
PROMPT -23 -11 "~Configura"
PICTURE BMP_CONFIG
MESSAGE RUN,ce0,-3
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -11 ""
END
ENDPAGE
PAGE "Contabilizzazione cespiti" -1 -1 0 -3
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 1 0 ""
END
NUMBER F_DITTA 5
BEGIN
PROMPT 2 1 "Ditta "
FLAGS "DF"
END
STRING F_RAGSOC 50
BEGIN
PROMPT 26 1 ""
USE LF_NDITTE
INPUT CODDITTA F_DITTA
OUTPUT F_RAGSOC RAGSOC
CHECKTYPE NORMAL
FLAGS "D"
END
NUMBER F_ESERCIZIO 4
BEGIN
PROMPT 2 2 "Esercizio "
FLAGS "Z"
USE CCE
JOIN ESC ALIAS 104 INTO CODTAB==CODTAB
INPUT CODTAB F_ESERCIZIO
DISPLAY "Codice esercizio" CODTAB
DISPLAY "Inizio esercizio" 104@->D0
DISPLAY "Fine esercizio" 104@->D1
OUTPUT F_ESERCIZIO CODTAB
OUTPUT F_INIZIO_ES 104@->D0
OUTPUT F_FINE_ES 104@->D1
CHECKTYPE REQUIRED
FIELD CODES
END
DATE F_INIZIO_ES
BEGIN
PROMPT 26 2 "Inizio "
FLAGS "D"
END
DATE F_FINE_ES
BEGIN
PROMPT 50 2 "Fine "
FLAGS "D"
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 5 "@bParametri cespiti"
END
BOOLEAN F_PROVDEF
BEGIN
PROMPT 2 6 "Trasferimento definitivo"
MESSAGE FALSE 'X',F_CALCAMM|DISABLE,F_CALCAMM|ENABLE,F_DATACALC
MESSAGE TRUE ENABLE,F_CALCAMM|RESET,F_CALCAMM|CLEAR,F_DATACALC
END
BOOLEAN F_CALCAMM
BEGIN
PROMPT 2 7 "Eseguire il cacolo ammortamenti prima del trasferimento"
END
DATA F_DATACALC
BEGIN
PROMPT 2 8 "Data calcolo ammortamenti "
CHECKTYPE REQUIRED
END
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 10 "@bParametri contabilita'"
END
DATA F_DATAREG
BEGIN
PROMPT 2 11 "Data registrazione "
FLAGS "A"
CHECKTYPE REQUIRED
END
DATA F_DATACOMP
BEGIN
PROMPT 2 12 "Data competenza "
END
BOOLEAN F_KILLOLD
BEGIN
PROMPT 2 13 "Eliminare i movimenti provvisori cespiti"
END
ENDPAGE
ENDMASK