Riportata la versione 98.01.01CD sul main trunk

git-svn-id: svn://10.65.10.50/trunk@5991 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1998-01-20 16:01:01 +00:00
parent 132728e7d1
commit cff622ac94
12 changed files with 1048 additions and 65 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

@ -1,5 +1,342 @@
#include <applicat.h>
#include <mask.h>
#include <form.h>
#include <tabutil.h>
#include "pr1200a.h"
#include "percprov.h"
static word __lenfields[4];
class TPercprovv_form : public TForm
{
TString _conf;
protected:
virtual bool validate(TForm_item &, TToken_string &);
public:
void set_conf(const char* s) { _conf = s;}
TPercprovv_form(const char *);
virtual ~TPercprovv_form(){};
};
TPercprovv_form::TPercprovv_form(const char* name): TForm()
{
read(name);
}
bool TPercprovv_form::validate(TForm_item &cf, TToken_string &s)
{
const TString code(s.get(0));
TString valore;
if (code == "_FILLFIELDS")
{
TString value(cf.get()), x;
const int l = _conf.len();
short flid = 0;
for (int i = 0; i < l; i++)
{
switch (_conf[i])
{
case 'C':
flid = FRM_CLI;
break;
case 'V':
flid = FRM_CVE;
break;
case 'A':
flid = FRM_AGE;
break;
case 'P':
flid = FRM_PAG;
break;
case 'S':
flid = FRM_SCO;
break;
case 'Z':
flid = FRM_ZON;
break;
case 'M':
flid = FRM_ART;
break;
case 'E':
flid = FRM_GMC;
break;
case 'R':
flid = FRM_SMC;
break;
case 'F':
flid = FRM_RFA;
break;
default:
flid = 0;
break;
}
if (flid == 0)
break;
// Estrae il valore da value in x tramite __lenfields[]
x = value.left(__lenfields[i]);
value.ltrim(__lenfields[i]);
// Setta il TForm_item corrispondente
TForm_item& fi = find_field('B', odd_page, flid);
fi.set(x);
}
}
return TForm::validate(cf, s);
}
class TStampa_percprovv : public TSkeleton_application
{
TLocalisamfile *_percprov;
TTable *_apr;
TMask * _m;
protected:
void compose_ranges(const TString& k, TString& s1, TString& s2);
static bool codarc_handler(TMask_field& fld, KEY k);
virtual bool create();
virtual bool destroy();
virtual void main_loop();
};
inline TStampa_percprovv& app() { return (TStampa_percprovv&) main_app();}
bool TStampa_percprovv::codarc_handler(TMask_field& fld, KEY k)
{
if (fld.to_check(k) && k == K_TAB)
{
TMask& m = fld.mask();
TTable* apr = app()._apr;
apr->put("CODTAB", fld.get());
if (apr->read() == NOERR)
{
TString s3(apr->get("S3"));
const int len = s3.len();
m.hide(-G_ALL);
m.reset(-G_ALL);
for (int i = 0; i<len; i++)
switch (s3[i])
{
case 'C':
m.show(-G_CLI);
break;
case 'V':
m.show(-G_CATV);
break;
case 'A':
m.show(-G_AGE);
break;
case 'P':
m.show(-G_PAG);
break;
case 'S':
m.show(-G_SCONTO);
break;
case 'Z':
m.show(-G_ZONA);
break;
case 'M':
m.show(-G_ART);
break;
case 'E':
m.show(-G_GMC);
break;
case 'R':
m.show(-G_SMC);
break;
case 'F':
m.show(-G_RFA);
break;
default:
break;
}
}
}
return TRUE;
}
void TStampa_percprovv::compose_ranges(const TString& k, TString& s1, TString& s2)
{
const int len = k.len();
TString formato,ws;
short id_from, id_to;
s1 = "";
s2 = "";
for (int i=0; i<len; i++)
{
switch(k[i])
{
case 'C':
id_from = F_FROMCLIENTE;
id_to = F_TOCLIENTE;
break;
case 'V':
id_from = F_FROMCATVEN;
id_to = F_TOCATVEN;
break;
case 'A':
id_from = F_FROMCODAGE;
id_to = F_TOCODAGE;
break;
case 'P':
id_from = F_FROMCODPAG;
id_to = F_TOCODPAG;
break;
case 'S':
id_from = F_FROMCODSCONTO;
id_to = F_TOCODSCONTO;
break;
case 'Z':
id_from = F_FROMCODZONA;
id_to = F_TOCODZONA;
break;
case 'M':
id_from = F_FROMCODART;
id_to = F_TOCODART;
break;
case 'E':
id_from = F_FROMCODGMC;
id_to = F_TOCODGMC;
break;
case 'R':
id_from = F_FROMCODSMC;
id_to = F_TOCODSMC;
break;
case 'F':
id_from = F_FROMCODRFA;
id_to = F_TOCODRFA;
break;
default:
id_from = id_to = 0;
break;
}
if (id_from == 0)
break;
__lenfields[i] = _m->field(id_from).size();
if (id_from == F_FROMCLIENTE) // I codici clienti vanno allineati a destra!
formato.format("%%%ds",__lenfields[i]);
else
formato.format("%%-%ds",__lenfields[i]); // Gli altri a sinistra
ws.format(formato,(const char*)_m->get(id_from));
s1 << ws;
ws.format(formato,(const char*)_m->get(id_to));
s2 << ws;
}
}
void TStampa_percprovv::main_loop()
{
TPercprovv_form frm("pr1200a");
TRectype from(LF_PERCPROV), to(LF_PERCPROV);
TString codpr, s1,s2, s3;
_m->hide(-G_ALL);
while (_m->run() == K_ENTER)
{
codpr = _m->get(F_CODPR); // Codice archivio
_apr->put("CODTAB", codpr);
if (_apr->read() == NOERR) // legge la stringa di definizione dei campi
s3 = _apr->get("S3");
else
s3 = "----";
// Compone le stringhe per from e to
compose_ranges(s3, s1, s2);
from.zero();
from.put(PER_CODPR, codpr);
from.put(PER_KEYORD,s1);
to = from;
to.put(PER_KEYORD, s2);
TCursor* cur = frm.cursor();
cur->setregion(from, to);
if (cur->items() == 0L)
{
warning_box("Non vi sono elementi da stampare nell'intervallo indicato.");
continue;
}
for (short k = FRM_CLI; k <= FRM_RFA; k++) // Nasconde tutti gli items del cazzo
{
TForm_item& fi = frm.find_field('B', odd_page, k);
fi.hide();
}
// Ripristina solo quelli necessari cambiandogli la coordinata y in sequenza (tanto al massimo
// sono 4)
const int l = s3.len();
short flid = 0;
for (int i=0; i < l; i++)
{
switch (s3[i])
{
case 'C':
flid = FRM_CLI;
break;
case 'V':
flid = FRM_CVE;
break;
case 'A':
flid = FRM_AGE;
break;
case 'P':
flid = FRM_PAG;
break;
case 'S':
flid = FRM_SCO;
break;
case 'Z':
flid = FRM_ZON;
break;
case 'M':
flid = FRM_ART;
break;
case 'E':
flid = FRM_GMC;
break;
case 'R':
flid = FRM_SMC;
break;
case 'F':
flid = FRM_RFA;
break;
default:
flid = 0;
break;
}
if (flid == 0)
break;
TForm_item& fi = frm.find_field('B', odd_page, flid);
fi.show();
fi.y() = i+1;
}
frm.set_conf(s3);
frm.print();
}
}
bool TStampa_percprovv::create()
{
_m = new TMask ("pr1200a");
_m->set_handler(F_CODPR, codarc_handler);
_apr = new TTable("APR");
_percprov = new TLocalisamfile(LF_PERCPROV);
return TSkeleton_application::create();
}
bool TStampa_percprovv::destroy()
{
delete _m;
delete _apr;
delete _percprov;
return TSkeleton_application::destroy();
}
int pr1200(int argc, char** argv) int pr1200(int argc, char** argv)
{ {
TStampa_percprovv a;
a.run(argc,argv,"Stampa % di provvigione");
return 0; return 0;
} }

