Files correlati : sc2.exe pec.frm sc2200a.msk sc2300a.msk MODIFICA CRPA Possibilità di stampare il pagamento del cliente nella testata dell'estratti conto. Aggiunto filtro per ulteriore classificazione nello scadenziario. Possibilità di stampare le note delle scadenze nella stampa scaduto. Possibiltà di stampare il flag di rata bloccata e il dati di analitica e di filtrare per dati analitica nei solleciti. git-svn-id: svn://10.65.10.50/branches/R_10_00@23573 c028cbd2-c16b-5b4b-a496-9718f37d4682
244 lines
7.6 KiB
C++
Executable File
244 lines
7.6 KiB
C++
Executable File
#ifndef __SC2401_H
|
|
#define __SC2401_H
|
|
|
|
#ifndef __FORM_H
|
|
#include <form.h>
|
|
#endif
|
|
|
|
#ifndef __CGSALDAC_H
|
|
#include "../cg/cgsaldac.h"
|
|
#endif
|
|
|
|
#ifndef __SC2102_H
|
|
#include "sc2102.h"
|
|
#endif
|
|
|
|
#ifndef __SC2400A_H
|
|
#include "sc2400a.h"
|
|
#endif
|
|
|
|
#ifndef __SC21PEC_H
|
|
#include "sc21pec.h"
|
|
#endif
|
|
|
|
#ifndef __SCSELECT_H
|
|
#include "scselect.h"
|
|
#endif
|
|
|
|
#ifndef __CLIFO_H
|
|
#include <clifo.h>
|
|
#endif
|
|
|
|
#ifndef __CAUSALI_H
|
|
#include <causali.h>
|
|
#endif
|
|
|
|
class TESSL_mask: public TSelection_mask
|
|
{
|
|
TRelation _ditta;
|
|
TString _tmp;
|
|
protected:
|
|
virtual void on_firm_change();
|
|
virtual void start_run();
|
|
|
|
static bool lingua_handler(TMask_field& f, KEY k);
|
|
static bool codprof_handler(TMask_field& f, KEY k);
|
|
|
|
public:
|
|
const char *get_prof_base() const;
|
|
const TString &get_prof_code() const;
|
|
const char *get_prof_name() const;
|
|
const TString &get_prof_lang() const;
|
|
|
|
bool stampa_saldo() const;
|
|
|
|
TESSL_mask(const char *name);
|
|
virtual ~TESSL_mask();
|
|
};
|
|
|
|
class TESSL_form;
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TESSL_row
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TESSL_row : public TSortable
|
|
{
|
|
TDate _data; // Data scadenza o pagamento
|
|
int _riga; // Riga della fattura
|
|
int _rata; // Numero rata o progrssivo
|
|
|
|
TString _causale; // Codice causale
|
|
TString _descrizione; // Sua descrizione
|
|
|
|
TDate _data_doc; // Data del documento
|
|
TString _num_doc; // Numero documento
|
|
long _num_prot; // Protocollo IVA
|
|
long _num_reg; // Numero registrazione
|
|
TImporto _importo; // Importo in valuta
|
|
real _importo_euro; // Importo in euro
|
|
real _scaduto; // Importo scaduto
|
|
real _esposto; // Importo esposto
|
|
bool _salvo_buon_fine; // Importo esposto salvo buon fine
|
|
real _totale; // Totale documento
|
|
TValuta _valuta; // Codice valuta, data cambio e cambio
|
|
bool _bloccata; // Rata bloccata
|
|
TString _codici_analitica; // codici analitica corrispondenti alle fatture
|
|
|
|
protected: // TSortable
|
|
virtual int compare(const TSortable& s) const;
|
|
void set_imp(TForm_item& fi, const real& imp, const char* cod_val) const;
|
|
|
|
TESSL_form& form() const;
|
|
|
|
public:
|
|
int riga() const { return _riga; }
|
|
int rata() const { return _rata; }
|
|
|
|
void reset_uguali();
|
|
void descrizione(const char* s) { _descrizione = s; }
|
|
void importo(const TImporto& i) { _importo = i; }
|
|
void scaduto(const real& s) { _scaduto = s; }
|
|
void esposto(const real& e) { _esposto = e; }
|
|
void importo_in_euro(const real& imp) { _importo_euro = imp; }
|
|
void salvo_buon_fine(bool sbf) { _salvo_buon_fine = sbf; }
|
|
void rata_bloccata(bool rb) { _bloccata = rb; }
|
|
void codici_analitica(const char * s) { _codici_analitica = s; }
|
|
|
|
const TString& causale() const { return _causale; }
|
|
const TString& descrizione() const { return _descrizione; }
|
|
long num_reg() const { return _num_reg; }
|
|
const TValuta& valuta() const { return _valuta; }
|
|
const TImporto& importo() const { return _importo; }
|
|
const real& importo_in_euro() const { return _importo_euro; }
|
|
const real& scaduto() const { return _scaduto; }
|
|
const real& esposto() const { return _esposto; }
|
|
const TDate& data() const { return _data; }
|
|
bool in_valuta() const { return _valuta.in_valuta(); }
|
|
|
|
void print_on(TPrint_section& body);
|
|
|
|
TESSL_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata);
|
|
TESSL_row(const char* desc, const TImporto& imp, const TValuta& val);
|
|
virtual ~TESSL_row() {}
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TESSL_form: form speciale per estratti conto
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TESSL_form : public TForm
|
|
{
|
|
friend class TESSL_row;
|
|
|
|
static TESSL_form* _form;
|
|
|
|
enum { MAXTOT = 16 };
|
|
|
|
TCursor* _cursore;
|
|
TTotalizer _totali;
|
|
|
|
TString _lingua;
|
|
TDate _dlo, _dls, _dir;
|
|
|
|
int _fincatura; // 0 = nessuna, 1 = testo, 2 = grafica
|
|
char _who;
|
|
|
|
int _giorni_rischio;
|
|
word _maxtot; // numero massimo di totali
|
|
|
|
bool _in_valuta;
|
|
bool _stampa_esp;
|
|
bool _stampa_saldo; // Stampa il saldo di ogni partita
|
|
|
|
TToken_string _anal_filter;
|
|
|
|
word _num_rip; // numero di righe usate per i riporti
|
|
word _total_rows; // numero di righe usate per i totali
|
|
|
|
TDecoder _causali; // Decodificatore dei codici causale
|
|
TDecoder _movimenti; // Decodificatore delle descrizioni dei movimenti
|
|
TDecoder _valute; // Decodificatore dei codici valuta
|
|
|
|
protected:
|
|
void init_header(const TMask& m);
|
|
word ordina_totali_per_valuta(THash_object* tot[MAXTOT]);
|
|
int find_magic(TString& s, TString& magic1, TString& magic2) const;
|
|
void change_magic_body(const TESSL_row& o, TString& s);
|
|
void change_magic_footer(const THash_object& o, TString& s);
|
|
// void modify_picture(TForm_item& fi, TString_array& op, const bool in_valuta);
|
|
void print_total(int riga, const THash_object& o);
|
|
|
|
void stampa_testata(TPrinter& p);
|
|
void stampa_pedata(TPrinter& p);
|
|
void stampa_riporti(TPrinter& p);
|
|
|
|
static void header_handler(TPrinter& p);
|
|
static void footer_handler(TPrinter& p);
|
|
|
|
public:
|
|
TTotalizer& totali() { return _totali; }
|
|
TDecoder& causali() { return _causali; }
|
|
TDecoder& valute() { return _valute; }
|
|
TDecoder& movimenti() { return _movimenti; }
|
|
|
|
const TDate& data_limite_operazione() const { return _dlo; }
|
|
const TDate& data_limite_scaduto() const { return _dls; }
|
|
int giorni_rischio() const { return _giorni_rischio; }
|
|
const TDate& data_inizio_rischio() const { return _dir; }
|
|
|
|
const TString& lingua() const { return _lingua; }
|
|
bool in_valuta() const { return _in_valuta; }
|
|
const TString& describe(short id, char sez = 'H', pagetype pt = last_page) const;
|
|
const char sezione_normale() const { return _who == 'C' ? 'D' : 'A' ; }
|
|
|
|
void stampa_saldo(bool ss = TRUE) { _stampa_saldo = ss; }
|
|
void anal_filter(const TToken_string & f) { _anal_filter = f; }
|
|
const TToken_string &get_anal_filter() const { return _anal_filter; }
|
|
|
|
void azzera_totali();
|
|
void ultima_pagina();
|
|
virtual bool print_game(const TPartita& game);
|
|
|
|
TESSL_form(const TESSL_mask& m, bool gesval, short id_datalim = 0 , short id_datascad = 0, short id_giorni_rischio = 0);
|
|
virtual ~TESSL_form();
|
|
};
|
|
|
|
///////////////////////////////////////////////////////////
|
|
// TESSL_array
|
|
///////////////////////////////////////////////////////////
|
|
|
|
class TESSL_array : public TArray
|
|
{
|
|
TArray _scaduto; // Array di importi scaduti
|
|
TDecoder _anal;
|
|
|
|
|
|
const TESSL_form* _form;
|
|
|
|
protected:
|
|
TESSL_row& new_row(const TRiga_partite& row, const TDate& data, const TImporto& imp, int rata = 0);
|
|
void add_row(const TRiga_partite& row);
|
|
|
|
const TESSL_form& form() const { return *_form; }
|
|
real calcola_scaduto(const TRiga_scadenze& rata, bool valuta);
|
|
|
|
|
|
TImporto* importo_riga_scaduto_ptr(int n) const { return (TImporto*)_scaduto.objptr(n); }
|
|
TImporto& importo_riga_scaduto(int n);
|
|
|
|
TImporto importo(const TPartita& game, const TRectype& pag, bool valuta) const;
|
|
|
|
static TPartita* _sort_game;
|
|
static int ordina_pag(const void* pag1, const void* pag2);
|
|
void arrange_scaduto(const TPartita& game);
|
|
|
|
public:
|
|
TESSL_row& row(int r) const { return (TESSL_row&)operator[](r); }
|
|
|
|
TESSL_array(const TPartita& game, const TESSL_form* f);
|
|
virtual ~TESSL_array() {}
|
|
};
|
|
|
|
#endif // __SC2401_H
|