Merge remote-tracking branch 'origin/R_10_00' into R_10_00
This commit is contained in:
commit
f7ec6614b7
@ -70,7 +70,6 @@
|
||||
<AssemblerListingLocation>.\..\debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\..\debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\..\debug/</ProgramDataBaseFileName>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
@ -123,7 +122,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
|
@ -74,7 +74,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -113,7 +113,6 @@
|
||||
<AssemblerListingLocation>.\..\debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\..\debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\..\debug/</ProgramDataBaseFileName>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
|
@ -74,7 +74,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -113,7 +113,6 @@
|
||||
<AssemblerListingLocation>.\..\debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\..\debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\..\debug/</ProgramDataBaseFileName>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
|
@ -74,7 +74,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -113,7 +113,6 @@
|
||||
<AssemblerListingLocation>.\..\debug/</AssemblerListingLocation>
|
||||
<ObjectFileName>.\..\debug/</ObjectFileName>
|
||||
<ProgramDataBaseFileName>.\..\debug/</ProgramDataBaseFileName>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
|
@ -68,7 +68,6 @@
|
||||
<PreprocessorDefinitions>_DEBUG;WIN32;__LONGDOUBLE__;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
@ -107,7 +106,7 @@
|
||||
</Midl>
|
||||
<ClCompile>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<AdditionalIncludeDirectories>..\src\include;..\src\xvaga;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\src\include;..\src\xvaga;..\src\xvtdb;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<StringPooling>true</StringPooling>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
@ -119,7 +118,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
|
@ -76,7 +76,7 @@
|
||||
<ResourceCompile>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<Culture>0x0410</Culture>
|
||||
<AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<Link>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
@ -111,7 +111,6 @@
|
||||
<PreprocessorDefinitions>_DEBUG;WIN32;__LONGDOUBLE__;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MinimalRebuild>false</MinimalRebuild>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<SuppressStartupBanner>true</SuppressStartupBanner>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
|
6
cd/test/cg0850.txt
Normal file
6
cd/test/cg0850.txt
Normal file
@ -0,0 +1,6 @@
|
||||
cg2.exe
|
||||
cg2100c.msk
|
||||
|
||||
Issue #15
|
||||
Aggiunto tipo provvisorio "B" Bilancio costi/ricavi (Prima nota, Stampa Bilancio, Apertura Chiusura conti)
|
||||
Reso sempre attivo il campo provvisorio
|
96
cd/test/cg0850a.ini
Normal file
96
cd/test/cg0850a.ini
Normal file
@ -0,0 +1,96 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[cg2]
|
||||
Edit_23 = cg2 -0
|
||||
File(154) = cg2.exe|X
|
||||
File(157) = cg2100c.msk|X
|
||||
Patch = 850
|
||||
Versione = 21511200
|
||||
|
||||
[cg99]
|
||||
Kill(0) = bastndo.rep|x
|
||||
Kill(1) = bastscc.msk|x
|
||||
Kill(2) = batbreg.msk|x
|
||||
Kill(3) = batblia.msk|x
|
||||
Kill(4) = bastzon.msk|x
|
||||
Kill(5) = bastdpn.rep|x
|
||||
Kill(6) = bastcco.rep|x
|
||||
Kill(7) = bastreg.msk|x
|
||||
Kill(8) = bastmsp.msk|x
|
||||
Kill(9) = batbarb.msk|x
|
||||
Kill(10) = bastcam.msk|x
|
||||
Kill(11) = batbdpn.msk|x
|
||||
Kill(12) = batbvet.msk|x
|
||||
Kill(13) = bastcco.msk|x
|
||||
Kill(14) = bastivd.msk|x
|
||||
Kill(15) = batbpdb.msk|x
|
||||
Kill(16) = batbleg.msk|x
|
||||
Kill(17) = batblbu.msk|x
|
||||
Kill(18) = batbntb.msk|x
|
||||
Kill(19) = batbins.msk|x
|
||||
Kill(20) = batbind.msk|x
|
||||
Kill(21) = batbpor.msk|x
|
||||
Kill(22) = bastcfi.msk|x
|
||||
Kill(23) = bastdpn.msk|x
|
||||
Kill(24) = bastleg.msk|x
|
||||
Kill(25) = bastpor.rep|x
|
||||
Kill(26) = bastpor.msk|x
|
||||
Kill(27) = bastnot.msk|x
|
||||
Kill(28) = cgtbcon.msk|x
|
||||
Kill(29) = bastarb.rep|x
|
||||
Kill(30) = batbdel.msk|x
|
||||
Kill(31) = batbcfi.msk|x
|
||||
Kill(32) = bastcve.msk|x
|
||||
Kill(33) = bastvet.rep|x
|
||||
Kill(34) = bastcve.rep|x
|
||||
Kill(35) = bastcfi.rep|x
|
||||
Kill(36) = batbcam.msk|x
|
||||
Kill(37) = batbzon.msk|x
|
||||
Kill(38) = bastmsp.rep|x
|
||||
Kill(39) = bastver.rep|x
|
||||
Kill(40) = batbver.msk|x
|
||||
Kill(41) = bastntb.msk|x
|
||||
Kill(42) = bastesc.msk|x
|
||||
Kill(43) = batbcve.msk|x
|
||||
Kill(44) = bastvet.msk|x
|
||||
Kill(45) = bastcam.rep|x
|
||||
Kill(46) = batblia.msk|x
|
||||
Kill(47) = bastpdb.msk|x
|
||||
Kill(48) = bastscc.rep|x
|
||||
Kill(49) = bastndo.msk|x
|
||||
Kill(50) = batbesc.msk|x
|
||||
Kill(51) = batbmsp.msk|x
|
||||
Kill(52) = bastpdb.rep|x
|
||||
Kill(53) = bastleg.rep|x
|
||||
Kill(54) = batbnot.msk|x
|
||||
Kill(55) = bastreg.rep|x
|
||||
Kill(56) = bastnot.rep|x
|
||||
Kill(57) = bastntb.rep|x
|
||||
Kill(58) = cg2fppro.msk|x
|
||||
Kill(59) = bastarb.msk|x
|
||||
Kill(60) = batbscc.msk|x
|
||||
Kill(61) = batbndo.msk|x
|
||||
Kill(62) = batbtra.msk|x
|
||||
Kill(63) = batbivd.msk|x
|
||||
Kill(64) = bastver.msk|x
|
||||
Kill(65) = bastesc.rep|x
|
||||
Kill(66) = bastzon.rep|x
|
||||
Kill(67) = batbcco.msk|x
|
||||
Kill(68) = bastivd.rep|x
|
||||
Kill(69) = batbinl.msk|x
|
||||
Kill(70) = batbtit.msk|x
|
||||
|
||||
[cg]
|
||||
Data = 01-07-2019
|
||||
Descrizione = Contabilita' Generale
|
||||
Dischi = 1
|
||||
Moduli = ba
|
||||
OEM =
|
||||
Patch = 850
|
||||
PostProcess = bainst -0 CG
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/cg0850a1.zip
Normal file
BIN
cd/test/cg0850a1.zip
Normal file
Binary file not shown.
8
cd/test/cg0852.txt
Normal file
8
cd/test/cg0852.txt
Normal file
@ -0,0 +1,8 @@
|
||||
cg2.exe
|
||||
cg2100t.msk
|
||||
|
||||
Modificati bottoni maschera fatture SDI
|
||||
Corretto riporta codice fornitore se non e' valorizzato
|
||||
Aggiunto scollegamento movimento da FPPRO
|
||||
Riporta dati numdoc e datadoc anche col collega (per quelli che non hanno f1)
|
||||
Corretto salvataggio quando si riregistra lo stesso movimento
|
96
cd/test/cg0852a.ini
Normal file
96
cd/test/cg0852a.ini
Normal file
@ -0,0 +1,96 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[cg2]
|
||||
Edit_23 = cg2 -0
|
||||
File(154) = cg2.exe|X
|
||||
File(165) = cg2100t.msk|X
|
||||
Patch = 0852
|
||||
Versione = 21511200
|
||||
|
||||
[cg99]
|
||||
Kill(0) = batbins.msk|x
|
||||
Kill(1) = bastpor.rep|x
|
||||
Kill(2) = batbcfi.msk|x
|
||||
Kill(3) = batbntb.msk|x
|
||||
Kill(4) = bastleg.msk|x
|
||||
Kill(5) = batbdel.msk|x
|
||||
Kill(6) = bastnot.msk|x
|
||||
Kill(7) = bastvet.rep|x
|
||||
Kill(8) = bastpor.msk|x
|
||||
Kill(9) = bastcve.msk|x
|
||||
Kill(10) = batbpdb.msk|x
|
||||
Kill(11) = batbpor.msk|x
|
||||
Kill(12) = bastivd.msk|x
|
||||
Kill(13) = batbind.msk|x
|
||||
Kill(14) = batblbu.msk|x
|
||||
Kill(15) = bastdpn.msk|x
|
||||
Kill(16) = batbleg.msk|x
|
||||
Kill(17) = bastcfi.msk|x
|
||||
Kill(18) = batbdpn.msk|x
|
||||
Kill(19) = bastcam.msk|x
|
||||
Kill(20) = bastcco.msk|x
|
||||
Kill(21) = batbvet.msk|x
|
||||
Kill(22) = bastarb.msk|x
|
||||
Kill(23) = bastesc.rep|x
|
||||
Kill(24) = cg2fppro.msk|x
|
||||
Kill(25) = bastver.msk|x
|
||||
Kill(26) = batbtit.msk|x
|
||||
Kill(27) = batbcco.msk|x
|
||||
Kill(28) = bastzon.rep|x
|
||||
Kill(29) = bastndo.msk|x
|
||||
Kill(30) = bastreg.rep|x
|
||||
Kill(31) = batbndo.msk|x
|
||||
Kill(32) = bastscc.rep|x
|
||||
Kill(33) = batbnot.msk|x
|
||||
Kill(34) = batbscc.msk|x
|
||||
Kill(35) = bastntb.rep|x
|
||||
Kill(36) = batbivd.msk|x
|
||||
Kill(37) = bastnot.rep|x
|
||||
Kill(38) = batbtra.msk|x
|
||||
Kill(39) = bastver.rep|x
|
||||
Kill(40) = bastcam.rep|x
|
||||
Kill(41) = batbmsp.msk|x
|
||||
Kill(42) = bastmsp.rep|x
|
||||
Kill(43) = bastvet.msk|x
|
||||
Kill(44) = batbesc.msk|x
|
||||
Kill(45) = bastpdb.msk|x
|
||||
Kill(46) = bastleg.rep|x
|
||||
Kill(47) = batblia.msk|x
|
||||
Kill(48) = bastpdb.rep|x
|
||||
Kill(49) = bastarb.rep|x
|
||||
Kill(50) = bastcfi.rep|x
|
||||
Kill(51) = bastntb.msk|x
|
||||
Kill(52) = cgtbcon.msk|x
|
||||
Kill(53) = bastcve.rep|x
|
||||
Kill(54) = batbver.msk|x
|
||||
Kill(55) = batbzon.msk|x
|
||||
Kill(56) = batbcve.msk|x
|
||||
Kill(57) = batbcam.msk|x
|
||||
Kill(58) = bastesc.msk|x
|
||||
Kill(59) = batbinl.msk|x
|
||||
Kill(60) = bastivd.rep|x
|
||||
Kill(61) = batbarb.msk|x
|
||||
Kill(62) = bastmsp.msk|x
|
||||
Kill(63) = bastscc.msk|x
|
||||
Kill(64) = bastndo.rep|x
|
||||
Kill(65) = bastdpn.rep|x
|
||||
Kill(66) = bastzon.msk|x
|
||||
Kill(67) = batblia.msk|x
|
||||
Kill(68) = batbreg.msk|x
|
||||
Kill(69) = bastreg.msk|x
|
||||
Kill(70) = bastcco.rep|x
|
||||
|
||||
[cg]
|
||||
Data = 04-07-2019
|
||||
Descrizione = Contabilita' Generale
|
||||
Dischi = 1
|
||||
Moduli = ba
|
||||
OEM =
|
||||
Patch = 852
|
||||
PostProcess = bainst -0 CG
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/cg0852a1.zip
Normal file
BIN
cd/test/cg0852a1.zip
Normal file
Binary file not shown.
5
cd/test/fp0852.txt
Normal file
5
cd/test/fp0852.txt
Normal file
@ -0,0 +1,5 @@
|
||||
fp0.exe
|
||||
fp0400a.msk
|
||||
|
||||
Corretto controllo righe vuote IVA
|
||||
Aggiunto filtro sul fornitore
|
20
cd/test/fp0852a.ini
Normal file
20
cd/test/fp0852a.ini
Normal file
@ -0,0 +1,20 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[fp1]
|
||||
File(0) = fp0.exe|X
|
||||
File(4) = fp0400a.msk|X
|
||||
Patch = 0852
|
||||
Versione = 21511200
|
||||
|
||||
[fp]
|
||||
Data = 04-07-2019
|
||||
Descrizione = Fattura Elettronica
|
||||
Dischi = 1
|
||||
Moduli = cg,ve
|
||||
OEM =
|
||||
Patch = 852
|
||||
PostProcess =
|
||||
PreProcess =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/fp0852a1.zip
Normal file
BIN
cd/test/fp0852a1.zip
Normal file
Binary file not shown.
3
cd/test/tc0848.txt
Normal file
3
cd/test/tc0848.txt
Normal file
@ -0,0 +1,3 @@
|
||||
tc8.exe
|
||||
|
||||
In Esportazione PayLine aggiunta scrittura ultimi due campi a vuoto sotto richiesta
|
26
cd/test/tc0848a.ini
Normal file
26
cd/test/tc0848a.ini
Normal file
@ -0,0 +1,26 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[tc8]
|
||||
File(59) = tc8.exe|X
|
||||
Patch = 0848
|
||||
Versione = 21511200
|
||||
|
||||
[tc99]
|
||||
Kill(0) = tctstabm.txt|x
|
||||
Kill(1) = tsricl.txt|x
|
||||
Kill(2) = tstab.txt|x
|
||||
|
||||
[tc]
|
||||
Data = 03-07-2019
|
||||
Descrizione = Trasferimento ad altre Contabilità
|
||||
Dischi = 1
|
||||
Moduli = cg
|
||||
OEM =
|
||||
Patch = 848
|
||||
PostProcess =
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/tc0848a1.zip
Normal file
BIN
cd/test/tc0848a1.zip
Normal file
Binary file not shown.
@ -131,11 +131,17 @@ TMask* TPrimanota_application::load_mask(int n)
|
||||
if (m->find_by_id(F_COLFPPRO) != NULL)
|
||||
m->hide(F_COLFPPRO);
|
||||
if (m->find_by_id(DLG_LINK) != NULL)
|
||||
{
|
||||
m->disable(DLG_LINK);
|
||||
m->disable(DLG_EDIT);
|
||||
}
|
||||
}
|
||||
else
|
||||
if (m->find_by_id(DLG_LINK) != NULL)
|
||||
{
|
||||
m->set_handler(DLG_LINK, fppro_mask);
|
||||
m->set_handler(DLG_EDIT, scollega_handler);
|
||||
}
|
||||
|
||||
if (_quadratura)
|
||||
m->set_handler(F_ADJUST_IVA, quadratura_handler);
|
||||
@ -363,7 +369,7 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
||||
cgm.enable(DLG_USER, show_games);
|
||||
if (iva == nessuna_iva)
|
||||
{
|
||||
m->enable(F_PROVVISORIO, !_is_saldaconto); // Il saldaconto vieta i movimenti provvisori
|
||||
// m->enable(F_PROVVISORIO, !_is_saldaconto); // Il saldaconto vieta i movimenti provvisori
|
||||
m->show(SK_TIPORIGA, is_pagamento()); // Abilita scelta tipo riga
|
||||
m->enable(SK_TIPORIGA);
|
||||
activate_numrif(*m, false);
|
||||
@ -1261,7 +1267,7 @@ int TPrimanota_application::read(TMask& m)
|
||||
|
||||
TBill c; c.get(r);
|
||||
c.add_to(riga, 4, 0x7); // Conto 105-110
|
||||
riga.add(r.get(RMI_NAVP));
|
||||
riga.add(r.get(RMI_NAVP), cid2index(IVA_NOTAVARECF));
|
||||
}
|
||||
|
||||
calcola_imp(); // Calcola totale imponibile ed imposte
|
||||
@ -1540,7 +1546,7 @@ int TPrimanota_application::controlli_f1(const TMask& m){
|
||||
if (data_operazione < dataoraric)
|
||||
return pro_dataric_err;
|
||||
const int numreg = fppro_db().set_keys(keys).get_numregcont();
|
||||
if (numreg != 0)
|
||||
if (numreg != 0 && numreg != m.get_int(F_NUMREG))
|
||||
{
|
||||
const TDate data_documento(m.get(F_DATADOC));
|
||||
TString msg; msg << "Attenzione il documento " << data_documento.year() << " / " << m.get(F_NUMDOCEXT) <<
|
||||
@ -1750,7 +1756,7 @@ void TPrimanota_application::clean_fppro()
|
||||
// Controlli: solo in mod modifica; che abbia fp-f1 (no F8); che non sono in salvataggio
|
||||
if (_mode != MODE_MOD
|
||||
|| !has_f1_db(&msk)
|
||||
|| last_key != K_DEL && last_key != K_SAVE && last_key != K_ELIMMAS && last_key != K_QUIT)
|
||||
|| last_key != K_DEL && last_key != K_SAVE && last_key != K_ELIMMAS && last_key != K_QUIT && !scollega())
|
||||
return;
|
||||
|
||||
const TString& numreg = msk.get(F_NUMREG);
|
||||
@ -2582,7 +2588,7 @@ int TPrimanota_application::save_fppro()
|
||||
{
|
||||
message_box(TString("Attenzione!") << " E' stato modificato un movimento già collegato a un documento in ingresso.");
|
||||
clean_fppro(); // Pulisco db
|
||||
save_dbmov(true); // Svuoto riferimento doc ingresso sul mov
|
||||
save_dbmov(true); // Svuoto riferimento doc ingresso sul mov e proseguo col regolare salvataggio
|
||||
}
|
||||
}
|
||||
else return pro_notsaved; // In altre modalita' esco senza fare nulla sul db
|
||||
|
@ -10,6 +10,13 @@ BEGIN
|
||||
MODULE FP
|
||||
END
|
||||
|
||||
BUTTON DLG_EDIT 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Scollega F.E."
|
||||
PICTURE TOOL_CANCEL
|
||||
MODULE FP
|
||||
END
|
||||
|
||||
BUTTON DLG_NULL 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
@ -177,7 +184,6 @@ BEGIN
|
||||
ITEM "N|Si (Non cancellabile)"
|
||||
ITEM "B|Si (Bilancio costi/ricavi)"
|
||||
ITEM "C|Si (Cespiti)"
|
||||
FLAGS "DG"
|
||||
END
|
||||
|
||||
STRING F_DESCAGG 5 6
|
||||
|
@ -10,13 +10,14 @@ END
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Riporta Documento"
|
||||
PROMPT 2 1 "Contabilizzaz."
|
||||
PICTURE TOOL_EXPORT
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
BUTTON DLG_LINK 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Collega Documento"
|
||||
PROMPT 3 1 "Collega in Prima nota"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
@ -33,31 +34,81 @@ PAGE "Fatture Ricevute SDI" -1 -1 77 20
|
||||
|
||||
NUMBER F_CODCLIFORS 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice fornitore"
|
||||
PROMPT 0 1 "Fornitore"
|
||||
FIELD CODCF
|
||||
GROUP 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F"
|
||||
INPUT CODCF F_CODCLIFORS
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
OUTPUT F_CODCLIFORS CODCF
|
||||
OUTPUT F_STATOPAIVS STATOPAIV
|
||||
OUTPUT F_PIVAS PAIV
|
||||
OUTPUT F_COFIS COFI
|
||||
OUTPUT F_RAGSOCS RAGSOC
|
||||
CHECKTYPE REQUIRED
|
||||
ADD RUN cg0 -1
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_COFIS 16
|
||||
STRING F_RAGSOCS 50
|
||||
BEGIN
|
||||
PROMPT 35 1 "Cod. Fiscale "
|
||||
PROMPT 20 1 ""
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_RAGSOCCF
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_STATOPAIVS 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "P. IVA"
|
||||
PROMPT 0 2 "P. IVA"
|
||||
USE %SCE
|
||||
INPUT CODTAB F_STATOPAIVS
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_STATOPAIVS CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PIVAS 12
|
||||
BEGIN
|
||||
PROMPT 15 2 ""
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "F"
|
||||
INPUT STATOPAIV F_STATOPAIVS
|
||||
INPUT PAIV F_PIVAS
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
DISPLAY "Codice Fiscale@16" COFI
|
||||
COPY OUTPUT F_CODCLIFORS
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_RAGSOCS 50
|
||||
STRING F_COFIS 16
|
||||
BEGIN
|
||||
PROMPT 0 3 "Rag. Soc."
|
||||
PROMPT 35 2 "Cod. Fiscale "
|
||||
GROUP 1
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "F"
|
||||
INPUT COFI F_COFIS
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Ragione Sociale@50" RAGSOC
|
||||
DISPLAY "Codice" CODCF
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
DISPLAY "Partita IVA@12" PAIV
|
||||
COPY OUTPUT F_CODCLIFORS
|
||||
CHECKTYPE NORMAL
|
||||
ADD RUN cg0 -1
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
|
@ -3917,12 +3917,38 @@ bool TPrimanota_application::write_scad_f1(const TMask& cg_msk, const shared_ptr
|
||||
|
||||
void TPrimanota_application::write_clifo(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
|
||||
{
|
||||
bool ok = false;
|
||||
TLocalisamfile clifo(LF_CLIFO);
|
||||
clifo.setkey(5);
|
||||
clifo.put(CLI_TIPOCF, "F");
|
||||
clifo.put(CLI_PAIV, msk->get_piva());
|
||||
clifo.read();
|
||||
if (clifo.get(CLI_PAIV) == msk->get_piva())
|
||||
TToken_string keys(msk->get_fpprokeys(), ';');
|
||||
TString codforn = TFppro(keys).get_codforn();
|
||||
if (codforn.empty())
|
||||
codforn = msk->get_codforn();
|
||||
if (codforn.empty())
|
||||
{
|
||||
clifo.setkey(5);
|
||||
clifo.put(CLI_TIPOCF, "F");
|
||||
clifo.put(CLI_PAIV, msk->get_piva());
|
||||
clifo.read();
|
||||
ok = clifo.get(CLI_PAIV) == msk->get_piva();
|
||||
if(!ok)
|
||||
{
|
||||
clifo.zero();
|
||||
clifo.setkey(5);
|
||||
clifo.put(CLI_TIPOCF, "F");
|
||||
clifo.put(CLI_PAIV, msk->get_piva());
|
||||
clifo.put(CLI_STATOPAIV, "IT");
|
||||
clifo.read();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
clifo.setkey(1);
|
||||
clifo.put(CLI_TIPOCF, "F");
|
||||
clifo.put(CLI_CODCF, codforn);
|
||||
clifo.read();
|
||||
}
|
||||
ok = clifo.get(CLI_PAIV) == msk->get_piva();
|
||||
if (ok && (cg_msk.get(F_CODCLIFOR).empty() || cg_msk.get(F_CODCLIFOR) != codforn))
|
||||
{
|
||||
cg_msk.set(F_CODCLIFOR, clifo.get(CLI_CODCF));
|
||||
cg_msk.set(F_RAGSOCCF, clifo.get(CLI_RAGSOC));
|
||||
@ -3953,16 +3979,26 @@ void TPrimanota_application::set_totale(TMask& cg_msk, const shared_ptr<TPro_msk
|
||||
|
||||
void TPrimanota_application::riporta_dati_f1(TMask& cg_msk, const shared_ptr<TPro_msk>& msk)
|
||||
{
|
||||
cg_msk.set(F_NUMDOCEXT, msk->get_numdoc());
|
||||
cg_msk.set(F_NUMDOC, msk->get_numdoc().right(7));
|
||||
cg_msk.set(F_DATADOC, msk->get_datadoc());
|
||||
if (!cg_msk.get(F_CODCLIFOR).full() && msk->get_numdoc().full())
|
||||
write_clifo(cg_msk, msk);
|
||||
write_righe_iva_f1(cg_msk, msk);
|
||||
set_totale(cg_msk, msk);
|
||||
cg_msk.set(FS_RECALC, ""); cg_msk.disable(FS_RDIFFER); cg_msk.disable(FS_MCOMM); cg_msk.disable(FS_NRATE);
|
||||
if(write_scad_f1(cg_msk, msk))
|
||||
app().set_scad_f1(cg_msk);
|
||||
const bool bring = msk->should_bring_back();
|
||||
if (bring)
|
||||
{
|
||||
if (msk->get_numdoc().full() && cg_msk.get(F_CODCLIFOR).empty())
|
||||
write_clifo(cg_msk, msk);
|
||||
write_righe_iva_f1(cg_msk, msk);
|
||||
set_totale(cg_msk, msk);
|
||||
cg_msk.set(FS_RECALC, ""); cg_msk.disable(FS_RDIFFER); cg_msk.disable(FS_MCOMM); cg_msk.disable(FS_NRATE);
|
||||
if (write_scad_f1(cg_msk, msk))
|
||||
app().set_scad_f1(cg_msk);
|
||||
}
|
||||
// Li riporto anche con il collega in prima nota, e in quel caso solo se i campi non sono gia valorizzati
|
||||
if (bring || cg_msk.get(F_NUMDOC).empty())
|
||||
{
|
||||
cg_msk.set(F_NUMDOCEXT, msk->get_numdoc());
|
||||
cg_msk.set(F_NUMDOC, msk->get_numdoc().right(7));
|
||||
}
|
||||
|
||||
if (bring || cg_msk.get(F_DATADOC).empty())
|
||||
cg_msk.set(F_DATADOC, msk->get_datadoc());
|
||||
}
|
||||
|
||||
bool TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
|
||||
@ -3984,12 +4020,7 @@ bool TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
|
||||
msk->run();
|
||||
// Riporto dati FPPRO su maschera Prima Nota (solo se hai F1)
|
||||
// Se non hai F1 collego senza riportarti i dati (solo le chiavi db)
|
||||
if (msk->should_bring_back())
|
||||
{
|
||||
riporta_dati_f1(cg_msk, msk);
|
||||
//TConfig ini("cg2CONTAB0001.ini");
|
||||
//app().ini2mask(ini, cg_msk, false);
|
||||
}
|
||||
riporta_dati_f1(cg_msk, msk);
|
||||
cg_msk.set(F_PROKEY, msk->get_fpprokeys());
|
||||
is_collegato(cg_msk.field(F_COLFPPRO));
|
||||
cg_msk.set(F_ANNORIF, cg_msk.get(F_ANNOIVA));
|
||||
@ -3998,6 +4029,35 @@ bool TPrimanota_application::fppro_mask(TMask_field& f, KEY key)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool TPrimanota_application::scollega(const bool set)
|
||||
{
|
||||
static bool scollega = false;
|
||||
if (set)
|
||||
return scollega = true;
|
||||
const bool last = scollega;
|
||||
scollega = false;
|
||||
return last;
|
||||
}
|
||||
|
||||
bool TPrimanota_application::scollega_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
TMask& cg_msk = f.mask();
|
||||
if (!app().has_module(FPAUT) || key != K_SPACE && key != K_TAB || !check_causale(cg_msk.get(F_CODCAUS)))
|
||||
return true;
|
||||
if (cg_msk.get_bool(F_COLFPPRO))
|
||||
{
|
||||
scollega(true);
|
||||
app().clean_fppro();
|
||||
const bool ok = app().save_dbmov(true);
|
||||
if (ok)
|
||||
{
|
||||
app().curr_mask().set(F_PROKEY, "");
|
||||
app().curr_mask().set(F_COLFPPRO, "");
|
||||
}
|
||||
message_box("Il movimento e' stato scollegato dalla fattura elettronica\nin ingresso, precedentemente associata.");
|
||||
}
|
||||
}
|
||||
|
||||
bool TPrimanota_application::is_collegato(TMask_field& f)
|
||||
{
|
||||
TMask& cg_msk = f.mask();
|
||||
@ -4099,7 +4159,7 @@ bool TPro_msk::riporta_handler(TMask_field& f, KEY k)
|
||||
//TProtocollo protocollo(TDate(row->get(2)).year(), row->get(9), row->get(10));
|
||||
app()._pro_mask->set_doc(row->get(cid2index(F_NUMEROS)), row->get(cid2index(F_DATAS)),
|
||||
row->get(cid2index(F_IMPTOTDOCS)), row->get(cid2index(F_RITENUTE)), "", row->get(cid2index(F_KEYFPPROS)),
|
||||
row->get(cid2index(F_FISCIVACODS)));
|
||||
msk.get(F_CODCLIFORS), row->get(cid2index(F_FISCIVACODS)));
|
||||
if (f.dlg() == DLG_OK)
|
||||
app()._pro_mask->_riporta = true;
|
||||
else
|
||||
@ -4219,7 +4279,7 @@ void TPro_msk::set_scadenze(const char* fpprokeys)
|
||||
}
|
||||
}
|
||||
|
||||
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva)
|
||||
void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* codforn, const char* piva)
|
||||
{
|
||||
_numero = numero;
|
||||
_datadoc = datadoc;
|
||||
@ -4227,6 +4287,7 @@ void TPro_msk::set_doc(const char* numero, const char* datadoc, const char* totd
|
||||
_ritenute = ritenute;
|
||||
_protfppro.sset(protfppro);
|
||||
_fpprokeys = fpprokeys;
|
||||
_codforn = codforn;
|
||||
_piva = piva;
|
||||
set_righeiva(fpprokeys);
|
||||
set_scadenze(fpprokeys);
|
||||
@ -4336,7 +4397,7 @@ void TPro_msk::abilita_piva(TMask* msk)
|
||||
}
|
||||
}
|
||||
|
||||
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2100t"), _riporta(false)
|
||||
TPro_msk::TPro_msk(TMask& cg_msk) : TAutomask("cg2100t"), _riporta(false), _codforn("")
|
||||
{
|
||||
TMask::set_handler(DLG_CONFIG, fppro_handler);
|
||||
TMask::set_handler(DLG_OK, riporta_handler);
|
||||
|
@ -194,6 +194,7 @@ class TPrimanota_application : public TRelation_application
|
||||
// Handlers per aggancio FPPRO
|
||||
// Bottone per maschera FPPRO
|
||||
static bool fppro_mask(TMask_field& f, KEY key);
|
||||
static bool scollega_handler(TMask_field& f, KEY key);
|
||||
static bool is_collegato(TMask_field& f);
|
||||
static void fppromask_set_handl(TMask* msk);
|
||||
static void load_list(TMask* msk, KEY k);
|
||||
@ -224,6 +225,7 @@ protected: // TApplication
|
||||
int save_fppro();
|
||||
// Salva sul movimento il riferimento al documento in FPPRO (keys)
|
||||
bool save_dbmov(bool clean = false) const;
|
||||
static bool scollega(bool set = false);
|
||||
// Pulisce il mov e db dai firerimenti FPPRO (in MODE_MOD per edit/delete)
|
||||
void clean_fppro();
|
||||
// setta variabili prima del controllo has_f1_db
|
||||
@ -418,6 +420,7 @@ private:
|
||||
TProtocollo _protfppro;
|
||||
TString _fpprokeys;
|
||||
TString _piva;
|
||||
TString _codforn;
|
||||
vector<riga_iva_s> _righe_iva;
|
||||
vector<scadenza_s> _scadenze;
|
||||
bool _riporta;
|
||||
@ -449,7 +452,7 @@ public:
|
||||
|
||||
void set_righeiva(const char* fpprokeys);
|
||||
void set_scadenze(const char* fpprokeys);
|
||||
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* piva);
|
||||
void set_doc(const char* numero, const char* datadoc, const char* totdoc, const char* ritenute, const char* protfppro, const char* fpprokeys, const char* codforn, const char* piva);
|
||||
|
||||
TString get_numdoc() const { return _numero; }
|
||||
TDate get_datadoc() const { return _datadoc; }
|
||||
@ -457,6 +460,7 @@ public:
|
||||
real get_ritenute() { return _ritenute; }
|
||||
TProtocollo& get_protocollo() { return _protfppro; }
|
||||
TString get_fpprokeys() const { return _fpprokeys; }
|
||||
TString get_codforn() const { return _codforn; }
|
||||
|
||||
TString get_piva() const { return _piva; }
|
||||
const vector<riga_iva_s>& get_righeiva() { return _righe_iva; }
|
||||
@ -464,6 +468,7 @@ public:
|
||||
void add_rigaiva(const real& imponibile, const real& imposta, const real& aliquota, const TString4& natura);
|
||||
void add_scad(const TDate& date, const real& importo);
|
||||
bool should_bring_back() const { return _riporta; }
|
||||
|
||||
|
||||
static TString& query_fppro(const TString& codforn, const TString& date);
|
||||
static TString& query_fppro(const TString& stato_piva, const TString& piva, const TString& date);
|
||||
|
@ -395,9 +395,9 @@ const TCausale & TCache_causale::caus(const char* key, const int anno)
|
||||
return (const TCausale &) *objptr(k);
|
||||
}
|
||||
|
||||
const TCausale & cached_causale(const char * codcaus, int anno)
|
||||
const TCausale & cached_causale(const char * codcaus, int year)
|
||||
{
|
||||
HIDDEN TCache_causale __cache_causale;
|
||||
|
||||
return __cache_causale.caus(codcaus, anno);
|
||||
return __cache_causale.caus(codcaus, year);
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ public:
|
||||
virtual ~TCausale() {}
|
||||
};
|
||||
|
||||
const TCausale & cached_causale(const char * codcaus, const int year);
|
||||
const TCausale & cached_causale(const char * codcaus, const int year = 0);
|
||||
|
||||
// Fatture
|
||||
#define RIGA_IVA_DETRAIBILE 3
|
||||
|
@ -1,251 +0,0 @@
|
||||
#include "cg2100.h"
|
||||
|
||||
TOOLBAR "topbar" 0 0 0 2
|
||||
|
||||
BUTTON DLG_CONFIG 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Ricarica Fatture"
|
||||
PICTURE TOOL_CONVERT
|
||||
END
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 2 1 "Riporta Documento"
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
BUTTON DLG_LINK 2 2
|
||||
BEGIN
|
||||
PROMPT 3 1 "Collega Documento"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 2 2
|
||||
BEGIN
|
||||
PROMPT 4 1 "Fine"
|
||||
PICTURE TOOL_QUIT
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
|
||||
PAGE "Fatture Ricevute SDI" -1 -1 77 20
|
||||
|
||||
NUMBER F_CODCLIFORS 6
|
||||
BEGIN
|
||||
PROMPT 1 1 "Codice fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_COFIS 16
|
||||
BEGIN
|
||||
PROMPT 35 1 "Cod. Fiscale "
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_STATOPAIVS 2
|
||||
BEGIN
|
||||
PROMPT 1 2 "P. IVA"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PIVAS 12
|
||||
BEGIN
|
||||
PROMPT 15 2 ""
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_RAGSOCS 50
|
||||
BEGIN
|
||||
PROMPT 0 3 "Rag. Soc."
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
BOOLEAN F_ENABSEARCH
|
||||
BEGIN
|
||||
PROMPT 0 4 "Effettua ricerca per P.IVA/Disabilita ricerca per cod. Fornitore"
|
||||
END
|
||||
|
||||
BOOLEAN F_ENABDATE
|
||||
BEGIN
|
||||
PROMPT 0 5 "Abilita filtro per data"
|
||||
END
|
||||
|
||||
DATE F_DATESEARCH
|
||||
BEGIN
|
||||
PROMPT 35 5 "Data documento"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
TEXT F_SHEET_TEXT
|
||||
BEGIN
|
||||
PROMPT 0 6 "@BSelezionare la fattura, quindi premere 'Collega Documento'"
|
||||
END
|
||||
|
||||
BOOLEAN F_SHOWALL
|
||||
BEGIN
|
||||
PROMPT 0 7 "Mostra anche fatture già registrate"
|
||||
END
|
||||
|
||||
SPREADSHEET F_SHEETFPPROS 0 15
|
||||
BEGIN
|
||||
PROMPT 0 8 ""
|
||||
ITEM " "
|
||||
ITEM "Tipo Doc@5"
|
||||
ITEM "Data\nRicezione@8"
|
||||
ITEM "Data\nDoc.@8"
|
||||
ITEM "Totale\nDocumento@7"
|
||||
ITEM "Ritenute\nfiscali@6"
|
||||
ITEM "Numero@14"
|
||||
ITEM "Ragione sociale@40"
|
||||
ITEM "Paese@4"
|
||||
ITEM "P. IVA@10"
|
||||
ITEM "Cod. Fiscale@14"
|
||||
ITEM "Tipo Protocollo\nin ingresso@10"
|
||||
ITEM "Progressivo\ndi ingresso@10"
|
||||
ITEM "Chiave FPPRO@40"
|
||||
END
|
||||
|
||||
STRING F_NUMEROI 20
|
||||
BEGIN
|
||||
PROMPT 1 20 "NUMERO"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
DATE F_DATAI
|
||||
BEGIN
|
||||
PROMPT 1 21 "DATA"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
NUMBER F_TOTDOCI 10 3
|
||||
BEGIN
|
||||
PROMPT 1 22 "IMPTOTDOC"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_PROTFPPROI 18
|
||||
BEGIN
|
||||
PROMPT 1 23 "Tipo Protocollo"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
STRING F_FPPROKEYSI 80
|
||||
BEGIN
|
||||
PROMPT 1 19 "db key"
|
||||
HELP "Chiave database"
|
||||
FLAGS "H"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
||||
|
||||
|
||||
PAGE "ELEMENTI SPREADSHEET" -1 -1 77 20
|
||||
|
||||
BOOLEAN F_SELFPPROS
|
||||
BEGIN
|
||||
PROMPT 1 0 "Selected"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
STRING F_TIPODOCS 4
|
||||
BEGIN
|
||||
PROMPT 10 0 "TIPODOC"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATAS
|
||||
BEGIN
|
||||
PROMPT 1 1 "DATA"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
DATE F_DATAORARICS
|
||||
BEGIN
|
||||
PROMPT 1 2 "DATAORARIC"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_IMPTOTDOCS 10 3
|
||||
BEGIN
|
||||
PROMPT 1 3 "IMPTOTDOC"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_RITENUTE 10 3
|
||||
BEGIN
|
||||
PROMPT 1 4 "Ritenute d'acconto"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_NUMEROS 20
|
||||
BEGIN
|
||||
PROMPT 1 5 "NUMERO"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_RAGXML 50
|
||||
BEGIN
|
||||
PROMPT 1 8 ""
|
||||
FLAGS "D"
|
||||
HELP "Ragione sociale scritta nell'xml"
|
||||
END
|
||||
|
||||
STRING F_FISCIVAPAESES 2
|
||||
BEGIN
|
||||
PROMPT 1 6 "FISCIVAPAESE"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_FISCIVACODS 16
|
||||
BEGIN
|
||||
PROMPT 1 7 "FISCIVACOD"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODFISCALES 16
|
||||
BEGIN
|
||||
PROMPT 1 8 "CODFISCALE"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_TIPOPROTS 2
|
||||
BEGIN
|
||||
PROMPT 1 9 "TIPOPROT"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
NUMBER F_PROGRESSS 10 0
|
||||
BEGIN
|
||||
PROMPT 1 10 "PROGRESS"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_KEYFPPROS 80
|
||||
BEGIN
|
||||
PROMPT 1 11 "CHIAVE FPPRO"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
TOOLBAR "Documento" 0 0 0 2
|
||||
|
||||
BUTTON DLG_OK 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_USER 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 "Collega"
|
||||
PICTURE TOOL_LINK
|
||||
END
|
||||
|
||||
BUTTON DLG_CANCEL 2 2
|
||||
BEGIN
|
||||
PROMPT 1 1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
ENDMASK
|
@ -88,6 +88,14 @@ int TFppro::get_numreg(TToken_string& keys)
|
||||
return get_numreg();
|
||||
}
|
||||
|
||||
TString TFppro::get_codforn() const
|
||||
{
|
||||
TString query;
|
||||
query << "SELECT PZ_CLIFOR FROM FPPRO00F\n" << where_str();
|
||||
_db->sq_set_exec(query);
|
||||
return _db->sq_get("PZ_CLIFOR");
|
||||
}
|
||||
|
||||
TDate TFppro::get_datareg()
|
||||
{
|
||||
if (!_is_set)
|
||||
@ -312,18 +320,18 @@ void set_periodprec(bool flag)
|
||||
|
||||
bool check_causale(const TString& cod_caus, bool acq)
|
||||
{
|
||||
return
|
||||
return cod_caus.full() && (
|
||||
check_causale(cod_caus, "FA", acq) ||
|
||||
check_causale(cod_caus, "BD", acq) ||
|
||||
check_causale(cod_caus, "AF", acq) ||
|
||||
check_causale(cod_caus, "FF", acq) ||
|
||||
check_causale(cod_caus, "NC", acq) ||
|
||||
check_causale(cod_caus, "ND", acq);
|
||||
check_causale(cod_caus, "ND", acq));
|
||||
}
|
||||
|
||||
bool check_causale(const TString& cod_caus, const TString& tipo_doc, bool acq)
|
||||
{
|
||||
const TCausale caus(cod_caus);
|
||||
const TCausale& caus = cached_causale(cod_caus);
|
||||
|
||||
if(tipo_doc == "FA" || tipo_doc == "BD" || tipo_doc == "AF" || tipo_doc == "FF")
|
||||
return caus.tipo_doc() == tipo_doc;
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
void get_keys_fppro();
|
||||
int get_numreg();
|
||||
int get_numreg(TToken_string& keys);
|
||||
TString get_codforn() const;
|
||||
TDate get_datareg();
|
||||
TDate get_datareg(TToken_string& keys);
|
||||
real get_ritenute() const;
|
||||
|
@ -57,6 +57,7 @@ protected:
|
||||
|
||||
std::map<TString, TForn_err> _list_fatt_err;
|
||||
|
||||
static bool clifo_handler(TMask_field& f, KEY key);
|
||||
void set_filter_changed();
|
||||
void select_all(int sheet_field);
|
||||
|
||||
@ -100,6 +101,45 @@ public:
|
||||
TPassive_mask(bool f1);
|
||||
};
|
||||
|
||||
bool TPassive_mask::clifo_handler(TMask_field& f, KEY key)
|
||||
{
|
||||
|
||||
if (key == K_TAB && f.active())
|
||||
{
|
||||
TMask& m = f.mask();
|
||||
|
||||
const TString4 cf = "F";
|
||||
const long codice = atol(f.get());
|
||||
|
||||
if (codice == 0)
|
||||
{
|
||||
m.show(F_STATOPAIV); // Stato partita IVA
|
||||
m.show(F_PARIVA); // Partita IVA
|
||||
m.show(F_CODFISC); // Codice Fiscale
|
||||
return true;
|
||||
}
|
||||
|
||||
TRelation cliforel(LF_CLIFO); cliforel.add(LF_CFVEN, "TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
TRectype& clifo = cliforel.curr();
|
||||
clifo.put(CLI_TIPOCF, cf);
|
||||
clifo.put(CLI_CODCF, codice);
|
||||
cliforel.read();
|
||||
|
||||
const bool occas = clifo.get_bool(CLI_OCCAS);
|
||||
m.show(F_STATOPAIV, !occas); // Stato partita IVA
|
||||
if (!occas) {
|
||||
m.set(F_RAGSOC, clifo.get(CLI_RAGSOC));
|
||||
m.set(F_STATOPAIV, clifo.get(CLI_STATOPAIV));
|
||||
m.set(F_PARIVA, clifo.get(CLI_PAIV));
|
||||
m.set(F_CODFISC, clifo.get(CLI_COFI));
|
||||
}
|
||||
m.show(F_PARIVA, !occas); // Partita IVA
|
||||
m.show(F_CODFISC, !occas); // Codice Fiscale
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void TPassive_mask::set_filter_changed()
|
||||
{
|
||||
_filter_changed = true;
|
||||
@ -220,7 +260,7 @@ vector<TPassive_mask::iva>& TPassive_mask::get_righe_iva(TToken_string& keys)
|
||||
{
|
||||
TString imponibile = fp_db().sq_get("IMPONIBILE");
|
||||
TString imposta = fp_db().sq_get("IMPOSTA");
|
||||
if (imponibile.full() || imposta.full())
|
||||
if (imponibile != "0" || imposta != "0")
|
||||
riva.insert(riva.end(), { real(imponibile), real(imposta), real(fp_db().sq_get("ALIQUOTA")), fp_db().sq_get("NATURA") });
|
||||
}
|
||||
return riva;
|
||||
@ -243,7 +283,6 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
const TString& paa_codfisc = fp_db().sq_get("COD_FISC");
|
||||
const TString& paa_piva = fp_db().sq_get("P_IVA");
|
||||
const TString& paa_codpaese = fp_db().sq_get("COD_PAESE");
|
||||
const TString& paa_codsdi = fp_db().sq_get("COD_SDI");
|
||||
const TDate& dataregcont = fp_db().sq_get_date("DATAREGCONT");
|
||||
const TString& filter_elab = get_fattsel();
|
||||
const bool is_contab = dataregcont != TDate("20010101");
|
||||
@ -254,6 +293,10 @@ void TPassive_mask::aggiungi_riga(TLocalisamfile& clifo, TSheet_field& sf, TShee
|
||||
clifo.put(CLI_TIPOCF, 'F');
|
||||
|
||||
const int forn_code = find_fornitore(clifo);
|
||||
// Se abilitato il flag di ricerca per fornitore controllo che il codice sia giusto
|
||||
if (get_bool(F_ENABLEFORN) && (forn_code < 0 || clifo.get_int(CLI_CODCF) != get_int(F_FORNITORE)))
|
||||
return;
|
||||
|
||||
const bool data_range = dataregcont >= TDate(get(F_DATAINIREG)) && dataregcont <= TDate(get(F_DATAENDREG));
|
||||
if( filter_elab.blank() && forn_code != 0 // Filtro sui non associati
|
||||
|| filter_elab == FILTER_ASS && forn_code == 0 && !is_contab // Filtro sui associati e non contab.
|
||||
@ -1023,6 +1066,15 @@ bool TPassive_mask::on_field_event(TOperable_field& o, TField_event e, long joll
|
||||
if (e == fe_init)
|
||||
o.set(get_periodprec()? "X" : "");
|
||||
break;
|
||||
case F_ENABLEFORN:
|
||||
if(e == fe_modify)
|
||||
{
|
||||
bool en = o.get() == "X";
|
||||
field(F_FORNITORE).enable(en);
|
||||
field(F_RAGSOC).enable(en);
|
||||
field(F_PARIVA).enable(en);
|
||||
field(F_CODFISC).enable(en);
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
if (o.dlg() >= F_ASSOC && o.dlg() <= F_CONTABIL)
|
||||
@ -1061,6 +1113,7 @@ TPassive_mask::TPassive_mask(bool f1) : TAutomask("fp0400a"), _f1(f1), _filter_c
|
||||
{
|
||||
_tmp_dir = _tmp_dir.tempdir();
|
||||
TMask::set_handler(F_CAUSFA, causfa_handler);
|
||||
TMask::set_handler(F_FORNITORE, clifo_handler);
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,6 +13,13 @@
|
||||
#define F_GROUPCON2 512
|
||||
#define F_PERIODPREC 513
|
||||
#define F_GROUPCAU 514
|
||||
#define F_ENABLEFORN 515
|
||||
#define F_FORNITORE 516
|
||||
#define F_RAGSOC 517
|
||||
#define F_STATOPAIV 518
|
||||
#define F_PARIVA 519
|
||||
#define F_CODFISC 520
|
||||
|
||||
#define END_MASK 599
|
||||
|
||||
#define F_PROT 401
|
||||
|
@ -65,20 +65,147 @@ BEGIN
|
||||
CHECKTYPE REQUIRED
|
||||
END
|
||||
|
||||
RADIOBUTTON F_FATTORD 20 20
|
||||
BEGIN
|
||||
PROMPT 56 1 "Ordinamento fatture per "
|
||||
ITEM "|Data Ricezione"
|
||||
ITEM "D|Data Documento"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
RADIOBUTTON F_VERSOORD 20 20
|
||||
BEGIN
|
||||
PROMPT 56 5 "Ordinamento:"
|
||||
ITEM "|Decrescente"
|
||||
ITEM "C|Crescente"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 55 6
|
||||
BEGIN
|
||||
PROMPT 0 5 "@BFiltro fornitore"
|
||||
END
|
||||
|
||||
BOOLEAN F_ENABLEFORN
|
||||
BEGIN
|
||||
PROMPT 1 6 "Abilita"
|
||||
END
|
||||
|
||||
NUMBER F_FORNITORE 6
|
||||
BEGIN
|
||||
PROMPT 17 6 "Codice fornitore "
|
||||
FIELD CODCF
|
||||
FLAGS "GRD"
|
||||
KEY 1
|
||||
USE LF_CLIFO
|
||||
INPUT TIPOCF "F" SELECT
|
||||
INPUT CODCF F_FORNITORE
|
||||
DISPLAY "Codice@6R" CODCF
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@11" PAIV
|
||||
OUTPUT F_FORNITORE CODCF
|
||||
OUTPUT F_RAGSOC RAGSOC
|
||||
OUTPUT F_STATOPAIV STATOPAIV
|
||||
OUTPUT F_PARIVA PAIV
|
||||
OUTPUT F_CODFISC COFI
|
||||
ADD RUN cg0 -1 F F_FORNITORE
|
||||
HELP "Codice relativo al cliente o fornitore"
|
||||
MESSAGE COPY,2@
|
||||
END
|
||||
|
||||
STRING F_RAGSOC 50
|
||||
BEGIN
|
||||
PROMPT 1 7 ""
|
||||
KEY 2
|
||||
USE LF_CLIFO KEY 2
|
||||
INPUT TIPOCF "F"
|
||||
INPUT RAGSOC F_RAGSOC
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Sospeso@C" SOSPESO
|
||||
DISPLAY "Codice@R" CODCF
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Partita IVA@11" PAIV
|
||||
COPY OUTPUT F_FORNITORE
|
||||
HELP "Prima parte della ragione sociale o cognome"
|
||||
MESSAGE COPY,3@
|
||||
WARNING "Manca la ragione sociale"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_STATOPAIV 2
|
||||
BEGIN
|
||||
PROMPT 1 8 ""
|
||||
HELP "Codice ISO dello stato"
|
||||
FLAGS "U"
|
||||
USE %SCE
|
||||
INPUT CODTAB F_STATOPAIV
|
||||
DISPLAY "Codice" CODTAB
|
||||
DISPLAY "Descrizione@50" S0
|
||||
OUTPUT F_STATOPAIV CODTAB
|
||||
CHECKTYPE NORMAL
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_PARIVA 50 20
|
||||
BEGIN
|
||||
PROMPT 10 8 "P. IVA"
|
||||
KEY 5
|
||||
USE LF_CLIFO KEY 5
|
||||
INPUT TIPOCF "F"
|
||||
INPUT STATOPAIV F_STATOPAIV
|
||||
INPUT PAIV F_PARIVA
|
||||
DISPLAY "ISO@3" STATOPAIV
|
||||
DISPLAY "Partita IVA@11" PAIV
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
DISPLAY "Codice@R" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
COPY OUTPUT F_FORNITORE
|
||||
HELP "Partita IVA del cliente/fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
STRING F_CODFISC 50 20
|
||||
BEGIN
|
||||
PROMPT 1 9 "Cod. Fisc."
|
||||
FLAGS "U"
|
||||
KEY 4
|
||||
USE LF_CLIFO KEY 4
|
||||
INPUT TIPOCF "F"
|
||||
INPUT COFI F_CODFISC
|
||||
DISPLAY "Codice fiscale@16" COFI
|
||||
DISPLAY "Sospeso" SOSPESO
|
||||
DISPLAY "Codice@R" CODCF
|
||||
DISPLAY "Ragione sociale@50" RAGSOC
|
||||
DISPLAY "Partita IVA@11" PAIV
|
||||
COPY OUTPUT F_FORNITORE
|
||||
HELP "Codice fiscale del cliente/fornitore"
|
||||
FLAGS "D"
|
||||
END
|
||||
|
||||
SPREADSHEET F_PROT 25 4
|
||||
BEGIN
|
||||
PROMPT 0 11 "Selezionare o aggiungere un filtro sul Tipo Progressivo"
|
||||
ITEM "@1"
|
||||
ITEM "Codice\nProtocol.@12"
|
||||
END
|
||||
|
||||
GROUPBOX F_GROUPCON 32 5
|
||||
BEGIN
|
||||
PROMPT 0 10 "@BContabilita'"
|
||||
PROMPT 0 16 "@BContabilita'"
|
||||
END
|
||||
|
||||
BOOLEAN F_CONTABIL
|
||||
BEGIN
|
||||
PROMPT 1 11 "Mostra solo doc. registrati"
|
||||
PROMPT 1 17 "Mostra solo doc. registrati"
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
DATE F_DATAINIREG
|
||||
BEGIN
|
||||
PROMPT 1 12 "Data iniziale"
|
||||
PROMPT 1 18 "Data iniziale"
|
||||
VALIDATE DATE_CMP_FUNC <= F_DATAENDREG
|
||||
WARNING "La data iniziale non puo' essere superiore della data iniziale"
|
||||
CHECKTYPE REQUIRED
|
||||
@ -87,44 +214,21 @@ END
|
||||
|
||||
DATE F_DATAENDREG
|
||||
BEGIN
|
||||
PROMPT 1 13 "Data finale "
|
||||
PROMPT 1 19 "Data finale "
|
||||
VALIDATE DATE_CMP_FUNC >= F_DATAINIREG
|
||||
WARNING "La data finale non puo' essere minore della data iniziale"
|
||||
CHECKTYPE REQUIRED
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
RADIOBUTTON F_FATTORD 20 20
|
||||
BEGIN
|
||||
PROMPT 52 1 "Ordinamento fatture per "
|
||||
ITEM "|Data Ricezione"
|
||||
ITEM "D|Data Documento"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
RADIOBUTTON F_VERSOORD 20 20
|
||||
BEGIN
|
||||
PROMPT 52 5 "Ordinamento:"
|
||||
ITEM "|Decrescente"
|
||||
ITEM "C|Crescente"
|
||||
FLAGS ""
|
||||
END
|
||||
|
||||
SPREADSHEET F_PROT 25 4
|
||||
BEGIN
|
||||
PROMPT 0 5 "Selezionare o aggiungere un filtro sul Tipo Progressivo"
|
||||
ITEM "@1"
|
||||
ITEM "Codice\nProtocol.@12"
|
||||
END
|
||||
|
||||
GROUPBOX F_GROUPCON2 59 3
|
||||
BEGIN
|
||||
PROMPT 33 10 "@BContabilizzazione automatica:"
|
||||
PROMPT 33 16 "@BContabilizzazione automatica:"
|
||||
END
|
||||
|
||||
BOOLEAN F_PERIODPREC
|
||||
BEGIN
|
||||
PROMPT 34 11 "Selezione automatica liquid. periodo precedente"
|
||||
PROMPT 34 17 "Selezione automatica liquid. periodo precedente"
|
||||
MODULE F1
|
||||
END
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user