207
pr/pr1200a.frm Executable file
View File

@ -0,0 +1,207 @@
// Form di stampa archivio percentuali di provvigione
#include "pr1200a.h"
USE LF_PERCPROV KEY 1
JOIN APR ALIAS 201 INTO CODTAB==CODPR
END
DESCRIPTION
BEGIN
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 10
END
SECTION GRAPHICS FIRST 67
LINEA 1 80 1
BEGIN
KEY "Riga di separazione titolo/sottotitolo"
PROMPT 1 3 "@B"
END
LINEA 2 80 1
BEGIN
KEY "Riga di separazione titolo/corpo"
PROMPT 1 5 "@B"
END
END
SECTION HEADER ODD 5
STRINGA 1 40 1
BEGIN
KEY "nome ditta"
PROMPT 1 1 "Ditta "
MESSAGE _DITTA, !RAGSOC
END
STRINGA 2 10
BEGIN
KEY "Data"
PROMPT 50 1 "Data "
MESSAGE _TODAY
END
NUMERO 3 7
BEGIN
KEY "Nr. pagina"
PROMPT 70 1 "Pagina "
MESSAGE _PAGENO
END
NUMERO 4 40
BEGIN
KEY "Intestazione stampa"
PROMPT 24 2 "Stampa percentuali di provvigione"
END
STRINGA 6 15
BEGIN
KEY "Codice Archivio"
PROMPT 2 4 "Archivio: "
FIELD CODPR
END
STRINGA 7 30
BEGIN
KEY "Codice Archivio"
PROMPT 16 4 ""
FIELD 201@->S0
END
STRINGA 8 6
BEGIN
KEY "Tipo provvigione (intestazione)"
PROMPT 40 4 "Tipo"
END
STRINGA 9 15
BEGIN
KEY "Percentuale provvigione (intestazione)"
PROMPT 53 4 "% Provvigione"
END
STRINGA 10 10
BEGIN
KEY "Provvigione ad importo(intestazione)"
PROMPT 68 4 "Importo"
END
END
SECTION BODY ODD 5
STRINGA 99 20
BEGIN
KEY "Chiave Ordinamento"
PROMPT 2 1 ""
FIELD KEYORD
MESSAGE _FILLFIELDS
FLAGS "H"
END
STRINGA FRM_CLI 20
BEGIN
KEY "Cod. cliente"
PROMPT 2 1 "Cod. Cliente: "
FLAGS "H"
END
STRINGA FRM_CVE 20
BEGIN
KEY "Cat. Vendita"
PROMPT 2 1 "Cat. Vendita: "
FLAGS "H"
END
STRINGA FRM_AGE 20
BEGIN
KEY "Cod. Agente"
PROMPT 2 1 "Cod. Agente: "
FLAGS "H"
END
STRINGA FRM_PAG 20
BEGIN
KEY "Cod. Pagamento"
PROMPT 2 1 "Cod. Pagamento "
FLAGS "H"
END
STRINGA FRM_SCO 20
BEGIN
KEY "Cod. Sconto"
PROMPT 2 1 "Cod. Sconto: "
FLAGS "H"
END
STRINGA FRM_ZON 20
BEGIN
KEY "Cod. Zona"
PROMPT 2 1 "Cod. Zona: "
FLAGS "H"
END
STRINGA FRM_ART 30
BEGIN
KEY "Cod. Articolo"
PROMPT 2 1 "Cod. Articolo: "
FLAGS "H"
END
STRINGA FRM_GMC 20
BEGIN
KEY "Cod. GMC"
PROMPT 2 1 "Cod. GMC: "
FLAGS "H"
END
STRINGA FRM_SMC 20
BEGIN
KEY "Cod. SMC"
PROMPT 2 1 "Cod. SMC: "
FLAGS "H"
END
STRINGA FRM_RFA 20
BEGIN
KEY "Cod. RFA"
PROMPT 2 1 "Cod. RFA: "
FLAGS "H"
END
LISTA 11 20
BEGIN
KEY "Tipo di provvigione"
PROMPT 40 4 "Tipo provvigione: "
FIELD TIPO
ITEM "P|Percentuale"
ITEM "I|Importo unitario"
ITEM "V|Valore complessivo"
END
NUMBER 12 6
BEGIN
PROMPT 54 4 ""
FIELD PERCPROVV
PICTURE "##@,@@"
END
NUMERO 13 18
BEGIN
KEY "Importo"
PROMPT 62 4 ""
FIELD IMPORTO
PICTURE "###.###.###.###"
END
END
END // Section body

