Patch level : 2.0 600

Files correlati     : cm0.exe cm0100a.frm
Ricompilazione Demo : [ ]
Commento            :

Corretta stampa conti per commessa:
ora stampa la sezione D/A degli importi e d ei realtivi totali.


git-svn-id: svn://10.65.10.50/trunk@11487 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 2003-10-13 14:51:28 +00:00
parent 762355c267
commit 6c568d83a0
4 changed files with 79 additions and 37 deletions

View File

@ -110,7 +110,7 @@ bool TContixcdc_mask::on_field_event(TOperable_field& o, TField_event e, long jo
case F_DATAINI:
if (e == fe_modify || e == fe_close)
{
TDate dataini(field(F_DATAINI).get());
TDate dataini(get(F_DATAINI));
if (dataini.ok())
{
TDate datainies = cache().get("ESC", field(F_ANNO).get(), "D0");
@ -122,7 +122,7 @@ bool TContixcdc_mask::on_field_event(TOperable_field& o, TField_event e, long jo
case F_DATAFIN:
if (e == fe_modify || fe_close)
{
TDate datafin(field(F_DATAFIN).get());
TDate datafin(get(F_DATAFIN));
if (datafin.ok())
{
TDate datafines = cache().get("ESC", field(F_ANNO).get(), "D1");
@ -186,12 +186,13 @@ protected:
void print_footer_fsc();
void print_header_fsc();
void set_intestazione();
void fill_importo(const TImporto& imp, short id_imp, short id_sez);
void fill_body(const TTotali& tot); //riempie il campo body con tutti i totali
void print_body(); //stampa effettivamente il body
void set_field(int id, const real& val); //mette in un campo del body odd un valore numerico
void set_field(int id, const char* val); //mette in un campo del body odd una stringa
void print_specialsection(char s, pagetype pos); // stampa una sezione qualunque (
void aggiorna_totali(const TImporto importo, const TDate data);
void aggiorna_totali(const TImporto& importo, const TDate& data);
public:
TContixCdc() {}
@ -354,17 +355,36 @@ void TContixCdc::set_field(int id, const char* val)
_form->find_field('B', odd_page, id).set(val);
}
void TContixCdc::fill_importo(const TImporto& importo, short id_imp, short id_sez)
{
if (!importo.is_zero())
{
TImporto imp(importo);
imp.normalize();
set_field(id_imp, imp.valore());
char sez[2] = { imp.sezione(), '\0' };
set_field(id_sez, sez);
}
else
{
set_field(id_imp, "");
set_field(id_sez, "");
}
}
void TContixCdc::fill_body(const TTotali& tot)
{
// riempie il body odd, contenente i totali; lo fa chiamando la set_field per ogni campo
set_field(FR_PROGPREC, tot._tot_progprec.valore());
set_field(FR_PERIODO, tot._tot_periodo.valore());
real tempval1 = tot._tot_progprec.valore()+tot._tot_periodo.valore();
set_field(FR_PROG, tempval1);
set_field(FR_SALDOATT, tot._tot_saldoatt.valore());
fill_importo(tot._tot_progprec, FR_PROGPREC, FR_SEGNO_PROGPREC);
fill_importo(tot._tot_periodo, FR_PERIODO, FR_SEGNO_PERIODO);
TImporto tempval = tot._tot_progprec; tempval += tot._tot_periodo;
fill_importo(tempval, FR_PROG, FR_SEGNO_PROG);
fill_importo(tot._tot_saldoatt, FR_SALDOATT, FR_SEGNO_SALDOATT);
}
void TContixCdc::aggiorna_totali(const TImporto importo, const TDate data)
void TContixCdc::aggiorna_totali(const TImporto& importo, const TDate& data)
{
if (data < _dataini)
_t_sottoc._tot_progprec+=importo;
@ -425,8 +445,6 @@ void TContixCdc::main_loop()
if (dacdc.empty() && acdc.empty())
filtro << " && " << "(CODCMS!=\"\")";
TRectype darec(LF_RMOV), arec(LF_RMOV);
darec.zero();
arec.zero();
darec.put(RMV_GRUPPO, _mask->get_int(F_GRUPPOINI));
darec.put(RMV_CONTO, _mask->get_int(F_CONTOINI));
darec.put(RMV_SOTTOCONTO, _mask->get_long(F_SOTTOCINI));
@ -474,7 +492,7 @@ void TContixCdc::main_loop()
_currgruppo = rmovrec.get_int(RMV_GRUPPO);
_currconto = rmovrec.get_int(RMV_CONTO);
TDate datareg = rmovrec.get_date(RMV_DATAREG);
TImporto importo(rmovrec.get_char(RMV_SEZIONE), rmovrec.get_real(RMV_IMPORTO));
const TImporto importo(rmovrec.get_char(RMV_SEZIONE), rmovrec.get_real(RMV_IMPORTO));
if ((_oldcms != _currcms) || (_oldfsc != _currfsc) || (_oldgruppo != _currgruppo) || (_oldconto != _currconto) || (_oldsottoc != _currsottoc))
{
print_sottoc();

View File

@ -21,3 +21,8 @@
#define FR_PERIODO 36
#define FR_PROG 37
#define FR_SALDOATT 38
#define FR_SEGNO_PROGPREC 45
#define FR_SEGNO_PERIODO 46
#define FR_SEGNO_PROG 47
#define FR_SEGNO_SALDOATT 48

View File

@ -36,7 +36,7 @@ END
NUMERO 4 7
BEGIN
KEY "Nr. pagina"
PROMPT 120 1 "Pagina "
PROMPT 120 1 "Pag. "
MESSAGE _PAGENO
END
@ -96,49 +96,49 @@ SECTION HEADER ODD 5
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 1 2 "------------------------------------------------------------------------------------------------------------------------------------"
PROMPT 1 1 "____________________________________________________________________________________________________________________________________"
END
STRINGA FR_CMS 20
BEGIN
KEY "Codice commessa"
PROMPT 1 3 "@bCDC/Commessa "
PROMPT 1 2 "@bCDC/Commessa "
END
STRINGA FR_D_CMS 50
BEGIN
KEY "Descrizione commessa"
PROMPT 35 3 "@b"
PROMPT 35 2 "@b"
END
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 70 4 " Progr. prec."
PROMPT 68 3 "Progr. prec."
END
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 85 4 " Tot. periodo"
PROMPT 85 3 "Tot. periodo"
END
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 100 4 " Tot. progr."
PROMPT 103 3 "Tot. progr."
END
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 115 4 " Saldo attuale"
PROMPT 118 3 "Saldo attuale"
END
STRINGA -1
BEGIN
KEY "Intestazione stampa"
PROMPT 1 5 "------------------------------------------------------------------------------------------------------------------------------------"
PROMPT 1 4 "____________________________________________________________________________________________________________________________________"
END
END // section header odd
@ -166,52 +166,71 @@ SECTION BODY ODD 1
NUMERO FR_GRUPPO 3
BEGIN
KEY "Gruppo"
PROMPT 5 1 ""
PROMPT 1 1 ""
END
NUMERO FR_CONTO 3
BEGIN
KEY "Conto"
PROMPT 9 1 ""
PROMPT 5 1 ""
END
NUMERO FR_SOTTOC 6
BEGIN
KEY "Gruppo/Conto/Sottoconto"
PROMPT 13 1 ""
PROMPT 9 1 ""
END
STRINGA FR_D_SOTTOC 48
STRINGA FR_D_SOTTOC 47
BEGIN
KEY "Descrizione sottoconto"
PROMPT 20 1 ""
KEY "Descrizione sottoconto"
PROMPT 16 1 ""
END
VALUTA FR_PROGPREC 14
BEGIN
PROMPT 70 1 ""
PICTURE "."
PROMPT 66 1 ""
PICTURE "."
END
STRINGA FR_SEGNO_PROGPREC 1
BEGIN
PROMPT 81 1 ""
END
VALUTA FR_PERIODO 14
BEGIN
PROMPT 85 1 ""
PICTURE "."
PROMPT 83 1 ""
PICTURE "."
END
STRINGA FR_SEGNO_PERIODO 1
BEGIN
PROMPT 98 1 ""
END
VALUTA FR_PROG 14
BEGIN
PROMPT 100 1 ""
PICTURE "."
PICTURE "."
END
VALUTA FR_SALDOATT 14
STRINGA FR_SEGNO_PROG 1
BEGIN
PROMPT 115 1 ""
PICTURE "."
END
VALUTA FR_SALDOATT 14
BEGIN
PROMPT 117 1 ""
PICTURE "."
END
STRINGA FR_SEGNO_SALDOATT 1
BEGIN
PROMPT 132 1 ""
END
END // section body
END // form

View File

@ -170,7 +170,7 @@ BEGIN
OUTPUT F_CONTOINI CONTO
OUTPUT F_SOTTOCINI SOTTOCONTO
OUTPUT F_DESCRINI DESCR
CHECKTYPE NORMAL
CHECKTYPE SEARCH
ADD RUN cg0 -0
END
@ -225,7 +225,7 @@ BEGIN
OUTPUT F_CONTOFIN CONTO
OUTPUT F_SOTTOCFIN SOTTOCONTO
OUTPUT F_DESCRFIN DESCR
CHECKTYPE NORMAL
CHECKTYPE SEARCH
WARNING "Sottoconto inesistente o mancante"
ADD RUN cg0 -0
END