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");
|
||||
}
|
||||
|
||||
TReport_lv r;
|
||||
TLV_report r;
|
||||
bool ok = r.load(rep); // Controlla l'effettiva esistenza del report
|
||||
while (ok)
|
||||
{
|
||||
|
@ -9,4 +9,5 @@
|
||||
#define F_PREZZO_DA 207
|
||||
#define F_PREZZO_A 208
|
||||
#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">
|
||||
<font face="Courier New" bold="1" size="10" />
|
||||
</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" />
|
||||
</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" />
|
||||
</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" />
|
||||
</field>
|
||||
<field border="2" y="7" type="Linea" width="120" height="0" pattern="1" />
|
||||
@ -56,27 +56,35 @@
|
||||
<section type="Body" />
|
||||
<section type="Body" level="1" height="1">
|
||||
<field x="2" type="Numero" align="right" width="6" pattern="1">
|
||||
<source>169.CODCF</source>
|
||||
<source>CODCF</source>
|
||||
</field>
|
||||
<field x="9.5" type="Stringa" width="30" pattern="1">
|
||||
<source>1000@.RAGSOC</source>
|
||||
<source>20.RAGSOC</source>
|
||||
</field>
|
||||
<field x="42" type="Numero" align="right" width="18" pattern="1" hide_zero="1" text="#########,@@">
|
||||
<source>169.PREZZO</source>
|
||||
<source>PREZZO</source>
|
||||
</field>
|
||||
<field x="64.5" type="Numero" align="right" width="4" pattern="1" hide_zero="1">
|
||||
<source>169.MINCIC</source>
|
||||
<source>MINCIC</source>
|
||||
</field>
|
||||
<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>
|
||||
</section>
|
||||
<section type="Foot" />
|
||||
<section type="Foot" level="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)))
|
||||
JOIN 20 TO 169 ALIAS 1000 INTO TIPOCF=="C" CODCF==CODCF
|
||||
JOIN 17 TO 169 ALIAS 2000 INTO TIPOCF=="C" CODCF==CODCF
|
||||
JOIN 20 TO 169 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
|
||||
TO CODCF=#F_CODCF_TO</sql>
|
||||
</report>
|
@ -147,6 +147,12 @@ BEGIN
|
||||
OUTPUT F_DESZONA S0
|
||||
END
|
||||
|
||||
NUMBER F_ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 19 "Anno "
|
||||
FIELD #ANNOES
|
||||
FLAGS "ADH"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
41
lv/lvlib.cpp
41
lv/lvlib.cpp
@ -320,6 +320,17 @@ TLaundry_contract::TLaundry_contract(const long codcf, const long indsped, const
|
||||
// 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()
|
||||
{
|
||||
if (_update_time > 0L)
|
||||
@ -354,7 +365,8 @@ void TRecmag_lavanderie::update()
|
||||
|
||||
TISAM_recordset recmag(query);
|
||||
|
||||
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
|
||||
_consmese = ZERO;
|
||||
for (bool ok=recmag.move_first(); ok; ok=recmag.move_next())
|
||||
{
|
||||
const TDate datareg = recmag.get(MOVMAG_DATAREG).as_date();
|
||||
TString queryrmag="USE RMOVMAG\n";
|
||||
@ -1509,7 +1521,7 @@ TGiac_per_cli::TGiac_per_cli()
|
||||
_year = 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")
|
||||
{
|
||||
@ -1530,3 +1542,28 @@ bool TReport_lv::get_usr_val(const TString& name, TVariant& var) const
|
||||
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();
|
||||
|
||||
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 TFieldtypes type(const char* fieldname) const;
|
||||
virtual int length(const char* fieldname) const;
|
||||
@ -359,9 +362,19 @@ public:
|
||||
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:
|
||||
virtual bool set_recordset(const TString& sql);
|
||||
virtual bool get_usr_val(const TString& name, TVariant& var) const;
|
||||
};
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user