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:
parent
e7afacec30
commit
2a6f84c8a8
@ -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 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 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
|
||||
|
93
lv/lvlib.cpp
93
lv/lvlib.cpp
@ -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);
|
||||
}
|
||||
|
@ -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:
|
||||
|
Loading…
x
Reference in New Issue
Block a user