Patch level :10.0 244

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :sistemata stampa dei movimenti di analitica; aggiunto ordinamento per numreg (che esisteva solo in via teorica) e sistemato ordinamento per data (che andava statisticamente). Riporto da 5.0


git-svn-id: svn://10.65.10.50/trunk@18299 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2009-02-19 11:16:03 +00:00
parent 0490cc240f
commit 3680024c6d
4 changed files with 66 additions and 13 deletions

View File

@ -138,7 +138,7 @@ TPrint_movimenti_ca_mask::TPrint_movimenti_ca_mask()
class TPrint_movimenti_ca_recordset : public TISAM_recordset
{
int _anno;
int _anno, _tipoord;
TDate _dadata, _adata;
char _tipomov;
long _danumreg, _anumreg;
@ -164,11 +164,26 @@ bool TPrint_movimenti_ca_recordset::valid_record(const TRelation& rel) const
//prima controlla la testata...
const TRectype& mov = rel.curr(LF_MOVANA);
const char* datefld = _anno > 0 ? MOVANA_DATACOMP : MOVANA_DATAREG;
const TDate data = mov.get(datefld);
if (data < _dadata || (_adata.ok() && data > _adata))
return false;
switch (_tipoord)
{
case 1: //controllo sul numreg
{
const long numreg = mov.get_long(MOVANA_NUMREG);
if (numreg < _danumreg || ( _anumreg >= _danumreg && numreg > _anumreg ))
return false;
}
break;
case 2: //controllo sulle date
{
const char* datefld = _anno > 0 ? MOVANA_DATACOMP : MOVANA_DATAREG;
const TDate data = mov.get(datefld);
if (data < _dadata || ( _adata.ok() && data > _adata ))
return false;
}
break;
default:
break;
}
const TString& codcaus = mov.get(MOVANA_CODCAUS);
if (codcaus < _dacaus || (_acaus.not_empty() && codcaus > _acaus))
return false;
@ -232,9 +247,22 @@ void TPrint_movimenti_ca_recordset::set_filter(const TPrint_movimenti_ca_mask& m
_codfas = rel.curr().get(RMOVANA_CODFASE);
}
_tipoord = msk.get_int(F_TIPOSTAMPA);
//stabilisce il tipo di data di ordinamento del recordset
_anno = msk.get_int(F_ANNO);
if (_anno > 0)
set_var("#DATAORD", MOVANA_DATACOMP, true);
else
set_var("#DATAORD", MOVANA_DATAREG, true);
_dadata = msk.get_date(F_DATAINI);
_adata = msk.get_date(F_DATAFIN);
_danumreg = msk.get_long(F_NUMEROINI);
_anumreg = msk.get_long(F_NUMEROFIN);
_dacaus = msk.get(F_CAUSALEINI);
_acaus = msk.get(F_CAUSALEFIN);
@ -248,8 +276,9 @@ void TPrint_movimenti_ca_recordset::set_filter(const TPrint_movimenti_ca_mask& m
////////////////////////////////////////////////////////
class TPrint_movimenti_ca_rep : public TAnal_report
{
int _anno;
int _anno, _tipoord;
TDate _dadata, _adata;
long _danumreg, _anumreg;
protected:
virtual bool set_recordset(const TString& sql);
@ -276,6 +305,16 @@ bool TPrint_movimenti_ca_rep::get_usr_val(const TString& name, TVariant& var) co
var.set(_adata);
return true;
}
if (name == "#DANUMREG")
{
var.set(_danumreg);
return true;
}
if (name == "#ANUMREG")
{
var.set(_anumreg);
return true;
}
return TAnal_report::get_usr_val(name, var);
}
@ -288,8 +327,11 @@ bool TPrint_movimenti_ca_rep::set_recordset(const TString& sql)
void TPrint_movimenti_ca_rep::set_filter(const TPrint_movimenti_ca_mask& msk, int cms_row)
{
_anno = msk.get_int(F_ANNO);
_tipoord = msk.get_int(F_TIPOSTAMPA);
_dadata = msk.get_date(F_DATAINI);
_adata = msk.get_date(F_DATAFIN);
_danumreg = msk.get_long(F_NUMEROINI);
_anumreg = msk.get_long(F_NUMEROFIN);
TPrint_movimenti_ca_recordset* rs = (TPrint_movimenti_ca_recordset*)recordset();
rs->set_filter(msk, cms_row);
}

View File

@ -94,7 +94,7 @@ END
NUMBER F_NUMEROINI 7
BEGIN
PROMPT 16 6 "Stampa mov. dal numero "
USE LF_MOV KEY 1
USE LF_MOVANA KEY 1
INPUT NUMREG F_NUMEROINI
DISPLAY "Numero@7" NUMREG
DISPLAY "Data@10" DATAREG
@ -111,7 +111,7 @@ BEGIN
COPY USE F_NUMEROINI
INPUT NUMREG F_NUMEROFIN
COPY DISPLAY F_NUMEROINI
FLAGS "R"
OUTPUT F_NUMEROFIN NUMREG
NUM_EXPR ((#F_NUMEROFIN==0)||(#F_NUMEROFIN>=#F_NUMEROINI))
WARNING "Limite superiore errato"
GROUP 2
@ -120,7 +120,7 @@ END
STRING F_CAUSALEINI 3
BEGIN
PROMPT 1 8 "Stampa dalla causale "
USE LF_CAUSALI KEY 1
USE LF_CAUSALI SELECT MOVIND!=''
INPUT CODCAUS F_CAUSALEINI
DISPLAY "Codice causale" CODCAUS
DISPLAY "Descrizione@50" DESCR

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="ve1300" name="ca3100a" lpi="8" class="ca3100b">
<description>Movimenti CA per numero registrazione</description>
<font face="Courier New" size="8" />
@ -20,6 +20,16 @@ THEN
<field x="157" type="Numero" align="right" width="3" pattern="1">
<source>#REPORT.PAGE</source>
</field>
<field x="10" y="1.25" type="Testo" width="12" pattern="1" text="Dal numero" />
<field x="22" y="1.25" type="Numero" width="12" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#DANUMREG</source>
</field>
<field x="40" y="1.25" type="Testo" width="12" pattern="1" text="Al numero" />
<field x="52" y="1.25" type="Numero" width="12" pattern="1">
<font face="Courier New" bold="1" size="8" />
<source>#ANUMREG</source>
</field>
<field border="2" x="1" y="2.5" type="Linea" width="161" height="0" pattern="1" />
<field x="1.5" y="3" type="Testo" align="center" width="7" pattern="1" text="N.Reg." />
<field x="33.5" y="3" type="Testo" align="center" width="10" pattern="1" text="Data Doc." />

View File

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="ve1300" name="ca3100b" lpi="8" class="ca3100b">
<description>Movimenti CA per data</description>
<font face="Courier New" size="8" />
@ -194,7 +194,8 @@ MESSAGE ADD,F2.132</postscript>
</section>
<section type="Foot" level="3" />
<sql>USE RMOVANA
JOIN MOVANA INTO NUMREG==NUMREG</sql>
JOIN MOVANA INTO NUMREG==NUMREG
BY MOVANA-&#3E;#DATAORD</sql>
<prescript description="PRESCRIPT">: SCAMBIA_CAMPI ( F1 F2 -- )
VARIABLE _X1 \ coordinate del campo F1
VARIABLE _Y1