Files correlati : no patch Ricompilazione Demo : [ ] Commento : Riportata la versione 01.05 patch 888 sul main trunk git-svn-id: svn://10.65.10.50/trunk@9217 c028cbd2-c16b-5b4b-a496-9718f37d4682
88 lines
3.5 KiB
C++
Executable File
88 lines
3.5 KiB
C++
Executable File
// classpim.h
|
|
// funzioni ed enum per classificare i pim
|
|
|
|
#ifndef __CGPIM_H
|
|
#define __CGPIM_H
|
|
|
|
#ifndef __ISAM_H
|
|
class TRectype;
|
|
#endif
|
|
|
|
#ifndef __REAL_H
|
|
#include <real.h>
|
|
#endif
|
|
|
|
|
|
// per ora ci si fotte di agenzie viaggio e di
|
|
// regimi agricoli
|
|
|
|
enum tiporec { acq_norm = 0, vend_norm = 1, // acquisti e vendite normali
|
|
acq_simp = 2, vend_simp = 3, // acq. e vend. sosp. imposta
|
|
bolle_doganali = 4, // bolle doganali (acquisti)
|
|
acq_beni_riv = 5, // acq. beni per rivendita
|
|
base_ventilazione = 6, // base calcolo per ventil.
|
|
corr_norm = 7, corr_simp = 8, // corrispettivi n. e s. imp.
|
|
acq_beni_ammort = 9, // acq. beni ammortizz. detr.
|
|
acq_beni_ammort_nd = 10, // beni ammort. non detraibili
|
|
acq_beni_leasing = 11, // beni strum. acq in leasing
|
|
acq_amm_ultdetr = 12, // beni amm. ult. detr 6%
|
|
acq_ind_op_es = 13, // acq. indetr. su op.es.
|
|
acq_ind_pass_int = 14, // passaggi interni
|
|
acq_ind_art_19 = 15, // indetr. art. 19
|
|
cess_amm = 16, // cessioni amministrative
|
|
vend_rimborso = 17, // vendite valide per rimborso
|
|
acq_rimborso = 18, // acq. validi per rimborso
|
|
acq_bd_ind_art_19 = 19 // acq. con tipo documento BD e tipo detr 9
|
|
// ACHTUNG: se si aggiunge, cambiare sotto!!!
|
|
};
|
|
|
|
// questo serve nel cpp ma lo metto qua se no
|
|
// non lo cambiero' mai quando serve
|
|
const int MAX_TIPOREC = 19;
|
|
|
|
// ---------------------------------------------------------------
|
|
// "classifica" un record progressivo IVA passato per reference
|
|
// mette l'imponibile in imp, l'imposta in iva, e in t mette
|
|
// un valore dell'enum di cui sopra, che dice di che tipo e'
|
|
// l'importo ritornato
|
|
// ---------------------------------------------------------------
|
|
// RITORNA TRUE SE VA CHIAMATA ANCORA CON LO STESSO PIM come
|
|
// parametro (ovvero: ci sono altri valori da passare che fanno
|
|
// parte dello stesso pim)
|
|
// ---------------------------------------------------------------
|
|
// mese, anno, attivita' vanno gestiti esternamente. Quando un pim
|
|
// contiene dati che valgono per piu' di un caso, ritorna TRUE
|
|
// finche' i casi possibili non sono esauriti
|
|
// ---------------------------------------------------------------
|
|
|
|
// ------------------------------- ESEMPIO che fa sempre bene
|
|
// TTable pim("PIM");
|
|
// while (pim.first(); !pim.eof(); pim.next())
|
|
// {
|
|
// real imponibile, imposta;
|
|
// tiporec tipo;
|
|
//
|
|
// // Escludi i pim che non vuoi (per attivita', anno, mese)
|
|
// if (questo_non_lo_volevo) continue;
|
|
//
|
|
//
|
|
// while (classify_pim(pim.curr(), imponibile, imposta, tipo))
|
|
// {
|
|
// switch(tipo)
|
|
// {
|
|
// case acq_norm:
|
|
// acq_imponibile += imponibile;
|
|
// acq_imposta += imposta;
|
|
// break;
|
|
// // eccetera
|
|
// }
|
|
// }
|
|
// }
|
|
//
|
|
// CONTENTA? ciao, f. :)
|
|
// -----------------------------------------------------------
|
|
|
|
bool classify_pim(const TRectype& pimr, real& imp, real& iva, tiporec& t, bool ts);
|
|
|
|
#endif
|