Modifiche per Enrica; ignoro il perche' di tutti questi files
git-svn-id: svn://10.65.10.50/trunk@1594 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e1a11db75e
commit
5be54e7198
2124
cg/cg0400.cpp
2124
cg/cg0400.cpp
File diff suppressed because it is too large
Load Diff
7052
cg/cg3200.cpp
7052
cg/cg3200.cpp
File diff suppressed because it is too large
Load Diff
@ -147,7 +147,7 @@ bool TLiquidazione_app::update_firm(int month, bool recalc)
|
||||
|
||||
look_lim(liq_month(month), TRUE);
|
||||
|
||||
if (_isregis && _lim->get_bool("B1") && _month != 13)
|
||||
if (_isfinal && _lim->get_bool("B1") && _month != 13)
|
||||
return TRUE;
|
||||
|
||||
TConfig cnf(CONFIG_DITTA, "cg");
|
||||
@ -1578,6 +1578,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
TString s7 = _lim->get("S7");
|
||||
TString s0 = _lim->get("S0");
|
||||
TString s1 = _lim->get("S1");
|
||||
bool wasb0 = _lim->get_bool("B0");
|
||||
bool wasb1 = _lim->get_bool("B1");
|
||||
|
||||
_lim->zero();
|
||||
_lim->put("CODTAB", codtab);
|
||||
@ -1585,7 +1587,9 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
||||
_lim->put("R5", r5);
|
||||
_lim->put("S0", s0);
|
||||
_lim->put("S1", s1);
|
||||
_lim->put("S7", s7);
|
||||
_lim->put("S7", s7);
|
||||
_lim->put("B0", wasb0 ? "X" : "");
|
||||
_lim->put("B1", wasb1 ? "X" : "");
|
||||
|
||||
/*
|
||||
* versamenti effettuati: si conteggiano in R0,
|
||||
|
320
cg/cg4400.h
320
cg/cg4400.h
@ -1,160 +1,160 @@
|
||||
//
|
||||
// cg4400.h
|
||||
//
|
||||
#include <isam.h>
|
||||
#include <printapp.h>
|
||||
#include <mask.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <urldefid.h>
|
||||
#include <text.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
#include <sheet.h>
|
||||
#include <config.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <comuni.h>
|
||||
#include <unloc.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <clifo.h>
|
||||
#include <occas.h>
|
||||
#include <causali.h>
|
||||
#include "cglib03.h"
|
||||
#include "cglib04.h"
|
||||
#include "conto.h"
|
||||
|
||||
enum messaggio {
|
||||
no_liquidazione,
|
||||
B0_settato,
|
||||
non_proseguire,
|
||||
prosegui_stampa,
|
||||
prosegui_cal_stampa
|
||||
};
|
||||
|
||||
class CG4400_application : public TPrintapp
|
||||
{
|
||||
TCursor * _cur;
|
||||
TRelation *_rel, *_nditte;
|
||||
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
||||
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
||||
TTable *_tabpla, *_tabppa, *_tabvid;
|
||||
TRigaiva_array _iva_array, _riga_rmi;
|
||||
TTipodoc_array _doc_array;
|
||||
TRiga_array _tot_iva_array;
|
||||
TBit_array _selected;
|
||||
TArray_sheet *_ditte;
|
||||
TArray _nomiditte;
|
||||
bool _st_liq[13];
|
||||
bool _test;
|
||||
TRecnotype _nrec;
|
||||
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
|
||||
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
|
||||
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
|
||||
bool _sosp_imposta;
|
||||
char _frequiva, _tipo_riepilogativo;
|
||||
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
||||
TDate _u_data;
|
||||
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
||||
long _numini, _pagine_stampate;
|
||||
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
||||
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
||||
int _stampa_len, _stampa_mese, _size_header;
|
||||
real _totale_doc, _credito;
|
||||
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
|
||||
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
|
||||
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
|
||||
TFilename _t, _pippo;
|
||||
|
||||
TParagraph_string* _desc27;
|
||||
messaggio _scelta;
|
||||
|
||||
protected:
|
||||
|
||||
static bool filter_func (const TRelation * r);
|
||||
static bool mask_tipo_stampa (TMask_field&, KEY);
|
||||
static bool to_ditt_handler (TMask_field&, KEY);
|
||||
static bool fr_ditt_handler (TMask_field&, KEY);
|
||||
static bool to_butt_handler (TMask_field&, KEY);
|
||||
static bool fr_butt_handler (TMask_field&, KEY);
|
||||
static bool mask_cod (TMask_field&, KEY);
|
||||
static bool mask_libun (TMask_field&, KEY);
|
||||
static bool mask_data (TMask_field&, KEY);
|
||||
static bool mask_mese (TMask_field&, KEY);
|
||||
static bool mask_fino_a_mese (TMask_field&, KEY);
|
||||
static bool mask_select (TMask_field&, KEY);
|
||||
static bool mask_azzera (TMask_field&, KEY);
|
||||
static bool year_handler (TMask_field&, KEY);
|
||||
|
||||
public:
|
||||
|
||||
const char* desc_attivita ();
|
||||
const char* tipo_attivita ();
|
||||
const char* descr_doc ();
|
||||
const char* descr_iva (const char *);
|
||||
TRectype& ricerca_occ(const char*);
|
||||
TRectype& ricerca_cf (char, long);
|
||||
TRectype& look_comuni(const char*);
|
||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
||||
int riga_rmoviva();
|
||||
bool set_print(int);
|
||||
bool set_ditte(TMask&);
|
||||
bool compila_reg(const TMask&);
|
||||
bool compila_lib();
|
||||
messaggio controlla_liquidazione();
|
||||
messaggio controlla_b0();
|
||||
bool controlla_mov();
|
||||
bool stampo_liquidazione(int);
|
||||
bool ventilazione(const char*);
|
||||
bool cerca_libro_gio(TString&, bool*);
|
||||
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
||||
bool look_regs(int, TString&, int, int*, long, bool*);
|
||||
bool stampa_totali_finali();
|
||||
bool stampa_datareg();
|
||||
bool stampa_registri_IVA(const TMask&);
|
||||
bool look_lia(long ditta = 0l);
|
||||
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
||||
void set_choice_limits(TMask&);
|
||||
void build_ditte_sheet();
|
||||
void cerca_reg(const TString&, byte*);
|
||||
void set_page_tot_reg();
|
||||
void send_message(char, const TFilename&,int);
|
||||
void aggiorna_reg(const bool aggiorna_vidi);
|
||||
void aggiorna_lib();
|
||||
void calcola_progressivi();
|
||||
void stampa_liq_mesi_succ();
|
||||
void look_reg();
|
||||
void no_movimenti();
|
||||
void liq_b0_settato();
|
||||
void liq_other_case();
|
||||
bool setta_mask(long);
|
||||
bool preprocess_page(int, int);
|
||||
int stampa_intestazione();
|
||||
int stampa_prospetto();
|
||||
long select_firm_range(long,long);
|
||||
void stampa_plafonds(int);
|
||||
void get_dati_ditta();
|
||||
void stampa_vidi();
|
||||
void scrivi_reg();
|
||||
int stampa_acquisti(int);
|
||||
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
||||
void build_nomiditte(TProgind* pnd = NULL);
|
||||
void set_year(int y) { _annoes = y; }
|
||||
void clear_stliq();
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual print_action postprocess_page (int, int);
|
||||
virtual void preprocess_header();
|
||||
|
||||
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
||||
virtual ~CG4400_application() {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//
|
||||
// cg4400.h
|
||||
//
|
||||
#include <isam.h>
|
||||
#include <printapp.h>
|
||||
#include <mask.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <urldefid.h>
|
||||
#include <text.h>
|
||||
#include <mailbox.h>
|
||||
#include <execp.h>
|
||||
#include <sheet.h>
|
||||
#include <config.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <nditte.h>
|
||||
#include <anagr.h>
|
||||
#include <comuni.h>
|
||||
#include <unloc.h>
|
||||
#include <mov.h>
|
||||
#include <rmoviva.h>
|
||||
#include <clifo.h>
|
||||
#include <occas.h>
|
||||
#include <causali.h>
|
||||
#include "cglib03.h"
|
||||
#include "cglib04.h"
|
||||
#include "conto.h"
|
||||
|
||||
enum messaggio {
|
||||
no_liquidazione,
|
||||
B0_settato,
|
||||
non_proseguire,
|
||||
prosegui_stampa,
|
||||
prosegui_cal_stampa
|
||||
};
|
||||
|
||||
class CG4400_application : public TPrintapp
|
||||
{
|
||||
TCursor * _cur;
|
||||
TRelation *_rel, *_nditte;
|
||||
TLocalisamfile *_clifo, *_occas, *_tab, *_tabcom, *_com, *_anag, *_unloc, *_attiv, *_indlib;
|
||||
TTable *_tabreg, *_tablbu, *_tablim, *_tabpim, *_tablia, *_tabiva;
|
||||
TTable *_tabpla, *_tabppa, *_tabvid;
|
||||
TRigaiva_array _iva_array, _riga_rmi;
|
||||
TTipodoc_array _doc_array;
|
||||
TRiga_array _tot_iva_array;
|
||||
TBit_array _selected;
|
||||
TArray_sheet *_ditte;
|
||||
TArray _nomiditte;
|
||||
bool _st_liq[13];
|
||||
bool _test;
|
||||
TRecnotype _nrec;
|
||||
bool _mov_empty, _stampa_ind_ditta, _stampa_tutti_i_registri, _auto_intraf, _stampa;
|
||||
bool _corrispettivi, _liquidazione, _riep_liq, _stampa_ind_comp, _esiste_riga_iva, _stampa_cred_pre;
|
||||
bool _rif_vid, _intesta_vidi, _intesta_liq, _stampa_data_reg, _ok_vidi;
|
||||
bool _sosp_imposta;
|
||||
char _frequiva, _tipo_riepilogativo;
|
||||
TDate _data_da, _data_a, _data_stampa, _dataregp, _dataregs, _datareg;
|
||||
TDate _u_data;
|
||||
long _n_ditte, _u_stampata, _primast, __firm, _uprotivap, _ditta;
|
||||
long _numini, _pagine_stampate;
|
||||
int _fino_a_mese, _tipo_reg, _tipo_stampa, _cod_un_loc;
|
||||
int _annoes, _r, _stampa_width, _mese_ultima_liq, _mese_credito;
|
||||
int _stampa_len, _stampa_mese, _size_header;
|
||||
real _totale_doc, _credito;
|
||||
TString _codreg, _desc_lib, _codatt, _attivita, _tipoatt;
|
||||
TString _tipodoc, _descr_doc, _codlib, _codice_vidi;
|
||||
TString _cofi,_cap,_paiva,_ragsoc,_comunefis,_provfis,_viafis;
|
||||
TFilename _t, _pippo;
|
||||
|
||||
TParagraph_string* _desc27;
|
||||
messaggio _scelta;
|
||||
|
||||
protected:
|
||||
|
||||
static bool filter_func (const TRelation * r);
|
||||
static bool mask_tipo_stampa (TMask_field&, KEY);
|
||||
static bool to_ditt_handler (TMask_field&, KEY);
|
||||
static bool fr_ditt_handler (TMask_field&, KEY);
|
||||
static bool to_butt_handler (TMask_field&, KEY);
|
||||
static bool fr_butt_handler (TMask_field&, KEY);
|
||||
static bool mask_cod (TMask_field&, KEY);
|
||||
static bool mask_libun (TMask_field&, KEY);
|
||||
static bool mask_data (TMask_field&, KEY);
|
||||
static bool mask_mese (TMask_field&, KEY);
|
||||
static bool mask_fino_a_mese (TMask_field&, KEY);
|
||||
static bool mask_select (TMask_field&, KEY);
|
||||
static bool mask_azzera (TMask_field&, KEY);
|
||||
static bool year_handler (TMask_field&, KEY);
|
||||
|
||||
public:
|
||||
|
||||
const char* desc_attivita ();
|
||||
const char* tipo_attivita ();
|
||||
const char* descr_doc ();
|
||||
const char* descr_iva (const char *);
|
||||
TRectype& ricerca_occ(const char*);
|
||||
TRectype& ricerca_cf (char, long);
|
||||
TRectype& look_comuni(const char*);
|
||||
TArray_sheet* get_ditte_sheet() { return _ditte; }
|
||||
int setta_riga (int, const TRigaiva&, real&, real&, real&, real&);
|
||||
int riga_rmoviva();
|
||||
bool set_print(int);
|
||||
bool set_ditte(TMask&);
|
||||
bool compila_reg(const TMask&);
|
||||
bool compila_lib();
|
||||
messaggio controlla_liquidazione();
|
||||
messaggio controlla_b0();
|
||||
bool controlla_mov();
|
||||
bool stampo_liquidazione(int);
|
||||
bool ventilazione(const char*);
|
||||
bool cerca_libro_gio(TString&, bool*);
|
||||
bool look_reg (int, int, TString&, int, const char*, int*, long);
|
||||
bool look_regs(int, TString&, int, int*, long, bool*);
|
||||
bool stampa_totali_finali();
|
||||
bool stampa_datareg();
|
||||
bool stampa_registri_IVA(const TMask&);
|
||||
bool look_lia(long ditta = 0l);
|
||||
bool ricerca_mese(TString&,TString&,int,int,TMask_field&);
|
||||
void set_choice_limits(TMask&);
|
||||
void build_ditte_sheet();
|
||||
void cerca_reg(const TString&, byte*);
|
||||
void set_page_tot_reg();
|
||||
void send_message(char, const TFilename&,int);
|
||||
void aggiorna_reg(const bool aggiorna_vidi);
|
||||
void aggiorna_lib();
|
||||
void calcola_progressivi();
|
||||
void stampa_liq_mesi_succ();
|
||||
void look_reg();
|
||||
void no_movimenti();
|
||||
void liq_b0_settato();
|
||||
void liq_other_case();
|
||||
bool setta_mask(long);
|
||||
bool preprocess_page(int, int);
|
||||
int stampa_intestazione();
|
||||
int stampa_prospetto();
|
||||
long select_firm_range(long,long);
|
||||
void stampa_plafonds(int);
|
||||
void get_dati_ditta();
|
||||
void stampa_vidi();
|
||||
void scrivi_reg();
|
||||
int stampa_acquisti(int);
|
||||
real stampa_valori_plafonds(const real&, const int, TTable&, const char*);
|
||||
void build_nomiditte(TProgind* pnd = NULL);
|
||||
void set_year(int y) { _annoes = y; }
|
||||
void clear_stliq();
|
||||
virtual bool preprocess_print(int, int);
|
||||
virtual bool user_create();
|
||||
virtual bool user_destroy();
|
||||
virtual print_action postprocess_page (int, int);
|
||||
virtual void preprocess_header();
|
||||
|
||||
CG4400_application() : TPrintapp(), _ditte(NULL), _selected(10000), _nomiditte(100), _test(FALSE) {}
|
||||
virtual ~CG4400_application() {}
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
544
cg/cg4400a.uml
544
cg/cg4400a.uml
@ -1,272 +1,272 @@
|
||||
// cg4400a.uml
|
||||
// Stampa tabella registri
|
||||
|
||||
#include "cg4400a.h"
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 56 18
|
||||
|
||||
LISTBOX TIPO_STAMPA 1 48
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo "
|
||||
HELP "Indicare il tipo di stampa da eseguire"
|
||||
ITEM "1|Stampa di prova"
|
||||
MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|SHOW,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@
|
||||
ITEM "2|Libri bollati della ditta"
|
||||
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
ITEM "3|Libri unici dello studio"
|
||||
MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
ITEM "4|Libri con riferimenti al libro giornale"
|
||||
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
END
|
||||
|
||||
NUMBER ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Anno "
|
||||
HELP "Anno di cui si vuole stampare il registro"
|
||||
FLAGS "A"
|
||||
WARNING "Inserire l'anno"
|
||||
VALIDATE FIXLEN_FUNC 4
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 39 5
|
||||
BEGIN
|
||||
PROMPT 16 2 "Scelta ditte"
|
||||
END
|
||||
|
||||
NUMBER DA_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 17 3 "Da codice "
|
||||
HELP "Codice ditta di inizio selezione"
|
||||
END
|
||||
|
||||
BUTTON BUT_DFR 2 1
|
||||
BEGIN
|
||||
PROMPT 33 3 "*"
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
NUMBER A_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 17 4 "A codice "
|
||||
HELP "Codice ditta di fine selezione"
|
||||
END
|
||||
|
||||
BUTTON BUT_DTO 2 1
|
||||
BEGIN
|
||||
PROMPT 33 4 "*"
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
STRING F_SELECT 5
|
||||
BEGIN
|
||||
PROMPT 17 5 "Scelte n. "
|
||||
FLAGS "DR"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 10 2
|
||||
BEGIN
|
||||
PROMPT 41 3 "~Selezione"
|
||||
HELP "Indicare le ditte da selezionare per la stampa"
|
||||
END
|
||||
|
||||
BUTTON F_ANNULLA 10
|
||||
BEGIN
|
||||
PROMPT 41 5 "A~zzera"
|
||||
HELP "Annullare la selezione delle ditte"
|
||||
MESSAGE RESET,DA_CODICE|RESET,A_CODICE
|
||||
END
|
||||
|
||||
DATE DATA_STAMPA
|
||||
BEGIN
|
||||
PROMPT 28 7 "Data stampa "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire la data di stampa"
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice libro "
|
||||
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
|
||||
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO_PROVA 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice libro "
|
||||
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
|
||||
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO_PROVA
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
END
|
||||
|
||||
STRING CODICE_LIB_UN 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Libro unico "
|
||||
HELP "Codice del libro unico su cui deve essere effettuata la stampa"
|
||||
USE %LBU SELECT CODTAB[1,4]==#111
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIB_UN
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIB_UN CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire il codice del libro unico"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 52 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Stampa movimenti"
|
||||
END
|
||||
|
||||
DATE DA_DATA
|
||||
BEGIN
|
||||
PROMPT 3 9 "Dalla data "
|
||||
HELP "Data di inizio stampa registro"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
DATE A_DATA
|
||||
BEGIN
|
||||
PROMPT 30 9 "Alla data "
|
||||
HELP "Data di fine stampa registro"
|
||||
VALIDATE DATE_CMP_FUNC >= DA_DATA
|
||||
WARNING "Inserire una data non inferiore alla data limite inferiore"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
LISTBOX FINO_A_MESE 10
|
||||
BEGIN
|
||||
PROMPT 3 9 "Fino al mese "
|
||||
HELP "Mese fino al quale eseguire la stampa"
|
||||
FLAGS "M"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTBOX MESE 10
|
||||
BEGIN
|
||||
PROMPT 4 9 "Mese "
|
||||
HELP "Mese di cui eseguire la stampa"
|
||||
FLAGS "M"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTBOX TIPO_RIEPILOGATIVO 11
|
||||
BEGIN
|
||||
PROMPT 2 11 "Tipo riepilogativo "
|
||||
HELP "Indicare il tipo stampa di liquidazione sul registro"
|
||||
ITEM "P|Del periodo"
|
||||
ITEM "A|Annuale"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Formato pagina"
|
||||
END
|
||||
|
||||
LISTBOX STAMPA_WIDTH 4
|
||||
BEGIN
|
||||
PROMPT 3 13 "Numero di colonne "
|
||||
HELP "Numero di colonne per pagina del modulo di stampa."
|
||||
ITEM "1|132"
|
||||
ITEM "2|198"
|
||||
END
|
||||
|
||||
NUMBER STAMPA_LEN 3
|
||||
BEGIN
|
||||
PROMPT 3 14 "Numero di righe "
|
||||
HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe"
|
||||
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
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 56 18
|
||||
|
||||
NUMBER ULTIMA_PAGINA 4
|
||||
BEGIN
|
||||
PROMPT 2 2 "Ultimo numero di pagina stampata libro unico "
|
||||
HELP "Numero dell'ultima pagina del libro unico stampata"
|
||||
FLAGS "R"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO_IVA 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Eventuale codice libro IVA "
|
||||
HELP "Libro IVA da stampare. Vuoto = tutti"
|
||||
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO_IVA
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO_IVA CODTAB[5,7]
|
||||
//CHECKTYPE NORMAL
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTBOX ULTIMO_MESE 10
|
||||
BEGIN
|
||||
PROMPT 2 4 "Ultimo mese stampa su libro unico "
|
||||
FLAGS "MD"
|
||||
ITEM "00|Nessuno"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN RIF_VID
|
||||
BEGIN
|
||||
PROMPT 2 5 "Stampa riferimenti vidimazione"
|
||||
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
|
||||
|
||||
// cg4400a.uml
|
||||
// Stampa tabella registri
|
||||
|
||||
#include "cg4400a.h"
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 56 18
|
||||
|
||||
LISTBOX TIPO_STAMPA 1 48
|
||||
BEGIN
|
||||
PROMPT 2 1 "Tipo "
|
||||
HELP "Indicare il tipo di stampa da eseguire"
|
||||
ITEM "1|Stampa di prova"
|
||||
MESSAGE SHOW,3@|SHOW,CODICE_LIBRO_PROVA|SHOW,DATA_STAMPA|SHOW,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID|HIDE,1@|RESET,1@|HIDE,2@|RESET,2@
|
||||
ITEM "2|Libri bollati della ditta"
|
||||
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
ITEM "3|Libri unici dello studio"
|
||||
MESSAGE SHOW,2@|HIDE,1@|RESET,1@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
ITEM "4|Libri con riferimenti al libro giornale"
|
||||
MESSAGE SHOW,1@|HIDE,CODICE_LIBRO_PROVA|RESET,CODICE_LIBRO_PROVA|HIDE,2@|RESET,2@|HIDE,3@|RESET,3@|HIDE,DATA_STAMPA|HIDE,TIPO_RIEPILOGATIVO|RESET,TIPO_RIEPILOGATIVO|HIDE,RIF_VID|RESET,RIF_VID
|
||||
END
|
||||
|
||||
NUMBER ANNO 4
|
||||
BEGIN
|
||||
PROMPT 2 3 "Anno "
|
||||
HELP "Anno di cui si vuole stampare il registro"
|
||||
FLAGS "A"
|
||||
WARNING "Inserire l'anno"
|
||||
VALIDATE FIXLEN_FUNC 4
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 39 5
|
||||
BEGIN
|
||||
PROMPT 16 2 "Scelta ditte"
|
||||
END
|
||||
|
||||
NUMBER DA_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 17 3 "Da codice "
|
||||
HELP "Codice ditta di inizio selezione"
|
||||
END
|
||||
|
||||
BUTTON BUT_DFR 2 1
|
||||
BEGIN
|
||||
PROMPT 33 3 "*"
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
NUMBER A_CODICE 5
|
||||
BEGIN
|
||||
PROMPT 17 4 "A codice "
|
||||
HELP "Codice ditta di fine selezione"
|
||||
END
|
||||
|
||||
BUTTON BUT_DTO 2 1
|
||||
BEGIN
|
||||
PROMPT 33 4 "*"
|
||||
PICTURE 109
|
||||
END
|
||||
|
||||
STRING F_SELECT 5
|
||||
BEGIN
|
||||
PROMPT 17 5 "Scelte n. "
|
||||
FLAGS "DR"
|
||||
END
|
||||
|
||||
BUTTON DLG_SELECT 10 2
|
||||
BEGIN
|
||||
PROMPT 41 3 "~Selezione"
|
||||
HELP "Indicare le ditte da selezionare per la stampa"
|
||||
END
|
||||
|
||||
BUTTON F_ANNULLA 10
|
||||
BEGIN
|
||||
PROMPT 41 5 "A~zzera"
|
||||
HELP "Annullare la selezione delle ditte"
|
||||
MESSAGE RESET,DA_CODICE|RESET,A_CODICE
|
||||
END
|
||||
|
||||
DATE DATA_STAMPA
|
||||
BEGIN
|
||||
PROMPT 28 7 "Data stampa "
|
||||
FLAGS "A"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire la data di stampa"
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice libro "
|
||||
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
|
||||
USE REG SELECT (I0<"3") && (S6=="") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO_PROVA 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Codice libro "
|
||||
HELP "Codice libro di cui si chiede la stampa; nel caso in cui non si indichi nessun codice verranno stampati tutti i libri delle ditte selezionate"
|
||||
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO_PROVA
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO_PROVA CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
END
|
||||
|
||||
STRING CODICE_LIB_UN 3
|
||||
BEGIN
|
||||
PROMPT 2 7 "Libro unico "
|
||||
HELP "Codice del libro unico su cui deve essere effettuata la stampa"
|
||||
USE %LBU SELECT CODTAB[1,4]==#111
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIB_UN
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIB_UN CODTAB[5,7]
|
||||
FLAGS "U"
|
||||
CHECKTYPE REQUIRED
|
||||
WARNING "Inserire il codice del libro unico"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 52 3
|
||||
BEGIN
|
||||
PROMPT 2 8 "Stampa movimenti"
|
||||
END
|
||||
|
||||
DATE DA_DATA
|
||||
BEGIN
|
||||
PROMPT 3 9 "Dalla data "
|
||||
HELP "Data di inizio stampa registro"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
DATE A_DATA
|
||||
BEGIN
|
||||
PROMPT 30 9 "Alla data "
|
||||
HELP "Data di fine stampa registro"
|
||||
VALIDATE DATE_CMP_FUNC >= DA_DATA
|
||||
WARNING "Inserire una data non inferiore alla data limite inferiore"
|
||||
GROUP 3
|
||||
END
|
||||
|
||||
LISTBOX FINO_A_MESE 10
|
||||
BEGIN
|
||||
PROMPT 3 9 "Fino al mese "
|
||||
HELP "Mese fino al quale eseguire la stampa"
|
||||
FLAGS "M"
|
||||
GROUP 1
|
||||
END
|
||||
|
||||
LISTBOX MESE 10
|
||||
BEGIN
|
||||
PROMPT 4 9 "Mese "
|
||||
HELP "Mese di cui eseguire la stampa"
|
||||
FLAGS "M"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTBOX TIPO_RIEPILOGATIVO 11
|
||||
BEGIN
|
||||
PROMPT 2 11 "Tipo riepilogativo "
|
||||
HELP "Indicare il tipo stampa di liquidazione sul registro"
|
||||
ITEM "P|Del periodo"
|
||||
ITEM "A|Annuale"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 35 4
|
||||
BEGIN
|
||||
PROMPT 2 12 "Formato pagina"
|
||||
END
|
||||
|
||||
LISTBOX STAMPA_WIDTH 4
|
||||
BEGIN
|
||||
PROMPT 3 13 "Numero di colonne "
|
||||
HELP "Numero di colonne per pagina del modulo di stampa."
|
||||
ITEM "1|132"
|
||||
ITEM "2|198"
|
||||
END
|
||||
|
||||
NUMBER STAMPA_LEN 3
|
||||
BEGIN
|
||||
PROMPT 3 14 "Numero di righe "
|
||||
HELP "Numero di righe per pagina del modulo di stampa. Se non specificato assume 66 righe"
|
||||
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
|
||||
|
||||
PAGE "Stampa registri IVA" -1 -1 56 18
|
||||
|
||||
NUMBER ULTIMA_PAGINA 4
|
||||
BEGIN
|
||||
PROMPT 2 2 "Ultimo numero di pagina stampata libro unico "
|
||||
HELP "Numero dell'ultima pagina del libro unico stampata"
|
||||
FLAGS "R"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
STRING CODICE_LIBRO_IVA 3
|
||||
BEGIN
|
||||
PROMPT 2 3 "Eventuale codice libro IVA "
|
||||
HELP "Libro IVA da stampare. Vuoto = tutti"
|
||||
USE REG SELECT (I0<"3") && (CODTAB[1,4]==#111)
|
||||
INPUT CODTAB[1,4] ANNO
|
||||
INPUT CODTAB[5,7] CODICE_LIBRO_IVA
|
||||
DISPLAY "Anno " CODTAB[1,4]
|
||||
DISPLAY "Codice " CODTAB[5,7]
|
||||
DISPLAY "Descrizione @40" S0
|
||||
OUTPUT ANNO CODTAB[1,4]
|
||||
OUTPUT CODICE_LIBRO_IVA CODTAB[5,7]
|
||||
//CHECKTYPE NORMAL
|
||||
FLAGS "U"
|
||||
VALIDATE ZEROFILL_FUNC 3
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
LISTBOX ULTIMO_MESE 10
|
||||
BEGIN
|
||||
PROMPT 2 4 "Ultimo mese stampa su libro unico "
|
||||
FLAGS "MD"
|
||||
ITEM "00|Nessuno"
|
||||
GROUP 2
|
||||
END
|
||||
|
||||
BOOLEAN RIF_VID
|
||||
BEGIN
|
||||
PROMPT 2 5 "Stampa riferimenti vidimazione"
|
||||
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
|
||||
|
||||
|
464
cg/classpim.cpp
464
cg/classpim.cpp
@ -1,232 +1,232 @@
|
||||
// classpim.cpp
|
||||
// funzione per classificare i PIM e sommare tutto cio' che contengono
|
||||
#include "classpim.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
|
||||
{
|
||||
static int last_checked = -1;
|
||||
|
||||
// parse CODTAB of pim record
|
||||
TString ctab = pimr.get("CODTAB");
|
||||
|
||||
const int tipocr = atoi(ctab.mid(15,1)); // tipo costo_ricavo
|
||||
const int tipodet = atoi(ctab.mid(20,1)); // tipo detraibilita'
|
||||
const int corrisp = (int)pimr.get_long("I0"); // netto = 1, lordo = 2
|
||||
const int tipomov = (int)pimr.get_long("I1"); // 1 = vendita, 2 = acquisto
|
||||
|
||||
const bool vola = pimr.get_bool("B2");
|
||||
const bool rimb = pimr.get_bool("B3");
|
||||
const bool ricl = pimr.get_bool("B4");
|
||||
|
||||
TString tipoiva = pimr.get("S5");
|
||||
|
||||
// cominciamo cosi'
|
||||
imp = ZERO; iva = ZERO;
|
||||
|
||||
for (int i = last_checked + 1; i <= MAX_TIPOREC; i++)
|
||||
{
|
||||
tiporec tocheck = (tiporec)i;
|
||||
bool found = FALSE;
|
||||
|
||||
switch(tocheck)
|
||||
{
|
||||
case acq_norm:
|
||||
//found = tipomov == 2 && tipoiva != "NS";
|
||||
found = tipomov == 2;
|
||||
found &= (tipodet == 0 /* || tipodet == 1 || tipodet == 3 ||
|
||||
tipodet == 5 || tipodet == 9 */);
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0") - pimr.get_real("R9");
|
||||
iva = pimr.get_real("R1") - pimr.get_real("R10");
|
||||
}
|
||||
break;
|
||||
case vend_norm:
|
||||
//found = tipomov == 1 /* && corrisp == 1 */ && tipoiva != "NS";
|
||||
found = tipomov == 1 /* && corrisp == 1 */;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
break;
|
||||
case acq_simp:
|
||||
if (tipomov == 2)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case vend_simp:
|
||||
if (tipomov == 1 /* && corrisp == 1 */)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case bolle_doganali:
|
||||
//if (tipomov == 2 && tipoiva != "NS")
|
||||
if (tipomov == 2)
|
||||
{
|
||||
imp = pimr.get_real("R9");
|
||||
iva = pimr.get_real("R10");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case base_ventilazione:
|
||||
found = (tipomov == 2 && tipodet != 9 && tipocr == 1);
|
||||
found &= (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES");
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
found &= !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_riv:
|
||||
/*
|
||||
found = (tipomov == 2 && tipodet != 9 &&
|
||||
(tipocr == 1 || (tipocr == 5 && tipodet == 3)));
|
||||
found &= tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES";
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
*/
|
||||
found = (tipomov == 2 && (tipocr == 1 || tipocr == 5));
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
break;
|
||||
case corr_norm:
|
||||
found = tipomov == 1 && corrisp == 2 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case corr_simp:
|
||||
if (tipomov == 1 && corrisp == 2)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_ammort:
|
||||
//found = tipomov == 2 && tipocr == 2 &&
|
||||
// tipodet == 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 2 && tipodet == 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_ammort_nd:
|
||||
//found = tipomov == 2 && tipocr ==2 &&
|
||||
// tipodet != 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr ==2 && tipodet != 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_leasing:
|
||||
//found = tipomov == 2 && tipocr == 8 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 8;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_amm_ultdetr:
|
||||
//found = tipomov == 2 && tipocr == 3 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 3;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_op_es:
|
||||
found = tipomov == 2 && tipodet == 1 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_pass_int:
|
||||
found = tipomov == 2 && tipodet == 3 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_art_19:
|
||||
found = tipomov == 2 && tipodet == 9 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case cess_amm:
|
||||
//found = tipomov == 1 && tipocr == 4 && tipoiva != "NS";
|
||||
found = tipomov == 1 && tipocr == 4;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case vend_rimborso:
|
||||
found = tipomov == 1 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_rimborso:
|
||||
found = tipomov == 2 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == MAX_TIPOREC)
|
||||
last_checked = -1;
|
||||
else if (found)
|
||||
{
|
||||
t = tocheck;
|
||||
last_checked = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return last_checked != -1;
|
||||
}
|
||||
// classpim.cpp
|
||||
// funzione per classificare i PIM e sommare tutto cio' che contengono
|
||||
#include "classpim.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
|
||||
{
|
||||
static int last_checked = -1;
|
||||
|
||||
// parse CODTAB of pim record
|
||||
TString ctab = pimr.get("CODTAB");
|
||||
|
||||
const int tipocr = atoi(ctab.mid(15,1)); // tipo costo_ricavo
|
||||
const int tipodet = atoi(ctab.mid(20,1)); // tipo detraibilita'
|
||||
const int corrisp = (int)pimr.get_long("I0"); // netto = 1, lordo = 2
|
||||
const int tipomov = (int)pimr.get_long("I1"); // 1 = vendita, 2 = acquisto
|
||||
|
||||
const bool vola = pimr.get_bool("B2");
|
||||
const bool rimb = pimr.get_bool("B3");
|
||||
const bool ricl = pimr.get_bool("B4");
|
||||
|
||||
TString tipoiva = pimr.get("S5");
|
||||
|
||||
// cominciamo cosi'
|
||||
imp = ZERO; iva = ZERO;
|
||||
|
||||
for (int i = last_checked + 1; i <= MAX_TIPOREC; i++)
|
||||
{
|
||||
tiporec tocheck = (tiporec)i;
|
||||
bool found = FALSE;
|
||||
|
||||
switch(tocheck)
|
||||
{
|
||||
case acq_norm:
|
||||
//found = tipomov == 2 && tipoiva != "NS";
|
||||
found = tipomov == 2;
|
||||
found &= (tipodet == 0 /* || tipodet == 1 || tipodet == 3 ||
|
||||
tipodet == 5 || tipodet == 9 */);
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0") - pimr.get_real("R9");
|
||||
iva = pimr.get_real("R1") - pimr.get_real("R10");
|
||||
}
|
||||
break;
|
||||
case vend_norm:
|
||||
//found = tipomov == 1 /* && corrisp == 1 */ && tipoiva != "NS";
|
||||
found = tipomov == 1 /* && corrisp == 1 */;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
break;
|
||||
case acq_simp:
|
||||
if (tipomov == 2)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case vend_simp:
|
||||
if (tipomov == 1 /* && corrisp == 1 */)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case bolle_doganali:
|
||||
//if (tipomov == 2 && tipoiva != "NS")
|
||||
if (tipomov == 2)
|
||||
{
|
||||
imp = pimr.get_real("R9");
|
||||
iva = pimr.get_real("R10");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case base_ventilazione:
|
||||
found = (tipomov == 2 && tipodet != 9 && tipocr == 1);
|
||||
found &= (tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES");
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
found &= !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_riv:
|
||||
/*
|
||||
found = (tipomov == 2 && tipodet != 9 &&
|
||||
(tipocr == 1 || (tipocr == 5 && tipodet == 3)));
|
||||
found &= tipoiva != "NS" && tipoiva != "NI" && tipoiva != "ES";
|
||||
found &= (ricl ? TRUE : tipodet == 3);
|
||||
*/
|
||||
found = (tipomov == 2 && (tipocr == 1 || tipocr == 5));
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
}
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
break;
|
||||
case corr_norm:
|
||||
found = tipomov == 1 && corrisp == 2 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case corr_simp:
|
||||
if (tipomov == 1 && corrisp == 2)
|
||||
{
|
||||
imp = pimr.get_real("R11");
|
||||
iva = pimr.get_real("R12");
|
||||
}
|
||||
found = !imp.is_zero() || !iva.is_zero();
|
||||
break;
|
||||
case acq_beni_ammort:
|
||||
//found = tipomov == 2 && tipocr == 2 &&
|
||||
// tipodet == 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 2 && tipodet == 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_ammort_nd:
|
||||
//found = tipomov == 2 && tipocr ==2 &&
|
||||
// tipodet != 0 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr ==2 && tipodet != 0;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_beni_leasing:
|
||||
//found = tipomov == 2 && tipocr == 8 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 8;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_amm_ultdetr:
|
||||
//found = tipomov == 2 && tipocr == 3 && tipoiva != "NS";
|
||||
found = tipomov == 2 && tipocr == 3;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_op_es:
|
||||
found = tipomov == 2 && tipodet == 1 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_pass_int:
|
||||
found = tipomov == 2 && tipodet == 3 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_ind_art_19:
|
||||
found = tipomov == 2 && tipodet == 9 && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case cess_amm:
|
||||
//found = tipomov == 1 && tipocr == 4 && tipoiva != "NS";
|
||||
found = tipomov == 1 && tipocr == 4;
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case vend_rimborso:
|
||||
found = tipomov == 1 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
case acq_rimborso:
|
||||
found = tipomov == 2 && rimb && tipoiva != "NS";
|
||||
if (found)
|
||||
{
|
||||
imp = pimr.get_real("R0");
|
||||
iva = pimr.get_real("R1");
|
||||
found &= (!imp.is_zero() || !iva.is_zero());
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == MAX_TIPOREC)
|
||||
last_checked = -1;
|
||||
else if (found)
|
||||
{
|
||||
t = tocheck;
|
||||
last_checked = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return last_checked != -1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user