aggiunto stampa allegato soci

git-svn-id: svn://10.65.10.50/trunk@3799 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
cris 1996-10-21 09:20:02 +00:00
parent 997973b645
commit 47f755913e
4 changed files with 304 additions and 0 deletions

154
m770/77as.frm Executable file
View File

@ -0,0 +1,154 @@
USE 12
JOIN 9 INTO CODDITTA=CODDITTA
JOIN 6 INTO TIPOA=TIPOASOC CODANAGR=CODANAGRSO
JOIN 8 TO 6 ALIAS 108 INTO CODANAGR=CODANAGR
JOIN 13 TO 108@ ALIAS 113 INTO COM==COMNASC
END
DESCRIPTION
BEGIN
12->* "Soci"
9->* "Ditte"
6->* "Anagrafica persone fisiche e giuridiche"
108@->* "Anagrafica persone fisiche"
113@->* "Comuni (nascita)"
END
GENERAL
BEGIN
OFFSET 0 0
FONT "Courier New"
SIZE 11
CARATTERE "X"
INIZIO_POS 1 1
FINE_POS 131
GRID "+++++++++-|"
END
SECTION HEADER FIRST 9
STRINGA 1
BEGIN
KEY "INTESTAZIONE 1"
PROMPT 1 1 "MOD. 770/96 DICHIARAZIONE DEL SOSTITUTO D'IMPOSTA: DENOMINAZIONE SOSTITUTO"
END
STRINGA 2
BEGIN
KEY "INTESTAZIONE 2"
PROMPT 1 3 " ELENCO NOMINATIVO DEGLI AMMINISTRATORI E DEI COMPONENTI DEL COLLEGIO SINDACALE"
END
STRINGA 3
BEGIN
KEY "INTESTAZIONE 3"
PROMPT 1 4 " O DI ALTRO ORGANO DI CONTROLLO DELLA SOCIETA' O ENTE"
END
STRINGA 4
BEGIN
KEY "INTESTAZIONE 4"
PROMPT 1 5 " (o, in mancanza, dei soggetti che rispondono personalmente delle obbligazioni della societa' o ente)"
END
STRINGA 5
BEGIN
KEY "INTESTAZIONE 5"
PROMPT 1 7 "-----------------------------------------------------------------------------------------------------------------------------------"
END
STRINGA 6
BEGIN
KEY "INTESTAZIONE 6"
PROMPT 1 8 "N.ord. Cognome e nome Sesso Comune di nascita Prov. Data Codice fiscale Qual."
// 11111111111111111111111111111111
// 11111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233
// 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901
// 12345 123456789012345678901234567890 123456789012345678901 1 12345678901234567890 12 12/12/123 1234567890123456 1
END
STRINGA 7
BEGIN
KEY "INTESTAZIONE 7"
PROMPT 1 9 "-----------------------------------------------------------------------------------------------------------------------------------"
END
STRINGA 8
BEGIN
KEY "RAGIONE SOCIALE"
//PROMPT 31 2 ""
PROMPT 82 1 ""
FIELD 9->RAGSOC
FIELD 9->RAGSOC
END
END
SECTION BODY ODD 1
NUMERO 1
BEGIN
KEY "N.ORD"
PROMPT 1 1 ""
PICTURE "#####"
END
STRINGA 2
BEGIN
KEY "COGNOME"
PROMPT 9 1 ""
FIELD 6->RAGSOC[1,30]
END
STRINGA 3
BEGIN
KEY "NOME"
PROMPT 40 1 ""
FIELD 6->RAGSOC[31,50]
END
STRINGA 4
BEGIN
KEY "SESSO"
PROMPT 64 1 ""
FIELD 108@->SESSO
END
STRINGA 5
BEGIN
KEY "COMUNE DI NASCITA"
PROMPT 69 1 ""
FIELD 113@->DENCOM[1,20]
END
STRINGA 6
BEGIN
KEY "PROV. DI NASCITA"
PROMPT 92 1 ""
FIELD 113@->PROVCOM
END
STRINGA 7
BEGIN
KEY "DATA DI NASCITA"
PROMPT 98 1 ""
FIELD 108@->DATANASC
END
STRINGA 8
BEGIN
KEY "CODICE FISCALE"
PROMPT 109 1 ""
FIELD 6->COFI
END
STRINGA 9
BEGIN
KEY "QUALIFICA"
PROMPT 128 1 ""
FIELD 12->RICQUAL
END
END
END

99
m770/77stas.cpp Executable file
View File

