Patch level : 10.0 patch???

Files correlati     : lvlib lv0400c.rep
Ricompilazione Demo : [ ]
Commento            :
Corretta la stampa delle dotazioni sui contratti


git-svn-id: svn://10.65.10.50/branches/R_10_00@21401 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca83 2011-01-07 13:50:36 +00:00
parent e7afacec30
commit 2a6f84c8a8
3 changed files with 123 additions and 30 deletions

View File

@ -2,9 +2,9 @@
<report name="lv0400c" orientation="1" lpi="6" command="lv0 -1 lv0400c">
<description>Stampa Contratto per Cliente</description>
<font face="Courier New" size="8" />
<section type="Head" />
<section type="Head" level="1" />
<section repeat="1" type="Head" level="2" width="119" height="21" page_break="1">
<section type="Head" pattern="1" />
<section type="Head" level="1" pattern="1" />
<section repeat="1" type="Head" level="2" width="119" height="21" page_break="1" pattern="1">
<groupby>CODCONT</groupby>
<field x="32.5" type="Testo" width="50" pattern="1" text="STAMPA DETTAGLIATA CONTRATTO LAVANDERIA">
<font face="Courier New" bold="1" size="9" />
@ -21,7 +21,7 @@
<font face="Courier New" bold="1" size="8" />
</field>
<field x="52" y="2" type="Stringa" width="50" pattern="1">
<source>500@.RAGSOC</source>
<source>CLIFO.RAGSOC</source>
</field>
<field border="2" x="116" y="2" type="Linea" height="19" pattern="1" />
<field x="2" y="3" type="Testo" width="3" pattern="1" text="del">
@ -31,10 +31,10 @@
<source>168.DATAIN</source>
</field>
<field x="52" y="3" type="Stringa" width="35" pattern="1">
<source>500@.INDCF</source>
<source>CLIFO.INDCF</source>
</field>
<field x="88.5" y="3" type="Stringa" width="10" pattern="1">
<source>500@.CIVCF</source>
<source>CLIFO.CIVCF</source>
</field>
<field x="2" y="4" type="Testo" width="10" pattern="1" text="Scadenza">
<font face="Courier New" bold="1" size="8" />
@ -43,14 +43,14 @@
<source>168.DATASC</source>
</field>
<field x="52" y="4" type="Stringa" width="6" pattern="1">
<source>500@.CAPCF</source>
<source>CLIFO.CAPCF</source>
</field>
<field x="59" y="4" type="Stringa" width="35" pattern="1">
<source>500@.LOCALITACF</source>
<source>CLIFO.LOCALITACF</source>
</field>
<field x="52" y="5" type="Testo" width="5" pattern="1" text="C.F." />
<field x="57" y="5" type="Stringa" width="16" pattern="1">
<source>500@.COFI</source>
<source>CLIFO.COFI</source>
</field>
<field border="2" x="1" y="6" type="Linea" width="115" height="0" pattern="1" />
<field x="2" y="6" type="Testo" width="14" pattern="1" text="Consegnare a">
@ -177,9 +177,9 @@
</field>
<field border="2" x="1" y="21" type="Linea" width="115" height="0" pattern="1" />
</section>
<section type="Body" />
<section type="Body" level="1" />
<section type="Head" level="11">
<section type="Body" pattern="1" />
<section type="Body" level="1" pattern="1" />
<section type="Head" level="11" pattern="1">
<font face="Courier New" bold="1" size="8" />
<field border="2" x="1" type="Linea" pattern="1" />
<field x="1" type="Stringa" pattern="1" />
@ -196,7 +196,7 @@
<field border="2" x="100" type="Linea" pattern="1" />
<field border="2" x="116" type="Linea" pattern="1" />
</section>
<section type="Body" level="11" width="115" height="1">
<section type="Body" level="11" width="115" height="1" pattern="1">
<sql>USE 169
JOIN 47 TO 169 ALIAS 600 INTO CODART==CODART
FROM CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
@ -219,15 +219,14 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
</field>
<field border="1" x="100" type="Linea" pattern="1" />
<field x="101" type="Numero" align="right" width="14" pattern="1" hide_zero="1">
<source>169.DOTOD</source>
<prescript description="B11.0 PRESCRIPT">MESSAGE _ISAMREAD,166,ANNOES=#F_ANNO!TIPOCF='C'!CODCF=168.CODCF!INDSPED=168.CODINDSPED!CODART=#600!NRIGA=1,DOTOD</prescript>
<source>#DOTOD</source>
</field>
<field border="2" x="116" type="Linea" pattern="1" />
<field x="2" type="Stringa" width="20" id="600" pattern="1">
<source>169.CODART</source>
</field>
</section>
<section type="Foot" level="11">
<section type="Foot" level="11" pattern="1">
<field border="2" x="1" type="Linea" pattern="1" />
<field border="1" x="23" type="Linea" pattern="1" />
<field border="1" x="75" type="Linea" pattern="1" />
@ -237,7 +236,7 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
<field border="2" x="116" type="Linea" pattern="1" />
<field border="2" x="1" y="1" type="Linea" width="115" height="0" pattern="1" />
</section>
<section type="Head" level="12">
<section type="Head" level="12" pattern="1">
<font face="Courier New" bold="1" size="8" />
<field x="2" type="Testo" width="20" pattern="1" text="Dati di Consegna" />
<field x="2" y="1" type="Testo" width="10" pattern="1" text="Consegna" />
@ -249,7 +248,7 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
<field border="2" x="1" type="Linea" height="2" pattern="1" />
<field border="2" x="116" type="Linea" height="2" pattern="1" />
</section>
<section type="Body" level="12">
<section type="Body" level="12" pattern="1">
<sql>USE 164
JOIN &#26;ITI TO 164 ALIAS 700 INTO CODTAB==CODITI
FROM CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
@ -290,12 +289,12 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
</field>
<field border="2" x="116" type="Linea" pattern="1" />
</section>
<section type="Foot" level="12">
<section type="Foot" level="12" pattern="1">
<field border="2" x="1" y="1" type="Linea" width="115" height="0" pattern="1" />
<field border="2" x="1" type="Linea" pattern="1" />
<field border="2" x="116" type="Linea" pattern="1" />
</section>
<section type="Head" level="13">
<section type="Head" level="13" pattern="1">
<field border="2" x="1" type="Linea" height="2" pattern="1" />
<field x="2" type="Testo" width="50" pattern="1" text="Periodi di Sospensione">
<font face="Courier New" bold="1" size="8" />
@ -312,7 +311,7 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
</field>
<field border="2" x="1" y="2" type="Linea" width="115" height="0" pattern="1" />
</section>
<section type="Body" level="13">
<section type="Body" level="13" pattern="1">
<sql>USE 165
JOIN &#26;TSP TO 165 ALIAS 800 INTO CODTAB==TPSOSP
FROM CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
@ -334,12 +333,12 @@ TO CODCF=#PARENT.CODCF CODCONT=#PARENT.CODCONT
<field border="2" x="1" type="Linea" pattern="1" />
<field border="2" x="116" type="Linea" pattern="1" />
</section>
<section type="Foot" level="13" />
<section type="Foot" />
<section type="Foot" level="1" />
<section type="Foot" level="2" />
<sql>USE 168
JOIN 20 TO 168 ALIAS 500 INTO TIPOCF=="C" CODCF==CODCF
<section type="Foot" level="13" pattern="1" />
<section type="Foot" pattern="1" />
<section type="Foot" level="1" pattern="1" />
<section type="Foot" level="2" pattern="1" />
<sql>USE LVCONDV
JOIN CLIFO INTO TIPOCF=="C" CODCF==CODCF
JOIN 16 TO 168 ALIAS 200 INTO TIPOCF=="C" CODCF==CODCF CODIND==CODINDSP
JOIN %CPG TO 20 ALIAS 201 INTO CODTAB==CODPAG
JOIN %BAN TO 20 ALIAS 204 INTO CODTAB==CODABI+CODCAB

