From 8f2fd1122d3a3b9bd9aecc4797f6f18463ff2e38 Mon Sep 17 00:00:00 2001 From: guy Date: Fri, 9 Aug 1996 08:32:24 +0000 Subject: [PATCH] aggiunta busta e corretta stampa firme git-svn-id: svn://10.65.10.50/trunk@3351 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- m770/77busta.frm | 2 +- m770/77stq.cpp | 96 ++++++++++++++++++++++++++++++------------------ 2 files changed, 61 insertions(+), 37 deletions(-) diff --git a/m770/77busta.frm b/m770/77busta.frm index 691eee3ed..b3d971dc9 100755 --- a/m770/77busta.frm +++ b/m770/77busta.frm @@ -335,7 +335,7 @@ BEGIN KEY "C.A.P. Ufficio distrettuale" PROMPT 138 46 "" FIELD 204@->S7 - FILED 213@->CAPCOM + FIELD 213@->CAPCOM GROUP 20 END diff --git a/m770/77stq.cpp b/m770/77stq.cpp index 19efa9aa2..cc7c50b99 100755 --- a/m770/77stq.cpp +++ b/m770/77stq.cpp @@ -4003,6 +4003,7 @@ protected: void stampa_corpo(TPrinter& pr); void stampa_totali(TPrinter& pr); + void stampa_firma(TPrinter& pr); public: TQuadroA(const char* form, const char* quadro) : TDicForm(form, quadro) {} @@ -4044,6 +4045,26 @@ void TQuadroA::stampa_totali(TPrinter& pr) } } +void TQuadroA::stampa_firma(TPrinter& pr) +{ + TPrint_section& totali = section('F', last_page); + totali.update(); + + TForm_item& signature = totali.find_field(2); + const int lasty = signature.y(); + TPrintrow empty; + + for (int i = 0; i < totali.items(); i++) + { + if (i < lasty) + pr.print(empty); + else + pr.print(totali.row(i)); + _RigaCorr++; + } +} + + void TQuadroA::next_page(TPrinter& pr) { fill_page(pr, -1); // formfeed "adattato" @@ -4184,12 +4205,15 @@ bool TQuadroA::print(const long codditta, const long NumFis, const long NumNoFis if (elementi >= elementi_pagina(QUARTA)) { + jump_to_line(pr, riga_totali(QUARTA)); if (stampato_ultimo) { - jump_to_line(pr, riga_totali(QUARTA)); stampa_totali(pr); stampati_totali = TRUE; } + else + stampa_firma(pr); + next_page(pr); elementi = 0; } @@ -4880,19 +4904,19 @@ HIDDEN const int BASE_PAGINE = 4; class TBase1 : public TDicForm { private: - long _codditta; - TRelation* r; // usate per contare i soci - TCursor* c; - long iContaSoci(); + long _codditta; + TRelation* r; // usate per contare i soci + TCursor* c; + long iContaSoci(); protected: void stampa_corpo(TPrinter& pr); void stampa_soci(TPrinter& pr); - virtual int dic_form_len() const { return BASE_FORMLEN-2; } - virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } - virtual void stampa_totali(TPrinter& pr) {} - virtual void aggiorna_totali(const char tipo) {} - virtual void set_body(TPrinter& pr, const char tipo) {} - virtual int prima_riga(PaginaQuadro p) const { return 11; } + virtual int dic_form_len() const { return BASE_FORMLEN-2; } + virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } + virtual void stampa_totali(TPrinter& pr) {} + virtual void aggiorna_totali(const char tipo) {} + virtual void set_body(TPrinter& pr, const char tipo) {} + virtual int prima_riga(PaginaQuadro p) const { return 11; } public: virtual bool print(const long codditta, const long NumFis, const long NumNoFis); TBase1(const char* sNomeForm, const char* quadro); @@ -4975,8 +4999,8 @@ void TBase1::stampa_soci(TPrinter& pr) fut.field(4).set(sDataNa); fut.field(5).set(sCodFis); fut.field(6).set(sCodQua); - pr.print(fut.row(i++)); - _RigaCorr++; + pr.print(fut.row(i++)); + _RigaCorr++; } } if (usa_progind()) progind()->addstatus(1); @@ -5006,15 +5030,15 @@ bool TBase1::print(const long codditta, const long NumFis, const long NumNoFis) class TBase2 : public TDicForm { private: - long _codditta; + long _codditta; protected: void stampa_corpo(TPrinter& pr); - virtual int dic_form_len() const { return BASE_FORMLEN; } - virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } - virtual void stampa_totali(TPrinter& pr) {} - virtual void aggiorna_totali(const char tipo) {} - virtual void set_body(TPrinter& pr, const char tipo) {} - virtual int prima_riga(PaginaQuadro p) const { return 1;} + virtual int dic_form_len() const { return BASE_FORMLEN; } + virtual void next_page(TPrinter& pr) { fill_page(pr, -1); } + virtual void stampa_totali(TPrinter& pr) {} + virtual void aggiorna_totali(const char tipo) {} + virtual void set_body(TPrinter& pr, const char tipo) {} + virtual int prima_riga(PaginaQuadro p) const { return 1;} public: virtual bool print(const long codditta, const long NumFis, const long NumNoFis); TBase2(const char* sNomeForm, const char* quadro) : TDicForm(sNomeForm, quadro) {} @@ -5052,22 +5076,22 @@ bool TBase2::print(const long codditta, const long NumFis, const long NumNoFis) class TStampaBase : public TStampaQuadro { - private: - TBase1* _fBase1; - TBase2* _fBase2; - TRelation* _rel; - TCursor* _cur, *_cur2; - - protected: - virtual bool user_create(); - virtual bool user_destroy(); - virtual bool conta_tipi_per() const { return FALSE; } - virtual TDicForm* get_form() const { return _fBase1; } - virtual TCursor* get_cursor() const { return _cur; } - virtual bool print_quadro(const int OffsetDitta, const bool modulaser); - - public: - TStampaBase(char livel) : TStampaQuadro("Base", livel) { } + private: + TBase1* _fBase1; + TBase2* _fBase2; + TRelation* _rel; + TCursor* _cur, *_cur2; + + protected: + virtual bool user_create(); + virtual bool user_destroy(); + virtual bool conta_tipi_per() const { return FALSE; } + virtual TDicForm* get_form() const { return _fBase1; } + virtual TCursor* get_cursor() const { return _cur; } + virtual bool print_quadro(const int OffsetDitta, const bool modulaser); + + public: + TStampaBase(char livel) : TStampaQuadro("Base", livel) { } }; bool TStampaBase::user_create()