Patch level :10.0

Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
rivoluzionata stampa rilevazione ore; adesso usa un as400_recordset


git-svn-id: svn://10.65.10.50/branches/R_10_00@21691 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luca 2011-02-21 17:08:21 +00:00
parent 8be0c725eb
commit 1c192f35e7
6 changed files with 412 additions and 266 deletions

View File

@ -5,7 +5,6 @@
#include <recarray.h>
#include <relation.h>
#include <reprint.h>
#include <textset.h>
#include "../ca/calib01.h"
#include "../ca/commesse.h"
@ -14,19 +13,6 @@
#include "ci1350.h"
#include "ci1300a.h"
///////////////////////////////////////////////////////////
// Recordset
///////////////////////////////////////////////////////////
class TRil_ore_ris_recordset : public TCSV_recordset
{
public:
TRil_ore_ris_recordset();
};
TRil_ore_ris_recordset::TRil_ore_ris_recordset()
: TCSV_recordset("CSV(\"|\")")
{
}
///////////////////////////////////////////////////////////
// Report
@ -38,10 +24,16 @@ protected:
virtual bool use_mask() { return false; }
public:
TRil_ore_ris_report() { load("ci1300a"); }
TRil_ore_ris_report();
};
TRil_ore_ris_report::TRil_ore_ris_report()
{
load("ci1300a");
TRil_ore_recordset* recset = new TRil_ore_recordset;
set_recordset(recset);
}
///////////////////////////////////////////////////////////
// Maschera
///////////////////////////////////////////////////////////
@ -75,7 +67,6 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& re
//creare un assoc_array con chiave TToken_string cms-sede-fase(1) o sede-cms-fase(2) in base ai parametri..
//..indicati sulla maschera
const int tipo_ordinamento = get_int(F_ORDINAMENTO);
const bool show_fasi = get_bool(F_SHOW_FASI);
//il contenuto dell'assoc_array sarà: tot_Prev - 31 valori giornalieri Consuntivi - tot_Consuntivo
TAssoc_array righe;
@ -144,17 +135,16 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& re
TToken_string key;
switch(tipo_ordinamento)
{
case 1:
key.add(codcms);
key.add(codcosto);
break;
case 2:
key.add(codcosto);
key.add(codcms);
break;
case 1: key.add(codcms); break;
case 2: key.add(codcms); key.add(codcosto); break;
case 3: key.add(codcms); key.add(codfase); break;
case 4: key.add(codcms); key.add(codcosto); key.add(codfase); break;
case 5: key.add(codcosto); break;
case 6: key.add(codcosto); key.add(codcms); break;
case 7: key.add(codcosto); key.add(codfase); break;
case 8: key.add(codcosto); key.add(codcms); key.add(codfase); break;
default: break;
}
if (show_fasi)
key.add(codfase);
//se la chiave non esiste già nell'assoc_array allora crea l'elemento
TToken_string* record = (TToken_string*)righe.objptr(key);
@ -191,24 +181,15 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, TReport& re
} //for (int i = 0; i < 2; i++)...
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
TRil_ore_ris_recordset* righe_da_stampare = new TRil_ore_ris_recordset;
ci_fill_recset_from_ass(righe, *righe_da_stampare);
#ifdef DBG
righe_da_stampare->save_as_text("C:/temp/cazzone.txt");
#endif
//deve settare almeno un campo manualmente perche' funzioni la mask2report
righe_da_stampare->set_var("#CODRIS", TVariant(curr_risorsa), true);
//setta il recordset ordinato al report
rep.set_recordset(righe_da_stampare);
//tenta la mask2report per far apparire sul report i campi di selezione della maschera
rep.mask2report(*this);
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
//Il tutto nel magico metodo che segue!
ci_fill_recset_from_ass(righe, rep);
rep.recordset()->set_var("#CODRIS", curr_risorsa, true);
}

View File

