Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00

This commit is contained in:
smen 2021-10-11 16:18:42 +02:00
commit 3d9b307973
43 changed files with 1228 additions and 82 deletions

View File

@ -523,6 +523,9 @@
<ClInclude Include="..\src\include\annessif9.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\include\transaction.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\include\about.cpp">
@ -774,6 +777,9 @@
<ClCompile Include="..\src\include\ttools.cpp">
<Filter>Sources</Filter>
</ClCompile>
<ClCompile Include="..\src\include\transaction.cpp">
<Filter>Sources</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Library Include="..\libraries\SQLite3\LibX86\sqlite3.lib">

View File

@ -361,6 +361,7 @@
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(TargetDir)%(Filename).msk;%(Outputs)</Outputs>
<FileType>Document</FileType>
</MskCompiler>
<MskCompiler Include="..\src\ba\ba1900.uml" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\src\ba\ba1.h" />

View File

@ -154,6 +154,9 @@
<MskCompiler Include="..\src\ba\ba1100a.uml">
<Filter>Masks</Filter>
</MskCompiler>
<MskCompiler Include="..\src\ba\ba1900.uml">
<Filter>Masks</Filter>
</MskCompiler>
</ItemGroup>
<ItemGroup>
<None Include="ClassDiagram1.cd" />

View File

@ -302,8 +302,7 @@
<ClInclude Include="..\src\cg\cg4900a.h" />
<ClInclude Include="..\src\cg\cg4a00a.h" />
<ClInclude Include="..\src\cg\cg4b00a.h" />
<ClInclude Include="..\src\cg\cglib01.h" />
<ClInclude Include="..\src\cg\cglib05.h" />
<ClInclude Include="..\src\cg\cglib.h" />
</ItemGroup>
<ItemGroup>
<CustomBuildStep Include="..\Lib\AgaLib.lib">

View File

@ -202,10 +202,7 @@
<ClInclude Include="..\src\cg\cg4b00a.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\cg\cglib05.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\cg\cglib01.h">
<ClInclude Include="..\src\cg\cglib.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup>

View File

@ -220,14 +220,15 @@
<ItemGroup>
<RepCompiler Include="..\src\ci\ci1200a.rep" />
<RepCompiler Include="..\src\ci\ci1200b.rep" />
<RepCompiler Include="..\src\ci\ci1200d.rep">
<SubType>Designer</SubType>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1200e.rep">
<SubType>Designer</SubType>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1300a.rep" />
<RepCompiler Include="..\src\ci\ci1300b.rep" />
<RepCompiler Include="..\src\ci\ci1300ab.rep" />
<RepCompiler Include="..\src\ci\ci1300b.rep">
<SubType>Designer</SubType>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1300bb.rep" />
<RepCompiler Include="..\src\ci\ci1400a.rep" />
<RepCompiler Include="..\src\ci\ci1400b.rep" />
</ItemGroup>

View File

@ -152,9 +152,6 @@
<RepCompiler Include="..\src\ci\ci1200b.rep">
<Filter>Reports</Filter>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1200d.rep">
<Filter>Reports</Filter>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1200e.rep">
<Filter>Reports</Filter>
</RepCompiler>
@ -170,6 +167,12 @@
<RepCompiler Include="..\src\ci\ci1400b.rep">
<Filter>Reports</Filter>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1300ab.rep">
<Filter>Reports</Filter>
</RepCompiler>
<RepCompiler Include="..\src\ci\ci1300bb.rep">
<Filter>Reports</Filter>
</RepCompiler>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="campo.rc" />

View File

@ -1,6 +1,8 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
VisualStudioVersion = 15.0.28307.1622
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "db0", "db0.vcxproj", "{8BE4C959-C8F6-4D27-9E3E-983737D70449}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "db1", "db1.vcxproj", "{7812F135-F255-4DE8-B77F-9F48BB68737C}"
@ -11,6 +13,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AgaLib", "AgaLib.vcxproj",
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vedoc", "vedoc.vcxproj", "{A1CE9743-A597-4F92-B55A-345A366C9E55}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vedocext", "vedocext.vcxproj", "{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cglib", "cglib.vcxproj", "{7B80F974-CE2E-4BD9-855A-44FF139FF288}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -37,8 +43,19 @@ Global
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Debug|Win32.Build.0 = Debug|Win32
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.ActiveCfg = Release|Win32
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.Build.0 = Release|Win32
{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Debug|Win32.ActiveCfg = Debug|Win32
{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Debug|Win32.Build.0 = Debug|Win32
{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Release|Win32.ActiveCfg = Release|Win32
{0042619A-6B7C-4D3D-9CD9-9BDD8D200C15}.Release|Win32.Build.0 = Release|Win32
{7B80F974-CE2E-4BD9-855A-44FF139FF288}.Debug|Win32.ActiveCfg = Debug|Win32
{7B80F974-CE2E-4BD9-855A-44FF139FF288}.Debug|Win32.Build.0 = Debug|Win32
{7B80F974-CE2E-4BD9-855A-44FF139FF288}.Release|Win32.ActiveCfg = Release|Win32
{7B80F974-CE2E-4BD9-855A-44FF139FF288}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {3749CCD9-DAAE-4BBE-9685-1FA083C25AFF}
EndGlobalSection
EndGlobal

View File

@ -222,6 +222,9 @@
<ClInclude Include="..\src\db\db0.h" />
<ClInclude Include="..\src\db\db0100a.h" />
<ClInclude Include="..\src\db\db0500a.h" />
<ClInclude Include="..\src\db\dbtblav.h" />
<ClInclude Include="..\src\db\dbtbord.h" />
<ClInclude Include="..\src\db\dbtbvar.h" />
</ItemGroup>
<ItemGroup>
<MenCompiler Include="..\src\db\dbmenu.men" />
@ -246,6 +249,9 @@
<ProjectReference Include="AgaLib.vcxproj">
<Project>{2d38a763-3d74-4338-9362-b891784ec90e}</Project>
</ProjectReference>
<ProjectReference Include="cglib.vcxproj">
<Project>{7b80f974-ce2e-4bd9-855a-44ff139ff288}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@ -130,6 +130,15 @@
<ClInclude Include="..\src\db\db0500a.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\db\dbtblav.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\db\dbtbord.h">
<Filter>Headers</Filter>
</ClInclude>
<ClInclude Include="..\src\db\dbtbvar.h">
<Filter>Headers</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ResourceCompile Include="campo.rc" />

View File

@ -132,7 +132,7 @@
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0410</Culture>
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
@ -223,6 +223,9 @@
<ProjectReference Include="vedoc.vcxproj">
<Project>{a1ce9743-a597-4f92-b55a-345a366c9e55}</Project>
</ProjectReference>
<ProjectReference Include="vedocext.vcxproj">
<Project>{0042619a-6b7c-4d3d-9cd9-9bdd8d200c15}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

View File

@ -77,7 +77,7 @@
<ResourceCompile>
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Culture>0x0410</Culture>
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ResourceCompile>
<Link>
<AdditionalDependencies>wsock32.lib;%(AdditionalDependencies)</AdditionalDependencies>
@ -220,6 +220,9 @@
<ProjectReference Include="AgaLib.vcxproj">
<Project>{2d38a763-3d74-4338-9362-b891784ec90e}</Project>
</ProjectReference>
<ProjectReference Include="cglib.vcxproj">
<Project>{7b80f974-ce2e-4bd9-855a-44ff139ff288}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">

26
cd/test/ba1088.txt Normal file
View File

@ -0,0 +1,26 @@
recdesc\f9.trr
recdesc\f9.dir
bagn006.msk
ba4300a.msk
ba8.exe
Aggiunto id agli oggetti esterni
Aggiunti oggetti esterni alle ditte
Aggiunto prescript ai campi immagine
Aggiunte funzioni ai report
Immagini da oggetti esterni
sintassi da mettere nel prescript del campo immagine :
<Id oggetto>
<nome del campo oggetti esterni>
<chiave>
<file>
GOLEM
#THIS !
Logo della ditta
sintassi da mettere nel prescript del campo immagine :
LOGO
#THIS !
L'Id dell'immagine deve essere LOGO

44
cd/test/ba1088a.ini Normal file
View File

@ -0,0 +1,44 @@
[Main]
Demo=0
[ba0]
File(21) = bagn006.msk|X
File(412) = recdesc\f9.dir|X
File(413) = recdesc\f9.trr|X
Patch = 1088
Versione = 21511200
[ba4]
Edit_6 = ba4 -1
File(490) = ba4300a.msk|X
Patch = 1088
Versione = 21511200
[ba8]
File(510) = ba8.exe|X
Patch = 1088
Versione = 21511200
[ba99]
Kill(0) = wxmsw240.dll|x
Kill(1) = batbsce.txt|x
Kill(2) = bastfsc.rep|x
Kill(3) = bastfsc.msk|x
Kill(4) = bastcms.msk|x
Kill(5) = bastcms.rep|x
Kill(6) = bastuue.rep|x
Kill(7) = bastuue.msk|x
[ba]
Data = 04-10-2021
Descrizione = Base
Dischi = 1
Moduli = sy
OEM =
Patch = 1088
PostProcess = bainst -0 BA
PreProcess =
Prezzo(1) =
Prezzo(2) =
Versione = 21511200

BIN
cd/test/ba1088a1.zip Normal file

Binary file not shown.

13
cd/test/ci1086.txt Normal file
View File

@ -0,0 +1,13 @@
ci1300a.rep
ci1300b.rep
ci1.exe
ci1300a.msk
ci1300ab.rep
ci1300bb.rep
Aggiunti report per beneficiario alla stampa ore per risorsa/attrezzatura
aggiunto logo del beneficiario
sintassi da mettere nel prescript del campo immagine :
LOGO_BENEF
#THIS !
L'Id dell'immagine deve essere LOGO+<codice tipo lavoro>

26
cd/test/ci1086a.ini Normal file
View File

@ -0,0 +1,26 @@
[Main]
Demo=0
[ci1]
File(7) = ci1.exe|X
File(13) = ci1300a.msk|X
File(14) = ci1300a.rep|X
File(15) = ci1300b.rep|X
File(44) = ci1300ab.rep|X
File(45) = ci1300bb.rep|X
Patch = 1086
Versione = 21511200
[ci]
Data = 03-09-2021
Descrizione = Contabilita' Industriale
Dischi = 1
Moduli = ve
OEM =
Patch = 1086
PostProcess =
PreProcess =
Prezzo(1) =
Prezzo(2) =
Versione = 21511200

BIN
cd/test/ci1086a1.zip Normal file

Binary file not shown.

3
cd/test/tc1086.txt Normal file
View File

@ -0,0 +1,3 @@
tc2.exe
Il trasferimento a IPSOA non confermava i movimenti

26
cd/test/tc1086a.ini Normal file
View File

@ -0,0 +1,26 @@
[Main]
Demo=0
[tc2]
File(37) = tc2.exe|X
Patch = 1086
Versione = 21511200
[tc99]
Kill(0) = tsricl.txt|x
Kill(1) = tctstabm.txt|x
Kill(2) = tstab.txt|x
[tc]
Data = 03-07-2019
Descrizione = Trasferimento ad altre Contabilità
Dischi = 1
Moduli = cg
OEM =
Patch = 1086
PostProcess =
PreProcess =
Prezzo(1) =
Prezzo(2) =
Versione = 21511200

BIN
cd/test/tc1086a1.zip Normal file

Binary file not shown.

View File

@ -141,6 +141,8 @@
#define FLD_IN_DESSOGDEL 201
#define CHK_IN_NONOBBSTAT 202
#define FLD_IN_UFFDOG 203
#define FLD_GD1_OGGETTI 204
#define F_INTCAF 303
#define F_DICHP 304

View File

@ -224,6 +224,12 @@ BEGIN
HELP "Indirizzo e-mail della ditta"
END
GOLEM FLD_GD1_OGGETTI 10 2
BEGIN
PROMPT 64 17 ""
FIELD OGGETTI
FLAGS "M"
END
STRING FLD_GD1_VALUTA 3
BEGIN

View File

@ -730,7 +730,7 @@ void TReport_field_mask::vedo_non_vedo()
enable(DLG_FINDREC, is_text && type != 'T');
show(F_CODVAL, is_currency); // Codice valuta di riferimento
show(F_LINK, strchr("DNS", type) != NULL); // Chi puo' essere un link?
show(F_PRESCRIPT, is_text);
show(F_PRESCRIPT, is_text || type == 'I');
show(F_POSTSCRIPT, is_text);
enable_page(3, type == 'A');

View File

@ -149,6 +149,12 @@ TReport* TKlarkKent_app::create_report(const char* name) const
{
TReport* r = new TReport;
r->load(name);
TString custom_query;
get_custom_query("", name, custom_query);
if (custom_query.full())
r->set_recordset(custom_query);
return r;
}

View File

@ -1,3 +1,3 @@
9
1
%nditte|0|0|642|0|Ditte|#6||
%nditte|0|0|652|0|Ditte|||

View File

@ -1,5 +1,5 @@
9
60
61
CODDITTA|3|5|0|
TIPOA|1|1|0|
CODANAGR|3|5|0|
@ -60,6 +60,7 @@ DICHP|1|1|0|Dichiarazione predisposta da <C>ontribuente, <I>ntermediario
CODRFSO|1|6|0|Codice Rappresentante Fiscale/Stabile Organizzazione
DATARFSO|5|8|0|Data immissione valore
SOCIOUNICO|7|1|0|N Se la ditta ha un socio unico o +
OGGETTI|11|10|0|Collegamenti esterni
4
CODDITTA|
UPPER(RAGSOC)|X

View File

@ -8,8 +8,10 @@
#include "../ca/calib01.h"
#include "../ca/commesse.h"
#include "../ca/cfcms.h"
#include "rilore.h"
#include "cilib.h"
#include "ci1350.h"
#include "ci1300a.h"
@ -20,34 +22,101 @@
class TRil_ore_ris_report : public TReport
{
unsigned int _first_msg;
unsigned int _golem_opcode;
long _codcf;
TString _codtpl;
protected:
virtual bool use_mask() { return false; }
virtual size_t get_usr_words(TString_array& words) const;
virtual bool execute_usr_word(unsigned int opcode, TVariant_stack& stack);
public:
TRil_ore_ris_report(const char tipostampa);
void set_codcf(long codcf) { _codcf = codcf; }
void set_codtpl(const char *cod) { _codtpl = cod; }
TRil_ore_ris_report(bool mensile, bool beneficiario);
};
TRil_ore_ris_report::TRil_ore_ris_report(const char tipostampa)
size_t TRil_ore_ris_report::get_usr_words(TString_array& words) const
{
if (tipostampa == 'M')
load("ci1300a");
else
load("ci1300b");
TReport::get_usr_words(words);
TRil_ore_recordset* recset = new TRil_ore_recordset;
set_recordset(recset);
const char* const name[] =
{
"LOGO_BENEF", NULL
};
((TRil_ore_ris_report*)this)->_first_msg = words.items(); // Calcola il primo numero disponibile
((TRil_ore_ris_report*)this)->_golem_opcode = words.find("GOLEM");
size_t i;
for (i = 0; name[i] != NULL; i++)
words.add(name[i]);
return i;
}
bool TRil_ore_ris_report::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
{
bool ok = true;
if (opcode >= _first_msg)
{
opcode -= _first_msg;
switch (opcode)
{
case 0:
{
TToken_string key("C");
TString id("LOGO");
id << _codtpl;
stack.push(id);
key.add(_codcf);
stack.push(CLI_OGGETTI);
stack.push(key);
stack.push(LF_CLIFO);
execute_usr_word(21, stack);
}
break;
default: ok = false;
break;
}
}
else
ok = TReport::execute_usr_word(opcode, stack);
return ok;
}
TRil_ore_ris_report::TRil_ore_ris_report(bool mensile, bool beneficiario) : _codcf(0L)
{
TFilename report_name;
if (mensile)
report_name = "ci1300a";
else
report_name = "ci1300b";
if (beneficiario)
report_name << "b";
load(report_name);
set_recordset(new TRil_ore_recordset);
}
///////////////////////////////////////////////////////////
// Maschera
///////////////////////////////////////////////////////////
class TRil_ore_ris_mask : public TAutomask
class TRil_ore_ris_mask : public TSimpleAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
// virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
void elabora_risorsa(const TString& curr_risorsa, const int curr_mese, const bool ignore, TReport& rep) const;
const TString & tipostampa() const { return get(F_TIPOSTAMPA); }
const bool mensile() const { return tipostampa() == "M";}
const bool per_beneficiario() const { return get_bool(F_BENEFICIARIO); }
const real proponi_costo(const char *codlist, const char * tipo, const char * codice, const char * tpora, int mese, int anno) const ;
void elabora_risorsa(const TString& curr_risorsa, const int curr_mese, const bool ignore, TReport& rep) const;
public:
void elabora() const;
@ -56,26 +125,55 @@ public:
virtual ~TRil_ore_ris_mask() {}
};
TRil_ore_ris_mask::TRil_ore_ris_mask() : TAutomask("ci1300a")
TRil_ore_ris_mask::TRil_ore_ris_mask() : TSimpleAutomask("ci1300a")
{
}
bool TRil_ore_ris_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
/*bool TRil_ore_ris_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
return true;
}
*/
const real TRil_ore_ris_mask::proponi_costo(const char *codlist, const char * tipo, const char * codice, const char * tpora, int mese, int anno) const
{
real r;
const TDate dal(1, mese, anno);
TRisoatt_key chiave(codlist, tipo[0], codice, dal, tpora);
const TRectype & rec = cache().get("&ROA", chiave);
if (rec.empty())
{
if (chiave.cod().full() && chiave.tpora().full())
{
TModule_table tab("ROA");
tab.put("CODTAB", chiave);
const int err = tab.read();
if (err != _isemptyfile)
{
chiave.overwrite("????????", 21, 8);
if (err != _iseof)
tab.prev();
if (tab.get("CODTAB").match(chiave))
r = tab.get_real("R1");
}
}
}
else
r = rec.get_real("R1");
return r;
}
void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int curr_mese, const bool ignore, TReport& rep) const
{
const int tipo_ordinamento = get_int(F_ORDINAMENTO);
const char tipo_stampa = get(F_TIPOSTAMPA)[0];
const int anno = get_int(F_ANNO);
const int mese = tipo_stampa == 'M' ? curr_mese : 0;
const int mese = mensile() ? curr_mese : 0;
const bool calc_ore_lav = rep.field("F1.98") != NULL;
//date del periodo
TDate inizio_periodo, fine_periodo;
ci_inizio_fine_periodo(tipo_stampa, anno, mese, inizio_periodo, fine_periodo);
ci_inizio_fine_periodo(mensile(), anno, mese, inizio_periodo, fine_periodo);
//creare un assoc_array con chiave TToken_string cms-sede-fase(1) o sede-cms-fase(2) in base ai parametri..
//..indicati sulla maschera
@ -96,7 +194,6 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
tpass.add("PH", i);
}
const TVariant tiporisorsa = get(F_RISOATT);
//query sul file delle ore in chiave 3: TIPO+TIPORA+CODICE+.....frega niente altro
@ -120,10 +217,18 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
}
//aggiunta Adolfica: lista di commesse da considerare separatamente più commessa borraccione..
//..con tutte le altre
TSheet_field& lista = sfield(F_RIGHE);
rilore_recset.set_list(lista.rows_array(), ignore);
TString tipo_commessa_beneficiario;
long codfin = 0L;
if (per_beneficiario())
{
tipo_commessa_beneficiario = get(F_CODTPL);
codfin = get_long(F_CODFIN);
}
//un giro con le ore a 'P'reventivo, uno con quelle a 'C'onsuntivo
for (int i = 0; i < 2; i++)
{
@ -135,13 +240,13 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
for (bool ok = rilore_recset.move_first(); ok; ok = rilore_recset.move_next())
{
const TString80 codcosto = rilore_recset.get(RILORE_CODCOSTO).as_string();
const TString80 codcms = rilore_recset.get(RILORE_CODCMS).as_string();
const TString16 codfase = rilore_recset.get(RILORE_CODFASE).as_string();
const TString80 codcosto = rilore_recset.get_string(RILORE_CODCOSTO);
TString80 codcms = rilore_recset.get_string(RILORE_CODCMS);
const TString16 codfase = rilore_recset.get_string(RILORE_CODFASE);
//date limite qta ore sul record del file LF_RILORE
TDate ini_rilore = rilore_recset.get(RILORE_DADATA).as_date();
TDate fine_rilore = rilore_recset.get(RILORE_ADATA).as_date();
TDate ini_rilore = rilore_recset.get_date(RILORE_DADATA);
TDate fine_rilore = rilore_recset.get_date(RILORE_ADATA);
//adatta le date alla commessa se quest'ultima è contenuta nell'intervallo (può essere più breve..
//..dell'intervallo selezionato, oppure sovrapporsi solo parzialmente)
@ -157,30 +262,52 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
if (giorni_lavorativi_rilore > 0)
{
const real tot_ore = rilore_recset.get(RILORE_QTAORE).as_real();
const real tot_ore = rilore_recset.get_real(RILORE_QTAORE);
const real tot_ore_uso_risorsa_nel_periodo = tot_ore * giorni_lavorativi / giorni_lavorativi_rilore;
const TString8 tpora = rilore_recset.get(RILORE_TPORA).as_string();
const TString8 tpora = rilore_recset.get_string(RILORE_TPORA);
const TString8 tpassenza = cache().get("&ORE", tpora, "S2");
//crea la chiave per l'assoc_array
TToken_string key;
if (ignore)
key = OTHER_ACTIVITIES;
else
{
switch(tipo_ordinamento)
{
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 (per_beneficiario() && codcms.full())
{
const TString & codtipo = cache().get(LF_COMMESSE, codcms, COMMESSE_CODTIPO);
bool altre = true;
if (codtipo == tipo_commessa_beneficiario)
{
TToken_string key_fin(codcms);
key_fin.add("C");
key_fin.add(1);
if (atol(cache().get(LF_CFCMS, key_fin, CFCMS_CODCF)) == codfin)
altre = false;
}
if (altre)
key = OTHER_ACTIVITIES;
}
if (key != OTHER_ACTIVITIES)
{
switch (tipo_ordinamento)
{
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;
}
}
}
//se la chiave non esiste già nell'assoc_array allora crea l'elemento
TToken_string* record = (TToken_string*)righe.objptr(key);
@ -203,7 +330,7 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
{
if (giorni_lavorativi_rilore == 1 || ci_is_ferial_day(data))
{
const int index = tipo_stampa == 'M' ? data.day() : data.month();
const int index = mensile() ? data.day() : data.month();
real prev = record->get(index);
prev += ore_al_giorno;
record->add(prev.string(), index);
@ -211,6 +338,17 @@ void TRil_ore_ris_mask::elabora_risorsa(const TString& curr_risorsa, const int c
tot += ore_al_giorno;
record->add(tot.string(), 32);
real totcosto = record->get(34);
real costo = rilore_recset.get_real(RILORE_COSTO);
if (costo == ZERO)
costo = proponi_costo(rilore_recset.get_string(RILORE_CODLIST),
rilore_recset.get_string(RILORE_TIPORA),
rilore_recset.get_string(RILORE_CODICE),
tpora, data.month(), data.year());
totcosto += ore_al_giorno * costo;
record->add(totcosto.string(), 34);
int i = data - inizio_periodo + 1;
if (tpassenza.full())
{
@ -278,12 +416,13 @@ void TRil_ore_ris_mask::elabora() const
//book di stampa
TReport_book book;
//stampa mensile o annuale?
const char tipostampa = get(F_TIPOSTAMPA)[0];
TRil_ore_ris_report rep(tipostampa);
TRil_ore_ris_report rep(mensile(), per_beneficiario());
rep.set_codcf(get_long(F_CODFIN));
rep.set_codtpl(get(F_CODTPL));
int da_mese = 1;
int a_mese = 1;
if (tipostampa == 'M')
if (mensile())
{
da_mese = get_int(F_DA_MESE);
a_mese = get_int(F_A_MESE);
@ -299,7 +438,7 @@ void TRil_ore_ris_mask::elabora() const
//giro su tutti i mesi; se stampa annuale o mese unico -> un giro solo
for (int m = da_mese; m <= a_mese; m++)
{
if (tipostampa == 'M')
if (mensile())
format_report_month(get_int(F_ANNO), m, rep);
//query sulla tabella interessata (risorse o attrezzature)
@ -362,9 +501,8 @@ void TRil_ore_ris_mask::elabora() const
rep.set_recordset(recset);
for (int ignore = ignore_start; ignore <= ignore_end; ignore++)
{
elabora_risorsa(curr_risorsa, m, ignore!=0, rep);
} //for (int ignore = ignore_start..
//stampa un report per risorsa
book.add(rep);
} ////for (bool ok = recset_ris_att.move_first()...

View File

@ -14,10 +14,13 @@
#define F_A_MESE 213
#define F_ORDINAMENTO 214
#define F_SHOW_FASI 215
#define F_STAMPADATA 216
#define F_RIGHE 220
#define F_CODTPL 217
#define F_DESTPL 218
#define F_CODFIN 219
#define F_RAGFIN 220
#define F_RIGHE 221
#define F_BENEFICIARIO 222
//campi riga sheet
#define S_CODCMS 101

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="ci1300a" use_printer_font="" orientation="2" page_split="" lpi="6" command="" class="ci1300">
<description>Rilevazione ore mensili per Risorsa - Attrezzatura</description>
<description>Rilevazione ore mensili per Risorsa - Attrezzatura mensile</description>
<font face="Arial" size="8" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" size="8" />

View File

@ -131,7 +131,7 @@ BEGIN
PROMPT 1 6 "@bFiltri su anno / mese"
END
LISTBOX F_TIPOSTAMPA 10
LISTBOX F_TIPOSTAMPA 1 8
BEGIN
PROMPT 2 7 "Tipo di stampa "
ITEM "M|Mensile"
@ -142,6 +142,14 @@ BEGIN
FIELD #TIPOSTAMPA
END
BOOLEAN F_BENEFICIARIO
BEGIN
PROMPT 32 7 "Per Beneficiario"
MESSAGE FALSE CLEAR,4@
MESSAGE TRUE ENABLE,4@
FIELD #BENEFICIARIO
END
NUMBER F_ANNO 4
BEGIN
PROMPT 2 8 "Anno "
@ -164,9 +172,64 @@ BEGIN
FLAGS "AM"
END
STRING F_CODTPL 5
BEGIN
PROMPT 2 10 "Tipo lavoro "
USE TPL
FLAGS "UZ"
INPUT CODTAB F_CODTPL
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CODTPL CODTAB
OUTPUT F_DESTPL S0
GROUP 4
CHECKTYPE REQUIRED
END
STRING F_DESTPL 50 44
BEGIN
PROMPT 30 10 ""
USE TPL
INPUT S0 F_DESTPL
DISPLAY "Descrizione@50" S0
DISPLAY "Codice" CODTAB
COPY OUTPUT F_CODTPL
GROUP 4
CHECKTYPE SEARCH
END
STRING F_CODFIN 6
BEGIN
PROMPT 2 12 "Finanziatore "
USE LF_CLIFO
INPUT TIPOCF "C"
INPUT CODCF F_CODFIN
DISPLAY "Codice" CODCF
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Partita IVA@12" PAIV
OUTPUT F_CODFIN CODCF
OUTPUT F_RAGFIN RAGSOC
CHECKTYPE REQUIRED
FLAGS "R"
GROUP 4
END
STRING F_RAGFIN 50 44
BEGIN
PROMPT 30 12 ""
USE LF_CLIFO KEY 2
INPUT TIPOCF "C"
INPUT RAGSOC F_RAGFIN
DISPLAY "Ragione Sociale@50" RAGSOC
DISPLAY "Codice" CODCF
DISPLAY "Partita IVA@12" PAIV
COPY OUTPUT F_CODFIN
GROUP 4
END
RADIOBUTTON F_ORDINAMENTO 25
BEGIN
PROMPT 1 10 "@bStampa e ordina per:"
PROMPT 1 14 "@bStampa e ordina per:"
ITEM "1|Commessa"
MESSAGE SHOW,3@
ITEM "2|Commessa - CdC"
@ -188,18 +251,18 @@ END
TEXT DLG_NULL
BEGIN
PROMPT 27 10 "@bCommesse da considerare separatamente"
PROMPT 25 14 "@bCommesse da considerare separatamente"
GROUP 3
END
BOOLEAN F_STAMPADATA
BEGIN
PROMPT 63 10 "Non stampare la data"
PROMPT 2 24 "Non stampare la data"
END
SPREADSHEET F_RIGHE 50 8
BEGIN
PROMPT 27 12 ""
PROMPT 27 16 ""
ITEM "Codice@20"
ITEM "Descrizione@50"
GROUP 3

388
src/ci/ci1300ab.rep Normal file
View File

@ -0,0 +1,388 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="ci1300ab" use_printer_font="" orientation="2" page_split="" lpi="6" command="" class="ci1300">
<description>Rilevazione ore mensili per Beneficiario mensile</description>
<font face="Arial" size="8" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" size="8" />
<field x="1" deactivated="" type="Array" hidden="" link="" txt_color="#800080" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#ORDINAMENTO</source>
<list>
<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 x="1" y="1" deactivated="" type="Array" hidden="" link="" txt_color="#400040" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<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" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="6" codval="" height="2" id="" pattern="1" hide_zero="" text="Totale Costo">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="50" y="1" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="6" codval="" height="2" id="" pattern="1" hide_zero="" text="Totale CONS">
<font face="Arial Narrow" bold="1" size="8" />
</field>
<field x="1" y="2" deactivated="" type="Array" hidden="" link="" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<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" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="101" pattern="2" hide_zero="" text="" />
<field border="1" x="60.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="102" pattern="2" hide_zero="" text="" />
<field border="1" x="64" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="103" pattern="2" hide_zero="" text="" />
<field border="1" x="67.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="104" pattern="2" hide_zero="" text="" />
<field border="1" x="71" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="105" pattern="2" hide_zero="" text="" />
<field border="1" x="74.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="106" pattern="2" hide_zero="" text="" />
<field border="1" x="78" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="107" pattern="2" hide_zero="" text="" />
<field border="1" x="81.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="108" pattern="2" hide_zero="" text="" />
<field border="1" x="85" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="109" pattern="2" hide_zero="" text="" />
<field border="1" x="88.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="110" pattern="2" hide_zero="" text="" />
<field border="1" x="92" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="111" pattern="2" hide_zero="" text="" />
<field border="1" x="95.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="112" pattern="2" hide_zero="" text="" />
<field border="1" x="99" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="113" pattern="2" hide_zero="" text="" />
<field border="1" x="102.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="114" pattern="2" hide_zero="" text="" />
<field border="1" x="106" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="115" pattern="2" hide_zero="" text="" />
<field border="1" x="109.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="116" pattern="2" hide_zero="" text="" />
<field border="1" x="113" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="117" pattern="2" hide_zero="" text="" />
<field border="1" x="116.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="118" pattern="2" hide_zero="" text="" />
<field border="1" x="120" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="119" pattern="2" hide_zero="" text="" />
<field border="1" x="123.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="120" pattern="2" hide_zero="" text="" />
<field border="1" x="127" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="121" pattern="2" hide_zero="" text="" />
<field border="1" x="130.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="122" pattern="2" hide_zero="" text="" />
<field border="1" x="134" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="123" pattern="2" hide_zero="" text="" />
<field border="1" x="137.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="124" pattern="2" hide_zero="" text="" />
<field border="1" x="141" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="125" pattern="2" hide_zero="" text="" />
<field border="1" x="144.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="126" pattern="2" hide_zero="" text="" />
<field border="1" x="148" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="127" pattern="2" hide_zero="" text="" />
<field border="1" x="151.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="128" pattern="2" hide_zero="" text="" />
<field border="1" x="155" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="129" pattern="2" hide_zero="" text="" />
<field border="1" x="158.5" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="130" pattern="2" hide_zero="" text="" />
<field border="1" x="162" y="1" deactivated="" type="Stringa" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="3.5" codval="" height="2" id="131" pattern="2" hide_zero="" text="" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial" size="10" />
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
<field border="1" radius="50" x="47" y="5.25" deactivated="" type="Array" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="50" width="80" codval="" height="1.5" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="14" />
<source>#RISOATT</source>
<list>
<li Value="Rilevazione ore mensili Risorsa" Code="R" />
<li Value="Rilevazione ore mensili Attrezzatura" Code="A" />
</list>
</field>
<field border="1" x="2" y="8.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text=" BENEFCIARIO">
<font face="Arial" bold="1" size="8" />
<source>#RISOATT</source>
</field>
<field border="1" x="13.5" y="8.25" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="H1.0 PRESCRIPT">#DITTA.RAGSOC</prescript>
</field>
<field x="2" y="10" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#RISOATT</source>
<list>
<li Value="RISORSA" Code="R">MESSAGE HIDE,H1.92|SHOW,H1.91</li>
<li Value="ATTREZZATURA" Code="A">MESSAGE HIDE,H1.91|SHOW,H1.92</li>
</list>
</field>
<field border="1" x="2" y="12" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text=" ANNO">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="14" y="12" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="8" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#ANNO</source>
</field>
<field border="1" x="2" y="14" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text=" MESE">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="14" y="14" deactivated="" type="Array" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="8" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#MESE</source>
<list>
<li Value="Gennaio" Code="01" />
<li Value="Febbraio" Code="02" />
<li Value="Marzo" Code="03" />
<li Value="Aprile" Code="04" />
<li Value="Maggio" Code="05" />
<li Value="Giugno" Code="06" />
<li Value="Luglio" Code="07" />
<li Value="Agosto" Code="08" />
<li Value="Settembre" Code="09" />
<li Value="Ottobre" Code="10" />
<li Value="Novembre" Code="11" />
<li Value="Dicembre" Code="12" />
</list>
</field>
<field border="2" x="1" y="16" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="166" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
<field x="76" y="8.25" deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="7" codval="" id="90" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#CODRIS</source>
</field>
<field border="1" x="13.5" y="10" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="89" codval="" id="91" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="H1.91 PRESCRIPT">MESSAGE TABLEREAD,RSS,#90,S0</prescript>
</field>
<field border="1" x="13.5" y="10" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="89" codval="" id="92" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="H1.92 PRESCRIPT">MESSAGE TABLEREAD,ATR,#90,S0</prescript>
</field>
<field x="140" y="5.75" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="101" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#SYSTEM.DATE</source>
</field>
<field x="131" y="5.75" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="14" codval="" id="102" pattern="1" hide_zero="" text="Stampato il">
<font face="Arial" bold="1" size="8" />
</field>
<field x="3" y="1" deactivated="" type="Immagine" hidden="" link="" dynamic_height="" shade_offset="" width="80" codval="" height="4" id="110" pattern="1" hide_zero="" text="">
<prescript description="H1.110 PRESCRIPT">LOGO_BENEF
#THIS !</prescript>
</field>
<field x="111" y="1" deactivated="" type="Immagine" hidden="" link="" dynamic_height="" shade_offset="" width="40" codval="" height="4" id="111" pattern="1" hide_zero="" text="">
<prescript description="H1.111 PRESCRIPT">LOGO #THIS !</prescript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="2" hidden="" page_break="" can_break="" pattern="1">
<condition>(#ORDINAMENTO==4)||(#ORDINAMENTO==8)</condition>
<groupby>Key1</groupby>
<font face="Arial Narrow" bold="1" size="8" />
<field x="1" deactivated="" type="Stringa" hidden="" link="" txt_color="#800080" dynamic_height="" shade_offset="" width="12" codval="" id="90" pattern="1" hide_zero="" text="">
<source>Key1</source>
</field>
<field x="14" deactivated="" type="Stringa" hidden="" link="" txt_color="#800080" dynamic_height="" shade_offset="" width="50" codval="" id="91" pattern="1" hide_zero="" text="">
<source>Des1</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="3" hidden="" page_break="" can_break="" pattern="1">
<condition>(#ORDINAMENTO!=1)&#26;&#26;(#ORDINAMENTO!=5)</condition>
<groupby>Key1+Key2</groupby>
<field x="1" deactivated="" type="Stringa" hidden="" link="" txt_color="#400040" dynamic_height="" shade_offset="" width="12" codval="" id="90" pattern="1" hide_zero="" text="">
<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" deactivated="" type="Stringa" hidden="" link="" txt_color="#400040" dynamic_height="" shade_offset="" width="50" codval="" id="91" pattern="1" hide_zero="" text="">
<font face="Arial Narrow" bold="1" size="8" />
<source>IF ((#ORDINAMENTO==2)||(#ORDINAMENTO==3)||(#ORDINAMENTO==6)||(#ORDINAMENTO==7);Des1;Des2)
</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" size="7" />
<field border="1" x="43.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>TotCostoCons</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.99</prescript>
</field>
<field border="1" x="50" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="1" hide_zero="" text=".2">
<source>TotCons</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.100</prescript>
</field>
<field border="1" x="57" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G01</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101</prescript>
</field>
<field border="1" x="60.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G02</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102</prescript>
</field>
<field border="1" x="64" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G03</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103</prescript>
</field>
<field border="1" x="67.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G04</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104</prescript>
</field>
<field border="1" x="71" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G05</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105</prescript>
</field>
<field border="1" x="74.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G06</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106</prescript>
</field>
<field border="1" x="78" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G07</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107</prescript>
</field>
<field border="1" x="81.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G08</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108</prescript>
</field>
<field border="1" x="85" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G09</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109</prescript>
</field>
<field border="1" x="88.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G10</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110</prescript>
</field>
<field border="1" x="92" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G11</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111</prescript>
</field>
<field border="1" x="95.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G12</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112</prescript>
</field>
<field border="1" x="99" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G13</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.113</prescript>
</field>
<field border="1" x="102.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G14</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.114</prescript>
</field>
<field border="1" x="106" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G15</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.115</prescript>
</field>
<field border="1" x="109.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G16</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.116</prescript>
</field>
<field border="1" x="113" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G17</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.117</prescript>
</field>
<field border="1" x="116.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G18</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.118</prescript>
</field>
<field border="1" x="120" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G19</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.119</prescript>
</field>
<field border="1" x="123.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G20</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.120</prescript>
</field>
<field border="1" x="127" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G21</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.121</prescript>
</field>
<field border="1" x="130.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G22</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.122</prescript>
</field>
<field border="1" x="134" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G23</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.123</prescript>
</field>
<field border="1" x="137.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G24</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.124</prescript>
</field>
<field border="1" x="141" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G25</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.125</prescript>
</field>
<field border="1" x="144.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G26</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.126</prescript>
</field>
<field border="1" x="148" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G27</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.127</prescript>
</field>
<field border="1" x="151.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G28</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.128</prescript>
</field>
<field border="1" x="155" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G29</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.129</prescript>
</field>
<field border="1" x="158.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G30</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.130</prescript>
</field>
<field border="1" x="162" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G31</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.131</prescript>
</field>
<field border="1" x="168" deactivated="" type="Numero" hidden="1" align="right" link="" dynamic_height="" shade_offset="" width="3.5" codval="" id="" pattern="1" hide_zero="" text=".2">
<source>TotOreLav</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.98</prescript>
</field>
<field border="1" x="1" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="13" codval="" id="90" pattern="1" hide_zero="" text="">
<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" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="29" codval="" id="91" pattern="1" hide_zero="" text="">
<source>IF ((#ORDINAMENTO==4)||(#ORDINAMENTO==8);Des3;IF ((#ORDINAMENTO==1)||(#ORDINAMENTO==5);Des1;Des2))
</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" height="7" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" bold="1" size="7" />
<field border="1" x="14" y="0.5" deactivated="" type="Testo" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="29" codval="" id="" pattern="2" hide_zero="" text="Totali">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="14" y="2.25" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="75" codval="" height="4" id="" pattern="1" hide_zero="" text=" Data e firma Staff Member" />
<field border="1" x="90" y="2.25" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="75" codval="" height="4" id="" pattern="1" hide_zero="" text=" Data e firma Project Manager&#2F; Coordinatore&#2F;Responsabile" />
<field border="1" x="43.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="6" codval="" id="99" pattern="2" hide_zero="" text=".2" />
<field border="1" x="50" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="6" codval="" id="100" pattern="2" hide_zero="" text=".2" />
<field border="1" x="57" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="101" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="60.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="102" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="64" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="103" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="67.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="104" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="71" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="105" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="74.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="106" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="78" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="107" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="81.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="108" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="85" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="109" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="88.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="110" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="92" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="111" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="95.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="112" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="99" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="113" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="102.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="114" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="106" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="115" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="109.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="116" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="113" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="117" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="116.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="118" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="120" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="119" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="123.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="120" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="127" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="121" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="130.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="122" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="134" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="123" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="137.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="124" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="141" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="125" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="144.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="126" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="148" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="127" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="151.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="128" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="155" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="129" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="158.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="130" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="162" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="3.5" codval="" id="131" pattern="2" hide_zero="1" text=".2" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="2" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="3" hidden="" page_break="" can_break="" pattern="1" />
</report>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="ci1300b" use_printer_font="" orientation="1" page_split="" lpi="6" command="" class="ci1300">
<description>Rilevazione ore annuali per Risorsa - Attrezzatura</description>
<description>Rilevazione ore annuali per Risorsa - Attrezzatura mensile</description>
<font face="Arial" size="8" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />

244
src/ci/ci1300bb.rep Normal file
View File

@ -0,0 +1,244 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report libraries="" page_merge="" save_printer="" name="ci1300bb" use_printer_font="" orientation="1" page_split="" lpi="6" command="" class="ci1300">
<description>Rilevazione ore annuali per Beneficiario annuale</description>
<font face="Arial" size="8" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" bold="1" size="8" />
<field x="1" deactivated="" type="Array" hidden="" link="" txt_color="#0080C0" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#ORDINAMENTO</source>
<list>
<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 x="1" y="1" deactivated="" type="Array" hidden="" link="" txt_color="#004080" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<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.5" y="1" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="6" codval="" height="2" id="" pattern="1" hide_zero="" text="Totale Costo" />
<field x="51" y="1" deactivated="" type="Testo" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="6" codval="" height="2" id="" pattern="1" hide_zero="" text="Totale CONS" />
<field x="1" y="2" deactivated="" type="Array" hidden="" link="" dynamic_height="" shade_offset="" width="18" codval="" id="" pattern="1" hide_zero="" text="">
<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.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="101" pattern="2" hide_zero="" text="Gen" />
<field border="1" x="62.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="102" pattern="2" hide_zero="" text="Feb" />
<field border="1" x="67.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="103" pattern="2" hide_zero="" text="Mar" />
<field border="1" x="72.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="104" pattern="2" hide_zero="" text="Apr" />
<field border="1" x="77.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="105" pattern="2" hide_zero="" text="Mag" />
<field border="1" x="82.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="106" pattern="2" hide_zero="" text="Giu" />
<field border="1" x="87.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="107" pattern="2" hide_zero="" text="Lug" />
<field border="1" x="92.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="108" pattern="2" hide_zero="" text="Ago" />
<field border="1" x="97.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="109" pattern="2" hide_zero="" text="Set" />
<field border="1" x="102.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="110" pattern="2" hide_zero="" text="Ott" />
<field border="1" x="107.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="111" pattern="2" hide_zero="" text="Nov" />
<field border="1" x="112.5" y="1" deactivated="" type="Testo" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="" width="5" codval="" height="2" id="112" pattern="2" hide_zero="" text="Dic" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="1" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial" size="10" />
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
<field border="1" radius="50" x="9.5" y="5.5" deactivated="" type="Array" valign="center" hidden="" align="center" link="" dynamic_height="" shade_offset="50" width="80" codval="" height="1.5" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="14" />
<source>#RISOATT</source>
<list>
<li Value="Rilevazione ore mensili Risorsa" Code="R" />
<li Value="Rilevazione ore mensili Attrezzatura" Code="A" />
</list>
</field>
<field border="1" x="2.5" y="8.5" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text=" BENEFCIARIO">
<font face="Arial" bold="1" size="8" />
<source>#RISOATT</source>
</field>
<field border="1" x="14" y="8.5" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="50" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="">#DITTA.RAGSOC</prescript>
</field>
<field x="2.5" y="10.25" deactivated="" type="Array" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#RISOATT</source>
<list>
<li Value="RISORSA" Code="R">MESSAGE HIDE,H1.92|SHOW,H1.91</li>
<li Value="ATTREZZATURA" Code="A">MESSAGE HIDE,H1.91|SHOW,H1.92</li>
</list>
</field>
<field border="1" x="2.5" y="12.25" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="" pattern="2" hide_zero="" text=" ANNO">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="14.5" y="12.25" deactivated="" type="Numero" valign="center" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="8" codval="" id="" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#ANNO</source>
</field>
<field border="2" x="1.5" y="14.25" deactivated="" type="Linea" hidden="" link="" dynamic_height="" shade_offset="" width="121" codval="" height="0" id="" pattern="1" hide_zero="" text="" />
<field x="76.5" y="8.5" deactivated="" type="Stringa" hidden="1" link="" dynamic_height="" shade_offset="" width="7" codval="" id="90" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#CODRIS</source>
</field>
<field border="1" x="14" y="10.25" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="89" codval="" id="91" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="">MESSAGE TABLEREAD,RSS,#90,S0</prescript>
</field>
<field border="1" x="14" y="10.25" deactivated="" type="Stringa" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="89" codval="" id="92" pattern="2" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<prescript description="">MESSAGE TABLEREAD,ATR,#90,S0</prescript>
</field>
<field x="102.5" y="6" deactivated="" type="Data" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="101" pattern="1" hide_zero="" text="">
<font face="Arial" bold="1" size="8" />
<source>#SYSTEM.DATE</source>
</field>
<field x="93.5" y="6" deactivated="" type="Testo" valign="center" hidden="" link="" dynamic_height="" shade_offset="" width="14" codval="" id="102" pattern="1" hide_zero="" text="Stampato il">
<font face="Arial" bold="1" size="8" />
</field>
<field x="3" y="1" deactivated="" type="Immagine" hidden="" link="" dynamic_height="" shade_offset="" width="80" codval="" height="4" id="110" pattern="1" hide_zero="" text="">
<prescript description="H1.110 PRESCRIPT">LOGO_BENEF #THIS !</prescript>
</field>
<field x="82" y="1" deactivated="" type="Immagine" hidden="" link="" dynamic_height="" shade_offset="" width="40" codval="" height="4" id="111" pattern="1" hide_zero="" text="">
<prescript description="H1.111 PRESCRIPT">LOGO #THIS !</prescript>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="2" hidden="" page_break="" can_break="" pattern="1">
<condition>(#ORDINAMENTO==4)||(#ORDINAMENTO==8)</condition>
<groupby>Key1</groupby>
<font face="Arial Narrow" bold="1" size="8" />
<field x="1" deactivated="" type="Stringa" hidden="" link="" txt_color="#0080C0" dynamic_height="" shade_offset="" width="12" codval="" id="90" pattern="1" hide_zero="" text="">
<source>Key1</source>
</field>
<field x="14" deactivated="" type="Stringa" hidden="" link="" txt_color="#0080C0" dynamic_height="" shade_offset="" width="50" codval="" id="91" pattern="1" hide_zero="" text="">
<source>Des1</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Head" level="3" hidden="" page_break="" can_break="" pattern="1">
<condition>(#ORDINAMENTO!=1)&#26;&#26;(#ORDINAMENTO!=5)</condition>
<groupby>Key1+Key2</groupby>
<field x="1" deactivated="" type="Stringa" hidden="" link="" txt_color="#004080" dynamic_height="" shade_offset="" width="12" codval="" id="90" pattern="1" hide_zero="" text="">
<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" deactivated="" type="Stringa" hidden="" link="" txt_color="#004080" dynamic_height="" shade_offset="" width="50" codval="" id="91" pattern="1" hide_zero="" text="">
<font face="Arial Narrow" bold="1" size="8" />
<source>IF ((#ORDINAMENTO==2)||(#ORDINAMENTO==3)||(#ORDINAMENTO==6)||(#ORDINAMENTO==7);Des1;Des2)
</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Body" level="1" hidden="" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" size="7" />
<field border="1" x="44" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>TotCostoCons</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.99</prescript>
</field>
<field border="1" x="50.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="6" codval="" id="" pattern="1" hide_zero="" text=".2">
<source>TotCons</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.100</prescript>
</field>
<field border="1" x="57.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G01</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.101</prescript>
</field>
<field border="1" x="62.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G02</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.102</prescript>
</field>
<field border="1" x="67.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G03</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.103</prescript>
</field>
<field border="1" x="72.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G04</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.104</prescript>
</field>
<field border="1" x="77.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G05</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.105</prescript>
</field>
<field border="1" x="82.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G06</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.106</prescript>
</field>
<field border="1" x="87.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G07</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.107</prescript>
</field>
<field border="1" x="92.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G08</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.108</prescript>
</field>
<field border="1" x="97.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G09</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.109</prescript>
</field>
<field border="1" x="102.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G10</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.110</prescript>
</field>
<field border="1" x="107.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G11</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.111</prescript>
</field>
<field border="1" x="112.5" deactivated="" type="Numero" hidden="" align="right" link="" dynamic_height="" shade_offset="" width="5" codval="" id="" pattern="1" hide_zero="1" text=".2">
<source>G12</source>
<prescript description="B1.0 PRESCRIPT">MESSAGE ADD,F1.112</prescript>
</field>
<field border="1" x="1" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="12" codval="" id="90" pattern="1" hide_zero="" text="">
<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="13" deactivated="" type="Stringa" hidden="" link="" dynamic_height="" shade_offset="" width="30" codval="" id="91" pattern="1" hide_zero="" text="">
<source>IF ((#ORDINAMENTO==4)||(#ORDINAMENTO==8);Des3;IF ((#ORDINAMENTO==1)||(#ORDINAMENTO==5);Des1;Des2))
</source>
</field>
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="1" hidden="" height="7" page_break="" can_break="" pattern="1">
<font face="Arial Narrow" bold="1" size="7" />
<field border="1" x="8" y="0.5" deactivated="" type="Testo" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="35" codval="" id="" pattern="2" hide_zero="" text="Totali">
<font face="Arial" bold="1" size="8" />
</field>
<field border="1" x="4" y="2" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="53" codval="" height="4" id="" pattern="1" hide_zero="" text=" Data e firma Staff Member" />
<field border="1" x="62" y="2" deactivated="" type="Testo" hidden="" link="" dynamic_height="" shade_offset="" width="53" codval="" height="4" id="" pattern="1" hide_zero="" text=" Data e firma Project Manager&#2F;Coordinatore&#2F;Responsabile" />
<field border="1" x="44" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="6" codval="" id="99" pattern="2" hide_zero="" text=".2" />
<field border="1" x="50.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="6" codval="" id="100" pattern="2" hide_zero="" text=".2" />
<field border="1" x="57.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="101" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="62.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="102" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="67.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="103" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="72.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="104" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="77.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="105" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="82.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="106" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="87.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="107" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="92.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="108" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="97.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="109" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="102.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="110" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="107.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="111" pattern="2" hide_zero="1" text=".2" />
<field border="1" x="112.5" y="0.5" deactivated="" type="Numero" hidden="" align="right" link="" bg_color="#C0C0C0" dynamic_height="" shade_offset="" width="5" codval="" id="112" pattern="2" hide_zero="1" text=".2" />
</section>
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="2" hidden="" page_break="" can_break="" pattern="1" />
<section repeat="" keep_with_next="" deactivated="" hidden_if_needed="" type="Foot" level="3" hidden="" page_break="" can_break="" pattern="1" />
</report>

View File

@ -25,7 +25,8 @@ TRil_ore_recordset::TRil_ore_recordset() : TAS400_recordset("AS400(512)")
create_field("TotPrev", -1, 7, _realfld, false);
create_field("TotCons", -1, 7, _realfld, false);
create_field("TotOreLav", -1, 7, _realfld, false);
create_field("TotOreLav", -1, 7, _realfld, false);
create_field("TotCostoCons", -1, 7, _realfld, false);
TString4 name;
for (int i = 1; i <= 31; i++)
@ -101,9 +102,9 @@ long ci_calcola_giorni_lavorativi(const TDate& dataini, const TDate& datafine)
}*/
}
void ci_inizio_fine_periodo(const char tipo_stampa, const int anno, const int mese, TDate& inizio_periodo, TDate& fine_periodo)
void ci_inizio_fine_periodo(bool mensile, const int anno, const int mese, TDate& inizio_periodo, TDate& fine_periodo)
{
if (tipo_stampa == 'M')
if (mensile)
{
TDate ini_mese(1, mese, anno);
TDate fine_mese = ini_mese;
@ -176,15 +177,22 @@ void ci_fill_recset_from_ass(TAssoc_array& ass, TReport& rep)
real totale_p = record_ass.get(0);
totale_p.round(2);
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(2);
recset->set("TotCons", totale_c);
// Totale ore lavorat (lo prende dall'assoc_array e lo butta nel recset appena arrotondato)
// Totale ore lavorat (lo prende dall'assoc_array e lo butta nel recset appena arrotondato)
real totale_o = record_ass.get(33);
totale_o.round(2);
recset->set("TotOreLav", totale_o);
// Totale costo consuntivo (lo prende dall'assoc_array e lo butta nel recset appena arrotondato)
real tot_costo = record_ass.get(34);
tot_costo.round(2);
recset->set("TotCostoCons", tot_costo);
//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, 2);

View File

@ -36,7 +36,7 @@ public:
// e per formattare e riempire i report corrispondenti
///////////////////////////////////////////////////////////////////////////////////////
void ci_inizio_fine_periodo(const char tipo_stampa, const int anno, const int mese, TDate& inizio_periodo, TDate& fine_periodo);
void ci_inizio_fine_periodo(bool mensile, const int anno, const int mese, TDate& inizio_periodo, TDate& fine_periodo);
bool ci_is_ferial_day(const TDate& data);
long ci_calcola_giorni_lavorativi(const TDate& dataini, const TDate& datafine);
long ci_calcola_giorni_lavorativi_intersezione(const TDate& ini_1, const TDate& fine_1, const TDate& ini_2, const TDate& fine_2,

View File

@ -7,3 +7,4 @@
#define S_FILE 101
#define S_ALIAS 102
#define S_LINK 103
#define S_ID 104

View File

@ -41,6 +41,7 @@ BEGIN
ITEM "File@60"
ITEM "Nome@32"
ITEM "Link"
ITEM "ID@16"
END
ENDPAGE
@ -64,7 +65,13 @@ END
BOOLEAN S_LINK
BEGIN
PROMPT 1 3 "Collegamento esterno"
END
END
STRING S_ID 16
BEGIN
PROMPT 1 4 "ID "
FLAGS "U"
END
ENDPAGE

View File

@ -59,5 +59,6 @@
#define NDT_INTCAF "INTCAF"
#define NDT_DICHP "DICHP"
#define NDT_SOCIOUNICO "SOCIOUNICO"
#define NDT_OGGETTI "OGGETTI"
#endif

View File

@ -1,3 +1,4 @@
#include <applicat.h>
#include <colors.h>
#include <config.h>
#include <defmask.h>
@ -2702,7 +2703,7 @@ size_t TReport::get_usr_words(TString_array& words) const
"GET_POS", "GET_SIZE", "HIDE", "ISAM_READ",
"RUN_FORM", "SET_BACK_COLOR", "SET_FORE_COLOR",
"SET_POS", "SET_SIZE", "SET_TEXT_COLOR", "SHOW", "TABLE_READ", "GET_FIRM_DATA",
"EVALUATE", NULL
"EVALUATE", "GOLEM", "LOGO", NULL
};
size_t i;
for (i = 0; name[i] != NULL; i++)
@ -3389,6 +3390,70 @@ bool TReport::execute_usr_word(unsigned int opcode, TVariant_stack& stack)
evaluate(var.as_string(), var, _nullfld);
}
break;
case 21: // GOLEM
{
const int logic = stack.pop().as_int();
const TString key = stack.pop().as_string();
const TString fname = stack.pop().as_string();
const TString id = stack.pop().as_string();
TToken_string golem(cache().get(logic, key, fname), '\n');
if (golem.full())
{
FOR_EACH_TOKEN(golem, r)
{
TToken_string row(r);
const TString found_id = row.get(3);
if (found_id == id)
{
stack.push(row.get(0));
return true;
}
}
}
return false;
}
break;
case 22: // LOGO
{
TString img_id("LOGO");
img_id << stack.pop().as_string();
stack.push(img_id);
stack.push(NDT_OGGETTI);
stack.push(main_app().get_firm());
stack.push(LF_NDITTE);
if (!execute_usr_word(21, stack))
{
TToken_string pl = standard_path_list();
TFilename name;
FOR_EACH_STR_TOKEN(pl, path)
{
TFilename name(path);
TString filemask(img_id);
TString_array files;
filemask << "*";
if (list_files(filemask, files) > 0)
{
FOR_EACH_ARRAY_ROW(files, n, f)
{
TImage i(*f);
if (i.ok())
{
stack.push(*f);
return true;
}
}
}
}
return false;
}
}
break;
default:
return false;
}
@ -3483,7 +3548,16 @@ bool TReport::archive(bool signature)
return book.archive(NULL, signature);
}
TReport::TReport()
bool TReport::export_text(const char * filename,bool signature, int size)
{
TReport_book book;
TFilename name(filename);
book.add(*this);
return book.export_text(name, signature, size);
}
TReport::TReport()
: _cpi(0), _lpi(6), _include(15, ','), _recordset(nullptr), _curr_field(nullptr),
_use_printer_font(false), _save_last_printer(false), _orientation(0),
_page_split(false), _page_merge(false), _rep_copy(1), _rep_copies(1),

View File

@ -677,6 +677,7 @@ public:
bool print();
bool preview();
bool archive(bool signature);
bool export_text(const char * filename, bool signature, int size = 0);
TReport();
virtual ~TReport();

View File

@ -376,6 +376,22 @@ const char * get_system_dir(TSystem_dirs what)
return dir;
}
const char * standard_path_list()
{
TToken_string & pl = get_tmp_string(128);
pl.add("custom"); // c:/campo32/custom
if (prefix_valid())
{
TFilename n;
n = firm2dir(prefix().get_codditta()); n.add("custom");
pl.add(n); // f:/campo32/dati/00001A/custom
n = firm2dir(-1); n.add("custom");
pl.add(n); // f:/campo32/dati/custom
}
return pl;
}
bool sirio_codesigning(const TFilename& filename, bool verify)
{
// const char * const default_sign = R"("C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x64\signtool.exe" sign /a /s MY /n "Sirio Informatica e Sistemi SPA" /fd sha256 /tr http://timestamp.digicert.com /v)";

View File

@ -79,6 +79,7 @@ int count_files(const char* dir, bool subdirs);
int list_files(const char* mask, TString_array& result);
bool input_filename(TFilename& file);
const char * get_system_dir(TSystem_dirs what);
const char * standard_path_list();
const char* encode(const char* data);
const char* decode(const char* data);