Patch level : 10.0 555
Files correlati : lv0.exe Ricompilazione Demo : [ ] Stampa elenco clienti per articolo con consegnato mese git-svn-id: svn://10.65.10.50/trunk@19811 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
a7822008b0
commit
af1d2958f8
@ -33,7 +33,7 @@ void TStampa_tabelle_lv::main_loop()
|
|||||||
rep.ext("rep");
|
rep.ext("rep");
|
||||||
}
|
}
|
||||||
|
|
||||||
TReport_lv r;
|
TLV_report r;
|
||||||
bool ok = r.load(rep); // Controlla l'effettiva esistenza del report
|
bool ok = r.load(rep); // Controlla l'effettiva esistenza del report
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
|
@ -10,3 +10,4 @@
|
|||||||
#define F_PREZZO_A 208
|
#define F_PREZZO_A 208
|
||||||
#define F_ZONA 209
|
#define F_ZONA 209
|
||||||
#define F_DESZONA 210
|
#define F_DESZONA 210
|
||||||
|
#define F_ANNO 211
|
@ -41,13 +41,13 @@
|
|||||||
<field x="63" y="6" type="Testo" width="9" pattern="1" text="Minimo">
|
<field x="63" y="6" type="Testo" width="9" pattern="1" text="Minimo">
|
||||||
<font face="Courier New" bold="1" size="10" />
|
<font face="Courier New" bold="1" size="10" />
|
||||||
</field>
|
</field>
|
||||||
<field x="75" y="6" type="Testo" width="12" pattern="1" text="Dot.Odierna">
|
<field x="75.5" y="6" type="Testo" width="12" pattern="1" text="Dot.Odierna">
|
||||||
<font face="Courier New" bold="1" size="10" />
|
<font face="Courier New" bold="1" size="10" />
|
||||||
</field>
|
</field>
|
||||||
<field x="92" y="6" type="Testo" width="9" pattern="1" text="Mese">
|
<field x="98.5" y="6" type="Testo" width="4" pattern="1" text="Mese">
|
||||||
<font face="Courier New" bold="1" size="10" />
|
<font face="Courier New" bold="1" size="10" />
|
||||||
</field>
|
</field>
|
||||||
<field x="107" y="6" type="Testo" width="5" pattern="1" text="Anno">
|
<field x="114" y="6" type="Testo" width="5" pattern="1" text="Anno">
|
||||||
<font face="Courier New" bold="1" size="10" />
|
<font face="Courier New" bold="1" size="10" />
|
||||||
</field>
|
</field>
|
||||||
<field border="2" y="7" type="Linea" width="120" height="0" pattern="1" />
|
<field border="2" y="7" type="Linea" width="120" height="0" pattern="1" />
|
||||||
@ -56,27 +56,35 @@
|
|||||||
<section type="Body" />
|
<section type="Body" />
|
||||||
<section type="Body" level="1" height="1">
|
<section type="Body" level="1" height="1">
|
||||||
<field x="2" type="Numero" align="right" width="6" pattern="1">
|
<field x="2" type="Numero" align="right" width="6" pattern="1">
|
||||||
<source>169.CODCF</source>
|
<source>CODCF</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="9.5" type="Stringa" width="30" pattern="1">
|
<field x="9.5" type="Stringa" width="30" pattern="1">
|
||||||
<source>1000@.RAGSOC</source>
|
<source>20.RAGSOC</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="42" type="Numero" align="right" width="18" pattern="1" hide_zero="1" text="#########,@@">
|
<field x="42" type="Numero" align="right" width="18" pattern="1" hide_zero="1" text="#########,@@">
|
||||||
<source>169.PREZZO</source>
|
<source>PREZZO</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="64.5" type="Numero" align="right" width="4" pattern="1" hide_zero="1">
|
<field x="64.5" type="Numero" align="right" width="4" pattern="1" hide_zero="1">
|
||||||
<source>169.MINCIC</source>
|
<source>MINCIC</source>
|
||||||
</field>
|
</field>
|
||||||
<field x="71.5" type="Numero" align="right" width="15" pattern="1" hide_zero="1">
|
<field x="71.5" type="Numero" align="right" width="15" pattern="1" hide_zero="1">
|
||||||
<source>169.DOTIN</source>
|
<source>166.DOTIN</source>
|
||||||
|
</field>
|
||||||
|
<field x="88" type="Numero" align="right" width="15" pattern="1" hide_zero="1">
|
||||||
|
<source>166.CONSMESE</source>
|
||||||
|
</field>
|
||||||
|
<field x="104" type="Numero" align="right" width="15" pattern="1" hide_zero="1">
|
||||||
|
<source>166.CONSANNO</source>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<section type="Foot" />
|
<section type="Foot" />
|
||||||
<section type="Foot" level="1" />
|
<section type="Foot" level="1" />
|
||||||
<sql>USE 169 KEY 1
|
<sql>USE 169 KEY 1
|
||||||
SELECT (CODART==#F_CODART_TO)(BETWEEN(17.CODZONA,#F_ZONA_FROM,#F_ZONA_FROM))(STR(BETWEEN(PREZZO,#F_PREZZO_FROM,#F_PREZZO_TO)))
|
SELECT (CODART==#F_CODART_TO)(BETWEEN(17.CODZONA,#F_ZONA_FROM,#F_ZONA_FROM))(STR(BETWEEN(PREZZO,#F_PREZZO_FROM,#F_PREZZO_TO)))
|
||||||
JOIN 20 TO 169 ALIAS 1000 INTO TIPOCF=="C" CODCF==CODCF
|
JOIN 20 TO 169 INTO TIPOCF=="C" CODCF==CODCF
|
||||||
JOIN 17 TO 169 ALIAS 2000 INTO TIPOCF=="C" CODCF==CODCF
|
JOIN 17 TO 169 INTO TIPOCF=="C" CODCF==CODCF
|
||||||
|
JOIN 168 INTO CODCF==CODCF CODCONT==CODCONT
|
||||||
|
JOIN 166 INTO ANNOES==#ANNOES TIPOCF=="C" CODCF==CODCF INDSPED=="" CODART==CODART
|
||||||
FROM CODCF=#F_CODCF_FROM
|
FROM CODCF=#F_CODCF_FROM
|
||||||
TO CODCF=#F_CODCF_TO</sql>
|
TO CODCF=#F_CODCF_TO</sql>
|
||||||
</report>
|
</report>
|
@ -147,6 +147,12 @@ BEGIN
|
|||||||
OUTPUT F_DESZONA S0
|
OUTPUT F_DESZONA S0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
NUMBER F_ANNO 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 19 "Anno "
|
||||||
|
FIELD #ANNOES
|
||||||
|
FLAGS "ADH"
|
||||||
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
ENDMASK
|
ENDMASK
|
||||||
|
39
lv/lvlib.cpp
39
lv/lvlib.cpp
@ -320,6 +320,17 @@ TLaundry_contract::TLaundry_contract(const long codcf, const long indsped, const
|
|||||||
// TRecmag_lavanderie
|
// TRecmag_lavanderie
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
int TRecmag_lavanderie::read(TBaseisamfile& f, word op, word lockop)
|
||||||
|
{
|
||||||
|
_update_time = 0L;
|
||||||
|
return TVariable_rectype::read(f, op, lockop);
|
||||||
|
}
|
||||||
|
int TRecmag_lavanderie::readat(TBaseisamfile& f, TRecnotype nrec, word lockop)
|
||||||
|
{
|
||||||
|
_update_time = 0L;
|
||||||
|
return TVariable_rectype::readat(f, nrec, lockop);
|
||||||
|
}
|
||||||
|
|
||||||
void TRecmag_lavanderie::update()
|
void TRecmag_lavanderie::update()
|
||||||
{
|
{
|
||||||
if (_update_time > 0L)
|
if (_update_time > 0L)
|
||||||
@ -354,6 +365,7 @@ void TRecmag_lavanderie::update()
|
|||||||
|
|
||||||
TISAM_recordset recmag(query);
|
TISAM_recordset recmag(query);
|
||||||
|
|
||||||
|
_consmese = ZERO;
|
||||||
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
|
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
|
||||||
{
|
{
|
||||||
const TDate datareg = recmag.get(MOVMAG_DATAREG).as_date();
|
const TDate datareg = recmag.get(MOVMAG_DATAREG).as_date();
|
||||||
@ -1509,7 +1521,7 @@ TGiac_per_cli::TGiac_per_cli()
|
|||||||
_year = 0;
|
_year = 0;
|
||||||
_indsped = 0;
|
_indsped = 0;
|
||||||
}
|
}
|
||||||
bool TReport_lv::get_usr_val(const TString& name, TVariant& var) const
|
bool TLV_report::get_usr_val(const TString& name, TVariant& var) const
|
||||||
{
|
{
|
||||||
if (name == "#NEXTCONS")
|
if (name == "#NEXTCONS")
|
||||||
{
|
{
|
||||||
@ -1530,3 +1542,28 @@ bool TReport_lv::get_usr_val(const TString& name, TVariant& var) const
|
|||||||
return TReport::get_usr_val(name, var);
|
return TReport::get_usr_val(name, var);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TCursor* TLV_recordset::cursor() const
|
||||||
|
{
|
||||||
|
bool to_create = !valid_cursor();
|
||||||
|
TCursor * c = TISAM_recordset::cursor();
|
||||||
|
|
||||||
|
if (to_create && c != NULL)
|
||||||
|
{
|
||||||
|
TLocalisamfile & clifogiac = relation()->lfile(LF_CLIFOGIAC);
|
||||||
|
|
||||||
|
clifogiac.set_curr(new TRecmag_lavanderie);
|
||||||
|
}
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool TLV_report::set_recordset(const TString& sql)
|
||||||
|
{
|
||||||
|
if (sql.starts_with("US", true))
|
||||||
|
{
|
||||||
|
TLV_recordset* rex = new TLV_recordset(sql);
|
||||||
|
|
||||||
|
TReport::set_recordset(rex);
|
||||||
|
return rex != NULL;
|
||||||
|
}
|
||||||
|
return TReport::set_recordset(sql);
|
||||||
|
}
|
||||||
|
15
lv/lvlib.h
15
lv/lvlib.h
@ -66,6 +66,9 @@ protected:
|
|||||||
void update();
|
void update();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
virtual int read(TBaseisamfile& f, word op = _isequal, word lockop = _nolock);
|
||||||
|
virtual int readat(TBaseisamfile& f, TRecnotype nrec, word lockop = _nolock);
|
||||||
|
|
||||||
virtual int name2index(const char* fieldname) const;
|
virtual int name2index(const char* fieldname) const;
|
||||||
virtual TFieldtypes type(const char* fieldname) const;
|
virtual TFieldtypes type(const char* fieldname) const;
|
||||||
virtual int length(const char* fieldname) const;
|
virtual int length(const char* fieldname) const;
|
||||||
@ -359,9 +362,19 @@ public:
|
|||||||
TGiac_per_cli(); //costruttore
|
TGiac_per_cli(); //costruttore
|
||||||
};
|
};
|
||||||
|
|
||||||
class TReport_lv : public TReport
|
class TLV_recordset : public TISAM_recordset
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
virtual TCursor* cursor() const;
|
||||||
|
|
||||||
|
TLV_recordset(const char* use) : TISAM_recordset(use) {}
|
||||||
|
virtual ~TLV_recordset() {}
|
||||||
|
};
|
||||||
|
|
||||||
|
class TLV_report : public TReport
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
virtual bool set_recordset(const TString& sql);
|
||||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user