@ -1,53 +1,88 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report name="ci1300a" orientation="2" lpi="6">
<report name="ci1300a" orientation="2" lpi="6" class="ci1300">
<description>Rilevazione ore mensili per Risorsa - Attrezzatura</description>
<font face="Arial" size="8" />
<section type="Head" pattern="1">
<field x="21" y="1" type="Testo" align="center" width="8" height="2" pattern="1" text="Totale preventivo">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="155" y="1" type="Testo" align="center" width="8" height="2" pattern="1" text="Totale consuntivo">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="1" y="1.5" type="Array" width="18" pattern="1">
<font face="Arial Narrow" size="8" />
<field x="1" type="Array" txt_color="#800080" width="18" pattern="1">
<font face="Arial" bold="1" size="8" />
<source>#ORDINAMENTO</source>
<list>
<li Value="Commessa -- CdC" Code="1" />
<li Value="CdC -- Commessa" Code="2" />
<li Value=" " Code="1" />
<li Value=" " Code="2" />
<li Value=" " Code="3" />
<li Value="Commessa" Code="4" />
<li Value=" " Code="5" />
<li Value=" " Code="6" />
<li Value=" " Code="7" />
<li Value="CdC" Code="8" />
</list>
</field>
<field border="1" x="30" y="1" type="Stringa" align="center" width="4" height="2" id="101" pattern="2" />
<field border="1" x="34" y="1" type="Stringa" align="center" width="4" height="2" id="102" pattern="2" />
<field border="1" x="38" y="1" type="Stringa" align="center" width="4" height="2" id="103" pattern="2" />
<field border="1" x="42" y="1" type="Stringa" align="center" width="4" height="2" id="104" pattern="2" />
<field border="1" x="46" y="1" type="Stringa" align="center" width="4" height="2" id="105" pattern="2" />
<field border="1" x="50" y="1" type="Stringa" align="center" width="4" height="2" id="106" pattern="2" />
<field border="1" x="54" y="1" type="Stringa" align="center" width="4" height="2" id="107" pattern="2" />
<field border="1" x="58" y="1" type="Stringa" align="center" width="4" height="2" id="108" pattern="2" />
<field border="1" x="62" y="1" type="Stringa" align="center" width="4" height="2" id="109" pattern="2" />
<field border="1" x="66" y="1" type="Stringa" align="center" width="4" height="2" id="110" pattern="2" />
<field border="1" x="70" y="1" type="Stringa" align="center" width="4" height="2" id="111" pattern="2" />
<field border="1" x="74" y="1" type="Stringa" align="center" width="4" height="2" id="112" pattern="2" />
<field border="1" x="78" y="1" type="Stringa" align="center" width="4" height="2" id="113" pattern="2" />
<field border="1" x="82" y="1" type="Stringa" align="center" width="4" height="2" id="114" pattern="2" />
<field border="1" x="86" y="1" type="Stringa" align="center" width="4" height="2" id="115" pattern="2" />
<field border="1" x="90" y="1" type="Stringa" align="center" width="4" height="2" id="116" pattern="2" />
<field border="1" x="94" y="1" type="Stringa" align="center" width="4" height="2" id="117" pattern="2" />
<field border="1" x="98" y="1" type="Stringa" align="center" width="4" height="2" id="118" pattern="2" />
<field border="1" x="102" y="1" type="Stringa" align="center" width="4" height="2" id="119" pattern="2" />
<field border="1" x="106" y="1" type="Stringa" align="center" width="4" height="2" id="120" pattern="2" />
<field border="1" x="110" y="1" type="Stringa" align="center" width="4" height="2" id="121" pattern="2" />
<field border="1" x="114" y="1" type="Stringa" align="center" width="4" height="2" id="122" pattern="2" />
<field border="1" x="118" y="1" type="Stringa" align="center" width="4" height="2" id="123" pattern="2" />
<field border="1" x="122" y="1" type="Stringa" align="center" width="4" height="2" id="124" pattern="2" />
<field border="1" x="126" y="1" type="Stringa" align="center" width="4" height="2" id="125" pattern="2" />
<field border="1" x="130" y="1" type="Stringa" align="center" width="4" height="2" id="126" pattern="2" />
<field border="1" x="134" y="1" type="Stringa" align="center" width="4" height="2" id="127" pattern="2" />
<field border="1" x="138" y="1" type="Stringa" align="center" width="4" height="2" id="128" pattern="2" />
<field border="1" x="142" y="1" type="Stringa" align="center" width="4" height="2" id="129" pattern="2" />
<field border="1" x="146" y="1" type="Stringa" align="center" width="4" height="2" id="130" pattern="2" />
<field border="1" x="150" y="1" type="Stringa" align="center" width="4" height="2" id="131" pattern="2" />
<field x="1" y="1" type="Array" txt_color="#400040" width="18" pattern="1">
<font face="Arial" bold="1" size="8" />
<source>#ORDINAMENTO</source>
<list>
<li Value=" " Code="1" />
<li Value="Commessa" Code="2" />
<li Value="Commessa" Code="3" />
<li Value="CdC" Code="4" />
<li Value=" " Code="5" />
<li Value="CdC" Code="6" />
<li Value="CdC" Code="7" />
<li Value="Commessa" Code="8" />
</list>
</field>
<field x="44" y="1" type="Testo" align="center" width="6" height="2" pattern="1" text="Totale PREV">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="50" y="1" type="Testo" align="center" width="6" height="2" pattern="1" text="Totale CONS">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="1" y="2" type="Array" width="18" pattern="1">
<font face="Arial" bold="1" size="8" />
<source>#ORDINAMENTO</source>
<list>
<li Value="Commessa" Code="1" />
<li Value="CdC" Code="2" />
<li Value="Fase" Code="3" />
<li Value="Fase" Code="4" />
<li Value="CdC" Code="5" />
<li Value="Commessa" Code="6" />
<li Value="Fase" Code="7" />
<li Value="Fase" Code="8" />
</list>
</field>
<field border="1" x="57" y="1" type="Stringa" align="center" width="3.5" height="2" id="101" pattern="2" />
<field border="1" x="60.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="102" pattern="2" />
<field border="1" x="64" y="1" type="Stringa" align="center" width="3.5" height="2" id="103" pattern="2" />
<field border="1" x="67.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="104" pattern="2" />
<field border="1" x="71" y="1" type="Stringa" align="center" width="3.5" height="2" id="105" pattern="2" />
<field border="1" x="74.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="106" pattern="2" />
<field border="1" x="78" y="1" type="Stringa" align="center" width="3.5" height="2" id="107" pattern="2" />
<field border="1" x="81.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="108" pattern="2" />
<field border="1" x="85" y="1" type="Stringa" align="center" width="3.5" height="2" id="109" pattern="2" />
<field border="1" x="88.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="110" pattern="2" />
<field border="1" x="92" y="1" type="Stringa" align="center" width="3.5" height="2" id="111" pattern="2" />
<field border="1" x="95.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="112" pattern="2" />
<field border="1" x="99" y="1" type="Stringa" align="center" width="3.5" height="2" id="113" pattern="2" />
<field border="1" x="102.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="114" pattern="2" />
<field border="1" x="106" y="1" type="Stringa" align="center" width="3.5" height="2" id="115" pattern="2" />
<field border="1" x="109.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="116" pattern="2" />
<field border="1" x="113" y="1" type="Stringa" align="center" width="3.5" height="2" id="117" pattern="2" />
<field border="1" x="116.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="118" pattern="2" />
<field border="1" x="120" y="1" type="Stringa" align="center" width="3.5" height="2" id="119" pattern="2" />
<field border="1" x="123.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="120" pattern="2" />
<field border="1" x="127" y="1" type="Stringa" align="center" width="3.5" height="2" id="121" pattern="2" />
<field border="1" x="130.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="122" pattern="2" />
<field border="1" x="134" y="1" type="Stringa" align="center" width="3.5" height="2" id="123" pattern="2" />
<field border="1" x="137.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="124" pattern="2" />
<field border="1" x="141" y="1" type="Stringa" align="center" width="3.5" height="2" id="125" pattern="2" />
<field border="1" x="144.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="126" pattern="2" />
<field border="1" x="148" y="1" type="Stringa" align="center" width="3.5" height="2" id="127" pattern="2" />
<field border="1" x="151.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="128" pattern="2" />
<field border="1" x="155" y="1" type="Stringa" align="center" width="3.5" height="2" id="129" pattern="2" />
<field border="1" x="158.5" y="1" type="Stringa" align="center" width="3.5" height="2" id="130" pattern="2" />
<field border="1" x="162" y="1" type="Stringa" align="center" width="3.5" height="2" id="131" pattern="2" />
</section>
<section type="Head" level="1" pattern="1">
<font face="Arial" size="10" />
@ -101,8 +136,8 @@
<font face="Arial" bold="1" size="10" />
<source>#SYSTEM.DATE</source>
</field>
<field x="158" y="4.5" type="Testo" bg_color="#400040" txt_color="#FFFFFF" width="4" pattern="2" />
<field border="2" x="1" y="6" type="Linea" width="162" height="0" pattern="1" />
<field x="158" y="4.5" type="Testo" bg_color="#400040" txt_color="#FFFFFF" width="8" pattern="2" />
<field border="2" x="1" y="6" type="Linea" width="166" height="0" pattern="1" />
<field x="62" y="4.5" type="Stringa" bg_color="#400040" txt_color="#FFFFFF" width="7" id="90" pattern="2">
<font face="Arial" bold="1" size="10" />
<source>#CODRIS</source>
@ -116,183 +151,217 @@
<prescript description="H1.92 PRESCRIPT">MESSAGE TABLEREAD,ATR,#90,S0</prescript>
</field>
</section>
<section type="Head" level="2" pattern="1">
<condition>(#ORDINAMENTO==4)||(#ORDINAMENTO==8)</condition>
<groupby>Key1</groupby>
<font face="Arial Narrow" bold="1" size="8" />
<field x="1" type="Stringa" txt_color="#800080" width="12" id="90" pattern="1">
<source>Key1</source>
</field>
<field x="14" type="Stringa" txt_color="#800080" width="50" id="91" pattern="1">
<source>Des1</source>
</field>
</section>
<section type="Head" level="3" pattern="1">
<condition>(#ORDINAMENTO!=1)&#26;&#26;(#ORDINAMENTO!=5)</condition>
<groupby>Key1+Key2</groupby>
<field x="1" type="Stringa" txt_color="#400040" width="12" id="90" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />
<source>IF ((#ORDINAMENTO==2)||(#ORDINAMENTO==3)||(#ORDINAMENTO==6)||(#ORDINAMENTO==7);Key1;Key2)
</source>
</field>
<field x="14" type="Stringa" txt_color="#400040" width="50" id="91" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />
<source>IF ((#ORDINAMENTO==2)||(#ORDINAMENTO==3)||(#ORDINAMENTO==6)||(#ORDINAMENTO==7);Des1;Des2)
</source>
</field>
</section>
<section type="Body" pattern="1" />
<section type="Body" level="1" pattern="1">
<font face="Arial Narrow" size="8" />
<field border="1" x="1" type="Stringa" dynamic_height="1" width="20" height="2" pattern="1">
<source>A</source>
<font face="Arial Narrow" size="7" />
<field border="1" x="43.5" type="Numero" align="right" width="6" pattern="1" text="##@,@@">
<source>TotPrev</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.99</prescript>
</field>
<field border="1" x="22" type="Numero" align="right" width="7" pattern="1" text="###@,@@">
<source>B</source>
<field border="1" x="50" type="Numero" align="right" width="6" pattern="1" text="##@,@@">
<source>TotCons</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.100</prescript>
</field>
<field border="1" x="30" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>C</source>
<field border="1" x="57" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G01</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101</prescript>
</field>
<field border="1" x="34" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>D</source>
<field border="1" x="60.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G02</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102</prescript>
</field>
<field border="1" x="38" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>E</source>
<field border="1" x="64" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G03</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103</prescript>
</field>
<field border="1" x="42" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>F</source>
<field border="1" x="67.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G04</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104</prescript>
</field>
<field border="1" x="46" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>G</source>
<field border="1" x="71" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G05</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105</prescript>
</field>
<field border="1" x="50" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>H</source>
<field border="1" x="74.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G06</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106</prescript>
</field>
<field border="1" x="54" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>I</source>
<field border="1" x="78" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G07</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107</prescript>
</field>
<field border="1" x="58" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>J</source>
<field border="1" x="81.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G08</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108</prescript>
</field>
<field border="1" x="62" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>K</source>
<field border="1" x="85" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G09</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109</prescript>
</field>
<field border="1" x="66" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>L</source>
<field border="1" x="88.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G10</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110</prescript>
</field>
<field border="1" x="70" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>M</source>
<field border="1" x="92" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G11</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111</prescript>
</field>
<field border="1" x="74" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>N</source>
<field border="1" x="95.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G12</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112</prescript>
</field>
<field border="1" x="78" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>O</source>
<field border="1" x="99" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G13</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113</prescript>
</field>
<field border="1" x="82" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>P</source>
<field border="1" x="102.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G14</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114</prescript>
</field>
<field border="1" x="86" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>Q</source>
<field border="1" x="106" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G15</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115</prescript>
</field>
<field border="1" x="90" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>R</source>
<field border="1" x="109.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G16</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116</prescript>
</field>
<field border="1" x="94" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>S</source>
<field border="1" x="113" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G17</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117</prescript>
</field>
<field border="1" x="98" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>T</source>
<field border="1" x="116.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G18</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118</prescript>
</field>
<field border="1" x="102" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>U</source>
<field border="1" x="120" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G19</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119</prescript>
</field>
<field border="1" x="106" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>V</source>
<field border="1" x="123.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G20</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120</prescript>
</field>
<field border="1" x="110" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>W</source>
<field border="1" x="127" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G21</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121</prescript>
</field>
<field border="1" x="114" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>X</source>
<field border="1" x="130.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G22</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122</prescript>
</field>
<field border="1" x="118" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>Y</source>
<field border="1" x="134" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G23</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123</prescript>
</field>
<field border="1" x="122" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>Z</source>
<field border="1" x="137.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G24</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124</prescript>
</field>
<field border="1" x="126" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AA</source>
<field border="1" x="141" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G25</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125</prescript>
</field>
<field border="1" x="130" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AB</source>
<field border="1" x="144.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G26</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126</prescript>
</field>
<field border="1" x="134" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AC</source>
<field border="1" x="148" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G27</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.127</prescript>
</field>
<field border="1" x="138" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AD</source>
<field border="1" x="151.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G28</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.128</prescript>
</field>
<field border="1" x="142" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AE</source>
<field border="1" x="155" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G29</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.129</prescript>
</field>
<field border="1" x="146" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AF</source>
<field border="1" x="158.5" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G30</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.130</prescript>
</field>
<field border="1" x="150" type="Numero" align="right" width="4" pattern="1" hide_zero="1" text="#@,@@">
<source>AG</source>
<field border="1" x="162" type="Numero" align="right" width="3.5" pattern="1" hide_zero="1" text="#@,@@">
<source>G31</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.131</prescript>
</field>
<field border="1" x="155" type="Numero" align="right" width="6" pattern="1" text="##@,@@">
<source>AH</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.132</prescript>
<field border="1" x="1" type="Stringa" width="13" id="90" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />
<source>IF ((#ORDINAMENTO==4)||(#ORDINAMENTO==8);Key3;IF ((#ORDINAMENTO==1)||(#ORDINAMENTO==5);Key1;Key2))
</source>
</field>
<field border="1" x="14" type="Stringa" width="29" id="91" pattern="1">
<font face="Arial Narrow" size="7" />
<source>IF ((#ORDINAMENTO==4)||(#ORDINAMENTO==8);Des3;IF ((#ORDINAMENTO==1)||(#ORDINAMENTO==5);Des1;Des2))
</source>
</field>
</section>
<section type="Foot" pattern="1" />
<section type="Foot" level="1" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />
<field border="1" x="1" y="0.5" type="Testo" align="right" bg_color="#C0C0C0" width="20" pattern="2" text="Totali">
<font face="Arial Narrow" bold="1" size="7" />
<field border="1" x="14" y="0.5" type="Testo" align="right" bg_color="#C0C0C0" width="29" pattern="2" text="Totali">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="22" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="7" id="100" pattern="2" text="###@,@@" />
<field border="1" x="30" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="101" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="34" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="102" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="38" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="103" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="42" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="104" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="46" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="105" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="50" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="106" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="54" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="107" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="58" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="108" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="62" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="109" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="66" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="110" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="70" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="111" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="74" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="112" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="78" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="113" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="82" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="114" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="86" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="115" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="90" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="116" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="94" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="117" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="98" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="118" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="102" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="119" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="106" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="120" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="110" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="121" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="114" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="122" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="118" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="123" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="122" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="124" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="126" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="125" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="130" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="126" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="134" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="127" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="138" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="128" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="142" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="129" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="146" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="130" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="150" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="4" id="131" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="155" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="6" id="132" pattern="2" text="##@,@@" />
<field border="1" x="43.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="6" id="99" pattern="2" text="##@,@@" />
<field border="1" x="50" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="6" id="100" pattern="2" text="##@,@@" />
<field border="1" x="57" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="101" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="60.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="102" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="64" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="103" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="67.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="104" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="71" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="105" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="74.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="106" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="78" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="107" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="81.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="108" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="85" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="109" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="88.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="110" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="92" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="111" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="95.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="112" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="99" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="113" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="102.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="114" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="106" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="115" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="109.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="116" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="113" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="117" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="116.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="118" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="120" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="119" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="123.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="120" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="127" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="121" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="130.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="122" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="134" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="123" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="137.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="124" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="141" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="125" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="144.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="126" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="148" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="127" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="151.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="128" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="155" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="129" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="158.5" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="130" pattern="2" hide_zero="1" text="#@,@@" />
<field border="1" x="162" y="0.5" type="Numero" align="right" bg_color="#C0C0C0" width="3.5" id="131" pattern="2" hide_zero="1" text="#@,@@" />
</section>
<section type="Foot" level="2" pattern="1" />
<section type="Foot" level="3" pattern="1" />
</report>

View File

@ -142,26 +142,20 @@ BEGIN
FIELD #MESE
END
GROUPBOX -1 78 5
BEGIN
PROMPT 1 9 "@bTipo ordinamento dati"
END
RADIOBUTTON F_ORDINAMENTO 40
BEGIN
PROMPT 2 10 "Principale"
ITEM "1|Commessa - CdC"
ITEM "2|CdC - commessa"
FLAGS "Z"
PROMPT 1 9 "@bStampa e ordina per:"
ITEM "1|Commessa"
ITEM "2|Commessa - CdC"
ITEM "3|Commessa - Fase"
ITEM "4|Commessa - CdC - Fase"
ITEM "5|CdC"
ITEM "6|CdC - Commessa"
ITEM "7|CdC - Fase"
ITEM "8|CdC - Commessa - Fase"
FIELD #ORDINAMENTO
END
BOOLEAN F_SHOW_FASI
BEGIN
PROMPT 55 11 "Dettaglio per fase"
FIELD #SHOW_FASI
END
ENDPAGE
ENDMASK

View File

@ -1,5 +1,36 @@
#include "../ca/commesse.h"
#include "../ca/cdc.h"
#include "../ca/fasi.h"
#include "ci1350.h"
///////////////////////////////////////////////////////////
// Recordset
///////////////////////////////////////////////////////////
TRil_ore_recordset::TRil_ore_recordset()
: TAS400_recordset("AS400(512)")
{
//const char* name, int pos, int len, TFieldtypes t = _alfafld, bool required = false, const TVariant& def = NULL_VARIANT
create_field("Key1", -1, 20, _alfafld, true);
create_field("Key2", -1, 20, _alfafld, false);
create_field("Key3", -1, 10, _alfafld, false);
create_field("Des1", -1, 50, _alfafld, true);
create_field("Des2", -1, 50, _alfafld, false);
create_field("Des3", -1, 50, _alfafld, false);
create_field("TotPrev", -1, 6, _realfld, false);
create_field("TotCons", -1, 6, _realfld, false);
TString4 name;
for (int i = 1; i <= 31; i++)
{
name.format("G%02d", i);
create_field(name, -1, 5, _realfld, false);
}
}
///////////////////////////////////////////////////////////////////////////////////////
// Metodi liberi per determinare giorni lavorativi e feriali (nati per ci1300 ci1400)
///////////////////////////////////////////////////////////////////////////////////////
@ -51,52 +82,133 @@ long ci_calcola_giorni_lavorativi_cms(const int anno, const int mese, const TDat
}
void ci_fill_recset_from_ass(TAssoc_array& ass, TCSV_recordset& recset)
void ci_fill_recset_from_ass(TAssoc_array& ass, TReport& rep)
{
//deve informarsi sul tipo di report che è in uso
const TString& rep_class = rep.get_class();
const bool per_ris_att = rep_class == "ci1300";
int ordinamento = 0;
//richiesta delle variabili di filtro sulla maschera
//ca1300
if (per_ris_att)
{
TVariant var;
rep.evaluate("#ORDINAMENTO", var, _intfld);
ordinamento = var.as_int();
}
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
TRil_ore_recordset* recset = (TRil_ore_recordset*)rep.recordset();
FOR_EACH_ASSOC_OBJECT(ass, obj, key, itm)
{
//il totale consuntivo va ridistribuito con un TDistrib sui giorni lavorativi
TToken_string& record_ass = (TToken_string&)*itm;
//aggiunge la riga al recordset
recset->new_rec();
//1) valori delle ore
// Totale preventivo (lo prende dall'assoc_array e lo butta nel recset appena arrotondato)
real totale_p = record_ass.get(0);
totale_p.round(1);
recset->set("TotPrev", totale_p);
// Totale consuntivo (lo prende dall'assoc_array e lo butta nel recset appena arrotondato)
real totale_c = record_ass.get(32);
totale_c.round(1);
TGeneric_distrib esso(totale_c, 1);
recset->set("TotCons", totale_c);
//per avere una distribuzione di ore giornaliera che faccia ritornare il totale consuntivo..
//..indipendentemente da arrotondamenti e troncamenti, si ricorre al mitico TGeneric_distrib...
TGeneric_distrib esso(totale_c, 1);
for (int j = 1; j <= 31; j++)
{
real ore = record_ass.get(j);
esso.add(ore);
}
//chiave della riga (Cms-CdC-Fase o CdC-Cms-Fase)
TToken_string linea;
TToken_string chiave = key;
FOR_EACH_TOKEN(chiave, tok)
{
if (*tok > ' ')
{
if (!linea.empty())
linea << " -- ";
linea << tok;
}
}
// Totale preventivo
real totale_p = record_ass.get(0);
totale_p.round(1);
linea.add(totale_p.string());
// Totale consuntivo
// ridistribuzione delle ore per giorno nel recordset
TString4 name;
for (int k = 1; k <= 31; k++)
{
const real ore_giorno = esso.get();
const char* str_ore = ore_giorno.string();
linea.add(str_ore, k+1);
name.format("G%02d", k);
recset->set(name, ore_giorno);
}
//2) chiavi delle righe
//chiave della riga: dipende dal tipo di report e dai parametri di fordinamento
TToken_string chiave = key;
TString80 chiave1 = chiave.get(0);
TString80 chiave2 = chiave.get(1);
TString16 chiave3 = chiave.get(2);
recset->set("Key1", chiave1); //se ci1300 ->(cms o cdc) se ci1400 ->(A o R)
recset->set("Key2", chiave2); //se ci1300 ->(cdc o cms) se ci1400 ->(codris o codattr)
recset->set("Key3", chiave3);
//report di risorsa / attrezzatura (ci1300)
if (per_ris_att)
{
switch (ordinamento)
{
case 1: //cms
recset->set("Des1", cache().get(LF_COMMESSE, chiave1, COMMESSE_DESCRIZ));
break;
case 2: //cms - cdc
recset->set("Des1", cache().get(LF_COMMESSE, chiave1, COMMESSE_DESCRIZ));
recset->set("Des2", cache().get(LF_CDC, chiave2, CDC_DESCRIZ));
break;
case 3: //cms - fase
recset->set("Des1", cache().get(LF_COMMESSE, chiave1, COMMESSE_DESCRIZ));
recset->set("Des2", cache().get(LF_FASI, chiave2, FASI_DESCRIZ));
break;
case 4: //cms - cdc - fase
recset->set("Des1", cache().get(LF_COMMESSE, chiave1, COMMESSE_DESCRIZ));
recset->set("Des2", cache().get(LF_CDC, chiave2, CDC_DESCRIZ));
recset->set("Des3", cache().get(LF_FASI, chiave3, FASI_DESCRIZ));
break;
case 5: //cdc
recset->set("Des1", cache().get(LF_CDC, chiave1, CDC_DESCRIZ));
break;
case 6: //cdc - cms
recset->set("Des1", cache().get(LF_CDC, chiave1, CDC_DESCRIZ));
recset->set("Des2", cache().get(LF_COMMESSE, chiave2, COMMESSE_DESCRIZ));
break;
case 7: //cdc - fase
recset->set("Des1", cache().get(LF_CDC, chiave1, CDC_DESCRIZ));
recset->set("Des2", cache().get(LF_FASI, chiave2, FASI_DESCRIZ));
break;
case 8: //cdc - cms - fase
recset->set("Des1", cache().get(LF_CDC, chiave1, CDC_DESCRIZ));
recset->set("Des2", cache().get(LF_COMMESSE, chiave2, COMMESSE_DESCRIZ));
recset->set("Des3", cache().get(LF_FASI, chiave3, FASI_DESCRIZ));
break;
}
}
else //report di commessa / sede (ci1400)
{
if (chiave1 == "R") //risorsa
{
recset->set("Des1", "Risorsa");
recset->set("Des2", cache().get("RSS", chiave2, "S0"));
}
else //attrezzatura
{
recset->set("Des1", "Attrezzatura");
recset->set("Des2", cache().get("ATR", chiave2, "S0"));
}
}
linea.add(totale_c.string());
//aggiunge la riga tokenstringata al csv_recordset
recset.new_rec(linea);
}
//ordina il recordset per chiave
recset.sort();
recset->sort();
#ifdef DBG
recset->save_as("C:/temp/cazzone.txt");
#endif
}

View File

@ -1,10 +1,20 @@
#ifndef __CI1350_H
#define __CI1350_H
#include <assoc.h>
#include <date.h>
#include <recarray.h>
#include <report.h>
#include <textset.h>
///////////////////////////////////////////////////////////
// Recordset generico valido per le stampe ci1300 ci1400
///////////////////////////////////////////////////////////
class TRil_ore_recordset : public TAS400_recordset
{
public:
TRil_ore_recordset();
};
///////////////////////////////////////////////////////////////////////////////////////
// Metodi liberi per determinare giorni lavorativi e feriali (nati per ci1300 ci1400)
///////////////////////////////////////////////////////////////////////////////////////
@ -14,6 +24,6 @@ long ci_calcola_giorni_lavorativi(const TDate& dataini, const TDate& datafine);
long ci_calcola_giorni_lavorativi_cms(const int anno, const int mese, const TDate& ini_cms, const TDate& fine_cms,
const TDate& dataini, const TDate& datafine, TDate& inizio_lav, TDate& fine_lav);
void ci_fill_recset_from_ass(TAssoc_array& ass, TCSV_recordset& recset);
void ci_fill_recset_from_ass(TAssoc_array& ass, TReport& rep);
#endif

View File

@ -4,7 +4,6 @@
#include <recarray.h>
#include <relation.h>
#include <reprint.h>
#include <textset.h>
#include "../ca/calib01.h"
#include "../ca/commesse.h"
@ -13,20 +12,6 @@
#include "ci1350.h"
#include "ci1400a.h"
///////////////////////////////////////////////////////////
// Recordset
///////////////////////////////////////////////////////////
class TRil_ore_cms_recordset : public TCSV_recordset
{
public:
TRil_ore_cms_recordset();
};
TRil_ore_cms_recordset::TRil_ore_cms_recordset()
: TCSV_recordset("CSV(\"|\")")
{
}
///////////////////////////////////////////////////////////
// Report
///////////////////////////////////////////////////////////
@ -37,9 +22,15 @@ protected:
virtual bool use_mask() { return false; }
public:
TRil_ore_cms_report() { load("ci1400a"); }
TRil_ore_cms_report();
};
TRil_ore_cms_report::TRil_ore_cms_report()
{
load("ci1400a");
TRil_ore_recordset* recset = new TRil_ore_recordset;
set_recordset(recset);
}
///////////////////////////////////////////////////////////
// Maschera
@ -195,20 +186,9 @@ bool TRil_ore_cms_mask::elabora_commessa(const TString& curr_commessa, TReport&
//finita l'elaborazione che ha riempito l'assoc_array, asegna il medesimo ad un..
//..csv_recordset e poi sbatte quest'ultimo (ordinato) nel report
TRil_ore_cms_recordset* righe_da_stampare = new TRil_ore_cms_recordset;
ci_fill_recset_from_ass(righe, *righe_da_stampare);
#ifdef DBG
righe_da_stampare->save_as_text("C:/temp/culone.txt");
#endif
//deve settare almeno un campo manualmente perche' funzioni la mask2report
righe_da_stampare->set_var("#CODCMSCDC", TVariant(curr_commessa), true);
//setta il recordset ordinato al report
rep.set_recordset(righe_da_stampare);
ci_fill_recset_from_ass(righe, rep);
rep.recordset()->set_var("#CODCMS", curr_commessa, true);
//tenta la mask2report per far apparire sul report i campi di selezione della maschera
rep.mask2report(*this);