@ -0,0 +1,99 @@
// stampa allegato soci
#include "77stba.h"
#include "soci.h"
bool AlleSoci_filter_function(const TRelation* rel)
{
TString qual(3);
qual = rel->lfile(LF_SOCI).get(SOCI_RICQUAL);
return (qual=="A" || qual=="B" || qual=="C");
}
long TAlleSoci::filtra(const long codditta)
{
TString filtro(24);
_codditta=codditta;
TLocalisamfile& fl = cursor()->file(LF_SOCI);
TRectype da(fl.curr());
TRectype a(fl.curr());
da.zero();
a.zero();
da.put(SOCI_CODDITTA, codditta);
da.put(SOCI_ATTPREC, "A");
da.put(SOCI_TIPOASOC, "F");
a.put(SOCI_CODDITTA, codditta);
a.put(SOCI_ATTPREC, "A");
a.put(SOCI_TIPOASOC, "F");
cursor()->setregion(da, a);
cursor()->set_filterfunction(AlleSoci_filter_function);
const long items = cursor()->items();
return items;
}
void TAlleSoci::set_testata(TPrinter& pr)
{
TPrint_section& header = section('H', first_page);
header.update();
const int header_righe = header.height();
for (int i = 0; i < header_righe; i++)
pr.setheaderline(i, header.row(i));
}
void TAlleSoci::stampa_corpo(TPrinter& pr)
{
TPrint_section& body = section('B', odd_page);
_nprog++;
TForm_item& item_nprog = body.find_field(1);
TString snprog(5);
snprog << _nprog;
item_nprog.set(snprog);
body.update();
const int body_righe = body.height();
for (int i = 0; i < body_righe; i++)
{
pr.print(body.row(i));
_RigaCorr++;
}
if (usa_progind())
progind()->addstatus(1);
}
bool TAlleSoci::print(const long codditta, const long NumFis, const long NumNoFis)
{
TCursor* cur = cursor();
TPrinter& pr = printer();
const long numsoci = filtra(codditta);
if (numsoci <= 11)
return FALSE;
(*cur)=0L;
set_testata(pr);
_RigaCorr=0;
_nprog=0;
for ((*cur)=0L; cur->ok(); ++(*cur))
stampa_corpo(pr);
pr.formfeed();
close_print();
return TRUE;
}
bool TStampaAlleSoci::user_create()
{
_form = new TAlleSoci("77AS", quadro());
_form->set_cursor(_form->TForm::cursor());
_cur = _form->cursor();
_rel = _form->relation();
return TRUE;
}
bool TStampaAlleSoci::user_destroy()
{
delete _form;
return TRUE;
}

View File

@ -323,5 +323,40 @@ class TStampaQuadroAggN : public TStampaQuadro
virtual ~TStampaQuadroAggN() { }
};
class TAlleSoci : public TDicForm
{
long _codditta;
int _nprog;
protected:
void stampa_corpo(TPrinter& pr);
void set_testata(TPrinter& pr);
virtual long filtra(const long codditta);
public:
virtual bool print(const long codditta, const long NumFis = 0, const long NumNoFis = 0);
TAlleSoci(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {}
virtual ~TAlleSoci() {}
};
class TStampaAlleSoci : public TStampaQuadro
{
private:
TAlleSoci* _form;
TRelation* _rel;
TCursor* _cur;
protected:
virtual bool conta_tipi_per() const { return FALSE; }
virtual TDicForm* get_form() const { return _form; }
virtual TCursor* get_cursor() const { return _cur; }
virtual bool user_create();
virtual bool user_destroy();
public:
TStampaAlleSoci(const char* quadro, char liv):TStampaQuadro(quadro, liv) {}
virtual ~TStampaAlleSoci() { }
};
#endif

16
m770/soci.h Executable file
View File

@ -0,0 +1,16 @@
// campi archivio SOCI
#define SOCI_CODDITTA "CODDITTA"
#define SOCI_ATTPREC "ATTPREC"
#define SOCI_TIPOASOC "TIPOASOC"
#define SOCI_CODANAGRSO "CODANAGRSO"
#define SOCI_DATAAGG "DATAAGG"
#define SOCI_CODCAR "CODCAR"
#define SOCI_SCADCAR "SCADCAR"
#define SOCI_NQUOTEAZ "NQUOTEAZ"
#define SOCI_PERCQUAZ "PERCQUAZ"
#define SOCI_PERCAZREDD "PERCAZREDD"
#define SOCI_PERCAZPERD "PERCAZPERD"
// MANCANO DEI CAMPI
#define SOCI_RICQUAL "RICQUAL"