48
pr/pr1200a.h Executable file
View File

@ -0,0 +1,48 @@
// campi maschera pr1200a.uml
#define F_CODPR 101
#define F_DESCR 102
#define F_FROMCLIENTE 103
#define F_TOCLIENTE 104
#define F_FROMCATVEN 105
#define F_TOCATVEN 106
#define F_FROMCODAGE 107
#define F_TOCODAGE 108
#define F_FROMCODPAG 109
#define F_TOCODPAG 110
#define F_FROMCODSCONTO 111
#define F_TOCODSCONTO 112
#define F_FROMCODZONA 113
#define F_TOCODZONA 114
#define F_FROMCODART 115
#define F_TOCODART 116
#define F_FROMCODGMC 117
#define F_TOCODGMC 118
#define F_FROMCODSMC 119
#define F_TOCODSMC 120
#define F_FROMCODRFA 121
#define F_TOCODRFA 122
#define G_ALL 1
#define G_CLI 5
#define G_CATV 6
#define G_AGE 7
#define G_PAG 8
#define G_SCONTO 9
#define G_ZONA 10
#define G_ART 11
#define G_GMC 12
#define G_SMC 13
#define G_RFA 14
#define FRM_CLI 1
#define FRM_CVE 2
#define FRM_AGE 3
#define FRM_PAG 4
#define FRM_SCO 5
#define FRM_ZON 6
#define FRM_ART 7
#define FRM_GMC 8
#define FRM_SMC 9
#define FRM_RFA 10

330
pr/pr1200a.uml Executable file
View File

