Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00
This commit is contained in:
commit
890c6936dd
9
cd/test/ba0848.txt
Normal file
9
cd/test/ba0848.txt
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
recdesc\f23.dir
|
||||||
|
recdesc\f21.trr
|
||||||
|
recdesc\f21.dir
|
||||||
|
recdesc\f23.trr
|
||||||
|
|
||||||
|
Aggiunta data competenza costi ricavi
|
||||||
|
|
||||||
|
Issue #15
|
||||||
|
Aggiunto tipo provvisorio "B" Bilancio costi/ricavi (Prima nota, Stampa Bilancio, Apertura Chiusura conti)
|
34
cd/test/ba0848a.ini
Normal file
34
cd/test/ba0848a.ini
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
[Main]
|
||||||
|
Demo=0
|
||||||
|
|
||||||
|
[ba2]
|
||||||
|
File(325) = recdesc\f21.dir|X
|
||||||
|
File(326) = recdesc\f21.trr|X
|
||||||
|
File(329) = recdesc\f23.dir|X
|
||||||
|
File(330) = recdesc\f23.trr|X
|
||||||
|
Patch = 848
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[ba99]
|
||||||
|
Kill(0) = batbsce.txt|x
|
||||||
|
Kill(1) = wxmsw240.dll|x
|
||||||
|
Kill(2) = bastcms.rep|x
|
||||||
|
Kill(3) = bastcms.msk|x
|
||||||
|
Kill(4) = bastfsc.msk|x
|
||||||
|
Kill(5) = bastfsc.rep|x
|
||||||
|
Kill(6) = bastuue.msk|x
|
||||||
|
Kill(7) = bastuue.rep|x
|
||||||
|
|
||||||
|
[ba]
|
||||||
|
Data = 24-05-2018
|
||||||
|
Descrizione = Base
|
||||||
|
Dischi = 1
|
||||||
|
Moduli = sy
|
||||||
|
OEM =
|
||||||
|
Patch = 848
|
||||||
|
PostProcess = bainst -0 BA
|
||||||
|
PreProcess =
|
||||||
|
Prezzo(1) =
|
||||||
|
Prezzo(2) =
|
||||||
|
Versione = 21511200
|
||||||
|
|
BIN
cd/test/ba0848a1.zip
Normal file
BIN
cd/test/ba0848a1.zip
Normal file
Binary file not shown.
@ -1,5 +1,6 @@
|
|||||||
cg2100a.msk
|
cg2100a.msk
|
||||||
cg2fppro.msk
|
cg2.exe
|
||||||
|
cg2100t.msk
|
||||||
|
|
||||||
Cambiata icona ricarica fatture su 'Fatture SDI'
|
Cambiata icona ricarica fatture su 'Fatture SDI'
|
||||||
Aggiunta importazione percent. e natura iva da ini con f1
|
Aggiunta importazione percent. e natura iva da ini con f1
|
||||||
@ -8,3 +9,4 @@ Corretto calcolo ritenute in maschera fppro
|
|||||||
Sistemate larghezze colonne maschera fppro
|
Sistemate larghezze colonne maschera fppro
|
||||||
Sistemato ordinamento fatture sdi
|
Sistemato ordinamento fatture sdi
|
||||||
Aggiunta ragione sociale su maschera fppro
|
Aggiunta ragione sociale su maschera fppro
|
||||||
|
Cambiato nome maschera fppro
|
||||||
|
@ -4,81 +4,83 @@ Demo=0
|
|||||||
[cg2]
|
[cg2]
|
||||||
Edit_23 = cg2 -0
|
Edit_23 = cg2 -0
|
||||||
File(154) = cg2.exe|X
|
File(154) = cg2.exe|X
|
||||||
File(167) = cg2fppro.msk|X
|
File(155) = cg2100a.msk|X
|
||||||
|
File(165) = cg2100t.msk|X
|
||||||
Patch = 846
|
Patch = 846
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
[cg99]
|
[cg99]
|
||||||
Kill(0) = batbcve.msk|x
|
Kill(0) = bastpor.rep|x
|
||||||
Kill(1) = bastzon.rep|x
|
Kill(1) = batbcam.msk|x
|
||||||
Kill(2) = batbtra.msk|x
|
Kill(2) = batbscc.msk|x
|
||||||
Kill(3) = batbndo.msk|x
|
Kill(3) = bastnot.msk|x
|
||||||
Kill(4) = bastver.msk|x
|
Kill(4) = cgtbcon.msk|x
|
||||||
Kill(5) = bastcfi.rep|x
|
Kill(5) = bastdpn.msk|x
|
||||||
Kill(6) = batbpor.msk|x
|
Kill(6) = bastpor.msk|x
|
||||||
Kill(7) = bastcam.rep|x
|
Kill(7) = bastarb.msk|x
|
||||||
Kill(8) = bastleg.rep|x
|
Kill(8) = bastmsp.rep|x
|
||||||
Kill(9) = batbver.msk|x
|
Kill(9) = batbcfi.msk|x
|
||||||
Kill(10) = batbcam.msk|x
|
Kill(10) = bastndo.rep|x
|
||||||
Kill(11) = bastpor.msk|x
|
Kill(11) = batblia.msk|x
|
||||||
Kill(12) = bastcco.rep|x
|
Kill(12) = batbdpn.msk|x
|
||||||
Kill(13) = batbind.msk|x
|
Kill(13) = bastcco.msk|x
|
||||||
Kill(14) = bastnot.msk|x
|
Kill(14) = batbpor.msk|x
|
||||||
Kill(15) = batbivd.msk|x
|
Kill(15) = batbins.msk|x
|
||||||
Kill(16) = batbleg.msk|x
|
Kill(16) = batbleg.msk|x
|
||||||
Kill(17) = batbcco.msk|x
|
Kill(17) = batbvet.msk|x
|
||||||
Kill(18) = bastmsp.msk|x
|
Kill(18) = batbcco.msk|x
|
||||||
Kill(19) = bastntb.rep|x
|
Kill(19) = bastver.msk|x
|
||||||
Kill(20) = bastcco.msk|x
|
Kill(20) = batbind.msk|x
|
||||||
Kill(21) = batbtit.msk|x
|
Kill(21) = batbntb.msk|x
|
||||||
Kill(22) = batblia.msk|x
|
Kill(22) = bastivd.msk|x
|
||||||
Kill(23) = bastscc.msk|x
|
Kill(23) = bastcam.msk|x
|
||||||
Kill(24) = batbarb.msk|x
|
Kill(24) = bastzon.rep|x
|
||||||
Kill(25) = bastvet.msk|x
|
Kill(25) = batbivd.msk|x
|
||||||
Kill(26) = bastzon.msk|x
|
Kill(26) = batbtra.msk|x
|
||||||
Kill(27) = bastesc.msk|x
|
Kill(27) = batbtit.msk|x
|
||||||
Kill(28) = batbmsp.msk|x
|
Kill(28) = bastscc.rep|x
|
||||||
Kill(29) = bastivd.rep|x
|
Kill(29) = bastarb.rep|x
|
||||||
Kill(30) = bastndo.rep|x
|
Kill(30) = bastesc.rep|x
|
||||||
Kill(31) = bastpdb.msk|x
|
Kill(31) = bastivd.rep|x
|
||||||
Kill(32) = bastcve.rep|x
|
Kill(32) = batbndo.msk|x
|
||||||
Kill(33) = batbvet.msk|x
|
Kill(33) = batbinl.msk|x
|
||||||
Kill(34) = batbreg.msk|x
|
Kill(34) = batblia.msk|x
|
||||||
Kill(35) = bastndo.msk|x
|
Kill(35) = bastvet.msk|x
|
||||||
Kill(36) = bastdpn.msk|x
|
Kill(36) = bastcfi.rep|x
|
||||||
Kill(37) = batblbu.msk|x
|
Kill(37) = batbdel.msk|x
|
||||||
Kill(38) = bastntb.msk|x
|
Kill(38) = cg2fppro.msk|x
|
||||||
Kill(39) = cgtbcon.msk|x
|
Kill(39) = bastver.rep|x
|
||||||
Kill(40) = bastvet.rep|x
|
Kill(40) = bastvet.rep|x
|
||||||
Kill(41) = batbdel.msk|x
|
Kill(41) = bastntb.msk|x
|
||||||
Kill(42) = batbzon.msk|x
|
Kill(42) = bastleg.msk|x
|
||||||
Kill(43) = bastcam.msk|x
|
Kill(43) = batbzon.msk|x
|
||||||
Kill(44) = bastpdb.rep|x
|
Kill(44) = bastnot.rep|x
|
||||||
Kill(45) = bastver.rep|x
|
Kill(45) = batbnot.msk|x
|
||||||
Kill(46) = bastreg.msk|x
|
Kill(46) = bastcam.rep|x
|
||||||
Kill(47) = bastdpn.rep|x
|
Kill(47) = batbver.msk|x
|
||||||
Kill(48) = batblia.msk|x
|
Kill(48) = batbarb.msk|x
|
||||||
Kill(49) = batbcfi.msk|x
|
Kill(49) = bastndo.msk|x
|
||||||
Kill(50) = bastesc.rep|x
|
Kill(50) = batbcve.msk|x
|
||||||
Kill(51) = bastcfi.msk|x
|
Kill(51) = batbmsp.msk|x
|
||||||
Kill(52) = batbinl.msk|x
|
Kill(52) = bastcve.msk|x
|
||||||
Kill(53) = bastarb.msk|x
|
Kill(53) = bastpdb.msk|x
|
||||||
Kill(54) = batbscc.msk|x
|
Kill(54) = bastreg.msk|x
|
||||||
Kill(55) = bastarb.rep|x
|
Kill(55) = bastdpn.rep|x
|
||||||
Kill(56) = bastnot.rep|x
|
Kill(56) = bastreg.rep|x
|
||||||
Kill(57) = batbnot.msk|x
|
Kill(57) = batbesc.msk|x
|
||||||
Kill(58) = bastcve.msk|x
|
Kill(58) = bastzon.msk|x
|
||||||
Kill(59) = batbntb.msk|x
|
Kill(59) = batblbu.msk|x
|
||||||
Kill(60) = bastivd.msk|x
|
Kill(60) = bastleg.rep|x
|
||||||
Kill(61) = batbins.msk|x
|
Kill(61) = batbreg.msk|x
|
||||||
Kill(62) = batbpdb.msk|x
|
Kill(62) = bastesc.msk|x
|
||||||
Kill(63) = bastreg.rep|x
|
Kill(63) = bastntb.rep|x
|
||||||
Kill(64) = batbesc.msk|x
|
Kill(64) = bastscc.msk|x
|
||||||
Kill(65) = bastpor.rep|x
|
Kill(65) = batbpdb.msk|x
|
||||||
Kill(66) = bastmsp.rep|x
|
Kill(66) = bastpdb.rep|x
|
||||||
Kill(67) = bastleg.msk|x
|
Kill(67) = bastcco.rep|x
|
||||||
Kill(68) = batbdpn.msk|x
|
Kill(68) = bastcve.rep|x
|
||||||
Kill(69) = bastscc.rep|x
|
Kill(69) = bastcfi.msk|x
|
||||||
|
Kill(70) = bastmsp.msk|x
|
||||||
|
|
||||||
[cg]
|
[cg]
|
||||||
Data = 01-07-2019
|
Data = 01-07-2019
|
||||||
|
Binary file not shown.
12
cd/test/cg0848.txt
Normal file
12
cd/test/cg0848.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
cg5500b.rep
|
||||||
|
cg2.exe
|
||||||
|
cg2100c.msk
|
||||||
|
cg2100b.msk
|
||||||
|
cg2200a.msk
|
||||||
|
cg1500a.msk
|
||||||
|
cg1.exe
|
||||||
|
|
||||||
|
Aggiunta data competenza costi ricavi
|
||||||
|
|
||||||
|
Issue #15
|
||||||
|
Aggiunto tipo provvisorio "B" Bilancio costi/ricavi (Prima nota, Stampa Bilancio, Apertura Chiusura conti)
|
113
cd/test/cg0848a.ini
Normal file
113
cd/test/cg0848a.ini
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
[Main]
|
||||||
|
Demo=0
|
||||||
|
|
||||||
|
[cg1]
|
||||||
|
File(65) = cg5500b.rep|X
|
||||||
|
Patch = 848
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg2]
|
||||||
|
Edit_23 = cg2 -0
|
||||||
|
File(154) = cg2.exe|X
|
||||||
|
File(156) = cg2100b.msk|X
|
||||||
|
File(157) = cg2100c.msk|X
|
||||||
|
File(167) = cg2200a.msk|X
|
||||||
|
Patch = 848
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg9]
|
||||||
|
Edit_19 = cg0 -0
|
||||||
|
Edit_20 = cg0 -1
|
||||||
|
Edit_26 = cg0 -4
|
||||||
|
Edit_5 = cg0 -5
|
||||||
|
File(189) = cg1.exe|X
|
||||||
|
File(201) = cg1500a.msk|X
|
||||||
|
Patch = 848
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg99]
|
||||||
|
Kill(0) = bastver.msk|x
|
||||||
|
Kill(1) = batbivd.msk|x
|
||||||
|
Kill(2) = bastivd.rep|x
|
||||||
|
Kill(3) = batbcco.msk|x
|
||||||
|
Kill(4) = bastzon.rep|x
|
||||||
|
Kill(5) = bastesc.rep|x
|
||||||
|
Kill(6) = batbtit.msk|x
|
||||||
|
Kill(7) = batbinl.msk|x
|
||||||
|
Kill(8) = batbtra.msk|x
|
||||||
|
Kill(9) = batbndo.msk|x
|
||||||
|
Kill(10) = batbins.msk|x
|
||||||
|
Kill(11) = batbntb.msk|x
|
||||||
|
Kill(12) = batbpor.msk|x
|
||||||
|
Kill(13) = batbind.msk|x
|
||||||
|
Kill(14) = batbvet.msk|x
|
||||||
|
Kill(15) = bastcam.msk|x
|
||||||
|
Kill(16) = batbleg.msk|x
|
||||||
|
Kill(17) = bastivd.msk|x
|
||||||
|
Kill(18) = batblia.msk|x
|
||||||
|
Kill(19) = bastndo.rep|x
|
||||||
|
Kill(20) = bastcco.msk|x
|
||||||
|
Kill(21) = batbdpn.msk|x
|
||||||
|
Kill(22) = batblbu.msk|x
|
||||||
|
Kill(23) = batbpdb.msk|x
|
||||||
|
Kill(24) = bastzon.msk|x
|
||||||
|
Kill(25) = bastscc.msk|x
|
||||||
|
Kill(26) = bastmsp.msk|x
|
||||||
|
Kill(27) = bastcco.rep|x
|
||||||
|
Kill(28) = bastpdb.rep|x
|
||||||
|
Kill(29) = bastndo.msk|x
|
||||||
|
Kill(30) = bastdpn.rep|x
|
||||||
|
Kill(31) = batbreg.msk|x
|
||||||
|
Kill(32) = batbarb.msk|x
|
||||||
|
Kill(33) = bastreg.msk|x
|
||||||
|
Kill(34) = bastleg.rep|x
|
||||||
|
Kill(35) = batbesc.msk|x
|
||||||
|
Kill(36) = bastntb.rep|x
|
||||||
|
Kill(37) = bastreg.rep|x
|
||||||
|
Kill(38) = bastesc.msk|x
|
||||||
|
Kill(39) = bastver.rep|x
|
||||||
|
Kill(40) = batbnot.msk|x
|
||||||
|
Kill(41) = batbmsp.msk|x
|
||||||
|
Kill(42) = cg2fppro.msk|x
|
||||||
|
Kill(43) = bastnot.rep|x
|
||||||
|
Kill(44) = batbcve.msk|x
|
||||||
|
Kill(45) = batbver.msk|x
|
||||||
|
Kill(46) = bastpdb.msk|x
|
||||||
|
Kill(47) = bastcam.rep|x
|
||||||
|
Kill(48) = bastcve.msk|x
|
||||||
|
Kill(49) = bastarb.rep|x
|
||||||
|
Kill(50) = bastvet.msk|x
|
||||||
|
Kill(51) = bastntb.msk|x
|
||||||
|
Kill(52) = bastscc.rep|x
|
||||||
|
Kill(53) = batblia.msk|x
|
||||||
|
Kill(54) = bastvet.rep|x
|
||||||
|
Kill(55) = batbdel.msk|x
|
||||||
|
Kill(56) = batbzon.msk|x
|
||||||
|
Kill(57) = bastcfi.rep|x
|
||||||
|
Kill(58) = bastleg.msk|x
|
||||||
|
Kill(59) = bastcfi.msk|x
|
||||||
|
Kill(60) = bastcve.rep|x
|
||||||
|
Kill(61) = batbcfi.msk|x
|
||||||
|
Kill(62) = bastmsp.rep|x
|
||||||
|
Kill(63) = batbcam.msk|x
|
||||||
|
Kill(64) = bastpor.rep|x
|
||||||
|
Kill(65) = bastdpn.msk|x
|
||||||
|
Kill(66) = cgtbcon.msk|x
|
||||||
|
Kill(67) = bastnot.msk|x
|
||||||
|
Kill(68) = batbscc.msk|x
|
||||||
|
Kill(69) = bastarb.msk|x
|
||||||
|
Kill(70) = bastpor.msk|x
|
||||||
|
|
||||||
|
[cg]
|
||||||
|
Data = 01-07-2019
|
||||||
|
Descrizione = Contabilita' Generale
|
||||||
|
Dischi = 1
|
||||||
|
Moduli = ba
|
||||||
|
OEM =
|
||||||
|
Patch = 848
|
||||||
|
PostProcess = bainst -0 CG
|
||||||
|
PreProcess =
|
||||||
|
Prezzo(1) =
|
||||||
|
Prezzo(2) =
|
||||||
|
Versione = 21511200
|
||||||
|
|
BIN
cd/test/cg0848a1.zip
Normal file
BIN
cd/test/cg0848a1.zip
Normal file
Binary file not shown.
@ -1449,7 +1449,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
_mov_ap = FALSE;
|
_mov_ap = FALSE;
|
||||||
//modifica del 19/06/95
|
//modifica del 19/06/95
|
||||||
movimentato = calcola(g,c,s);
|
movimentato = calcola(g,c,s);
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
{
|
{
|
||||||
if (movimentato)
|
if (movimentato)
|
||||||
{
|
{
|
||||||
@ -1472,7 +1472,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
{
|
{
|
||||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov == 2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||||
//modifica del 21/11/95
|
//modifica del 21/11/95
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -1502,7 +1502,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
{
|
{
|
||||||
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
if (_annoes != 0 && (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5))
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov == 2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||||
//modifica del 21/11/95
|
//modifica del 21/11/95
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -1543,7 +1543,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
{
|
{
|
||||||
movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
|
movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,indbil_conto,_stampa_mov_prov);
|
||||||
|
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
{
|
{
|
||||||
if (movimentato)
|
if (movimentato)
|
||||||
saldo_iniziale = sld.saldoini();
|
saldo_iniziale = sld.saldoini();
|
||||||
@ -1551,7 +1551,7 @@ bool TStampa_bilanci::bil_verifica()
|
|||||||
{
|
{
|
||||||
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
|
if (indbil_conto == 1 || indbil_conto == 2 || indbil_conto == 5)
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE,_stampa_mov_prov == 2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,FALSE,_stampa_mov_prov);
|
||||||
if (_stampav == 1 && sld.significativo())
|
if (_stampav == 1 && sld.significativo())
|
||||||
movimentato = TRUE;
|
movimentato = TRUE;
|
||||||
}
|
}
|
||||||
@ -1753,10 +1753,10 @@ bool TStampa_bilanci::calcola(int g, int c, long s)
|
|||||||
const char provvis = mov.get_char(MOV_PROVVIS);
|
const char provvis = mov.get_char(MOV_PROVVIS);
|
||||||
const TDate datacomp = mov.get_date(MOV_DATACOMP);
|
const TDate datacomp = mov.get_date(MOV_DATACOMP);
|
||||||
|
|
||||||
if (_stampa_mov_prov == 1 && provvis != '\0') //bilancio normale (non comprende i provvisori)
|
if (_stampa_mov_prov == 0x1 && provvis != '\0') //bilancio normale (non comprende i provvisori)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (_stampa_mov_prov == 3 && provvis == '\0') //bilancio dei soli provvisori
|
if (!(_stampa_mov_prov & 0x1) && provvis == '\0') //bilancio dei soli provvisori
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
const TString& codcaus = mov.get(MOV_CODCAUS);
|
const TString& codcaus = mov.get(MOV_CODCAUS);
|
||||||
@ -1853,7 +1853,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
|||||||
//modifica del 19/06. Vedi appunti per capire
|
//modifica del 19/06. Vedi appunti per capire
|
||||||
bool movimentato = calcola(g,c,s);
|
bool movimentato = calcola(g,c,s);
|
||||||
|
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
{
|
{
|
||||||
if (movimentato)
|
if (movimentato)
|
||||||
{
|
{
|
||||||
@ -1879,7 +1879,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
|||||||
{
|
{
|
||||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||||
{
|
{
|
||||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||||
//modifica del 21/11/1995
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -1909,7 +1909,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
|||||||
{
|
{
|
||||||
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
if (_annoes != 0 && (ib == 1 || ib == 2 || ib == 5))
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||||
//modifica del 21/11/1995
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -1956,7 +1956,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
|||||||
//modifica del 31/03/1995
|
//modifica del 31/03/1995
|
||||||
bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,ib,_stampa_mov_prov);
|
bool movimentato = sld.ultima_immissione_verifica(_annoes,g,c,s,ib,_stampa_mov_prov);
|
||||||
|
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldoini();
|
saldo_iniziale = sld.saldoini();
|
||||||
if (!movimentato)
|
if (!movimentato)
|
||||||
@ -1967,7 +1967,7 @@ bool TStampa_bilanci::ricerca_cf(int g,int c,char tipocf,int ib, real& saldo_fin
|
|||||||
//solo se e' un conto patrimoniale
|
//solo se e' un conto patrimoniale
|
||||||
if (ib == 1 || ib == 2 || ib == 5)
|
if (ib == 1 || ib == 2 || ib == 5)
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov==2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,s,false,_stampa_mov_prov);
|
||||||
movimentato = sld.significativo();
|
movimentato = sld.significativo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2331,12 +2331,12 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
|||||||
//modifica del 19/06/95
|
//modifica del 19/06/95
|
||||||
_indbil = cerca_indbil(g,c);
|
_indbil = cerca_indbil(g,c);
|
||||||
movimentato = calcola(g,c,codcf);
|
movimentato = calcola(g,c,codcf);
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
if (!movimentato)
|
if (!movimentato)
|
||||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||||
if (_annoes != 0) //cioe' se sto ragionando per competenza
|
if (_annoes != 0) //cioe' se sto ragionando per competenza
|
||||||
{
|
{
|
||||||
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov==2);
|
saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov);
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
else _saldo_ini_avere = -saldo_iniziale;
|
else _saldo_ini_avere = -saldo_iniziale;
|
||||||
@ -2359,11 +2359,11 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
|||||||
if (saldi.read() == NOERR)
|
if (saldi.read() == NOERR)
|
||||||
{
|
{
|
||||||
const real s = saldi.get_real(SLD_SALDO);
|
const real s = saldi.get_real(SLD_SALDO);
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||||
if (s.is_zero() && _annoes != 0) //competenza!!!
|
if (s.is_zero() && _annoes != 0) //competenza!!!
|
||||||
{
|
{
|
||||||
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov==2);
|
saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf,false,_stampa_mov_prov);
|
||||||
//modifica del 21/11/1995
|
//modifica del 21/11/1995
|
||||||
if (saldo_iniziale > ZERO)
|
if (saldo_iniziale > ZERO)
|
||||||
_saldo_ini_dare = saldo_iniziale;
|
_saldo_ini_dare = saldo_iniziale;
|
||||||
@ -2398,10 +2398,10 @@ void TStampa_bilanci::leggi_clifo(const TArray& gccf)
|
|||||||
_indbil = cerca_indbil(g,c);
|
_indbil = cerca_indbil(g,c);
|
||||||
movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov);
|
movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov);
|
||||||
|
|
||||||
if (_stampa_mov_prov != 3)
|
if (_stampa_mov_prov & 0x1)
|
||||||
if (!movimentato /* && _stampac!=1 */ )
|
if (!movimentato /* && _stampac!=1 */ )
|
||||||
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
if (_indbil == 1 || _indbil == 2 || _indbil == 5)
|
||||||
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,false,_stampa_mov_prov==2);
|
saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf,false,_stampa_mov_prov);
|
||||||
|
|
||||||
if (movimentato)
|
if (movimentato)
|
||||||
saldo_iniziale = sld.saldoini();
|
saldo_iniziale = sld.saldoini();
|
||||||
@ -3787,15 +3787,19 @@ bool TStampa_bilanci::set_print(int)
|
|||||||
m.set_handler (F_DATALIM, mask_datalim);
|
m.set_handler (F_DATALIM, mask_datalim);
|
||||||
m.set_handler (F_DATADA, mask_date);
|
m.set_handler (F_DATADA, mask_date);
|
||||||
m.set_handler (F_DATAA, mask_date);
|
m.set_handler (F_DATAA, mask_date);
|
||||||
m.set_handler (F_ANNO, mask_anno);
|
m.set_handler (F_ANNO, mask_anno);
|
||||||
|
m.set(F_NORMALI, "X");
|
||||||
|
|
||||||
while (m.run() == K_ENTER)
|
while (m.run() == K_ENTER)
|
||||||
{
|
{
|
||||||
_annoes = m.get_int(F_ANNO);
|
_annoes = m.get_int(F_ANNO);
|
||||||
_bilancio = m.get_int(F_BILANCIO);
|
_bilancio = m.get_int(F_BILANCIO);
|
||||||
_data = m.get(F_DATASTAMPA);
|
_data = m.get(F_DATASTAMPA);
|
||||||
_stampa_mov_prov = m.get_int(F_STAMPAMPROV);
|
_stampa_mov_prov = m.get_bool(F_NORMALI) ? 0x1 : 0; // qui
|
||||||
_quadratura = m.get_bool(F_QUADRATURA);
|
_stampa_mov_prov |= m.get_bool(F_PROVVM) ? 0x2 : 0; // qui
|
||||||
|
_stampa_mov_prov |= m.get_bool(F_PROVVB) ? 0x4 : 0; // qui
|
||||||
|
_stampa_mov_prov |= m.get_bool(F_PROVVC) ? 0x8 : 0; // qui
|
||||||
|
_quadratura = m.get_bool(F_QUADRATURA);
|
||||||
_hide_clifo = m.get_bool(F_HIDE_CLIFO);
|
_hide_clifo = m.get_bool(F_HIDE_CLIFO);
|
||||||
_noseparator = m.get_bool(F_SEPARATOR);
|
_noseparator = m.get_bool(F_SEPARATOR);
|
||||||
#ifdef CONT_SEP
|
#ifdef CONT_SEP
|
||||||
@ -3905,9 +3909,9 @@ int TStampa_bilanci::stampa_intestazione_ditta()
|
|||||||
|
|
||||||
//_stampa_mov_provv(1=normale,2=globale,3=solo provvisori)
|
//_stampa_mov_provv(1=normale,2=globale,3=solo provvisori)
|
||||||
const char* tipoprovv = "";
|
const char* tipoprovv = "";
|
||||||
if (_stampa_mov_prov == 2)
|
if (_stampa_mov_prov > 0x1)
|
||||||
tipoprovv = TR("GLOBALE");
|
tipoprovv = TR("GLOBALE");
|
||||||
if (_stampa_mov_prov == 3)
|
if (!(_stampa_mov_prov & 0x1))
|
||||||
tipoprovv = TR("PROVVISORIO");
|
tipoprovv = TR("PROVVISORIO");
|
||||||
//l'uso della overwrite e' una vera vaccata!
|
//l'uso della overwrite e' una vera vaccata!
|
||||||
riga.overwrite (format("%s %s %s %s", TR("Partita iva"), (const char*)_paiva, TR("Codice fiscale"), (const char*)_cofi));
|
riga.overwrite (format("%s %s %s %s", TR("Partita iva"), (const char*)_paiva, TR("Codice fiscale"), (const char*)_cofi));
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#define F_STAMPAC 119
|
#define F_STAMPAC 119
|
||||||
#define F_ORDINAMENTO 120
|
#define F_ORDINAMENTO 120
|
||||||
#define F_MODULO 121
|
#define F_MODULO 121
|
||||||
#define F_STAMPAMPROV 122
|
#define F_NORMALI 122
|
||||||
#define F_QUADRATURA 123
|
#define F_QUADRATURA 123
|
||||||
#define F_SEPARATOR 124
|
#define F_SEPARATOR 124
|
||||||
#define F_PICTURE 125
|
#define F_PICTURE 125
|
||||||
@ -34,8 +34,11 @@
|
|||||||
#define F_A_SOTTOCONTO 138
|
#define F_A_SOTTOCONTO 138
|
||||||
#define F_A_DESCRIZIONE 139
|
#define F_A_DESCRIZIONE 139
|
||||||
#define F_PRINT_FULL_CODE 140
|
#define F_PRINT_FULL_CODE 140
|
||||||
|
#define F_PROVVM 141
|
||||||
|
#define F_PROVVB 142
|
||||||
|
#define F_PROVVC 143
|
||||||
#ifdef CONT_SEP
|
#ifdef CONT_SEP
|
||||||
#define F_CONTSEP 141
|
#define F_CONTSEP 144
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // __CG1500_H
|
#endif // __CG1500_H
|
||||||
|
@ -166,12 +166,24 @@ BEGIN
|
|||||||
PROMPT 60 10 ""
|
PROMPT 60 10 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_STAMPAMPROV 15
|
BOOLEAN F_NORMALI
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Bilancio "
|
PROMPT 2 11 "Movimenti : Normali"
|
||||||
ITEM "1|Normale"
|
END
|
||||||
ITEM "2|Globale"
|
|
||||||
ITEM "3|Solo provvisori"
|
BOOLEAN F_PROVVM
|
||||||
|
BEGIN
|
||||||
|
PROMPT 30 11 "Provv.Manuali"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_PROVVB
|
||||||
|
BEGIN
|
||||||
|
PROMPT 50 11 "Provv.Bilancio"
|
||||||
|
END
|
||||||
|
|
||||||
|
BOOLEAN F_PROVVC
|
||||||
|
BEGIN
|
||||||
|
PROMPT 70 11 "Provv.Cespiti"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_MODULO 1 12
|
LIST F_MODULO 1 12
|
||||||
|
@ -46,6 +46,7 @@ public:
|
|||||||
TDate _datadoc, _datareg;
|
TDate _datadoc, _datareg;
|
||||||
TString8 _numdoc;
|
TString8 _numdoc;
|
||||||
real _totale;
|
real _totale;
|
||||||
|
long _movcoll;
|
||||||
TString4 _causale_originale;
|
TString4 _causale_originale;
|
||||||
TipoIVA _iva_originale;
|
TipoIVA _iva_originale;
|
||||||
};
|
};
|
||||||
@ -184,7 +185,10 @@ TMask* TPrimanota_application::load_mask(int n)
|
|||||||
// Se esiste lo sheet delle rate
|
// Se esiste lo sheet delle rate
|
||||||
if (is_fattura())
|
if (is_fattura())
|
||||||
{
|
{
|
||||||
|
m->set_handler(F_DATACOMPCR, datacompcr_handler);
|
||||||
|
|
||||||
TSheet_field& ps = m->sfield(FS_RATESHEET);
|
TSheet_field& ps = m->sfield(FS_RATESHEET);
|
||||||
|
|
||||||
ps.set_notify(pag_notify);
|
ps.set_notify(pag_notify);
|
||||||
m->set_handler(FS_RATESHEET, pag_sheet_handler);
|
m->set_handler(FS_RATESHEET, pag_sheet_handler);
|
||||||
m->set_handler(F_ANNORIF, annorif_handler);
|
m->set_handler(F_ANNORIF, annorif_handler);
|
||||||
@ -672,6 +676,10 @@ void TPrimanota_application::init_mask(TMask& m)
|
|||||||
TEdit_field& rc = m.efield(F_REVCHARGE);
|
TEdit_field& rc = m.efield(F_REVCHARGE);
|
||||||
rc.show(cc.iva() == iva_acquisti && cc.reverse_charge());
|
rc.show(cc.iva() == iva_acquisti && cc.reverse_charge());
|
||||||
|
|
||||||
|
m.efield(F_MOVCOLL).show((cc.iva() == iva_acquisti && cc.reverse_charge()) ||
|
||||||
|
(cc.iva() == iva_vendite && cc.causale_reg_iva()));
|
||||||
|
// m.efield(F_GOCOLL).show((c.iva() == iva_acquisti && c.reverse_charge()) ||
|
||||||
|
// (c.iva() == iva_vendite && c.causale_reg_iva()));
|
||||||
activate_split_payment(m);
|
activate_split_payment(m);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -841,6 +849,15 @@ bool TPrimanota_application::get_next_key(TToken_string& tmp)
|
|||||||
else
|
else
|
||||||
tmp.add(m.get(F_DATACOMP));
|
tmp.add(m.get(F_DATACOMP));
|
||||||
|
|
||||||
|
if (_iva != nessuna_iva)
|
||||||
|
{
|
||||||
|
tmp.add(F_DATACOMPCR); // Ricopia data competenza
|
||||||
|
if (m.field(F_DATACOMPCR).empty())
|
||||||
|
tmp.add(m.get(F_DATAREG));
|
||||||
|
else
|
||||||
|
tmp.add(m.get(F_DATACOMPCR));
|
||||||
|
}
|
||||||
|
|
||||||
if (_iva == iva_vendite)
|
if (_iva == iva_vendite)
|
||||||
{
|
{
|
||||||
tmp.add(F_DATADOC); tmp.add(m.get(F_DATADOC)); // Ricopia data documento
|
tmp.add(F_DATADOC); tmp.add(m.get(F_DATADOC)); // Ricopia data documento
|
||||||
@ -915,7 +932,11 @@ void TPrimanota_application::init_insert_mode(TMask& m)
|
|||||||
if (_automatico->_step == 1)
|
if (_automatico->_step == 1)
|
||||||
genera_automatico(_automatico->_tipo, NULL);
|
genera_automatico(_automatico->_tipo, NULL);
|
||||||
else
|
else
|
||||||
|
{
|
||||||
m.reset(F_DATACOMP); // Azzera quasi sempre la data di competenza
|
m.reset(F_DATACOMP); // Azzera quasi sempre la data di competenza
|
||||||
|
if (m.find_by_id(F_DATACOMPCR))
|
||||||
|
m.reset(F_DATACOMPCR);
|
||||||
|
}
|
||||||
// La preservo solo per l'incasso immediato
|
// La preservo solo per l'incasso immediato
|
||||||
|
|
||||||
_as400 = false; // Un movimento nuovo non puo' essere trasferito da AS400
|
_as400 = false; // Un movimento nuovo non puo' essere trasferito da AS400
|
||||||
@ -1145,7 +1166,7 @@ int TPrimanota_application::read(TMask& m)
|
|||||||
}
|
}
|
||||||
|
|
||||||
_saldi.reset(); // Azzera saldi
|
_saldi.reset(); // Azzera saldi
|
||||||
_saldi.set_movprovv(_rel->curr().get_char(MOV_PROVVIS) > ' ');
|
_saldi.set_movprovv(_rel->curr().get_char(MOV_PROVVIS));
|
||||||
tiposal tsal = causale().apertura() ? apertura :
|
tiposal tsal = causale().apertura() ? apertura :
|
||||||
(causale().chiusura() ? chiusura : normale);
|
(causale().chiusura() ? chiusura : normale);
|
||||||
_saldi.set_tipo_saldo(tsal);
|
_saldi.set_tipo_saldo(tsal);
|
||||||
@ -1268,7 +1289,7 @@ void TPrimanota_application::mask2rel(const TMask& m)
|
|||||||
const TDate datareg(m.get(F_DATAREG));
|
const TDate datareg(m.get(F_DATAREG));
|
||||||
const int annoes = m.get_int(F_ANNOES);
|
const int annoes = m.get_int(F_ANNOES);
|
||||||
|
|
||||||
_saldi.set_movprovv(m.get(F_PROVVISORIO)[0] > ' ');
|
_saldi.set_movprovv(m.get(F_PROVVISORIO)[0]);
|
||||||
tiposal tsal = causale().apertura() ? apertura :
|
tiposal tsal = causale().apertura() ? apertura :
|
||||||
(causale().chiusura() ? chiusura : normale);
|
(causale().chiusura() ? chiusura : normale);
|
||||||
_saldi.set_tipo_saldo(tsal);
|
_saldi.set_tipo_saldo(tsal);
|
||||||
@ -1467,8 +1488,49 @@ bool TPrimanota_application::has_tot_doc(TToken_string& fppro_keys)
|
|||||||
return tot.full() && real(tot) != 0;
|
return tot.full() && real(tot) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TPrimanota_application::controlli_f1(const TMask& m)
|
void TPrimanota_application::find_movcoll(const long numreg)
|
||||||
{
|
{
|
||||||
|
const TCausale& cau = cached_causale(_rel->file().get(MOV_CODCAUS), _rel->file().get_int(MOV_ANNOES));
|
||||||
|
const TString4 cau_reg = cau.causale_reg_iva();
|
||||||
|
TMask * m = mask(CGMaskType::_iva);
|
||||||
|
TToken_string key(m->get(F_CLIFO)); key.add(m->get_long(F_CODCLIFOR));
|
||||||
|
const long codcli = cache().get(LF_CLIFO, key).get_long(CLI_CODCFASS);
|
||||||
|
TString query("USE ");
|
||||||
|
|
||||||
|
query << LF_MOV << " KEY 1 SELECT " << MOV_CODCAUS << "==\"" << cau_reg << "\"\nFROM " << MOV_NUMREG << "==" << numreg;
|
||||||
|
|
||||||
|
TISAM_recordset mov(query);
|
||||||
|
long movcoll = 0L;
|
||||||
|
|
||||||
|
for (bool ok = mov.move_first(); ok ; ok = mov.move_next())
|
||||||
|
{
|
||||||
|
TRectype& curr = (TRectype&) mov.cursor()->curr();
|
||||||
|
const long movcoll_found = curr.get_long(MOV_MOVCOLL);
|
||||||
|
|
||||||
|
if ((curr.get_long(MOV_CODCF) == codcli) && ((movcoll_found == 0L) || (movcoll_found == numreg)))
|
||||||
|
{
|
||||||
|
movcoll = mov.get(MOV_NUMREG).as_int();
|
||||||
|
curr.put(MOV_MOVCOLL, numreg);
|
||||||
|
curr.rewrite(TLocalisamfile(LF_MOV));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (movcoll != 0L)
|
||||||
|
m->set(F_MOVCOLL, movcoll);
|
||||||
|
}
|
||||||
|
|
||||||
|
void TPrimanota_application::set_movcoll(const long movcoll, const long numreg)
|
||||||
|
{
|
||||||
|
TRectype mov(LF_MOV);
|
||||||
|
|
||||||
|
mov.put(MOV_NUMREG, movcoll);
|
||||||
|
if (mov.read(TLocalisamfile(LF_MOV)) == NOERR)
|
||||||
|
{
|
||||||
|
mov.put(MOV_MOVCOLL, numreg);
|
||||||
|
const int err = mov.rewrite(TLocalisamfile(LF_MOV));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int TPrimanota_application::controlli_f1(const TMask& m){
|
||||||
if (m.find_by_id(F_PROKEY) != NULL && m.get(F_PROKEY).full() && has_f1_db((TMask*)&m) && fp_db().sq_is_connect() && check_causale(m.get(F_CODCAUS)))
|
if (m.find_by_id(F_PROKEY) != NULL && m.get(F_PROKEY).full() && has_f1_db((TMask*)&m) && fp_db().sq_is_connect() && check_causale(m.get(F_CODCAUS)))
|
||||||
{
|
{
|
||||||
TToken_string keys(m.get(F_PROKEY), ';');
|
TToken_string keys(m.get(F_PROKEY), ';');
|
||||||
@ -1522,8 +1584,17 @@ int TPrimanota_application::write(const TMask& m)
|
|||||||
}
|
}
|
||||||
|
|
||||||
const int err = _rel->write(true);
|
const int err = _rel->write(true);
|
||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
|
if (cached_causale(_rel->file().get(MOV_CODCAUS), _rel->file().get_int(MOV_ANNOES)).regolarizzazione())
|
||||||
|
{
|
||||||
|
const long movcoll = _rel->file().get_long(MOV_MOVCOLL);
|
||||||
|
const long numreg = _rel->file().get_long(MOV_NUMREG);
|
||||||
|
|
||||||
|
if (movcoll != 0L)
|
||||||
|
set_movcoll(movcoll, numreg);
|
||||||
|
}
|
||||||
write_fppro();
|
write_fppro();
|
||||||
|
|
||||||
_saldi.registra();
|
_saldi.registra();
|
||||||
@ -1579,7 +1650,7 @@ int TPrimanota_application::write(const TMask& m)
|
|||||||
if (tipauto <= 1)
|
if (tipauto <= 1)
|
||||||
{
|
{
|
||||||
causauto = causale().causale_collegata();
|
causauto = causale().causale_collegata();
|
||||||
if (cached_causale(causauto, causale().reg().year()).ril_fat_em_ric())
|
if (causauto.full() && cached_causale(causauto, causale().reg().year()).ril_fat_em_ric())
|
||||||
tipauto = 4;
|
tipauto = 4;
|
||||||
}
|
}
|
||||||
if (tipauto <= 0)
|
if (tipauto <= 0)
|
||||||
@ -1609,6 +1680,13 @@ int TPrimanota_application::write(const TMask& m)
|
|||||||
|
|
||||||
int TPrimanota_application::rewrite(const TMask& m)
|
int TPrimanota_application::rewrite(const TMask& m)
|
||||||
{
|
{
|
||||||
|
if (cached_causale(_rel->file().get(MOV_CODCAUS), _rel->file().get_int(MOV_ANNOES)).reverse_charge())
|
||||||
|
{
|
||||||
|
const long movcoll = m.get_long(F_MOVCOLL);
|
||||||
|
|
||||||
|
if (movcoll == 0L)
|
||||||
|
find_movcoll(_rel->file().get_long(MOV_NUMREG));
|
||||||
|
}
|
||||||
mask2rel(m);
|
mask2rel(m);
|
||||||
|
|
||||||
switch (controlli_f1(m)) // Solo con F1
|
switch (controlli_f1(m)) // Solo con F1
|
||||||
@ -1619,7 +1697,7 @@ int TPrimanota_application::rewrite(const TMask& m)
|
|||||||
return _isnowarning;
|
return _isnowarning;
|
||||||
default: case pro_noerr: break;
|
default: case pro_noerr: break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const int err = _rel->rewrite(true);
|
const int err = _rel->rewrite(true);
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
@ -1770,6 +1848,7 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
|
|||||||
if (_automatico->_tipo == 2)
|
if (_automatico->_tipo == 2)
|
||||||
{
|
{
|
||||||
_automatico->_totale += m.get_real(F_REVCHARGE) + m.get_real(F_RITFIS);
|
_automatico->_totale += m.get_real(F_REVCHARGE) + m.get_real(F_RITFIS);
|
||||||
|
_automatico->_movcoll = m.get_long(F_NUMREG);
|
||||||
_automatico->_codiva = m.get(F_CODIVA);
|
_automatico->_codiva = m.get(F_CODIVA);
|
||||||
if (_automatico->_codiva.blank() && _rel->iva_items() > 0)
|
if (_automatico->_codiva.blank() && _rel->iva_items() > 0)
|
||||||
_automatico->_codiva = _rel->iva(0).get(RMI_CODIVA);
|
_automatico->_codiva = _rel->iva(0).get(RMI_CODIVA);
|
||||||
@ -1847,6 +1926,7 @@ void TPrimanota_application::genera_automatico(int tipo, const char* causimm)
|
|||||||
m.set(F_CODCLIFOR, clnt);
|
m.set(F_CODCLIFOR, clnt);
|
||||||
}
|
}
|
||||||
m.set(F_TOTALE, _automatico->_totale); // Imposta il totale documento e ...
|
m.set(F_TOTALE, _automatico->_totale); // Imposta il totale documento e ...
|
||||||
|
m.set(F_MOVCOLL, _automatico->_movcoll); // Imposta il movimenti collegato e ...
|
||||||
m.set(F_CODIVA, _automatico->_codiva, true); // ... scatena creazione prima riga IVA
|
m.set(F_CODIVA, _automatico->_codiva, true); // ... scatena creazione prima riga IVA
|
||||||
if (TRelation_application::is_transaction())
|
if (TRelation_application::is_transaction())
|
||||||
m.send_key(K_CTRL+'R', 0);
|
m.send_key(K_CTRL+'R', 0);
|
||||||
|
@ -22,6 +22,7 @@
|
|||||||
#define F_RITFATT 231
|
#define F_RITFATT 231
|
||||||
#define F_PROKEY 232
|
#define F_PROKEY 232
|
||||||
#define F_COLFPPRO 233
|
#define F_COLFPPRO 233
|
||||||
|
#define F_DATACOMPCR 234
|
||||||
|
|
||||||
#define F_CLIFO 128
|
#define F_CLIFO 128
|
||||||
#define F_CODCLIFOR 151
|
#define F_CODCLIFOR 151
|
||||||
@ -88,6 +89,8 @@
|
|||||||
#define F_SOTTOCONTO 182
|
#define F_SOTTOCONTO 182
|
||||||
#define F_SALDOCONTO 183
|
#define F_SALDOCONTO 183
|
||||||
#define F_REVCHARGE 184
|
#define F_REVCHARGE 184
|
||||||
|
#define F_MOVCOLL 185
|
||||||
|
#define F_GOCOLL 186
|
||||||
|
|
||||||
#define F_SHEETCG 190
|
#define F_SHEETCG 190
|
||||||
#define F_SHEETIVA 191
|
#define F_SHEETIVA 191
|
||||||
|
@ -75,13 +75,15 @@ BEGIN
|
|||||||
MESSAGE COPY,K_DESCRCAUS
|
MESSAGE COPY,K_DESCRCAUS
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_PROVVISORIO 1 24
|
LIST F_PROVVISORIO 1 28
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Movimento provvisorio "
|
PROMPT 1 5 "Mov.provvisorio "
|
||||||
FIELD PROVVIS
|
FIELD PROVVIS
|
||||||
ITEM " |No (movimento normale)"
|
ITEM " |No (movimento normale)"
|
||||||
ITEM "P|Si (cancellabile)"
|
ITEM "P|Si (cancellabile)"
|
||||||
ITEM "C|Cespiti"
|
ITEM "N|Si (Non cancellabile)"
|
||||||
|
ITEM "B|Si (Bilancio costi/ricavi)"
|
||||||
|
ITEM "C|Si (Cespiti)"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_TIPODOC 2
|
STRING F_TIPODOC 2
|
||||||
|
@ -85,9 +85,16 @@ BEGIN
|
|||||||
FIELD REG
|
FIELD REG
|
||||||
END
|
END
|
||||||
|
|
||||||
|
DATE F_DATACOMPCR
|
||||||
|
BEGIN
|
||||||
|
PROMPT 1 3 "Data comp.c/r "
|
||||||
|
FIELD DATACOMPCR
|
||||||
|
FLAGS "G"
|
||||||
|
END
|
||||||
|
|
||||||
STRING F_CODCAUS 3
|
STRING F_CODCAUS 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 3 "Causale "
|
PROMPT 1 4 "Causale "
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
FIELD CODCAUS
|
FIELD CODCAUS
|
||||||
USE LF_CAUSALI SELECT REG!=""
|
USE LF_CAUSALI SELECT REG!=""
|
||||||
@ -107,7 +114,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESCRCAUS 50
|
STRING F_DESCRCAUS 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 3 ""
|
PROMPT 25 4 ""
|
||||||
USE LF_CAUSALI KEY 2 SELECT REG!=""
|
USE LF_CAUSALI KEY 2 SELECT REG!=""
|
||||||
INPUT DESCR F_DESCRCAUS
|
INPUT DESCR F_DESCRCAUS
|
||||||
DISPLAY "Descrizione@50" DESCR
|
DISPLAY "Descrizione@50" DESCR
|
||||||
@ -122,13 +129,13 @@ END
|
|||||||
|
|
||||||
STRING F_NUMDOCEXT 50
|
STRING F_NUMDOCEXT 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Numero documento esteso "
|
PROMPT 1 5 "Numero documento esteso "
|
||||||
FIELD NUMDOCEXT
|
FIELD NUMDOCEXT
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_NUMDOC 7
|
STRING F_NUMDOC 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Documento n. "
|
PROMPT 1 6 "Documento n. "
|
||||||
FIELD NUMDOC
|
FIELD NUMDOC
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
WARNING "La causale o il saldaconto richiedono il numero documento"
|
WARNING "La causale o il saldaconto richiedono il numero documento"
|
||||||
@ -136,7 +143,7 @@ END
|
|||||||
|
|
||||||
DATE F_DATADOC
|
DATE F_DATADOC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 27 5 "Data documento "
|
PROMPT 27 6 "Data documento "
|
||||||
FIELD DATADOC
|
FIELD DATADOC
|
||||||
WARNING "Inserire una data documento non superiore alla data dell'operazione"
|
WARNING "Inserire una data documento non superiore alla data dell'operazione"
|
||||||
VALIDATE DATE_CMP_FUNC <= F_DATAREG
|
VALIDATE DATE_CMP_FUNC <= F_DATAREG
|
||||||
@ -144,37 +151,38 @@ END
|
|||||||
|
|
||||||
STRING F_TIPODOC 2
|
STRING F_TIPODOC 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 56 5 "Tipo "
|
PROMPT 56 6 "Tipo "
|
||||||
FIELD TIPODOC
|
FIELD TIPODOC
|
||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
BUTTON F_LINKDOC 3 1
|
BUTTON F_LINKDOC 3 1
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 73 5 "Doc."
|
PROMPT 73 6 "Doc."
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_SOLAIVA 1 3
|
LIST F_SOLAIVA 1 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Movimento di sola IVA "
|
PROMPT 1 7 "Movimento di sola IVA "
|
||||||
ITEM " |No"
|
ITEM " |No"
|
||||||
ITEM "X|Si"
|
ITEM "X|Si"
|
||||||
END
|
END
|
||||||
|
|
||||||
LIST F_PROVVISORIO 1 22
|
LIST F_PROVVISORIO 1 28
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 31 6 "Movimento provvisorio "
|
PROMPT 31 7 "Mov.provvisorio "
|
||||||
FIELD PROVVIS
|
FIELD PROVVIS
|
||||||
ITEM " |No (movimento normale)"
|
ITEM " |No (movimento normale)"
|
||||||
ITEM "P|Si (cancellabile)"
|
ITEM "P|Si (cancellabile)"
|
||||||
ITEM "N|Si (Non cancellabile)"
|
ITEM "N|Si (Non cancellabile)"
|
||||||
ITEM "C|Cespiti"
|
ITEM "B|Si (Bilancio costi/ricavi)"
|
||||||
|
ITEM "C|Si (Cespiti)"
|
||||||
FLAGS "DG"
|
FLAGS "DG"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DESCAGG 5 6
|
STRING F_DESCAGG 5 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 7 "Descrizione "
|
PROMPT 1 8 "Descrizione "
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
USE %DPN
|
USE %DPN
|
||||||
INPUT CODTAB F_DESCAGG
|
INPUT CODTAB F_DESCAGG
|
||||||
@ -187,7 +195,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESCR 50
|
STRING F_DESCR 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 7 ""
|
PROMPT 25 8 ""
|
||||||
FIELD DESCR
|
FIELD DESCR
|
||||||
USE %DPN KEY 2
|
USE %DPN KEY 2
|
||||||
INPUT S0 F_DESCR
|
INPUT S0 F_DESCR
|
||||||
@ -198,13 +206,13 @@ END
|
|||||||
|
|
||||||
NUMBER F_PROTIVA 6
|
NUMBER F_PROTIVA 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 8 "Protocollo IVA "
|
PROMPT 1 9 "Protocollo IVA "
|
||||||
FIELD PROTIVA
|
FIELD PROTIVA
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_RIEPILOGO 6
|
NUMBER F_RIEPILOGO 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 8 "Riepilogo al n."
|
PROMPT 25 9 "Riepilogo al n."
|
||||||
FIELD UPROTIVA
|
FIELD UPROTIVA
|
||||||
NUM_EXPR {(#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)}
|
NUM_EXPR {(#F_RIEPILOGO==0)||(#F_RIEPILOGO>=#F_PROTIVA)}
|
||||||
WARNING "Inserire un riepilogo non inferiore al protocollo IVA (Obbigatorio se il cliente/fornitore ha codice inserimento in allegati uguale a 3)"
|
WARNING "Inserire un riepilogo non inferiore al protocollo IVA (Obbigatorio se il cliente/fornitore ha codice inserimento in allegati uguale a 3)"
|
||||||
@ -212,14 +220,14 @@ END
|
|||||||
|
|
||||||
LIST F_DIFFERITA 1 19
|
LIST F_DIFFERITA 1 19
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 48 8 "Liquid. "
|
PROMPT 48 9 "Liquid. "
|
||||||
ITEM " |periodo in corso"
|
ITEM " |periodo in corso"
|
||||||
ITEM "X|periodo precedente"
|
ITEM "X|periodo precedente"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODCLIFOR 6
|
NUMBER F_CODCLIFOR 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 9 "Cliente "
|
PROMPT 1 10 "Cliente "
|
||||||
FIELD CODCF
|
FIELD CODCF
|
||||||
GROUP 1
|
GROUP 1
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
@ -244,7 +252,7 @@ END
|
|||||||
|
|
||||||
STRING F_RAGSOCCF 50
|
STRING F_RAGSOCCF 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 9 ""
|
PROMPT 25 10 ""
|
||||||
GROUP 2
|
GROUP 2
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF F_CLIFO SELECT
|
INPUT TIPOCF F_CLIFO SELECT
|
||||||
@ -262,7 +270,7 @@ END
|
|||||||
|
|
||||||
STRING F_COFI 16
|
STRING F_COFI 16
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "C.F. "
|
PROMPT 1 11 "C.F. "
|
||||||
GROUP 1
|
GROUP 1
|
||||||
USE LF_CLIFO KEY 4
|
USE LF_CLIFO KEY 4
|
||||||
INPUT TIPOCF F_CLIFO SELECT
|
INPUT TIPOCF F_CLIFO SELECT
|
||||||
@ -279,7 +287,7 @@ END
|
|||||||
|
|
||||||
STRING F_PIVA 12
|
STRING F_PIVA 12
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 26 10 "P.I. "
|
PROMPT 26 11 "P.I. "
|
||||||
GROUP 1
|
GROUP 1
|
||||||
USE LF_CLIFO KEY 5
|
USE LF_CLIFO KEY 5
|
||||||
INPUT TIPOCF F_CLIFO SELECT
|
INPUT TIPOCF F_CLIFO SELECT
|
||||||
@ -297,7 +305,7 @@ END
|
|||||||
|
|
||||||
STRING F_STATOPAIV 2
|
STRING F_STATOPAIV 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 46 10 ""
|
PROMPT 46 11 ""
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE %SCE
|
USE %SCE
|
||||||
INPUT CODTAB F_STATOPAIV
|
INPUT CODTAB F_STATOPAIV
|
||||||
@ -309,7 +317,7 @@ END
|
|||||||
|
|
||||||
STRING F_RICALT 30 18
|
STRING F_RICALT 30 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 52 10 "Alt. "
|
PROMPT 52 11 "Alt. "
|
||||||
USE LF_CLIFO KEY 6
|
USE LF_CLIFO KEY 6
|
||||||
INPUT TIPOCF F_CLIFO SELECT
|
INPUT TIPOCF F_CLIFO SELECT
|
||||||
INPUT RICALT F_RICALT
|
INPUT RICALT F_RICALT
|
||||||
@ -327,13 +335,13 @@ END
|
|||||||
|
|
||||||
BUTTON F_OCCASEDIT 50
|
BUTTON F_OCCASEDIT 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Dati del cliente o fornitore occasionale"
|
PROMPT 1 11 "Dati del cliente o fornitore occasionale"
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_CODPAG 4
|
STRING F_CODPAG 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 11 "Codice Pagamento "
|
PROMPT 1 12 "Codice Pagamento "
|
||||||
FIELD CODPAG
|
FIELD CODPAG
|
||||||
FLAGS "U#"
|
FLAGS "U#"
|
||||||
USE %CPG
|
USE %CPG
|
||||||
@ -349,7 +357,7 @@ END
|
|||||||
|
|
||||||
STRING F_DESPAG 50
|
STRING F_DESPAG 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 11 ""
|
PROMPT 25 12 ""
|
||||||
USE %CPG KEY 2
|
USE %CPG KEY 2
|
||||||
INPUT S0 F_DESPAG
|
INPUT S0 F_DESPAG
|
||||||
DISPLAY "Descrizione@60" S0
|
DISPLAY "Descrizione@60" S0
|
||||||
@ -362,7 +370,7 @@ END
|
|||||||
|
|
||||||
LIST F_CLIFO 1 10
|
LIST F_CLIFO 1 10
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Tipo "
|
PROMPT 1 13 "Tipo "
|
||||||
ITEM "|Conto"
|
ITEM "|Conto"
|
||||||
ITEM "C|Cliente"
|
ITEM "C|Cliente"
|
||||||
ITEM "F|Fornitore"
|
ITEM "F|Fornitore"
|
||||||
@ -372,7 +380,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_BOLLACODCLI 6
|
NUMBER F_BOLLACODCLI 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 12 "Forn. collegato "
|
PROMPT 1 13 "Forn. collegato "
|
||||||
FIELD CFBOLLADOG
|
FIELD CFBOLLADOG
|
||||||
USE LF_CLIFO
|
USE LF_CLIFO
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
@ -392,7 +400,7 @@ END
|
|||||||
|
|
||||||
STRING F_BOLLARAGCLI 50 47
|
STRING F_BOLLARAGCLI 50 47
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 28 12 ""
|
PROMPT 28 13 ""
|
||||||
USE LF_CLIFO KEY 2
|
USE LF_CLIFO KEY 2
|
||||||
INPUT TIPOCF "F"
|
INPUT TIPOCF "F"
|
||||||
INPUT RAGSOC F_BOLLARAGCLI
|
INPUT RAGSOC F_BOLLARAGCLI
|
||||||
@ -412,7 +420,7 @@ END
|
|||||||
|
|
||||||
STRING SK_VALUTA 3
|
STRING SK_VALUTA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 13 "Valuta "
|
PROMPT 1 14 "Valuta "
|
||||||
FIELD CODVAL
|
FIELD CODVAL
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
GROUP 3
|
GROUP 3
|
||||||
@ -427,7 +435,7 @@ END
|
|||||||
|
|
||||||
DATE SK_DATACAMBIO
|
DATE SK_DATACAMBIO
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 18 13 "Data cambio "
|
PROMPT 18 14 "Data cambio "
|
||||||
FIELD DATACAM
|
FIELD DATACAM
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
USE CAM
|
USE CAM
|
||||||
@ -446,7 +454,7 @@ END
|
|||||||
|
|
||||||
NUMBER SK_CAMBIO 15 6
|
NUMBER SK_CAMBIO 15 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 44 13 "Cambio "
|
PROMPT 44 14 "Cambio "
|
||||||
FIELD CAMBIO
|
FIELD CAMBIO
|
||||||
FLAGS "RU"
|
FLAGS "RU"
|
||||||
GROUP 3
|
GROUP 3
|
||||||
@ -457,13 +465,13 @@ END
|
|||||||
|
|
||||||
CURRENCY F_TOTALE 18
|
CURRENCY F_TOTALE 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 14 "Totale documento "
|
PROMPT 1 15 "Totale documento "
|
||||||
FIELD TOTDOC
|
FIELD TOTDOC
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY SK_TOTDOCVAL 18
|
CURRENCY SK_TOTDOCVAL 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 38 14 "in valuta "
|
PROMPT 38 15 "in valuta "
|
||||||
FIELD TOTDOCVAL
|
FIELD TOTDOCVAL
|
||||||
GROUP 3
|
GROUP 3
|
||||||
VALIDATE REQIF_FUNC 1 F_TOTALE
|
VALIDATE REQIF_FUNC 1 F_TOTALE
|
||||||
@ -472,7 +480,7 @@ END
|
|||||||
|
|
||||||
STRING F_CODIVA 4
|
STRING F_CODIVA 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 67 14 "IVA "
|
PROMPT 67 15 "IVA "
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
USE %IVA
|
USE %IVA
|
||||||
INPUT CODTAB F_CODIVA
|
INPUT CODTAB F_CODIVA
|
||||||
@ -488,25 +496,39 @@ END
|
|||||||
|
|
||||||
CURRENCY F_RITFIS 18
|
CURRENCY F_RITFIS 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 15 "Ritenute fiscali "
|
PROMPT 1 16 "Ritenute fiscali "
|
||||||
FIELD RITFIS
|
FIELD RITFIS
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY F_RITSOC 18
|
CURRENCY F_RITSOC 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 16 "Ritenute sociali "
|
PROMPT 1 17 "Ritenute sociali "
|
||||||
FIELD RITSOC
|
FIELD RITSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY F_REVCHARGE 18
|
CURRENCY F_REVCHARGE 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 17 "Reverse charge "
|
PROMPT 1 18 "Reverse charge "
|
||||||
FIELD REVCHARGE
|
FIELD REVCHARGE
|
||||||
END
|
END
|
||||||
|
|
||||||
|
NUMBER F_MOVCOLL 7
|
||||||
|
BEGIN
|
||||||
|
PROMPT 40 18 "Mov.collegato"
|
||||||
|
WARNING "Movimento collegato reverse charge"
|
||||||
|
FIELD MOVCOLL
|
||||||
|
FLAGS "HDG"
|
||||||
|
END
|
||||||
|
|
||||||
|
BUTTON F_GOCOLL 10 1
|
||||||
|
BEGIN
|
||||||
|
PROMPT 64 18 "Mov.Coll."
|
||||||
|
FLAGS "HDG"
|
||||||
|
END
|
||||||
|
|
||||||
DATE F_DATA74TER
|
DATE F_DATA74TER
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 52 15 "Data 74/ter "
|
PROMPT 52 16 "Data 74/ter "
|
||||||
WARNING "E' richiesta la data del 74/ter"
|
WARNING "E' richiesta la data del 74/ter"
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
FIELD DATA74TER
|
FIELD DATA74TER
|
||||||
@ -514,14 +536,14 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_IVAXCASSA
|
BOOLEAN F_IVAXCASSA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 18 "IVA per cassa"
|
PROMPT 1 20 "IVA per cassa"
|
||||||
FIELD IVAXCASSA
|
FIELD IVAXCASSA
|
||||||
MODULE IC
|
MODULE IC
|
||||||
END
|
END
|
||||||
|
|
||||||
BOOLEAN F_LIQDIFF
|
BOOLEAN F_LIQDIFF
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 18 "Liquidazione differita"
|
PROMPT 25 20 "Liquidazione differita"
|
||||||
WARNING "Data di incasso per liquidazione differita"
|
WARNING "Data di incasso per liquidazione differita"
|
||||||
FIELD LIQDIFF
|
FIELD LIQDIFF
|
||||||
MESSAGE FALSE CLEAR,F_DATAINC
|
MESSAGE FALSE CLEAR,F_DATAINC
|
||||||
@ -531,7 +553,7 @@ END
|
|||||||
|
|
||||||
LIST F_SPLITPAY 1 2
|
LIST F_SPLITPAY 1 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 18 "Scissione pagamenti "
|
PROMPT 51 20 "Scissione pagamenti "
|
||||||
FIELD SPLITPAY
|
FIELD SPLITPAY
|
||||||
ITEM "| "
|
ITEM "| "
|
||||||
ITEM "S|Si"
|
ITEM "S|Si"
|
||||||
@ -541,28 +563,28 @@ END
|
|||||||
|
|
||||||
DATE F_DATAINC
|
DATE F_DATAINC
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 52 17 "Data incasso "
|
PROMPT 52 19 "Data incasso "
|
||||||
WARNING "Data di incasso per liquidazione differita"
|
WARNING "Data di incasso per liquidazione differita"
|
||||||
FIELD DATAINC
|
FIELD DATAINC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_ANNORIF 4
|
NUMBER F_ANNORIF 4
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 48 16 "Rif.partita "
|
PROMPT 48 17 "Rif.partita "
|
||||||
FIELD LF_PARTITE->ANNO
|
FIELD LF_PARTITE->ANNO
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_NUMRIF 7
|
STRING F_NUMRIF 7
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 66 16 "/ "
|
PROMPT 66 17 "/ "
|
||||||
FIELD LF_PARTITE->NUMPART
|
FIELD LF_PARTITE->NUMPART
|
||||||
FLAGS "U#"
|
FLAGS "U#"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_VALUTAINTRA 3
|
STRING F_VALUTAINTRA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 19 "Cambio intracom. "
|
PROMPT 1 21 "Cambio intracom. "
|
||||||
FIELD CODVALI
|
FIELD CODVALI
|
||||||
FLAGS "UZ"
|
FLAGS "UZ"
|
||||||
GROUP 4
|
GROUP 4
|
||||||
@ -580,7 +602,7 @@ END
|
|||||||
|
|
||||||
NUMBER F_CAMBIOINTRA 15 6
|
NUMBER F_CAMBIOINTRA 15 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 19 ""
|
PROMPT 25 21 ""
|
||||||
FIELD CAMBIOI
|
FIELD CAMBIOI
|
||||||
FLAGS "U"
|
FLAGS "U"
|
||||||
GROUP 4
|
GROUP 4
|
||||||
@ -589,20 +611,20 @@ END
|
|||||||
|
|
||||||
DATE F_DATAINTRA
|
DATE F_DATAINTRA
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 43 19 "Data competenza intra "
|
PROMPT 43 21 "Data competenza intra "
|
||||||
FIELD DATACOMPI
|
FIELD DATACOMPI
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY F_CORRISPETTIVO 18
|
CURRENCY F_CORRISPETTIVO 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 20 "Corrispettivo "
|
PROMPT 1 22 "Corrispettivo "
|
||||||
FIELD CORRLIRE
|
FIELD CORRLIRE
|
||||||
GROUP 4
|
GROUP 4
|
||||||
END
|
END
|
||||||
|
|
||||||
CURRENCY F_CORRVALUTA 18
|
CURRENCY F_CORRVALUTA 18
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 39 20 "Corrispet. valuta "
|
PROMPT 39 22 "Corrispet. valuta "
|
||||||
FIELD CORRVALUTA
|
FIELD CORRVALUTA
|
||||||
GROUP 4
|
GROUP 4
|
||||||
VALIDATE REQIF_FUNC 1 F_VALUTAINTRA
|
VALIDATE REQIF_FUNC 1 F_VALUTAINTRA
|
||||||
@ -617,7 +639,7 @@ END
|
|||||||
|
|
||||||
STRING F_PROKEY 80
|
STRING F_PROKEY 80
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 19 "db key"
|
PROMPT 1 20 "db key"
|
||||||
HELP "Chiave database"
|
HELP "Chiave database"
|
||||||
FIELD KEYFPPRO
|
FIELD KEYFPPRO
|
||||||
FLAGS "H"
|
FLAGS "H"
|
||||||
@ -625,7 +647,7 @@ END
|
|||||||
|
|
||||||
BOOLEAN F_RITFATT
|
BOOLEAN F_RITFATT
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 21 "Fattura in ritardo "
|
PROMPT 1 23 "Fattura in ritardo "
|
||||||
FIELD RITFATT
|
FIELD RITFATT
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -638,7 +660,7 @@ END
|
|||||||
#endif
|
#endif
|
||||||
STRING NP_CONTSEP 6
|
STRING NP_CONTSEP 6
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 22 "Cont. separata "
|
PROMPT 1 23 "Cont. separata "
|
||||||
USE &NPENT
|
USE &NPENT
|
||||||
INPUT CODTAB NP_CONTSEP
|
INPUT CODTAB NP_CONTSEP
|
||||||
DISPLAY "Codice@6" CODTAB
|
DISPLAY "Codice@6" CODTAB
|
||||||
@ -651,7 +673,7 @@ END
|
|||||||
|
|
||||||
STRING NP_DESCONTSEP 50
|
STRING NP_DESCONTSEP 50
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 22 ""
|
PROMPT 25 24 ""
|
||||||
USE &NPENT KEY 2
|
USE &NPENT KEY 2
|
||||||
INPUT S0 NP_DESCONTSEP
|
INPUT S0 NP_DESCONTSEP
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
|
@ -2328,12 +2328,17 @@ bool TPrimanota_application::caus_modify_handler(TMask_field& f, KEY key)
|
|||||||
TString4 provv; provv << c.provvisorio();
|
TString4 provv; provv << c.provvisorio();
|
||||||
m.set(F_PROVVISORIO, provv);
|
m.set(F_PROVVISORIO, provv);
|
||||||
if (c.iva() != nessuna_iva && mask_ok)
|
if (c.iva() != nessuna_iva && mask_ok)
|
||||||
{
|
|
||||||
m.set(F_SOLAIVA, c.soloiva() ? "X" : " ");
|
m.set(F_SOLAIVA, c.soloiva() ? "X" : " ");
|
||||||
m.efield(F_REVCHARGE).show(c.iva() == iva_acquisti && c.reverse_charge());
|
|
||||||
a.activate_split_payment(m);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
if (c.iva() != nessuna_iva && mask_ok)
|
||||||
|
{
|
||||||
|
m.efield(F_REVCHARGE).show(c.iva() == iva_acquisti && c.reverse_charge());
|
||||||
|
m.efield(F_MOVCOLL).show((c.iva() == iva_acquisti && c.reverse_charge()) ||
|
||||||
|
(c.iva() == iva_vendite && c.causale_reg_iva()));
|
||||||
|
// m.efield(F_GOCOLL).show((c.iva() == iva_acquisti && c.reverse_charge()) ||
|
||||||
|
// (c.iva() == iva_vendite && c.causale_reg_iva()));
|
||||||
|
a.activate_split_payment(m);
|
||||||
|
}
|
||||||
// Se la causale ha come tipo documento una bolla doganale, se si abilito i campi per collegare il fornitore
|
// Se la causale ha come tipo documento una bolla doganale, se si abilito i campi per collegare il fornitore
|
||||||
if(m.find_by_id(F_BOLLACODCLI) != NULL)
|
if(m.find_by_id(F_BOLLACODCLI) != NULL)
|
||||||
{
|
{
|
||||||
@ -2544,10 +2549,32 @@ bool TPrimanota_application::datacomp_handler(TMask_field& f, KEY key)
|
|||||||
return f.error_box(FR("%s non appartiene a nessun esercizio"), data);
|
return f.error_box(FR("%s non appartiene a nessun esercizio"), data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handler of the F_DATACOMP field on the modify mask
|
||||||
|
// Certified 90%
|
||||||
|
bool TPrimanota_application::datacompcr_handler(TMask_field& f, KEY key)
|
||||||
|
{
|
||||||
|
TMask& m = f.mask();
|
||||||
|
|
||||||
|
if (key == K_ENTER)
|
||||||
|
{
|
||||||
|
const TDate dr(m.get(F_DATAREG)); // Data operazione
|
||||||
|
TDate datacompcr(f.get());
|
||||||
|
|
||||||
|
if (datacompcr.empty())
|
||||||
|
{
|
||||||
|
f.set(dr);
|
||||||
|
datacompcr = dr;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (datacompcr > dr)
|
||||||
|
return f.message_box(TR("La data di competenze costi/ricavi maggiore di %s"), dr.stringa());
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
// Handler of the F_DATA74TER field on the modify mask
|
// Handler of the F_DATA74TER field on the modify mask
|
||||||
// Certified 90%
|
// Certified 90%
|
||||||
bool TPrimanota_application::data74ter_handler(TMask_field& f, KEY key)
|
bool TPrimanota_application::data74ter_handler(TMask_field& f, KEY key)
|
||||||
|
@ -80,7 +80,7 @@ class TPrimanota_application : public TRelation_application
|
|||||||
bool _sal_dirty; // Il saldaconto e' stato "toccato"?
|
bool _sal_dirty; // Il saldaconto e' stato "toccato"?
|
||||||
|
|
||||||
TipoIVA _iva; // Tipo di IVA corrente
|
TipoIVA _iva; // Tipo di IVA corrente
|
||||||
TCausale* _causale; // Causale corrente
|
TCausale * _causale; // Causale corrente
|
||||||
TLibro_giornale* _giornale; // Libro giornale corrente
|
TLibro_giornale* _giornale; // Libro giornale corrente
|
||||||
long _lastreg; // Numero ultima registrazione
|
long _lastreg; // Numero ultima registrazione
|
||||||
|
|
||||||
@ -118,8 +118,9 @@ class TPrimanota_application : public TRelation_application
|
|||||||
static void check_fppro_fields(TMask& m);
|
static void check_fppro_fields(TMask& m);
|
||||||
static bool caus_modify_handler(TMask_field& f, KEY key);
|
static bool caus_modify_handler(TMask_field& f, KEY key);
|
||||||
static bool datareg_handler(TMask_field& f, KEY key);
|
static bool datareg_handler(TMask_field& f, KEY key);
|
||||||
static bool datacomp_handler(TMask_field& f, KEY key);
|
static bool datacomp_handler(TMask_field& f, KEY key);
|
||||||
static bool data74ter_handler(TMask_field& f, KEY key);
|
static bool datacompcr_handler(TMask_field& f, KEY key);
|
||||||
|
static bool data74ter_handler(TMask_field& f, KEY key);
|
||||||
static bool datadoc_handler(TMask_field& f, KEY key);
|
static bool datadoc_handler(TMask_field& f, KEY key);
|
||||||
static bool numdoc_handler(TMask_field& f, KEY key);
|
static bool numdoc_handler(TMask_field& f, KEY key);
|
||||||
static bool ndocext_handler(TMask_field& f, KEY key);
|
static bool ndocext_handler(TMask_field& f, KEY key);
|
||||||
@ -251,7 +252,9 @@ protected: // TRelation_application
|
|||||||
virtual bool is_transaction() const;
|
virtual bool is_transaction() const;
|
||||||
virtual bool get_next_key(TToken_string& key);
|
virtual bool get_next_key(TToken_string& key);
|
||||||
virtual int read(TMask& m);
|
virtual int read(TMask& m);
|
||||||
virtual int write(const TMask& m);
|
void find_movcoll(const long numreg);
|
||||||
|
void set_movcoll(const long movcoll, const long numreg);
|
||||||
|
virtual int write(const TMask& m);
|
||||||
virtual int rewrite(const TMask& m);
|
virtual int rewrite(const TMask& m);
|
||||||
virtual bool remove();
|
virtual bool remove();
|
||||||
virtual void write_enable(bool) {}
|
virtual void write_enable(bool) {}
|
||||||
@ -385,7 +388,7 @@ public:
|
|||||||
void reset_colors();
|
void reset_colors();
|
||||||
real calcola_saldo() const;
|
real calcola_saldo() const;
|
||||||
|
|
||||||
TCausale& causale() const { return *_causale; }
|
TCausale& causale() const { return * _causale; }
|
||||||
TPartite_array& partite() { return _partite; } // Partite editate
|
TPartite_array& partite() { return _partite; } // Partite editate
|
||||||
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
bool edit_pagamento(TPartita& p, int nriga, int nrata, int nrigp);
|
||||||
bool notify_edit_pagamento(TPartita& partita, TRectype& new_pag,
|
bool notify_edit_pagamento(TPartita& partita, TRectype& new_pag,
|
||||||
|
@ -17,13 +17,23 @@ TCausale::TCausale(const char* cod, int year)
|
|||||||
: TArray(12), _rec(LF_CAUSALI),
|
: TArray(12), _rec(LF_CAUSALI),
|
||||||
_iva(iva_errata), _corrisp(false),
|
_iva(iva_errata), _corrisp(false),
|
||||||
_sezione_clifo(' '), _provvisorio(' '),
|
_sezione_clifo(' '), _provvisorio(' '),
|
||||||
_sezione_ritsoc(' '), _sezione_ritfis(' '), _sezione_revcharge(' ')
|
_sezione_ritsoc(' '), _sezione_ritfis(' '), _sezione_revcharge(' '),
|
||||||
|
_regolarizzazione(false)
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
_regolarizzazione = 0x2;
|
if (cod && *cod)
|
||||||
if (cod && *cod)
|
read(cod, year);
|
||||||
read(cod, year);
|
if (soloiva())
|
||||||
|
{
|
||||||
|
TCursor c(new TRelation(LF_CAUSALI));
|
||||||
|
int items = c.items();
|
||||||
|
|
||||||
|
for (c = 0L; c.pos() < items && !_regolarizzazione; ++c)
|
||||||
|
_regolarizzazione = c.curr().get(CAU_CODCAUREG) == codice();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TCausale::reread()
|
bool TCausale::reread()
|
||||||
{
|
{
|
||||||
const TString4 cod = codice();
|
const TString4 cod = codice();
|
||||||
@ -145,22 +155,8 @@ bool TCausale::soloiva() const
|
|||||||
int TCausale::regime_speciale() const
|
int TCausale::regime_speciale() const
|
||||||
{ return _rec.get_int(CAU_REGSPIVA); }
|
{ return _rec.get_int(CAU_REGSPIVA); }
|
||||||
|
|
||||||
bool TCausale::regolarizzazione()
|
bool TCausale::regolarizzazione() const
|
||||||
{
|
{ return _regolarizzazione; }
|
||||||
if ((int) _regolarizzazione == 0x2)
|
|
||||||
{
|
|
||||||
_regolarizzazione = false;
|
|
||||||
if (soloiva())
|
|
||||||
{
|
|
||||||
TCursor c(new TRelation(LF_CAUSALI));
|
|
||||||
int items = c.items();
|
|
||||||
|
|
||||||
for (c = 0L; c.pos() < items && !_regolarizzazione; ++c)
|
|
||||||
_regolarizzazione = c.curr().get(CAU_CODCAUREG) == codice();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return _regolarizzazione != 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TCausale::ril_fat_em_ric() const
|
bool TCausale::ril_fat_em_ric() const
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,7 @@ class TCausale : public TArray
|
|||||||
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;
|
||||||
int _regolarizzazione;
|
bool _regolarizzazione;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const TRectype* row(int num) const { return (const TRectype*)objptr(num); }
|
const TRectype* row(int num) const { return (const TRectype*)objptr(num); }
|
||||||
@ -41,7 +41,7 @@ public:
|
|||||||
bool valintra() const;
|
bool valintra() const;
|
||||||
bool soloiva() const;
|
bool soloiva() const;
|
||||||
bool reverse_charge() const;
|
bool reverse_charge() const;
|
||||||
bool regolarizzazione();
|
bool regolarizzazione() const;
|
||||||
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; }
|
||||||
|
@ -158,8 +158,9 @@ bool TProvvisori_msk::on_field_event(TOperable_field& o, TField_event e, long jo
|
|||||||
switch (o.get()[0])
|
switch (o.get()[0])
|
||||||
{
|
{
|
||||||
case 'C': fil << "=\"C\""; break;
|
case 'C': fil << "=\"C\""; break;
|
||||||
case 'P': fil << "=\"P\""; break;
|
case 'B': fil << "=\"B\""; break;
|
||||||
default : fil << "!=\"\""; break;
|
case 'P': fil << "=\"P\""; break;
|
||||||
|
default : fil << "!=\"\""; break;
|
||||||
}
|
}
|
||||||
update_search(F_FROMDATE, fil);
|
update_search(F_FROMDATE, fil);
|
||||||
update_search(F_TODATE, fil);
|
update_search(F_TODATE, fil);
|
||||||
@ -297,7 +298,7 @@ void TProvvisori_app::aggiungi_saldi(const TRectype& r, bool lettura)
|
|||||||
TBill conto; conto.get(r);
|
TBill conto; conto.get(r);
|
||||||
TImporto importo(r.get_char(RMV_SEZIONE), r.get_real(RMV_IMPORTO));
|
TImporto importo(r.get_char(RMV_SEZIONE), r.get_real(RMV_IMPORTO));
|
||||||
|
|
||||||
_saldi.set_movprovv(lettura); // In lettura sono tutti provvisori
|
_saldi.set_movprovv(lettura); // In lettura sono tutti provvisori qui
|
||||||
_saldi.aggiorna(conto, importo, !lettura); // In lettura devo sottrarre l'importo
|
_saldi.aggiorna(conto, importo, !lettura); // In lettura devo sottrarre l'importo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,12 +24,13 @@ ENDPAGE
|
|||||||
|
|
||||||
PAGE "Gestione Movimenti Provvisori" -1 -1 52 14
|
PAGE "Gestione Movimenti Provvisori" -1 -1 52 14
|
||||||
|
|
||||||
LIST F_PROVV 10
|
LIST F_PROVV 25
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "@bTipo movimenti provvisori "
|
PROMPT 1 0 "@bTipo movimenti provvisori "
|
||||||
ITEM "P|Contabili"
|
ITEM "P|Contabili"
|
||||||
ITEM " |Tutti"
|
ITEM " |Tutti"
|
||||||
ITEM "C|Cespiti"
|
ITEM "B|Bilancio costi/ricavi"
|
||||||
|
ITEM "C|Cespiti"
|
||||||
END
|
END
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 50 3
|
GROUPBOX DLG_NULL 50 3
|
||||||
|
@ -728,7 +728,7 @@ void TApertura_chiusura::costi()
|
|||||||
}
|
}
|
||||||
|
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo.is_zero())
|
if (_saldo.is_zero())
|
||||||
@ -875,7 +875,7 @@ void TApertura_chiusura::ricavi()
|
|||||||
//numrig++;
|
//numrig++;
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
//sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
|
//sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo.is_zero()) continue;
|
if (_saldo.is_zero()) continue;
|
||||||
@ -1114,7 +1114,7 @@ void TApertura_chiusura::chiudi_attivita()
|
|||||||
}
|
}
|
||||||
|
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
const int dbkey = saldi.getkey();
|
const int dbkey = saldi.getkey();
|
||||||
saldi.setkey(1);
|
saldi.setkey(1);
|
||||||
@ -1264,7 +1264,7 @@ void TApertura_chiusura::chiudi_passivita()
|
|||||||
//numrig++;
|
//numrig++;
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
//sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
|
//sale.calcola_ultima_immissione(_annoesch,0,g,c,s,indbil);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo.is_zero()) continue;
|
if (_saldo.is_zero()) continue;
|
||||||
@ -1409,7 +1409,7 @@ void TApertura_chiusura::chiudi_conti_ordine()
|
|||||||
}
|
}
|
||||||
|
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
const int dbkey = saldi.getkey();
|
const int dbkey = saldi.getkey();
|
||||||
saldi.setkey(1);
|
saldi.setkey(1);
|
||||||
@ -1606,7 +1606,7 @@ void TApertura_chiusura::apri_attivita()
|
|||||||
|
|
||||||
//numrig++;
|
//numrig++;
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1, false);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 0x1, false);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo == ZERO) continue;
|
if (_saldo == ZERO) continue;
|
||||||
@ -1752,7 +1752,7 @@ void TApertura_chiusura::apri_passivita()
|
|||||||
|
|
||||||
//numrig++;
|
//numrig++;
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1, false);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 0x1, false);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo.is_zero()) continue;
|
if (_saldo.is_zero()) continue;
|
||||||
@ -1898,7 +1898,7 @@ void TApertura_chiusura::apri_conti_ordine()
|
|||||||
//numrig++;
|
//numrig++;
|
||||||
s = saldi.get_long(SLD_SOTTOCONTO);
|
s = saldi.get_long(SLD_SOTTOCONTO);
|
||||||
|
|
||||||
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1, false);
|
sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 0x1, false);
|
||||||
_saldo = sale.saldo();
|
_saldo = sale.saldo();
|
||||||
|
|
||||||
if (_saldo == ZERO) continue;
|
if (_saldo == ZERO) continue;
|
||||||
|
@ -313,7 +313,7 @@ END
|
|||||||
|
|
||||||
CURRENCY S_INTERESSI 15
|
CURRENCY S_INTERESSI 15
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 6 "Interessi "
|
PROMPT 1 7 "Interessi "
|
||||||
FLAGS "RD"
|
FLAGS "RD"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
@ -95,7 +95,7 @@ TSaldo::TSaldo() : _saldi(LF_SALDI), _saldoiniziale(ZERO), _saldo_iniziale(ZERO)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura, bool provvis)
|
real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusura, int provv)
|
||||||
{
|
{
|
||||||
_significativo = false;
|
_significativo = false;
|
||||||
|
|
||||||
@ -107,8 +107,6 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusu
|
|||||||
const real saldo = _saldi.get_real(SLD_SALDO);
|
const real saldo = _saldi.get_real(SLD_SALDO);
|
||||||
const real pdare = _saldi.get_real(SLD_PDARE);
|
const real pdare = _saldi.get_real(SLD_PDARE);
|
||||||
const real pavere = _saldi.get_real(SLD_PAVERE);
|
const real pavere = _saldi.get_real(SLD_PAVERE);
|
||||||
const real pdarepro = _saldi.get_real(SLD_PDAREPRO);
|
|
||||||
const real paverepro = _saldi.get_real(SLD_PAVEREPRO);
|
|
||||||
const char flagsf = _saldi.get_char(SLD_FLAGSALFIN);
|
const char flagsf = _saldi.get_char(SLD_FLAGSALFIN);
|
||||||
const real saldosf = _saldi.get_real(SLD_SALDOFIN);
|
const real saldosf = _saldi.get_real(SLD_SALDOFIN);
|
||||||
|
|
||||||
@ -125,19 +123,29 @@ real TSaldo::saldofin_esprec(int annoes, int g, int c, long s, bool saldo_chiusu
|
|||||||
tot -= saldosf; // che e' l'unico programma ad usare la funzione
|
tot -= saldosf; // che e' l'unico programma ad usare la funzione
|
||||||
} // passandogli come flag saldo_chiusura il valore true.
|
} // passandogli come flag saldo_chiusura il valore true.
|
||||||
|
|
||||||
if (provvis)
|
if (provv & 0x2)
|
||||||
{
|
{
|
||||||
tot += pdarepro;
|
tot += _saldi.get_real(SLD_PDAREPRO);
|
||||||
tot -= paverepro;
|
tot -= _saldi.get_real(SLD_PAVEREPRO);
|
||||||
}
|
}
|
||||||
|
if (provv & 0x4)
|
||||||
|
{
|
||||||
|
tot += _saldi.get_real(SLD_PDAREPROB);
|
||||||
|
tot -= _saldi.get_real(SLD_PAVEREPROB);
|
||||||
|
}
|
||||||
|
if (provv & 0x8)
|
||||||
|
{
|
||||||
|
tot += _saldi.get_real(SLD_PDAREPROC);
|
||||||
|
tot -= _saldi.get_real(SLD_PAVEREPROC);
|
||||||
|
}
|
||||||
|
|
||||||
_significativo = !tot.is_zero();
|
_significativo = !tot.is_zero();
|
||||||
return tot;
|
return tot;
|
||||||
}
|
}
|
||||||
|
|
||||||
//richiamata nel bilancio a sez.contr per data limite
|
//richiamata nel bilancio a sez.contr per data limite
|
||||||
//in realtà calcola il saldo finale es.prec
|
//in realtà calcola il saldo finale es.prec
|
||||||
real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil, bool provvis)
|
real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil, int provv)
|
||||||
{
|
{
|
||||||
real saldoini;
|
real saldoini;
|
||||||
_significativo = true;
|
_significativo = true;
|
||||||
@ -162,7 +170,7 @@ real TSaldo::calcola_saldo_iniziale(int g,int c,long s,int indbil, bool provvis)
|
|||||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
{
|
{
|
||||||
_prec = true;
|
_prec = true;
|
||||||
saldoini = saldofin_esprec(_annoes, g, c, s, false, provvis);
|
saldoini = saldofin_esprec(_annoes, g, c, s, false, provv);
|
||||||
}
|
}
|
||||||
_saldo_iniziale = saldoini;
|
_saldo_iniziale = saldoini;
|
||||||
}
|
}
|
||||||
@ -187,7 +195,7 @@ bool TSaldo::leggi_mov(long nr)
|
|||||||
|
|
||||||
//per bilancio scalare (ovvero a sezioni contrapposte) per data limite
|
//per bilancio scalare (ovvero a sezioni contrapposte) per data limite
|
||||||
bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDate& data_inf,
|
bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDate& data_inf,
|
||||||
const TDate& data_sup, int indbil, int stp_prov, const char* filter)
|
const TDate& data_sup, int indbil, int provv, const char* filter)
|
||||||
{
|
{
|
||||||
_saldo_iniziale = ZERO;
|
_saldo_iniziale = ZERO;
|
||||||
_saldo = ZERO;
|
_saldo = ZERO;
|
||||||
@ -208,8 +216,8 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
|
|||||||
cur.freeze();
|
cur.freeze();
|
||||||
|
|
||||||
// Anche se non movimentato vado a vedere il saldo
|
// Anche se non movimentato vado a vedere il saldo
|
||||||
if (stp_prov != 3 && (filter == NULL || *filter == '\0'))
|
if ((provv & 0x1) && (filter == NULL || *filter == '\0'))
|
||||||
_saldo = calcola_saldo_iniziale(g,c,s,indbil,stp_prov == 2);
|
_saldo = calcola_saldo_iniziale(g,c,s,indbil,provv);
|
||||||
|
|
||||||
for (cur = 0L; cur.pos() < items; ++cur)
|
for (cur = 0L; cur.pos() < items; ++cur)
|
||||||
{
|
{
|
||||||
@ -234,34 +242,30 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
|
|||||||
|
|
||||||
// "Se la causale del movimento e' di chiusura,
|
// "Se la causale del movimento e' di chiusura,
|
||||||
// o di apertura il movimento non va considerato"
|
// o di apertura il movimento non va considerato"
|
||||||
if (_codcaus.not_empty())
|
if (_codcaus.full())
|
||||||
{
|
{
|
||||||
const TString& movap = _causali_apertura.decode(_codcaus);
|
const TString& movap = _causali_apertura.decode(_codcaus);
|
||||||
if (movap == "C")
|
if (movap == "C")
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
//bilancio normale (non comprende i provvisori) ?
|
if (((provv & 0x1) && _provv.blank()) ||
|
||||||
if (stp_prov == 1 && _provv.not_empty())
|
((provv & 0x2) && ((_provv == "P") || (_provv == "N"))) ||
|
||||||
continue;
|
((provv & 0x4) && (_provv == "B")) || ((provv & 0x8) && (_provv == "C")))
|
||||||
|
{
|
||||||
//bilancio dei soli provvisori ?
|
const char sezione = rmov.get_char(RMV_SEZIONE);
|
||||||
if (stp_prov == 3 && _provv.empty())
|
const real importo = rmov.get_real(RMV_IMPORTO);
|
||||||
continue;
|
|
||||||
|
|
||||||
const char sezione = rmov.get_char(RMV_SEZIONE);
|
|
||||||
const real importo = rmov.get_real(RMV_IMPORTO);
|
|
||||||
|
|
||||||
// I mov. di puro riferimento (= con importo = 0) vanno scartati
|
|
||||||
if (importo.is_zero())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
_movimentato = true;
|
|
||||||
|
|
||||||
if (sezione == 'D')
|
// I mov. di puro riferimento (= con importo = 0) vanno scartati
|
||||||
_saldo += importo;
|
if (importo != ZERO)
|
||||||
else
|
{
|
||||||
_saldo -= importo;
|
_movimentato = true;
|
||||||
|
if (sezione == 'D')
|
||||||
|
_saldo += importo;
|
||||||
|
else
|
||||||
|
_saldo -= importo;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
@ -273,11 +277,10 @@ bool TSaldo::data_limite_bilancio(int bilancio, int g, int c, long s, const TDat
|
|||||||
|
|
||||||
|
|
||||||
//per bilancio di verifica all'ultima immissione
|
//per bilancio di verifica all'ultima immissione
|
||||||
bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil,int stp_prov)
|
bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil, int provv)
|
||||||
{
|
{
|
||||||
//Si considerano i saldi e non piu' i movimenti
|
//Si considerano i saldi e non piu' i movimenti
|
||||||
char sezione;
|
char sezione;
|
||||||
real pdarepro, paverepro;
|
|
||||||
bool esito = false;
|
bool esito = false;
|
||||||
|
|
||||||
_saldo_iniziale = ZERO;
|
_saldo_iniziale = ZERO;
|
||||||
@ -310,21 +313,14 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
|||||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
||||||
pdarepro = _saldi.get_real(SLD_PDAREPRO);
|
|
||||||
paverepro = _saldi.get_real(SLD_PAVEREPRO);
|
|
||||||
sezione = _saldi.get_char(SLD_FLAGSALINI);
|
sezione = _saldi.get_char(SLD_FLAGSALINI);
|
||||||
_sezsf = _saldi.get_char(SLD_FLAGSALFIN); // W96SALDI del 19-06-96 modifica richiesta
|
_sezsf = _saldi.get_char(SLD_FLAGSALFIN); // W96SALDI del 19-06-96 modifica richiesta
|
||||||
_saldofin = _saldi.get_real(SLD_SALDOFIN); // da PATRIZIA
|
_saldofin = _saldi.get_real(SLD_SALDOFIN); // da PATRIZIA
|
||||||
|
|
||||||
if (stp_prov == 1) //bilancio normale (senza provvisori)
|
if (provv == 1) //bilancio normale (senza provvisori)
|
||||||
if (_saldo_iniziale.is_zero() && _prg_dare.is_zero() && _prg_avere.is_zero())
|
if (_saldo_iniziale.is_zero() && _prg_dare.is_zero() && _prg_avere.is_zero())
|
||||||
return esito;
|
return esito;
|
||||||
// if (stp_prov == 0 && paverepro == ZERO)
|
|
||||||
if (stp_prov == 3 && paverepro.is_zero() && pdarepro.is_zero()) // Modifica del 24-09-96 errore MI0890.
|
|
||||||
{
|
|
||||||
_saldo = _prg_dare = _prg_avere = ZERO; // N.B. Non e' detto che funzioni sempre!!!!!!
|
|
||||||
return esito;
|
|
||||||
}
|
|
||||||
if (sezione == 'A')
|
if (sezione == 'A')
|
||||||
_saldo_iniziale = -_saldo_iniziale;
|
_saldo_iniziale = -_saldo_iniziale;
|
||||||
if (_sezsf == 'A')
|
if (_sezsf == 'A')
|
||||||
@ -333,34 +329,35 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
|||||||
_saldoiniziale = _saldo_iniziale; //saldo iniziale presente sul record saldi
|
_saldoiniziale = _saldo_iniziale; //saldo iniziale presente sul record saldi
|
||||||
//non comprensivo del saldo finale es.precedente
|
//non comprensivo del saldo finale es.precedente
|
||||||
|
|
||||||
if (_saldo_iniziale.is_zero() && stp_prov != 3)
|
if (_saldo_iniziale.is_zero() && !(provv & 0x1))
|
||||||
{
|
{
|
||||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s, false, stp_prov == 2);
|
_saldo_iniziale += saldofin_esprec(annoes,g,c,s, false, provv);
|
||||||
}
|
}
|
||||||
|
|
||||||
esito = true;
|
esito = true;
|
||||||
|
_saldo = _saldo_iniziale + _saldofin;
|
||||||
switch (stp_prov)
|
if (!(provv & 0x1))
|
||||||
{
|
{
|
||||||
case 1:
|
_prg_dare = ZERO;
|
||||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere + _saldofin; // W96SALDI del 19-06-96
|
_prg_avere = ZERO;
|
||||||
break;
|
}
|
||||||
case 2:
|
|
||||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere + pdarepro - paverepro + _saldofin; // W96SALDI del 19-06-96
|
if (provv & 0x2)
|
||||||
if (pdarepro != ZERO) // Modifica del 24-09-96 errore MI0890: nel caso in cui i progressivi
|
{
|
||||||
_prg_dare = pdarepro; // pdarepro o paverepro sono compilati sono in presenza di un movimento
|
_prg_dare += _saldi.get_real(SLD_PDAREPRO);
|
||||||
if (paverepro != ZERO) // provvisorio, dunque li trasferisco nei progressivi che poi uso nel
|
_prg_avere += _saldi.get_real(SLD_PAVEREPRO);
|
||||||
_prg_avere = paverepro; // CG1500 per la stampa.
|
}
|
||||||
break;
|
if (provv & 0x4)
|
||||||
case 3:
|
{
|
||||||
_saldo = pdarepro - paverepro;
|
_prg_dare += _saldi.get_real(SLD_PDAREPROB);
|
||||||
_prg_dare = pdarepro; // Idem come sopra.
|
_prg_avere += _saldi.get_real(SLD_PAVEREPROB);
|
||||||
_prg_avere = paverepro; // N.B. Non e' detto che funzioni sempre!!!!!!
|
}
|
||||||
break;
|
if (provv & 0x8)
|
||||||
default:
|
{
|
||||||
break;
|
_prg_dare += _saldi.get_real(SLD_PDAREPROC);
|
||||||
}
|
_prg_avere += _saldi.get_real(SLD_PAVEREPROC);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return esito;
|
return esito;
|
||||||
}
|
}
|
||||||
@ -372,13 +369,13 @@ bool TSaldo::ultima_immissione_verifica(int annoes,int g,int c,long s,int indbil
|
|||||||
// risulterebbero aperti); siccome alcuni programmi (esempio il bilancio IV dir. CEE) non ne
|
// risulterebbero aperti); siccome alcuni programmi (esempio il bilancio IV dir. CEE) non ne
|
||||||
// devono tenere conto, si e' data la possibilità di usare la funzione passandogli il parametro a false.
|
// devono tenere conto, si e' data la possibilità di usare la funzione passandogli il parametro a false.
|
||||||
// Modifica del 09-07-96
|
// Modifica del 09-07-96
|
||||||
bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil,int stp_prov,bool saldo_chiusura)
|
bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil,int provv,bool saldo_chiusura)
|
||||||
{
|
{
|
||||||
//Si considerano i saldi e non piu' i movimenti
|
//Si considerano i saldi e non piu' i movimenti
|
||||||
char sezione;
|
char sezione;
|
||||||
// int gruppo, conto, annoe;
|
// int gruppo, conto, annoe;
|
||||||
// long sottoconto;
|
// long sottoconto;
|
||||||
real pdarepro, paverepro;
|
real pdarepro, paverepro, pdareprob, pavereprob, pdareproc, pavereproc;
|
||||||
bool esito = false;
|
bool esito = false;
|
||||||
|
|
||||||
_saldo_iniziale = ZERO;
|
_saldo_iniziale = ZERO;
|
||||||
@ -413,21 +410,25 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
|||||||
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
_saldo_iniziale = _saldi.get_real(SLD_SALDO);
|
||||||
_prg_dare = _saldi.get_real(SLD_PDARE);
|
_prg_dare = _saldi.get_real(SLD_PDARE);
|
||||||
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
_prg_avere = _saldi.get_real(SLD_PAVERE);
|
||||||
pdarepro = _saldi.get_real(SLD_PDAREPRO);
|
pdarepro = _saldi.get_real(SLD_PDAREPRO);
|
||||||
paverepro = _saldi.get_real(SLD_PAVEREPRO);
|
paverepro = _saldi.get_real(SLD_PAVEREPRO);
|
||||||
sezione = _saldi.get_char(SLD_FLAGSALINI);
|
pdareprob = _saldi.get_real(SLD_PDAREPROB);
|
||||||
|
pavereprob = _saldi.get_real(SLD_PAVEREPROB);
|
||||||
|
pdareproc = _saldi.get_real(SLD_PDAREPROC);
|
||||||
|
pavereproc = _saldi.get_real(SLD_PAVEREPROC);
|
||||||
|
sezione = _saldi.get_char(SLD_FLAGSALINI);
|
||||||
_sezsf = _saldi.get_char(SLD_FLAGSALFIN);
|
_sezsf = _saldi.get_char(SLD_FLAGSALFIN);
|
||||||
_saldofin = _saldi.get_real(SLD_SALDOFIN);
|
_saldofin = _saldi.get_real(SLD_SALDOFIN);
|
||||||
|
|
||||||
if (stp_prov == 1) //bilancio normale (senza provvisori)
|
esito = false;
|
||||||
esito = (_saldo_iniziale != ZERO || _prg_dare != ZERO || _prg_avere != ZERO);
|
if (provv & 0x1)
|
||||||
|
esito |= (_saldo_iniziale != ZERO || _prg_dare != ZERO || _prg_avere != ZERO);
|
||||||
if (stp_prov == 2) //bilancio globale (con provvisori)
|
if (provv & 0x2) // (con provvisori manuali)
|
||||||
esito = (_saldo_iniziale != ZERO || _prg_dare != ZERO || _prg_avere != ZERO
|
esito |= (pdarepro != ZERO || paverepro != ZERO);
|
||||||
|| pdarepro != ZERO || paverepro != ZERO);
|
if (provv & 0x4) // (con provvisori bilancio costi/ricavi)
|
||||||
|
esito |= (pdareprob != ZERO || pavereprob != ZERO);
|
||||||
if (stp_prov == 3) //bilancio dei soli mov. provvisori
|
if (provv & 0x8) // (con provvisori cespiti)
|
||||||
esito = (pdarepro != ZERO || paverepro != ZERO);
|
esito |= (pdareproc != ZERO || pavereproc != ZERO);
|
||||||
|
|
||||||
if (sezione == 'A')
|
if (sezione == 'A')
|
||||||
_saldo_iniziale = -_saldo_iniziale;
|
_saldo_iniziale = -_saldo_iniziale;
|
||||||
@ -439,34 +440,30 @@ bool TSaldo::ultima_immissione_bilancio(int annoes,int g,int c,long s,int indbil
|
|||||||
_rec_presente_ec = esito;
|
_rec_presente_ec = esito;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_saldo_iniziale.is_zero() && stp_prov != 3)
|
if (_saldo_iniziale.is_zero() && (provv & 0x1))
|
||||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
{
|
{
|
||||||
_prec = true;
|
_prec = true;
|
||||||
_saldo_iniziale += saldofin_esprec(annoes,g,c,s,false,stp_prov==2);
|
_saldo_iniziale += saldofin_esprec(annoes,g,c,s,false,provv);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stp_prov == 1)
|
_saldo = ZERO;
|
||||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere;
|
if (provv & 0x1)
|
||||||
|
_saldo += _saldo_iniziale + _prg_dare - _prg_avere;
|
||||||
if (stp_prov == 2)
|
if (provv & 0x2) // (con provvisori manuali)
|
||||||
_saldo = _saldo_iniziale + _prg_dare - _prg_avere + pdarepro - paverepro;
|
_saldo += pdarepro - paverepro;
|
||||||
|
if (provv & 0x4) // (con provvisori bilancio costi/ricavi)
|
||||||
if (stp_prov == 3)
|
_saldo += pdareprob - pavereprob;
|
||||||
_saldo = pdarepro - paverepro;
|
if (provv & 0x8) // (con provvisori cespiti)
|
||||||
|
_saldo += pdareproc - pavereproc;
|
||||||
if (saldo_chiusura) // W96SALDI modifica inserita per il discorso di inclusione oppure
|
if (saldo_chiusura && (provv & 0x1)) // W96SALDI modifica inserita per il discorso di inclusione oppure
|
||||||
_saldo += _saldofin; // no del saldo di chiusura inserita il 09-07-96
|
_saldo += _saldofin; // no del saldo di chiusura inserita il 09-07-96
|
||||||
|
|
||||||
#ifdef __LONGDOUBLE__
|
|
||||||
_saldo.round(TCurrency::get_firm_dec());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return esito;
|
return esito;
|
||||||
}
|
}
|
||||||
|
|
||||||
const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const TDate& al,
|
const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const TDate& al,
|
||||||
int indbil, bool provv)
|
int indbil, int provv)
|
||||||
|
|
||||||
{
|
{
|
||||||
_saldo_iniziale = ZERO;
|
_saldo_iniziale = ZERO;
|
||||||
@ -496,9 +493,7 @@ const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const
|
|||||||
_prec = _saldo_iniziale.is_zero() && (indbil == 1 || indbil == 2 || indbil == 5);
|
_prec = _saldo_iniziale.is_zero() && (indbil == 1 || indbil == 2 || indbil == 5);
|
||||||
|
|
||||||
if (_prec)
|
if (_prec)
|
||||||
{
|
|
||||||
_saldo_iniziale = saldofin_esprec(codes,g,c,s);
|
_saldo_iniziale = saldofin_esprec(codes,g,c,s);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (saldo.get_char(SLD_FLAGSALINI) == 'A')
|
if (saldo.get_char(SLD_FLAGSALINI) == 'A')
|
||||||
@ -542,7 +537,7 @@ const real& TSaldo::saldo_periodo(int g, int c, long s, const TDate& dal, const
|
|||||||
leggi_mov(num_reg);
|
leggi_mov(num_reg);
|
||||||
const TString& movap = _causali_apertura.decode(_codcaus);
|
const TString& movap = _causali_apertura.decode(_codcaus);
|
||||||
|
|
||||||
if ((provv || _provv.empty()) && movap.blank())
|
if (!((provv & 0x1) || _provv.empty()) && movap.blank()) // ????
|
||||||
{
|
{
|
||||||
if (_datacomp >= dal && _datacomp <= al)
|
if (_datacomp >= dal && _datacomp <= al)
|
||||||
{
|
{
|
||||||
@ -701,8 +696,10 @@ bool TSaldo::saldo_cont_sep(int g, int c, long s, const int codes, TDate al,
|
|||||||
_datacomp = mov.get(MOV_DATACOMP);
|
_datacomp = mov.get(MOV_DATACOMP);
|
||||||
const TString& movap = _causali_apertura.decode(_codcaus);
|
const TString& movap = _causali_apertura.decode(_codcaus);
|
||||||
|
|
||||||
if (provv > 1 || _provv.empty())
|
if (((provv & 0x1) && _provv.empty()) ||
|
||||||
{
|
((provv & 0x2) && (_provv == "P" || _provv == "N")) ||
|
||||||
|
(provv & 0x4) && (_provv == "B") || (provv & 0x8) && (_provv == "C"))
|
||||||
|
{
|
||||||
if (_datacomp >= inizio && _datacomp <= al)
|
if (_datacomp >= inizio && _datacomp <= al)
|
||||||
{
|
{
|
||||||
if (movap.blank())
|
if (movap.blank())
|
||||||
@ -797,7 +794,7 @@ void TTab_conti::remove(const TBill& c, int anno, bool scar)
|
|||||||
|
|
||||||
void TTab_conti::aggiorna_conto(const TBill& tcon,
|
void TTab_conti::aggiorna_conto(const TBill& tcon,
|
||||||
int anno_es, const TImporto& importo, tiposal movap,
|
int anno_es, const TImporto& importo, tiposal movap,
|
||||||
bool provv, bool somma, bool movimentato, bool scaricato)
|
char provv, bool somma, bool movimentato, bool scaricato)
|
||||||
{
|
{
|
||||||
TContoExt* tc = (TContoExt*)find(tcon, anno_es, scaricato);
|
TContoExt* tc = (TContoExt*)find(tcon, anno_es, scaricato);
|
||||||
if (tc == NULL)
|
if (tc == NULL)
|
||||||
@ -805,40 +802,56 @@ void TTab_conti::aggiorna_conto(const TBill& tcon,
|
|||||||
|
|
||||||
const real i(somma ? importo.valore() : -importo.valore());
|
const real i(somma ? importo.valore() : -importo.valore());
|
||||||
|
|
||||||
if (provv)
|
if ((provv == 'P') || (provv == 'N'))
|
||||||
{
|
{
|
||||||
if (importo.sezione() == 'D')
|
if (importo.sezione() == 'D')
|
||||||
tc->darepro() += i;
|
tc->darepro() += i;
|
||||||
else
|
else
|
||||||
tc->averepro() += i;
|
tc->averepro() += i;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
if (provv == 'B')
|
||||||
if (movap == apertura)
|
{
|
||||||
{
|
if (importo.sezione() == 'D')
|
||||||
if (importo.sezione() == 'D')
|
tc->dareprob() += i;
|
||||||
tc->saldo() += i;
|
else
|
||||||
else
|
tc->avereprob() += i;
|
||||||
tc->saldo() -= i;
|
}
|
||||||
}
|
else
|
||||||
else
|
if (provv == 'C')
|
||||||
{
|
{
|
||||||
if (movap == chiusura)
|
if (importo.sezione() == 'D')
|
||||||
|
tc->dareproc() += i;
|
||||||
|
else
|
||||||
|
tc->avereproc() += i;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if (importo.sezione() == 'D')
|
if (movap == apertura)
|
||||||
tc->saldofin() += i;
|
{
|
||||||
|
if (importo.sezione() == 'D')
|
||||||
|
tc->saldo() += i;
|
||||||
|
else
|
||||||
|
tc->saldo() -= i;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
tc->saldofin() -= i;
|
{
|
||||||
|
if (movap == chiusura)
|
||||||
|
{
|
||||||
|
if (importo.sezione() == 'D')
|
||||||
|
tc->saldofin() += i;
|
||||||
|
else
|
||||||
|
tc->saldofin() -= i;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (importo.sezione() == 'D')
|
||||||
|
tc->dare() += i;
|
||||||
|
else
|
||||||
|
tc->avere() += i;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
if (importo.sezione() == 'D')
|
|
||||||
tc->dare() += i;
|
|
||||||
else
|
|
||||||
tc->avere() += i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// rimuovo dalla tabella il conto se dare e avere vanno a zero
|
// rimuovo dalla tabella il conto se dare e avere vanno a zero
|
||||||
@ -945,8 +958,6 @@ void TSaldo_agg::clear_saldi(int year)
|
|||||||
|
|
||||||
void TSaldo_agg::registra()
|
void TSaldo_agg::registra()
|
||||||
{
|
{
|
||||||
real si, r;
|
|
||||||
char flag_salini;
|
|
||||||
TDate data_ulmov;
|
TDate data_ulmov;
|
||||||
long num_ulmov;
|
long num_ulmov;
|
||||||
TLocalisamfile saldi(LF_SALDI);
|
TLocalisamfile saldi(LF_SALDI);
|
||||||
@ -978,19 +989,19 @@ void TSaldo_agg::registra()
|
|||||||
saldi.put(SLD_SOTTOCONTO, tcon.sottoconto());
|
saldi.put(SLD_SOTTOCONTO, tcon.sottoconto());
|
||||||
saldi.put(SLD_FLSCA, tcon.scaricato());
|
saldi.put(SLD_FLSCA, tcon.scaricato());
|
||||||
|
|
||||||
si = tcon.saldo();
|
const bool swap = tcon.saldo() < ZERO;
|
||||||
if (si < ZERO)
|
|
||||||
{ flag_salini = 'A'; si = -si; }
|
|
||||||
else
|
|
||||||
flag_salini = 'D';
|
|
||||||
|
|
||||||
saldi.put(SLD_FLAGSALINI, flag_salini);
|
saldi.put(SLD_FLAGSALINI, swap ? "A" : "D");
|
||||||
saldi.put(SLD_SALDO, si);
|
saldi.put(SLD_SALDO, swap ? -tcon.saldo() : tcon.saldo());
|
||||||
saldi.put(SLD_PDARE, tcon.dare());
|
saldi.put(SLD_PDARE, tcon.dare());
|
||||||
saldi.put(SLD_PAVERE, tcon.avere());
|
saldi.put(SLD_PAVERE, tcon.avere());
|
||||||
saldi.put(SLD_PDAREPRO, tcon.darepro());
|
saldi.put(SLD_PDAREPRO, tcon.darepro());
|
||||||
saldi.put(SLD_PAVEREPRO, tcon.averepro());
|
saldi.put(SLD_PAVEREPRO, tcon.averepro());
|
||||||
|
saldi.put(SLD_PDAREPROB, tcon.dareprob());
|
||||||
|
saldi.put(SLD_PAVEREPROB, tcon.avereprob());
|
||||||
|
saldi.put(SLD_PDAREPROC, tcon.dareproc());
|
||||||
|
saldi.put(SLD_PAVEREPROC, tcon.avereproc());
|
||||||
|
|
||||||
real sf = tcon.saldofin();
|
real sf = tcon.saldofin();
|
||||||
char flag_salfin = sf < ZERO ? 'A' : 'D';
|
char flag_salfin = sf < ZERO ? 'A' : 'D';
|
||||||
if (flag_salfin == 'A') sf = -sf;
|
if (flag_salfin == 'A') sf = -sf;
|
||||||
@ -1014,12 +1025,15 @@ void TSaldo_agg::registra()
|
|||||||
saldi.put(SLD_NUMULTMOV, _num_ulmov);
|
saldi.put(SLD_NUMULTMOV, _num_ulmov);
|
||||||
if ((_data_ulmov.ok()) && (_data_ulmov > data_ulmov))
|
if ((_data_ulmov.ok()) && (_data_ulmov > data_ulmov))
|
||||||
saldi.put(SLD_DATAULMOV, _data_ulmov);
|
saldi.put(SLD_DATAULMOV, _data_ulmov);
|
||||||
r = tcon.saldo();
|
|
||||||
si = saldi.get_real(SLD_SALDO);
|
const real r = tcon.saldo();
|
||||||
flag_salini = saldi.get_char(SLD_FLAGSALINI);
|
real si = saldi.get_real(SLD_SALDO);
|
||||||
|
char flag_salini = saldi.get_char(SLD_FLAGSALINI);
|
||||||
|
|
||||||
if (!r.is_zero())
|
if (!r.is_zero())
|
||||||
{
|
{
|
||||||
if (flag_salini == 'A')
|
|
||||||
|
if (flag_salini == 'A')
|
||||||
si = r - si;
|
si = r - si;
|
||||||
else
|
else
|
||||||
si += r;
|
si += r;
|
||||||
@ -1033,75 +1047,72 @@ void TSaldo_agg::registra()
|
|||||||
saldi.put(SLD_FLAGSALINI, flag_salini);
|
saldi.put(SLD_FLAGSALINI, flag_salini);
|
||||||
saldi.put(SLD_SALDO, si);
|
saldi.put(SLD_SALDO, si);
|
||||||
}
|
}
|
||||||
|
TImporto sld('D', tcon.saldo());
|
||||||
|
TImporto old_sld(saldi.get_char(SLD_FLAGSALINI), saldi.get_real(SLD_SALDO));
|
||||||
|
|
||||||
|
sld += old_sld;
|
||||||
|
sld.normalize();
|
||||||
|
saldi.put(SLD_FLAGSALINI, sld.sezione());
|
||||||
|
saldi.put(SLD_SALDO, sld.valore());
|
||||||
|
|
||||||
TImporto sf('D', tcon.saldofin());
|
TImporto sf('D', tcon.saldofin());
|
||||||
char old_flag_sf = saldi.get(SLD_FLAGSALFIN)[0];
|
TImporto old_sf(saldi.get_char(SLD_FLAGSALFIN), saldi.get_real(SLD_SALDOFIN));
|
||||||
TImporto old_sf(old_flag_sf, saldi.get_real(SLD_SALDOFIN));
|
|
||||||
|
|
||||||
sf += old_sf;
|
sf += old_sf;
|
||||||
sf.normalize();
|
sf.normalize();
|
||||||
saldi.put(SLD_FLAGSALFIN, sf.sezione());
|
saldi.put(SLD_FLAGSALFIN, sf.sezione());
|
||||||
saldi.put(SLD_SALDOFIN, sf.valore());
|
saldi.put(SLD_SALDOFIN, sf.valore());
|
||||||
|
|
||||||
r = saldi.get_real(SLD_PDARE);
|
saldi.add(SLD_PDARE, tcon.dare());
|
||||||
r += tcon.dare();
|
saldi.add(SLD_PAVERE, tcon.avere());
|
||||||
saldi.put(SLD_PDARE, r);
|
saldi.add(SLD_PDAREPRO, tcon.darepro());
|
||||||
|
saldi.add(SLD_PAVEREPRO, tcon.averepro());
|
||||||
|
saldi.add(SLD_PDAREPROB, tcon.dareprob());
|
||||||
|
saldi.add(SLD_PAVEREPROB, tcon.avereprob());
|
||||||
|
saldi.add(SLD_PDAREPROC, tcon.dareproc());
|
||||||
|
saldi.add(SLD_PAVEREPROC, tcon.avereproc());
|
||||||
|
|
||||||
r = saldi.get_real(SLD_PAVERE);
|
const int err = saldi.rewrite();
|
||||||
r += tcon.avere();
|
|
||||||
saldi.put(SLD_PAVERE, r);
|
|
||||||
|
|
||||||
r = saldi.get_real(SLD_PDAREPRO);
|
|
||||||
r += tcon.darepro();
|
|
||||||
saldi.put(SLD_PDAREPRO, r);
|
|
||||||
|
|
||||||
r = saldi.get_real(SLD_PAVEREPRO);
|
|
||||||
r += tcon.averepro();
|
|
||||||
saldi.put(SLD_PAVEREPRO, r);
|
|
||||||
|
|
||||||
const int err = saldi.rewrite();
|
|
||||||
if (err != NOERR)
|
if (err != NOERR)
|
||||||
yesnofatal_box(FR("Errore %d nell'aggiornamento del saldo %d %d %ld"),
|
yesnofatal_box(FR("Errore %d nell'aggiornamento del saldo %d %d %ld"),
|
||||||
err, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
err, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
||||||
}
|
|
||||||
|
|
||||||
// Calcolo saldo finale per controllo segno in prima nota
|
|
||||||
if (si.is_zero())
|
|
||||||
{
|
|
||||||
TLocalisamfile pcon(LF_PCON);
|
|
||||||
TRectype& curr = pcon.curr();
|
|
||||||
curr.put(PCN_GRUPPO, tcon.gruppo());
|
|
||||||
curr.put(PCN_CONTO, tcon.conto());
|
|
||||||
const int err = pcon.read();
|
|
||||||
if (err == NOERR)
|
|
||||||
{
|
|
||||||
const int indbil = curr.get_int(PCN_INDBIL);
|
|
||||||
if (indbil == 1 || indbil == 2 || indbil == 5)
|
|
||||||
{
|
|
||||||
TSaldo saldo;
|
|
||||||
si = saldo.saldofin_esprec(annoes, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
|
||||||
if (si < ZERO)
|
|
||||||
{
|
|
||||||
flag_salini = 'A';
|
|
||||||
si = -si;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
flag_salini = 'D';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// Era errore fatale
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
TImporto sf(flag_salini, si);
|
// Calcolo saldo finale per controllo segno in prima nota
|
||||||
const TImporto dare('D', saldi.get_real(SLD_PDARE));
|
if (si.is_zero())
|
||||||
const TImporto avere('A', saldi.get_real(SLD_PAVERE));
|
{
|
||||||
sf += dare;
|
TLocalisamfile pcon(LF_PCON);
|
||||||
sf += avere;
|
TRectype& curr = pcon.curr();
|
||||||
sf.normalize(+1); // Rendi sempre positivo
|
curr.put(PCN_GRUPPO, tcon.gruppo());
|
||||||
tcon.saldo_finale() = sf;
|
curr.put(PCN_CONTO, tcon.conto());
|
||||||
|
if (pcon.read() == NOERR)
|
||||||
|
{
|
||||||
|
const int indbil = curr.get_int(PCN_INDBIL);
|
||||||
|
if (indbil == 1 || indbil == 2 || indbil == 5)
|
||||||
|
{
|
||||||
|
TSaldo saldo;
|
||||||
|
si = saldo.saldofin_esprec(annoes, tcon.gruppo(), tcon.conto(), tcon.sottoconto());
|
||||||
|
if (si < ZERO)
|
||||||
|
{
|
||||||
|
flag_salini = 'A';
|
||||||
|
si = -si;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
flag_salini = 'D';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TImporto sldf(flag_salini, si);
|
||||||
|
const TImporto dare('D', saldi.get_real(SLD_PDARE));
|
||||||
|
const TImporto avere('A', saldi.get_real(SLD_PAVERE));
|
||||||
|
|
||||||
|
sldf += dare;
|
||||||
|
sldf += avere;
|
||||||
|
sldf.normalize(+1); // Rendi sempre positivo
|
||||||
|
tcon.saldo_finale() = sldf;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1113,14 +1124,14 @@ TBalance::TBalance()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
TBalance::TBalance(int g, int c, long s, int esercizio, bool ignora_movap, bool provvis)
|
TBalance::TBalance(int g, int c, long s, int esercizio, bool ignora_movap, bool provv)
|
||||||
{
|
{
|
||||||
read(g, c, s, esercizio, ignora_movap, provvis);
|
read(g, c, s, esercizio, ignora_movap, provv);
|
||||||
}
|
}
|
||||||
|
|
||||||
TBalance::TBalance(const TBill& b, int esercizio, bool ignora_movap, bool provvis)
|
TBalance::TBalance(const TBill& b, int esercizio, bool ignora_movap, bool provv)
|
||||||
{
|
{
|
||||||
read(b, esercizio, ignora_movap, provvis);
|
read(b, esercizio, ignora_movap, provv);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TBalance::find(const TBill& b, int esercizio,
|
bool TBalance::find(const TBill& b, int esercizio,
|
||||||
@ -1141,8 +1152,12 @@ bool TBalance::find(const TBill& b, int esercizio,
|
|||||||
av.set('A', saldi.get_real(SLD_PAVERE));
|
av.set('A', saldi.get_real(SLD_PAVERE));
|
||||||
sf.set(saldi.get_char(SLD_FLAGSALFIN), saldi.get_real(SLD_SALDOFIN));
|
sf.set(saldi.get_char(SLD_FLAGSALFIN), saldi.get_real(SLD_SALDOFIN));
|
||||||
pd.set('D', saldi.get_real(SLD_PDAREPRO));
|
pd.set('D', saldi.get_real(SLD_PDAREPRO));
|
||||||
pa.set('A', saldi.get_real(SLD_PAVEREPRO));
|
pd += TImporto('D', saldi.get_real(SLD_PDAREPROB));
|
||||||
}
|
pd += TImporto('D', saldi.get_real(SLD_PDAREPROC));
|
||||||
|
pa.set('A', saldi.get_real(SLD_PAVEREPRO));
|
||||||
|
pa += TImporto('A', saldi.get_real(SLD_PAVEREPROB));
|
||||||
|
pa += TImporto('A', saldi.get_real(SLD_PAVEREPROC));
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
si.set('D', ZERO);
|
si.set('D', ZERO);
|
||||||
@ -1151,10 +1166,10 @@ bool TBalance::find(const TBill& b, int esercizio,
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TBalance::read(int gruppo, int conto, long sottoconto, int esercizio, bool ignora_movap, bool provvis)
|
void TBalance::read(int gruppo, int conto, long sottoconto, int esercizio, bool ignora_movap, bool provv) // qui
|
||||||
{
|
{
|
||||||
const TBill zio(gruppo, conto, sottoconto);
|
const TBill zio(gruppo, conto, sottoconto);
|
||||||
read(zio, esercizio, ignora_movap, provvis);
|
read(zio, esercizio, ignora_movap, provv);
|
||||||
}
|
}
|
||||||
|
|
||||||
int TBalance::indicatore_bilancio(const TBill& b) const
|
int TBalance::indicatore_bilancio(const TBill& b) const
|
||||||
@ -1173,12 +1188,12 @@ int TBalance::indicatore_bilancio(const TBill& b) const
|
|||||||
return ib;
|
return ib;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TBalance::read(const TBill& b, int esercizio, bool ignora_movap, bool provvis)
|
void TBalance::read(const TBill& b, int esercizio, bool ignora_movap, bool provv)
|
||||||
{
|
{
|
||||||
TImporto si, sf, pd, pa, prd, pra;
|
TImporto si, sf, pd, pa, prd, pra;
|
||||||
|
|
||||||
find(b, esercizio, si, pd, pa, sf, prd, pra);
|
find(b, esercizio, si, pd, pa, sf, prd, pra);
|
||||||
if (provvis)
|
if (provv)
|
||||||
{
|
{
|
||||||
pd += prd;
|
pd += prd;
|
||||||
pa += pra;
|
pa += pra;
|
||||||
@ -1197,7 +1212,7 @@ void TBalance::read(const TBill& b, int esercizio, bool ignora_movap, bool provv
|
|||||||
const int precedente = esercizi.pred(esercizio);
|
const int precedente = esercizi.pred(esercizio);
|
||||||
if (precedente > 0 && find(b, precedente, si, pd, pa, sf, prd, pra))
|
if (precedente > 0 && find(b, precedente, si, pd, pa, sf, prd, pra))
|
||||||
{
|
{
|
||||||
if (provvis)
|
if (provv)
|
||||||
{
|
{
|
||||||
pd += prd;
|
pd += prd;
|
||||||
pa += pra;
|
pa += pra;
|
||||||
|
@ -17,7 +17,7 @@ class TCausale;
|
|||||||
|
|
||||||
class TConto : public TBill
|
class TConto : public TBill
|
||||||
{
|
{
|
||||||
real _dare, _avere, _darepro, _averepro, _saldofin, _saldo;
|
real _dare, _avere, _darepro, _averepro, _dareprob, _avereprob, _dareproc, _avereproc, _saldofin, _saldo;
|
||||||
TImporto _saldo_finale;
|
TImporto _saldo_finale;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@ -38,7 +38,19 @@ public:
|
|||||||
real& averepro() { return _averepro; }
|
real& averepro() { return _averepro; }
|
||||||
const real& averepro() const { return _averepro; }
|
const real& averepro() const { return _averepro; }
|
||||||
|
|
||||||
real& saldo() { return _saldo; }
|
real& dareprob() { return _dareprob; }
|
||||||
|
const real& dareprob() const { return _dareprob; }
|
||||||
|
|
||||||
|
real& avereprob() { return _avereprob; }
|
||||||
|
const real& avereprob() const { return _avereprob; }
|
||||||
|
|
||||||
|
real& dareproc() { return _dareproc; }
|
||||||
|
const real& dareproc() const { return _dareproc; }
|
||||||
|
|
||||||
|
real& avereproc() { return _avereproc; }
|
||||||
|
const real& avereproc() const { return _avereproc; }
|
||||||
|
|
||||||
|
real& saldo() { return _saldo; }
|
||||||
const real& saldo() const { return _saldo; }
|
const real& saldo() const { return _saldo; }
|
||||||
|
|
||||||
real& saldofin() { return _saldofin; }
|
real& saldofin() { return _saldofin; }
|
||||||
@ -94,7 +106,7 @@ class TSaldo : public TObject
|
|||||||
protected:
|
protected:
|
||||||
void InFinEs(int);
|
void InFinEs(int);
|
||||||
bool leggi_mov(long numreg); // Leggi testata
|
bool leggi_mov(long numreg); // Leggi testata
|
||||||
real calcola_saldo_iniziale(int g, int c, long s, int indbil, bool provvis);
|
real calcola_saldo_iniziale(int g, int c, long s, int indbil, int provv = 0x1);
|
||||||
bool prg_saldo(int, TConto&, real&, real&, bool);
|
bool prg_saldo(int, TConto&, real&, real&, bool);
|
||||||
const real& iniziale() const { return _saldo_iniziale;}
|
const real& iniziale() const { return _saldo_iniziale;}
|
||||||
void set_iniziale(const real& val) { _saldo_iniziale = val; }
|
void set_iniziale(const real& val) { _saldo_iniziale = val; }
|
||||||
@ -115,14 +127,14 @@ public:
|
|||||||
|
|
||||||
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
bool causale_mov(long, const TDate&, const TDate&, TString&);
|
||||||
|
|
||||||
bool ultima_immissione_bilancio(int annoes, int g,int c,long s,int indbil,int prov,bool saldo_chiusura = true);
|
bool ultima_immissione_bilancio(int annoes, int g,int c,long s,int indbil,int provv = 0x1,bool saldo_chiusura = true);
|
||||||
bool ultima_immissione_verifica(int annoes, int g,int c,long s,int indbil,int prov);
|
bool ultima_immissione_verifica(int annoes, int g,int c,long s,int indbil,int provv = 0x1);
|
||||||
bool data_limite_bilancio(int annoes,int g,int c,long s,const TDate& data_inf,const TDate& data_suo,int indbil,int stp_prov, const char* filter = NULL);
|
bool data_limite_bilancio(int annoes,int g,int c,long s,const TDate& data_inf,const TDate& data_suo,int indbil, int provv = 0x1, const char* filter = NULL);
|
||||||
const real& saldo_periodo(int g, int c, long s, const TDate& dal, const TDate& al, int indbil, bool provv);
|
const real& saldo_periodo(int g, int c, long s, const TDate& dal, const TDate& al, int indbil, int provv = 0x1);
|
||||||
bool saldo_cont_sep(int g, int c, long s, const int codes, TDate al, int indbil, const char * cont_sep, int provv, bool chiusura = false, bool first = true);
|
bool saldo_cont_sep(int g, int c, long s, const int codes, TDate al, int indbil, const char * cont_sep, int provv = 0x1, bool chiusura = false, bool first = true);
|
||||||
bool ricerca_progr_prec(int, int, int, long);
|
bool ricerca_progr_prec(int, int, int, long);
|
||||||
|
|
||||||
real saldofin_esprec(int,int,int,long,bool saldo_chiusura = FALSE, bool provvisori = FALSE);
|
real saldofin_esprec(int,int,int,long,bool saldo_chiusura = FALSE, int provv = 0x1);
|
||||||
bool prg_attuali(int i,TConto& c, real& p1, real& p2)
|
bool prg_attuali(int i,TConto& c, real& p1, real& p2)
|
||||||
{ return prg_saldo(i, c, p1, p2, FALSE); }
|
{ return prg_saldo(i, c, p1, p2, FALSE); }
|
||||||
bool prg_mov_eliminati(int i, TConto& c, real& p1, real& p2)
|
bool prg_mov_eliminati(int i, TConto& c, real& p1, real& p2)
|
||||||
@ -153,7 +165,7 @@ protected:
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
void aggiorna_conto(const TBill& tc, int anno_es, const TImporto& importo,
|
||||||
tiposal movap, bool provv, bool somma, bool movimentato, bool scaricato);
|
tiposal movap, char provv, bool somma, bool movimentato, bool scaricato);
|
||||||
|
|
||||||
TConto* add(const TBill& c, int anno, bool provv = FALSE);
|
TConto* add(const TBill& c, int anno, bool provv = FALSE);
|
||||||
TConto* find(const TBill& c, int anno, bool provv = FALSE);
|
TConto* find(const TBill& c, int anno, bool provv = FALSE);
|
||||||
@ -167,7 +179,7 @@ class TSaldo_agg : public TObject
|
|||||||
TDate _data_ulmov; // data ultimo movimento
|
TDate _data_ulmov; // data ultimo movimento
|
||||||
long _num_ulmov; // numero ultimo movimento
|
long _num_ulmov; // numero ultimo movimento
|
||||||
tiposal _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in saldi)
|
tiposal _movap; // se e' mov. d'apertura (aggiorno SALDO e FLAGSALINI in saldi)
|
||||||
bool _provv;
|
char _provv;
|
||||||
TRectype* _rec; // record corrente sui saldi
|
TRectype* _rec; // record corrente sui saldi
|
||||||
bool _movimentato; // di default e' FALSE; viene usato a TRUE solo quando voglio
|
bool _movimentato; // di default e' FALSE; viene usato a TRUE solo quando voglio
|
||||||
// che un conto sia movimentato sui saldi anche se progressivi
|
// che un conto sia movimentato sui saldi anche se progressivi
|
||||||
@ -189,8 +201,8 @@ public:
|
|||||||
void set_tipo_saldo (tiposal movap) { _movap = movap; }
|
void set_tipo_saldo (tiposal movap) { _movap = movap; }
|
||||||
tiposal tipo_saldo() const { return _movap; }
|
tiposal tipo_saldo() const { return _movap; }
|
||||||
|
|
||||||
void set_movprovv (bool p) { _provv = p; }
|
void set_movprovv (char p) { _provv = p; }
|
||||||
bool movprovv() const { return _provv; }
|
char movprovv() const { return _provv; }
|
||||||
|
|
||||||
void set_movimentato (bool movimentato) { _movimentato = movimentato; }
|
void set_movimentato (bool movimentato) { _movimentato = movimentato; }
|
||||||
bool movimentato() const { return _movimentato; }
|
bool movimentato() const { return _movimentato; }
|
||||||
@ -223,8 +235,8 @@ protected:
|
|||||||
int indicatore_bilancio(const TBill& b) const;
|
int indicatore_bilancio(const TBill& b) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void read(int g, int c, long s, int esercizio, bool ignora_movap, bool provvis);
|
void read(int g, int c, long s, int esercizio, bool ignora_movap, bool provv);
|
||||||
void read(const TBill& b, int esercizio, bool ignora_movap, bool provvis);
|
void read(const TBill& b, int esercizio, bool ignora_movap, bool provv);
|
||||||
void reread();
|
void reread();
|
||||||
|
|
||||||
const TImporto& saldo_iniziale() const;
|
const TImporto& saldo_iniziale() const;
|
||||||
@ -236,8 +248,8 @@ public:
|
|||||||
TImporto saldo_finale_chiusura() const;
|
TImporto saldo_finale_chiusura() const;
|
||||||
|
|
||||||
TBalance();
|
TBalance();
|
||||||
TBalance(int g, int c, long s, int esercizio, bool ignora_movap, bool provvis);
|
TBalance(int g, int c, long s, int esercizio, bool ignora_movap, bool provv);
|
||||||
TBalance(const TBill& b, int esercizio, bool ignora_movap, bool provvis);
|
TBalance(const TBill& b, int esercizio, bool ignora_movap, bool provv);
|
||||||
virtual ~TBalance() { }
|
virtual ~TBalance() { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
21
|
21
|
||||||
0
|
0
|
||||||
$saldi|||143|0|Saldi|||
|
$saldi|||215|0|Saldi|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
21
|
21
|
||||||
15
|
19
|
||||||
ANNOES|9|4|0|Codice esercizio
|
ANNOES|9|4|0|Codice esercizio
|
||||||
GRUPPO|2|3|0|Gruppo
|
GRUPPO|2|3|0|Gruppo
|
||||||
CONTO|2|3|0|Conto
|
CONTO|2|3|0|Conto
|
||||||
@ -13,6 +13,10 @@ PDARE|4|18|3|Progressivo dare
|
|||||||
PAVERE|4|18|3|Progressivo avere
|
PAVERE|4|18|3|Progressivo avere
|
||||||
PDAREPRO|4|18|3|Progressivo dare movimenti provvisori
|
PDAREPRO|4|18|3|Progressivo dare movimenti provvisori
|
||||||
PAVEREPRO|4|18|3|Progressivo avere movimenti provvisori
|
PAVEREPRO|4|18|3|Progressivo avere movimenti provvisori
|
||||||
|
PDAREPROB|4|18|3|Progressivo dare movimenti provvisori bilancio costi ricavi
|
||||||
|
PAVEREPROB|4|18|3|Progressivo avere movimenti provvisori bilancio costi ricavi
|
||||||
|
PDAREPROC|4|18|3|Progressivo dare movimenti provvisori cespiti
|
||||||
|
PAVEREPROC|4|18|3|Progressivo avere movimenti provvisori cespiti
|
||||||
DATAULMOV|5|8|0|Data ultimo movimento
|
DATAULMOV|5|8|0|Data ultimo movimento
|
||||||
NUMULTMOV|3|7|0|Numero operazione dell'ultimo movimento
|
NUMULTMOV|3|7|0|Numero operazione dell'ultimo movimento
|
||||||
3
|
3
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
23
|
23
|
||||||
0
|
0
|
||||||
$mov|96174|96174|559|0|Movimenti di prima nota|NMOV||
|
$mov|||574|0|Movimenti di prima nota|NMOV||
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
23
|
23
|
||||||
60
|
62
|
||||||
ANNOES|9|4|0|Codice esercizio
|
ANNOES|9|4|0|Codice esercizio
|
||||||
NUMREG|3|7|0|Numero di operazione
|
NUMREG|3|7|0|Numero di operazione
|
||||||
DATAREG|5|8|0|Data operazione
|
DATAREG|5|8|0|Data operazione
|
||||||
DATACOMP|5|8|0|Data competenza
|
DATACOMP|5|8|0|Data competenza
|
||||||
|
DATACOMPCR|5|8|0|Data competenza costi/ricavi
|
||||||
DATADOC|5|8|0|Data documento
|
DATADOC|5|8|0|Data documento
|
||||||
RITFATT|8|1|0|Fattura in ritardo
|
RITFATT|8|1|0|Fattura in ritardo
|
||||||
DATA74TER|5|8|0|Data per art. 74 ter
|
DATA74TER|5|8|0|Data per art. 74 ter
|
||||||
@ -31,7 +32,7 @@ TOTDOCVAL|4|18|3|Totale documento in valuta
|
|||||||
RITFIS|4|18|3|Ritenute fiscali
|
RITFIS|4|18|3|Ritenute fiscali
|
||||||
RITSOC|4|18|3|Ritenute sociali
|
RITSOC|4|18|3|Ritenute sociali
|
||||||
REVCHARGE|4|18|3|Reverse charge
|
REVCHARGE|4|18|3|Reverse charge
|
||||||
PROVVIS|1|1|0|Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio cespiti)
|
PROVVIS|1|1|0|Tipo movimento (< > Normale, Provvisorio <P> cancellabile, <C> cespiti, <B> bilancio costi/ricavi
|
||||||
CODVALI|1|3|0|Codice valuta intra-comunitaria
|
CODVALI|1|3|0|Codice valuta intra-comunitaria
|
||||||
CAMBIOI|4|15|6|Cambio della valuta intra-comunitaria
|
CAMBIOI|4|15|6|Cambio della valuta intra-comunitaria
|
||||||
CORRLIRE|4|18|3|Corrispettivo in lire intra-comunitario
|
CORRLIRE|4|18|3|Corrispettivo in lire intra-comunitario
|
||||||
@ -60,6 +61,7 @@ TFINVIO|7|1|0|Flag Invio Trasferimento Fatture
|
|||||||
TFDATA|5|8|0|Data ultimo invio Trasferimento Fatture
|
TFDATA|5|8|0|Data ultimo invio Trasferimento Fatture
|
||||||
IVALIQ|8|1|0|Iva per cassa liquidata completamente
|
IVALIQ|8|1|0|Iva per cassa liquidata completamente
|
||||||
KEYFPPRO|1|80|0|Chiavi dell'FPPRO [KEYPRGINVIO;KEYHEADERFATT;KEYBODYFATT]
|
KEYFPPRO|1|80|0|Chiavi dell'FPPRO [KEYPRGINVIO;KEYHEADERFATT;KEYBODYFATT]
|
||||||
|
MOVCOLL|3|7|0|Movimento collegato
|
||||||
4
|
4
|
||||||
NUMREG|
|
NUMREG|
|
||||||
DATAREG+NUMREG|X
|
DATAREG+NUMREG|X
|
||||||
|
@ -212,8 +212,10 @@ public:
|
|||||||
void put(const char* fieldname, long double val)
|
void put(const char* fieldname, long double val)
|
||||||
{ put(fieldname, real(val)); }
|
{ put(fieldname, real(val)); }
|
||||||
#endif
|
#endif
|
||||||
// @cmember Incrementa il contenuto del campo <p fieldname> in formato reale
|
// @cmember Incrementa il contenuto del campo <p fieldname> in formato reale
|
||||||
void add(const char* fieldname, const real& val);
|
void add(const char* fieldname, const real& val);
|
||||||
|
// @cmember Decrementa il contenuto del campo <p fieldname> in formato reale
|
||||||
|
void sub(const char* fieldname, const real& val) { add(fieldname, -val); }
|
||||||
|
|
||||||
// @cmember Vuota il campo puntato da <p fieldname>
|
// @cmember Vuota il campo puntato da <p fieldname>
|
||||||
virtual void zero(const char * fieldname);
|
virtual void zero(const char * fieldname);
|
||||||
@ -513,6 +515,13 @@ public:
|
|||||||
void put(const char* fieldname, const char* val)
|
void put(const char* fieldname, const char* val)
|
||||||
{ curr().put(fieldname, val);}
|
{ curr().put(fieldname, val);}
|
||||||
|
|
||||||
|
// @cmember Incrementa il contenuto del campo <p fieldname> di tipo real
|
||||||
|
void add(const char* fieldname, const real& val)
|
||||||
|
{ curr().add(fieldname, val); }
|
||||||
|
// @cmember Incrementa il contenuto del campo <p fieldname> di tipo real
|
||||||
|
void sub(const char* fieldname, const real& val)
|
||||||
|
{ curr().sub(fieldname, val); }
|
||||||
|
|
||||||
// @cmember Vuota il contenuto del campo <p fieldname> nel record corrente (vedi <mf TRectype::zero>)
|
// @cmember Vuota il contenuto del campo <p fieldname> nel record corrente (vedi <mf TRectype::zero>)
|
||||||
void zero(const char * fieldname)
|
void zero(const char * fieldname)
|
||||||
{ curr().zero(fieldname);}
|
{ curr().zero(fieldname);}
|
||||||
|
@ -59,6 +59,7 @@
|
|||||||
#define MOV_IVALIQ "IVALIQ"
|
#define MOV_IVALIQ "IVALIQ"
|
||||||
#define MOV_KEYFPPRO "KEYFPPRO"
|
#define MOV_KEYFPPRO "KEYFPPRO"
|
||||||
#define MOV_DATAELABF9 "DATAELABF9"
|
#define MOV_DATAELABF9 "DATAELABF9"
|
||||||
|
#define MOV_MOVCOLL "MOVCOLL"
|
||||||
|
|
||||||
#define NUMREG_PROVVISORIO 999999L
|
#define NUMREG_PROVVISORIO 999999L
|
||||||
|
|
||||||
|
@ -11,8 +11,12 @@
|
|||||||
#define SLD_PAVERE "PAVERE"
|
#define SLD_PAVERE "PAVERE"
|
||||||
#define SLD_DATAULMOV "DATAULMOV"
|
#define SLD_DATAULMOV "DATAULMOV"
|
||||||
#define SLD_NUMULTMOV "NUMULTMOV"
|
#define SLD_NUMULTMOV "NUMULTMOV"
|
||||||
#define SLD_PAVEREPRO "PAVEREPRO"
|
|
||||||
#define SLD_PDAREPRO "PDAREPRO"
|
#define SLD_PDAREPRO "PDAREPRO"
|
||||||
|
#define SLD_PAVEREPRO "PAVEREPRO"
|
||||||
|
#define SLD_PDAREPROB "PDAREPROB"
|
||||||
|
#define SLD_PAVEREPROB "PAVEREPROB"
|
||||||
|
#define SLD_PDAREPROC "PDAREPROC"
|
||||||
|
#define SLD_PAVEREPROC "PAVEREPROC"
|
||||||
#define SLD_FLSCA "FLSCA"
|
#define SLD_FLSCA "FLSCA"
|
||||||
#define SLD_FLAGSALFIN "FLAGSALFIN"
|
#define SLD_FLAGSALFIN "FLAGSALFIN"
|
||||||
#define SLD_SALDOFIN "SALDOFIN"
|
#define SLD_SALDOFIN "SALDOFIN"
|
||||||
|
@ -184,6 +184,11 @@ long TPayLine_app::export_clifo(long codcf, TPayLine_recset& clienti, TLog_repor
|
|||||||
row.add(TR("Fallimento"), 9); // Status legale
|
row.add(TR("Fallimento"), 9); // Status legale
|
||||||
row.add(TR("Bloccato"), 10); // Status bloccato
|
row.add(TR("Bloccato"), 10); // Status bloccato
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
row.add("", 9); // Status legale
|
||||||
|
row.add("", 10); // Status bloccato
|
||||||
|
}
|
||||||
|
|
||||||
clienti.new_rec(row);
|
clienti.new_rec(row);
|
||||||
return codcf;
|
return codcf;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user