Patch level : nopatch
Files correlati : Commento : Implementazione nuovo modulo FP
This commit is contained in:
parent
3d906254a0
commit
fec596bb45
@ -17,7 +17,6 @@
|
|||||||
#define FILTER_ALL "A"
|
#define FILTER_ALL "A"
|
||||||
#define FILTER_CONT "C"
|
#define FILTER_CONT "C"
|
||||||
#define PARA_FP "fp"
|
#define PARA_FP "fp"
|
||||||
#define F1_INIREGCONT "regcont"
|
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
|
@ -150,7 +150,7 @@ void TPAR_mask::fill()
|
|||||||
const TCli_for & cli = cached_clifor(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
const TCli_for & cli = cached_clifor(mov.get_char(MOV_TIPO), mov.get_long(MOV_CODCF));
|
||||||
bool sent = false;
|
bool sent = false;
|
||||||
|
|
||||||
if (chiave_paf_mov(mov, tipodocsdi, hfatt, bfatt))
|
if (chiave_paf_mov(mov, hfatt, bfatt))
|
||||||
{
|
{
|
||||||
if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*")
|
if (paf0100f.search(nullptr, hfatt, bfatt) && paf0100f.sq_get("P1_GESTIONE") != " " && paf0100f.sq_get("P1_ERRINT") != "*")
|
||||||
{
|
{
|
||||||
@ -598,7 +598,7 @@ void TPAR_mask::set_err_paf()
|
|||||||
TString hfatt, bfatt;
|
TString hfatt, bfatt;
|
||||||
TPaf_record paf0100f("PAF0100F");
|
TPaf_record paf0100f("PAF0100F");
|
||||||
|
|
||||||
if (chiave_paf_mov(mov, tipodocsdi, hfatt, bfatt) && paf0100f.search(nullptr, hfatt, bfatt))
|
if (chiave_paf_mov(mov, hfatt, bfatt) && paf0100f.search(nullptr, hfatt, bfatt))
|
||||||
{
|
{
|
||||||
TString query;
|
TString query;
|
||||||
query <<
|
query <<
|
||||||
|
125
src/fp/fplib.h
125
src/fp/fplib.h
@ -7,6 +7,7 @@
|
|||||||
|
|
||||||
#include "../ve/velib05.h"
|
#include "../ve/velib05.h"
|
||||||
#include "../fe/felib.h"
|
#include "../fe/felib.h"
|
||||||
|
#include <reprint.h>
|
||||||
#include <reputils.h>
|
#include <reputils.h>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
@ -35,13 +36,13 @@ TString& complete_num_fp(const TCodice_numerazione& codnum, const int numdoc);
|
|||||||
|
|
||||||
|
|
||||||
// Genera la chiave per i paf
|
// Genera la chiave per i paf
|
||||||
bool chiave_paf_mov(const TRectype& mov, const TString & tipodoc, TString& hfatt, TString& bfatt);
|
bool chiave_paf_mov(const TRectype& mov, TString& hfatt, TString& bfatt);
|
||||||
bool chiave_paf_doc(const TDocumento& doc, TString& hfatt, TString& bfatt);
|
bool chiave_paf_doc(const TDocumento& doc, TString& hfatt, TString& bfatt);
|
||||||
bool chiave_paf_doc(const TRectype& doc, TString& hfatt, TString& bfatt);
|
bool chiave_paf_doc(const TRectype& doc, TString& hfatt, TString& bfatt);
|
||||||
// Ritorna cod sdi, pec o vuoto. Chiama get_coddest()
|
// Ritorna cod sdi, pec o vuoto. Chiama get_coddest()
|
||||||
TString get_dest_sdi(char tipocf, long codcf, const TString& cod_ind_sped);
|
TString get_dest_sdi(char tipocf, long codcf, const TString& cod_ind_sped);
|
||||||
// Valorizza codice sdi e pec in base alle configurazioni del monitor
|
// Valorizza codice sdi e pec in base alle configurazioni del monitor
|
||||||
bool get_coddest(char tipocf, long codcf, TString& coddest, TString& pec, const TString& cod_ind_sped);
|
bool get_coddest(char tipocf, long codcf, TString& coddest, TString& pec, const TString& cod_ind_sped = EMPTY_STRING);
|
||||||
const TString& tipo_doc_sdi(const TDocumento& doc);
|
const TString& tipo_doc_sdi(const TDocumento& doc);
|
||||||
|
|
||||||
// Controlli comuni
|
// Controlli comuni
|
||||||
@ -451,7 +452,17 @@ public:
|
|||||||
virtual ~TFP_expression() {};
|
virtual ~TFP_expression() {};
|
||||||
};
|
};
|
||||||
|
|
||||||
// Gestione PAF
|
/*
|
||||||
|
/$$$$$$$$ /$$$$$$$
|
||||||
|
|__ $$__/| $$__ $$
|
||||||
|
| $$ | $$ \ $$ /$$$$$$ /$$$$$$$
|
||||||
|
| $$ | $$ | $$ /$$__ $$ /$$_____/
|
||||||
|
| $$ | $$ | $$| $$ \ $$| $$
|
||||||
|
| $$ | $$ | $$| $$ | $$| $$
|
||||||
|
| $$ | $$$$$$$/| $$$$$$/| $$$$$$$
|
||||||
|
|__/ |_______/ \______/ \_______/
|
||||||
|
*/
|
||||||
|
|
||||||
class TDoc_fp : public TObject
|
class TDoc_fp : public TObject
|
||||||
{
|
{
|
||||||
friend class TFP_custom;
|
friend class TFP_custom;
|
||||||
@ -462,7 +473,7 @@ private:
|
|||||||
TAnagrafica _ditta;
|
TAnagrafica _ditta;
|
||||||
TString16 _cofi;
|
TString16 _cofi;
|
||||||
TFilename _dbname;
|
TFilename _dbname;
|
||||||
TLog_report* _log;
|
TLog_report _log;
|
||||||
TString _logpaf;
|
TString _logpaf;
|
||||||
bool _gestioneallegati;
|
bool _gestioneallegati;
|
||||||
bool _allegafattura;
|
bool _allegafattura;
|
||||||
@ -542,7 +553,7 @@ protected:
|
|||||||
const TString& descrizione(const TRiga_documento& rdoc);
|
const TString& descrizione(const TRiga_documento& rdoc);
|
||||||
const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta
|
const TRectype& cco(const TRectype& doc) const; // Contratto/Convenzione/Offerta
|
||||||
|
|
||||||
void log(int severity, const char* msg);
|
|
||||||
const TString & natura(const char* codiva) const;
|
const TString & natura(const char* codiva) const;
|
||||||
static const char* get_esigibilita_iva(const TDocumentoEsteso& doc);
|
static const char* get_esigibilita_iva(const TDocumentoEsteso& doc);
|
||||||
void set_IVA(TString codiva, TPaf_record& paf) const;
|
void set_IVA(TString codiva, TPaf_record& paf) const;
|
||||||
@ -581,4 +592,108 @@ public:
|
|||||||
TDoc_fp();
|
TDoc_fp();
|
||||||
~TDoc_fp();
|
~TDoc_fp();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
/$$$$$$$$ /$$$$$$$
|
||||||
|
|__ $$__/| $$__ $$
|
||||||
|
| $$ | $$ \ $$ /$$$$$$ /$$$$$$
|
||||||
|
| $$ | $$$$$$$/ /$$__ $$ /$$__ $$
|
||||||
|
| $$ | $$__ $$| $$$$$$$$| $$ \ $$
|
||||||
|
| $$ | $$ \ $$| $$_____/| $$ | $$
|
||||||
|
| $$ | $$ | $$| $$$$$$$| $$$$$$$
|
||||||
|
|__/ |__/ |__/ \_______/ \____ $$
|
||||||
|
/$$ \ $$
|
||||||
|
| $$$$$$/
|
||||||
|
\______/
|
||||||
|
*/
|
||||||
|
|
||||||
|
class TReg_fp : public TObject
|
||||||
|
{
|
||||||
|
friend class TFP_custom;
|
||||||
|
|
||||||
|
private:
|
||||||
|
TAnagrafica _ditta;
|
||||||
|
TString16 _cofi;
|
||||||
|
TFilename _dbname;
|
||||||
|
TLog_report _log;
|
||||||
|
TString _logpaf;
|
||||||
|
bool _gestioneallegati;
|
||||||
|
bool _allegafattura;
|
||||||
|
TString _def_fld;
|
||||||
|
TString _def_usr_fld;
|
||||||
|
bool _to_commit;
|
||||||
|
bool _cache_insert;
|
||||||
|
vector<TString> _query;
|
||||||
|
TString8 _hfatt; // Codice univoco di 6 caratteri dell'ufficio P.A. o di 7 caratteri per un privato
|
||||||
|
TString _bfatt; // Codice univoco di 20 caratteri del Regumento
|
||||||
|
TString _paese;
|
||||||
|
bool _enapec;
|
||||||
|
bool _privato;
|
||||||
|
TString _coddest;
|
||||||
|
TString _pec;
|
||||||
|
bool _is_pa;
|
||||||
|
TString _codivadefault;
|
||||||
|
long _idx_cassa_previdenziale;
|
||||||
|
long _idx_adg_reg_row; // Indice per la tabella altri dati gestionali della riga
|
||||||
|
int _num_linea;
|
||||||
|
int _counter;
|
||||||
|
TPaf_container _paf_container;
|
||||||
|
int _count_r_conai;
|
||||||
|
bool _nascondi_sconti_righe_fatt;
|
||||||
|
TFP_nota_piede_f _riga_npf;
|
||||||
|
bool _has_cust;
|
||||||
|
|
||||||
|
bool insert(TPaf_record& p);
|
||||||
|
bool remove(TPaf_record& p);
|
||||||
|
void reset(TPaf_record& p) const { TPaf_container::set_keys_paf(p, _hfatt, _bfatt); }
|
||||||
|
bool save_paf();
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
/**< Funzioni di controllo */
|
||||||
|
/**< Controlli di testata, non const per il calcolo della codizione di pagamento */
|
||||||
|
bool check_initial(const TMovimento_contabile& mov);
|
||||||
|
/**< Controllo di riga */
|
||||||
|
bool check_row(const TMovimento_contabile& mov, int n_riga);
|
||||||
|
/**< Controllo riepilogo IVA */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bool initialize(const TMovimento_contabile& Reg);
|
||||||
|
//static bool get_bnp_iban(const TString& abi, const TString& cab, int prg, TString& iban);
|
||||||
|
//bool get_bank(TRegumento& Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
|
||||||
|
//bool get_bank_presentazione(const TRegumento& Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
|
||||||
|
//bool get_bank_appoggio(const TRegumento& Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
|
||||||
|
const TString& descrizione(const TMovimento_contabile& mov, int n_riga) const { return mov.cg()[n_riga].get((RMV_DESCR));}
|
||||||
|
|
||||||
|
|
||||||
|
void save_log() { TReport_book b; b.add(_log); b.export_text(TFilename("fp_err.log"), false, 132); }
|
||||||
|
const TString & natura(const char* codiva) const;
|
||||||
|
static const char* get_esigibilita_iva(const TMovimento_contabile& Reg);
|
||||||
|
void set_IVA(TString codiva, TPaf_record& paf) const;
|
||||||
|
void set_IVA(const TMovimento_contabile& mov, int n_row, TPaf_record& paf) const;
|
||||||
|
bool add_row_art(long& riga_art, const TString& codice_tipo, const TString& codice_valore, TPaf_record& paf);
|
||||||
|
bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf);
|
||||||
|
void set_qta_prezzo(TPaf_record& paf1800f, const TMovimento_contabile& mov, int n_row) const;
|
||||||
|
void add_ritenuta(const TMovimento_contabile & mov, int n_row, TPaf_record& paf0700f) const;
|
||||||
|
bool add_riepilogo_iva(const TMovimento_contabile mov, int n_riga);
|
||||||
|
|
||||||
|
const TFirm& TReg_fp::get_firm(){return prefix().firm();}
|
||||||
|
|
||||||
|
bool export_paf0100f();
|
||||||
|
bool export_paf3200f();
|
||||||
|
|
||||||
|
public:
|
||||||
|
bool reg_to_paf(const TMovimento_contabile& mov);
|
||||||
|
bool reg_to_paf(long n_mov);
|
||||||
|
// Mostra il log a fine esecuzione
|
||||||
|
bool show_log();
|
||||||
|
int commit();
|
||||||
|
int force_commit();
|
||||||
|
void set_cache_insert(const bool v) { _cache_insert = v; }
|
||||||
|
|
||||||
|
TReg_fp();
|
||||||
|
~TReg_fp();
|
||||||
|
};
|
||||||
#endif // __FPLIB_H
|
#endif // __FPLIB_H
|
||||||
|
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user