@ -0,0 +1,330 @@
#include "pr1200a.h"
PAGE "Stampa % di provvigione" -1 -1 78 18
GROUPBOX DLG_NULL 76 4
BEGIN
PROMPT 1 1 "Archivio"
FLAGS "R"
END
STRING F_CODPR 2
BEGIN
PROMPT 2 2 "Codice archivio "
FIELD CODPR
FLAGS "UZ"
USE APR
INPUT CODTAB F_CODPR
DISPLAY "Codice@10" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_CODPR CODTAB
OUTPUT F_DESCR S0
CHECKTYPE REQUIRED
WARNING "Codice archivio non presente"
END
STRING F_DESCR 50
BEGIN
PROMPT 2 3 "Descrizione "
FLAGS "D"
END
STRING F_FROMCLIENTE 6
BEGIN
PROMPT 2 6 "Da cod. cliente "
FLAGS "R"
KEY 1
USE LF_CLIFO KEY 1 SELECT TIPOCF=="C"
INPUT TIPOCF "C"
INPUT CODCF F_FROMCLIENTE
DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_FROMCLIENTE CODCF
GROUP G_CLI G_ALL
END
STRING F_TOCLIENTE 6
BEGIN
PROMPT 40 6 "A cod. cliente "
FLAGS "R"
KEY 1
USE LF_CLIFO KEY 1 SELECT TIPOCF=="C"
INPUT TIPOCF "C"
INPUT CODCF F_TOCLIENTE
DISPLAY "Codice" CODCF
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_TOCLIENTE CODCF
NUM_EXPR #F_TOCLIENTE>=#F_FROMCLIENTE
GROUP G_CLI G_ALL
WARNING "Range codice cliente non corretto"
END
STRING F_FROMCATVEN 2
BEGIN
PROMPT 2 7 "Da cat. vendita "
FLAGS "U"
KEY 1
USE CVE
INPUT CODTAB F_FROMCATVEN
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCATVEN CODTAB
GROUP G_CATV G_ALL
END
STRING F_TOCATVEN 2
BEGIN
PROMPT 40 7 "A cat. vendita "
FLAGS "U"
KEY 1
USE CVE
INPUT CODTAB F_TOCATVEN
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCATVEN CODTAB
GROUP G_CATV G_ALL
STR_EXPR #F_TOCATVEN>=#F_FROMCATVEN
WARNING "Range codice categoria vendita non corretto"
END
STRING F_FROMCODAGE 5
BEGIN
PROMPT 2 8 "Da cod. agente "
FLAGS "UZ"
KEY 1
USE LF_AGENTI
INPUT CODAGE F_FROMCODAGE
DISPLAY "Codice" CODAGE
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_FROMCODAGE CODAGE
GROUP G_AGE G_ALL
END
STRING F_TOCODAGE 5
BEGIN
PROMPT 40 8 "A cod. agente "
FLAGS "UZ"
KEY 1
USE LF_AGENTI
INPUT CODAGE F_TOCODAGE
DISPLAY "Codice" CODAGE
DISPLAY "Ragione sociale@50" RAGSOC
OUTPUT F_TOCODAGE CODAGE
GROUP G_AGE G_ALL
STR_EXPR #F_TOCODAGE>=#F_FROMCODAGE
WARNING "Range codice agente non corretto"
END
STRING F_FROMCODPAG 4
BEGIN
PROMPT 2 9 "Da cod. pagamento "
FLAGS "UZ"
KEY 1
USE %CPG
INPUT CODTAB F_FROMCODPAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODPAG CODTAB
GROUP G_PAG G_ALL
END
STRING F_TOCODPAG 4
BEGIN
PROMPT 40 9 "A cod. pagamento "
FLAGS "UZ"
KEY 1
USE %CPG
INPUT CODTAB F_TOCODPAG
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODPAG CODTAB
GROUP G_PAG G_ALL
STR_EXPR #F_TOCODPAG>=#F_FROMCODPAG
WARNING "Range codice pagamento non corretto"
END
STRING F_FROMCODSCONTO 2
BEGIN
PROMPT 2 10 "Da cod. sconto "
FLAGS "U"
KEY 1
USE %SCC
INPUT CODTAB F_FROMCODSCONTO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODSCONTO CODTAB
GROUP G_SCONTO G_ALL
END
STRING F_TOCODSCONTO 2
BEGIN
PROMPT 40 10 "A cod. sconto "
FLAGS "U"
KEY 1
USE %SCC
INPUT CODTAB F_TOCODSCONTO
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODSCONTO CODTAB
GROUP G_SCONTO G_ALL
STR_EXPR #F_TOCODSCONTO>=#F_FROMCODSCONTO
WARNING "Range codice sconto non corretto"
END
STRING F_FROMCODZONA 2
BEGIN
PROMPT 2 11 "Da cod. zona "
FLAGS "U"
KEY 1
USE ZON
INPUT CODTAB F_FROMCODZONA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODZONA CODTAB
GROUP G_ZONA G_ALL
END
STRING F_TOCODZONA 2
BEGIN
PROMPT 40 11 "A cod. zona "
FLAGS "U"
KEY 1
USE ZON
INPUT CODTAB F_TOCODZONA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODZONA CODTAB
GROUP G_ZONA G_ALL
STR_EXPR #F_TOCODZONA>=#F_FROMCODZONA
WARNING "Range codice zona non corretto"
END
STRING F_FROMCODART 20
BEGIN
PROMPT 2 12 "Da cod. art. "
FLAGS "U"
KEY 1
USE LF_ANAMAG
INPUT CODART F_FROMCODART
DISPLAY "Articolo@20" CODART
DISPLAY "Descrizione@50" DESCR
OUTPUT F_FROMCODART CODART
GROUP G_ART G_ALL
END
STRING F_TOCODART 20
BEGIN
PROMPT 40 12 "A cod. art. "
FLAGS "U"
KEY 1
USE LF_ANAMAG
INPUT CODART F_TOCODART
DISPLAY "Articolo@20" CODART
DISPLAY "Descrizione@50" DESCR
OUTPUT F_TOCODART CODART
GROUP G_ART G_ALL
STR_EXPR #F_TOCODART>=#F_FROMCODART
WARNING "Range codice articolo non corretto"
END
STRING F_FROMCODGMC 3
BEGIN
PROMPT 2 13 "Da cat. merc. "
FLAGS "U"
KEY 1
USE GMC SELECT CODTAB[4,5]==""
INPUT CODTAB F_FROMCODGMC
DISPLAY "Codice" CODTAB[1,3]
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODGMC CODTAB[1,3]
GROUP G_GMC G_ALL
END
STRING F_TOCODGMC 3
BEGIN
PROMPT 40 13 "A cat. merc. "
FLAGS "U"
KEY 1
USE GMC SELECT CODTAB[4,5]==""
INPUT CODTAB F_TOCODGMC
DISPLAY "Codice" CODTAB[1,3]
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODGMC CODTAB[1,3]
GROUP G_GMC G_ALL
STR_EXPR #F_TOCODGMC>=#F_FROMCODGMC
WARNING "Range categoria merceologica non corretto"
END
STRING F_FROMCODSMC 5
BEGIN
PROMPT 2 14 "Da sottocat. merc. "
FLAGS "U"
KEY 1
USE GMC //SELECT CODTAB[4,5]!=""
INPUT CODTAB F_FROMCODSMC
DISPLAY "Cat." CODTAB[1,3]
DISPLAY "Sotto cat." CODTAB[4,5]
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODSMC CODTAB
GROUP G_SMC G_ALL
END
STRING F_TOCODSMC 5
BEGIN
PROMPT 40 14 "A sottocat. merc. "
FLAGS "U"
KEY 1
USE GMC //SELECT CODTAB[4,5]!=""
INPUT CODTAB F_TOCODSMC
DISPLAY "Cat." CODTAB[1,3]
DISPLAY "Sotto cat." CODTAB[4,5]
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODSMC CODTAB
GROUP G_SMC G_ALL
STR_EXPR #F_TOCODSMC>=#F_FROMCODSMC
WARNING "Range sottocategoria merceologica non corretto"
END
STRING F_FROMCODRFA 5
BEGIN
PROMPT 2 15 "Da raggr. fiscale "
FLAGS "U"
KEY 1
USE RFA
INPUT CODTAB F_FROMCODRFA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_FROMCODRFA CODTAB
GROUP G_RFA G_ALL
END
STRING F_TOCODRFA 5
BEGIN
PROMPT 40 15 "A raggr. fiscale "
FLAGS "U"
KEY 1
USE RFA
INPUT CODTAB F_TOCODRFA
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
OUTPUT F_TOCODRFA CODTAB
GROUP G_RFA G_ALL
STR_EXPR #F_TOCODRFA>=#F_FROMCODRFA
WARNING "Range raggruppamento fiscale non corretto"
END
BUTTON DLG_PRINT 10 2
BEGIN
PROMPT -12 -1 "~Stampa"
MESSAGE EXIT,K_ENTER
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -22 -1 ""
END
ENDPAGE
ENDMASK

View File

@ -1,6 +1,7 @@
#include <mask.h> #include <mask.h>
#include <applicat.h> #include <applicat.h>
#include <form.h> #include <form.h>
#include <printer.h>
#include <progind.h> #include <progind.h>
#include "provv.h" #include "provv.h"
@ -61,21 +62,18 @@ void TStampa_schedeprovv::main_loop()
{ {
TForm frm("pr1300a"); TForm frm("pr1300a");
//const TPrint_section& head = frm.section('H', odd_page); const int hh = 7;
//const TPrint_section& foot = frm.section('F', odd_page); const int fh = 1;
const int fl = printer().formlen();
const int hh = 3;//head.height();
const int fh = 1;//foot.height();
const int fl = frm.height();
int rows[4]; // Righe orizzontali int rows[4]; // Righe orizzontali
rows[0] = hh-2; // Terzultima riga della testata rows[0] = hh-3;
rows[1] = hh; // Ultima riga della testata rows[1] = hh;
rows[2] = fl-fh+1; // Prima riga del footer rows[2] = fl-1;
rows[3] = 0; rows[3] = 0;
frm.genera_intestazioni(odd_page, hh-2);
frm.genera_intestazioni(odd_page, rows[1]-1); frm.genera_fincatura(odd_page, hh-3, fl-1, rows);
//frm.genera_fincatura(odd_page, rows[0], rows[1], rows);
while (_m->run()!=K_QUIT) while (_m->run()!=K_QUIT)
{ {

View File

@ -24,7 +24,7 @@ BEGIN
END END
SECTION HEADER ODD 4 SECTION HEADER ODD 7
STRINGA 1 40 1 STRINGA 1 40 1
BEGIN BEGIN
@ -36,22 +36,30 @@ END
STRINGA 2 10 STRINGA 2 10
BEGIN BEGIN
KEY "Data" KEY "Data"
PROMPT 45 1 "Data " PROMPT 126 1 "Data "
MESSAGE _TODAY MESSAGE _TODAY
END END
NUMERO 3 7 NUMERO 3 7
BEGIN BEGIN
KEY "Nr. pagina" KEY "Nr. pagina"
PROMPT 70 1 "Pagina " PROMPT 145 1 "Pagina "
MESSAGE _PAGENO MESSAGE _PAGENO
END END
STRINGA 4
BEGIN
KEY "TITOLO"
PROMPT 60 3 "Stampa schede di provvigione"
END
/*
STRINGA 5 146 STRINGA 5 146
BEGIN BEGIN
KEY "Separatore (iniziale)" KEY "Separatore (iniziale)"
PROMPT 1 4 "------------------------------------------------------------------------------------------------------------------------------------------------------" PROMPT 1 4 "------------------------------------------------------------------------------------------------------------------------------------------------------"
END END
*/
/* /*
STRINGA 3 STRINGA 3
@ -139,7 +147,7 @@ STRINGA 1 20
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Agente" "Agente" SPECIAL STRINGA INTESTAZIONE "Agente" "Agente"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
KEY "Descrizione" KEY "Descrizione"
PROMPT 1 1 "Agente " PROMPT 1 1 "Agente "
MESSAGE RESET,G_TOTAGE@ MESSAGE RESET,G_TOTAGE@
@ -150,7 +158,7 @@ STRINGA 2 30
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Rag.Soc." "Ragione Sociale" SPECIAL STRINGA INTESTAZIONE "Rag.Soc." "Ragione Sociale"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
KEY "RSoc" KEY "RSoc"
PROMPT 2 1 "" PROMPT 2 1 ""
FIELD LF_AGENTI->RAGSOC FIELD LF_AGENTI->RAGSOC
@ -230,10 +238,11 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
// Header clienti // Header clienti
SECTION HCLIENTI 1 1 1 GROUP SECTION HCLIENTI 1 1 1 GROUP
STRINGA 1 15 STRINGA 1 20
BEGIN BEGIN
KEY "Descrizione" KEY "Descrizione"
PROMPT 1 1 " Cliente " PROMPT 1 1 " Cliente "
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
FIELD LF_PROVV->CODCLI FIELD LF_PROVV->CODCLI
MESSAGE RESET,G_TOTCLI@ MESSAGE RESET,G_TOTCLI@
END END
@ -242,6 +251,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
BEGIN BEGIN
KEY "RSoc" KEY "RSoc"
PROMPT 2 1 "" PROMPT 2 1 ""
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
FIELD LF_CLIFO->RAGSOC FIELD LF_CLIFO->RAGSOC
MESSAGE COPY,302 MESSAGE COPY,302
END END
@ -254,6 +264,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
STRINGA 1 20 STRINGA 1 20
BEGIN BEGIN
KEY "ndoc" KEY "ndoc"
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
PROMPT 1 1 " Documento" PROMPT 1 1 " Documento"
MESSAGE RESET,G_TOTDOC@ MESSAGE RESET,G_TOTDOC@
END END
@ -262,6 +273,7 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
BEGIN BEGIN
KEY "DATADOC" KEY "DATADOC"
PROMPT 2 1 "" PROMPT 2 1 ""
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC MESSAGE _STREXPR,CODNUM+"/"+NDOC+" del "+DATADOC
MESSAGE COPY,202 MESSAGE COPY,202
END END
@ -273,20 +285,22 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
BEGIN BEGIN
KEY "FATTORE DI CONVERSIONE" KEY "FATTORE DI CONVERSIONE"
FLAGS "H" FLAGS "H"
MESSAGE _NUMEXPR,IF(CODVAL,1,CAMBIO) MESSAGE _NUMEXPR,IF(CODVAL,CAMBIO,1)
END END
SECTION RATA_DAPAGARE 1 1 1 STREXPR LF_PROVV->SALDATA!="X" SECTION RATA_DAPAGARE 1 1 1 STREXPR LF_PROVV->SALDATA!="X"
STRINGA 101 15 STRINGA 101 20
BEGIN BEGIN
KEY "nrata" KEY "nrata"
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
PROMPT 1 1 " Rata " PROMPT 1 1 " Rata "
FIELD LF_PROVV->NRATA FIELD LF_PROVV->NRATA
END END
STRINGA 102 15 STRINGA 102 30
BEGIN BEGIN
KEY "DATADOC" KEY "DATADOC"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
PROMPT 2 1 "del " PROMPT 2 1 "del "
FIELD LF_PROVV->DATASCAD FIELD LF_PROVV->DATASCAD
END END
@ -354,16 +368,18 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
END // RATA END // RATA
SECTION RATA_PAGATA 1 1 1 STREXPR LF_PROVV->SALDATA=="X" SECTION RATA_PAGATA 1 1 1 STREXPR LF_PROVV->SALDATA=="X"
STRINGA 101 15 STRINGA 101 20
BEGIN BEGIN
KEY "nrata" KEY "nrata"
PROMPT 1 1 " Rata " PROMPT 1 1 " Rata "
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
FIELD LF_PROVV->NRATA FIELD LF_PROVV->NRATA
END END
STRINGA 102 15 STRINGA 102 30
BEGIN BEGIN
KEY "DATADOC" KEY "DATADOC"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
PROMPT 2 1 "del " PROMPT 2 1 "del "
FIELD LF_PROVV->DATASCAD FIELD LF_PROVV->DATASCAD
END END
@ -426,13 +442,20 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
STRINGA 201 20 STRINGA 201 20
BEGIN BEGIN
KEY "ndoc" KEY "ndoc"
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
PROMPT 1 1 " Totale documento" PROMPT 1 1 " Totale documento"
END END
STRINGA 202 30 STRINGA 202 30
BEGIN BEGIN
KEY "DESCR" KEY "DESCR"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
PROMPT 2 1 "" PROMPT 2 1 ""
END END
STRINGA 3 6
BEGIN
KEY "CODVAL"
PROMPT 3 1 ""
END
NUMBER 203 15 NUMBER 203 15
BEGIN BEGIN
KEY "IMPORTO" KEY "IMPORTO"
@ -497,13 +520,20 @@ SECTION CLIENTI 2 0 0 FILE LF_PROVV GROUP CODAGE
STRINGA 301 20 STRINGA 301 20
BEGIN BEGIN
KEY "cli" KEY "cli"
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
PROMPT 1 1 " Totale cliente " PROMPT 1 1 " Totale cliente "
END END
STRINGA 302 30 STRINGA 302 30
BEGIN BEGIN
KEY "DESCR" KEY "DESCR"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
PROMPT 2 1 "" PROMPT 2 1 ""
END END
STRINGA 3 6
BEGIN
KEY "CODVAL"
PROMPT 3 1 ""
END
NUMBER 303 15 NUMBER 303 15
BEGIN BEGIN
KEY "IMPORTO" KEY "IMPORTO"
@ -565,12 +595,14 @@ END // end clienti
NUMERO 401 20 NUMERO 401 20
BEGIN BEGIN
SPECIAL STRINGA FINCATURA "X " "Fincatura sinistra e destra"
PROMPT 1 2 "Totale agente" PROMPT 1 2 "Totale agente"
END END
STRINGA 402 30 STRINGA 402 30
BEGIN BEGIN
KEY "DESCR" KEY "DESCR"
SPECIAL STRINGA FINCATURA " X" "Fincatura sinistra e destra"
PROMPT 2 2 "" PROMPT 2 2 ""
END END
NUMBER 403 15 NUMBER 403 15
@ -627,7 +659,9 @@ END // end clienti
END // Fine body END // Fine body
/*
SECTION FOOTER ODD 3 SECTION FOOTER ODD 3
END // Fine footer END // Fine footer
END // Fine Form END // Fine Form
*/

View File

@ -18,9 +18,9 @@ BEGIN
PROMPT 2 3 " all'agente " PROMPT 2 3 " all'agente "
FLAGS "U" FLAGS "U"
COPY USE F_DAAGE COPY USE F_DAAGE
INPUT CODART F_AAGE INPUT CODAGE F_AAGE
COPY DISPLAY F_DAAGE COPY DISPLAY F_DAAGE
OUTPUT F_AAGE CODART OUTPUT F_AAGE CODAGE
GROUP G_CODAGE GROUP G_CODAGE
END END

View File

@ -199,9 +199,11 @@ bool TStampa_statistiche_app::menu(MENU_TAG)
LF_PROVV, (const char*)ds1, LF_PROVV, (const char*) ds2, LF_PROVV); LF_PROVV, (const char*)ds1, LF_PROVV, (const char*) ds2, LF_PROVV);
ssec.setcondition(cond, _strexpr); ssec.setcondition(cond, _strexpr);
} }
ds1 = date_from.string(ANSI);
ds2 = date_to.string(ANSI);
filter_expr.format("(ANSI(%d->DATADOC)>=\"%s\") && (ANSI(%d->DATADOC)<=\"%s\")", filter_expr.format("(ANSI(%d->DATADOC)>=\"%s\") && (ANSI(%d->DATADOC)<=\"%s\")",
LF_PROVV, (const char*)date_from.string(ANSI), LF_PROVV, (const char*) date_to.string(ANSI)); LF_PROVV, (const char*)ds1, LF_PROVV, (const char*) ds2);
// Setta il filtro sul cursore (attenzione se e' ordinato per ragione sociale) // Setta il filtro sul cursore (attenzione se e' ordinato per ragione sociale)
TSorted_cursor* cur = normal_order ? cur1 : cur2; TSorted_cursor* cur = normal_order ? cur1 : cur2;

View File

@ -10,7 +10,7 @@
USE LF_AGENTI USE LF_AGENTI
JOIN LF_PROVV KEY 3 INTO CODAGE==CODAGE JOIN LF_PROVV KEY 3 INTO CODAGE=CODAGE
END END
DESCRIPTION DESCRIPTION
@ -89,7 +89,7 @@ BEGIN
PROMPT 3 1 "" PROMPT 3 1 ""
END END
NUMBER 4 14 NUMBER 4 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (1)" SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (1)"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -98,7 +98,7 @@ BEGIN
PROMPT 4 1 "" PROMPT 4 1 ""
END END
NUMBER 5 14 NUMBER 5 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CProvvigione" "Provvigione (1)" SPECIAL STRINGA INTESTAZIONE "@CProvvigione" "Provvigione (1)"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -116,7 +116,7 @@ BEGIN
PROMPT 6 1 "" PROMPT 6 1 ""
END END
NUMBER 7 14 NUMBER 7 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (2)" SPECIAL STRINGA INTESTAZIONE "@CFatturato" "Fatturato (2)"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
@ -125,9 +125,9 @@ BEGIN
PROMPT 7 1 "" PROMPT 7 1 ""
END END
NUMBER 8 14 NUMBER 8 15
BEGIN BEGIN
SPECIAL STRINGA INTESTAZIONE "Provvigione" "Provvigione (2)" SPECIAL STRINGA INTESTAZIONE "@CProvvigione" "Provvigione (2)"
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo" SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra" SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
KEY "Provvigione (2)" KEY "Provvigione (2)"
@ -549,7 +549,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT1 14 NUMBER F_FAT1 15
BEING BEING
KEY "Fatturato (1)" KEY "Fatturato (1)"
PROMPT 4 1 "" PROMPT 4 1 ""
@ -557,7 +557,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO1 14 NUMBER F_PRO1 15
BEING BEING
KEY "Provvigione (1)" KEY "Provvigione (1)"
PROMPT 5 1 "" PROMPT 5 1 ""
@ -572,7 +572,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT2 14 NUMBER F_FAT2 15
BEING BEING
KEY "Fatturato (2)" KEY "Fatturato (2)"
PROMPT 7 1 "" PROMPT 7 1 ""
@ -580,7 +580,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO2 14 NUMBER F_PRO2 15
BEING BEING
KEY "Provvigione (2)" KEY "Provvigione (2)"
PROMPT 8 1 "" PROMPT 8 1 ""
@ -595,7 +595,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT3 14 NUMBER F_FAT3 15
BEING BEING
KEY "Fatturato (3)" KEY "Fatturato (3)"
PROMPT 4 2 "" PROMPT 4 2 ""
@ -603,7 +603,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO3 14 NUMBER F_PRO3 15
BEING BEING
KEY "Provvigione (3)" KEY "Provvigione (3)"
PROMPT 5 2 "" PROMPT 5 2 ""
@ -618,7 +618,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT4 14 NUMBER F_FAT4 15
BEING BEING
KEY "Fatturato (4)" KEY "Fatturato (4)"
PROMPT 7 2 "" PROMPT 7 2 ""
@ -626,7 +626,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO4 14 NUMBER F_PRO4 15
BEING BEING
KEY "Provvigione (4)" KEY "Provvigione (4)"
PROMPT 8 2 "" PROMPT 8 2 ""
@ -641,7 +641,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT5 14 NUMBER F_FAT5 15
BEING BEING
KEY "Fatturato (5)" KEY "Fatturato (5)"
PROMPT 4 3 "" PROMPT 4 3 ""
@ -649,7 +649,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO5 14 NUMBER F_PRO5 15
BEING BEING
KEY "Provvigione (5)" KEY "Provvigione (5)"
PROMPT 5 3 "" PROMPT 5 3 ""
@ -664,7 +664,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT6 14 NUMBER F_FAT6 15
BEING BEING
KEY "Fatturato (6)" KEY "Fatturato (6)"
PROMPT 7 3 "" PROMPT 7 3 ""
@ -672,7 +672,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO6 14 NUMBER F_PRO6 15
BEING BEING
KEY "Provvigione (6)" KEY "Provvigione (6)"
PROMPT 8 3 "" PROMPT 8 3 ""
@ -687,7 +687,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT7 14 NUMBER F_FAT7 15
BEING BEING
KEY "Fatturato (7)" KEY "Fatturato (7)"
PROMPT 4 4 "" PROMPT 4 4 ""
@ -695,7 +695,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO7 14 NUMBER F_PRO7 15
BEING BEING
KEY "Provvigione (7)" KEY "Provvigione (7)"
PROMPT 5 4 "" PROMPT 5 4 ""
@ -710,7 +710,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT8 14 NUMBER F_FAT8 15
BEING BEING
KEY "Fatturato (8)" KEY "Fatturato (8)"
PROMPT 7 4 "" PROMPT 7 4 ""
@ -718,7 +718,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO8 14 NUMBER F_PRO8 15
BEING BEING
KEY "Provvigione (8)" KEY "Provvigione (8)"
PROMPT 8 4 "" PROMPT 8 4 ""
@ -733,7 +733,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT9 14 NUMBER F_FAT9 15
BEING BEING
KEY "Fatturato (9)" KEY "Fatturato (9)"
PROMPT 4 5 "" PROMPT 4 5 ""
@ -741,7 +741,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO9 14 NUMBER F_PRO9 15
BEING BEING
KEY "Provvigione (9)" KEY "Provvigione (9)"
PROMPT 5 5 "" PROMPT 5 5 ""
@ -756,7 +756,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT10 14 NUMBER F_FAT10 15
BEING BEING
KEY "Fatturato (10)" KEY "Fatturato (10)"
PROMPT 7 5 "" PROMPT 7 5 ""
@ -764,7 +764,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO10 14 NUMBER F_PRO10 15
BEING BEING
KEY "Provvigione (10)" KEY "Provvigione (10)"
PROMPT 8 5 "" PROMPT 8 5 ""
@ -779,7 +779,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT11 14 NUMBER F_FAT11 15
BEING BEING
KEY "Fatturato (11)" KEY "Fatturato (11)"
PROMPT 4 6 "" PROMPT 4 6 ""
@ -787,7 +787,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO11 14 NUMBER F_PRO11 15
BEING BEING
KEY "Provvigione (11)" KEY "Provvigione (11)"
PROMPT 5 6 "" PROMPT 5 6 ""
@ -802,7 +802,7 @@ BEGIN
MESSAGE _MONTHRANGE MESSAGE _MONTHRANGE
END END
NUMBER F_FAT12 14 NUMBER F_FAT12 15
BEING BEING
KEY "Fatturato (12)" KEY "Fatturato (12)"
PROMPT 7 6 "" PROMPT 7 6 ""
@ -810,7 +810,7 @@ BEING
GROUP G_TOTAGE GROUP G_TOTAGE
END END
NUMBER F_PRO12 14 NUMBER F_PRO12 15
BEING BEING
KEY "Provvigione (12)" KEY "Provvigione (12)"
PROMPT 8 6 "" PROMPT 8 6 ""

View File

@ -3,13 +3,40 @@ Caption = "Gestione agenti"
Picture = <pr01.bmp> Picture = <pr01.bmp>
Module = 0 Module = 0
Flags = "" Flags = ""
Item_01 = "Tabella tipo percentuale", "pr0 -0 apr", "" Item_01 = "Archivi e tabelle", [PRASSIPR_002]
Item_02 = "Stampa tabella tipo percentuali", "pr0 -1 apr", "" Item_02 = "Stampa archivi e tabelle", [PRASSIPR_003]
Item_03 = "Provvigioni", "pr0 -6", ""
Item_04 = "Stampa provvigioni", [PRASSIPR_004]
Item_05 = "Configurazione modulo", [PRASSIPR_010]
[PRASSIPR_002]
Caption = "Archivi e tabelle"
Picture = <pr01.bmp>
Module = 0
Flags = ""
Item_03 = "Archivio agenti", "pr0 -4", "" Item_03 = "Archivio agenti", "pr0 -4", ""
Item_04 = "Archivio percentuali", "pr0 -5", "" Item_04 = "Archivio percentuali", "pr0 -5", ""
Item_05 = "Archivio provvigioni", "pr0 -6", ""
[PRASSIPR_003]
Caption = "Stampe archivi e tabelle"
Picture = <ba03.bmp>
Module = 0
Flags = ""
Item_06 = "Stampa archivio agenti", "pr1 -0", "" Item_06 = "Stampa archivio agenti", "pr1 -0", ""
Item_07 = "Stampa archivio percentuali", "pr1 -1", "" Item_07 = "Stampa archivio percentuali", "pr1 -1", ""
Item_08 = "Stampa schede", "pr1 -2", ""
Item_09 = "Stampa statistiche", "pr1 -3", ""
[PRASSIPR_004]
Caption = "Stampe"
Picture = <ba03.bmp>
Module = 0
Flags = ""
Item_04 = "Stampa schede", "pr1 -2", ""
Item_05 = "Stampa statistiche", "pr1 -3", ""
[PRASSIPR_010]
Caption = "Configurazione modulo agenti"
Picture = <ba04.bmp>
Module = 0
Flags = ""
Item_01 = "Struttura archivi percentuali", "pr0 -0 apr", ""

View File

@ -502,7 +502,7 @@ bool TStampa_stat::set_print(int i)
_numcol_dati = selmask().get_int(F_PERIODO); _numcol_dati = selmask().get_int(F_PERIODO);
_col_anno =min(_numcol_dati,printmask().get_int(F_COLANNO)); //numero di colonne che formano un "Anno" _col_anno =min(_numcol_dati,printmask().get_int(F_COLANNO)); //numero di colonne che formano un "Anno"
_numcol = _numcol_dati+ (_st_tota ? int((_numcol_dati -1)/_col_anno+1) : 0); _numcol = _numcol_dati+ (_st_tota ? int((_numcol_dati -1)/_col_anno+1) : 0);
_pagewidth=POS_PRIMACOL+int((FORMWIDTH-POS_PRIMACOL)/_largcol)*_largcol; _pagewidth=POS_PRIMACOL+int((printer().formwidth()-POS_PRIMACOL)/_largcol)*_largcol;
// reset delle variabili per la gestione di gruppi ai vari livelli // reset delle variabili per la gestione di gruppi ai vari livelli
_colpage=1; _colpage=1;