Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00
This commit is contained in:
commit
ec90dcb698
@ -1,5 +1,6 @@
|
|||||||
sql\fp0\fp0118.sql
|
|
||||||
fp0.exe
|
fp0.exe
|
||||||
|
fp0400a.msk
|
||||||
|
sql\fp0\fp0118.sql
|
||||||
|
|
||||||
Aggiornamento codici per nuovo tracciato in vigore dall'1 Ottobre: TipoDocSDI TipoRitenute Pagamenti.
|
Aggiornamento codici per nuovo tracciato in vigore dall'1 Ottobre: TipoDocSDI TipoRitenute Pagamenti.
|
||||||
Modificata esportazione fp per lettura Nuovi codici per le ritenute dalle SPESE.
|
Modificata esportazione fp per lettura Nuovi codici per le ritenute dalle SPESE.
|
||||||
|
@ -3,8 +3,9 @@ Demo=0
|
|||||||
|
|
||||||
[fp0]
|
[fp0]
|
||||||
File(0) = fp0.exe|X
|
File(0) = fp0.exe|X
|
||||||
File(15) = sql\fp0\fp0118.sql|X
|
File(4) = fp0400a.msk|X
|
||||||
Patch = 0996
|
File(12) = sql\fp0\fp0118.sql|X
|
||||||
|
Patch = 996
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
[fp]
|
[fp]
|
||||||
@ -13,7 +14,7 @@ Descrizione = Fattura Elettronica
|
|||||||
Dischi = 1
|
Dischi = 1
|
||||||
Moduli = cg,ve
|
Moduli = cg,ve
|
||||||
OEM =
|
OEM =
|
||||||
Patch = 996
|
Patch = 0996
|
||||||
PostProcess =
|
PostProcess =
|
||||||
PreProcess =
|
PreProcess =
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
Binary file not shown.
@ -1,7 +1,9 @@
|
|||||||
ve0300a.ini
|
ve0300a.ini
|
||||||
|
vemenu.men
|
||||||
vetbspp.msk
|
vetbspp.msk
|
||||||
vetbtip.msk
|
vetbtip.msk
|
||||||
ve5.exe
|
ve5.exe
|
||||||
|
ve5700.msk
|
||||||
|
|
||||||
Aggiornamento codici per nuovo tracciato in vigore dall'1 Ottobre: TipoDocSDI TipoRitenute Pagamenti.
|
Aggiornamento codici per nuovo tracciato in vigore dall'1 Ottobre: TipoDocSDI TipoRitenute Pagamenti.
|
||||||
Modificata esportazione fp per lettura Nuovi codici per le ritenute dalle SPESE.
|
Modificata esportazione fp per lettura Nuovi codici per le ritenute dalle SPESE.
|
||||||
|
@ -10,6 +10,7 @@ Patch = 996
|
|||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
[ve1]
|
[ve1]
|
||||||
|
File(101) = vemenu.men|X
|
||||||
File(209) = vetbspp.msk|X
|
File(209) = vetbspp.msk|X
|
||||||
File(213) = vetbtip.msk|X
|
File(213) = vetbtip.msk|X
|
||||||
Patch = 996
|
Patch = 996
|
||||||
@ -17,116 +18,117 @@ Versione = 21511200
|
|||||||
|
|
||||||
[ve5]
|
[ve5]
|
||||||
File(243) = ve5.exe|X
|
File(243) = ve5.exe|X
|
||||||
|
File(264) = ve5700.msk|X
|
||||||
Patch = 996
|
Patch = 996
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
[ve99]
|
[ve99]
|
||||||
Kill(0) = batbimb.msk|x
|
Kill(0) = batbimb.msk|x
|
||||||
Kill(1) = batbacr.msk|x
|
Kill(1) = batbacr.msk|x
|
||||||
Kill(2) = batbgsa.msk|x
|
Kill(2) = ve7400a.msk|x
|
||||||
Kill(3) = batbeld.msk|x
|
Kill(3) = bastgmc.rep|x
|
||||||
Kill(4) = batbcau.msk|x
|
Kill(4) = bastctr.msk|x
|
||||||
Kill(5) = batbprv.msk|x
|
Kill(5) = bastcra.msk|x
|
||||||
Kill(6) = ve7500a.msk|x
|
Kill(6) = batbbnp.msk|x
|
||||||
Kill(7) = efstbnp.msk|x
|
Kill(7) = batbcra.msk|x
|
||||||
Kill(8) = batbbnp.msk|x
|
Kill(8) = bastprs.msk|x
|
||||||
Kill(9) = batbcra.msk|x
|
Kill(9) = bastcra.rep|x
|
||||||
Kill(10) = bastrfc.msk|x
|
Kill(10) = bastums.msk|x
|
||||||
Kill(11) = ve7200a.msk|x
|
Kill(11) = efstbnp.rep|x
|
||||||
Kill(12) = bastfca.rep|x
|
Kill(12) = batbnum.msk|x
|
||||||
Kill(13) = bastums.rep|x
|
Kill(13) = bastasf.rep|x
|
||||||
Kill(14) = bastnum.rep|x
|
Kill(14) = batbgcg.msk|x
|
||||||
Kill(15) = ve7.exe|x
|
Kill(15) = bastfrr.msk|x
|
||||||
Kill(16) = bastfrm.msk|x
|
Kill(16) = bastfrd.msk|x
|
||||||
Kill(17) = batbfrd.msk|x
|
Kill(17) = batbgmc.msk|x
|
||||||
Kill(18) = bastubi.rep|x
|
Kill(18) = batbtip.msk|x
|
||||||
Kill(19) = bastprs.rep|x
|
Kill(19) = bastcaa.rep|x
|
||||||
Kill(20) = batbfrm.msk|x
|
Kill(20) = bastfrd.rep|x
|
||||||
Kill(21) = bastimb.rep|x
|
Kill(21) = batbrfc.msk|x
|
||||||
Kill(22) = bastcau.msk|x
|
Kill(22) = bastimb.rep|x
|
||||||
Kill(23) = bastrfa.msk|x
|
Kill(23) = bastgmc.msk|x
|
||||||
Kill(24) = basteld.rep|x
|
Kill(24) = basteld.rep|x
|
||||||
Kill(25) = ve7400a.ini|x
|
Kill(25) = ve7.exe|x
|
||||||
Kill(26) = ve7300a.msk|x
|
Kill(26) = batbfca.msk|x
|
||||||
Kill(27) = batbabe.msk|x
|
Kill(27) = batbfrm.msk|x
|
||||||
Kill(28) = bastrfa.rep|x
|
Kill(28) = batbabe.msk|x
|
||||||
Kill(29) = batbfsa.msk|x
|
Kill(29) = bastnum.rep|x
|
||||||
Kill(30) = batbrfc.msk|x
|
Kill(30) = batbasf.msk|x
|
||||||
Kill(31) = bastgcg.msk|x
|
Kill(31) = ve7400a.ini|x
|
||||||
Kill(32) = batbubi.msk|x
|
Kill(32) = basteld.msk|x
|
||||||
Kill(33) = batbfca.msk|x
|
Kill(33) = bastprs.rep|x
|
||||||
Kill(34) = bastabe.msk|x
|
Kill(34) = batbspt.msk|x
|
||||||
Kill(35) = basttag.msk|x
|
Kill(35) = bastubi.rep|x
|
||||||
Kill(36) = batbgmc.msk|x
|
Kill(36) = basttri.msk|x
|
||||||
Kill(37) = bastubi.msk|x
|
Kill(37) = bastgcg.msk|x
|
||||||
Kill(38) = batbmre.msk|x
|
Kill(38) = batbgca.msk|x
|
||||||
Kill(39) = bastfrm.rep|x
|
Kill(39) = batbcaa.msk|x
|
||||||
Kill(40) = batbrfa.msk|x
|
Kill(40) = batbtri.msk|x
|
||||||
Kill(41) = ve7200a.frm|x
|
Kill(41) = bastgca.msk|x
|
||||||
Kill(42) = bastfrd.msk|x
|
Kill(42) = batbums.msk|x
|
||||||
Kill(43) = ve7701a.ini|x
|
Kill(43) = batbmre.msk|x
|
||||||
Kill(44) = ve7300a.frm|x
|
Kill(44) = ve7600a.msk|x
|
||||||
Kill(45) = baststd.rep|x
|
Kill(45) = bastfca.msk|x
|
||||||
Kill(46) = bastrfc.rep|x
|
Kill(46) = basttip.rep|x
|
||||||
Kill(47) = basttri.rep|x
|
Kill(47) = bastrfc.rep|x
|
||||||
Kill(48) = batbctr.msk|x
|
Kill(48) = bastasf.msk|x
|
||||||
Kill(49) = batbprs.msk|x
|
Kill(49) = basttag.msk|x
|
||||||
Kill(50) = bastasf.msk|x
|
Kill(50) = ve7300a.frm|x
|
||||||
Kill(51) = basttip.rep|x
|
Kill(51) = batbfsa.msk|x
|
||||||
Kill(52) = ve7600a.msk|x
|
Kill(52) = batbstd.msk|x
|
||||||
Kill(53) = batbspp.msk|x
|
Kill(53) = batbctr.msk|x
|
||||||
Kill(54) = ve7400conf.ini|x
|
Kill(54) = bastspp.msk|x
|
||||||
Kill(55) = ve7100a.msk|x
|
Kill(55) = batbfid.msk|x
|
||||||
Kill(56) = basttag.rep|x
|
Kill(56) = bastimb.msk|x
|
||||||
Kill(57) = bastfca.msk|x
|
Kill(57) = basttag.rep|x
|
||||||
Kill(58) = eftbbnp.msk|x
|
Kill(58) = baststd.msk|x
|
||||||
Kill(59) = bastbnp.msk|x
|
Kill(59) = baststd.rep|x
|
||||||
Kill(60) = baststd.msk|x
|
Kill(60) = ve7400conf.ini|x
|
||||||
Kill(61) = bastimb.msk|x
|
Kill(61) = bastfrm.rep|x
|
||||||
Kill(62) = bastspp.msk|x
|
Kill(62) = bastrfc.msk|x
|
||||||
Kill(63) = batbums.msk|x
|
Kill(63) = eftbbnp.msk|x
|
||||||
Kill(64) = bastcaa.msk|x
|
Kill(64) = bastcau.rep|x
|
||||||
Kill(65) = batbfrr.msk|x
|
Kill(65) = ve7200a.msk|x
|
||||||
Kill(66) = bastabe.rep|x
|
Kill(66) = bastfrr.rep|x
|
||||||
Kill(67) = batbfid.msk|x
|
Kill(67) = bastabe.rep|x
|
||||||
Kill(68) = batbgcg.msk|x
|
Kill(68) = batbtag.msk|x
|
||||||
Kill(69) = bastums.msk|x
|
Kill(69) = ve7100a.msk|x
|
||||||
Kill(70) = batbtag.msk|x
|
Kill(70) = bastcaa.msk|x
|
||||||
Kill(71) = bastfrr.rep|x
|
Kill(71) = batbprs.msk|x
|
||||||
Kill(72) = bastcau.rep|x
|
Kill(72) = batbubi.msk|x
|
||||||
Kill(73) = batbstd.msk|x
|
Kill(73) = bastrfa.msk|x
|
||||||
Kill(74) = batbnum.msk|x
|
Kill(74) = bastfca.rep|x
|
||||||
Kill(75) = bastprs.msk|x
|
Kill(75) = ve7300a.msk|x
|
||||||
Kill(76) = ve7400a.msk|x
|
Kill(76) = batbfrd.msk|x
|
||||||
Kill(77) = bastctr.msk|x
|
Kill(77) = bastums.rep|x
|
||||||
Kill(78) = batbtip.msk|x
|
Kill(78) = bastcau.msk|x
|
||||||
Kill(79) = bastcaa.rep|x
|
Kill(79) = batbfrr.msk|x
|
||||||
Kill(80) = batbspt.msk|x
|
Kill(80) = bastfrm.msk|x
|
||||||
Kill(81) = basttri.msk|x
|
Kill(81) = bastbnp.msk|x
|
||||||
Kill(82) = bastfrd.rep|x
|
Kill(82) = ve7701a.ini|x
|
||||||
Kill(83) = bastgmc.msk|x
|
Kill(83) = bastubi.msk|x
|
||||||
Kill(84) = batbcaa.msk|x
|
Kill(84) = batbspp.msk|x
|
||||||
Kill(85) = batbpro.msk|x
|
Kill(85) = bastrfa.rep|x
|
||||||
Kill(86) = basteld.msk|x
|
Kill(86) = basttri.rep|x
|
||||||
Kill(87) = bastgca.msk|x
|
Kill(87) = ve7200a.frm|x
|
||||||
Kill(88) = bastgca.rep|x
|
Kill(88) = batbrfa.msk|x
|
||||||
Kill(89) = bastnum.msk|x
|
Kill(89) = bastabe.msk|x
|
||||||
Kill(90) = batbgca.msk|x
|
Kill(90) = ve7500a.msk|x
|
||||||
Kill(91) = basttip.msk|x
|
Kill(91) = efstbnp.msk|x
|
||||||
Kill(92) = batbasf.msk|x
|
Kill(92) = batbcau.msk|x
|
||||||
Kill(93) = batbtri.msk|x
|
Kill(93) = batbprv.msk|x
|
||||||
Kill(94) = ve7700a.msk|x
|
Kill(94) = batbgsa.msk|x
|
||||||
Kill(95) = bastbnp.rep|x
|
Kill(95) = batbeld.msk|x
|
||||||
Kill(96) = bastgcg.rep|x
|
Kill(96) = basttip.msk|x
|
||||||
Kill(97) = bastctr.rep|x
|
Kill(97) = batbpro.msk|x
|
||||||
Kill(98) = bastspp.rep|x
|
Kill(98) = bastspp.rep|x
|
||||||
Kill(99) = batbcld.msk|x
|
Kill(99) = batbcld.msk|x
|
||||||
Kill(100) = bastasf.rep|x
|
Kill(100) = ve7700a.msk|x
|
||||||
Kill(101) = bastfrr.msk|x
|
Kill(101) = bastgca.rep|x
|
||||||
Kill(102) = bastgmc.rep|x
|
Kill(102) = bastbnp.rep|x
|
||||||
Kill(103) = bastcra.msk|x
|
Kill(103) = bastnum.msk|x
|
||||||
Kill(104) = bastcra.rep|x
|
Kill(104) = bastgcg.rep|x
|
||||||
Kill(105) = efstbnp.rep|x
|
Kill(105) = bastctr.rep|x
|
||||||
|
|
||||||
[ve]
|
[ve]
|
||||||
Data = 09-09-2020
|
Data = 09-09-2020
|
||||||
@ -134,7 +136,7 @@ Descrizione = Vendite
|
|||||||
Dischi = 1
|
Dischi = 1
|
||||||
Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
|
Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
|
||||||
OEM =
|
OEM =
|
||||||
Patch = 996
|
Patch = 0996
|
||||||
PostProcess = bainst -0 VE
|
PostProcess = bainst -0 VE
|
||||||
PreProcess =
|
PreProcess =
|
||||||
Prezzo(1) =
|
Prezzo(1) =
|
||||||
|
Binary file not shown.
@ -12,6 +12,7 @@
|
|||||||
|
|
||||||
#include "cg0.h"
|
#include "cg0.h"
|
||||||
#include "cg0400.h"
|
#include "cg0400.h"
|
||||||
|
#include "cglib.h"
|
||||||
|
|
||||||
#include "cgpim.h"
|
#include "cgpim.h"
|
||||||
|
|
||||||
@ -26,8 +27,6 @@ enum liste {
|
|||||||
ListaPerPeriodo=2,
|
ListaPerPeriodo=2,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tipo_sospensione { nessuna, normale, vol_affari, liquidazione };
|
|
||||||
|
|
||||||
struct Importi {
|
struct Importi {
|
||||||
real imponibile;
|
real imponibile;
|
||||||
real imposta;
|
real imposta;
|
||||||
@ -321,11 +320,9 @@ void TProgressivi_iva::look_pim()
|
|||||||
if (tabiva.read() == NOERR)
|
if (tabiva.read() == NOERR)
|
||||||
soggetto = tabiva.get("S1") != "NS"; // I non soggetti non vanno sempre considerati
|
soggetto = tabiva.get("S1") != "NS"; // I non soggetti non vanno sempre considerati
|
||||||
|
|
||||||
reg.put("CODTAB",codreg);
|
const TRegistro & reg = cached_registro(codreg);
|
||||||
if (reg.read() != NOERR) reg.zero();
|
const bool corrisp = reg.corrispettivi();
|
||||||
const bool corrisp = reg.get_bool("B0");
|
const tipo_sospensione sosp_imp = reg.sospensione();
|
||||||
|
|
||||||
const tipo_sospensione sosp_imp = reg.get_bool("B1") ? (tipo_sospensione) reg.get_int("I9") : nessuna;
|
|
||||||
|
|
||||||
// Se si decide di stampare i progressivi validi per la liquidazione
|
// Se si decide di stampare i progressivi validi per la liquidazione
|
||||||
// i PIM validi solo per il volume d'affari vanno scartati
|
// i PIM validi solo per il volume d'affari vanno scartati
|
||||||
@ -413,7 +410,7 @@ void TProgressivi_iva::look_pim()
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (sosp_imp == normale || sosp_imp == nessuna) // Esclude quelli valevoli solo liq o solo vol.aff. dai riepiloghi altri dati
|
if (sosp_imp == sospensione_normale || sosp_imp == nessuna_sospensione) // Esclude quelli valevoli solo liq o solo vol.aff. dai riepiloghi altri dati
|
||||||
{
|
{
|
||||||
if (_mese != 13)
|
if (_mese != 13)
|
||||||
_iva_array.add_riga(tipo,imponibile,imposta,ZERO);
|
_iva_array.add_riga(tipo,imponibile,imposta,ZERO);
|
||||||
|
@ -2335,11 +2335,12 @@ void TPrimanota_application::ini2mask(TConfig& ini, TMask& msk, bool query)
|
|||||||
static TString4 __trit;
|
static TString4 __trit;
|
||||||
|
|
||||||
if (__trit.blank())
|
if (__trit.blank())
|
||||||
__trit << cgrowtype_ritfis << cgrowtype_ritsoc << cgrowtype_revcharge;
|
__trit << (char) cgrowtype_ritfis << (char) cgrowtype_ritsoc << (char) cgrowtype_revcharge;
|
||||||
|
|
||||||
for (int i = 0; __frit[i]; i++)
|
for (int i = 0; __frit[i]; i++)
|
||||||
{
|
{
|
||||||
TEdit_field& ritfld = msk.efield(__frit[i]);
|
TEdit_field& ritfld = msk.efield(__frit[i]);
|
||||||
|
|
||||||
if (!ritfld.empty() && ritfld.active())
|
if (!ritfld.empty() && ritfld.active())
|
||||||
add_cgs_ritenute(__trit[i]);
|
add_cgs_ritenute(__trit[i]);
|
||||||
}
|
}
|
||||||
|
@ -271,17 +271,14 @@ void TProvvisori_app::inizia_saldi(const TRectype& r)
|
|||||||
|
|
||||||
_saldi.reset();
|
_saldi.reset();
|
||||||
|
|
||||||
tiposal tsal = normale;
|
tiposal tsal = saldo_normale;
|
||||||
const TString4 c = r.get(MOV_CODCAUS);
|
const TString4 codcaus = r.get(MOV_CODCAUS);
|
||||||
if (c.not_empty())
|
|
||||||
|
if (codcaus.full())
|
||||||
{
|
{
|
||||||
const TRectype& cau = cache().get(LF_CAUSALI, c);
|
const TCausale & cau = cached_causale(codcaus);
|
||||||
if (!cau.empty())
|
|
||||||
{
|
tsal = cau.tipo_saldo();
|
||||||
const char movap = cau.get_char(CAU_MOVAP);
|
|
||||||
if (movap == 'A') tsal = apertura; else
|
|
||||||
if (movap == 'C') tsal = chiusura;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
_saldi.set_tipo_saldo(tsal);
|
_saldi.set_tipo_saldo(tsal);
|
||||||
|
|
||||||
|
@ -77,8 +77,7 @@ const real INVALID_PRORATA = 1999.0; // A Guy piacciono gli 883... a me p
|
|||||||
enum recalc { one = 2, never = 4 };
|
enum recalc { one = 2, never = 4 };
|
||||||
enum wht { all = 1, mnt = 2, trimestre = 3};
|
enum wht { all = 1, mnt = 2, trimestre = 3};
|
||||||
enum tbc { precedente = 1, incorso = 2};
|
enum tbc { precedente = 1, incorso = 2};
|
||||||
enum tiporeg { vendita = 1, acquisto = 2 };
|
|
||||||
enum tipo_sospensione { nessuna, sospensione_normale, vol_affari, liquidazione };
|
|
||||||
|
|
||||||
// flags per gli items di stampa
|
// flags per gli items di stampa
|
||||||
#define CHG_PARMS 1 // cambiato qualcosa (attivita', ditta...)
|
#define CHG_PARMS 1 // cambiato qualcosa (attivita', ditta...)
|
||||||
|
@ -32,6 +32,19 @@
|
|||||||
// e mi ci appoggero' ******************
|
// e mi ci appoggero' ******************
|
||||||
// ----------------------------------------------------- ******************
|
// ----------------------------------------------------- ******************
|
||||||
|
|
||||||
|
#ifdef DBG
|
||||||
|
bool check_nreg(long nreg)
|
||||||
|
{
|
||||||
|
long __nreg[] = { 41221L, 0L };
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
while (__nreg[i] > 0L)
|
||||||
|
if (__nreg[i++] == nreg)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool TLiquidazione_app::recalc_all()
|
bool TLiquidazione_app::recalc_all()
|
||||||
{
|
{
|
||||||
TString msg;
|
TString msg;
|
||||||
@ -140,40 +153,6 @@ bool TLiquidazione_app::recalc_all()
|
|||||||
* provocano il ricalcolo dei progressivi mensili ma non la stampa
|
* provocano il ricalcolo dei progressivi mensili ma non la stampa
|
||||||
*/
|
*/
|
||||||
_canprint = is_month_ok_strict(_month) || _month == 13;
|
_canprint = is_month_ok_strict(_month) || _month == 13;
|
||||||
|
|
||||||
/* --------------------------------------------------------------
|
|
||||||
* Ricalcola i mesi necessari: annuale e' un mese unico da 1/1 al 31/12
|
|
||||||
* --------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* int need_refresh = false;
|
|
||||||
if (_recalc != ever)
|
|
||||||
{
|
|
||||||
int m = _month == 13 ? _month : 1;
|
|
||||||
for (; m < _month; m++)
|
|
||||||
if (is_month_ok_strict(m))
|
|
||||||
{
|
|
||||||
const TRectype & lim = get_lim(m);
|
|
||||||
|
|
||||||
if (lim.empty() || !lim.get_bool("B0"))
|
|
||||||
{
|
|
||||||
need_refresh = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (need_refresh && yesno_box(TR("Alcuni mesi precedenti non "
|
|
||||||
"risultano ricalcolati. E' consigliabile il ricalcolo. "
|
|
||||||
"Si desidera eseguirlo?")))
|
|
||||||
_recalc = ever;
|
|
||||||
}
|
|
||||||
int m;
|
|
||||||
for (m = 1; m <= _month; m++) // fino a 13 compreso
|
|
||||||
{
|
|
||||||
if (is_month_plain(m) || _recalc == ever)
|
|
||||||
update_firm(m);
|
|
||||||
} */
|
|
||||||
|
|
||||||
if (_freqviva == "T")
|
if (_freqviva == "T")
|
||||||
{
|
{
|
||||||
for (int m = _month - 2; m <= _month; m++)
|
for (int m = _month - 2; m <= _month; m++)
|
||||||
@ -550,9 +529,9 @@ bool TLiquidazione_app::update_att(int month, const char* codatt, TAssoc_array &
|
|||||||
if (ok && !recalc)
|
if (ok && !recalc)
|
||||||
return true;
|
return true;
|
||||||
bool calc = (_recalc == one && is_month_ok(month,_month));
|
bool calc = (_recalc == one && is_month_ok(month,_month));
|
||||||
|
|
||||||
if (!calc && _recalc != never)
|
if (!calc && _recalc != never)
|
||||||
calc = !ok;
|
calc = !ok;
|
||||||
|
|
||||||
if (calc || !recalc)
|
if (calc || !recalc)
|
||||||
{
|
{
|
||||||
zero_att(month,codatt);
|
zero_att(month,codatt);
|
||||||
@ -924,27 +903,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
real esenti_b14 = ZERO;
|
real esenti_b14 = ZERO;
|
||||||
real vendite_rev = ZERO; // Vendire in reverse charge (da escludere in prorata)
|
real vendite_rev = ZERO; // Vendire in reverse charge (da escludere in prorata)
|
||||||
real cred_fattrit;
|
real cred_fattrit;
|
||||||
|
real esni_rimb = ZERO; // ci sommo tutti esenti e ni validi per rimborso
|
||||||
/* Comunicazione dati iva annuale dal 2016 calcolata in cg5
|
|
||||||
// Comunicazione dati iva annuale (dal 2003)
|
|
||||||
real cessioni_cd1_1 = ZERO; // Totale operazioni attive
|
|
||||||
real cessioni_cd1_2 = ZERO; // non imponibili
|
|
||||||
real cessioni_cd1_3 = ZERO; // esenti
|
|
||||||
real cessioni_cd1_4 = ZERO; // intra
|
|
||||||
real cessioni_cd1_5 = ZERO; // beni strumentali
|
|
||||||
real acquisti_cd2_1 = ZERO; // Totale operazioni passive
|
|
||||||
real acquisti_cd2_2 = ZERO; // non imponibili
|
|
||||||
real acquisti_cd2_3 = ZERO; // esenti
|
|
||||||
real acquisti_cd2_4 = ZERO; // intra
|
|
||||||
real acquisti_cd2_5 = ZERO; // beni strumentali
|
|
||||||
real oroargento_cd3_1 = ZERO; // imponibile acquisto oro e argento
|
|
||||||
real oroargento_cd3_2 = ZERO; // imposta acquisto oro e argento
|
|
||||||
real rottami_cd3_3 = ZERO; // imponibile acquisto rottami
|
|
||||||
real rottami_cd3_4 = ZERO; // imposta acquisto rottami
|
|
||||||
real cessioni_cd1_1s = ZERO; // Totale operazioni attive in split payment
|
|
||||||
*/
|
|
||||||
|
|
||||||
real esni_rimb = ZERO; // ci sommo tutti esenti e ni validi per rimborso
|
|
||||||
real corr_CEE = ZERO;
|
real corr_CEE = ZERO;
|
||||||
real corr_noCEE = ZERO;
|
real corr_noCEE = ZERO;
|
||||||
real acq_CEE = ZERO;
|
real acq_CEE = ZERO;
|
||||||
@ -1154,6 +1113,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
}
|
}
|
||||||
|
|
||||||
TProgress_monitor pi(items, pimsg, false);
|
TProgress_monitor pi(items, pimsg, false);
|
||||||
|
|
||||||
for (; _cur->pos() < items; ++(*_cur))
|
for (; _cur->pos() < items; ++(*_cur))
|
||||||
{
|
{
|
||||||
if (!pi.set_status(_cur->pos()))
|
if (!pi.set_status(_cur->pos()))
|
||||||
@ -1163,17 +1123,19 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
long nr = _mov->get_long(MOV_NUMREG);
|
long nr = _mov->get_long(MOV_NUMREG);
|
||||||
|
|
||||||
if (nr == 18489 || nr == 27710)
|
check_nreg(nr);
|
||||||
int i = 1;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const int liqmonth = _mov->get_int(MOV_MESELIQ);
|
const int liqmonth = _mov->get_int(MOV_MESELIQ);
|
||||||
const TString4 reg = _mov->get("REG");
|
const TString4 reg = _mov->get("REG");
|
||||||
const bool isreg = look_reg(reg);
|
const bool isreg = look_reg(reg);
|
||||||
const TString4 tipodoc = _mov->get(MOV_TIPODOC);
|
const TString4 tipodoc = _mov->get(MOV_TIPODOC);
|
||||||
const bool corrisp = _reg->get_bool("B0");
|
const TRegistro & r = cached_registro(_reg->curr());
|
||||||
const tiporeg tipomov = (tiporeg)_reg->get_int("I0"); // 1=Vendite; 2=Acquisti
|
const bool corrisp = r.corrispettivi();
|
||||||
tipo_movimento tm = (tipo_movimento)_mov->get_int(MOV_TIPOMOV);
|
const tiporeg tipomov = r.tipo_registro();
|
||||||
|
// const bool corrisp = _reg->get_bool("B0");
|
||||||
|
// const tiporeg tipomov = (tiporeg)_reg->get_int("I0"); // 1=Vendite; 2=Acquisti
|
||||||
|
tipo_movimento tm = (tipo_movimento) _mov->get_int(MOV_TIPOMOV);
|
||||||
real imp_split_payment;
|
real imp_split_payment;
|
||||||
|
|
||||||
if (tm == tm_nessuno)
|
if (tm == tm_nessuno)
|
||||||
@ -1202,36 +1164,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
const bool cau_intra = rcs.get_bool(CAU_INTRACOM);
|
const bool cau_intra = rcs.get_bool(CAU_INTRACOM);
|
||||||
const bool cau_valintra = rcs.get_bool(CAU_VALINTRA);
|
const bool cau_valintra = rcs.get_bool(CAU_VALINTRA);
|
||||||
|
|
||||||
/*
|
|
||||||
// Gestione SPLIT PAYMENT dal 01-01-2015: movimenti a enti pubblici senza ritenuta e senza reverse charge
|
|
||||||
if (tipomov == vendita && (tm == tm_fattura || tm == tm_nota_credito) &&
|
|
||||||
!cau_intra && date.year() >= 2015 && is_split_payment(_mov->curr()))
|
|
||||||
{
|
|
||||||
Dal 2016 calcoliamo comunicazione annuale in cg5
|
|
||||||
// aggiunto il 27-01-2016: in tredicesima devo compilare anche CD1_1
|
|
||||||
if (month == 13 && date.year() == year_int)
|
|
||||||
{
|
|
||||||
do // scansione semplificata delle righe IVA
|
|
||||||
{
|
|
||||||
const int rmi_tipoatt = max(_rmoviva->get_int(RMI_TIPOATT), 1); // Poteva capitare tipoatt == 0
|
|
||||||
if (rmi_tipoatt != tipatt)
|
|
||||||
continue;
|
|
||||||
const TString& codiva = _rmoviva->get(RMI_CODIVA);
|
|
||||||
if (!look_iva(codiva))
|
|
||||||
continue;
|
|
||||||
const TString& iva_vpn = _iva->get("S10");
|
|
||||||
if (iva_vpn.full())
|
|
||||||
{
|
|
||||||
const real impZonibile_orig = _rmoviva->get(RMI_IMPONIBILE);
|
|
||||||
cessioni_cd1_1s += imponibile_orig;
|
|
||||||
cessioni_cd1_1 += imponibile_orig;
|
|
||||||
}
|
|
||||||
} while (_cur->next_match(LF_RMOVIVA));
|
|
||||||
}
|
|
||||||
|
|
||||||
continue; // Ignora movimento di split payment
|
|
||||||
} */
|
|
||||||
|
|
||||||
// Inizio gestione IVA differita
|
// Inizio gestione IVA differita
|
||||||
const bool iva_diff = _mov->get_bool(MOV_LIQDIFF) && is_IVA_diff(_mov->curr());
|
const bool iva_diff = _mov->get_bool(MOV_LIQDIFF) && is_IVA_diff(_mov->curr());
|
||||||
const bool iva_cass = !iva_diff && !_isviaggio && tm > tm_nessuno && is_IVAxCassa(_mov->curr());
|
const bool iva_cass = !iva_diff && !_isviaggio && tm > tm_nessuno && is_IVAxCassa(_mov->curr());
|
||||||
@ -1242,7 +1174,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
TPointer_array pagscatt; // Righe di pagsca interessate
|
TPointer_array pagscatt; // Righe di pagsca interessate
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
int i = 1;
|
check_nreg(nr);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (fattrit)
|
if (fattrit)
|
||||||
@ -1286,6 +1219,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
bool regular_month = orizzonte >= date;
|
bool regular_month = orizzonte >= date;
|
||||||
bool first_month = regular_month && date > inizio + 1L;
|
bool first_month = regular_month && date > inizio + 1L;
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
|
check_nreg(nr);
|
||||||
if (rp.get_long(PART_NREG) == 100616)
|
if (rp.get_long(PART_NREG) == 100616)
|
||||||
int i = 1;
|
int i = 1;
|
||||||
#endif
|
#endif
|
||||||
@ -1297,7 +1231,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
{
|
{
|
||||||
const TRectype& p0 = (const TRectype&)pagscatt[p];
|
const TRectype& p0 = (const TRectype&)pagscatt[p];
|
||||||
const TRectype& p1 = (const TRectype&)pagscatt[p - 1];
|
const TRectype& p1 = (const TRectype&)pagscatt[p - 1];
|
||||||
if (p0.get_int(PAGSCA_NRIGP) == p1.get_int(PAGSCA_NRIGP))
|
|
||||||
|
if (p0.get_int(PAGSCA_NRIGP) == p1.get_int(PAGSCA_NRIGP))
|
||||||
{
|
{
|
||||||
const real imp = p0.get_real(PAGSCA_IMPORTO);
|
const real imp = p0.get_real(PAGSCA_IMPORTO);
|
||||||
((TRectype&)p1).add(PAGSCA_IMPORTO, imp);
|
((TRectype&)p1).add(PAGSCA_IMPORTO, imp);
|
||||||
@ -1433,9 +1368,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
if (!dok || sreg || rs8 || cmt)
|
if (!dok || sreg || rs8 || cmt)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
const tipo_sospensione sosp_imp = cached_registro(_reg->curr()).sospensione();
|
||||||
const tipo_sospensione sosp_imp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tipo documento da eliminare (Scudler 1994)
|
* Tipo documento da eliminare (Scudler 1994)
|
||||||
* Trattasi per lo piu' di non incassati
|
* Trattasi per lo piu' di non incassati
|
||||||
@ -1481,6 +1414,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
TCodiceIVA civa(codiva);
|
TCodiceIVA civa(codiva);
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
|
check_nreg(nr);
|
||||||
if (tipomov == vendite)
|
if (tipomov == vendite)
|
||||||
int i = 1;
|
int i = 1;
|
||||||
if (!bIsMovDiff && (civa.percentuale() == 20))
|
if (!bIsMovDiff && (civa.percentuale() == 20))
|
||||||
@ -1547,17 +1481,18 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
real impos_det; // Imposta detraibile
|
real impos_det; // Imposta detraibile
|
||||||
char sezfat;
|
char sezfat;
|
||||||
TLocalisamfile id(LF_IVADIFF);
|
TLocalisamfile id(LF_IVADIFF);
|
||||||
const tipo_sospensione sosp_imp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna;
|
const tipo_sospensione sosp_imp = cached_registro(_reg->curr()).sospensione();
|
||||||
const TString & codcaus = rcs.get(CAU_CODCAUS);
|
const TString & codcaus = rcs.get(CAU_CODCAUS);
|
||||||
TToken_string key = _rmoviva->get(RMI_NUMREG); key.add(1);
|
TToken_string key = _rmoviva->get(RMI_NUMREG); key.add(1);
|
||||||
const bool soloiva = cached_causale(codcaus, atoi(_year)).reg().iva() != nessuna_iva && cache().get(LF_RMOV, key).empty();
|
const TRectype & rmoviva = cache().get(LF_RMOV, key);
|
||||||
const TRectype& clifo = cache().get_rec(LF_CLIFO, _mov->get(MOV_TIPO), _mov->get(MOV_CODCF));
|
const bool soloiva = cached_causale(codcaus, atoi(_year)).reg().iva() != nessuna_iva && rmoviva.empty();
|
||||||
const int tp = clifo.get_int(CLI_ALLEG);
|
const TCli_for & clifo = cached_clifor(LF_MOV, _mov->curr());
|
||||||
|
const int tp = clifo.alleg();
|
||||||
|
// const TRectype& clifo = cache().get_rec(LF_CLIFO, _mov->get(MOV_TIPO), _mov->get(MOV_CODCF));
|
||||||
|
// const int tp = clifo.get_int(CLI_ALLEG);
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
long nr = _mov->get_long(MOV_NUMREG);
|
check_nreg(nr);
|
||||||
|
|
||||||
int i = 1;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((soloiva &&
|
if ((soloiva &&
|
||||||
@ -1587,17 +1522,20 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
|
|
||||||
TDate datafat= _mov->get_date(MOV_DATAREG);
|
TDate datafat= _mov->get_date(MOV_DATAREG);
|
||||||
long numreg = _rmoviva->get_long(RMI_NUMREG);
|
long numreg = _rmoviva->get_long(RMI_NUMREG);
|
||||||
sezfat = tipomov == vendita ? 'D' : 'A';
|
|
||||||
|
sezfat = tipomov == vendita ? 'D' : 'A';
|
||||||
|
|
||||||
if (is_detr_diff == 1 || civa.tipo() == "NS")
|
if (is_detr_diff == 1 || civa.tipo() == "NS")
|
||||||
continue;
|
continue;
|
||||||
if (bIsMovDiff && tm == tm_fattura)
|
if (bIsMovDiff && tm == tm_fattura)
|
||||||
{
|
{
|
||||||
const TDate datareg = _mov->get_date(MOV_DATAREG);
|
const TDate datareg = _mov->get_date(MOV_DATAREG);
|
||||||
int mesereg = datareg.month();
|
int mesereg = liqmonth == 0 ? datareg.month() : liqmonth;
|
||||||
bool ok = is_month_ok(mesereg, month) && (atoi(_year) == datareg.year());
|
bool ok = is_month_ok(mesereg, month) && (atoi(_year) == datareg.year());
|
||||||
|
#ifdef DBG
|
||||||
if (ok)
|
check_nreg(nr);
|
||||||
|
#endif
|
||||||
|
if (ok)
|
||||||
{
|
{
|
||||||
datafat = datareg;
|
datafat = datareg;
|
||||||
id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG));
|
id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG));
|
||||||
@ -1644,14 +1582,15 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
const TRectype& pagsca = *(TRectype*)obj;
|
const TRectype& pagsca = *(TRectype*)obj;
|
||||||
const int nrigp = pagsca.get_int(PAGSCA_NRIGP);
|
const int nrigp = pagsca.get_int(PAGSCA_NRIGP);
|
||||||
TDate datapag;
|
TDate datapag;
|
||||||
|
|
||||||
if (nrigp > 0 && nrigp < 9999)
|
if (nrigp > 0 && nrigp < 9999)
|
||||||
{
|
{
|
||||||
const TPartita& p = arrpart.partita(pagsca);
|
const TPartita& p = arrpart.partita(pagsca);
|
||||||
const TRiga_partite& rp = p.riga(nrigp);
|
const TRiga_partite& rp = p.riga(nrigp);
|
||||||
|
|
||||||
datapag = rp.get(PART_DATAREG);
|
datapag = rp.get(PART_DATAREG);
|
||||||
if (!datapag.ok())
|
if (!datapag.ok())
|
||||||
datapag = rp.get(PART_DATADOC);
|
datapag = rp.get(PART_DATADOC);
|
||||||
if (!datapag.ok())
|
if (!datapag.ok())
|
||||||
datapag = rp.get(PART_DATAPAG);
|
datapag = rp.get(PART_DATAPAG);
|
||||||
if (datapag < datafat)
|
if (datapag < datafat)
|
||||||
@ -1660,13 +1599,10 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
else
|
else
|
||||||
datapag = _mov->get_date(MOV_DATAINC) ;
|
datapag = _mov->get_date(MOV_DATAINC) ;
|
||||||
|
|
||||||
bool ok = is_month_ok(datapag.month(), month) && (atoi(_year) == datapag.year());
|
bool ok = is_month_ok(liqmonth == 0 ? datapag.month() : liqmonth, month) && (atoi(_year) == datapag.year());
|
||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
// if (!ok && (iva_cass && end_cassa && month < 13))
|
|
||||||
// ok = (datareg.year() < atoi(_year)) || (mesereg <= month);
|
|
||||||
|
|
||||||
id.zero();
|
id.zero();
|
||||||
id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG));
|
id.put(RMI_NUMREG, _rmoviva->get(RMI_NUMREG));
|
||||||
id.put(RMI_NUMRIG, _rmoviva->get(RMI_NUMRIG));
|
id.put(RMI_NUMRIG, _rmoviva->get(RMI_NUMRIG));
|
||||||
@ -1684,8 +1620,17 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
|
|
||||||
TDate datareg = _mov->get(MOV_DATADOC);
|
TDate datareg = _mov->get(MOV_DATADOC);
|
||||||
|
|
||||||
if (datareg < datafat)
|
if (liqmonth == 0)
|
||||||
datareg = datafat;
|
{
|
||||||
|
if (datareg < datafat)
|
||||||
|
datareg = datafat;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (liqmonth != datareg.month())
|
||||||
|
{
|
||||||
|
datareg.set_month(liqmonth);
|
||||||
|
datareg.set_end_month();
|
||||||
|
}
|
||||||
id.put(MOV_DATAREG, datareg);
|
id.put(MOV_DATAREG, datareg);
|
||||||
CHECKD(rmi_tipoatt > 0, "Invalid tipo att ", rmi_tipoatt);
|
CHECKD(rmi_tipoatt > 0, "Invalid tipo att ", rmi_tipoatt);
|
||||||
id.put("TIPOATT", rmi_tipoatt);
|
id.put("TIPOATT", rmi_tipoatt);
|
||||||
@ -1711,14 +1656,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
id.put(PART_TIPOMOV, tipomov_pag);
|
id.put(PART_TIPOMOV, tipomov_pag);
|
||||||
id.put("NUMREGP", nregpag);
|
id.put("NUMREGP", nregpag);
|
||||||
id.put("NUMRIGP", nrigpag);
|
id.put("NUMRIGP", nrigpag);
|
||||||
/* TDate d = rp.get(PART_DATAPAG);
|
|
||||||
if (!d.ok())
|
|
||||||
d = rp.get(PART_DATADOC);
|
|
||||||
if (!d.ok())
|
|
||||||
d = rp.get(PART_DATAREG);
|
|
||||||
if (d < datafat)
|
|
||||||
d = datafat; */
|
|
||||||
|
|
||||||
id.put("DATAREGP", datapag);
|
id.put("DATAREGP", datapag);
|
||||||
id.put("ANNOLIQ", datapag.year());
|
id.put("ANNOLIQ", datapag.year());
|
||||||
pagtmp = p.importo_pagsca(pagsca);
|
pagtmp = p.importo_pagsca(pagsca);
|
||||||
@ -1943,87 +1880,12 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calcoli sprecati: dal 2016 calcolimao la comuncazione annuale direttamente in cg5
|
|
||||||
const TString& iva_vpn = _iva->get(tipomov == vendita ? "S10" : "S11");
|
|
||||||
|
|
||||||
// Aggiunto "&& is_detraibile==0" al test altrimenti somma due volte imponibile_orig (22/01/2015)
|
|
||||||
if (!bIsMovDiff && iva_vpn.full() && _mov->get_int(MOV_ANNOIVA) == year_int && is_detraibile == 0)
|
|
||||||
{
|
|
||||||
switch (tipomov)
|
|
||||||
{
|
|
||||||
case vendita: // CD1 - 1 2 3 4
|
|
||||||
{
|
|
||||||
// bool is_valid = !corrisp && tipodoc != "AF" && (cau_intra || !cau_valintra) &&
|
|
||||||
// sosp_imp != normale && sosp_imp != liquidazione;
|
|
||||||
bool is_valid = tipodoc != "AF" && sosp_imp != normale && sosp_imp != liquidazione;
|
|
||||||
if (is_valid)
|
|
||||||
{
|
|
||||||
cessioni_cd1_1 += imponibile_orig;
|
|
||||||
if (iva_vpn.starts_with("CD1"))
|
|
||||||
{
|
|
||||||
if (tipocr == 4)
|
|
||||||
cessioni_cd1_5 += imponibile_orig;
|
|
||||||
}
|
|
||||||
if (!cau_intra)
|
|
||||||
{
|
|
||||||
if (iva_vpn == "CD12")
|
|
||||||
cessioni_cd1_2 += imponibile_orig; else
|
|
||||||
if (iva_vpn == "CD13")
|
|
||||||
cessioni_cd1_3 += imponibile_orig;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (iva_vpn == "CD14")
|
|
||||||
cessioni_cd1_4 += imponibile_orig;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case acquisto: // CD2 - 1 2 3 4
|
|
||||||
{
|
|
||||||
acquisti_cd2_1 += imponibile_orig;
|
|
||||||
if (iva_vpn.starts_with("CD2"))
|
|
||||||
{
|
|
||||||
if (tipocr == 2 || tipocr == 3 || tipocr == 8)
|
|
||||||
acquisti_cd2_5 += imponibile_orig;
|
|
||||||
}
|
|
||||||
if (!cau_intra)
|
|
||||||
{
|
|
||||||
if (iva_vpn == "CD22")
|
|
||||||
acquisti_cd2_2 += imponibile_orig;
|
|
||||||
else
|
|
||||||
if (iva_vpn == "CD23")
|
|
||||||
acquisti_cd2_3 += imponibile_orig;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (iva_vpn == "CD24")
|
|
||||||
acquisti_cd2_4 += imponibile_orig;
|
|
||||||
}
|
|
||||||
if (iva_vpn == "CD31")
|
|
||||||
{
|
|
||||||
oroargento_cd3_1 += imponibile_orig;
|
|
||||||
oroargento_cd3_2 += imposta_orig;
|
|
||||||
}
|
|
||||||
if (iva_vpn == "CD33")
|
|
||||||
{
|
|
||||||
rottami_cd3_3 += imponibile_orig;
|
|
||||||
rottami_cd3_4 += imposta_orig;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool bMovDiffToAdd = true;
|
bool bMovDiffToAdd = true;
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
|
check_nreg(nr);
|
||||||
if (!bIsMovDiff && (civa.percentuale() == 20))
|
if (!bIsMovDiff && (civa.percentuale() == 20))
|
||||||
real p = imposta_orig / imponibile_orig * CENTO;
|
real p = imposta_orig / imponibile_orig * CENTO;
|
||||||
#endif
|
#endif
|
||||||
@ -2034,7 +1896,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
real imponibile = is_detraibile == 0 ? impon_det : impon_ind;
|
real imponibile = is_detraibile == 0 ? impon_det : impon_ind;
|
||||||
real imposta = is_detraibile == 0? impos_det : impos_ind;
|
real imposta = is_detraibile == 0? impos_det : impos_ind;
|
||||||
const TDate datareg = _mov->get_date(MOV_DATAREG);
|
const TDate datareg = _mov->get_date(MOV_DATAREG);
|
||||||
const bool ok = (is_month_ok(month, liqmonth == 0 ? datareg.month() : liqmonth) || month == 13) && (atoi(_year) == datareg.year());
|
const bool ok = (is_month_ok(month, liqmonth == 0 ? datareg.month() : liqmonth) || month == 13) &&
|
||||||
|
(atoi(_year) == datareg.year());
|
||||||
|
|
||||||
if (civa.senza_imposta() && !ok)
|
if (civa.senza_imposta() && !ok)
|
||||||
continue;
|
continue;
|
||||||
@ -2060,7 +1923,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
nin_imp = imponibile;
|
nin_imp = imponibile;
|
||||||
nin_iva = imposta;
|
nin_iva = imposta;
|
||||||
}
|
}
|
||||||
else if (sosp_imp != nessuna) // sospensione di imposta
|
else if (sosp_imp != nessuna_sospensione) // sospensione di imposta
|
||||||
{
|
{
|
||||||
if (tipomov == vendita)
|
if (tipomov == vendita)
|
||||||
{
|
{
|
||||||
@ -2075,7 +1938,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
|
|
||||||
switch (sosp_imp)
|
switch (sosp_imp)
|
||||||
{
|
{
|
||||||
case normale:
|
case sospensione_normale:
|
||||||
assp_imp += asimp_imp;
|
assp_imp += asimp_imp;
|
||||||
assp_iva += asimp_iva;
|
assp_iva += asimp_iva;
|
||||||
// no regolarizzazioni e reverse charge
|
// no regolarizzazioni e reverse charge
|
||||||
@ -2217,7 +2080,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
{
|
{
|
||||||
if (tipomov == vendita)
|
if (tipomov == vendita)
|
||||||
{
|
{
|
||||||
if (sosp_imp != normale && sosp_imp != vol_affari) // CM500308
|
if (sosp_imp != sospensione_normale && sosp_imp != vol_affari) // CM500308
|
||||||
{
|
{
|
||||||
if (tipoes_v == "B1")
|
if (tipoes_v == "B1")
|
||||||
esenti_c1 += imponibile;
|
esenti_c1 += imponibile;
|
||||||
@ -2396,7 +2259,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
*/
|
*/
|
||||||
const bool sosp_vaf = sosp_imp == vol_affari;
|
const bool sosp_vaf = sosp_imp == vol_affari;
|
||||||
const bool sosp_liq = sosp_imp == liquidazione;
|
const bool sosp_liq = sosp_imp == liquidazione;
|
||||||
bool ign = sosp_imp == normale || (fattrit && month != 13) || noninc;
|
bool ign = sosp_imp == sospensione_normale || (fattrit && month != 13) || noninc;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* se liq == false gli importi non contano ai fini
|
* se liq == false gli importi non contano ai fini
|
||||||
@ -2931,8 +2794,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
// Somma i vari prorata calcolati per gli anni precedenti
|
// Somma i vari prorata calcolati per gli anni precedenti
|
||||||
prorata += prorata_precedente1 + prorata_precedente2;
|
prorata += prorata_precedente1 + prorata_precedente2;
|
||||||
prorata += prorata_diff;
|
prorata += prorata_diff;
|
||||||
/* if (!lia.get_bool("B7"))
|
|
||||||
prorata = ZERO; */
|
|
||||||
acquisti_iva -= prorata; // Rettifica acquisti_iva
|
acquisti_iva -= prorata; // Rettifica acquisti_iva
|
||||||
fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati
|
fdiffinc_iva_acq -= prorata_diff; // Rettifica acquisti_iva differiti incassati
|
||||||
}
|
}
|
||||||
@ -3043,24 +2904,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
_pum->put("R12", esni_rimb);
|
_pum->put("R12", esni_rimb);
|
||||||
_pum->put("R28", vendite_rev); // Vendite in reverse charge da escludere da prorata
|
_pum->put("R28", vendite_rev); // Vendite in reverse charge da escludere da prorata
|
||||||
|
|
||||||
/* Dal 2016 calcoliamo comunicazione annuale in cg5
|
|
||||||
_pum->put("R14", cessioni_cd1_1);
|
|
||||||
_pum->put("R15", cessioni_cd1_2);
|
|
||||||
_pum->put("R16", cessioni_cd1_3);
|
|
||||||
_pum->put("R17", cessioni_cd1_4);
|
|
||||||
_pum->put("R18", acquisti_cd2_1);
|
|
||||||
_pum->put("R19", acquisti_cd2_2);
|
|
||||||
_pum->put("R20", acquisti_cd2_3);
|
|
||||||
_pum->put("R21", acquisti_cd2_4);
|
|
||||||
_pum->put("R22", oroargento_cd3_1);
|
|
||||||
_pum->put("R23", oroargento_cd3_2);
|
|
||||||
_pum->put("R24", rottami_cd3_3);
|
|
||||||
_pum->put("R25", rottami_cd3_4);
|
|
||||||
_pum->put("R26", acquisti_cd2_5);
|
|
||||||
_pum->put("R27", cessioni_cd1_5);
|
|
||||||
_pum->put("R29", cessioni_cd1_1s); // cessioni in split
|
|
||||||
*/
|
|
||||||
|
|
||||||
_pam->put("R0", acquisti);
|
_pam->put("R0", acquisti);
|
||||||
_pam->put("R1", vendite);
|
_pam->put("R1", vendite);
|
||||||
_pam->put("R6", assp_imp);
|
_pam->put("R6", assp_imp);
|
||||||
@ -3107,30 +2950,31 @@ void TLiquidazione_app::iva11_set_arr_phase_1(const TString& codatt)
|
|||||||
{
|
{
|
||||||
// My God! Che 2 palle riestrarre tutte le informazioni
|
// My God! Che 2 palle riestrarre tutte le informazioni
|
||||||
const TString4 tipodoc = _mov->get(MOV_TIPODOC);
|
const TString4 tipodoc = _mov->get(MOV_TIPODOC);
|
||||||
const bool intra = _rmoviva->get_bool(RMI_INTRA);
|
const bool intra = _rmoviva->get_bool(RMI_INTRA);
|
||||||
const int tipocr = _rmoviva->get_int(RMI_TIPOCR);
|
const int tipocr = _rmoviva->get_int(RMI_TIPOCR);
|
||||||
// A partire dalla versione 3.1 la gestione dell'IVA 11 non viene piu' supportata ...
|
// A partire dalla versione 3.1 la gestione dell'IVA 11 non viene piu' supportata ...
|
||||||
// ... ergo non stiamo a gestire la indetraibilita' parziale
|
// ... ergo non stiamo a gestire la indetraibilita' parziale
|
||||||
real percind;
|
real percind;
|
||||||
const int tipodet = get_tipodet_from_rmi(_rmoviva->curr(), _mov->curr(), percind);
|
const int tipodet = get_tipodet_from_rmi(_rmoviva->curr(), _mov->curr(), percind);
|
||||||
real imponibile = _rmoviva->get_real(RMI_IMPONIBILE);
|
real imponibile = _rmoviva->get_real(RMI_IMPONIBILE);
|
||||||
real imposta = _rmoviva->get_real(RMI_IMPOSTA);
|
real imposta = _rmoviva->get_real(RMI_IMPOSTA);
|
||||||
|
|
||||||
if (is_split_payment(_mov->curr()))
|
if (is_split_payment(_mov->curr()))
|
||||||
imposta = ZERO;
|
imposta = ZERO;
|
||||||
const TString4 codiva = _iva->get("CODTAB");
|
const TString4 codiva = _iva->get("CODTAB");
|
||||||
const TString4 tipoiva = _iva->get("S1");
|
const TString4 tipoiva = _iva->get("S1");
|
||||||
const real ali = _iva->get_real("R0");
|
const real ali = _iva->get_real("R0");
|
||||||
const TString4 tipoes_v = _iva->get("S2");
|
const TString4 tipoes_v = _iva->get("S2");
|
||||||
const TString4 tipoes_a = _iva->get("S9");
|
const TString4 tipoes_a = _iva->get("S9");
|
||||||
const int tipoagr = _iva->get_int("I4"); // 2/9/2015 was S4
|
const int tipoagr = _iva->get_int("I4"); // 2/9/2015 was S4
|
||||||
const TRectype& rcs = _cur->curr(LF_CAUSALI);
|
const TRectype& rcs = _cur->curr(LF_CAUSALI);
|
||||||
const bool autofattura = rcs.get_bool("AUTOFATT");
|
const bool autofattura = rcs.get_bool("AUTOFATT");
|
||||||
const bool valintra = rcs.get_bool("VALINTRA");
|
const bool valintra = rcs.get_bool("VALINTRA");
|
||||||
const bool intracom = rcs.get_bool("INTRACOM");
|
const bool intracom = rcs.get_bool("INTRACOM");
|
||||||
const tipo_sospensione sosp_imp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna;
|
const TRegistro & reg = cached_registro(_reg->curr());
|
||||||
const bool corrisp = _reg->get_bool("B0");
|
const tipo_sospensione sosp_imp = reg.sospensione();
|
||||||
const tiporeg tipomov = (tiporeg)_reg->get_long("I0");
|
const bool corrisp = reg.corrispettivi();
|
||||||
|
const tiporeg tipomov = reg.tipo_registro();
|
||||||
const bool is_vendita = tipomov == vendita;
|
const bool is_vendita = tipomov == vendita;
|
||||||
const bool is_acquisto = tipomov == acquisto;
|
const bool is_acquisto = tipomov == acquisto;
|
||||||
|
|
||||||
@ -3169,12 +3013,12 @@ void TLiquidazione_app::iva11_set_arr_phase_1(const TString& codatt)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sosp_imp == nessuna && tipodet == 0 && (tipocr == 2 || tipocr == 8))
|
if (sosp_imp == nessuna_sospensione && tipodet == 0 && (tipocr == 2 || tipocr == 8))
|
||||||
{
|
{
|
||||||
array.add(imposta,TAB11_R6,LF_TAB1100B);
|
array.add(imposta,TAB11_R6,LF_TAB1100B);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sosp_imp == nessuna || sosp_imp == vol_affari)
|
if (sosp_imp == nessuna_sospensione || sosp_imp == vol_affari)
|
||||||
{
|
{
|
||||||
if (tipodoc == "BD" && tipodet == 9)
|
if (tipodoc == "BD" && tipodet == 9)
|
||||||
{
|
{
|
||||||
@ -3354,7 +3198,7 @@ void TLiquidazione_app::iva11_set_arr_phase_1(const TString& codatt)
|
|||||||
array.add(imponibile,TAB11_R9,LF_TAB1100B);
|
array.add(imponibile,TAB11_R9,LF_TAB1100B);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (tipocr == 4 && tipodoc != "AF" && (sosp_imp == nessuna || sosp_imp == vol_affari))
|
if (tipocr == 4 && tipodoc != "AF" && (sosp_imp == nessuna_sospensione || sosp_imp == vol_affari))
|
||||||
array.add(imponibile,TAB11_EC112);
|
array.add(imponibile,TAB11_EC112);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3372,7 +3216,7 @@ void TLiquidazione_app::iva11_set_arr_phase_1(const TString& codatt)
|
|||||||
array.add(imposta,TAB11_L2BIS,LF_TAB1100B);
|
array.add(imposta,TAB11_L2BIS,LF_TAB1100B);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!autofattura && (sosp_imp == nessuna || sosp_imp == vol_affari) && intra && tipoes_v == "22")
|
if (!autofattura && (sosp_imp == nessuna_sospensione || sosp_imp == vol_affari) && intra && tipoes_v == "22")
|
||||||
array.add(imponibile,TAB11_E52);
|
array.add(imponibile,TAB11_E52);
|
||||||
|
|
||||||
if (_isagricolo && (tipodoc != "CR" && tipodoc != "SC" && tipodoc != "RF" && tipodoc != "FS"))
|
if (_isagricolo && (tipodoc != "CR" && tipodoc != "SC" && tipodoc != "RF" && tipodoc != "FS"))
|
||||||
@ -4434,10 +4278,6 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
|
|||||||
* false per ditte mensili e liq. annuale
|
* false per ditte mensili e liq. annuale
|
||||||
* Ulteriormente smentito e rettificato
|
* Ulteriormente smentito e rettificato
|
||||||
*/
|
*/
|
||||||
// bool true_trim = (month == 3 || month == 6 || month == 9);
|
|
||||||
// if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
|
|
||||||
// || (month == 13 && !(_isbenzinaro && _gest4)) )) // cambiato 2019
|
|
||||||
|
|
||||||
if (_isintr && (month == 3 || month == 6 || month == 9 || month == 12)) // non più in 13 || month ==13))
|
if (_isintr && (month == 3 || month == 6 || month == 9 || month == 12)) // non più in 13 || month ==13))
|
||||||
{
|
{
|
||||||
const real interesse = interesse_trimestrale(_month);
|
const real interesse = interesse_trimestrale(_month);
|
||||||
@ -4670,16 +4510,18 @@ void TLiquidazione_app::recalc_annual(const char* att, bool & first)
|
|||||||
reg = *_pim_codreg;
|
reg = *_pim_codreg;
|
||||||
look_iva(codiva); look_reg(reg);
|
look_iva(codiva); look_reg(reg);
|
||||||
tiva = _iva->get("S1");
|
tiva = _iva->get("S1");
|
||||||
const tiporeg treg = (tiporeg)_reg->get_long("I0");
|
|
||||||
const bool corrisp = _reg->get_bool("B0");
|
const TRegistro & reg = cached_registro(_reg->curr());
|
||||||
const tipo_sospensione simp = _reg->get_bool("B1") ? (tipo_sospensione)_reg->get_int("I9") : nessuna;
|
const tipo_sospensione simp = reg.sospensione();
|
||||||
|
const tiporeg treg = reg.tipo_registro();
|
||||||
|
const bool corrisp = reg.corrispettivi();
|
||||||
|
|
||||||
if ( // ESCLUSI:
|
if ( // ESCLUSI:
|
||||||
strcmp(att, *_pim_codatt) != 0 ||
|
strcmp(att, *_pim_codatt) != 0 ||
|
||||||
treg != vendita || // non vendite
|
treg != vendita || // non vendite
|
||||||
tipocr == 4 || // cessioni beni ammortizzabili
|
tipocr == 4 || // cessioni beni ammortizzabili
|
||||||
tiva == "NS" || // non soggetti
|
tiva == "NS" || // non soggetti
|
||||||
simp == normale ||
|
simp == sospensione_normale ||
|
||||||
simp == liquidazione) // sospensione di imposta
|
simp == liquidazione) // sospensione di imposta
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -119,7 +119,6 @@ bool TLiquidazione_app::is_date_ok(const TDate& d, int month, int liqmonth, int
|
|||||||
const int regmonth = d.month();
|
const int regmonth = d.month();
|
||||||
const int regyear = d.year();
|
const int regyear = d.year();
|
||||||
|
|
||||||
// if (regyear() != year) return false;
|
|
||||||
if (year < 1998 || _recalc_regis) // Vecchia selezione o calcolo progressivi per stampa registri bollati
|
if (year < 1998 || _recalc_regis) // Vecchia selezione o calcolo progressivi per stampa registri bollati
|
||||||
{
|
{
|
||||||
if (regyear != year || regmonth > month)
|
if (regyear != year || regmonth > month)
|
||||||
|
@ -597,10 +597,11 @@ void TLiquidazione_app::describe_pims(int month, const char* codatt, const bool
|
|||||||
diffinciva_acq = tab->get_real("R33");
|
diffinciva_acq = tab->get_real("R33");
|
||||||
|
|
||||||
const bool is_rit= tipodet != 0 && month == 13 && !rit_imp.is_zero(); //Se fattura in ritardo con tipo detr. != 0 e si sta calcolando l'annuale
|
const bool is_rit= tipodet != 0 && month == 13 && !rit_imp.is_zero(); //Se fattura in ritardo con tipo detr. != 0 e si sta calcolando l'annuale
|
||||||
const tipo_sospensione sosp_imp = _reg->get_bool("B1") ? (tipo_sospensione) _reg->get_int("I9") : nessuna;
|
const TRegistro & reg = cached_registro(_reg->curr());
|
||||||
issosp |= (sosp_imp != nessuna); // Setta il flag di presenza registri in sospensione (qualsiasi tipo: normale, vol_affari, liquidazione)
|
const tipo_sospensione sosp_imp = reg.sospensione();
|
||||||
|
|
||||||
// ACHTUNG! Corrispettivi da ventileer possono ventilare ad un altro codiva; in tal caso si scrive quello
|
issosp |= (sosp_imp != nessuna_sospensione); // Setta il flag di presenza registri in sospensione (qualsiasi tipo: sospensione_normale, vol_affari, liquidazione)
|
||||||
|
// ACHTUNG! Corrispettivi da ventileer possono ventilare ad un altro codiva; in tal caso si scrive quello
|
||||||
if (corrisp && other.full())
|
if (corrisp && other.full())
|
||||||
{
|
{
|
||||||
look_iva(other);
|
look_iva(other);
|
||||||
|
@ -31,8 +31,6 @@
|
|||||||
#include <occas.h>
|
#include <occas.h>
|
||||||
#include <unloc.h>
|
#include <unloc.h>
|
||||||
|
|
||||||
enum tipo_sospensione { nessuna, sospensione_normale, vol_affari, liquidazione };
|
|
||||||
|
|
||||||
inline TStampa_registri_app& app() { return (TStampa_registri_app&)main_app(); }
|
inline TStampa_registri_app& app() { return (TStampa_registri_app&)main_app(); }
|
||||||
|
|
||||||
// Righe da saltare nel footer per evitare di scrivere sulla perforazione
|
// Righe da saltare nel footer per evitare di scrivere sulla perforazione
|
||||||
@ -52,7 +50,10 @@ bool TStampa_registri_app::filter_func (const TRelation * r)
|
|||||||
const bool regst = mov.get_bool(MOV_REGST);
|
const bool regst = mov.get_bool(MOV_REGST);
|
||||||
if (regst) //il movimento e' gia'
|
if (regst) //il movimento e' gia'
|
||||||
return false; //stato stampato in forma definitiva
|
return false; //stato stampato in forma definitiva
|
||||||
const tipo_sospensione ts = (tipo_sospensione)r->lfile("REG").get_int("I9");
|
|
||||||
|
const TRegistro & reg = cached_registro(codreg, annoiva);
|
||||||
|
const tipo_sospensione ts = reg.sospensione();
|
||||||
|
|
||||||
if (ts == liquidazione) // Movimento valido solo ai fini della liquidazione
|
if (ts == liquidazione) // Movimento valido solo ai fini della liquidazione
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -1207,7 +1208,7 @@ messaggio TStampa_registri_app::controlla_liquidazione()
|
|||||||
lim.put("CODTAB", chiave);
|
lim.put("CODTAB", chiave);
|
||||||
if (lim.read() != NOERR || lim.get_bool("B0"))
|
if (lim.read() != NOERR || lim.get_bool("B0"))
|
||||||
{
|
{
|
||||||
if (lim.get_bool("B1")) // qui
|
if (lim.get_bool("B1"))
|
||||||
mesi_cal ="";
|
mesi_cal ="";
|
||||||
else
|
else
|
||||||
mesi_cal << itom(i) << '\n';
|
mesi_cal << itom(i) << '\n';
|
||||||
@ -1275,25 +1276,28 @@ bool TStampa_registri_app::controlla_mov()
|
|||||||
{
|
{
|
||||||
TLocalisamfile mov (LF_MOV);
|
TLocalisamfile mov (LF_MOV);
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
tiporeg tipo;
|
|
||||||
|
|
||||||
TRecnotype rec = _tabreg->recno();
|
TRecnotype rec = _tabreg->recno();
|
||||||
for (mov.first(); ok && !mov.eof(); mov.next())
|
for (mov.first(); ok && !mov.eof(); mov.next())
|
||||||
{
|
{
|
||||||
const TString4 reg = mov.get(MOV_REG);
|
const TString4 codreg = mov.get(MOV_REG);
|
||||||
if (reg.empty()) continue; //non e' un movimento iva
|
|
||||||
if (_stampa_tutti_i_registri)
|
if (codreg.full())
|
||||||
tipo = cerca_reg (reg);
|
|
||||||
if ( (_stampa_tutti_i_registri && (tipo == vendita || tipo == acquisto || tipo == riepilogativo))
|
|
||||||
|| (!_stampa_tutti_i_registri && reg == _codreg) )
|
|
||||||
{
|
{
|
||||||
const TDate datareg = mov.get_date(MOV_DATAREG);
|
const TDate datareg = mov.get_date(MOV_DATAREG);
|
||||||
const bool stampato = mov.get_bool(MOV_REGST);
|
const tiporeg tipo = cached_registro(codreg, datareg.year()).tipo_registro();
|
||||||
if ( datareg.year() < _annoIVA )
|
|
||||||
|
if (( _stampa_tutti_i_registri && (tipo == vendita || tipo == acquisto || tipo == riepilogativo)) ||
|
||||||
|
(!_stampa_tutti_i_registri && codreg == _codreg))
|
||||||
{
|
{
|
||||||
const long numreg = mov.get_long(MOV_NUMREG);
|
const bool stampato = mov.get_bool(MOV_REGST);
|
||||||
if (!stampato)
|
|
||||||
ok = false;
|
if (datareg.year() < _annoIVA)
|
||||||
|
{
|
||||||
|
// const long numreg = mov.get_long(MOV_NUMREG);
|
||||||
|
if (!stampato)
|
||||||
|
ok = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1301,17 +1305,6 @@ bool TStampa_registri_app::controlla_mov()
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
tiporeg TStampa_registri_app::cerca_reg(const TString& c)
|
|
||||||
{
|
|
||||||
tiporeg t = vendita;
|
|
||||||
TString8 cod; cod << _annoIVA << c;
|
|
||||||
_tabreg->zero();
|
|
||||||
_tabreg->put("CODTAB", cod);
|
|
||||||
if (_tabreg->read() == NOERR)
|
|
||||||
t = (tiporeg)_tabreg->get_int ("I0");
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TStampa_registri_app::stampa_prospetto_IVA(int rr, int tipo_prosp)
|
int TStampa_registri_app::stampa_prospetto_IVA(int rr, int tipo_prosp)
|
||||||
{
|
{
|
||||||
const bool print_prec = tipo_prosp == 1;
|
const bool print_prec = tipo_prosp == 1;
|
||||||
|
@ -21,16 +21,6 @@ enum tipo_stampa {
|
|||||||
rif_giornale = 4
|
rif_giornale = 4
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tiporeg {
|
|
||||||
vendita = 1,
|
|
||||||
acquisto = 2,
|
|
||||||
riepilogativo = 3,
|
|
||||||
incassi = 4,
|
|
||||||
giornale = 5,
|
|
||||||
sociale = 6,
|
|
||||||
cespiti = 7
|
|
||||||
};
|
|
||||||
|
|
||||||
class TStampa_registri_app : public TPrintapp
|
class TStampa_registri_app : public TPrintapp
|
||||||
{
|
{
|
||||||
TSorted_cursor * _cur;
|
TSorted_cursor * _cur;
|
||||||
@ -124,7 +114,6 @@ public:
|
|||||||
void stampa_progressivi(TRiga_array&, TRigaiva_array&, tiporeg, const bool);
|
void stampa_progressivi(TRiga_array&, TRigaiva_array&, tiporeg, const bool);
|
||||||
void set_choice_limits(TMask&);
|
void set_choice_limits(TMask&);
|
||||||
void build_ditte_sheet(int flags);
|
void build_ditte_sheet(int flags);
|
||||||
tiporeg cerca_reg(const TString&);
|
|
||||||
void fine_mese();
|
void fine_mese();
|
||||||
void set_page_tot_reg();
|
void set_page_tot_reg();
|
||||||
void send_message(char,const TFilename&,int);
|
void send_message(char,const TFilename&,int);
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#include "cg4501.h"
|
#include "cg4501.h"
|
||||||
#include "cg4500b.h"
|
#include "cg4500b.h"
|
||||||
|
#include "cglib.h"
|
||||||
|
|
||||||
#include <recarray.h>
|
#include <recarray.h>
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
@ -13,6 +14,7 @@ bool TAp_iva::mask_annoiva (TMask_field& f, KEY k)
|
|||||||
{
|
{
|
||||||
const int annoiva = f.mask().get_int(F_ANNOIVA);
|
const int annoiva = f.mask().get_int(F_ANNOIVA);
|
||||||
const int annoivap = ini_get_int(CONFIG_DITTA, "cg", "AnLiIv");
|
const int annoivap = ini_get_int(CONFIG_DITTA, "cg", "AnLiIv");
|
||||||
|
|
||||||
if (annoivap > 0 && annoiva != annoivap + 1)
|
if (annoivap > 0 && annoiva != annoivap + 1)
|
||||||
return f.error_box(FR("Il nuovo anno esercizio IVA deve essere %d"), (annoivap+1));
|
return f.error_box(FR("Il nuovo anno esercizio IVA deve essere %d"), (annoivap+1));
|
||||||
}
|
}
|
||||||
@ -112,14 +114,6 @@ bool TAp_iva::apertura_iva()
|
|||||||
TCursor cur_reg(®, "", 1, &tabreg, &tabreg);
|
TCursor cur_reg(®, "", 1, &tabreg, &tabreg);
|
||||||
|
|
||||||
TRecnotype items = cur_reg.items();
|
TRecnotype items = cur_reg.items();
|
||||||
/*cur_reg.freeze();
|
|
||||||
for (cur_reg = 0L; cur_reg.pos() < items; ++cur_reg)
|
|
||||||
{
|
|
||||||
const int tiporeg = tabreg.get_int("I0");
|
|
||||||
if ((tiporeg == 1) || (tiporeg == 2) || (tiporeg == 3) || (tiporeg==9))
|
|
||||||
reg.remove();
|
|
||||||
}
|
|
||||||
cur_reg.freeze(FALSE);*/
|
|
||||||
|
|
||||||
tabreg.zero();
|
tabreg.zero();
|
||||||
tabreg.put ("CODTAB", _annop);
|
tabreg.put ("CODTAB", _annop);
|
||||||
@ -128,8 +122,9 @@ bool TAp_iva::apertura_iva()
|
|||||||
cur_reg.freeze();
|
cur_reg.freeze();
|
||||||
for (cur_reg = 0L; cur_reg.pos() < items; ++cur_reg)
|
for (cur_reg = 0L; cur_reg.pos() < items; ++cur_reg)
|
||||||
{
|
{
|
||||||
const int tiporeg = tabreg.get_int("I0");
|
const tiporeg tipo = cached_registro(cur_reg.curr()).tipo_registro();
|
||||||
if ( (tiporeg == 1)||(tiporeg == 2)||(tiporeg==3)||(tiporeg==9))
|
|
||||||
|
if ( (tipo == vendita) || (tipo == acquisto) || (tipo == riepilogativo) || (tipo == giornale_magazzino))
|
||||||
{
|
{
|
||||||
TString8 cod = tabreg.get("CODTAB");
|
TString8 cod = tabreg.get("CODTAB");
|
||||||
cod.overwrite(annoiva);
|
cod.overwrite(annoiva);
|
||||||
|
@ -547,7 +547,7 @@ bool TApertura_chiusura::set()
|
|||||||
(*_cur) = 0L;
|
(*_cur) = 0L;
|
||||||
_sld->set_anno_es(_annoesch);
|
_sld->set_anno_es(_annoesch);
|
||||||
_sld->set_movprovv(FALSE);
|
_sld->set_movprovv(FALSE);
|
||||||
_sld->set_tipo_saldo(chiusura);
|
_sld->set_tipo_saldo(saldo_chiusura);
|
||||||
_sld->set_movimentato(TRUE);
|
_sld->set_movimentato(TRUE);
|
||||||
|
|
||||||
costi ();
|
costi ();
|
||||||
@ -565,7 +565,7 @@ bool TApertura_chiusura::set()
|
|||||||
_totale_saldo = ZERO;
|
_totale_saldo = ZERO;
|
||||||
|
|
||||||
_sld->set_anno_es(_annoesap);
|
_sld->set_anno_es(_annoesap);
|
||||||
_sld->set_tipo_saldo(apertura);
|
_sld->set_tipo_saldo(saldo_apertura);
|
||||||
_sld->set_movimentato(TRUE);
|
_sld->set_movimentato(TRUE);
|
||||||
|
|
||||||
*_cur = 0l;
|
*_cur = 0l;
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __PROGIND_H
|
#ifndef __PROGIND_H
|
||||||
|
class TDocumento;
|
||||||
class TProgind;
|
class TProgind;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -144,6 +145,46 @@ enum cgrowtypes
|
|||||||
cgrowtype_spese = 'G' // Spese del saladaconto
|
cgrowtype_spese = 'G' // Spese del saladaconto
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum tipo_sospensione
|
||||||
|
{
|
||||||
|
nessuna_sospensione,
|
||||||
|
sospensione_normale,
|
||||||
|
vol_affari,
|
||||||
|
liquidazione
|
||||||
|
};
|
||||||
|
|
||||||
|
enum tipobil
|
||||||
|
{
|
||||||
|
DataLimite = 1,
|
||||||
|
UltimaImmissione
|
||||||
|
};
|
||||||
|
|
||||||
|
enum tiposal
|
||||||
|
{
|
||||||
|
saldo_normale,
|
||||||
|
saldo_apertura,
|
||||||
|
saldo_chiusura
|
||||||
|
};
|
||||||
|
|
||||||
|
enum TTipo_data
|
||||||
|
{
|
||||||
|
Registrazione,
|
||||||
|
Competenza,
|
||||||
|
CostiRicavi
|
||||||
|
};
|
||||||
|
|
||||||
|
enum tiporeg
|
||||||
|
{
|
||||||
|
vendita = 1,
|
||||||
|
acquisto = 2,
|
||||||
|
riepilogativo = 3,
|
||||||
|
incassi = 4,
|
||||||
|
giornale = 5,
|
||||||
|
sociale = 6,
|
||||||
|
cespiti = 7,
|
||||||
|
giornale_magazzino = 9
|
||||||
|
};
|
||||||
|
|
||||||
inline bool check_mov(const int tipomovprovv, const TString & provvis)
|
inline bool check_mov(const int tipomovprovv, const TString & provvis)
|
||||||
{
|
{
|
||||||
return ((tipomovprovv & 0x1) && provvis.blank()) ||
|
return ((tipomovprovv & 0x1) && provvis.blank()) ||
|
||||||
@ -242,10 +283,13 @@ public:
|
|||||||
|
|
||||||
virtual bool ok() const { return !_rec.empty(); }
|
virtual bool ok() const { return !_rec.empty(); }
|
||||||
|
|
||||||
int tipo() const;
|
const TString & codice() const { return _rec.get("CODTAB"); }
|
||||||
|
int tipo() const { return _rec.get_int("I0"); }
|
||||||
TipoIVA iva() const;
|
TipoIVA iva() const;
|
||||||
bool corrispettivi() const;
|
bool corrispettivi() const { return _rec.get_bool("B0");}
|
||||||
bool sospeso() const { return _rec.get_bool("B1");}
|
bool sospeso() const { return _rec.get_bool("B1");}
|
||||||
|
tiporeg tipo_registro() const { return (tiporeg) tipo(); }
|
||||||
|
tipo_sospensione sospensione() const { return sospeso() ? (tipo_sospensione) _rec.get_int("I9") : nessuna_sospensione; }
|
||||||
const TString& name() const;
|
const TString& name() const;
|
||||||
int year() const;
|
int year() const;
|
||||||
TDate last_reg() const { return _rec.get_date("D2"); }
|
TDate last_reg() const { return _rec.get_date("D2"); }
|
||||||
@ -254,7 +298,6 @@ public:
|
|||||||
long protocol() const { return _rec.get_long("I5"); }
|
long protocol() const { return _rec.get_long("I5"); }
|
||||||
const TString& attivita() const { return _rec.get("S8"); }
|
const TString& attivita() const { return _rec.get("S8"); }
|
||||||
|
|
||||||
|
|
||||||
bool agenzia_viaggi() const;
|
bool agenzia_viaggi() const;
|
||||||
const TString& tipo_attivita() const;
|
const TString& tipo_attivita() const;
|
||||||
bool attivita_mista() const { const char a = tipo_attivita()[0]; return a == 'E'; }
|
bool attivita_mista() const { const char a = tipo_attivita()[0]; return a == 'E'; }
|
||||||
@ -271,6 +314,9 @@ public:
|
|||||||
virtual ~TRegistro() {}
|
virtual ~TRegistro() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TRegistro & cached_registro(const char * codreg, const int year = 0);
|
||||||
|
inline const TRegistro & cached_registro(const TRectype & reg) { return cached_registro(reg.get("CODTAB").smid(4), atoi(reg.get("CODTAB").sleft(4))); }
|
||||||
|
|
||||||
class TLibro_giornale : public TRegistro
|
class TLibro_giornale : public TRegistro
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -287,8 +333,7 @@ class TCodiceIVA;
|
|||||||
class TCausale : public TArray
|
class TCausale : public TArray
|
||||||
{
|
{
|
||||||
TRectype _rec;
|
TRectype _rec;
|
||||||
TRegistro _reg;
|
int _year;
|
||||||
|
|
||||||
TipoIVA _iva;
|
TipoIVA _iva;
|
||||||
bool _corrisp;
|
bool _corrisp;
|
||||||
char _sezione_clifo, _sezione_ritsoc, _sezione_ritfis, _sezione_revcharge, _provvisorio;
|
char _sezione_clifo, _sezione_ritsoc, _sezione_ritfis, _sezione_revcharge, _provvisorio;
|
||||||
@ -313,8 +358,9 @@ public:
|
|||||||
bool num_doc() const;
|
bool num_doc() const;
|
||||||
bool apertura() const;
|
bool apertura() const;
|
||||||
bool chiusura() const;
|
bool chiusura() const;
|
||||||
bool sezionale() const;
|
tiposal tipo_saldo() const { return apertura() ? saldo_apertura : (chiusura() ? saldo_chiusura : saldo_normale); } bool sezionale() const;
|
||||||
bool valuta() const;
|
tipo_sospensione sospensione() const { return reg().sospensione(); }
|
||||||
|
bool valuta() const;
|
||||||
bool intra() const;
|
bool intra() const;
|
||||||
bool valintra() const;
|
bool valintra() const;
|
||||||
bool soloiva() const;
|
bool soloiva() const;
|
||||||
@ -324,11 +370,11 @@ public:
|
|||||||
bool ril_fat_em_ric() const;
|
bool ril_fat_em_ric() const;
|
||||||
bool datareg_prec() const;
|
bool datareg_prec() const;
|
||||||
char provvisorio() const { return _provvisorio; }
|
char provvisorio() const { return _provvisorio; }
|
||||||
const TString& causale_collegata() const;
|
const TString & causale_collegata() const;
|
||||||
const TString& causale_reg_iva() const;
|
const TString & causale_reg_iva() const;
|
||||||
const TString& tipo_doc() const;
|
const TString & tipo_doc() const;
|
||||||
|
const TString & codice_registro() const { return _rec.get(CAU_REG); }
|
||||||
TRegistro& reg() const { return (TRegistro&)_reg; }
|
const TRegistro& reg() const { return cached_registro(codice_registro(), _year); }
|
||||||
TipoIVA iva() const { return _iva; }
|
TipoIVA iva() const { return _iva; }
|
||||||
int regime_speciale() const;
|
int regime_speciale() const;
|
||||||
bool corrispettivi() const { return _corrisp; }
|
bool corrispettivi() const { return _corrisp; }
|
||||||
@ -362,6 +408,8 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
const TCausale & cached_causale(const char * codcaus, const int year = 0);
|
const TCausale & cached_causale(const char * codcaus, const int year = 0);
|
||||||
|
inline const TCausale & cached_causale(const TRectype & caus, const int year = 0) { return cached_causale(caus.get(CAU_CODCAUS), year); }
|
||||||
|
|
||||||
|
|
||||||
class TCodiceIVA : public TRectype
|
class TCodiceIVA : public TRectype
|
||||||
{
|
{
|
||||||
@ -548,10 +596,6 @@ public:
|
|||||||
TRectype* saldi() const;
|
TRectype* saldi() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum tipobil { DataLimite = 1, UltimaImmissione };
|
|
||||||
enum tiposal { normale, apertura, chiusura };
|
|
||||||
enum TTipo_data { Registrazione, Competenza, CostiRicavi };
|
|
||||||
|
|
||||||
const TDate get_date_mov(const TRectype & mov, TTipo_data tipo_data);
|
const TDate get_date_mov(const TRectype & mov, TTipo_data tipo_data);
|
||||||
|
|
||||||
class TSaldo : public TObject
|
class TSaldo : public TObject
|
||||||
@ -962,17 +1006,26 @@ public:
|
|||||||
const TRectype& cg(int i, bool create = true) const { return (const TRectype &) ((TRecord_array &) cg()).row(i, create); }
|
const TRectype& cg(int i, bool create = true) const { return (const TRectype &) ((TRecord_array &) cg()).row(i, create); }
|
||||||
const TRectype& iva(int i, bool create = true) const { return (const TRectype &)((TRecord_array &) iva()).row(i, create); }
|
const TRectype& iva(int i, bool create = true) const { return (const TRectype &)((TRecord_array &) iva()).row(i, create); }
|
||||||
int cg_rows() const { return cg().rows(); }
|
int cg_rows() const { return cg().rows(); }
|
||||||
int iva_rows() const { return iva().rows(); }
|
int iva_rows() const { return iva().rows(); }
|
||||||
|
bool solo_IVA() const { return iva_rows() > 0 && cg_rows() == 0; }
|
||||||
|
|
||||||
virtual int readat(TBaseisamfile& f, TRecnotype nrec, word lockop = _nolock);
|
virtual int readat(TRecnotype nrec, word lockop = _nolock);
|
||||||
virtual int read(TBaseisamfile & f, word op = _isequal, word lockop = _nolock);
|
virtual int read(word op = _isequal, word lockop = _nolock);
|
||||||
virtual int TMovimento_contabile::remove();
|
virtual int TMovimento_contabile::remove();
|
||||||
|
|
||||||
|
virtual TMovimento_contabile & copy(const TMovimento_contabile & mov);
|
||||||
|
virtual TObject* dup() const { return new TMovimento_contabile(*this); }
|
||||||
|
virtual TMovimento_contabile& operator =(const TMovimento_contabile& mov) { return copy(mov); }
|
||||||
|
virtual TRectype& operator =(const TRectype & mov);
|
||||||
|
|
||||||
void adjust_rowtypes();
|
void adjust_rowtypes();
|
||||||
real imponibile(const char * codiva = nullptr) const ;
|
real imponibile(const char * codiva = nullptr) const ;
|
||||||
real imposta(const char * codiva = nullptr) const ;
|
real imposta(const char * codiva = nullptr) const ;
|
||||||
|
|
||||||
TMovimento_contabile();
|
TMovimento_contabile();
|
||||||
|
TMovimento_contabile(const TMovimento_contabile& mov);
|
||||||
|
TMovimento_contabile(long numreg);
|
||||||
|
TMovimento_contabile(const TRectype& mov);
|
||||||
virtual ~TMovimento_contabile() {}
|
virtual ~TMovimento_contabile() {}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1481,6 +1534,7 @@ public:
|
|||||||
|
|
||||||
char tipo() const { return get_char(CLI_TIPOCF); }
|
char tipo() const { return get_char(CLI_TIPOCF); }
|
||||||
long codice() const { return get_long(CLI_CODCF); }
|
long codice() const { return get_long(CLI_CODCF); }
|
||||||
|
int alleg() const { return get_int(CLI_ALLEG); }
|
||||||
bool ok() const { return !empty(); }
|
bool ok() const { return !empty(); }
|
||||||
|
|
||||||
virtual int read(const TRectype& rec, word op = _isequal, word lockop = _nolock);
|
virtual int read(const TRectype& rec, word op = _isequal, word lockop = _nolock);
|
||||||
@ -1502,5 +1556,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
const TCli_for & cached_clifor(const char tipo, const long codice);
|
const TCli_for & cached_clifor(const char tipo, const long codice);
|
||||||
|
const TCli_for & cached_clifor(int file, const TRectype & rec);
|
||||||
|
|
||||||
#endif
|
#endif
|
@ -50,13 +50,8 @@ bool TCausale::reread()
|
|||||||
{
|
{
|
||||||
const TString4 cod = codice();
|
const TString4 cod = codice();
|
||||||
|
|
||||||
if (cod.full())
|
if (cod.full() && _year > 0)
|
||||||
{
|
return read(cod, _year);
|
||||||
const int year = _reg.year();
|
|
||||||
|
|
||||||
if (year > 0)
|
|
||||||
return read(cod, year);
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,6 +63,7 @@ bool TCausale::read(const char* cod, int year)
|
|||||||
_iva = iva_errata; // Delete misc info
|
_iva = iva_errata; // Delete misc info
|
||||||
_sezione_clifo = _sezione_ritsoc = _provvisorio = ' ';
|
_sezione_clifo = _sezione_ritsoc = _provvisorio = ' ';
|
||||||
_corrisp = false;
|
_corrisp = false;
|
||||||
|
_year = year;
|
||||||
|
|
||||||
if (cod && *cod > ' ')
|
if (cod && *cod > ' ')
|
||||||
{
|
{
|
||||||
@ -89,18 +85,18 @@ bool TCausale::read(const char* cod, int year)
|
|||||||
add(rcaus.curr(), riga);
|
add(rcaus.curr(), riga);
|
||||||
}
|
}
|
||||||
|
|
||||||
const TString4 codreg(_rec.get(CAU_REG));
|
/* const TString4 codreg(_rec.get(CAU_REG));
|
||||||
const bool ok = _reg.read(codreg, year); // Read register
|
const bool ok = _reg.read(codreg, year); // Read register
|
||||||
if (!ok && codreg.not_empty())
|
if (!ok && codreg.not_empty())
|
||||||
return error_box(FR("Non esiste il registro '%s' del %d"),
|
return error_box(FR("Non esiste il registro '%s' del %d"),
|
||||||
(const char*)codreg, year);
|
(const char*)codreg, year); */
|
||||||
calcIVA();
|
calcIVA();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_iva = nessuna_iva; // Clear IVA data
|
_iva = nessuna_iva; // Clear IVA data
|
||||||
_corrisp = false;
|
_corrisp = false;
|
||||||
_reg.read("", year);
|
// _reg.read("", year);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -359,8 +355,9 @@ void TCausale::calcIVA()
|
|||||||
const TRectype& tpd = cache().get("%TPD", td);
|
const TRectype& tpd = cache().get("%TPD", td);
|
||||||
if (!tpd.empty())
|
if (!tpd.empty())
|
||||||
{
|
{
|
||||||
i = (TipoIVA)tpd.get_int("I0"); // IVA acquisti, vendite, generica
|
i = (TipoIVA) tpd.get_int("I0"); // IVA acquisti, vendite, generica
|
||||||
const TipoIVA ri = _reg.iva();
|
const TipoIVA ri = reg().iva();
|
||||||
|
|
||||||
if (i == iva_generica)
|
if (i == iva_generica)
|
||||||
i = ri;
|
i = ri;
|
||||||
if (i != ri)
|
if (i != ri)
|
||||||
@ -915,18 +912,6 @@ TRegistro& TRegistro::operator =(const TRegistro& r)
|
|||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TRegistro::tipo() const
|
|
||||||
{
|
|
||||||
const int t = _rec.get_int("I0");
|
|
||||||
return t;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TRegistro::corrispettivi() const
|
|
||||||
{
|
|
||||||
const bool c = _rec.get_bool("B0");
|
|
||||||
return c;
|
|
||||||
}
|
|
||||||
|
|
||||||
TipoIVA TRegistro::iva() const
|
TipoIVA TRegistro::iva() const
|
||||||
{
|
{
|
||||||
TipoIVA i = (TipoIVA)tipo();
|
TipoIVA i = (TipoIVA)tipo();
|
||||||
@ -1055,6 +1040,49 @@ bool TRegistro::update(long protiva, const TDate& datareg)
|
|||||||
return updated;
|
return updated;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
// TCache_registri
|
||||||
|
///////////////////////////////////////////////////////////
|
||||||
|
class TCache_registri : public TCache
|
||||||
|
{
|
||||||
|
protected:
|
||||||
|
virtual TObject* key2obj(const char* key);
|
||||||
|
|
||||||
|
public:
|
||||||
|
const TRegistro & registro(const char* key, const int anno = 0);
|
||||||
|
|
||||||
|
TCache_registri() : TCache() { }
|
||||||
|
virtual ~TCache_registri() { }
|
||||||
|
};
|
||||||
|
|
||||||
|
TObject* TCache_registri::key2obj(const char* key)
|
||||||
|
{
|
||||||
|
TToken_string k(key);
|
||||||
|
TString16 cod;
|
||||||
|
|
||||||
|
k.get(0, cod);
|
||||||
|
cod.trim();
|
||||||
|
int year;
|
||||||
|
|
||||||
|
k.get(1, year);
|
||||||
|
return new TRegistro(cod, year);
|
||||||
|
}
|
||||||
|
|
||||||
|
const TRegistro & TCache_registri::registro(const char* key, const int anno)
|
||||||
|
{
|
||||||
|
TToken_string k(key);
|
||||||
|
|
||||||
|
k.add(anno);
|
||||||
|
return (const TRegistro &)*objptr(k);
|
||||||
|
}
|
||||||
|
|
||||||
|
const TRegistro & cached_registro(const char * codreg, int year)
|
||||||
|
{
|
||||||
|
HIDDEN TCache_registri __cache_registri;
|
||||||
|
|
||||||
|
return __cache_registri.registro(codreg, year);
|
||||||
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// Libro giornale
|
// Libro giornale
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
@ -804,7 +804,7 @@ void TTab_conti::aggiorna_conto(const TBill& tcon,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (movap == apertura)
|
if (movap == saldo_apertura)
|
||||||
{
|
{
|
||||||
if (importo.sezione() == 'D')
|
if (importo.sezione() == 'D')
|
||||||
tc->saldo() += i;
|
tc->saldo() += i;
|
||||||
@ -813,7 +813,7 @@ void TTab_conti::aggiorna_conto(const TBill& tcon,
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (movap == chiusura)
|
if (movap == saldo_chiusura)
|
||||||
{
|
{
|
||||||
if (importo.sezione() == 'D')
|
if (importo.sezione() == 'D')
|
||||||
tc->saldofin() += i;
|
tc->saldofin() += i;
|
||||||
@ -846,7 +846,7 @@ void TTab_conti::aggiorna_conto(const TBill& tcon,
|
|||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
TSaldo_agg::TSaldo_agg() : _anno_es(0), _data_ulmov(""), _num_ulmov(0l),
|
TSaldo_agg::TSaldo_agg() : _anno_es(0), _data_ulmov(""), _num_ulmov(0l),
|
||||||
_movap(normale), _provv(' '), _movimentato(false)
|
_movap(saldo_normale), _provv(' '), _movimentato(false)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
void TSaldo_agg::aggiorna(const TBill& tc, const TImporto& imp, bool somma, bool scaricato)
|
void TSaldo_agg::aggiorna(const TBill& tc, const TImporto& imp, bool somma, bool scaricato)
|
||||||
|
@ -211,10 +211,8 @@ bool is_IVAxCassa(const TRectype& mov)
|
|||||||
{
|
{
|
||||||
if (mov.get_bool(MOV_LIQDIFF) || !mov.get_bool(MOV_IVAXCASSA))
|
if (mov.get_bool(MOV_LIQDIFF) || !mov.get_bool(MOV_IVAXCASSA))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!mov_has_imposte(mov))
|
if (!mov_has_imposte(mov))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
const TDate data_reg = mov.get(MOV_DATAREG);
|
const TDate data_reg = mov.get(MOV_DATAREG);
|
||||||
// const TDate data_doc = mov.get(MOV_DATADOC);
|
// const TDate data_doc = mov.get(MOV_DATADOC);
|
||||||
// const TDate data_rif = data_doc.ok() && data_doc < data_reg ? data_doc : data_reg;
|
// const TDate data_rif = data_doc.ok() && data_doc < data_reg ? data_doc : data_reg;
|
||||||
|
@ -89,9 +89,34 @@ TMovimento_contabile::TMovimento_contabile()
|
|||||||
add_file(LF_RMOVIVA, RMV_NUMRIG);
|
add_file(LF_RMOVIVA, RMV_NUMRIG);
|
||||||
}
|
}
|
||||||
|
|
||||||
int TMovimento_contabile::readat(TBaseisamfile& f, TRecnotype nrec, word lockop)
|
TMovimento_contabile::TMovimento_contabile(const TMovimento_contabile& mov)
|
||||||
|
: TMultiple_rectype(LF_MOV), _old_iva(LF_RMOVIVA, RMI_NUMRIG)
|
||||||
{
|
{
|
||||||
const int err = TMultiple_rectype::readat(f, nrec, lockop);
|
copy(mov);
|
||||||
|
}
|
||||||
|
|
||||||
|
TMovimento_contabile::TMovimento_contabile(long numreg)
|
||||||
|
: TMultiple_rectype(LF_MOV), _old_iva(LF_RMOVIVA, RMI_NUMRIG)
|
||||||
|
{
|
||||||
|
add_file(LF_RMOV, RMV_NUMRIG);
|
||||||
|
add_file(LF_RMOVIVA, RMV_NUMRIG);
|
||||||
|
put(MOV_NUMREG, numreg);
|
||||||
|
read(_isequal, _nolock);
|
||||||
|
}
|
||||||
|
|
||||||
|
TMovimento_contabile::TMovimento_contabile(const TRectype& mov)
|
||||||
|
: TMultiple_rectype(LF_MOV), _old_iva(LF_RMOVIVA, RMI_NUMRIG)
|
||||||
|
{
|
||||||
|
add_file(LF_RMOV, RMV_NUMRIG);
|
||||||
|
add_file(LF_RMOVIVA, RMV_NUMRIG);
|
||||||
|
*this = mov;
|
||||||
|
read(_isequal, _nolock);
|
||||||
|
}
|
||||||
|
|
||||||
|
int TMovimento_contabile::readat(TRecnotype nrec, word lockop)
|
||||||
|
{
|
||||||
|
TLocalisamfile f(LF_MOV);
|
||||||
|
const int err = TMultiple_rectype::readat(f, nrec, lockop);
|
||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
@ -110,9 +135,9 @@ int TMovimento_contabile::readat(TBaseisamfile& f, TRecnotype nrec, word lockop)
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TMovimento_contabile::read(TBaseisamfile & f, word op, word lockop)
|
int TMovimento_contabile::read( word op, word lockop)
|
||||||
{
|
{
|
||||||
const int err = TMultiple_rectype::read(f, op, lockop);
|
const int err = TMultiple_rectype::read(op, lockop);
|
||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
@ -255,6 +280,21 @@ int TMovimento_contabile::write_rewrite(TBaseisamfile& f, bool re) const
|
|||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TMovimento_contabile& TMovimento_contabile::copy(const TMovimento_contabile & mov)
|
||||||
|
{
|
||||||
|
TMultiple_rectype::operator=((TMultiple_rectype &)mov);
|
||||||
|
|
||||||
|
_old_iva = mov._old_iva;
|
||||||
|
_olddataliq = mov._olddataliq;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
TRectype & TMovimento_contabile::operator =(const TRectype & mov)
|
||||||
|
{
|
||||||
|
return TMultiple_rectype::operator=(mov);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TMovimento_contabile::find_movcoll()
|
void TMovimento_contabile::find_movcoll()
|
||||||
{
|
{
|
||||||
if (get_long(MOV_MOVCOLL) == 0L)
|
if (get_long(MOV_MOVCOLL) == 0L)
|
||||||
|
33
src/include/bagn010.h
Normal file
33
src/include/bagn010.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
#define F_KEYFIELD1 201
|
||||||
|
#define F_KEYFIELD2 202
|
||||||
|
#define F_KEYFIELD3 203
|
||||||
|
#define F_KEYFIELD4 204
|
||||||
|
#define F_KEYFIELD5 205
|
||||||
|
#define F_KEYFIELD6 206
|
||||||
|
#define F_KEYFIELD7 207
|
||||||
|
#define F_KEYFIELD8 208
|
||||||
|
#define F_KEYFIELD9 209
|
||||||
|
#define F_KEYFIELD10 210
|
||||||
|
#define F_KEYFIELD11 211
|
||||||
|
#define F_KEYFIELD12 212
|
||||||
|
#define F_KEYFIELD13 213
|
||||||
|
#define F_KEYFIELD14 214
|
||||||
|
#define F_KEYFIELD15 215
|
||||||
|
#define F_KEYFIELD16 216
|
||||||
|
#define F_KEYFIELD17 217
|
||||||
|
#define F_KEYFIELD18 218
|
||||||
|
#define F_KEYFIELD19 219
|
||||||
|
#define F_KEYFIELD20 220
|
||||||
|
#define F_DATALIM 221 // DATA
|
||||||
|
#define F_ORALIM 222 // ORA
|
||||||
|
|
||||||
|
#define F_PRINT 250
|
||||||
|
#define F_REPLAY 251
|
||||||
|
#define F_SHEET 300
|
||||||
|
|
||||||
|
#define F_DATA 101 // DATA
|
||||||
|
#define F_ORA 102 // ORA
|
||||||
|
#define F_USER 103 // USER
|
||||||
|
#define F_SESSION 104 // SESSION
|
||||||
|
#define F_CONTENT 105 //TRANS
|
234
src/include/bagn010.uml
Normal file
234
src/include/bagn010.uml
Normal file
@ -0,0 +1,234 @@
|
|||||||
|
#include <bagn010.h>
|
||||||
|
//maschera del log
|
||||||
|
|
||||||
|
TOOLBAR "" 0 0 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_OK
|
||||||
|
BEGIN
|
||||||
|
PROMPT -14 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON F_PRINT
|
||||||
|
BEGIN
|
||||||
|
PROMPT -24 -1 "~Stampa"
|
||||||
|
PICTURE TOOL_PRINT
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON F_REPLAY
|
||||||
|
BEGIN
|
||||||
|
PROMPT -34 -1 "~Ricostruisci"
|
||||||
|
PICTURE TOOL_RECALC
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL
|
||||||
|
BEGIN
|
||||||
|
PROMPT -44 -1 ""
|
||||||
|
END
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
PAGE "Log delle transazioni" 0 0 0 0
|
||||||
|
|
||||||
|
GROUPBOX DLG_NULL 0 12
|
||||||
|
BEGIN
|
||||||
|
PROMPT 3 1 "Chiave"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD1 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Campo 1 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD2 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 2 "Campo 2 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD3 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 3 "Campo 3 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD4 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 3 "Campo 4 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD5 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Campo 5 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD6 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 4 "Campo 6 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD7 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 5 "Campo 7 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD8 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 5 "Campo 8 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD9 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 6 "Campo 9 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD10 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 6 "Campo 10 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD11 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 7 "Campo 11 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD12 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 7 "Campo 12 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD13 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Campo 13 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD14 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 8 "Campo 14 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD15 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 9 "Campo 15 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD16 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 9 "Campo 16 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD17 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Campo 17 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD18 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 10 "Campo 18 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD19 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 11 "Campo 19 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_KEYFIELD20 30
|
||||||
|
BEGIN
|
||||||
|
PROMPT 42 11 "Campo 20 "
|
||||||
|
FLAGS "D"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATE F_DATALIM
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 13 "Data "
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ORALIM 8
|
||||||
|
BEGIN
|
||||||
|
PROMPT 20 13 "Ora"
|
||||||
|
END
|
||||||
|
|
||||||
|
SPREADSHEET F_SHEET
|
||||||
|
BEGIN
|
||||||
|
PROMPT 0 15 "Lista"
|
||||||
|
ITEM "Data@10"
|
||||||
|
ITEM "Ora@8"
|
||||||
|
ITEM "Utente@50"
|
||||||
|
ITEM "Sessione"
|
||||||
|
ITEM "Conutento@200"
|
||||||
|
FLAGS "R"
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
||||||
|
|
||||||
|
PAGE "Transazione" 0 0 0 0
|
||||||
|
DATE F_DATA
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 2 "Data "
|
||||||
|
FIELD DATA
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_ORA 8
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 4 "Ora "
|
||||||
|
FIELD ORA
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING F_USER 100 60
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 6 "Utente "
|
||||||
|
FIELD USER
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMBER F_SESSION 4
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 8 "Sessione "
|
||||||
|
FIELD SESSION
|
||||||
|
END
|
||||||
|
|
||||||
|
ZOOM F_CONTENT 60
|
||||||
|
BEGIN
|
||||||
|
PROMPT 2 10 "Transazione "
|
||||||
|
FIELD TRANS
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
TOOLBAR "topbar" 0 0 0 2
|
||||||
|
|
||||||
|
BUTTON DLG_OK
|
||||||
|
BEGIN
|
||||||
|
PROMPT -13 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON F_PRINT
|
||||||
|
BEGIN
|
||||||
|
PROMPT -23 -1 "Stampa"
|
||||||
|
PICTURE TOOL_PRINT
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON DLG_CANCEL
|
||||||
|
BEGIN
|
||||||
|
PROMPT -33 -1 ""
|
||||||
|
END
|
||||||
|
|
||||||
|
ENDPAGE
|
||||||
|
|
||||||
|
ENDMASK
|
@ -1018,6 +1018,18 @@ bool ini_set_string(int cfg, const char* paragraph, const char* name, const char
|
|||||||
return ini_set_string(filename, paragraph, name, val, idx);
|
return ini_set_string(filename, paragraph, name, val, idx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const TDate ini_get_date(int cfg, const char* paragraph, const char* name, const char* defval, int idx)
|
||||||
|
{
|
||||||
|
DECLARE_FILENAME(cfg);
|
||||||
|
return TDate(ini_get_string(filename, paragraph, name, defval, idx));
|
||||||
|
}
|
||||||
|
|
||||||
|
const real ini_get_real(int cfg, const char* paragraph, const char* name, const char* defval, int idx)
|
||||||
|
{
|
||||||
|
DECLARE_FILENAME(cfg);
|
||||||
|
return real(ini_get_string(filename, paragraph, name, defval, idx));
|
||||||
|
}
|
||||||
|
|
||||||
bool ini_remove(int cfg, const char* para, const char* name, int idx)
|
bool ini_remove(int cfg, const char* para, const char* name, int idx)
|
||||||
{
|
{
|
||||||
DECLARE_FILENAME(cfg);
|
DECLARE_FILENAME(cfg);
|
||||||
|
@ -202,6 +202,8 @@ void ini_del_memo (const char* file, const char* para, const char* name);
|
|||||||
bool ini_get_bool (int cfg, const char* para, const char* name, bool defval = false, int idx = -1);
|
bool ini_get_bool (int cfg, const char* para, const char* name, bool defval = false, int idx = -1);
|
||||||
int ini_get_int (int cfg, const char* para, const char* name, int defval = 0, int idx = -1);
|
int ini_get_int (int cfg, const char* para, const char* name, int defval = 0, int idx = -1);
|
||||||
const TString& ini_get_string(int cfg, const char* para, const char* name, const char* defval = "", int idx = -1);
|
const TString& ini_get_string(int cfg, const char* para, const char* name, const char* defval = "", int idx = -1);
|
||||||
|
const TDate ini_get_date (int cfg, const char* para, const char* name, const char* defval = "", int idx = -1);
|
||||||
|
const real ini_get_real (int cfg, const char* para, const char* name, const char* defval = "", int idx = -1);
|
||||||
bool ini_set_bool (int cfg, const char* para, const char* name, bool val, int idx = -1);
|
bool ini_set_bool (int cfg, const char* para, const char* name, bool val, int idx = -1);
|
||||||
bool ini_set_int (int cfg, const char* para, const char* name, int val, int idx = -1);
|
bool ini_set_int (int cfg, const char* para, const char* name, int val, int idx = -1);
|
||||||
bool ini_set_string(int cfg, const char* para, const char* name, const char* val, int idx = -1);
|
bool ini_set_string(int cfg, const char* para, const char* name, const char* val, int idx = -1);
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
182
|
182
|
||||||
0
|
0
|
||||||
$dblog|||319|0|Log Transazioni|||
|
$dblog|0|0|404|0|Log Transazioni|||
|
||||||
|
@ -12,7 +12,7 @@ RELEASE|2|3|0|Release
|
|||||||
TAG|2|4|0|Tag
|
TAG|2|4|0|Tag
|
||||||
PATCH|1|4|0|Patch
|
PATCH|1|4|0|Patch
|
||||||
CMD|2|1|0|Comando
|
CMD|2|1|0|Comando
|
||||||
USER|1|15|0|Utente
|
USER|1|100|0|Utente
|
||||||
SESSION|2|4|0|Sessione
|
SESSION|2|4|0|Sessione
|
||||||
TRANS|11|10|0|Transazione
|
TRANS|11|10|0|Transazione
|
||||||
2
|
2
|
||||||
|
@ -202,7 +202,6 @@ public:
|
|||||||
WINDOW page_win(int p) const;
|
WINDOW page_win(int p) const;
|
||||||
// @cmember Ritorna la finestra della pagina corrente
|
// @cmember Ritorna la finestra della pagina corrente
|
||||||
WINDOW curr_win() const;
|
WINDOW curr_win() const;
|
||||||
|
|
||||||
// @cmember Ritorna il nome del file contentente la maschera
|
// @cmember Ritorna il nome del file contentente la maschera
|
||||||
const TFilename& source_file() const { return _source_file; }
|
const TFilename& source_file() const { return _source_file; }
|
||||||
|
|
||||||
|
@ -117,6 +117,7 @@ public:
|
|||||||
virtual int read(word op = _isequal, word lockop = _nolock) { TLocalisamfile f(num()); return read(f, op, lockop); }
|
virtual int read(word op = _isequal, word lockop = _nolock) { TLocalisamfile f(num()); return read(f, op, lockop); }
|
||||||
// @cmember Legge il file <p f> con il tipo di record alla posizione desiderata
|
// @cmember Legge il file <p f> con il tipo di record alla posizione desiderata
|
||||||
virtual int readat(TBaseisamfile& f, TRecnotype nrec, word lockop = _nolock);
|
virtual int readat(TBaseisamfile& f, TRecnotype nrec, word lockop = _nolock);
|
||||||
|
virtual int readat(TRecnotype nrec, word lockop = _nolock) { TLocalisamfile f(num()); return readat(f, lockop); }
|
||||||
virtual int read(TBaseisamfile & f, word op = _isequal, word lockop = _nolock);
|
virtual int read(TBaseisamfile & f, word op = _isequal, word lockop = _nolock);
|
||||||
|
|
||||||
virtual int write(TBaseisamfile& f) const { return write_rewrite(f);}
|
virtual int write(TBaseisamfile& f) const { return write_rewrite(f);}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user