View File

@ -1709,9 +1709,72 @@ TGiac_per_cli::TGiac_per_cli()
_year = 0;
_indsped = 0;
}
//////////////////////////
//// TLV_REPORT ////
//////////////////////////
/*void TLV_report::msg_lv_dot(const TString& name, TVariant& var)
{
TReport_field& cf = *curr_field();
TRecordset& recset = *recordset();
const long codcf = recset.get("CODCF").as_int();
const long codcont = recset.get("CODCONT").as_int();
//const TLaundry_contract cont(codcf, codcont);
//const TRectype& rdoc = riga_doc();
//const TDocumento& h = doc();
//instanzio un TArticolo_lavanderie per poter recuperare i dati di interesse
TArticolo_lavanderie& artrec = cached_article_laundry("N0001", 'C', codcf, 0); //per adesso 0, poi lo modifico
//setto datasc a oggi e fisso l'anno esercizio
TEsercizi_contabili& esc = esercizi();
const int last_esc = esc.last();
//estraggo il record corrispondente su LF_CLIFOGIAC
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
const TVariant x = reclav.get("DOTOD");
cf.set(x);
}*/
/*size_t TLV_report::get_usr_words(TString_array& words) const
{
TReport::get_usr_words(words);
const char* const name[] = { "LV_NEXTCONS", "LV_DOT", NULL };
((TLV_report*)this)->_first_lv_msg = words.items(); // Calcola il primo numero disponibile
for (size_t i = 0; name[i] != NULL; i++)
words.add(name[i]);
return words.items();
}*/
/*bool TLV_report::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
{
if (opcode < _first_lv_msg)
return TReport::execute_usr_word(opcode, stack);
opcode -= _first_lv_msg;
switch (opcode)
{
//case 0 :
//msg_lv_nextcons(stack); break;
case 1 :
case 2 :
case 3 :
msg_lv_dot(stack); break;
default:
break;
}
while (!stack.pop().is_null()); // Svuota eventuali parametri variabili inutilizzati
return true;
}*/
bool TLV_report::get_usr_val(const TString& name, TVariant& var) const
{
if (name == "#NEXTCONS")
if(name == "#NEXTCONS")
{
TRecordset& recset = *recordset();
const long clifo = recset.get("CODCF").as_int();
@ -1724,8 +1787,32 @@ bool TLV_report::get_usr_val(const TString& name, TVariant& var) const
TDate next_dtcons = dtcons;
next_dtcons += 7;
var = next_dtcons;
return true;
}
return true;
}
}
if(name.starts_with("#DOTOD"))
{
TReport_field& cf = *curr_field();
TRecordset* row_recset = cf.section().recordset();
TRecordset& recset = *recordset();
const long codcf = recset.get("CODCF").as_int();
const long codcont = recset.get("CODCONT").as_int();
const TString80 codart = row_recset != NULL ? row_recset->get("CODART").as_string() : recset.get("CODART").as_string();
//instanzio un TArticolo_lavanderie per poter recuperare i dati di interesse
TArticolo_lavanderie& artrec = cached_article_laundry(codart, 'C', codcf, 0); //per adesso 0, poi lo modifico
//setto datasc a oggi e fisso l'anno esercizio
TEsercizi_contabili& esc = esercizi();
const int last_esc = esc.last();
//estraggo il record corrispondente su LF_CLIFOGIAC
const TRecmag_lavanderie& reclav = artrec.find_rec(last_esc);
const TVariant x = reclav.get("DOTOD");
cf.set(x);
return true;
}
return TDocument_report::get_usr_val(name, var);
}

View File

@ -393,7 +393,14 @@ public:
class TLV_report : public TDocument_report
{
//size_t _first_lv_msg;
protected:
//bool msg_lv_nexcons(TVariant& var);
//void msg_lv_dot(const TString& name, TVariant& var);
//virtual size_t get_usr_words(TString_array& words) const;
//virtual bool execute_usr_word(unsigned int opcode, TVariant_stack& stack);
virtual bool get_usr_val(const TString& name, TVariant& var) const;
public: