This commit was manufactured by cvs2svn to create branch 'R_10_00'.

git-svn-id: svn://10.65.10.50/branches/R_10_00@21423 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
(no author) 2011-01-12 16:05:40 +00:00
parent 7c33788533
commit 78f81c4d99
6 changed files with 513 additions and 0 deletions

23
ct/ct0.cpp Executable file
View File

@ -0,0 +1,23 @@
#include <xvt.h>
#include <checks.h>
#include "ct0.h"
#define usage "Error - usage : %s -{0}"
int main(int argc,char** argv)
{
int rt = -1 ;
const int r = (argc > 1) ? atoi(&argv[1][1]) : -1;
switch (r)
{
case 0:
rt = ct0100(argc, argv) ; break; //gestore stampe
break;
default:
error_box(usage, argv[0]) ; break;
}
return rt;
}

1
ct/ct0.h Executable file
View File

@ -0,0 +1 @@
int ct0100(int argc, char* argv[]);

169
ct/ct0100.cpp Executable file
View File

@ -0,0 +1,169 @@
#include <applicat.h>
#include <automask.h>
#include <defmask.h>
#include <isam.h>
#include <recset.h>
#include <reprint.h>
#include <utility.h>
#include <mov.h>
#include "ct0100a.h"
////////////////////////////////////////////////////////
// MASCHERA
////////////////////////////////////////////////////////
class TPrint_CUP_mask : public TAutomask
{
protected:
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
public:
TPrint_CUP_mask();
};
TPrint_CUP_mask::TPrint_CUP_mask() : TAutomask("ct0100a")
{
}
bool TPrint_CUP_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
{
switch(o.dlg())
{
case DLG_PRINT:
if (e == fe_button)
{
main_app().print();
return false;
}
break;
case DLG_PREVIEW:
if (e == fe_button)
{
main_app().preview();
return false;
}
break;
default:
break;
}
return true;
}
////////////////////////////////////////////////////////
// REPORT
////////////////////////////////////////////////////////
//i report in questione (sono 8) hanno la query inside..
//..e non necessitano di altro che i FIELD #... dei campi della maschera per avere i valori..
//..delle set_var interne
class TPrint_CUP_report : public TReport
{
protected:
virtual bool use_mask() { return false; } //questo ci vuole perchè la maschera ha un nome != dai report
public:
TPrint_CUP_report() {}
};
////////////////////////////////////////////////////////
// APPLICAZIONE
////////////////////////////////////////////////////////
class TPrint_CUP : public TSkeleton_application
{
TPrint_CUP_mask* _mask;
protected:
virtual bool create();
virtual void print();
virtual void preview();
virtual void print_or_preview(const bool stampa);
public:
virtual void main_loop();
};
//fantastico metodo per gestire stampa o anteprima
void TPrint_CUP::print_or_preview(const bool stampa)
{
if (_mask->check_fields())
{
//crea il nome del report da usare in base alle scelte di stampa (radiobuttons)
//schema dei reports classe ct0100xx:
//M1 = movimenti per cup-cig M2 = movimenti per clifo
//D1 = documenti // D2 = documenti //
//E1 = effetti // E2 = effetti //
//R1 = rilevazione // R2 = rilevazione //
const TString& tipo_archivio = _mask->get(F_ARCHIVI);
const TString& tipo_ordinamento = _mask->get(F_ORDINAMENTO);
TString rep_name = "ct0100";
rep_name << tipo_archivio << tipo_ordinamento;
TPrint_CUP_report rep;
rep.load(rep_name);
rep.mask2report(*_mask); //setta i valori della maschera sul report
//solo per la ricerca in RMOV
if (tipo_archivio == "M")
{
long from_nreg = 0L;
long to_nreg = 0L;
TLocalisamfile mov(LF_MOV);
mov.setkey(2);
//se viene settata una data -> la usa per restringere il campo di ricerca dei numreg, visto che non esiste una..
//..chiave per data su RMOV
const TDate dataini = _mask->get_date(F_DADATA);
if (dataini.ok())
{
mov.put(MOV_DATAREG, dataini);
if (mov.read(_isgteq) == NOERR)
from_nreg = mov.get_long(MOV_NUMREG);
}
const TDate datafine = _mask->get_date(F_ADATA);
if (datafine.ok())
{
mov.put(MOV_DATAREG, datafine);
if (mov.read(_isgreat) == NOERR)
to_nreg = mov.get_long(MOV_NUMREG);
}
rep.recordset()->set_var("#DANUMREG", from_nreg);
rep.recordset()->set_var("#ANUMREG", to_nreg);
}
TReport_book book;
book.add(rep);
book.print_or_preview();
}
}
void TPrint_CUP::print()
{
print_or_preview(true);
}
void TPrint_CUP::preview()
{
print_or_preview(false);
}
void TPrint_CUP::main_loop()
{
_mask = new TPrint_CUP_mask;
_mask->run();
delete _mask;
_mask = NULL;
}
bool TPrint_CUP::create()
{
return TSkeleton_application::create();
}
int ct0100(int argc, char* argv[])
{
TPrint_CUP a;
a.run(argc, argv, TR("Stampa tracciabilita' CUP"));
return 0;
}

157
ct/ct0100M1.rep Executable file
View File

@ -0,0 +1,157 @@
<?xml version="1.0" encoding="UTF-8" ?>
<report name="ct0100m1" lpi="6">
<description>Movimenti per CUP-CIG</description>
<font face="Arial" size="8" />
<section type="Head" pattern="1">
<font italic="1" face="Arial" size="8" />
<field border="1" x="1" y="0.25" type="Linea" width="100" height="0" pattern="1" />
<field x="2" y="0.5" type="Testo" width="10" pattern="1" text="CUP - CIG">
<font italic="1" face="Arial" bold="1" size="8" />
</field>
<field x="4" y="2.5" type="Testo" align="right" width="8" pattern="1" text="Num.Reg." />
<field x="13" y="2.5" type="Testo" align="right" width="4" pattern="1" text="Riga" />
<field x="18" y="2.5" type="Testo" align="center" width="10" pattern="1" text="Data Reg." />
<field x="39.5" y="2.5" type="Testo" align="right" width="5" pattern="1" text="Dare" />
<field x="51.5" y="2.5" type="Testo" align="right" width="7" pattern="1" text="Avere" />
<field border="1" x="1" y="3.5" type="Linea" width="100" height="0" pattern="1" />
<field x="3" y="1.5" type="Array" bg_color="#C0C0C0" width="10" id="101" pattern="1">
<font face="Arial" bold="1" size="8" />
<source>TIPOC</source>
<list>
<li Value="Cliente" Code="C" />
<li Value="Fornitore" Code="F" />
</list>
</field>
</section>
<section type="Head" level="1" height="6" pattern="1">
<prescript description="H1 PRESCRIPT">MESSAGE RESET,F1</prescript>
<field border="1" radius="50" x="20" y="0.5" type="Testo" valign="center" align="center" shade_offset="50" width="70" height="3" pattern="2" text="Movimenti contabili per CUP - CIG">
<font face="Arial" bold="1" size="16" />
</field>
<field x="1" y="4.5" type="Testo" bg_color="#000000" txt_color="#FFFFFF" width="9" pattern="2" text="Stampa">
<font face="Arial" bold="1" size="10" />
</field>
<field x="10" y="4.5" type="Array" bg_color="#000000" txt_color="#FFFFFF" width="11" id="101" pattern="2">
<font face="Arial" bold="1" size="10" />
<source>TIPOC</source>
<postscript description="H1.101 POSTSCRIPT">MESSAGE COPY,F1.101</postscript>
<list>
<li Value="Clienti" Code="C" />
<li Value="Fornitori" Code="F" />
</list>
</field>
</section>
<section type="Head" level="2" page_break="1" pattern="1">
<groupby>CUP+CIG</groupby>
<font italic="1" face="Arial" bold="1" size="8" />
<prescript description="H2 PRESCRIPT">MESSAGE RESET,F2</prescript>
<field x="2" y="0.5" type="Testo" width="5" pattern="1" text="CUP:" />
<field x="30" y="0.5" type="Testo" width="5" pattern="1" text="CIG:" />
<field x="7" y="0.5" type="Stringa" width="18" id="103" pattern="1">
<source>CUP</source>
<postscript description="H2.103 POSTSCRIPT">MESSAGE COPY,F2.103</postscript>
</field>
<field x="35" y="0.5" type="Stringa" width="12" id="104" pattern="1">
<source>CIG</source>
<postscript description="H2.104 POSTSCRIPT">MESSAGE COPY,F2.104</postscript>
</field>
</section>
<section type="Head" level="3" pattern="1">
<groupby>TIPOCF+CODCF</groupby>
<font face="Arial" bold="1" size="8" />
<prescript description="H3 PRESCRIPT">MESSAGE RESET,F3 </prescript>
<field x="4" y="0.5" type="Numero" align="right" width="6" id="102" pattern="1">
<source>SOTTOCONTO</source>
</field>
<field x="12" y="0.5" type="Stringa" width="50" id="103" pattern="1">
<prescript description="H3.103 PRESCRIPT">MESSAGE ISAMREAD,20,TIPOCF=#H1.101!CODCF=#102,RAGSOC</prescript>
<postscript description="H3.103 POSTSCRIPT">MESSAGE COPY,F3.103</postscript>
</field>
</section>
<section type="Body" pattern="1" />
<section type="Body" level="1" pattern="1">
<field x="6" type="Numero" align="right" width="7" pattern="1">
<source>NUMREG</source>
</field>
<field x="14" type="Numero" align="right" width="3" pattern="1">
<source>NUMRIG</source>
</field>
<field x="18" type="Data" width="10" pattern="1">
<source>DATAREG</source>
</field>
<field x="29" type="Array" hidden="1" width="1" pattern="1">
<source>SEZIONE</source>
<list>
<li Value="Dare" Code="D">MESSAGE ENABLE,105|DISABLE,106</li>
<li Value="Avere" Code="A">MESSAGE DISABLE,105|ENABLE,106</li>
</list>
</field>
<field x="31" type="Valuta" align="right" width="14" id="105" pattern="1" text="###.###.###,@@">
<source>IMPORTO</source>
<postscript description="B1.105 POSTSCRIPT">MESSAGE ADD,F3.105</postscript>
</field>
<field x="46" type="Valuta" align="right" width="14" id="106" pattern="1" text="###.###.###,@@">
<source>IMPORTO</source>
<postscript description="B1.106 POSTSCRIPT">MESSAGE ADD,F3.106</postscript>
</field>
</section>
<section type="Foot" pattern="1">
<field border="1" x="0.5" y="0.25" type="Linea" width="100" height="0" pattern="1" />
<field x="92" y="0.75" type="Testo" width="4" pattern="1" text="Pag." />
<field x="96" y="0.75" type="Numero" align="right" width="3" pattern="1">
<source>#REPORT.PAGE</source>
</field>
</section>
<section type="Foot" level="1" pattern="1">
<font face="Arial" bold="1" size="10" />
<field border="2" x="1" y="0.25" type="Linea" width="100" height="0" pattern="1" />
<field x="1" y="0.75" type="Testo" bg_color="#000000" txt_color="#FFFFFF" width="10" pattern="2" text="Totale" />
<field x="11" y="0.75" type="Array" bg_color="#000000" txt_color="#FFFFFF" width="19" id="101" pattern="2">
<list>
<li Value="Clienti" Code="C" />
<li Value="Fornitori" Code="F" />
</list>
</field>
<field x="30" y="0.75" type="Valuta" align="right" bg_color="#000000" txt_color="#FFFFFF" width="15" id="105" pattern="2" hide_zero="1" text="###.###.###,@@">
<postscript description="F1.105 POSTSCRIPT">MESSAGE ADD,F1.105</postscript>
</field>
<field x="45" y="0.75" type="Valuta" align="right" bg_color="#000000" txt_color="#FFFFFF" width="15" id="106" pattern="2" hide_zero="1" text="###.###.###,@@">
<postscript description="F1.106 POSTSCRIPT">MESSAGE ADD,F1.106</postscript>
</field>
</section>
<section type="Foot" level="2" pattern="1">
<font italic="1" face="Arial" bold="1" size="8" />
<field border="2" x="1" y="0.25" type="Linea" width="100" height="0" pattern="1" />
<field x="2" y="0.5" type="Testo" width="6" pattern="1" text="Totale" />
<field x="9" y="0.5" type="Stringa" width="12" id="103" pattern="1">
<font italic="1" face="Arial Narrow" bold="1" size="7" />
</field>
<field x="21" y="0.5" type="Stringa" width="9" id="104" pattern="1">
<font italic="1" face="Arial Narrow" bold="1" size="7" />
</field>
<field x="31" y="0.5" type="Valuta" align="right" width="14" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.105 POSTSCRIPT">MESSAGE ADD,F1.105</postscript>
</field>
<field x="46" y="0.5" type="Valuta" align="right" width="14" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F2.106 POSTSCRIPT">MESSAGE ADD,F1.106</postscript>
</field>
</section>
<section type="Foot" level="3" pattern="1">
<font face="Arial" bold="1" size="8" />
<field border="1" x="1" y="0.25" type="Linea" width="100" height="0" pattern="1" />
<field x="4" y="0.5" type="Testo" width="6" pattern="1" text="Totale" />
<field x="10" y="0.5" type="Stringa" width="20" id="103" pattern="1">
<font face="Arial Narrow" bold="1" size="7" />
</field>
<field x="31" y="0.5" type="Valuta" align="right" width="14" id="105" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.105 POSTSCRIPT">MESSAGE ADD,F2.105</postscript>
</field>
<field x="46" y="0.5" type="Valuta" align="right" width="14" id="106" pattern="1" hide_zero="1" text="###.###.###,@@">
<postscript description="F3.106 POSTSCRIPT">MESSAGE ADD,F2.106</postscript>
</field>
</section>
<sql>USE RMOV
SELECT ((CUP!="")&#26;&#26;(BETWEEN(CUP,#CUP,#CUP)))&#26;&#26;((CIG!="")&#26;&#26;(BETWEEN(CIG,#CIG,#CIG)))&#26;&#26;(TIPOC=#TIPOCF)&#26;&#26;(BETWEEN(SOTTOCONTO,#CODCF,#CODCF))&#26;&#26;(BETWEEN(DATAREG,#DADATA,#ADATA))
FROM NUMREG=#DANUMREG
TO NUMREG=#ANUMREG</sql>
</report>

11
ct/ct0100a.h Executable file
View File

@ -0,0 +1,11 @@
#define F_ARCHIVI 201
#define F_ORDINAMENTO 202
#define F_CUP 203
#define F_CUP_DESCR 204
#define F_CIG 205
#define F_CIG_DESCR 206
#define F_TIPOCF 207
#define F_CODCF 208
#define F_RAGSOC 209
#define F_DADATA 210
#define F_ADATA 211

152
ct/ct0100a.uml Executable file
View File

@ -0,0 +1,152 @@
#include "ct0100a.h"
TOOLBAR "Topbar" 0 0 0 2
BUTTON DLG_PREVIEW 2 2
BEGIN
PROMPT 1 1 "~Anteprima"
PICTURE TOOL_PREVIEW
END
#include <printbar.h>
ENDPAGE
PAGE "Tracciabilita'" 0 0 0 2
GROUPBOX DLG_NULL 78 7
BEGIN
PROMPT 0 1 "@bSelezione stampa"
END
RADIOBUTTON F_ARCHIVI 32
BEGIN
PROMPT 1 2 "Tipo di archivi "
ITEM "M|Movimenti contabili"
ITEM "D|Documenti"
ITEM "E|Effetti"
ITEM "R|Rilevazione ore"
END
RADIOBUTTON F_ORDINAMENTO 32
BEGIN
PROMPT 36 2 "Ordinamento per:"
ITEM "1|CUP - CIG"
ITEM "2|Cliente/Fornitore"
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 8 "@bFiltri CUP-CIG"
END
STRING F_CUP 15
BEGIN
PROMPT 1 9 "CUP "
USE %CUP
INPUT CODTAB F_CUP
DISPLAY "Codice@15" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CUP CODTAB
OUTPUT F_CUP_DESCR S0
FIELD #CUP
CHECKTYPE NORMAL
END
STRING F_CUP_DESCR 50
BEGIN
PROMPT 25 9 ""
USE %CUP KEY 2
INPUT S0 F_CUP_DESCR
DISPLAY "Descrizione@50" S0
DISPLAY "Codice@15" CODTAB
COPY OUTPUT F_CUP
CHECKTYPE NORMAL
END
STRING F_CIG 10
BEGIN
PROMPT 1 10 "CIG "
USE %CIG
INPUT CODTAB F_CIG
DISPLAY "Codice@10" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CIG CODTAB
OUTPUT F_CIG_DESCR S0
FIELD #CIG
CHECKTYPE NORMAL
END
STRING F_CIG_DESCR 50
BEGIN
PROMPT 25 10 ""
USE %CIG KEY 2
INPUT S0 F_CIG_DESCR
DISPLAY "Descrizione@50" S0
DISPLAY "Codice@10" CODTAB
COPY OUTPUT F_CIG
CHECKTYPE NORMAL
END
GROUPBOX DLG_NULL 78 4
BEGIN
PROMPT 0 12 "@bFiltri Cliente/Fornitore"
END
LIST F_TIPOCF 1 11
BEGIN
PROMPT 1 13 "Tipo "
ITEM "C|Clienti"
ITEM "F|Fornitori"
FIELD #TIPOCF
END
NUMBER F_CODCF 6
BEGIN
PROMPT 20 13 "Codice "
USE LF_CLIFO
INPUT TIPOCF F_TIPOCF SELECT
INPUT CODCF F_CODCF
DISPLAY "Codice@6R" CODCF
DISPLAY "Sospeso@C" SOSPESO
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Codice fiscale@16" COFI
DISPLAY "Partita IVA@11" PAIV
OUTPUT F_TIPOCF TIPOCF
OUTPUT F_CODCF CODCF
OUTPUT F_RAGSOC RAGSOC
FLAGS "GR"
FIELD #CODCF
CHECKTYPE NORMAL
END
STRING F_RAGSOC 50
BEGIN
PROMPT 1 14 "Cognome/Rag. Soc. "
USE LF_CLIFO KEY 2
INPUT TIPOCF F_TIPOCF SELECT
INPUT RAGSOC F_RAGSOC
DISPLAY "Ragione sociale@50" RAGSOC
DISPLAY "Sospeso" SOSPESO
DISPLAY "Codice@R" CODCF
DISPLAY "Codice fiscale@16" COFI
DISPLAY "Partita IVA@11" PAIV
COPY OUTPUT F_CODCF
CHECKTYPE NORMAL
END
DATE F_DADATA
BEGIN
PROMPT 1 17 "Dalla data "
FIELD #DADATA
END
DATE F_ADATA
BEGIN
PROMPT 25 17 "Alla data "
FIELD #ADATA
END
ENDPAGE
ENDMASK