Revert "Patch level : 12.0 no-patch"
This reverts commit 5d27e76d9eb45e0bf828495f504c979dd74b7f54.
This commit is contained in:
parent
5d27e76d9e
commit
932fea3d7c
@ -229,6 +229,7 @@
|
|||||||
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
<AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
<PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\ba\prova.uml" />
|
||||||
<ClCompile Include="..\src\cg\cg2103.cpp" />
|
<ClCompile Include="..\src\cg\cg2103.cpp" />
|
||||||
<ClCompile Include="..\src\cg\cglib01.cpp" />
|
<ClCompile Include="..\src\cg\cglib01.cpp" />
|
||||||
<ClCompile Include="..\src\cg\cglib03.cpp">
|
<ClCompile Include="..\src\cg\cglib03.cpp">
|
||||||
|
@ -63,6 +63,9 @@
|
|||||||
<ClCompile Include="..\src\cg\cgpagame.cpp">
|
<ClCompile Include="..\src\cg\cgpagame.cpp">
|
||||||
<Filter>Sources</Filter>
|
<Filter>Sources</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="..\src\ba\prova.uml">
|
||||||
|
<Filter>Masks</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<MskCompiler Include="..\src\ba\ba3200a.uml">
|
<MskCompiler Include="..\src\ba\ba3200a.uml">
|
||||||
|
@ -31,8 +31,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fplib", "fplib.vcxproj", "{
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "f1lib", "f1lib.vcxproj", "{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "f1lib", "f1lib.vcxproj", "{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "vedoc", "vedoc.vcxproj", "{A1CE9743-A597-4F92-B55A-345A366C9E55}"
|
|
||||||
EndProject
|
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
Debug|Win32 = Debug|Win32
|
Debug|Win32 = Debug|Win32
|
||||||
@ -87,10 +85,6 @@ Global
|
|||||||
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Debug|Win32.Build.0 = Debug|Win32
|
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Debug|Win32.Build.0 = Debug|Win32
|
||||||
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Release|Win32.ActiveCfg = Release|Win32
|
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Release|Win32.ActiveCfg = Release|Win32
|
||||||
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Release|Win32.Build.0 = Release|Win32
|
{41F4C25F-6BD2-4FC9-A0D3-A68CD1C9E4FC}.Release|Win32.Build.0 = Release|Win32
|
||||||
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Debug|Win32.ActiveCfg = Debug|Win32
|
|
||||||
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Debug|Win32.Build.0 = Debug|Win32
|
|
||||||
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.ActiveCfg = Release|Win32
|
|
||||||
{A1CE9743-A597-4F92-B55A-345A366C9E55}.Release|Win32.Build.0 = Release|Win32
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -8,12 +8,10 @@ type ..\src\include\uml.h >%TMP%\%~n1.tmp
|
|||||||
type %1 >>%TMP%\%~n1.tmp
|
type %1 >>%TMP%\%~n1.tmp
|
||||||
|
|
||||||
cl /nologo /EP %TMP%\%~n1.tmp >%TMP%\%~n1.tm2
|
cl /nologo /EP %TMP%\%~n1.tmp >%TMP%\%~n1.tm2
|
||||||
|
|
||||||
patchdef %TMP%\%~n1.tm2 %TMP%\%~n1.tm3
|
patchdef %TMP%\%~n1.tm2 %TMP%\%~n1.tm3
|
||||||
|
|
||||||
type ..\src\include\uml.h >%TMP%\%~n1.uml
|
type ..\src\include\uml.h >%TMP%\%~n1.uml
|
||||||
type %TMP%\%~n1.tm3 >>%TMP%\%~n1.uml
|
type %TMP%\%~n1.tm3 >>%TMP%\%~n1.uml
|
||||||
|
|
||||||
cl /nologo /EP %TMP%\%~n1.uml >%TMP%\%~n1.msk
|
cl /nologo /EP %TMP%\%~n1.uml >%TMP%\%~n1.msk
|
||||||
fastrip %TMP%\%~n1.msk %2
|
fastrip %TMP%\%~n1.msk %2
|
||||||
|
|
||||||
|
@ -316,9 +316,6 @@
|
|||||||
<IniCompiler Include="..\src\ve\verig15.ini" />
|
<IniCompiler Include="..\src\ve\verig15.ini" />
|
||||||
<IniCompiler Include="..\src\ve\verig23.ini" />
|
<IniCompiler Include="..\src\ve\verig23.ini" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\src\ve\verigdef.h" />
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
<Import Project="CampoRules.targets" />
|
<Import Project="CampoRules.targets" />
|
||||||
|
@ -11,9 +11,6 @@
|
|||||||
<Filter Include="Ini">
|
<Filter Include="Ini">
|
||||||
<UniqueIdentifier>{14bb585e-0c0d-42da-a077-cb102cf4ebfa}</UniqueIdentifier>
|
<UniqueIdentifier>{14bb585e-0c0d-42da-a077-cb102cf4ebfa}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter Include="Headers">
|
|
||||||
<UniqueIdentifier>{7ca7db75-37c6-46b8-a014-e713bdc435d6}</UniqueIdentifier>
|
|
||||||
</Filter>
|
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<IniCompiler Include="..\src\ve\verig23.ini">
|
<IniCompiler Include="..\src\ve\verig23.ini">
|
||||||
@ -117,9 +114,4 @@
|
|||||||
<Filter>Mask</Filter>
|
<Filter>Mask</Filter>
|
||||||
</MskCompiler>
|
</MskCompiler>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
|
||||||
<ClInclude Include="..\src\ve\verigdef.h">
|
|
||||||
<Filter>Headers</Filter>
|
|
||||||
</ClInclude>
|
|
||||||
</ItemGroup>
|
|
||||||
</Project>
|
</Project>
|
BIN
cd/Setup.exe
BIN
cd/Setup.exe
Binary file not shown.
BIN
exe/Ba1.exe
BIN
exe/Ba1.exe
Binary file not shown.
BIN
exe/Cb6.dll
BIN
exe/Cb6.dll
Binary file not shown.
BIN
exe/DIR.GEN
BIN
exe/DIR.GEN
Binary file not shown.
BIN
exe/TRC.GEN
BIN
exe/TRC.GEN
Binary file not shown.
BIN
exe/ba0.exe
BIN
exe/ba0.exe
Binary file not shown.
BIN
exe/bainst.exe
BIN
exe/bainst.exe
Binary file not shown.
@ -7,10 +7,9 @@ Item_01 = "Anagrafiche di base", [MENU_001], "", 10214
|
|||||||
Item_02 = "Amministrazione", <cgarea.men>, "", 10212
|
Item_02 = "Amministrazione", <cgarea.men>, "", 10212
|
||||||
Item_03 = "Acquisti e vendite", <vearea.men>, "", 10211
|
Item_03 = "Acquisti e vendite", <vearea.men>, "", 10211
|
||||||
Item_04 = "Magazzino e Produzione", <mgarea.men>, "", 10215
|
Item_04 = "Magazzino e Produzione", <mgarea.men>, "", 10215
|
||||||
Item_05 = "Fatturazione Elettronica", <fpmenu.men>, "", 10239
|
Item_05 = "Gestione Lavanderie", <lvmenu.men>, "", 10220
|
||||||
Item_06 = "Gestione Lavanderie", <lvmenu.men>, "", 10220
|
Item_06 = "Manutenzione", [MENU_015], "", 10210
|
||||||
Item_07 = "Manutenzione", [MENU_015], "", 10210
|
Item_07 = "Preferiti", [MENU_PREFERITI], "", 10216
|
||||||
Item_08 = "Preferiti", [MENU_PREFERITI], "", 10216
|
|
||||||
|
|
||||||
[MENU_001]
|
[MENU_001]
|
||||||
Caption = "Gestione Anagrafiche"
|
Caption = "Gestione Anagrafiche"
|
||||||
@ -131,7 +130,7 @@ Flags = ""
|
|||||||
Item_01 = "Riattribuzione codice allegato", "bacnv 21", ""
|
Item_01 = "Riattribuzione codice allegato", "bacnv 21", ""
|
||||||
Item_02 = "Aggiornamento IV direttiva CEE", "bacnv 22", ""
|
Item_02 = "Aggiornamento IV direttiva CEE", "bacnv 22", ""
|
||||||
Item_03 = "Aggiornamento profili documento personalizzati", "bacnv 23", ""
|
Item_03 = "Aggiornamento profili documento personalizzati", "bacnv 23", ""
|
||||||
Item_04 = "Conversione documenti CONAI", "bacnv 24", ""
|
Item_04 = "Riattribuzione campi CONAI", "bacnv 24", ""
|
||||||
Item_05 = "Gestione attivazione licenze", "ba2 -7", ""
|
Item_05 = "Gestione attivazione licenze", "ba2 -7", ""
|
||||||
Item_06 = "Aggiornamento Nazioni ISO 2017" "ba7 -4", ""
|
Item_06 = "Aggiornamento Nazioni ISO 2017" "ba7 -4", ""
|
||||||
|
|
||||||
|
@ -2,10 +2,8 @@
|
|||||||
Donglehw =4
|
Donglehw =4
|
||||||
Firm =00001a
|
Firm =00001a
|
||||||
MaxHandles = 32
|
MaxHandles = 32
|
||||||
Study =c:\dati\d2000\
|
Study =h:\e\dati\crpa\
|
||||||
|
|
||||||
Type = 1
|
Type = 1
|
||||||
User = ADMIN
|
User = ADMIN
|
||||||
MaxDim = MAX
|
|
||||||
SkipFPPRO=X
|
|
||||||
Temp=c:\temp
|
Temp=c:\temp
|
||||||
|
BIN
exe/gfm.dll
BIN
exe/gfm.dll
Binary file not shown.
743
exe/install.ini
743
exe/install.ini
@ -502,77 +502,77 @@ Kill(6) = bastuue.rep|x
|
|||||||
Kill(7) = bastuue.msk|x
|
Kill(7) = bastuue.msk|x
|
||||||
|
|
||||||
[cg99]
|
[cg99]
|
||||||
Kill(0) = bastdpn.msk|x
|
Kill(0) = batbpdb.msk|x
|
||||||
Kill(1) = batbins.msk|x
|
Kill(1) = bastndo.rep|x
|
||||||
Kill(2) = batbvet.msk|x
|
Kill(2) = batbpor.msk|x
|
||||||
Kill(3) = bastcve.msk|x
|
Kill(3) = batbarb.msk|x
|
||||||
Kill(4) = batbver.msk|x
|
Kill(4) = batbnot.msk|x
|
||||||
Kill(5) = bastnot.rep|x
|
Kill(5) = batbzon.msk|x
|
||||||
Kill(6) = batbcfi.msk|x
|
Kill(6) = batbreg.msk|x
|
||||||
Kill(7) = batbtra.msk|x
|
Kill(7) = bastmsp.rep|x
|
||||||
Kill(8) = batbscc.msk|x
|
Kill(8) = bastcve.rep|x
|
||||||
Kill(9) = bastcfi.msk|x
|
Kill(9) = batblbu.msk|x
|
||||||
Kill(10) = bastdpn.rep|x
|
Kill(10) = bastesc.rep|x
|
||||||
Kill(11) = bastpdb.rep|x
|
Kill(11) = bastscc.rep|x
|
||||||
Kill(12) = bastzon.rep|x
|
Kill(12) = cgtbcon.msk|x
|
||||||
Kill(13) = batbind.msk|x
|
Kill(13) = bastcco.msk|x
|
||||||
Kill(14) = bastzon.msk|x
|
Kill(14) = bastzon.rep|x
|
||||||
Kill(15) = batbdel.msk|x
|
Kill(15) = bastdpn.rep|x
|
||||||
Kill(16) = batbleg.msk|x
|
Kill(16) = batbleg.msk|x
|
||||||
Kill(17) = bastleg.msk|x
|
Kill(17) = bastzon.msk|x
|
||||||
Kill(18) = bastscc.rep|x
|
Kill(18) = bastcve.msk|x
|
||||||
Kill(19) = bastesc.rep|x
|
Kill(19) = bastdpn.msk|x
|
||||||
Kill(20) = bastcco.msk|x
|
Kill(20) = batbind.msk|x
|
||||||
Kill(21) = cgtbcon.msk|x
|
Kill(21) = bastpdb.rep|x
|
||||||
Kill(22) = cg2fppro.msk|x
|
Kill(22) = bastleg.msk|x
|
||||||
Kill(23) = bastreg.rep|x
|
Kill(23) = batbdel.msk|x
|
||||||
Kill(24) = bastcam.rep|x
|
Kill(24) = batbver.msk|x
|
||||||
Kill(25) = bastcam.msk|x
|
Kill(25) = batbins.msk|x
|
||||||
Kill(26) = bastivd.rep|x
|
Kill(26) = batbscc.msk|x
|
||||||
Kill(27) = batbndo.msk|x
|
Kill(27) = batbcfi.msk|x
|
||||||
Kill(28) = bastvet.rep|x
|
Kill(28) = bastreg.msk|x
|
||||||
Kill(29) = bastndo.msk|x
|
Kill(29) = bastarb.rep|x
|
||||||
Kill(30) = batbcve.msk|x
|
Kill(30) = bastnot.rep|x
|
||||||
Kill(31) = bastivd.msk|x
|
Kill(31) = batbvet.msk|x
|
||||||
Kill(32) = bastarb.msk|x
|
Kill(32) = bastcfi.msk|x
|
||||||
Kill(33) = bastmsp.msk|x
|
Kill(33) = batbtra.msk|x
|
||||||
Kill(34) = batbntb.msk|x
|
Kill(34) = batblia.msk|x
|
||||||
Kill(35) = bastscc.msk|x
|
Kill(35) = batbivd.msk|x
|
||||||
Kill(36) = bastver.msk|x
|
Kill(36) = bastpor.rep|x
|
||||||
Kill(37) = batbesc.msk|x
|
Kill(37) = bastvet.msk|x
|
||||||
Kill(38) = bastleg.rep|x
|
Kill(38) = batblia.msk|x
|
||||||
Kill(39) = bastver.rep|x
|
Kill(39) = bastver.rep|x
|
||||||
Kill(40) = batbtit.msk|x
|
Kill(40) = bastpor.msk|x
|
||||||
Kill(41) = batbmsp.msk|x
|
Kill(41) = bastntb.msk|x
|
||||||
Kill(42) = batblia.msk|x
|
Kill(42) = bastpdb.msk|x
|
||||||
Kill(43) = bastntb.rep|x
|
Kill(43) = bastcfi.rep|x
|
||||||
Kill(44) = batbcam.msk|x
|
Kill(44) = bastntb.rep|x
|
||||||
Kill(45) = bastcco.rep|x
|
Kill(45) = batbtit.msk|x
|
||||||
Kill(46) = batbcco.msk|x
|
Kill(46) = bastnot.msk|x
|
||||||
Kill(47) = bastnot.msk|x
|
Kill(47) = bastcco.rep|x
|
||||||
Kill(48) = batbinl.msk|x
|
Kill(48) = bastarb.msk|x
|
||||||
Kill(49) = bastarb.rep|x
|
Kill(49) = bastndo.msk|x
|
||||||
Kill(50) = batbivd.msk|x
|
Kill(50) = batbcam.msk|x
|
||||||
Kill(51) = bastntb.msk|x
|
Kill(51) = batbmsp.msk|x
|
||||||
Kill(52) = bastreg.msk|x
|
Kill(52) = batbinl.msk|x
|
||||||
Kill(53) = batblia.msk|x
|
Kill(53) = batbcco.msk|x
|
||||||
Kill(54) = bastpor.msk|x
|
Kill(54) = bastmsp.msk|x
|
||||||
Kill(55) = bastvet.msk|x
|
Kill(55) = batbcve.msk|x
|
||||||
Kill(56) = bastcfi.rep|x
|
Kill(56) = batbesc.msk|x
|
||||||
Kill(57) = bastpor.rep|x
|
Kill(57) = bastscc.msk|x
|
||||||
Kill(58) = bastpdb.msk|x
|
Kill(58) = bastcam.rep|x
|
||||||
Kill(59) = bastesc.msk|x
|
Kill(59) = cg2fppro.msk|x
|
||||||
Kill(60) = batbdpn.msk|x
|
Kill(60) = batbntb.msk|x
|
||||||
Kill(61) = batblbu.msk|x
|
Kill(61) = bastivd.msk|x
|
||||||
Kill(62) = bastcve.rep|x
|
Kill(62) = bastleg.rep|x
|
||||||
Kill(63) = bastndo.rep|x
|
Kill(63) = bastver.msk|x
|
||||||
Kill(64) = batbpdb.msk|x
|
Kill(64) = bastcam.msk|x
|
||||||
Kill(65) = batbzon.msk|x
|
Kill(65) = bastreg.rep|x
|
||||||
Kill(66) = batbnot.msk|x
|
Kill(66) = bastvet.rep|x
|
||||||
Kill(67) = batbarb.msk|x
|
Kill(67) = batbndo.msk|x
|
||||||
Kill(68) = batbpor.msk|x
|
Kill(68) = batbdpn.msk|x
|
||||||
Kill(69) = bastmsp.rep|x
|
Kill(69) = bastesc.msk|x
|
||||||
Kill(70) = batbreg.msk|x
|
Kill(70) = bastivd.rep|x
|
||||||
|
|
||||||
[7799]
|
[7799]
|
||||||
Kill(0) = batbca7.msk|x
|
Kill(0) = batbca7.msk|x
|
||||||
@ -1866,6 +1866,308 @@ File(155) = lvtblva.msk
|
|||||||
Patch = 0870
|
Patch = 0870
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg0]
|
||||||
|
File(0) = cg0100a.msk
|
||||||
|
File(1) = cg0200a.msk
|
||||||
|
File(2) = cg0300a.msk
|
||||||
|
File(3) = cg0400b.msk
|
||||||
|
File(4) = cg0500a.msk
|
||||||
|
File(5) = cg0700a.msk
|
||||||
|
File(6) = cg0800a.msk
|
||||||
|
File(7) = cg0800a.rep|X
|
||||||
|
File(8) = cg0.exe|X
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg1]
|
||||||
|
File(9) = cg1.exe
|
||||||
|
File(10) = cg1100a.msk
|
||||||
|
File(11) = cg1200a.msk
|
||||||
|
File(12) = cg1200b.msk
|
||||||
|
File(13) = cg1300a.msk
|
||||||
|
File(14) = cg1300b.msk
|
||||||
|
File(15) = cg1300c.msk
|
||||||
|
File(16) = cg1300d.msk
|
||||||
|
File(17) = cg1300e.msk
|
||||||
|
File(18) = cg1300l.msk
|
||||||
|
File(19) = cg1300m.msk
|
||||||
|
File(20) = cg1300n.msk
|
||||||
|
File(21) = cg1310.msk
|
||||||
|
File(22) = cg1400a.msk
|
||||||
|
File(23) = cg1500a.msk
|
||||||
|
File(24) = cg1600a.msk
|
||||||
|
File(25) = cg1700a.msk
|
||||||
|
File(26) = cg7.exe
|
||||||
|
File(27) = cg7100i.msk
|
||||||
|
File(28) = cg7100i.rep
|
||||||
|
File(29) = cg7100p.msk
|
||||||
|
File(30) = cg7100p.rep
|
||||||
|
File(31) = cg7100r.msk
|
||||||
|
File(32) = cg7100r.rep
|
||||||
|
File(33) = cg7200a.msk
|
||||||
|
File(34) = cg7200a.rep
|
||||||
|
File(35) = cg7400a.msk
|
||||||
|
File(36) = cg7400a.png
|
||||||
|
File(37) = cg7400a.rep
|
||||||
|
File(38) = cg7600a.msk
|
||||||
|
File(39) = cg7600a.png
|
||||||
|
File(40) = cg7600a.rep
|
||||||
|
File(41) = cg7600b.rep
|
||||||
|
File(42) = cg7600c.rep
|
||||||
|
File(43) = cg7600d.rep
|
||||||
|
File(44) = cg7600e.rep
|
||||||
|
File(45) = cg7600f.rep
|
||||||
|
File(46) = cg7600g.rep
|
||||||
|
File(47) = cg7600h.rep
|
||||||
|
File(48) = cg7600i.rep
|
||||||
|
File(49) = cg7600l.rep
|
||||||
|
File(50) = cg7600m.rep
|
||||||
|
File(51) = cg7600n.rep
|
||||||
|
File(52) = cg7700a.msk
|
||||||
|
File(53) = cg7700a.png
|
||||||
|
File(54) = cg7700a.rep
|
||||||
|
File(55) = cg7700b.png
|
||||||
|
File(56) = cg7700b.rep
|
||||||
|
File(57) = cg7700c.rep
|
||||||
|
File(58) = cg7700d.rep
|
||||||
|
File(59) = cg7700e.rep
|
||||||
|
File(60) = cg7700f.rep
|
||||||
|
File(61) = cg7700g.rep
|
||||||
|
File(62) = cg7800a.msk
|
||||||
|
File(63) = cg7800a.png
|
||||||
|
File(64) = cg7800a.rep
|
||||||
|
File(65) = cg7800b.rep
|
||||||
|
File(66) = cg7900a.png
|
||||||
|
File(67) = cg7a00a.png
|
||||||
|
File(68) = cg7b00a.png
|
||||||
|
File(69) = cg7c00a.png
|
||||||
|
File(70) = cg7d00a.png
|
||||||
|
File(71) = cg7d00b.png
|
||||||
|
File(72) = cg7e00a.png
|
||||||
|
File(73) = cg7f00a.png
|
||||||
|
File(74) = cgarea.men
|
||||||
|
File(75) = cgstcfi.msk
|
||||||
|
File(76) = cgstcfi.rep
|
||||||
|
File(77) = cgstdpn.msk
|
||||||
|
File(78) = cgstdpn.rep
|
||||||
|
File(79) = cgstinv.msk
|
||||||
|
File(80) = cgstinv.rep
|
||||||
|
File(81) = cgstivd.msk
|
||||||
|
File(82) = cgstivd.rep
|
||||||
|
File(83) = cgstsplit.msk
|
||||||
|
File(84) = cgstsplit.rep
|
||||||
|
File(85) = cgstver.msk
|
||||||
|
File(86) = cgstver.rep
|
||||||
|
File(87) = cgtbcfi.msk
|
||||||
|
File(88) = cgtbdel.msk
|
||||||
|
File(89) = cgtbdpn.msk
|
||||||
|
File(90) = cgtbenp.msk
|
||||||
|
File(91) = cgtbinl.msk
|
||||||
|
File(92) = cgtbinv.msk
|
||||||
|
File(93) = cgtbivd.msk
|
||||||
|
File(94) = cgtblbu.msk
|
||||||
|
File(95) = cgtblia.msk
|
||||||
|
File(96) = cgtbpim.msk
|
||||||
|
File(97) = cgtbpimc.msk
|
||||||
|
File(98) = cgtbver.msk
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg2]
|
||||||
|
File(99) = cg2.exe|X
|
||||||
|
File(100) = cg2100a.msk
|
||||||
|
File(101) = cg2100b.msk
|
||||||
|
File(102) = cg2100c.msk
|
||||||
|
File(103) = cg2100e.msk
|
||||||
|
File(104) = cg2100i.msk
|
||||||
|
File(105) = cg2100k.msk
|
||||||
|
File(106) = cg2100n.msk
|
||||||
|
File(107) = cg2100o.msk
|
||||||
|
File(108) = cg2100p.msk
|
||||||
|
File(109) = cg2100s.msk
|
||||||
|
File(110) = cg2100t.msk
|
||||||
|
File(111) = cg2104a.msk
|
||||||
|
File(112) = cg2200a.msk
|
||||||
|
File(113) = cg2300a.msk
|
||||||
|
File(114) = cg2fppro.msk
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg3]
|
||||||
|
File(115) = cg3.exe
|
||||||
|
File(116) = cg3100a.msk
|
||||||
|
File(117) = cg3100b.msk
|
||||||
|
File(118) = cg3200a.msk
|
||||||
|
File(119) = cg3300.frm
|
||||||
|
File(120) = cg3300a.msk
|
||||||
|
File(121) = cg3300b.msk
|
||||||
|
File(122) = cg3300c.msk
|
||||||
|
File(123) = cg3400a.msk
|
||||||
|
File(124) = cg3400b.msk
|
||||||
|
File(125) = cg3500a.msk
|
||||||
|
File(126) = cg3600a.msk
|
||||||
|
File(127) = cg3600b.msk
|
||||||
|
File(128) = cg3700a.msk
|
||||||
|
File(129) = cg3800a.frm
|
||||||
|
File(130) = cg3800a.msk
|
||||||
|
File(131) = cg3900a.msk
|
||||||
|
File(132) = cg3900a.rep
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg4]
|
||||||
|
File(133) = cg4.exe
|
||||||
|
File(134) = cg4100b.msk
|
||||||
|
File(135) = cg4200a.msk
|
||||||
|
File(136) = cg4300a.msk
|
||||||
|
File(137) = cg4300b.msk
|
||||||
|
File(138) = cg4300c.msk
|
||||||
|
File(139) = cg4400a.msk
|
||||||
|
File(140) = cg4400b.msk
|
||||||
|
File(141) = cg4500a.msk
|
||||||
|
File(142) = cg4500b.msk
|
||||||
|
File(143) = cg4600a.msk
|
||||||
|
File(144) = cg4700a.msk
|
||||||
|
File(145) = cg4800a.msk
|
||||||
|
File(146) = cg4800b.msk
|
||||||
|
File(147) = cg4900a.msk
|
||||||
|
File(148) = cg4900b.msk
|
||||||
|
File(149) = cg4900c.msk
|
||||||
|
File(150) = cg4900d.msk
|
||||||
|
File(151) = cg4900e.msk
|
||||||
|
File(152) = cg4900f.msk
|
||||||
|
File(153) = cg4a00a.msk
|
||||||
|
File(154) = cg4b00a.msk
|
||||||
|
File(155) = cg4b00a.rep|X
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg5]
|
||||||
|
File(156) = cg5.exe
|
||||||
|
File(157) = cg5000a.msk
|
||||||
|
File(158) = cg5100a.msk
|
||||||
|
File(159) = cg5200a.msk
|
||||||
|
File(160) = cg5300a.msk
|
||||||
|
File(161) = cg5400a.msk
|
||||||
|
File(162) = cg5400b.msk
|
||||||
|
File(163) = cg5500a.msk
|
||||||
|
File(164) = cg5500a.rep
|
||||||
|
File(165) = cg5500b.msk
|
||||||
|
File(166) = cg5500b.rep
|
||||||
|
File(167) = cg5500c.msk
|
||||||
|
File(168) = cg5500d.msk
|
||||||
|
File(169) = cg5600a.msk
|
||||||
|
File(170) = cg5700a.frm
|
||||||
|
File(171) = cg5700a.msk
|
||||||
|
File(172) = cg5700b.msk
|
||||||
|
File(173) = cg5800a.frm
|
||||||
|
File(174) = cg5800a.msk
|
||||||
|
File(175) = cg5800a.rep
|
||||||
|
File(176) = cg5800b.msk
|
||||||
|
File(177) = cg5800b.rep
|
||||||
|
File(178) = cg5900a.msk
|
||||||
|
File(179) = cg5900a.rep
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg8]
|
||||||
|
File(180) = ab0.exe
|
||||||
|
File(181) = ab0200a.msk
|
||||||
|
File(182) = ab0400a.msk
|
||||||
|
File(183) = abstarb.msk
|
||||||
|
File(184) = abstarb.rep
|
||||||
|
File(185) = abstntb.msk
|
||||||
|
File(186) = abstntb.rep
|
||||||
|
File(187) = abstpdb.msk
|
||||||
|
File(188) = abstpdb.rep
|
||||||
|
File(189) = abtbarb.msk
|
||||||
|
File(190) = abtbntb.msk
|
||||||
|
File(191) = abtbpdb.msk
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
|
[cg9]
|
||||||
|
File(192) = cg6.exe
|
||||||
|
File(193) = cg6400a.msk
|
||||||
|
File(194) = cg6400b.msk
|
||||||
|
File(195) = cg6400c.msk
|
||||||
|
File(196) = cg6600a.msk
|
||||||
|
File(197) = cg6700a.msk
|
||||||
|
File(198) = cg6800a.msk
|
||||||
|
File(199) = cg6800b.msk
|
||||||
|
File(200) = cg6800c.msk
|
||||||
|
File(201) = cg6801a.msk
|
||||||
|
File(202) = cg6802a.msk
|
||||||
|
File(203) = cg6802b.msk
|
||||||
|
File(204) = cg6803a.msk
|
||||||
|
File(205) = cg6804a.msk
|
||||||
|
File(206) = cg6804b.msk
|
||||||
|
File(207) = cg6804c.msk
|
||||||
|
File(208) = cg6804d.msk
|
||||||
|
File(209) = cg6804e.msk
|
||||||
|
File(210) = cg6804f.msk
|
||||||
|
File(211) = cg6804g.msk
|
||||||
|
File(212) = cg6900a.msk
|
||||||
|
File(213) = cg6900b.msk
|
||||||
|
File(214) = cg6903a.msk
|
||||||
|
File(215) = cgmenu.men
|
||||||
|
File(216) = cgstbnp.msk
|
||||||
|
File(217) = cgstbnp.rep
|
||||||
|
File(218) = cgstcam.msk
|
||||||
|
File(219) = cgstcam.rep
|
||||||
|
File(220) = cgstcco.msk
|
||||||
|
File(221) = cgstcco.rep
|
||||||
|
File(222) = cgstcve.msk
|
||||||
|
File(223) = cgstcve.rep
|
||||||
|
File(224) = cgstesc.msk
|
||||||
|
File(225) = cgstesc.rep
|
||||||
|
File(226) = cgstleg.msk
|
||||||
|
File(227) = cgstleg.rep
|
||||||
|
File(228) = cgstmsp.msk
|
||||||
|
File(229) = cgstmsp.rep
|
||||||
|
File(230) = cgstndo.msk
|
||||||
|
File(231) = cgstndo.rep
|
||||||
|
File(232) = cgstnot.msk
|
||||||
|
File(233) = cgstnot.rep
|
||||||
|
File(234) = cgstpor.msk
|
||||||
|
File(235) = cgstpor.rep
|
||||||
|
File(236) = cgstreg.msk
|
||||||
|
File(237) = cgstreg.rep
|
||||||
|
File(238) = cgstscc.msk
|
||||||
|
File(239) = cgstscc.rep
|
||||||
|
File(240) = cgsttit.msk
|
||||||
|
File(241) = cgsttit.rep
|
||||||
|
File(242) = cgsttpd.msk
|
||||||
|
File(243) = cgsttpd.rep
|
||||||
|
File(244) = cgstvet.msk
|
||||||
|
File(245) = cgstvet.rep
|
||||||
|
File(246) = cgstzon.msk
|
||||||
|
File(247) = cgstzon.rep
|
||||||
|
File(248) = cgtbbnp.msk
|
||||||
|
File(249) = cgtbcam.msk
|
||||||
|
File(250) = cgtbcbp.msk
|
||||||
|
File(251) = cgtbcco.msk
|
||||||
|
File(252) = cgtbcve.msk
|
||||||
|
File(253) = cgtbesc.msk
|
||||||
|
File(254) = cgtbind.msk
|
||||||
|
File(255) = cgtbins.msk
|
||||||
|
File(256) = cgtbleg.msk
|
||||||
|
File(257) = cgtbmsp.msk
|
||||||
|
File(258) = cgtbndo.msk
|
||||||
|
File(259) = cgtbnot.msk
|
||||||
|
File(260) = cgtbpor.msk
|
||||||
|
File(261) = cgtbreg.msk
|
||||||
|
File(262) = cgtbscc.msk
|
||||||
|
File(263) = cgtbtit.msk
|
||||||
|
File(264) = cgtbtpd.msk
|
||||||
|
File(265) = cgtbtra.msk
|
||||||
|
File(266) = cgtbvet.msk
|
||||||
|
File(267) = cgtbzon.msk
|
||||||
|
File(268) = cgtrc.ini
|
||||||
|
File(269) = cgtrcpc.ini
|
||||||
|
Patch = 0888
|
||||||
|
Versione = 21511200
|
||||||
|
|
||||||
[f90]
|
[f90]
|
||||||
File(0) = f90.exe|X
|
File(0) = f90.exe|X
|
||||||
File(1) = f90100a.msk|X
|
File(1) = f90100a.msk|X
|
||||||
@ -2902,306 +3204,3 @@ File(536) = recdesc\f99.trr
|
|||||||
Patch = 0902
|
Patch = 0902
|
||||||
Versione = 21511200
|
Versione = 21511200
|
||||||
|
|
||||||
[cg0]
|
|
||||||
File(0) = cg0.exe|X
|
|
||||||
File(1) = cg0100a.msk
|
|
||||||
File(2) = cg0200a.msk
|
|
||||||
File(3) = cg0300a.msk
|
|
||||||
File(4) = cg0400b.msk
|
|
||||||
File(5) = cg0500a.msk
|
|
||||||
File(6) = cg0700a.msk
|
|
||||||
File(7) = cg0800a.msk
|
|
||||||
File(8) = cg0800a.rep|X
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg1]
|
|
||||||
File(9) = cg1.exe
|
|
||||||
File(10) = cg1100a.msk
|
|
||||||
File(11) = cg1200a.msk
|
|
||||||
File(12) = cg1200b.msk
|
|
||||||
File(13) = cg1300a.msk
|
|
||||||
File(14) = cg1300b.msk
|
|
||||||
File(15) = cg1300c.msk
|
|
||||||
File(16) = cg1300d.msk
|
|
||||||
File(17) = cg1300e.msk
|
|
||||||
File(18) = cg1300l.msk
|
|
||||||
File(19) = cg1300m.msk
|
|
||||||
File(20) = cg1300n.msk
|
|
||||||
File(21) = cg1310.msk
|
|
||||||
File(22) = cg1400a.msk
|
|
||||||
File(23) = cg1500a.msk
|
|
||||||
File(24) = cg1600a.msk
|
|
||||||
File(25) = cg1700a.msk
|
|
||||||
File(26) = cg7.exe
|
|
||||||
File(27) = cg7100i.msk
|
|
||||||
File(28) = cg7100i.rep
|
|
||||||
File(29) = cg7100p.msk
|
|
||||||
File(30) = cg7100p.rep
|
|
||||||
File(31) = cg7100r.msk
|
|
||||||
File(32) = cg7100r.rep
|
|
||||||
File(33) = cg7200a.msk
|
|
||||||
File(34) = cg7200a.rep
|
|
||||||
File(35) = cg7400a.msk
|
|
||||||
File(36) = cg7400a.png
|
|
||||||
File(37) = cg7400a.rep
|
|
||||||
File(38) = cg7600a.msk
|
|
||||||
File(39) = cg7600a.png
|
|
||||||
File(40) = cg7600a.rep
|
|
||||||
File(41) = cg7600b.rep
|
|
||||||
File(42) = cg7600c.rep
|
|
||||||
File(43) = cg7600d.rep
|
|
||||||
File(44) = cg7600e.rep
|
|
||||||
File(45) = cg7600f.rep
|
|
||||||
File(46) = cg7600g.rep
|
|
||||||
File(47) = cg7600h.rep
|
|
||||||
File(48) = cg7600i.rep
|
|
||||||
File(49) = cg7600l.rep
|
|
||||||
File(50) = cg7600m.rep
|
|
||||||
File(51) = cg7600n.rep
|
|
||||||
File(52) = cg7700a.msk
|
|
||||||
File(53) = cg7700a.png
|
|
||||||
File(54) = cg7700a.rep
|
|
||||||
File(55) = cg7700b.png
|
|
||||||
File(56) = cg7700b.rep
|
|
||||||
File(57) = cg7700c.rep
|
|
||||||
File(58) = cg7700d.rep
|
|
||||||
File(59) = cg7700e.rep
|
|
||||||
File(60) = cg7700f.rep
|
|
||||||
File(61) = cg7700g.rep
|
|
||||||
File(62) = cg7800a.msk
|
|
||||||
File(63) = cg7800a.png
|
|
||||||
File(64) = cg7800a.rep
|
|
||||||
File(65) = cg7800b.rep
|
|
||||||
File(66) = cg7900a.png
|
|
||||||
File(67) = cg7a00a.png
|
|
||||||
File(68) = cg7b00a.png
|
|
||||||
File(69) = cg7c00a.png
|
|
||||||
File(70) = cg7d00a.png
|
|
||||||
File(71) = cg7d00b.png
|
|
||||||
File(72) = cg7e00a.png
|
|
||||||
File(73) = cg7f00a.png
|
|
||||||
File(74) = cgarea.men
|
|
||||||
File(75) = cgstcfi.msk
|
|
||||||
File(76) = cgstcfi.rep
|
|
||||||
File(77) = cgstdpn.msk
|
|
||||||
File(78) = cgstdpn.rep
|
|
||||||
File(79) = cgstinv.msk
|
|
||||||
File(80) = cgstinv.rep
|
|
||||||
File(81) = cgstivd.msk
|
|
||||||
File(82) = cgstivd.rep
|
|
||||||
File(83) = cgstsplit.msk
|
|
||||||
File(84) = cgstsplit.rep
|
|
||||||
File(85) = cgstver.msk
|
|
||||||
File(86) = cgstver.rep
|
|
||||||
File(87) = cgtbcfi.msk
|
|
||||||
File(88) = cgtbdel.msk
|
|
||||||
File(89) = cgtbdpn.msk
|
|
||||||
File(90) = cgtbenp.msk
|
|
||||||
File(91) = cgtbinl.msk
|
|
||||||
File(92) = cgtbinv.msk
|
|
||||||
File(93) = cgtbivd.msk
|
|
||||||
File(94) = cgtblbu.msk
|
|
||||||
File(95) = cgtblia.msk
|
|
||||||
File(96) = cgtbpim.msk
|
|
||||||
File(97) = cgtbpimc.msk
|
|
||||||
File(98) = cgtbver.msk
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg2]
|
|
||||||
Edit_23 = cg2 -0
|
|
||||||
File(99) = cg2.exe|X
|
|
||||||
File(100) = cg2100a.msk
|
|
||||||
File(101) = cg2100b.msk
|
|
||||||
File(102) = cg2100c.msk
|
|
||||||
File(103) = cg2100e.msk
|
|
||||||
File(104) = cg2100i.msk
|
|
||||||
File(105) = cg2100k.msk
|
|
||||||
File(106) = cg2100n.msk
|
|
||||||
File(107) = cg2100o.msk
|
|
||||||
File(108) = cg2100p.msk
|
|
||||||
File(109) = cg2100s.msk
|
|
||||||
File(110) = cg2100t.msk
|
|
||||||
File(111) = cg2104a.msk
|
|
||||||
File(112) = cg2200a.msk
|
|
||||||
File(113) = cg2300a.msk
|
|
||||||
File(114) = cg2fppro.msk
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg3]
|
|
||||||
File(115) = cg3.exe
|
|
||||||
File(116) = cg3100a.msk
|
|
||||||
File(117) = cg3100b.msk
|
|
||||||
File(118) = cg3200a.msk
|
|
||||||
File(119) = cg3300.frm
|
|
||||||
File(120) = cg3300a.msk
|
|
||||||
File(121) = cg3300b.msk
|
|
||||||
File(122) = cg3300c.msk
|
|
||||||
File(123) = cg3400a.msk
|
|
||||||
File(124) = cg3400b.msk
|
|
||||||
File(125) = cg3500a.msk
|
|
||||||
File(126) = cg3600a.msk
|
|
||||||
File(127) = cg3600b.msk
|
|
||||||
File(128) = cg3700a.msk
|
|
||||||
File(129) = cg3800a.frm
|
|
||||||
File(130) = cg3800a.msk
|
|
||||||
File(131) = cg3900a.msk
|
|
||||||
File(132) = cg3900a.rep
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg4]
|
|
||||||
File(133) = cg4.exe
|
|
||||||
File(134) = cg4100b.msk
|
|
||||||
File(135) = cg4200a.msk
|
|
||||||
File(136) = cg4300a.msk
|
|
||||||
File(137) = cg4300b.msk
|
|
||||||
File(138) = cg4300c.msk
|
|
||||||
File(139) = cg4400a.msk
|
|
||||||
File(140) = cg4400b.msk
|
|
||||||
File(141) = cg4500a.msk
|
|
||||||
File(142) = cg4500b.msk
|
|
||||||
File(143) = cg4600a.msk
|
|
||||||
File(144) = cg4700a.msk
|
|
||||||
File(145) = cg4800a.msk
|
|
||||||
File(146) = cg4800b.msk
|
|
||||||
File(147) = cg4900a.msk
|
|
||||||
File(148) = cg4900b.msk
|
|
||||||
File(149) = cg4900c.msk
|
|
||||||
File(150) = cg4900d.msk
|
|
||||||
File(151) = cg4900e.msk
|
|
||||||
File(152) = cg4900f.msk
|
|
||||||
File(153) = cg4a00a.msk
|
|
||||||
File(154) = cg4b00a.msk
|
|
||||||
File(155) = cg4b00a.rep|X
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg5]
|
|
||||||
File(156) = cg5.exe
|
|
||||||
File(157) = cg5000a.msk
|
|
||||||
File(158) = cg5100a.msk
|
|
||||||
File(159) = cg5200a.msk
|
|
||||||
File(160) = cg5300a.msk
|
|
||||||
File(161) = cg5400a.msk
|
|
||||||
File(162) = cg5400b.msk
|
|
||||||
File(163) = cg5500a.msk
|
|
||||||
File(164) = cg5500a.rep
|
|
||||||
File(165) = cg5500b.msk
|
|
||||||
File(166) = cg5500b.rep
|
|
||||||
File(167) = cg5500c.msk
|
|
||||||
File(168) = cg5500d.msk
|
|
||||||
File(169) = cg5600a.msk
|
|
||||||
File(170) = cg5700a.frm
|
|
||||||
File(171) = cg5700a.msk
|
|
||||||
File(172) = cg5700b.msk
|
|
||||||
File(173) = cg5800a.frm
|
|
||||||
File(174) = cg5800a.msk
|
|
||||||
File(175) = cg5800a.rep
|
|
||||||
File(176) = cg5800b.msk
|
|
||||||
File(177) = cg5800b.rep
|
|
||||||
File(178) = cg5900a.msk
|
|
||||||
File(179) = cg5900a.rep
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg8]
|
|
||||||
File(180) = ab0.exe
|
|
||||||
File(181) = ab0200a.msk
|
|
||||||
File(182) = ab0400a.msk
|
|
||||||
File(183) = abstarb.msk
|
|
||||||
File(184) = abstarb.rep
|
|
||||||
File(185) = abstntb.msk
|
|
||||||
File(186) = abstntb.rep
|
|
||||||
File(187) = abstpdb.msk
|
|
||||||
File(188) = abstpdb.rep
|
|
||||||
File(189) = abtbarb.msk
|
|
||||||
File(190) = abtbntb.msk
|
|
||||||
File(191) = abtbpdb.msk
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
[cg9]
|
|
||||||
File(192) = cg6.exe
|
|
||||||
File(193) = cg6400a.msk
|
|
||||||
File(194) = cg6400b.msk
|
|
||||||
File(195) = cg6400c.msk
|
|
||||||
File(196) = cg6600a.msk
|
|
||||||
File(197) = cg6700a.msk
|
|
||||||
File(198) = cg6800a.msk
|
|
||||||
File(199) = cg6800b.msk
|
|
||||||
File(200) = cg6800c.msk
|
|
||||||
File(201) = cg6801a.msk
|
|
||||||
File(202) = cg6802a.msk
|
|
||||||
File(203) = cg6802b.msk
|
|
||||||
File(204) = cg6803a.msk
|
|
||||||
File(205) = cg6804a.msk
|
|
||||||
File(206) = cg6804b.msk
|
|
||||||
File(207) = cg6804c.msk
|
|
||||||
File(208) = cg6804d.msk
|
|
||||||
File(209) = cg6804e.msk
|
|
||||||
File(210) = cg6804f.msk
|
|
||||||
File(211) = cg6804g.msk
|
|
||||||
File(212) = cg6900a.msk
|
|
||||||
File(213) = cg6900b.msk
|
|
||||||
File(214) = cg6903a.msk
|
|
||||||
File(215) = cgmenu.men
|
|
||||||
File(216) = cgstbnp.msk
|
|
||||||
File(217) = cgstbnp.rep
|
|
||||||
File(218) = cgstcam.msk
|
|
||||||
File(219) = cgstcam.rep
|
|
||||||
File(220) = cgstcco.msk
|
|
||||||
File(221) = cgstcco.rep
|
|
||||||
File(222) = cgstcve.msk
|
|
||||||
File(223) = cgstcve.rep
|
|
||||||
File(224) = cgstesc.msk
|
|
||||||
File(225) = cgstesc.rep
|
|
||||||
File(226) = cgstleg.msk
|
|
||||||
File(227) = cgstleg.rep
|
|
||||||
File(228) = cgstmsp.msk
|
|
||||||
File(229) = cgstmsp.rep
|
|
||||||
File(230) = cgstndo.msk
|
|
||||||
File(231) = cgstndo.rep
|
|
||||||
File(232) = cgstnot.msk
|
|
||||||
File(233) = cgstnot.rep
|
|
||||||
File(234) = cgstpor.msk
|
|
||||||
File(235) = cgstpor.rep
|
|
||||||
File(236) = cgstreg.msk
|
|
||||||
File(237) = cgstreg.rep
|
|
||||||
File(238) = cgstscc.msk
|
|
||||||
File(239) = cgstscc.rep
|
|
||||||
File(240) = cgsttit.msk
|
|
||||||
File(241) = cgsttit.rep
|
|
||||||
File(242) = cgsttpd.msk
|
|
||||||
File(243) = cgsttpd.rep
|
|
||||||
File(244) = cgstvet.msk
|
|
||||||
File(245) = cgstvet.rep
|
|
||||||
File(246) = cgstzon.msk
|
|
||||||
File(247) = cgstzon.rep
|
|
||||||
File(248) = cgtbbnp.msk
|
|
||||||
File(249) = cgtbcam.msk
|
|
||||||
File(250) = cgtbcbp.msk
|
|
||||||
File(251) = cgtbcco.msk
|
|
||||||
File(252) = cgtbcve.msk
|
|
||||||
File(253) = cgtbesc.msk
|
|
||||||
File(254) = cgtbind.msk
|
|
||||||
File(255) = cgtbins.msk
|
|
||||||
File(256) = cgtbleg.msk
|
|
||||||
File(257) = cgtbmsp.msk
|
|
||||||
File(258) = cgtbndo.msk
|
|
||||||
File(259) = cgtbnot.msk
|
|
||||||
File(260) = cgtbpor.msk
|
|
||||||
File(261) = cgtbreg.msk
|
|
||||||
File(262) = cgtbscc.msk
|
|
||||||
File(263) = cgtbtit.msk
|
|
||||||
File(264) = cgtbtpd.msk
|
|
||||||
File(265) = cgtbtra.msk
|
|
||||||
File(266) = cgtbvet.msk
|
|
||||||
File(267) = cgtbzon.msk
|
|
||||||
File(268) = cgtrc.ini
|
|
||||||
File(269) = cgtrcpc.ini
|
|
||||||
Patch = 888
|
|
||||||
Versione = 21511200
|
|
||||||
|
|
||||||
|
BIN
exe/pdflib.dll
BIN
exe/pdflib.dll
Binary file not shown.
@ -1,102 +0,0 @@
|
|||||||
[FieldDescr]
|
|
||||||
ANTICORPI = Anticorpi
|
|
||||||
BENEM = Vuole le benemerenze S/N
|
|
||||||
CATDON = Categoria donatori
|
|
||||||
CATNOND1 = Categoria non donatori 1
|
|
||||||
CATNOND2 = Categoria non donatori 2
|
|
||||||
CF = Codice fiscale
|
|
||||||
CMV = CMV
|
|
||||||
CODCL = Codice cartella clinica
|
|
||||||
CODCT = Codice centro trasfusionale
|
|
||||||
CODICE = Codice
|
|
||||||
CODMED = Codice regionale medico di base
|
|
||||||
CODSEZ = Codice sezione di appartenenza
|
|
||||||
CODSOT = Codice sottogruppo di appartenenza
|
|
||||||
COGNOME = Cognome
|
|
||||||
COGNOME_SP = Cognome del marito
|
|
||||||
COMNASC = Codice comune o stato estero di nascita
|
|
||||||
CONDOCC = Condizione occupazionale (da cambiare)
|
|
||||||
CONSENSO = Consenso informato (legge privacy)
|
|
||||||
DATAAF = Data stato AF
|
|
||||||
DATACONV = Data ultima convocazione spedita
|
|
||||||
DATADIM = Data dimissione
|
|
||||||
DATAISC = Data iscrizione
|
|
||||||
DATANASC = Data di nascita
|
|
||||||
DATAPRIAF = Data prima donazione AF
|
|
||||||
DATAPRISI = Data prima donazione SI
|
|
||||||
DATAPROSAF = Data prossima AF
|
|
||||||
DATAPROSSI = Data prossima SI
|
|
||||||
DATASI = Data stato SI
|
|
||||||
DATASTATO = Data in cui è stato attribuito lo stato
|
|
||||||
DATAULTAF = Data ultima donazione AF
|
|
||||||
DATAULTAGG = Data ultimo aggiornamento
|
|
||||||
DATAULTDON = Data ultima donazione
|
|
||||||
DATAULTID = Data ultima idoneità
|
|
||||||
DATAULTSI = Data ultima donazione SI
|
|
||||||
DATAULTSOL = Data ultimo sollecito
|
|
||||||
DATA_PROS = Data prossimo stato (per fine sospensione)
|
|
||||||
DISP_AF_1 = Disponibilita AF 1
|
|
||||||
DISP_AF_2 = Disponibilita AF 2
|
|
||||||
DOCID = Documento di identità
|
|
||||||
DOM_CAP = Domicilio - CAP
|
|
||||||
DOM_CODCOM = Domicilio - codice comune
|
|
||||||
DOM_CODLOC = Domicilio - codice localita' postale
|
|
||||||
DOM_DISTRI = Domicilio - presso/località - ex distribuzione
|
|
||||||
DOM_INDIR = Domicilio - indirizzo
|
|
||||||
DOM_STRADA = Domicilio - codice stradario
|
|
||||||
DONPRECAF = Numero donazioni AF non dettagliate
|
|
||||||
DONPRECSI = Numero donazioni SI non dettagliate
|
|
||||||
DU = Du
|
|
||||||
EMAIL = Indirizzo di posta elettronica
|
|
||||||
ESCLUSO = Esclusione non sanitaria
|
|
||||||
FENOTIPORH = Fenotipo Rh
|
|
||||||
FINESOSAF = Data fine sospensione AF
|
|
||||||
FINESOSSI = Data fine sospensione per SI
|
|
||||||
GIOPRECON = Giorni preferiti per controlli
|
|
||||||
GIOPREDON = Giorni preferiti per donazioni
|
|
||||||
GRUPPOAB0 = Gruppo AB0
|
|
||||||
GRUPPOAZIE = Codice gruppo aziendale
|
|
||||||
IDON1 = Idoneità 1
|
|
||||||
IDON2 = Idoneità 2
|
|
||||||
IDON3 = Idoneità 3
|
|
||||||
IDON4 = Idoneità 4
|
|
||||||
INTAF = Intervallo aferesi
|
|
||||||
INTSI = Intervallo sangue intero
|
|
||||||
KELL = Kell
|
|
||||||
LUOGOLAV = Luogo di lavoro (codice)
|
|
||||||
MODCONV = Modalita' di convocazione
|
|
||||||
MOTESCL = Motivo esclusione
|
|
||||||
NOME = Nome
|
|
||||||
NOTE = Note
|
|
||||||
NOTIZIARIO = Vuole il notiziario S/N
|
|
||||||
NUMCONV = Numero convocazioni spedite
|
|
||||||
POSPROF = Posizione professionale (da cambiare)
|
|
||||||
PROFESS = Professione (codice)
|
|
||||||
PROS_STATO = Stato prossimo
|
|
||||||
PUNTORACC = Punto di raccolta per convocazione
|
|
||||||
RAMOATT = Ramo di attività (da cambiare)
|
|
||||||
RES_CAP = Residenza - CAP
|
|
||||||
RES_CODCOM = Residenza - codice comune
|
|
||||||
RES_CODLOC = Residenza - codice localita' postale
|
|
||||||
RES_INDIR = Residenza - indirizzo
|
|
||||||
RHANTID = Rh/AntiD
|
|
||||||
SESSO = Sesso
|
|
||||||
STATO = Stato attuale
|
|
||||||
STATOAF = Stato sanitario AF
|
|
||||||
STATOSI = Stato sanitario per SI
|
|
||||||
TELABI = Telefono abitazione
|
|
||||||
TELALT = Telefono altro
|
|
||||||
TELLAV = Telefono lavoro
|
|
||||||
TERMESCL = Data termine esclusione
|
|
||||||
TESSAVIS = Tessera AVIS
|
|
||||||
TESSSSN = Tessera SSN
|
|
||||||
TIPOULTDON = Tipo ultima donazione
|
|
||||||
TIPOULTID = Tipo ultima idoneità
|
|
||||||
TITINDIR = Titolo in indirizzo
|
|
||||||
TITSTUD = Titolo di studio (da cambiare)
|
|
||||||
TOTDON = Totale donazioni
|
|
||||||
TOTDONAF = Numero donazioni AF
|
|
||||||
TOTDONSI = Numero donazioni SI
|
|
||||||
T_STAMPATA = Tessera stampata (S/N)
|
|
||||||
UTENULTAGG = Utente ultimo aggiornamento
|
|
||||||
|
|
@ -1,18 +1,3 @@
|
|||||||
[FieldDescr]
|
[FieldDescr]
|
||||||
CC = CC
|
XX =
|
||||||
CODICE = Codice soggetto
|
|
||||||
CODSEZ = Sezione di app. al momento della donazione
|
|
||||||
CODSOT = Sottogruppo di app.
|
|
||||||
DATADON = Data donazione
|
|
||||||
ETICHETTA = Etichetta sacca
|
|
||||||
HB = Hb
|
|
||||||
LUOGODON = Luogo donazione
|
|
||||||
PA = P.A.
|
|
||||||
PRIMADON = Prima donazione
|
|
||||||
PROGDON = Progressivo donazione per soggetto
|
|
||||||
PROGINS = Progressivo inserimento
|
|
||||||
PROTIDEMIA = Protidemia
|
|
||||||
SGPT = SGPT
|
|
||||||
TIPODON = Tipo donazione
|
|
||||||
XX =
|
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
[FieldDescr]
|
|
||||||
CODICE = Codice soggetto
|
|
||||||
DATACON = Data controllo
|
|
||||||
IDON1 = Idoneità 1
|
|
||||||
IDON2 = Idoneità 2
|
|
||||||
IDON3 = Idoneità 3
|
|
||||||
IDON4 = Idoneità 4
|
|
||||||
INTAF = Intervallo per aferesi
|
|
||||||
INTSI = Intervallo per sangue intero
|
|
||||||
MOTIVO = Motivo (per controlli che modificano lo stato)
|
|
||||||
PROGCON = Progressivo controllo
|
|
||||||
PROSSDATA = Data prossimo tipo
|
|
||||||
PROSSTIPO = Prossimo tipo di controllo (programmato e/o presunto)
|
|
||||||
RESPONSAB = Responsabile (per controlli che modificano lo stato)
|
|
||||||
SINGOLI = Singoli controlli
|
|
||||||
TIPOCON = Tipo o esito controllo
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
|||||||
[FieldDescr]
|
|
||||||
CODFAM = Codice soggetto familiare
|
|
||||||
FAMIGLIA = Codice famiglia (progressivo automatico)
|
|
||||||
GRADOPAR = Grado di parentela
|
|
||||||
PROGFAM = Progressivo familiare
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
[FieldDescr]
|
|
||||||
CATCANC = Categoria cancellati
|
|
||||||
CATEMER = Categoria emeriti
|
|
||||||
CATESTI = Categoria estinti
|
|
||||||
CODSEZ = Codice sezione
|
|
||||||
CODSOT = Codice sottogruppo
|
|
||||||
COM = Codice comune residenza
|
|
||||||
CONVNOTE = Note
|
|
||||||
CONVORA = Orario per stampa cartolina
|
|
||||||
CONVSEDE1 = Sede: 1° riga
|
|
||||||
CONVSEDE2 = Sede: 2° riga
|
|
||||||
CONVSEDE3 = Sede: 3° riga
|
|
||||||
CONVSEDE4 = Sede: 4° riga
|
|
||||||
DATAULTCON = Data ultima convocazione
|
|
||||||
DENOMINAZ = Denominazione completa della sezione
|
|
||||||
DENSEZ = Denominazione sezione
|
|
||||||
DENSOT = Denominazione sottogruppo
|
|
||||||
DONEMER = Numero donazioni per passaggio a emeriti
|
|
||||||
FAX = Fax sezione
|
|
||||||
GIOCARSOL = Giorni tra cartolina e primo sollecito
|
|
||||||
GIOPERRIT = Giorni tra le chiamate per ritardatari
|
|
||||||
GIOSOLSOL = Giorni tra sollecito e sollecito
|
|
||||||
GIOULTSOL = Giorni tra penultimo e ultimo sollecito
|
|
||||||
INDIRIZZO = Indirizzo
|
|
||||||
INTESTAZ1 = 1° Riga di intestazione per tessere e cartoline
|
|
||||||
INTESTAZ2 = 2° Riga di intestazione per tessere e cartoline
|
|
||||||
INTESTAZ3 = 3° Riga di intestazione per tessere e cartoline
|
|
||||||
INTESTAZ4 = 4° Riga di intestazione per tessere e cartoline
|
|
||||||
INTESTI = Intervallo di estinzione in anni
|
|
||||||
INTMAX = Intervallo max per cartolina
|
|
||||||
INTMIN = Intervallo min. per cartolina
|
|
||||||
INTMINCONV = Intervallo minimo di convocazione in gg.
|
|
||||||
LOCALITA = Località postale
|
|
||||||
NUMMAXSOL = Numero massimo di solleciti
|
|
||||||
PUNTORACC = Codice punto di raccolta per convocazione
|
|
||||||
REFERCED = Cognome e nome referente CED
|
|
||||||
STATO = Stato sezione
|
|
||||||
TELEFONO = Telefono sezione
|
|
||||||
TIPOCONV = Tipo convocazione
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
[FieldDescr]
|
|
||||||
CODMED = Codice regionale del medico
|
|
||||||
COGNOME = Cognome medico
|
|
||||||
COM = Codice comune di residenza
|
|
||||||
INDIRIZZO = Indirizzo medico
|
|
||||||
LOCALITA = Località postale
|
|
||||||
NOME = Nome medico
|
|
||||||
TELABI = Telefono abitazione
|
|
||||||
TELAMB = Telefono ambulatorio
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
|||||||
[FieldDescr]
|
[FieldDescr]
|
||||||
AL = Data fine periodo
|
AL = Data fine periodo
|
||||||
ANNO = Anno
|
ANNO = Anno
|
||||||
CHIUSA = Indica se una lettera di intento è chiusa
|
|
||||||
CODCLI = Codice cliente
|
CODCLI = Codice cliente
|
||||||
DAL = Data inizio periodo
|
DAL = Data inizio periodo
|
||||||
DATAREG = Data di registrazione
|
DATAREG = Data di registrazione
|
||||||
@ -9,8 +8,6 @@ IMPORTO = Importo
|
|||||||
INVIATO = Inviato
|
INVIATO = Inviato
|
||||||
NOTE = Note
|
NOTE = Note
|
||||||
NUMPROT = Numero protocollo
|
NUMPROT = Numero protocollo
|
||||||
PROTINTF = Numero di protocollo passato dall agenzia delle entrate (prima parte)
|
|
||||||
PROTINTS = Numero di protocollo passato dall agenzia delle entrate (seconda parte)
|
|
||||||
STAMPATO = Stampato
|
STAMPATO = Stampato
|
||||||
TIPOOP = Tipo operazione (1=singola,2=fino a,3=nel periodo dal/al)
|
TIPOOP = Tipo operazione (1=singola,2=fino a,3=nel periodo dal/al)
|
||||||
UFFIVA = Codice ufficio IVA
|
UFFIVA = Codice ufficio IVA
|
||||||
|
@ -46,7 +46,7 @@ RIFBOL = Riferimenti bolle in fattura
|
|||||||
RIFBOLFAT = Riferimenti bolle in fattura
|
RIFBOLFAT = Riferimenti bolle in fattura
|
||||||
RIPCONS = Stampa riepilogo consegne
|
RIPCONS = Stampa riepilogo consegne
|
||||||
RITAUDTTMP = Ritiro automatico dotazione temporanea
|
RITAUDTTMP = Ritiro automatico dotazione temporanea
|
||||||
SSCONS = Spese da addebitare alla consegna
|
SSCONS = Spese di spedizione alla consegna
|
||||||
STATUS = Stato del contratto, <CH>chiuso, <CO>confermato, <DC>da confermare
|
STATUS = Stato del contratto, <CH>chiuso, <CO>confermato, <DC>da confermare
|
||||||
STDDTPTS = Stampa DDT da pulito con Touch Screen
|
STDDTPTS = Stampa DDT da pulito con Touch Screen
|
||||||
STDICITURA = Stampa dicitura
|
STDICITURA = Stampa dicitura
|
||||||
|
@ -38,9 +38,8 @@ CODVETT2 = Vettore 2
|
|||||||
CODVETT3 = Vettore 3
|
CODVETT3 = Vettore 3
|
||||||
CODZONA = Codice zona
|
CODZONA = Codice zona
|
||||||
CONAIASS = Stampa contributo CONAI assolto
|
CONAIASS = Stampa contributo CONAI assolto
|
||||||
DATAECONAI = Data fine esenzione CONAI
|
DATAECONAI = Data di fine esnzion CONAI
|
||||||
DATAESC = Data estratto conto
|
DATAESC = Data estratto conto
|
||||||
DATAICONAI = Data inizio esenzione CONAI
|
|
||||||
DATASOLL = Data sollecito
|
DATASOLL = Data sollecito
|
||||||
EMEFFRICH = Emissione effetti a richiesta
|
EMEFFRICH = Emissione effetti a richiesta
|
||||||
ESACC = Percentuale di esenzione CONAI acciaio
|
ESACC = Percentuale di esenzione CONAI acciaio
|
||||||
|
@ -7,7 +7,6 @@ DATAREGP = Data pagamento
|
|||||||
IMPONIBILE = Imponibile
|
IMPONIBILE = Imponibile
|
||||||
IMPORTO = Importo
|
IMPORTO = Importo
|
||||||
IMPOSTA = Imposta
|
IMPOSTA = Imposta
|
||||||
INDETR = Riga di IVA indetraibile
|
|
||||||
MESELIQ = Mese liquidazione
|
MESELIQ = Mese liquidazione
|
||||||
NUMPRO = Numero progressivo PAG o NC
|
NUMPRO = Numero progressivo PAG o NC
|
||||||
NUMREG = Numero operazione Fattura
|
NUMREG = Numero operazione Fattura
|
||||||
|
@ -10,10 +10,9 @@ CODCAB = Codice CAB banca
|
|||||||
CODCF = Codice
|
CODCF = Codice
|
||||||
CODCFASS = Codice cliente (fornitori) o fornitore (clienti) associato
|
CODCFASS = Codice cliente (fornitori) o fornitore (clienti) associato
|
||||||
CODCFFATT = Codice cliente (fornitore) cui fatturare
|
CODCFFATT = Codice cliente (fornitore) cui fatturare
|
||||||
CODFPCUST = Codice personalizzazione FP
|
|
||||||
CODLIN = Codice lingua
|
CODLIN = Codice lingua
|
||||||
CODPAG = Codice pagamento
|
CODPAG = Codice pagamento
|
||||||
CODRFSO = Codice Rappresentante Fiscale/Stabile Organizzazione
|
CODRFSO = Missing description
|
||||||
CODSTAT = Codice statistico
|
CODSTAT = Codice statistico
|
||||||
CODVAL = Codice valuta
|
CODVAL = Codice valuta
|
||||||
COFI = Codice fiscale
|
COFI = Codice fiscale
|
||||||
@ -23,10 +22,9 @@ CONTO = Conto prevalente (se presente)
|
|||||||
CONTORIC = Conto prevalente di ricavo (se presente)
|
CONTORIC = Conto prevalente di ricavo (se presente)
|
||||||
DATAAGG = Data ultima modifica
|
DATAAGG = Data ultima modifica
|
||||||
DATANASC = Data di nascita
|
DATANASC = Data di nascita
|
||||||
DATARFSO = Data immissione valore
|
DATARFSO = Missing description
|
||||||
DIPPUBB = Dipendente Pubblico
|
DIPPUBB = Dipendente Pubblico
|
||||||
DIRTY = Anagrafica modificata (NON UTILIZZATO)
|
DIRTY = Anagrafica modificata (NON UTILIZZATO)
|
||||||
DISCUSTFP = Disabilita le personalizzazioni FP sul cliente
|
|
||||||
DOCMAIL = Indirizzo di posta elettronica per i documenti
|
DOCMAIL = Indirizzo di posta elettronica per i documenti
|
||||||
ENTE = Codice ente pubblico di appartenenza (Dipendente Pubblico)
|
ENTE = Codice ente pubblico di appartenenza (Dipendente Pubblico)
|
||||||
FAX = Numero di FAX
|
FAX = Numero di FAX
|
||||||
@ -36,15 +34,15 @@ GRUPPORIC = Gruppo prevalente di ricavo (se presente)
|
|||||||
IBAN = Codice IBAN
|
IBAN = Codice IBAN
|
||||||
INDCF = Indirizzo
|
INDCF = Indirizzo
|
||||||
INDENTE = Indirizzo ente (Dipendente Pubblico)
|
INDENTE = Indirizzo ente (Dipendente Pubblico)
|
||||||
INIFATTEL = Data inizio fatturazione elettronica
|
INIFATTEL = Missing description
|
||||||
INIREVCHG = Data inizio rev. charge
|
INIREVCHG = Missing description
|
||||||
LOCALITACF = Loacalita'
|
LOCALITACF = Loacalita'
|
||||||
MAIL = Indirizzo di posta elettronica generico
|
MAIL = Indirizzo di posta elettronica generico
|
||||||
NUMCC = Numero di conto corrente
|
NUMCC = Numero di conto corrente
|
||||||
OCCAS = Cliente / fornitore occasionale
|
OCCAS = Cliente / fornitore occasionale
|
||||||
OGGETTI = Link ad oggetti esterni
|
OGGETTI = Link ad oggetti esterni
|
||||||
PAIV = Partita IVA
|
PAIV = Partita IVA
|
||||||
PEC = Indirizzo di posta elettronica certificato
|
PEC = Missing description
|
||||||
PFAX = Prefisso del numero di FAX
|
PFAX = Prefisso del numero di FAX
|
||||||
PTEL = Prefisso del numero di telefono
|
PTEL = Prefisso del numero di telefono
|
||||||
PTEL2 = Prefisso del 2 numero di telefono
|
PTEL2 = Prefisso del 2 numero di telefono
|
||||||
|
@ -9,12 +9,8 @@ GRUPPO = Gruppo
|
|||||||
NUMULTMOV = Numero operazione dell'ultimo movimento
|
NUMULTMOV = Numero operazione dell'ultimo movimento
|
||||||
PAVERE = Progressivo avere
|
PAVERE = Progressivo avere
|
||||||
PAVEREPRO = Progressivo avere movimenti provvisori
|
PAVEREPRO = Progressivo avere movimenti provvisori
|
||||||
PAVEREPROB = Progressivo avere movimenti provvisori bilancio costi ricavi
|
|
||||||
PAVEREPROC = Progressivo avere movimenti provvisori cespiti
|
|
||||||
PDARE = Progressivo dare
|
PDARE = Progressivo dare
|
||||||
PDAREPRO = Progressivo dare movimenti provvisori
|
PDAREPRO = Progressivo dare movimenti provvisori
|
||||||
PDAREPROB = Progressivo dare movimenti provvisori bilancio costi ricavi
|
|
||||||
PDAREPROC = Progressivo dare movimenti provvisori cespiti
|
|
||||||
SALDO = Saldo iniziale
|
SALDO = Saldo iniziale
|
||||||
SALDOFIN = Saldo di chiusura
|
SALDOFIN = Saldo di chiusura
|
||||||
SOTTOCONTO = Sottoconto
|
SOTTOCONTO = Sottoconto
|
||||||
|
@ -4,7 +4,6 @@ ANNOFE = Anno invio definitivo dati rilevanti
|
|||||||
ANNOIVA = Anno IVA
|
ANNOIVA = Anno IVA
|
||||||
CAMBIO = Cambio della valuta
|
CAMBIO = Cambio della valuta
|
||||||
CAMBIOI = Cambio della valuta intra-comunitaria
|
CAMBIOI = Cambio della valuta intra-comunitaria
|
||||||
CFBOLLADOG = Codice fornitore a cui è riferita la bolla doganale
|
|
||||||
CODCAUS = Codice causale
|
CODCAUS = Codice causale
|
||||||
CODCF = Codice
|
CODCF = Codice
|
||||||
CODPAG = Codice pagamento
|
CODPAG = Codice pagamento
|
||||||
@ -18,7 +17,6 @@ DANNO = Documento originale ANNO
|
|||||||
DATA74TER = Data per art. 74 ter
|
DATA74TER = Data per art. 74 ter
|
||||||
DATACAM = Data del cambio
|
DATACAM = Data del cambio
|
||||||
DATACOMP = Data competenza
|
DATACOMP = Data competenza
|
||||||
DATACOMPCR = Data competenza costi/ricavi
|
|
||||||
DATACOMPI = Data di competenza intra-comunitaria
|
DATACOMPI = Data di competenza intra-comunitaria
|
||||||
DATADOC = Data documento
|
DATADOC = Data documento
|
||||||
DATAINC = Data di incasso per liquidazione differita
|
DATAINC = Data di incasso per liquidazione differita
|
||||||
@ -28,17 +26,13 @@ DCODNUM = Documento originale CODNUM
|
|||||||
DESCR = Descrizione
|
DESCR = Descrizione
|
||||||
DNDOC = Documento originale NDOC
|
DNDOC = Documento originale NDOC
|
||||||
DPROVV = Documento originale PROVV
|
DPROVV = Documento originale PROVV
|
||||||
ELABF9 = archiviato , data , esclusione
|
|
||||||
INVIATO = Inviato ad altra contabilità
|
INVIATO = Inviato ad altra contabilità
|
||||||
INVIOFE = Data invio definitivo dati rilevanti
|
INVIOFE = Data invio definitivo dati rilevanti
|
||||||
INVIVA = Inviata la parte IVA ad altra contabilita'
|
INVIVA = Inviata la parte IVA ad altra contabilita'
|
||||||
IVALIQ = Iva per cassa liquidata completamente
|
|
||||||
IVAXCASSA = Flag di movimento IVA per cassa
|
IVAXCASSA = Flag di movimento IVA per cassa
|
||||||
KEYFPPRO = Chiavi dell'FPPRO [KEYPRGINVIO;KEYHEADERFATT;KEYBODYFATT]
|
|
||||||
LIQDIFF = Flag di movimento a liquidazione differita
|
LIQDIFF = Flag di movimento a liquidazione differita
|
||||||
MESELIQ = Mese per liquidazione differita
|
MESELIQ = Mese per liquidazione differita
|
||||||
MODPAG = Modalità di pagamento 1=Non frazionato; 2=Frazionato; 3=Periodico
|
MODPAG = Modalità di pagamento 1=Non frazionato; 2=Frazionato; 3=Periodico
|
||||||
MOVCOLL = Movimento collegato
|
|
||||||
NOLEGGIO = Tipo veicolo Auto, Camper, Altro, Diporto, aEreo
|
NOLEGGIO = Tipo veicolo Auto, Camper, Altro, Diporto, aEreo
|
||||||
NUMDOC = Numero documento
|
NUMDOC = Numero documento
|
||||||
NUMDOCEXT = Numero documento esteso
|
NUMDOCEXT = Numero documento esteso
|
||||||
@ -47,18 +41,15 @@ NUMREG = Numero di operazione
|
|||||||
NUMRETT = Numero documento rettificato
|
NUMRETT = Numero documento rettificato
|
||||||
OCFPI = Codice cliente / fornitore occasionale
|
OCFPI = Codice cliente / fornitore occasionale
|
||||||
PROTIVA = Numero di protocollo IVA
|
PROTIVA = Numero di protocollo IVA
|
||||||
PROVVIS = Tipo movimento (< > Normale, Provvisorio <P> cancellabile, <C> cespiti, <B> bilancio costi/ricavi
|
PROVVIS = Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio cespiti)
|
||||||
REG = Codice registro IVA
|
REG = Codice registro IVA
|
||||||
REGST = Stampato su registro IVA
|
REGST = Stampato su registro IVA
|
||||||
REVCHARGE = Reverse charge
|
REVCHARGE = Reverse charge
|
||||||
RITFATT = Fattura in ritardo
|
|
||||||
RITFIS = Ritenute fiscali
|
RITFIS = Ritenute fiscali
|
||||||
RITSOC = Ritenute sociali
|
RITSOC = Ritenute sociali
|
||||||
SCARCON = Scaricata la contabilitá
|
SCARCON = Scaricata la contabilitá
|
||||||
SPLITPAY = Flag di scissione pagamenti [_=Auto,S=Split,N=Normale]
|
SPLITPAY = Flag di scissione pagamenti [_=Auto,S=Split,N=Normale]
|
||||||
STAMPATO = Stampato su giornale
|
STAMPATO = Stampato su giornale
|
||||||
TFDATA = Data ultimo invio Trasferimento Fatture
|
|
||||||
TFINVIO = Flag Invio Trasferimento Fatture
|
|
||||||
TIPO = Tipo <C>liente o <F>ornitore
|
TIPO = Tipo <C>liente o <F>ornitore
|
||||||
TIPODOC = Tipo documento
|
TIPODOC = Tipo documento
|
||||||
TIPOMOV = Tipo movimento
|
TIPOMOV = Tipo movimento
|
||||||
|
@ -11,7 +11,6 @@ INTRA = Riga intra-comunitaria
|
|||||||
NAVP = Nota di variazione anni precedenti x Elenco CF
|
NAVP = Nota di variazione anni precedenti x Elenco CF
|
||||||
NUMREG = Numero operazione
|
NUMREG = Numero operazione
|
||||||
NUMRIG = Numero riga
|
NUMRIG = Numero riga
|
||||||
REVCHARGE = Riga IVA reverse charge
|
|
||||||
RIGAIMP = Numero riga contabile dell' imponibile
|
RIGAIMP = Numero riga contabile dell' imponibile
|
||||||
RIGAIVA = Numero riga contabile dell'IVA
|
RIGAIVA = Numero riga contabile dell'IVA
|
||||||
SOTTOCONTO = Sottoconto o codice cliente/fornitore
|
SOTTOCONTO = Sottoconto o codice cliente/fornitore
|
||||||
|
@ -7,7 +7,6 @@ CODCAUSIM = Codice causale incasso immediato
|
|||||||
COLLCESP = Collegamnto ai cespiti
|
COLLCESP = Collegamnto ai cespiti
|
||||||
CONTIND = Causale per contabilità industriale
|
CONTIND = Causale per contabilità industriale
|
||||||
DATADOC = Data documento
|
DATADOC = Data documento
|
||||||
DATAREGPR = Data di registrazion nell'ereserciozio precedente per il caso del campo precedente
|
|
||||||
DESCR = Descrizione causale
|
DESCR = Descrizione causale
|
||||||
INTRACOM = Movimento intra-comunitario
|
INTRACOM = Movimento intra-comunitario
|
||||||
LIQDIFF = Fatture a liquidazione differita
|
LIQDIFF = Fatture a liquidazione differita
|
||||||
@ -21,8 +20,7 @@ NUMDOC = Numero documento
|
|||||||
PROVV = Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio da cepiti)
|
PROVV = Tipo movimento (" " Normale, "P" Provvisorio cancellabile, "C" Provvisorio da cepiti)
|
||||||
REG = Codice registro
|
REG = Codice registro
|
||||||
REGSPIVA = Regimi speciali IVA
|
REGSPIVA = Regimi speciali IVA
|
||||||
RILFTEMRI = Causale di rilevazione fatture de emettere o ricevere
|
RITFATT =
|
||||||
RITFATT = Fattura in ritardo
|
|
||||||
SOLOIVA = Movimento di sola IVA
|
SOLOIVA = Movimento di sola IVA
|
||||||
SOSPESO = Causale sospesa
|
SOSPESO = Causale sospesa
|
||||||
TIPODOC = Tipo documento
|
TIPODOC = Tipo documento
|
||||||
|
@ -22,7 +22,6 @@ D1 =
|
|||||||
D2 =
|
D2 =
|
||||||
D3 =
|
D3 =
|
||||||
D4 =
|
D4 =
|
||||||
DATAAGG =
|
|
||||||
FPC =
|
FPC =
|
||||||
I0 =
|
I0 =
|
||||||
I1 =
|
I1 =
|
||||||
@ -67,7 +66,6 @@ R30 =
|
|||||||
R31 =
|
R31 =
|
||||||
R32 =
|
R32 =
|
||||||
R33 =
|
R33 =
|
||||||
R34 =
|
|
||||||
R4 =
|
R4 =
|
||||||
R5 =
|
R5 =
|
||||||
R6 =
|
R6 =
|
||||||
@ -78,9 +76,6 @@ S0 =
|
|||||||
S1 =
|
S1 =
|
||||||
S10 =
|
S10 =
|
||||||
S11 =
|
S11 =
|
||||||
S12 =
|
|
||||||
S13 =
|
|
||||||
S14 =
|
|
||||||
S2 =
|
S2 =
|
||||||
S3 =
|
S3 =
|
||||||
S4 =
|
S4 =
|
||||||
@ -89,5 +84,4 @@ S6 =
|
|||||||
S7 =
|
S7 =
|
||||||
S8 =
|
S8 =
|
||||||
S9 =
|
S9 =
|
||||||
UTENTE =
|
|
||||||
|
|
||||||
|
@ -93,7 +93,6 @@ TARA = Tara
|
|||||||
TIPOCF = Tipo <C>liente <F>ornitore
|
TIPOCF = Tipo <C>liente <F>ornitore
|
||||||
TIPOCFFATT = Tipo <C>liente <F>ornitore cui fatturare
|
TIPOCFFATT = Tipo <C>liente <F>ornitore cui fatturare
|
||||||
TIPODOC = Tipo documento
|
TIPODOC = Tipo documento
|
||||||
TIPODOCSDI = Tido documento secondo Agenzia delle Entrate
|
|
||||||
UMPNETTO = Unità di misura per il peso netto
|
UMPNETTO = Unità di misura per il peso netto
|
||||||
UMTARA = Unità di misura per la tara
|
UMTARA = Unità di misura per la tara
|
||||||
UTENTE = Utente ultimo aggiornamento
|
UTENTE = Utente ultimo aggiornamento
|
||||||
|
@ -78,9 +78,6 @@ S0 =
|
|||||||
S1 =
|
S1 =
|
||||||
S10 =
|
S10 =
|
||||||
S11 =
|
S11 =
|
||||||
S12 =
|
|
||||||
S13 =
|
|
||||||
S14 =
|
|
||||||
S2 =
|
S2 =
|
||||||
S3 =
|
S3 =
|
||||||
S4 =
|
S4 =
|
||||||
|
@ -78,9 +78,6 @@ S0 =
|
|||||||
S1 =
|
S1 =
|
||||||
S10 =
|
S10 =
|
||||||
S11 =
|
S11 =
|
||||||
S12 =
|
|
||||||
S13 =
|
|
||||||
S14 =
|
|
||||||
S2 =
|
S2 =
|
||||||
S3 =
|
S3 =
|
||||||
S4 =
|
S4 =
|
||||||
|
@ -45,7 +45,6 @@ STATOPAIV =
|
|||||||
STATORES =
|
STATORES =
|
||||||
TELRF =
|
TELRF =
|
||||||
TIPOA =
|
TIPOA =
|
||||||
TIPORFSO = Definisce se la persona è un <R>appr. Fiscale, <S>tabile Organizzazione o nessuno dei due
|
|
||||||
TIPOSTDEL =
|
TIPOSTDEL =
|
||||||
TITCF =
|
TITCF =
|
||||||
TLEXRFX =
|
TLEXRFX =
|
||||||
@ -53,7 +52,6 @@ UFFCONC =
|
|||||||
UFFIIDD =
|
UFFIIDD =
|
||||||
UFFIVA =
|
UFFIVA =
|
||||||
UFFUUE =
|
UFFUUE =
|
||||||
UTENTE =
|
|
||||||
VARDF =
|
VARDF =
|
||||||
VARSLORES =
|
VARSLORES =
|
||||||
|
|
||||||
|
@ -10,7 +10,6 @@ CESSIVA = Cessata attivita' o variata partita IVA
|
|||||||
CODANAGR =
|
CODANAGR =
|
||||||
CODATTPREV =
|
CODATTPREV =
|
||||||
CODDITTA =
|
CODDITTA =
|
||||||
CODRFSO = Codice Rappresentante Fiscale/Stabile Organizzazione
|
|
||||||
CODSOGDEL = Codice del soggetto delegato
|
CODSOGDEL = Codice del soggetto delegato
|
||||||
CODSTAT1 =
|
CODSTAT1 =
|
||||||
CODSTAT2 =
|
CODSTAT2 =
|
||||||
@ -19,7 +18,6 @@ COMAA =
|
|||||||
CONDFAM =
|
CONDFAM =
|
||||||
CONTORD =
|
CONTORD =
|
||||||
DATAISCRAA =
|
DATAISCRAA =
|
||||||
DATARFSO = Data immissione valore
|
|
||||||
DATLAV =
|
DATLAV =
|
||||||
DECCARINT =
|
DECCARINT =
|
||||||
DEDART13 =
|
DEDART13 =
|
||||||
@ -53,7 +51,6 @@ RAPPR =
|
|||||||
REGMAG =
|
REGMAG =
|
||||||
REGSTATSP =
|
REGSTATSP =
|
||||||
RICSUP20% =
|
RICSUP20% =
|
||||||
SOCIOUNICO = N Se la ditta ha un socio unico o +
|
|
||||||
TEL =
|
TEL =
|
||||||
TIPOA =
|
TIPOA =
|
||||||
TIPOSOGDEL = Tipo anagrafico del soggetto delegato
|
TIPOSOGDEL = Tipo anagrafico del soggetto delegato
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
154
|
154
|
||||||
0
|
0
|
||||||
$letint|0|0|90|0|Lettere d'intento|||
|
$letint|91|91|114|0|Lettere d'intento|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
154
|
154
|
||||||
14
|
17
|
||||||
ANNO|2|4|0|Anno
|
ANNO|2|4|0|Anno
|
||||||
NUMPROT|3|6|0|Numero protocollo
|
NUMPROT|3|6|0|Numero protocollo
|
||||||
DATAREG|5|8|0|Data di registrazione
|
DATAREG|5|8|0|Data di registrazione
|
||||||
@ -14,6 +14,9 @@ DAL|5|8|0|Data inizio periodo
|
|||||||
AL|5|8|0|Data fine periodo
|
AL|5|8|0|Data fine periodo
|
||||||
STAMPATO|8|1|0|Stampato
|
STAMPATO|8|1|0|Stampato
|
||||||
INVIATO|8|1|0|Inviato
|
INVIATO|8|1|0|Inviato
|
||||||
|
PROTINTF|1|17|0|Numero di protocollo passato dall agenzia delle entrate (prima parte)
|
||||||
|
PROTINTS|1|6|0|Numero di protocollo passato dall agenzia delle entrate (seconda parte)
|
||||||
|
CHIUSA|8|1|0|Indica se una lettera di intento è chiusa
|
||||||
2
|
2
|
||||||
ANNO+NUMPROT|
|
ANNO+NUMPROT|
|
||||||
CODCLI+ANNO+NUMPROT|X
|
CODCLI+ANNO+NUMPROT|X
|
||||||
|
@ -53,8 +53,7 @@ USER5|4|15|5|campo definito dall'utente
|
|||||||
USERVAL5|4|18|3|valore
|
USERVAL5|4|18|3|valore
|
||||||
USER6|4|15|5|campo definito dall'utente
|
USER6|4|15|5|campo definito dall'utente
|
||||||
USERVAL6|4|18|3|valore
|
USERVAL6|4|18|3|valore
|
||||||
4
|
3
|
||||||
ANNOES+TIPOCF+CODCF+INDSPED+CODART+NRIGA|
|
ANNOES+TIPOCF+CODCF+INDSPED+CODART+NRIGA|
|
||||||
ANNOES+TIPOCF+CODCF+INDSPED+CODART+LIVELLO|X
|
ANNOES+TIPOCF+CODCF+INDSPED+CODART+LIVELLO|X
|
||||||
ANNOES+CODART+LIVELLO+TIPOCF+CODCF+INDSPED|X
|
ANNOES+CODART+LIVELLO+TIPOCF+CODCF+INDSPED|X
|
||||||
ANNOES+CODART+TIPOCF+CODCF+INDSPED|X
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
17
|
17
|
||||||
0
|
0
|
||||||
$cfven|||519|0|Clienti/Fornitori per vendite|||
|
$cfven|4612|4613|511|0|Clienti/Fornitori per vendite|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
17
|
17
|
||||||
83
|
82
|
||||||
TIPOCF|1|1|0|Tipo <C>liente, <F>ornitore
|
TIPOCF|1|1|0|Tipo <C>liente, <F>ornitore
|
||||||
CODCF|3|6|0|Codice
|
CODCF|3|6|0|Codice
|
||||||
CODINDDOC|2|3|0|Codice indirizzo documenti
|
CODINDDOC|2|3|0|Codice indirizzo documenti
|
||||||
@ -71,8 +71,7 @@ ESCAR|4|6|2|Percentuale di esenzione CONAI carta
|
|||||||
ESPLA|4|6|2|Percentuale di esenzione CONAI plastica
|
ESPLA|4|6|2|Percentuale di esenzione CONAI plastica
|
||||||
ESLEG|4|6|2|Percentuale di esenzione CONAI legno
|
ESLEG|4|6|2|Percentuale di esenzione CONAI legno
|
||||||
ESVET|4|6|2|Percentuale di esenzione CONAI vetro
|
ESVET|4|6|2|Percentuale di esenzione CONAI vetro
|
||||||
DATAICONAI|5|8|0|Data inizio esenzione CONAI
|
DATAECONAI|5|8|0|Data di fine esnzion CONAI
|
||||||
DATAECONAI|5|8|0|Data fine esenzione CONAI
|
|
||||||
CONAIASS|8|1|0|Stampa contributo CONAI assolto
|
CONAIASS|8|1|0|Stampa contributo CONAI assolto
|
||||||
TIPODOCFAT|1|4|0|Tipo documento
|
TIPODOCFAT|1|4|0|Tipo documento
|
||||||
CODCAUS|1|3|0|Causale Contabile
|
CODCAUS|1|3|0|Causale Contabile
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
20
|
20
|
||||||
0
|
0
|
||||||
$clifo|4338|4338|916|0|Clienti/Fornitori|||
|
$clifo|774|774|875|0|Clienti/Fornitori|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
20
|
20
|
||||||
70
|
68
|
||||||
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
|
TIPOCF|1|1|0|Tipo <C>liente <F>ornitore
|
||||||
CODCF|3|6|0|Codice
|
CODCF|3|6|0|Codice
|
||||||
RAGSOC|1|50|0|Ragione sociale
|
RAGSOC|1|50|0|Ragione sociale
|
||||||
@ -34,7 +34,7 @@ PTELEX|1|10|0|Prefisso del numero di TELEX
|
|||||||
TELEX|1|30|0|Prefisso del numero di TELEX
|
TELEX|1|30|0|Prefisso del numero di TELEX
|
||||||
MAIL|1|50|0|Indirizzo di posta elettronica generico
|
MAIL|1|50|0|Indirizzo di posta elettronica generico
|
||||||
BYMAIL|8|1|0|Consenso all' invio dei documenti per posta elettronica
|
BYMAIL|8|1|0|Consenso all' invio dei documenti per posta elettronica
|
||||||
PEC|1|80|0|Indirizzo di posta elettronica certificato
|
PEC|1|50|0|Indirizzo di posta elettronica certificato
|
||||||
DOCMAIL|1|50|0|Indirizzo di posta elettronica per i documenti
|
DOCMAIL|1|50|0|Indirizzo di posta elettronica per i documenti
|
||||||
DATANASC|5|8|0|Data di nascita
|
DATANASC|5|8|0|Data di nascita
|
||||||
STATONASC|2|3|0|Codice stato di nascita
|
STATONASC|2|3|0|Codice stato di nascita
|
||||||
@ -64,12 +64,10 @@ ENTE|1|4|0|Codice ente pubblico di appartenenza (Dipendente Pubblico)
|
|||||||
SPLITPAY|8|1|0|Ente pubblico soggetto a split payment
|
SPLITPAY|8|1|0|Ente pubblico soggetto a split payment
|
||||||
UTENTE|1|32|0|Utente dell'ultima modifica
|
UTENTE|1|32|0|Utente dell'ultima modifica
|
||||||
DATAAGG|5|8|0|Data ultima modifica
|
DATAAGG|5|8|0|Data ultima modifica
|
||||||
CODRFSO|1|6|0|Codice Rappresentante Fiscale/Stabile Organizzazione
|
CODRFSO|1|6|0|Codice Rappresentate Fisc/Stabile Org
|
||||||
DATARFSO|5|8|0|Data immissione valore
|
DATARFSO|5|8|0|Data Rappresentate Fisc/Stabile Org
|
||||||
INIFATTEL|5|8|0|Data inizio fatturazione elettronica
|
INIFATTEL|5|8|0|Data inizio fatturazione elettronica
|
||||||
INIREVCHG|5|8|0|Data inizio rev. charge
|
INIREVCHG|5|8|0|Data inizio reverse charge
|
||||||
CODFPCUST|1|10|0|Codice personalizzazione FP
|
|
||||||
DISCUSTFP|8|1|0|Disabilita le personalizzazioni FP sul cliente
|
|
||||||
6
|
6
|
||||||
TIPOCF+CODCF|
|
TIPOCF+CODCF|
|
||||||
TIPOCF+UPPER(RAGSOC)|X
|
TIPOCF+UPPER(RAGSOC)|X
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
21
|
21
|
||||||
0
|
0
|
||||||
$saldi|||215|0|Saldi|||
|
$saldi|||143|0|Saldi|||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
21
|
21
|
||||||
19
|
15
|
||||||
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,10 +13,6 @@ 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 @@
|
|||||||
25
|
25
|
||||||
0
|
0
|
||||||
$rmoviva|0|0|111|0|Righe movimento IVA|NMOV*2||
|
$rmoviva|0|0|110|0|Righe movimento IVA|NMOV*2||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
25
|
25
|
||||||
20
|
19
|
||||||
ANNOES|2|4|0|Codice esercizio
|
ANNOES|2|4|0|Codice esercizio
|
||||||
NUMREG|3|7|0|Numero operazione
|
NUMREG|3|7|0|Numero operazione
|
||||||
NUMRIG|2|3|0|Numero riga
|
NUMRIG|2|3|0|Numero riga
|
||||||
@ -19,6 +19,5 @@ SOTTOCONTO|3|6|0|Sottoconto o codice cliente/fornitore
|
|||||||
CODCMS|1|20|0|Codice Commessa
|
CODCMS|1|20|0|Codice Commessa
|
||||||
FASCMS|1|10|0|Fase Commessa
|
FASCMS|1|10|0|Fase Commessa
|
||||||
NAVP|8|1|0|Nota di variazione anni precedenti x Elenco CF
|
NAVP|8|1|0|Nota di variazione anni precedenti x Elenco CF
|
||||||
REVCHARGE|8|1|0|Riga IVA reverse charge
|
|
||||||
1
|
1
|
||||||
NUMREG+NUMRIG|
|
NUMREG+NUMRIG|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
3
|
3
|
||||||
1
|
1
|
||||||
%tabgen|0|0|1285|0|Tabelle di studio|||
|
%tabgen|0|0|1181|0|Tabelle di studio|50||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
3
|
3
|
||||||
91
|
86
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
@ -14,9 +14,6 @@ S8|1|5|0|
|
|||||||
S9|1|5|0|
|
S9|1|5|0|
|
||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
S12|1|5|0|
|
|
||||||
S13|1|70|0|
|
|
||||||
S14|1|5|0|
|
|
||||||
I0|3|7|0|
|
I0|3|7|0|
|
||||||
I1|3|7|0|
|
I1|3|7|0|
|
||||||
I2|3|7|0|
|
I2|3|7|0|
|
||||||
@ -62,11 +59,11 @@ R26|4|18|5|
|
|||||||
R27|4|18|5|
|
R27|4|18|5|
|
||||||
R28|4|18|5|
|
R28|4|18|5|
|
||||||
R29|4|18|5|
|
R29|4|18|5|
|
||||||
|
R29|4|18|5|
|
||||||
R30|4|18|5|
|
R30|4|18|5|
|
||||||
R31|4|18|5|
|
R31|4|18|5|
|
||||||
R32|4|18|5|
|
R32|4|18|5|
|
||||||
R33|4|18|5|
|
R33|4|18|5|
|
||||||
R34|4|18|5|
|
|
||||||
D0|5|8|0|
|
D0|5|8|0|
|
||||||
D1|5|8|0|
|
D1|5|8|0|
|
||||||
D2|5|8|0|
|
D2|5|8|0|
|
||||||
@ -88,8 +85,6 @@ B12|8|1|0|
|
|||||||
B13|8|1|0|
|
B13|8|1|0|
|
||||||
B14|8|1|0|
|
B14|8|1|0|
|
||||||
B15|8|1|0|
|
B15|8|1|0|
|
||||||
DATAAGG|5|8|0|
|
|
||||||
UTENTE|1|16|0|
|
|
||||||
FPC|8|1|0|
|
FPC|8|1|0|
|
||||||
2
|
2
|
||||||
COD+CODTAB|
|
COD+CODTAB|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
4
|
4
|
||||||
1
|
1
|
||||||
%tabcom|0|0|1285|0|Tabelle comuni|||
|
%tabcom|0|0|1210|0|Tabelle comuni|1500||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
4
|
4
|
||||||
91
|
89
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
@ -15,8 +15,6 @@ S9|1|5|0|
|
|||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
S12|1|5|0|
|
S12|1|5|0|
|
||||||
S13|1|70|0|
|
|
||||||
S14|1|5|0|
|
|
||||||
I0|3|7|0|
|
I0|3|7|0|
|
||||||
I1|3|7|0|
|
I1|3|7|0|
|
||||||
I2|3|7|0|
|
I2|3|7|0|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
5
|
5
|
||||||
0
|
0
|
||||||
$tab|||1285|0|Tabelle ditta|||
|
$tab|0|0|1197|0|Tabelle ditta|400||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
5
|
5
|
||||||
91
|
88
|
||||||
COD|1|3|0|
|
COD|1|3|0|
|
||||||
CODTAB|1|25|0|
|
CODTAB|1|25|0|
|
||||||
S0|1|70|0|
|
S0|1|70|0|
|
||||||
@ -14,9 +14,6 @@ S8|1|5|0|
|
|||||||
S9|1|5|0|
|
S9|1|5|0|
|
||||||
S10|1|5|0|
|
S10|1|5|0|
|
||||||
S11|1|5|0|
|
S11|1|5|0|
|
||||||
S12|1|5|0|
|
|
||||||
S13|1|70|0|
|
|
||||||
S14|1|5|0|
|
|
||||||
I0|3|7|0|
|
I0|3|7|0|
|
||||||
I1|3|7|0|
|
I1|3|7|0|
|
||||||
I2|3|7|0|
|
I2|3|7|0|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
9
|
9
|
||||||
1
|
1
|
||||||
%nditte|0|0|636|0|Ditte|#6||
|
%nditte|0|0|635|0|Ditte|#6||
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
9
|
9
|
||||||
59
|
58
|
||||||
CODDITTA|3|5|0|
|
CODDITTA|3|5|0|
|
||||||
TIPOA|1|1|0|
|
TIPOA|1|1|0|
|
||||||
CODANAGR|3|5|0|
|
CODANAGR|3|5|0|
|
||||||
@ -58,7 +58,6 @@ INTCAF|1|10|0|N.ro Iscrizione al CAF dell'intemediario (firmatario)
|
|||||||
DICHP|1|1|0|Dichiarazione predisposta da <C>ontribuente, <I>ntermediario
|
DICHP|1|1|0|Dichiarazione predisposta da <C>ontribuente, <I>ntermediario
|
||||||
CODRFSO|1|6|0|Codice Rappresentante Fiscale/Stabile Organizzazione
|
CODRFSO|1|6|0|Codice Rappresentante Fiscale/Stabile Organizzazione
|
||||||
DATARFSO|5|8|0|Data immissione valore
|
DATARFSO|5|8|0|Data immissione valore
|
||||||
SOCIOUNICO|7|1|0|N Se la ditta ha un socio unico o +
|
|
||||||
4
|
4
|
||||||
CODDITTA|
|
CODDITTA|
|
||||||
UPPER(RAGSOC)|X
|
UPPER(RAGSOC)|X
|
||||||
|
Binary file not shown.
@ -24,6 +24,6 @@ LogVerbose=
|
|||||||
PingFreq=
|
PingFreq=
|
||||||
|
|
||||||
[Spotlite]
|
[Spotlite]
|
||||||
Data(0) = c:\u\dati\straccia\spotlite
|
Data(0) = f:\clienti\Bellegotti\spotlite
|
||||||
Study(0) =
|
Study(0) =
|
||||||
|
|
||||||
|
BIN
exe/setup/SetCmpUp.exe
Normal file
BIN
exe/setup/SetCmpUp.exe
Normal file
Binary file not shown.
@ -1,5 +1,5 @@
|
|||||||
[MAIN]
|
[MAIN]
|
||||||
OEM = 2
|
OEM = 1
|
||||||
|
|
||||||
[OEM_0]
|
[OEM_0]
|
||||||
Administrator = ’—’Œ<EFBFBD>
|
Administrator = ’—’Œ<EFBFBD>
|
||||||
|
BIN
exe/xi.dll
BIN
exe/xi.dll
Binary file not shown.
BIN
exe/xvaga.dll
BIN
exe/xvaga.dll
Binary file not shown.
@ -4,7 +4,6 @@
|
|||||||
#include <modaut.h>
|
#include <modaut.h>
|
||||||
#include <tree.h>
|
#include <tree.h>
|
||||||
#include <treectrl.h>
|
#include <treectrl.h>
|
||||||
#include <utility.h>
|
|
||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
|
|
||||||
#include <mov.h>
|
#include <mov.h>
|
||||||
@ -36,7 +35,7 @@ class TConfig_anal : public TConfig
|
|||||||
int _level;
|
int _level;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
virtual const TString& get(const char* var, const char* section = nullptr, int index = -1, const char* def = "");
|
virtual const TString& get(const char* var, const char* section = NULL, int index = -1, const char* def = "");
|
||||||
TConfig_anal();
|
TConfig_anal();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -47,7 +46,7 @@ TConfig_anal::TConfig_anal() : TConfig(CONFIG_DITTA, "ca"), _level(0)
|
|||||||
if (a.active(CIAUT)) _level |= 2;
|
if (a.active(CIAUT)) _level |= 2;
|
||||||
|
|
||||||
// Controllo se è veramente configurato il primo livello a CMS o CDC
|
// Controllo se è veramente configurato il primo livello a CMS o CDC
|
||||||
if (_level > 1 && TConfig::get("Level", nullptr, 1).blank())
|
if (_level > 1 && TConfig::get("Level", NULL, 1).blank())
|
||||||
_level = 0;
|
_level = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -89,10 +88,11 @@ const TString& TConfig_anal::get(const char* varname, const char* section, int i
|
|||||||
|
|
||||||
TConfig& ca_config(bool force_reload)
|
TConfig& ca_config(bool force_reload)
|
||||||
{
|
{
|
||||||
static TConfig_anal* cfg = nullptr;
|
static TConfig_anal* cfg = NULL;
|
||||||
if (cfg == nullptr || force_reload)
|
if (cfg == NULL || force_reload)
|
||||||
{
|
{
|
||||||
SAFE_DELETE(cfg);
|
if (cfg != NULL)
|
||||||
|
delete cfg;
|
||||||
cfg = new TConfig_anal;
|
cfg = new TConfig_anal;
|
||||||
}
|
}
|
||||||
return *cfg;
|
return *cfg;
|
||||||
@ -275,12 +275,12 @@ TMultilevel_code_info::TMultilevel_code_info(int logicnum) : _logicnum(logicnum)
|
|||||||
int from = 1, to = 1;
|
int from = 1, to = 1;
|
||||||
for (int level = 1; ; level++)
|
for (int level = 1; ; level++)
|
||||||
{
|
{
|
||||||
const TString& prompt = cfg.get(desvar, nullptr, level);
|
const TString& prompt = cfg.get(desvar, NULL, level);
|
||||||
if (prompt.blank())
|
if (prompt.blank())
|
||||||
break;
|
break;
|
||||||
_prompt.add(prompt);
|
_prompt.add(prompt);
|
||||||
|
|
||||||
const TString& picture = cfg.get(keyvar, nullptr, level);
|
const TString& picture = cfg.get(keyvar, NULL, level);
|
||||||
_picture.add(picture);
|
_picture.add(picture);
|
||||||
|
|
||||||
const int keylen = picture.len();
|
const int keylen = picture.len();
|
||||||
@ -297,14 +297,11 @@ TMultilevel_code_info::TMultilevel_code_info(int logicnum) : _logicnum(logicnum)
|
|||||||
|
|
||||||
const TMultilevel_code_info& ca_multilevel_code_info(int logicnum)
|
const TMultilevel_code_info& ca_multilevel_code_info(int logicnum)
|
||||||
{
|
{
|
||||||
static TArray* cache = nullptr;
|
static TArray* cache = NULL;
|
||||||
|
if (cache == NULL)
|
||||||
if (cache == nullptr)
|
|
||||||
cache = new TArray;
|
cache = new TArray;
|
||||||
|
|
||||||
TMultilevel_code_info* info = (TMultilevel_code_info*)cache->objptr(logicnum);
|
TMultilevel_code_info* info = (TMultilevel_code_info*)cache->objptr(logicnum);
|
||||||
|
if (info == NULL)
|
||||||
if (info == nullptr)
|
|
||||||
{
|
{
|
||||||
info = new TMultilevel_code_info(logicnum);
|
info = new TMultilevel_code_info(logicnum);
|
||||||
cache->add(info, logicnum);
|
cache->add(info, logicnum);
|
||||||
@ -324,8 +321,7 @@ const TMultilevel_code_info* ca_multilevel_code_info_by_index(int level)
|
|||||||
if (_logicnum[0] < 0)
|
if (_logicnum[0] < 0)
|
||||||
{
|
{
|
||||||
TConfig& cfg = ca_config();
|
TConfig& cfg = ca_config();
|
||||||
const TString& lev1 = cfg.get("Level", nullptr, 1);
|
const TString& lev1 = cfg.get("Level", NULL, 1);
|
||||||
|
|
||||||
if (lev1.full())
|
if (lev1.full())
|
||||||
{
|
{
|
||||||
const TMultilevel_code_info& fasi = ca_multilevel_code_info(LF_FASI);
|
const TMultilevel_code_info& fasi = ca_multilevel_code_info(LF_FASI);
|
||||||
@ -334,7 +330,7 @@ const TMultilevel_code_info* ca_multilevel_code_info_by_index(int level)
|
|||||||
if (fasi.parent() == _logicnum[k])
|
if (fasi.parent() == _logicnum[k])
|
||||||
_logicnum[++k] = LF_FASI;
|
_logicnum[++k] = LF_FASI;
|
||||||
|
|
||||||
const TString& lev2 = cfg.get("Level", nullptr, 2);
|
const TString& lev2 = cfg.get("Level", NULL, 2);
|
||||||
if (lev2.full())
|
if (lev2.full())
|
||||||
{
|
{
|
||||||
_logicnum[++k] = _logicnum[0] == LF_COMMESSE ? LF_CDC : LF_COMMESSE;
|
_logicnum[++k] = _logicnum[0] == LF_COMMESSE ? LF_CDC : LF_COMMESSE;
|
||||||
@ -348,7 +344,7 @@ const TMultilevel_code_info* ca_multilevel_code_info_by_index(int level)
|
|||||||
logic = _logicnum[level];
|
logic = _logicnum[level];
|
||||||
}
|
}
|
||||||
|
|
||||||
return logic > 0 ? &ca_multilevel_code_info(logic) : nullptr;
|
return logic > 0 ? &ca_multilevel_code_info(logic) : NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ca_test_multilevel_field(TEdit_field& fld, int level)
|
bool ca_test_multilevel_field(TEdit_field& fld, int level)
|
||||||
@ -424,7 +420,7 @@ const char* ca_dollar2fieldname(int logic, const char* dollar)
|
|||||||
default : return FASI_CODFASE;
|
default : return FASI_CODFASE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nullptr;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ca_append_and(TString& query, const TString& clause)
|
void ca_append_and(TString& query, const TString& clause)
|
||||||
@ -456,8 +452,7 @@ static const TString& ca_get_user_permissions(const TString& utente, const int l
|
|||||||
|
|
||||||
if (ini_permessi.set_paragraph(utente))
|
if (ini_permessi.set_paragraph(utente))
|
||||||
{
|
{
|
||||||
const char* fieldname = nullptr;
|
const char* fieldname = NULL;
|
||||||
|
|
||||||
switch (logic)
|
switch (logic)
|
||||||
{
|
{
|
||||||
case LF_COMMESSE: fieldname = "Cms"; break;
|
case LF_COMMESSE: fieldname = "Cms"; break;
|
||||||
@ -465,7 +460,7 @@ static const TString& ca_get_user_permissions(const TString& utente, const int l
|
|||||||
case LF_FASI: fieldname = "Fas"; break;
|
case LF_FASI: fieldname = "Fas"; break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
if (fieldname != nullptr)
|
if (fieldname != NULL)
|
||||||
{
|
{
|
||||||
const TString& expr = ini_permessi.get(fieldname);
|
const TString& expr = ini_permessi.get(fieldname);
|
||||||
ca_append_and(select, expr);
|
ca_append_and(select, expr);
|
||||||
@ -478,7 +473,7 @@ static const TString& ca_get_user_permissions(const TString& utente, const int l
|
|||||||
TToken_string row(80, SAFE_PIPE_CHR);
|
TToken_string row(80, SAFE_PIPE_CHR);
|
||||||
for (int r = 0;; r++)
|
for (int r = 0;; r++)
|
||||||
{
|
{
|
||||||
row = ini_permessi.get("Prog", nullptr, r);
|
row = ini_permessi.get("Prog", NULL, r);
|
||||||
if (row.blank())
|
if (row.blank())
|
||||||
break;
|
break;
|
||||||
if (key == row.get(0))
|
if (key == row.get(0))
|
||||||
@ -529,8 +524,7 @@ const TString& ca_create_user_select_clause(int logic)
|
|||||||
{
|
{
|
||||||
static TArray clauses;
|
static TArray clauses;
|
||||||
TString* clause = (TString*)clauses.objptr(logic);
|
TString* clause = (TString*)clauses.objptr(logic);
|
||||||
|
if (clause == NULL)
|
||||||
if (clause == nullptr)
|
|
||||||
{
|
{
|
||||||
clause = new TString;
|
clause = new TString;
|
||||||
switch (logic)
|
switch (logic)
|
||||||
@ -585,7 +579,7 @@ bool ca_filter_record(const TRectype& rec)
|
|||||||
|
|
||||||
bool ca_filter_function(const TRelation* rel)
|
bool ca_filter_function(const TRelation* rel)
|
||||||
{
|
{
|
||||||
return rel != nullptr && ca_filter_record(rel->curr());
|
return rel != NULL && ca_filter_record(rel->curr());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -843,14 +837,13 @@ int ca_create_fields(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
prompt.left_just(maxdeslen);
|
prompt.left_just(maxdeslen);
|
||||||
|
|
||||||
const char* flags = picture[0] == '0' || picture[0] == '9' ? "BUZ" : "BU";
|
const char* flags = picture[0] == '0' || picture[0] == '9' ? "BUZ" : "BU";
|
||||||
TEdit_field* kfld = nullptr;
|
TEdit_field* kfld = NULL;
|
||||||
|
|
||||||
if (mci.is_numeric_picture(i)) // Numeric
|
if (mci.is_numeric_picture(i)) // Numeric
|
||||||
kfld = &msk.add_number(kid, page, prompt, tab0, y+i, picture.len(), flags);
|
kfld = &msk.add_number(kid, page, prompt, tab0, y+i, picture.len(), flags);
|
||||||
else
|
else
|
||||||
kfld = &msk.add_string(kid, page, prompt, tab0, y+i, picture.len(), flags);
|
kfld = &msk.add_string(kid, page, prompt, tab0, y+i, picture.len(), flags);
|
||||||
ca_create_browse1(*kfld, i, logicnum, key_id, desc_in_sh && (i == mci.levels() - 1) ? key_id + mci.levels() - i : des_id);
|
ca_create_browse1(*kfld, i, logicnum, key_id, desc_in_sh && (i == mci.levels() - 1) ? key_id + mci.levels() - i : des_id);
|
||||||
if ((mode & 0x1) != 0 && fieldname == nullptr)
|
if ((mode & 0x1) != 0 && fieldname == NULL)
|
||||||
kfld->set_key(1);
|
kfld->set_key(1);
|
||||||
|
|
||||||
// Ho specificato un nome di campo speciale
|
// Ho specificato un nome di campo speciale
|
||||||
@ -879,7 +872,7 @@ int ca_create_fields(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
const short did = desc_in_sh && (i == mci.levels() - 1) ? key_id+mci.levels() : des_id+i;
|
const short did = desc_in_sh && (i == mci.levels() - 1) ? key_id+mci.levels() : des_id+i;
|
||||||
TEdit_field& dfld = msk.add_string(did, page, "", tab1, y+i, 50, "B", 72+tab0-tab1);
|
TEdit_field& dfld = msk.add_string(did, page, "", tab1, y+i, 50, "B", 72+tab0-tab1);
|
||||||
ca_create_browse2(dfld, i, logicnum, key_id);
|
ca_create_browse2(dfld, i, logicnum, key_id);
|
||||||
if ((mode & 0x2) != 0 && fieldname == nullptr)
|
if ((mode & 0x2) != 0 && fieldname == NULL)
|
||||||
dfld.set_key(2);
|
dfld.set_key(2);
|
||||||
else
|
else
|
||||||
dfld.set_field("");
|
dfld.set_field("");
|
||||||
@ -971,14 +964,14 @@ int ca_create_fields_compact(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
|
|
||||||
const char* flags = picture[0] == '0' || picture[0] == '9' ? "BUZG" : "BUG";
|
const char* flags = picture[0] == '0' || picture[0] == '9' ? "BUZG" : "BUG";
|
||||||
|
|
||||||
TEdit_field* kfld = nullptr;
|
TEdit_field* kfld = NULL;
|
||||||
|
|
||||||
if (mci.is_numeric_picture(i)) // Numeric
|
if (mci.is_numeric_picture(i)) // Numeric
|
||||||
kfld = &msk.add_number(kid, page, prompt, tab0 + offset, y + row_offset, picture.len(), flags);
|
kfld = &msk.add_number(kid, page, prompt, tab0 + offset, y + row_offset, picture.len(), flags);
|
||||||
else
|
else
|
||||||
kfld = &msk.add_string(kid, page, prompt, tab0 + offset, y + row_offset, picture.len(), flags);
|
kfld = &msk.add_string(kid, page, prompt, tab0 + offset, y + row_offset, picture.len(), flags);
|
||||||
ca_create_browse1(*kfld, i, logicnum, key_id, des_id);
|
ca_create_browse1(*kfld, i, logicnum, key_id, des_id);
|
||||||
if ((mode & 0x1) != 0 && fieldname == nullptr)
|
if ((mode & 0x1) != 0 && fieldname == NULL)
|
||||||
kfld->set_key(1);
|
kfld->set_key(1);
|
||||||
|
|
||||||
// Ho specificato un nome di campo speciale
|
// Ho specificato un nome di campo speciale
|
||||||
@ -1002,7 +995,7 @@ int ca_create_fields_compact(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Copio il checktype nel campo fantasma per colorare correttamente la colonna
|
// Copio il checktype nel campo fantasma per colorare correttamente la colonna
|
||||||
if (msk.get_sheet() != nullptr && kfld->required())
|
if (msk.get_sheet() != NULL && kfld->required())
|
||||||
msk.efield(kid-100).check_type(kfld->check_type());
|
msk.efield(kid-100).check_type(kfld->check_type());
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -1017,7 +1010,7 @@ int ca_create_fields_compact(TMask& msk, int page, int logicnum, int x, int y,
|
|||||||
TEdit_field& dfld = (i < mci.levels() - 1) && (i != par_items -1) ? msk.add_string(did, page, "", 50, 50, 50, "B")
|
TEdit_field& dfld = (i < mci.levels() - 1) && (i != par_items -1) ? msk.add_string(did, page, "", 50, 50, 50, "B")
|
||||||
: msk.add_string(did, page, "", tab1, y + row_offset, 50, "B", 72+tab0-tab1);
|
: msk.add_string(did, page, "", tab1, y + row_offset, 50, "B", 72+tab0-tab1);
|
||||||
ca_create_browse2(dfld, i, logicnum, key_id);
|
ca_create_browse2(dfld, i, logicnum, key_id);
|
||||||
if ((mode & 0x2) != 0 && fieldname == nullptr)
|
if ((mode & 0x2) != 0 && fieldname == NULL)
|
||||||
dfld.set_key(2);
|
dfld.set_key(2);
|
||||||
else
|
else
|
||||||
dfld.set_field("");
|
dfld.set_field("");
|
||||||
@ -1041,7 +1034,7 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id,
|
|||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
const TString& level = ini.get("Level", nullptr, i+1); // Legge il livello 1 o 2
|
const TString& level = ini.get("Level", NULL, i+1); // Legge il livello 1 o 2
|
||||||
|
|
||||||
if (level == "CDC" && cdc_fld && *cdc_fld) // Crea centro di costo
|
if (level == "CDC" && cdc_fld && *cdc_fld) // Crea centro di costo
|
||||||
{
|
{
|
||||||
@ -1124,7 +1117,7 @@ int ca_create_fields_ext(TMask& m, int page, int x, int y, short first_id,
|
|||||||
numero_campi += nfields;
|
numero_campi += nfields;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m.get_sheet() != nullptr) //Se è una maschera di riga, sistemo le colonne delle sheet
|
if (m.get_sheet() != NULL) //Se è una maschera di riga, sistemo le colonne delle sheet
|
||||||
{
|
{
|
||||||
TSheet_field& s = *m.get_sheet();
|
TSheet_field& s = *m.get_sheet();
|
||||||
for (short id = first_id + 116; id >= first_id + 100; id--)
|
for (short id = first_id + 116; id >= first_id + 100; id--)
|
||||||
@ -1479,9 +1472,8 @@ bool TSimple_anal_msk::on_field_event(TOperable_field& o, TField_event e, long j
|
|||||||
const TTree_field& fld = (const TTree_field&)o;
|
const TTree_field& fld = (const TTree_field&)o;
|
||||||
const TTree& tree = *fld.tree();
|
const TTree& tree = *fld.tree();
|
||||||
TToken_string curr; tree.curr_id(curr);
|
TToken_string curr; tree.curr_id(curr);
|
||||||
TEdit_field* last = nullptr;
|
TEdit_field* last = NULL;
|
||||||
|
for (int i = 0; ; i++)
|
||||||
for (int i = 0; ; i++)
|
|
||||||
{
|
{
|
||||||
const short id = get_field_id(i);
|
const short id = get_field_id(i);
|
||||||
if (id <= 0)
|
if (id <= 0)
|
||||||
@ -1496,7 +1488,7 @@ bool TSimple_anal_msk::on_field_event(TOperable_field& o, TField_event e, long j
|
|||||||
if (tok && *tok)
|
if (tok && *tok)
|
||||||
last = &e;
|
last = &e;
|
||||||
}
|
}
|
||||||
if (last != nullptr)
|
if (last != NULL)
|
||||||
{
|
{
|
||||||
if (last->check())
|
if (last->check())
|
||||||
stop_run(K_AUTO_ENTER);
|
stop_run(K_AUTO_ENTER);
|
||||||
@ -1666,8 +1658,7 @@ const TToken_string& TSimple_anal_msk::get_key_value(const TRectype& rec, int c)
|
|||||||
const TToken_string& TSimple_anal_msk::get_key_value(int c) const
|
const TToken_string& TSimple_anal_msk::get_key_value(int c) const
|
||||||
{
|
{
|
||||||
TToken_string& val = get_tmp_string();
|
TToken_string& val = get_tmp_string();
|
||||||
|
for (TEditable_field* f = get_key_field(c, true); f != NULL; f = get_key_field(c, false))
|
||||||
for (TEditable_field* f = get_key_field(c, true); f != nullptr; f = get_key_field(c, false))
|
|
||||||
{
|
{
|
||||||
val.add(f->get());
|
val.add(f->get());
|
||||||
}
|
}
|
||||||
@ -1789,9 +1780,8 @@ void TAnal_tree::node2id(const TObject* node, TString& id) const
|
|||||||
bool TAnal_tree::goto_root()
|
bool TAnal_tree::goto_root()
|
||||||
{
|
{
|
||||||
bool ok = false;
|
bool ok = false;
|
||||||
|
|
||||||
//gestione speciale per le fasi con babbo
|
//gestione speciale per le fasi con babbo
|
||||||
if (_father_curs != nullptr)
|
if (_father_curs != NULL)
|
||||||
{
|
{
|
||||||
if (_father_curs->items() > 0)
|
if (_father_curs->items() > 0)
|
||||||
{
|
{
|
||||||
@ -2023,7 +2013,7 @@ TImage* TAnal_tree::image(bool selected) const
|
|||||||
return get_res_image(bmp_id);
|
return get_res_image(bmp_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
TAnal_tree::TAnal_tree(int logicnum) : _curs(nullptr), _father_curs(nullptr), _is_father(false)
|
TAnal_tree::TAnal_tree(int logicnum) : _curs(NULL), _father_curs(NULL), _is_father(false)
|
||||||
{
|
{
|
||||||
TString select;
|
TString select;
|
||||||
_curs = new TCursor(new TRelation(logicnum), ca_create_user_select_clause(logicnum));
|
_curs = new TCursor(new TRelation(logicnum), ca_create_user_select_clause(logicnum));
|
||||||
@ -2180,8 +2170,10 @@ bool TAnal_app::remove()
|
|||||||
|
|
||||||
bool TAnal_app::user_destroy()
|
bool TAnal_app::user_destroy()
|
||||||
{
|
{
|
||||||
SAFE_DELETE(_msk);
|
if (_msk != NULL)
|
||||||
SAFE_DELETE(_rel);
|
delete _msk;
|
||||||
|
if (_rel != NULL)
|
||||||
|
delete _rel;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2227,7 +2219,7 @@ const char * TAnal_mov::row_code(int row) const
|
|||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
const TString& level = cfg.get("Level", nullptr, i+1); // Legge il livello 1 o 2
|
const TString& level = cfg.get("Level", NULL, i+1); // Legge il livello 1 o 2
|
||||||
|
|
||||||
if (level == "CDC") // Crea centro di costo
|
if (level == "CDC") // Crea centro di costo
|
||||||
{
|
{
|
||||||
@ -2352,7 +2344,7 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
|
|||||||
TImporto curr_imp(imp_row.sezione(), texaco.get());
|
TImporto curr_imp(imp_row.sezione(), texaco.get());
|
||||||
key.add(es, 1); //sistema l'anno di esercizio nella chiave
|
key.add(es, 1); //sistema l'anno di esercizio nella chiave
|
||||||
TImporto* imp = (TImporto*)_saldi.objptr(key);
|
TImporto* imp = (TImporto*)_saldi.objptr(key);
|
||||||
if (imp == nullptr)
|
if (imp == NULL)
|
||||||
{
|
{
|
||||||
imp = new TImporto;
|
imp = new TImporto;
|
||||||
_saldi.add(key, imp);
|
_saldi.add(key, imp);
|
||||||
@ -2364,8 +2356,7 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
|
|||||||
if (ca_ori_present(row))
|
if (ca_ori_present(row))
|
||||||
{
|
{
|
||||||
TImporto* impind = (TImporto*)_saldind.objptr(key);
|
TImporto* impind = (TImporto*)_saldind.objptr(key);
|
||||||
|
if (impind == NULL)
|
||||||
if (impind == nullptr)
|
|
||||||
{
|
{
|
||||||
impind = new TImporto;
|
impind = new TImporto;
|
||||||
_saldind.add(key, impind);
|
_saldind.add(key, impind);
|
||||||
@ -2380,8 +2371,7 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
|
|||||||
else //saldo in un solo anno (caso standard)
|
else //saldo in un solo anno (caso standard)
|
||||||
{
|
{
|
||||||
TImporto* imp = (TImporto*)_saldi.objptr(key);
|
TImporto* imp = (TImporto*)_saldi.objptr(key);
|
||||||
|
if (imp == NULL)
|
||||||
if (imp == nullptr)
|
|
||||||
{
|
{
|
||||||
imp = new TImporto;
|
imp = new TImporto;
|
||||||
_saldi.add(key, imp);
|
_saldi.add(key, imp);
|
||||||
@ -2393,8 +2383,7 @@ void TAnal_mov::saldo_set_reset(const TRectype& row, bool reset)
|
|||||||
if (ca_ori_present(row))
|
if (ca_ori_present(row))
|
||||||
{
|
{
|
||||||
TImporto* impind = (TImporto*)_saldind.objptr(key);
|
TImporto* impind = (TImporto*)_saldind.objptr(key);
|
||||||
|
if (impind == NULL)
|
||||||
if (impind == nullptr)
|
|
||||||
{
|
{
|
||||||
impind = new TImporto;
|
impind = new TImporto;
|
||||||
_saldind.add(key, impind);
|
_saldind.add(key, impind);
|
||||||
@ -2494,9 +2483,8 @@ bool TAnal_mov::save_saldi(const int annoes)
|
|||||||
|
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
const char* fld_sez = nullptr;
|
const char* fld_sez = NULL;
|
||||||
const char* fld_val = nullptr;
|
const char* fld_val = NULL;
|
||||||
|
|
||||||
switch (tipo)
|
switch (tipo)
|
||||||
{
|
{
|
||||||
case 'P': fld_sez = SALDANA_SEZIONEP; fld_val = SALDANA_SALDOP; break;
|
case 'P': fld_sez = SALDANA_SEZIONEP; fld_val = SALDANA_SALDOP; break;
|
||||||
@ -2512,7 +2500,7 @@ bool TAnal_mov::save_saldi(const int annoes)
|
|||||||
|
|
||||||
const TImporto * ind = (const TImporto*) _saldind.objptr(key);
|
const TImporto * ind = (const TImporto*) _saldind.objptr(key);
|
||||||
|
|
||||||
if (ind != nullptr)
|
if (ind != NULL)
|
||||||
{
|
{
|
||||||
const TImporto& impind = *(const TImporto*)ind;
|
const TImporto& impind = *(const TImporto*)ind;
|
||||||
switch (tipo)
|
switch (tipo)
|
||||||
@ -2683,8 +2671,7 @@ int TAnal_mov::save_rmov_comp() const
|
|||||||
{
|
{
|
||||||
const TRectype* rmov_old = (TRectype*)itm;
|
const TRectype* rmov_old = (TRectype*)itm;
|
||||||
const TRectype* rmov_new = (TRectype*)new_rows.objptr(key);
|
const TRectype* rmov_new = (TRectype*)new_rows.objptr(key);
|
||||||
|
if (rmov_new == NULL)
|
||||||
if (rmov_new == nullptr)
|
|
||||||
rmov_old->remove(file);
|
rmov_old->remove(file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3309,12 +3296,10 @@ bool ca_extract_sheet_field(const TSheet_field& sheet, const int row, const int
|
|||||||
FOR_EACH_MASK_FIELD(mask_sheet, i, f) //giro sui campi della maschera di riga
|
FOR_EACH_MASK_FIELD(mask_sheet, i, f) //giro sui campi della maschera di riga
|
||||||
{
|
{
|
||||||
const TFieldref* fr = f->field(); //campo corrente della maschera
|
const TFieldref* fr = f->field(); //campo corrente della maschera
|
||||||
|
if (fr != NULL && f->is_edit()) //deve essere un campo di tipo edit
|
||||||
if (fr != nullptr && f->is_edit()) //deve essere un campo di tipo edit
|
|
||||||
{
|
{
|
||||||
TEdit_field& e = *(TEdit_field*)f; //visto che è di tipo edit può creare l'edit_field per farne la browse
|
TEdit_field& e = *(TEdit_field*)f; //visto che è di tipo edit può creare l'edit_field per farne la browse
|
||||||
|
if (e.browse() != NULL)
|
||||||
if (e.browse() != nullptr)
|
|
||||||
{
|
{
|
||||||
const TCursor& cur = *e.browse()->cursor();
|
const TCursor& cur = *e.browse()->cursor();
|
||||||
const int ln = cur.file().num(); //Allah! dal campo ricava il cursore sul file di numero ln
|
const int ln = cur.file().num(); //Allah! dal campo ricava il cursore sul file di numero ln
|
||||||
|
@ -4,7 +4,6 @@
|
|||||||
|
|
||||||
#include <rdoc.h>
|
#include <rdoc.h>
|
||||||
#include <pconti.h>
|
#include <pconti.h>
|
||||||
#include <utility.h>
|
|
||||||
|
|
||||||
#include "movana.h"
|
#include "movana.h"
|
||||||
#include "pconana.h"
|
#include "pconana.h"
|
||||||
@ -264,7 +263,7 @@ bool TPconana_recordset::valid_record(const TRelation& rel) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const TPconana_recordset* _current_recset = nullptr;
|
static const TPconana_recordset* _current_recset = NULL;
|
||||||
|
|
||||||
bool TPconana_recordset::pianoconti_filter(const TRelation* rel)
|
bool TPconana_recordset::pianoconti_filter(const TRelation* rel)
|
||||||
{ return _current_recset->valid_record(*rel); }
|
{ return _current_recset->valid_record(*rel); }
|
||||||
@ -366,13 +365,12 @@ size_t TAnal_report::get_usr_words(TString_array& words) const
|
|||||||
"CA_FORMAT_CONTO",
|
"CA_FORMAT_CONTO",
|
||||||
"CA_FORMAT_CMSCDC",
|
"CA_FORMAT_CMSCDC",
|
||||||
"CA_FORMAT_CONTO_DESCR",
|
"CA_FORMAT_CONTO_DESCR",
|
||||||
nullptr
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
((TAnal_report*)this)->_first_msg = words.items(); // Calcola il primo numero disponibile
|
((TAnal_report*)this)->_first_msg = words.items(); // Calcola il primo numero disponibile
|
||||||
size_t i;
|
size_t i;
|
||||||
|
for (i = 0; name[i] != NULL; i++)
|
||||||
for (i = 0; name[i] != nullptr; i++)
|
|
||||||
words.add(name[i]);
|
words.add(name[i]);
|
||||||
|
|
||||||
return words.items();
|
return words.items();
|
||||||
@ -1127,11 +1125,13 @@ TSaldi_cache::TSaldi_cache() : TCache(3881) // Numero primo
|
|||||||
|
|
||||||
const TSaldanal& ca_saldo(const TAnal_bill& bill, const TDate& dal, const TDate& al, word tipi)
|
const TSaldanal& ca_saldo(const TAnal_bill& bill, const TDate& dal, const TDate& al, word tipi)
|
||||||
{
|
{
|
||||||
static TSaldi_cache* cache = nullptr;
|
static TSaldi_cache* cache = NULL;
|
||||||
|
if (tipi == 0 && cache != NULL)
|
||||||
if (tipi == 0)
|
{
|
||||||
SAFE_DELETE(cache);
|
delete cache;
|
||||||
if (cache == nullptr)
|
cache = NULL;
|
||||||
|
}
|
||||||
|
if (cache == NULL)
|
||||||
cache = new TSaldi_cache;
|
cache = new TSaldi_cache;
|
||||||
return cache->saldo(bill, dal, al, tipi);
|
return cache->saldo(bill, dal, al, tipi);
|
||||||
}
|
}
|
||||||
@ -1168,8 +1168,7 @@ int TAnal_report_mask::create_sheet_fields(short sheet_id, int lf, int& y, short
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* fieldname = nullptr;
|
const char* fieldname = NULL;
|
||||||
|
|
||||||
switch(logic)
|
switch(logic)
|
||||||
{
|
{
|
||||||
case LF_CDC : fieldname = RMOVANA_CODCCOSTO; break;
|
case LF_CDC : fieldname = RMOVANA_CODCCOSTO; break;
|
||||||
@ -1208,8 +1207,7 @@ void TAnal_report_mask::create_sheet(short sheet_id)
|
|||||||
|
|
||||||
for (int i = 0; i < 2; i++)
|
for (int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
const TString& level = ini.get("Level", nullptr, i+1); // Legge il livello 1 o 2
|
const TString& level = ini.get("Level", NULL, i+1); // Legge il livello 1 o 2
|
||||||
|
|
||||||
if (level == "CDC") // Crea centro di costo
|
if (level == "CDC") // Crea centro di costo
|
||||||
{
|
{
|
||||||
if (fasinfo.parent() == LF_CDC)
|
if (fasinfo.parent() == LF_CDC)
|
||||||
@ -1257,8 +1255,7 @@ int TAnal_report_mask::get_row_bill(TSheet_field& sf, int r, TAnal_bill& bill)
|
|||||||
for (int level = 0; level <= 2; level++)
|
for (int level = 0; level <= 2; level++)
|
||||||
{
|
{
|
||||||
const TMultilevel_code_info* info = ca_multilevel_code_info_by_index(level);
|
const TMultilevel_code_info* info = ca_multilevel_code_info_by_index(level);
|
||||||
|
if (info == NULL)
|
||||||
if (info == nullptr)
|
|
||||||
break;
|
break;
|
||||||
TString20 code;
|
TString20 code;
|
||||||
for (int i = 0; i < info->levels(); i++)
|
for (int i = 0; i < info->levels(); i++)
|
||||||
@ -1283,8 +1280,7 @@ int TAnal_report_mask::set_row_bill(TSheet_field& sf, int r, const TAnal_bill& b
|
|||||||
for (int level = 0; level <= 2; level++)
|
for (int level = 0; level <= 2; level++)
|
||||||
{
|
{
|
||||||
const TMultilevel_code_info* info = ca_multilevel_code_info_by_index(level);
|
const TMultilevel_code_info* info = ca_multilevel_code_info_by_index(level);
|
||||||
|
if (info == NULL)
|
||||||
if (info == nullptr)
|
|
||||||
break;
|
break;
|
||||||
TToken_string code;
|
TToken_string code;
|
||||||
switch (info->logic())
|
switch (info->logic())
|
||||||
|
@ -1343,8 +1343,8 @@ void TStampa_IVdirettiva::crea_sort_piano_conti_verifica()
|
|||||||
sld_prg_avere_conto = ZERO;
|
sld_prg_avere_conto = ZERO;
|
||||||
mov_dare_conto = ZERO;
|
mov_dare_conto = ZERO;
|
||||||
mov_avere_conto = ZERO;
|
mov_avere_conto = ZERO;
|
||||||
// _nuovo_tot_saldo_d = ZERO;
|
_nuovo_tot_saldo_d = ZERO;
|
||||||
// _nuovo_tot_saldo_a = ZERO;
|
_nuovo_tot_saldo_a = ZERO;
|
||||||
|
|
||||||
indbil = 0;
|
indbil = 0;
|
||||||
gruppo_prec = -1;
|
gruppo_prec = -1;
|
||||||
|
@ -1487,19 +1487,12 @@ void TPrimanota_application::check_saldi()
|
|||||||
|
|
||||||
void TPrimanota_application::write_fppro()
|
void TPrimanota_application::write_fppro()
|
||||||
{
|
{
|
||||||
#ifdef DBG
|
|
||||||
if (!ini_get_bool(CONFIG_INSTALL, "Main", "SkipFPPRO"))
|
|
||||||
{
|
|
||||||
#endif
|
|
||||||
// Controllo se la registrazione ha avuto effetto anche su FPPRO allora salvo riferimento sul mov
|
// Controllo se la registrazione ha avuto effetto anche su FPPRO allora salvo riferimento sul mov
|
||||||
if (save_fppro() > 0 && !save_dbmov())
|
if (save_fppro() > 0 && !save_dbmov())
|
||||||
message_box(
|
message_box(
|
||||||
"ATTENZIONE: non e' stato possibile salvare i riferimenti del documento in ingresso per questo movimento.\n"
|
"ATTENZIONE: non e' stato possibile salvare i riferimenti del documento in ingresso per questo movimento.\n"
|
||||||
"Movimento registrato senza collegamento ai documenti in ingresso.");
|
"Movimento registrato senza collegamento ai documenti in ingresso.");
|
||||||
#ifdef DBG
|
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::has_tot_doc(TToken_string& fppro_keys)
|
bool TPrimanota_application::has_tot_doc(TToken_string& fppro_keys)
|
||||||
{
|
{
|
||||||
|
@ -1163,8 +1163,8 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
long nr = _mov->get_long(MOV_NUMREG);
|
long nr = _mov->get_long(MOV_NUMREG);
|
||||||
|
|
||||||
if (nr == 181975)
|
if (nr == 18489 || nr == 27710)
|
||||||
int i = 1;
|
int i = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const int liqmonth = _mov->get_int(MOV_MESELIQ);
|
const int liqmonth = _mov->get_int(MOV_MESELIQ);
|
||||||
@ -1242,7 +1242,6 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
TPointer_array pagscatt; // Righe di pagsca interessate
|
TPointer_array pagscatt; // Righe di pagsca interessate
|
||||||
|
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
if (nr == 181975)
|
|
||||||
int i = 1;
|
int i = 1;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1558,8 +1557,7 @@ void TLiquidazione_app::recalc_att(int month, const char* codatt, TAssoc_array &
|
|||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
long nr = _mov->get_long(MOV_NUMREG);
|
long nr = _mov->get_long(MOV_NUMREG);
|
||||||
|
|
||||||
if (nr == 181975)
|
int i = 1;
|
||||||
int i = 1;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((soloiva &&
|
if ((soloiva &&
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
|
|
||||||
#include "../ca/movana.h"
|
#include "../ca/movana.h"
|
||||||
#include "../ca/rmovana.h"
|
#include "../ca/rmovana.h"
|
||||||
#include "../cg/cglib03.h"
|
|
||||||
|
|
||||||
// Fine del comando sql con separatore magico per crpa.exe
|
// Fine del comando sql con separatore magico per crpa.exe
|
||||||
#define SQL_EOL "æ"
|
#define SQL_EOL "æ"
|
||||||
|
@ -44,7 +44,6 @@
|
|||||||
#define F_DESCONTSEP 239
|
#define F_DESCONTSEP 239
|
||||||
#define F_MANDATO 240
|
#define F_MANDATO 240
|
||||||
|
|
||||||
|
|
||||||
#define F_IBAN 250
|
#define F_IBAN 250
|
||||||
#define F_IBAN_STATO 251
|
#define F_IBAN_STATO 251
|
||||||
#define F_IBAN_CHECK 252
|
#define F_IBAN_CHECK 252
|
||||||
|
@ -26,8 +26,7 @@ BEGIN
|
|||||||
PROMPT 30 1 "Numero "
|
PROMPT 30 1 "Numero "
|
||||||
FIELD NPROGTR
|
FIELD NPROGTR
|
||||||
KEY 1
|
KEY 1
|
||||||
USE LF_EFFETTI
|
USE LF_EFFETTI SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF))
|
||||||
// SELECT (TIPOCF=#F_TIPOCF)&&(BETWEEN(CODCF,#F_CODCF,#F_CODCF))
|
|
||||||
JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF
|
JOIN LF_CLIFO INTO CODCF=CODCF TIPOCF=TIPOCF
|
||||||
INPUT NPROGTR F_NPROGTR
|
INPUT NPROGTR F_NPROGTR
|
||||||
DISPLAY "Nr.progr." NPROGTR
|
DISPLAY "Nr.progr." NPROGTR
|
||||||
|
@ -98,10 +98,8 @@ int TEffetto::leggi(TLocalisamfile &f, const TRectype& r, word lockop)
|
|||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{ // leggo dai record array
|
{ // leggo dai record array
|
||||||
_righe.read(k_reff);
|
_righe.read(k_reff);
|
||||||
_righe.pack();
|
|
||||||
_cess.read(k_cess);
|
_cess.read(k_cess);
|
||||||
_cess.pack();
|
}
|
||||||
}
|
|
||||||
else // se ho trovato un errore
|
else // se ho trovato un errore
|
||||||
{
|
{
|
||||||
head() = r;
|
head() = r;
|
||||||
|
@ -54,20 +54,20 @@ int TDistinta::read(const char tipo, const long numero, word lockop)
|
|||||||
{
|
{
|
||||||
TISAM_recordset reff(query(tipo, numero));
|
TISAM_recordset reff(query(tipo, numero));
|
||||||
TLocalisamfile& f = reff.cursor()->file();
|
TLocalisamfile& f = reff.cursor()->file();
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
for (bool ok = reff.move_first(); ok; ok = reff.move_next())
|
||||||
for (bool ok = reff.move_first(); ok; ok = reff.move_next(), i++)
|
|
||||||
{
|
{
|
||||||
const word lock = (i == 0 && lockop == _lock) ? _lock : _nolock; // Lock solo sulla prima riga
|
const word lock = (i == 0 && lockop == _lock) ? _lock : _nolock; // Lock solo sulla prima riga
|
||||||
const int n = reff.get(EFF_NRIGADIST).as_int();
|
const int n = reff.get(EFF_NRIGADIST).as_int();
|
||||||
TEffetto effetto;
|
TEffetto* effetto = new TEffetto;
|
||||||
|
err = effetto->read(f, tipo, numero, n, lock);//legge un effetto per chiave 4
|
||||||
err = effetto.read(f, tipo, numero, n, lock);//legge un effetto per chiave 4
|
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
_righe_dist.add(effetto, i);
|
i = _righe_dist.add(effetto) + 1;
|
||||||
effetto.put(EFF_NRIGADIST, i + 1);
|
effetto->put(EFF_NRIGADIST, i);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
delete effetto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// se ho letto degli effetti della distinta ed ho
|
// se ho letto degli effetti della distinta ed ho
|
||||||
|
@ -617,9 +617,7 @@ void TContabilizzazione_effetti_app::join_rows(TArray& customers, TAssoc_array&
|
|||||||
{
|
{
|
||||||
TBill zio;
|
TBill zio;
|
||||||
TRectype riga(_movimento->cg(0));
|
TRectype riga(_movimento->cg(0));
|
||||||
|
if (!abbuoni_pas.is_zero())
|
||||||
riga.zero(RMV_DESCR);
|
|
||||||
if (!abbuoni_pas.is_zero())
|
|
||||||
{
|
{
|
||||||
_caus->bill(9, zio); zio.put(riga);
|
_caus->bill(9, zio); zio.put(riga);
|
||||||
if (!zio.ok()) _error = cau_abb_error;
|
if (!zio.ok()) _error = cau_abb_error;
|
||||||
|
@ -24,6 +24,43 @@
|
|||||||
|
|
||||||
static XVT_SQLDB _db = NULL; // SEPA sqlite db
|
static XVT_SQLDB _db = NULL; // SEPA sqlite db
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Utilities
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
// Cerca una stringa all'interno di una SLIST (Potrebbe diventare una funzione di XVT.h)
|
||||||
|
static SLIST_ELT xvt_slist_find_str(SLIST list, const char* str)
|
||||||
|
{
|
||||||
|
SLIST_ELT e = NULL;
|
||||||
|
for (e = xvt_slist_get_first(list); e; e = xvt_slist_get_next(list, e))
|
||||||
|
{
|
||||||
|
const char* val = xvt_slist_get(list, e, NULL);
|
||||||
|
if (xvt_str_compare_ignoring_case(str, val) == 0)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorna il file dst se più vecchio di src (Potrebbe diventare una funzione di XVT.h)
|
||||||
|
bool xvt_fsys_fupdate(const char* src, const char* dst)
|
||||||
|
{
|
||||||
|
bool ok = false;
|
||||||
|
if (xvt_fsys_file_exists(src))
|
||||||
|
{
|
||||||
|
const long tsrc = xvt_fsys_file_attr(src, XVT_FILE_ATTR_MTIME);
|
||||||
|
if (tsrc > 0)
|
||||||
|
{
|
||||||
|
long tdst = 0;
|
||||||
|
if (xvt_fsys_file_exists(dst))
|
||||||
|
tdst = xvt_fsys_file_attr(dst, XVT_FILE_ATTR_MTIME);
|
||||||
|
if (tsrc > tdst)
|
||||||
|
ok = xvt_fsys_fcopy(src, dst) != 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
// TJava_profile
|
// TJava_profile
|
||||||
/////////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -62,7 +62,7 @@ BEGIN
|
|||||||
OUTPUT F_CAB CODTAB[6,10]
|
OUTPUT F_CAB CODTAB[6,10]
|
||||||
OUTPUT F_PRO CODTAB[11,12]
|
OUTPUT F_PRO CODTAB[11,12]
|
||||||
OUTPUT F_BANCA 4->S0
|
OUTPUT F_BANCA 4->S0
|
||||||
CHECTYPE NORMAL
|
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_BANCA 50 47
|
STRING F_BANCA 50 47
|
||||||
|
@ -244,6 +244,10 @@ TExclusion_mode TSpesometro_msk::validate_mov(const TRectype& mov)
|
|||||||
if (anno < 2012)
|
if (anno < 2012)
|
||||||
return segnala_movimento(mov, em_data_limite);
|
return segnala_movimento(mov, em_data_limite);
|
||||||
|
|
||||||
|
#ifdef DBG
|
||||||
|
if (mov.get_long(MOV_NUMREG) ==14224)
|
||||||
|
int sn = 1;
|
||||||
|
#endif
|
||||||
const char tipocf = mov.get_char(MOV_TIPO);
|
const char tipocf = mov.get_char(MOV_TIPO);
|
||||||
const real impmin = get_real(F_IMPMIN);
|
const real impmin = get_real(F_IMPMIN);
|
||||||
|
|
||||||
|
@ -552,7 +552,7 @@ protected:
|
|||||||
//void set_rec_clifo(char tipocf, long codcf);
|
//void set_rec_clifo(char tipocf, long codcf);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static void fill_buoni(map<TString20, TFPBuono_di_consegna>& buoni, const TString& memo, bool last);
|
static void fill_buoni(map<TString20, TFPBuono_di_consegna>& buoni, const TString& memo, bool last = false);
|
||||||
bool doc_to_paf(TDocumentoEsteso& doc);
|
bool doc_to_paf(TDocumentoEsteso& doc);
|
||||||
bool doc_to_paf(const TRectype& rec);
|
bool doc_to_paf(const TRectype& rec);
|
||||||
bool doc_to_paf(const TDoc_key& key);
|
bool doc_to_paf(const TDoc_key& key);
|
||||||
|
@ -73,7 +73,7 @@ int n;
|
|||||||
tmpa[i] = pSrc[i];
|
tmpa[i] = pSrc[i];
|
||||||
|
|
||||||
/* sort pointers */
|
/* sort pointers */
|
||||||
qsort((void *)tmpa,n,sizeof(DEC *), (int (__cdecl *)(void)) _SortInc);
|
qsort((void *)tmpa,n,sizeof(DEC *), _SortInc);
|
||||||
|
|
||||||
if (n%2)
|
if (n%2)
|
||||||
_MacDCopy(pDst, tmpa[(n-1)/2]);
|
_MacDCopy(pDst, tmpa[(n-1)/2]);
|
||||||
|
@ -395,9 +395,7 @@ THEN
|
|||||||
#F1.203 +!</postscript>
|
#F1.203 +!</postscript>
|
||||||
</field>
|
</field>
|
||||||
</section>
|
</section>
|
||||||
<sql>USE IVADIFF KEY 4 SELECT (BETWEEN(DATAREGP;#DAL;#AL))(TIPOIVA==#TIPOIVA)(TIPODIFF==#TIPODIFF)((CHIUSA=#CHIUSA)||(#CHIUSA="T"))
|
<sql>USE IVADIFF SELECT (BETWEEN(DATAREG,#DAL,#AL))(TIPOIVA==#TIPOIVA)(TIPODIFF==#TIPODIFF)((CHIUSA=#CHIUSA)||(#CHIUSA="T"))
|
||||||
FROM DATAREG=#DAL
|
|
||||||
TO DATAREG=#AL
|
|
||||||
JOIN MOV INTO NUMREG==NUMREG
|
JOIN MOV INTO NUMREG==NUMREG
|
||||||
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF</sql>
|
JOIN CLIFO TO MOV INTO TIPOCF==TIPO CODCF==CODCF</sql>
|
||||||
</report>
|
</report>
|
@ -321,8 +321,7 @@ void TRiepiloghi::add(const TRectype& row, const TRectype& head, const TRectype&
|
|||||||
key.add(row.get("PROV"));
|
key.add(row.get("PROV"));
|
||||||
|
|
||||||
TDati_riepilogo* data = (TDati_riepilogo*)_ass.objptr(key);
|
TDati_riepilogo* data = (TDati_riepilogo*)_ass.objptr(key);
|
||||||
|
if (data == NULL)
|
||||||
if (data == nullptr)
|
|
||||||
{
|
{
|
||||||
data = new TDati_riepilogo(key, row, codval);
|
data = new TDati_riepilogo(key, row, codval);
|
||||||
_ass.add(key, data);
|
_ass.add(key, data);
|
||||||
@ -358,7 +357,7 @@ long TRettifiche::nc2ft(long numreg_nc) const
|
|||||||
|
|
||||||
TPartite_array games;
|
TPartite_array games;
|
||||||
games.add_numreg(numreg_nc); // Carica le partite in cui è coinvolta questa nota di credito (sempre e solo una!)
|
games.add_numreg(numreg_nc); // Carica le partite in cui è coinvolta questa nota di credito (sempre e solo una!)
|
||||||
for (TPartita* p = games.first(); p != nullptr && numreg_ft<=0; p = games.next())
|
for (TPartita* p = games.first(); p != NULL && numreg_ft<=0; p = games.next())
|
||||||
{
|
{
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
if (p->conto().codclifo() == 13201)
|
if (p->conto().codclifo() == 13201)
|
||||||
|
@ -1170,12 +1170,7 @@ bool TAlex_virtual_machine::execute(const TBytecode& bc)
|
|||||||
|
|
||||||
bool TAlex_virtual_machine::compile(const char* cmd, TBytecode& bc)
|
bool TAlex_virtual_machine::compile(const char* cmd, TBytecode& bc)
|
||||||
{
|
{
|
||||||
#ifdef LINUX
|
|
||||||
string s(cmd);
|
|
||||||
istringstream instr(s);
|
|
||||||
#else
|
|
||||||
istrstream instr((const char*)cmd, strlen(cmd));
|
istrstream instr((const char*)cmd, strlen(cmd));
|
||||||
#endif
|
|
||||||
return compile(instr, bc);
|
return compile(instr, bc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,11 +296,12 @@ void TApplication::stop_run()
|
|||||||
{
|
{
|
||||||
if (_savefirm)
|
if (_savefirm)
|
||||||
prefix().set_codditta(_savefirm);
|
prefix().set_codditta(_savefirm);
|
||||||
terminate();
|
terminate();
|
||||||
|
|
||||||
xvt_app_destroy();
|
xvt_app_destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool TApplication::add_menu(TString_array& menu, MENU_TAG id)
|
bool TApplication::add_menu(TString_array& menu, MENU_TAG id)
|
||||||
{
|
{
|
||||||
TTemp_window tw(TASK_WIN);
|
TTemp_window tw(TASK_WIN);
|
||||||
@ -315,77 +316,19 @@ bool TApplication::remove_menu(MENU_TAG id)
|
|||||||
|
|
||||||
|
|
||||||
TApplication::TApplication()
|
TApplication::TApplication()
|
||||||
: _god_vars(nullptr),_savefirm(0), _running(false), _create_ok(false), _force(false)
|
: _god_vars(NULL),_savefirm(0), _running(FALSE), _create_ok(FALSE)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
TApplication::~TApplication()
|
TApplication::~TApplication()
|
||||||
{
|
{
|
||||||
SAFE_DELETE(_god_vars);
|
if (_god_vars != NULL)
|
||||||
}
|
delete _god_vars;
|
||||||
|
|
||||||
const TString & logdir()
|
|
||||||
{
|
|
||||||
TString & name = get_tmp_string(1024);
|
|
||||||
|
|
||||||
name << firm2dir(prefix().get_codditta()) << "/log";
|
|
||||||
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
const TString & logname()
|
|
||||||
{
|
|
||||||
TString & name = (TString &) logdir();
|
|
||||||
|
|
||||||
name << "/dblog.xml";
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
const TString & rollname(const TDate & day)
|
|
||||||
{
|
|
||||||
TString & name = (TString &)logdir();
|
|
||||||
|
|
||||||
name << "/dblog" << day.date2ansi() << ".txt";
|
|
||||||
return name;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TApplication::create()
|
bool TApplication::create()
|
||||||
{
|
{ return true; }
|
||||||
if (use_files())
|
|
||||||
{
|
|
||||||
TConfig c(CONFIG_STUDIO, "Main");
|
|
||||||
|
|
||||||
db_log(c.get("DBLog", "Main", -1, "off") == "on");
|
|
||||||
|
|
||||||
if (db_log())
|
|
||||||
{
|
|
||||||
TFilename logd = logdir();
|
|
||||||
int roll_days = c.get_int("RollingDays", "Main", -1, 10);
|
|
||||||
TDate oggi(TODAY);
|
|
||||||
TDate lastroll(c.get("LastDate", "Main", -1, oggi.stringa()));
|
|
||||||
TDate limit(lastroll);
|
|
||||||
|
|
||||||
if (!logd.exist())
|
|
||||||
make_dir(logd);
|
|
||||||
limit += roll_days;
|
|
||||||
if (!lastroll.ok() || (limit <= oggi))
|
|
||||||
{
|
|
||||||
TSystemisamfile dblog(LF_DBLOG);
|
|
||||||
TFilename roll = rollname(lastroll);
|
|
||||||
TFilename logn = logname();
|
|
||||||
|
|
||||||
dblog.dump(roll);
|
|
||||||
dblog.zap();
|
|
||||||
if (logn.exist())
|
|
||||||
{
|
|
||||||
roll.ext("xml");
|
|
||||||
rename(logn, roll);
|
|
||||||
}
|
|
||||||
c.set("LastDate", oggi.date2ansi());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool TApplication::destroy()
|
bool TApplication::destroy()
|
||||||
@ -398,8 +341,7 @@ void TApplication::terminate()
|
|||||||
if (_create_ok)
|
if (_create_ok)
|
||||||
destroy(); // Distruzione files e maschere
|
destroy(); // Distruzione files e maschere
|
||||||
|
|
||||||
if(!_force)
|
do_events();
|
||||||
do_events();
|
|
||||||
|
|
||||||
if (use_files())
|
if (use_files())
|
||||||
{
|
{
|
||||||
@ -429,8 +371,7 @@ const char* TApplication::get_module_name() const
|
|||||||
const TDongle& d = dongle();
|
const TDongle& d = dongle();
|
||||||
const TString4 modname = _name.left(2);
|
const TString4 modname = _name.left(2);
|
||||||
word aut = d.module_name2code(modname);
|
word aut = d.module_name2code(modname);
|
||||||
|
if (aut == 0xFFFF && modname == "ps")
|
||||||
if (aut == 0xFFFF && modname == "ps")
|
|
||||||
{
|
{
|
||||||
aut = 0;
|
aut = 0;
|
||||||
module = TR("Personalizzazioni");
|
module = TR("Personalizzazioni");
|
||||||
@ -463,12 +404,19 @@ const char* TApplication::get_module_name() const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!ok && !is_power_station())
|
if (!ok)
|
||||||
{
|
{
|
||||||
cantaccess_box(module);
|
if(is_power_station())
|
||||||
module.cut(0);
|
{
|
||||||
}
|
warning_box("Attenzione! Non sei abilitato per l'utilizzo del modulo %s", static_cast<const char*>(module));
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cantaccess_box(module);
|
||||||
|
module.cut(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
@ -821,7 +769,7 @@ void TApplication::open_files(int logicnum, ...)
|
|||||||
va_start(marker, logicnum);
|
va_start(marker, logicnum);
|
||||||
while (logicnum >= LF_USER && logicnum < LF_EXTERNAL)
|
while (logicnum >= LF_USER && logicnum < LF_EXTERNAL)
|
||||||
{
|
{
|
||||||
if (_used_files.objptr(logicnum) == nullptr)
|
if (_used_files.objptr(logicnum) == NULL)
|
||||||
_used_files.add(new TLocalisamfile(logicnum), logicnum);
|
_used_files.add(new TLocalisamfile(logicnum), logicnum);
|
||||||
logicnum = va_arg(marker, int);
|
logicnum = va_arg(marker, int);
|
||||||
}
|
}
|
||||||
|
@ -51,9 +51,6 @@ class TApplication
|
|||||||
|
|
||||||
// @cmember:(INTERNAL) Codice della ditta
|
// @cmember:(INTERNAL) Codice della ditta
|
||||||
long _savefirm;
|
long _savefirm;
|
||||||
// @cmember:(INTERNAL) Chiusura forzata per programmi senza interfaccia
|
|
||||||
bool _force;
|
|
||||||
|
|
||||||
|
|
||||||
// @cmember:(INTERNAL) Indica se l'applicazione e' partita
|
// @cmember:(INTERNAL) Indica se l'applicazione e' partita
|
||||||
bool _running;
|
bool _running;
|
||||||
@ -62,7 +59,7 @@ class TApplication
|
|||||||
|
|
||||||
// @cmember:(INTERNAL) Termine dell'applicazione
|
// @cmember:(INTERNAL) Termine dell'applicazione
|
||||||
void terminate();
|
void terminate();
|
||||||
|
|
||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
// @cmember Ritorna il nome del modulo dell'applicazione
|
// @cmember Ritorna il nome del modulo dell'applicazione
|
||||||
@ -138,8 +135,6 @@ public:
|
|||||||
|
|
||||||
// @cmember Forza la chiusura dell'applicazione
|
// @cmember Forza la chiusura dell'applicazione
|
||||||
void stop_run();
|
void stop_run();
|
||||||
void TApplication::force_stop() {_force = true;}
|
|
||||||
|
|
||||||
|
|
||||||
// @cmember Mette il segno Check a fianco di una voce di menu
|
// @cmember Mette il segno Check a fianco di una voce di menu
|
||||||
void check_menu_item(MENU_TAG item, bool on = true);
|
void check_menu_item(MENU_TAG item, bool on = true);
|
||||||
@ -200,10 +195,6 @@ public:
|
|||||||
virtual ~TApplication();
|
virtual ~TApplication();
|
||||||
};
|
};
|
||||||
|
|
||||||
const TString & logdir();
|
|
||||||
const TString & logname();
|
|
||||||
const TString & rollname(const TDate & day);
|
|
||||||
|
|
||||||
class TSkeleton_application : public TApplication
|
class TSkeleton_application : public TApplication
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -1634,10 +1634,8 @@ void TButton_control::create(WINDOW win, short cid,
|
|||||||
mnemonic = txt[underscore+1];
|
mnemonic = txt[underscore+1];
|
||||||
txt.strip("&~");
|
txt.strip("&~");
|
||||||
}
|
}
|
||||||
|
const char* t = parse_caption(txt, bold, big, color);
|
||||||
const char* t = parse_caption(txt, bold, big, color);
|
if (width <= 0) width = strlen(t)+3;
|
||||||
|
|
||||||
if (width <= 0) width = (short) strlen(t)+3;
|
|
||||||
|
|
||||||
XI_RCT rct = coord2rct(get_interface(win), left, top, width, height);
|
XI_RCT rct = coord2rct(get_interface(win), left, top, width, height);
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum TDongleHardware { _dongle_unknown, _dongle_hardlock, _dongle_eutron, _dongle_network, _dongle_ssa, _dongle_ssanet,_dongle_software };
|
enum TDongleHardware { _dongle_unknown=0, _dongle_network=3, _dongle_ssa=4, _dongle_ssanet=5 };
|
||||||
enum TDongleType { _no_dongle, _user_dongle, _developer_dongle };
|
enum TDongleType { _no_dongle, _user_dongle, _developer_dongle };
|
||||||
|
|
||||||
class TDongle : public TObject
|
class TDongle : public TObject
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
182
|
181
|
||||||
0
|
0
|
||||||
$dblog|||319|0|Log Transazioni|||
|
$dblog|||319|0|Log Transazioni|||
|
@ -1,4 +1,4 @@
|
|||||||
182
|
181
|
||||||
15
|
15
|
||||||
TIMESTAMP|3|10|0|Data e Ora
|
TIMESTAMP|3|10|0|Data e Ora
|
||||||
FILE|2|4|0|File
|
FILE|2|4|0|File
|
@ -27,12 +27,6 @@ class TDir : public TObject
|
|||||||
// @author:(INTERNAL) Alessandro
|
// @author:(INTERNAL) Alessandro
|
||||||
// @access:(INTERNAL) Private Member
|
// @access:(INTERNAL) Private Member
|
||||||
{
|
{
|
||||||
TString _name;
|
|
||||||
RecNoType _eod;
|
|
||||||
RecNoType _eox;
|
|
||||||
int _len;
|
|
||||||
int _flags;
|
|
||||||
TString _des;
|
|
||||||
|
|
||||||
// @cmember:(INTERNAL) Descrittore del file
|
// @cmember:(INTERNAL) Descrittore del file
|
||||||
FileDes _dir;
|
FileDes _dir;
|
||||||
@ -67,9 +61,10 @@ public:
|
|||||||
void set (const char * name, const RecNoType eod, const RecNoType flag, const char * des, const char * calc);
|
void set (const char * name, const RecNoType eod, const RecNoType flag, const char * des, const char * calc);
|
||||||
|
|
||||||
// @cmember Stampa la descrizione del direttorio sull'output selezionato
|
// @cmember Stampa la descrizione del direttorio sull'output selezionato
|
||||||
virtual void print_on(ostream& out) const;
|
virtual void print_on(ostream& out) const;
|
||||||
// @cmember Legge la descrizione del direttorio dall' input selezionato
|
// @cmember Legge la descrizione del direttorio dall' input selezionato
|
||||||
virtual void read_from(istream& in);
|
virtual void read_from(istream& in);
|
||||||
|
|
||||||
// @cmember Ritorna il nome del file selezionato
|
// @cmember Ritorna il nome del file selezionato
|
||||||
const char* name() const;
|
const char* name() const;
|
||||||
// @cmember Ritorna il nome dei file dati selezionato
|
// @cmember Ritorna il nome dei file dati selezionato
|
||||||
@ -125,42 +120,6 @@ public:
|
|||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
class TFieldDes : public TSortable
|
|
||||||
{
|
|
||||||
TString16 _name;
|
|
||||||
word _len;
|
|
||||||
word _dec;
|
|
||||||
word _offset;
|
|
||||||
|
|
||||||
public:
|
|
||||||
inline TString & name() { return _name; }
|
|
||||||
inline word & len() { return _len; }
|
|
||||||
inline word & dec() { return _dec; }
|
|
||||||
inline word & offset() { return _offset; }
|
|
||||||
|
|
||||||
TFieldDes() : _name(""), _len(0), _dec(0), _offset(0) {}
|
|
||||||
TFieldDes(const char * name, word len, word dec, word offset) : _name(name), _len(len), _dec(dec), _offset(offset) {}
|
|
||||||
TFieldDes(const TFieldDes & fd) : _name(fd._name), _len(fd._len), _dec(fd._dec), _offset(fd._offset) {}
|
|
||||||
~TFieldDes() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
class TKeyDes : public TSortable
|
|
||||||
{
|
|
||||||
bool _dupkeys;
|
|
||||||
TArray _fields;
|
|
||||||
|
|
||||||
public:
|
|
||||||
inline bool & dupkeys() { return _dupkeys; }
|
|
||||||
void set_field(const TToken_string & field) { _fields.insert(field); }
|
|
||||||
inline TString fieldname(int i) { return _fields.objptr(i) != NULL ? ((TToken_string &)_fields[i]).get(0) : EMPTY_STRING; }
|
|
||||||
inline byte from(int i) { return _fields.objptr(i) != NULL ? ((TToken_string &)_fields[i]).get_int(1) : 0; }
|
|
||||||
inline byte to(int i) { return _fields.objptr(i) != NULL ? ((TToken_string &)_fields[i]).get_int(2) : 0; }
|
|
||||||
|
|
||||||
TKeyDes(bool dupkeys = false) : _dupkeys(dupkeys) {}
|
|
||||||
TKeyDes(const TKeyDes & kd) : _dupkeys(kd._dupkeys), _fields(kd._fields) {}
|
|
||||||
~TKeyDes() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
// @class TTrec | Classe per le gestione dei tracciati record dei file
|
// @class TTrec | Classe per le gestione dei tracciati record dei file
|
||||||
//
|
//
|
||||||
// @base public | TSortable
|
// @base public | TSortable
|
||||||
@ -169,9 +128,6 @@ class TTrec : public TSortable
|
|||||||
// @author:(INTERNAL) Alessandro
|
// @author:(INTERNAL) Alessandro
|
||||||
// @access:(INTERNAL) Private Member
|
// @access:(INTERNAL) Private Member
|
||||||
{
|
{
|
||||||
TArray _fields;
|
|
||||||
TPointer_array _sorted_fields;
|
|
||||||
TArray _keys;
|
|
||||||
|
|
||||||
// @cmember:(INTERNAL) Descrittore del tracciato record
|
// @cmember:(INTERNAL) Descrittore del tracciato record
|
||||||
RecDes _rec;
|
RecDes _rec;
|
||||||
|
@ -122,11 +122,7 @@ void fraction::build_fraction (const char *s)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
n.strip(",.-+/[]");
|
n.strip(",.-+/[]");
|
||||||
#ifdef WIN32
|
|
||||||
sscanf_s(n, "%I64d", &_num);
|
sscanf_s(n, "%I64d", &_num);
|
||||||
#else
|
|
||||||
sscanf_s(n, "%Ld", &_num);
|
|
||||||
#endif
|
|
||||||
if (len_periodo > 0)
|
if (len_periodo > 0)
|
||||||
{
|
{
|
||||||
_den = 9;
|
_den = 9;
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
#define __ISAM_CPP
|
#define __ISAM_CPP
|
||||||
#define _CRT_SECURE_NO_WARNINGS 1
|
#define _CRT_SECURE_NO_WARNINGS 1
|
||||||
|
|
||||||
#include <applicat.h>
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <dblog.h>
|
|
||||||
#include <execp.h>
|
#include <execp.h>
|
||||||
#include <expr.h>
|
#include <expr.h>
|
||||||
#include <extcdecl.h>
|
#include <extcdecl.h>
|
||||||
@ -19,7 +17,6 @@
|
|||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <tabutil.h>
|
#include <tabutil.h>
|
||||||
#include <varrec.h>
|
#include <varrec.h>
|
||||||
#include <xml.h>
|
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <io.h>
|
#include <io.h>
|
||||||
@ -870,7 +867,6 @@ int TBaseisamfile::_read(TRectype& rec, word op, word lockop)
|
|||||||
prefix().lock_record(_isam_handle, _recno); else
|
prefix().lock_record(_isam_handle, _recno); else
|
||||||
if (lockop == _unlock)
|
if (lockop == _unlock)
|
||||||
prefix().unlock_record(_isam_handle, _recno);
|
prefix().unlock_record(_isam_handle, _recno);
|
||||||
_current->clear_modified_fields();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return _lasterr;
|
return _lasterr;
|
||||||
@ -905,204 +901,19 @@ int TBaseisamfile::_readat(TRectype& rec, TRecnotype nrec, word lockop)
|
|||||||
if (_lasterr != NOERR)
|
if (_lasterr != NOERR)
|
||||||
_lasterr = get_error(_lasterr);
|
_lasterr = get_error(_lasterr);
|
||||||
else
|
else
|
||||||
{
|
|
||||||
rec = (const char*)DB_getrecord(fhnd);
|
rec = (const char*)DB_getrecord(fhnd);
|
||||||
_current->clear_modified_fields();
|
|
||||||
}
|
|
||||||
_recno = DB_recno(fhnd);
|
_recno = DB_recno(fhnd);
|
||||||
if (rec.has_memo())
|
if (rec.has_memo())
|
||||||
rec.init_memo(_recno, _isam_handle);
|
rec.init_memo(_recno, _isam_handle);
|
||||||
return _lasterr;
|
return _lasterr;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool __db_log = false;
|
|
||||||
|
|
||||||
void db_log(const bool on)
|
|
||||||
{
|
|
||||||
__db_log = on;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool db_log() { return is_debug_station() && __db_log; }
|
|
||||||
bool to_db_log(int logic) { return db_log() && logic != LF_DBLOG && logic != LF_USER; }
|
|
||||||
void db_log_on() { db_log(true); }
|
|
||||||
void db_log_off() { db_log(false); }
|
|
||||||
|
|
||||||
TLocalisamfile * __dblog = NULL;
|
|
||||||
TXmlItem * __root = NULL;
|
|
||||||
|
|
||||||
bool TBaseisamfile::writelog(const db_op op, TRectype & rec, TRectype * act_rec, int fhnd)
|
|
||||||
{
|
|
||||||
bool changed = false;
|
|
||||||
const struct tm * timeloc = xvt_time_now();
|
|
||||||
time_t timestamp = time(NULL);
|
|
||||||
TString trans("DBtrans");
|
|
||||||
TString80 user = ::user();
|
|
||||||
int year;
|
|
||||||
int release;
|
|
||||||
int tag;
|
|
||||||
int patch;
|
|
||||||
TDate date(timeloc->tm_mday, timeloc->tm_mon, timeloc->tm_year + 1900);
|
|
||||||
TString time;
|
|
||||||
TFilename cmdline(main_app().argv(0));
|
|
||||||
|
|
||||||
TApplication::get_version_info(year, release, tag, patch);
|
|
||||||
|
|
||||||
if (__dblog == NULL)
|
|
||||||
__dblog = new TLocalisamfile(LF_DBLOG);
|
|
||||||
__dblog->zero();
|
|
||||||
if (__root == NULL)
|
|
||||||
__root = new TXmlItem;
|
|
||||||
__root->Destroy();
|
|
||||||
|
|
||||||
cmdline = cmdline.name_only();
|
|
||||||
for (int i = 1; i < main_app().argc(); i++)
|
|
||||||
cmdline << ' ' << main_app().argv(i);
|
|
||||||
time << timeloc->tm_hour << ":" << timeloc->tm_min << ":" << timeloc->tm_sec;
|
|
||||||
|
|
||||||
__root->SetTag(trans);
|
|
||||||
|
|
||||||
__dblog->put(DBL_CMDLINE, cmdline);
|
|
||||||
__dblog->put(DBL_YEAR, year);
|
|
||||||
__dblog->put(DBL_RELEASE, release);
|
|
||||||
__dblog->put(DBL_TAG, tag);
|
|
||||||
__dblog->put(DBL_PATCH, patch);
|
|
||||||
__root->SetAttr("cmdline", cmdline);
|
|
||||||
__root->SetAttr("year", year);
|
|
||||||
__root->SetAttr("release", release);
|
|
||||||
__root->SetAttr("tag", tag);
|
|
||||||
__root->SetAttr("patch", patch);
|
|
||||||
|
|
||||||
TXmlItem & head = __root->AddChild("Head");
|
|
||||||
|
|
||||||
__dblog->put(DBL_CMD, op);
|
|
||||||
__dblog->put(DBL_FILE, _logicnum);
|
|
||||||
__dblog->put(DBL_RECNO, _recno);
|
|
||||||
__dblog->put(DBL_USER, user);
|
|
||||||
__dblog->put(DBL_SESSION, xvt_sys_get_session_id());
|
|
||||||
__dblog->put(DBL_DATA, date);
|
|
||||||
__dblog->put(DBL_ORA, time);
|
|
||||||
__dblog->put(DBL_TIMESTAMP, (long)timestamp);
|
|
||||||
head.SetAttr("cmd", op);
|
|
||||||
head.SetAttr("file", _logicnum);
|
|
||||||
head.SetAttr("recno", _recno);
|
|
||||||
head.SetAttr("user", user);
|
|
||||||
head.SetAttr("session", xvt_sys_get_session_id());
|
|
||||||
head.SetAttr("data", date.date2ansi());
|
|
||||||
head.SetAttr("ora", time);
|
|
||||||
head.SetAttr("timestamp", (long) timestamp);
|
|
||||||
|
|
||||||
TXmlItem & key = __root->AddChild("key");
|
|
||||||
|
|
||||||
for (byte i = 0; i < rec.rec_des().Ky[0].NkFields; i++)
|
|
||||||
{
|
|
||||||
const char * keyfieldname = rec.rec_des().Fd[rec.rec_des().Ky[0].FieldSeq[i]].Name;
|
|
||||||
const TString & value = rec.get(keyfieldname);
|
|
||||||
TXmlItem & field = key.AddChild("field");
|
|
||||||
|
|
||||||
field.SetAttr(keyfieldname, value);
|
|
||||||
}
|
|
||||||
__dblog->put(DBL_KEY, rec.key());
|
|
||||||
TXmlItem & data = __root->AddChild("data");
|
|
||||||
|
|
||||||
if (op != db_remove)
|
|
||||||
{
|
|
||||||
for (byte i = 0; i < rec.rec_des().NFields; i++)
|
|
||||||
{
|
|
||||||
const TString16 fieldname(rec.rec_des().Fd[i].Name);
|
|
||||||
TString value = rec.get_modified_field(i);
|
|
||||||
|
|
||||||
if (op == db_add)
|
|
||||||
{
|
|
||||||
TXmlItem & field = data.AddChild("field");
|
|
||||||
|
|
||||||
field.SetAttr(fieldname, value);
|
|
||||||
changed = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
if (rec.field_modified(i))
|
|
||||||
{
|
|
||||||
bool fchanged = false;
|
|
||||||
|
|
||||||
switch (TFieldtypes(rec.rec_des().Fd[i].TypeF))
|
|
||||||
{
|
|
||||||
case _nullfld: // @emem Campo non definito
|
|
||||||
break;
|
|
||||||
case _alfafld: // @emem Campo di tipo alfanumerico
|
|
||||||
fchanged = act_rec->get(fieldname) != value.trim();
|
|
||||||
break;
|
|
||||||
case _intfld: // @emem Campo di tipo intero
|
|
||||||
fchanged = act_rec->get_int(fieldname) != atoi(value);
|
|
||||||
break;
|
|
||||||
case _longfld: // @emem Campo di tipo intero lungo
|
|
||||||
fchanged = act_rec->get_long(fieldname) != atol(value);
|
|
||||||
break;
|
|
||||||
case _realfld: // @emem Campo di tipo reale (vedi <c real>)
|
|
||||||
fchanged = act_rec->get_real(fieldname) != real(value);
|
|
||||||
break;
|
|
||||||
case _datefld: // @emem Campo di tipo data (vedi <c TDate>)
|
|
||||||
fchanged = act_rec->get_date(fieldname) != TDate(value);
|
|
||||||
break;
|
|
||||||
case _wordfld: // @emem Campo di tipo intero senza segno
|
|
||||||
fchanged = act_rec->get_long(fieldname) != atol(value);
|
|
||||||
break;
|
|
||||||
case _charfld: // @emem Campo di tipo carattere
|
|
||||||
fchanged = act_rec->get_char(fieldname) != value[0];
|
|
||||||
break;
|
|
||||||
case _boolfld: // @emem Campo di tipo booleano
|
|
||||||
{
|
|
||||||
const bool b = (value.full() && strchr("1STXY", toupper(value[0])) != NULL) ? true : false;
|
|
||||||
const bool b1 = act_rec->get_bool(fieldname);
|
|
||||||
|
|
||||||
fchanged = b ^ b1;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case _intzerofld: // @emem Campo ditipo intero zero filled
|
|
||||||
fchanged = act_rec->get_int(fieldname) != atoi(value);
|
|
||||||
break;
|
|
||||||
case _longzerofld: // @emem Campo di tipo intero lungo zero filled
|
|
||||||
fchanged = act_rec->get_long(fieldname) != atol(value);
|
|
||||||
break;
|
|
||||||
case _memofld:
|
|
||||||
fchanged = true;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}; // @emem Campo di tipo memo
|
|
||||||
if (fchanged)
|
|
||||||
{
|
|
||||||
TXmlItem & field = data.AddChild("field");
|
|
||||||
|
|
||||||
changed = true;
|
|
||||||
field.SetAttr(fieldname, value);
|
|
||||||
if (rec.preserve_values() && act_rec != NULL)
|
|
||||||
act_rec->put(fieldname, value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
changed = true;
|
|
||||||
if (changed)
|
|
||||||
{
|
|
||||||
TString trans;
|
|
||||||
|
|
||||||
__root->AsString(trans);
|
|
||||||
__dblog->put(DBL_TRANS, trans);
|
|
||||||
// __dblog->write();
|
|
||||||
// __root->Append(logname);
|
|
||||||
if (rec.preserve_values() &&(op == db_update) && (act_rec != NULL))
|
|
||||||
rec.TRectype::operator =(*act_rec);
|
|
||||||
}
|
|
||||||
rec.clear_modified_fields();
|
|
||||||
return changed;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TBaseisamfile::_write(const TRectype& rec)
|
int TBaseisamfile::_write(const TRectype& rec)
|
||||||
{
|
{
|
||||||
CHECK(!rec.empty(), "Can't write an empty record");
|
CHECK(!rec.empty(), "Can't write an empty record");
|
||||||
|
|
||||||
// Controlla che la chiave sia piena
|
// Controlla che la chiave sia piena
|
||||||
TString & key = get_tmp_string(384);
|
TString256 key;
|
||||||
|
|
||||||
__build_key(rec.rec_des(), 1, rec.string(), key.get_buffer(), true);
|
__build_key(rec.rec_des(), 1, rec.string(), key.get_buffer(), true);
|
||||||
if (key.blank())
|
if (key.blank())
|
||||||
@ -1121,20 +932,11 @@ int TBaseisamfile::_write(const TRectype& rec)
|
|||||||
|
|
||||||
browse_null(rec.string(), dst_len);
|
browse_null(rec.string(), dst_len);
|
||||||
memcpy(DB_getrecord(fhnd), rec.string(), dst_len);
|
memcpy(DB_getrecord(fhnd), rec.string(), dst_len);
|
||||||
bool changed = false;
|
|
||||||
|
|
||||||
if (to_db_log(_logicnum))
|
|
||||||
changed = writelog(db_add, (TRectype&)rec, NULL, fhnd);
|
|
||||||
_lasterr = DB_add(fhnd);
|
_lasterr = DB_add(fhnd);
|
||||||
_recno = DB_recno(fhnd);
|
_recno = DB_recno(fhnd);
|
||||||
|
|
||||||
if (_lasterr == NOERR)
|
if (_lasterr == NOERR)
|
||||||
{
|
{
|
||||||
if (changed && to_db_log(_logicnum))
|
|
||||||
{
|
|
||||||
__dblog->write();
|
|
||||||
__root->Append(logname());
|
|
||||||
}
|
|
||||||
if (rec.has_memo())
|
if (rec.has_memo())
|
||||||
((TRectype&)rec).write_memo(_isam_handle, _recno );
|
((TRectype&)rec).write_memo(_isam_handle, _recno );
|
||||||
rec_cache(_logicnum).notify_change();
|
rec_cache(_logicnum).notify_change();
|
||||||
@ -1179,40 +981,28 @@ int TBaseisamfile::rewrite_write()
|
|||||||
int TBaseisamfile::_rewrite(const TRectype& rec)
|
int TBaseisamfile::_rewrite(const TRectype& rec)
|
||||||
{
|
{
|
||||||
CHECK(!rec.empty(), "Can't write an empty record");
|
CHECK(!rec.empty(), "Can't write an empty record");
|
||||||
TAuto_variable_rectype act_rec(rec);
|
|
||||||
bool changed = false;
|
bool changed = false;
|
||||||
|
|
||||||
// Forza l'uso della chiave principale (per chiavi duplicate?)
|
TRectype save_rec(rec);
|
||||||
|
|
||||||
|
// Forza l'uso della chiave principale (per chiavi duplicate?)
|
||||||
const int fhnd = handle(1);
|
const int fhnd = handle(1);
|
||||||
while ((_lasterr = cisread(fhnd, 1, act_rec, _isequal + _testandlock, _recno)) == _islocked) ;// Si Posiziona e locca per sicurezza...
|
_lasterr = cisread(fhnd, 1, save_rec, _isequal + _nolock, _recno); // Si Posiziona per sicurezza...
|
||||||
|
|
||||||
if (_lasterr == NOERR)
|
if (_lasterr == NOERR)
|
||||||
{
|
{
|
||||||
const int len = DB_reclen(fhnd);
|
const int len = DB_reclen(fhnd);
|
||||||
if (len != act_rec.len())
|
if (len != save_rec.len())
|
||||||
NFCHECK("Record size mismatch on file %d: RecDes=%d, DB_reclen=%d",
|
NFCHECK("Record size mismatch on file %d: RecDes=%d, DB_reclen=%d",
|
||||||
_logicnum, act_rec.len(), len);
|
_logicnum, save_rec.len(), len);
|
||||||
|
|
||||||
browse_null(rec.string(), len);
|
browse_null(rec.string(), len);
|
||||||
|
if (memcmp(rec.string(), save_rec.string(), len) != 0)
|
||||||
|
|
||||||
if (to_db_log(_logicnum))
|
|
||||||
changed = writelog(db_update, (TRectype &)rec, &act_rec, fhnd);
|
|
||||||
else
|
|
||||||
changed = memcmp(rec.string(), act_rec.string(), len) != 0;
|
|
||||||
if (changed)
|
|
||||||
{
|
{
|
||||||
memcpy(DB_getrecord(fhnd), rec.string(), len);
|
memcpy(DB_getrecord(fhnd), rec.string(), len);
|
||||||
_lasterr = DB_rewrite(fhnd);
|
_lasterr = DB_rewrite(fhnd);
|
||||||
if (_lasterr == NOERR)
|
if (_lasterr == NOERR)
|
||||||
{
|
rec_cache(_logicnum).notify_change();
|
||||||
if (to_db_log(_logicnum))
|
|
||||||
{
|
|
||||||
__dblog->write();
|
|
||||||
__root->Append(logname());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
_lasterr = get_error(_lasterr);
|
_lasterr = get_error(_lasterr);
|
||||||
}
|
}
|
||||||
@ -1253,30 +1043,10 @@ int TBaseisamfile::rewriteat(const TRectype& rec, TRecnotype nrec)
|
|||||||
|
|
||||||
if ((_lasterr=DB_go(fhnd,nrec))== NOERR)
|
if ((_lasterr=DB_go(fhnd,nrec))== NOERR)
|
||||||
{
|
{
|
||||||
TRectype save_rec(rec);
|
|
||||||
const int len = DB_reclen(fhnd);
|
|
||||||
|
|
||||||
memcpy(DB_getrecord(fhnd), save_rec.string(), len);
|
|
||||||
browse_null(rec.string(),DB_reclen(fhnd));
|
browse_null(rec.string(),DB_reclen(fhnd));
|
||||||
if (to_db_log(_logicnum))
|
memcpy(DB_getrecord(fhnd),rec.string(),DB_reclen(fhnd));
|
||||||
changed = writelog(db_update, (TRectype &)rec, &save_rec, fhnd);
|
_lasterr=DB_rewrite(fhnd);
|
||||||
else
|
if (_lasterr != NOERR) _lasterr = get_error(_lasterr);
|
||||||
changed = memcmp(rec.string(), save_rec.string(), len) != 0 ;
|
|
||||||
if (changed)
|
|
||||||
{
|
|
||||||
memcpy(DB_getrecord(fhnd), rec.string(), DB_reclen(fhnd));
|
|
||||||
_lasterr = DB_rewrite(fhnd);
|
|
||||||
if (_lasterr == NOERR)
|
|
||||||
{
|
|
||||||
if (to_db_log(_logicnum))
|
|
||||||
{
|
|
||||||
__dblog->write();
|
|
||||||
__root->Append(logname());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
_lasterr = get_error(_lasterr);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_lasterr = get_error(_lasterr);
|
_lasterr = get_error(_lasterr);
|
||||||
@ -1313,18 +1083,9 @@ int TBaseisamfile::_remove(const TRectype& rec)
|
|||||||
|
|
||||||
if (_lasterr == NOERR)
|
if (_lasterr == NOERR)
|
||||||
{
|
{
|
||||||
bool changed = false;
|
|
||||||
|
|
||||||
if (to_db_log(_logicnum))
|
|
||||||
writelog(db_remove, (TRectype &) rec, NULL, fhnd);
|
|
||||||
_lasterr = DB_delete(fhnd); // Put only deletion flag on record, must remove keys too!
|
_lasterr = DB_delete(fhnd); // Put only deletion flag on record, must remove keys too!
|
||||||
if (_lasterr == NOERR)
|
if (_lasterr == NOERR)
|
||||||
{
|
{
|
||||||
if (changed && to_db_log(_logicnum))
|
|
||||||
{
|
|
||||||
__dblog->write();
|
|
||||||
__root->Append(logname());
|
|
||||||
}
|
|
||||||
if (curr().has_memo( ))
|
if (curr().has_memo( ))
|
||||||
curr().init_memo();
|
curr().init_memo();
|
||||||
rec_cache(_logicnum).notify_change();
|
rec_cache(_logicnum).notify_change();
|
||||||
@ -1713,19 +1474,6 @@ TIsamtempfile::TIsamtempfile(int logicnum, const char* radix, bool create, bool
|
|||||||
n.insert("%", 0);
|
n.insert("%", 0);
|
||||||
|
|
||||||
open(n, create, eod, eox);
|
open(n, create, eod, eox);
|
||||||
|
|
||||||
TCodeb_handle cb_handle = prefix().get_handle(_isam_handle, _curr_key);
|
|
||||||
const int dbfreclen = DB_reclen(cb_handle);
|
|
||||||
const int trcreclen = prefix().get_reclen(logicnum);
|
|
||||||
|
|
||||||
if (dbfreclen != trcreclen)
|
|
||||||
{
|
|
||||||
TString msg;
|
|
||||||
msg.format("Lunghezza record incoerente sul file %d (%s): file=%d trc=%d",
|
|
||||||
num(), (const char*)description(), dbfreclen, trcreclen);
|
|
||||||
fatal_box(msg);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TIsamtempfile::~TIsamtempfile()
|
TIsamtempfile::~TIsamtempfile()
|
||||||
@ -2709,15 +2457,6 @@ int TSystemisamfile::load(
|
|||||||
const int l = fldlen.get_int(j);
|
const int l = fldlen.get_int(j);
|
||||||
s1 = s.mid(pos, l);
|
s1 = s.mid(pos, l);
|
||||||
s1.rtrim();
|
s1.rtrim();
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = esc(s2);
|
|
||||||
}
|
|
||||||
put(fld.row(j), s1);
|
put(fld.row(j), s1);
|
||||||
pos += l;
|
pos += l;
|
||||||
}
|
}
|
||||||
@ -2730,11 +2469,10 @@ int TSystemisamfile::load(
|
|||||||
s1 = s.get();
|
s1 = s.get();
|
||||||
if (fd)
|
if (fd)
|
||||||
{
|
{
|
||||||
|
s1.rtrim(1);
|
||||||
s1.ltrim(1);
|
s1.ltrim(1);
|
||||||
}
|
}
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
if (curr().type((const TString&) fld[j]) == _memofld)
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
{
|
||||||
TString s2 = s1;
|
TString s2 = s1;
|
||||||
|
|
||||||
@ -2932,15 +2670,6 @@ int TSystemisamfile::overwrite(
|
|||||||
|
|
||||||
s1 = s.mid(pos,len[j]);
|
s1 = s.mid(pos,len[j]);
|
||||||
s1.rtrim();
|
s1.rtrim();
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = esc(s2);
|
|
||||||
}
|
|
||||||
vals.add(fldname, s1);
|
vals.add(fldname, s1);
|
||||||
pos += len[j];
|
pos += len[j];
|
||||||
}
|
}
|
||||||
@ -2958,13 +2687,9 @@ int TSystemisamfile::overwrite(
|
|||||||
s1.rtrim(1);
|
s1.rtrim(1);
|
||||||
s1.ltrim(1);
|
s1.ltrim(1);
|
||||||
}
|
}
|
||||||
|
if (curr().type(fldname) == _memofld)
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
{
|
||||||
TString s2 = s1;
|
TString s2 = s1;
|
||||||
|
|
||||||
s1 = esc(s2);
|
s1 = esc(s2);
|
||||||
}
|
}
|
||||||
vals.add(fldname, s1);
|
vals.add(fldname, s1);
|
||||||
@ -3109,15 +2834,6 @@ int TSystemisamfile::dump(
|
|||||||
if (fixedlen)
|
if (fixedlen)
|
||||||
{
|
{
|
||||||
s1 = get(fname);
|
s1 = get(fname);
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = unesc(s2);
|
|
||||||
}
|
|
||||||
if (rjust[j]) s1.right_just(len[j]);
|
if (rjust[j]) s1.right_just(len[j]);
|
||||||
else s1.left_just(len[j]);
|
else s1.left_just(len[j]);
|
||||||
}
|
}
|
||||||
@ -3137,15 +2853,20 @@ int TSystemisamfile::dump(
|
|||||||
if (real::is_null(sfld))
|
if (real::is_null(sfld))
|
||||||
sfld.cut(0);
|
sfld.cut(0);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case _memofld:
|
case _memofld:
|
||||||
case _alfafld:
|
if (sfld.full())
|
||||||
{
|
{
|
||||||
TString s2 = sfld;
|
int p = 0;
|
||||||
|
while ((p = sfld.find('\n', 0)) >= 0)
|
||||||
sfld = unesc(s2);
|
{
|
||||||
|
sfld.overwrite("\\", p);
|
||||||
|
sfld.insert("n", p+1);
|
||||||
}
|
}
|
||||||
default: // charfld, boolfld
|
}
|
||||||
|
else
|
||||||
|
sfld.cut(0);
|
||||||
|
break;
|
||||||
|
default: // strfld, charfld, boolfld
|
||||||
if (sfld.blank())
|
if (sfld.blank())
|
||||||
sfld.cut(0);
|
sfld.cut(0);
|
||||||
break;
|
break;
|
||||||
@ -3195,15 +2916,6 @@ int TSystemisamfile::dump(
|
|||||||
if (fixedlen)
|
if (fixedlen)
|
||||||
{
|
{
|
||||||
s1 = get((const TString&)fld[j]);
|
s1 = get((const TString&)fld[j]);
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = unesc(s2);
|
|
||||||
}
|
|
||||||
if (rjust[j]) s1.right_just(len[j]);
|
if (rjust[j]) s1.right_just(len[j]);
|
||||||
else s1.left_just(len[j]);
|
else s1.left_just(len[j]);
|
||||||
}
|
}
|
||||||
@ -3213,14 +2925,14 @@ int TSystemisamfile::dump(
|
|||||||
if (j && fs) s1 << fs;
|
if (j && fs) s1 << fs;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
sfld = get((const TString&)fld[j]);
|
sfld = get((const TString&)fld[j]);
|
||||||
|
if (curr().type((const TString&) fld[j]) == _memofld)
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
{
|
||||||
TString s2 = sfld;
|
int p = 0;
|
||||||
|
while ((p = sfld.find('\n', 0)) >= 0)
|
||||||
sfld = unesc(s2);
|
{
|
||||||
|
sfld.overwrite("\\", p);
|
||||||
|
sfld.insert("n", p+1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
s1 << sfld;
|
s1 << sfld;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
@ -3335,15 +3047,6 @@ int TSystemisamfile::dump(
|
|||||||
if (fixedlen)
|
if (fixedlen)
|
||||||
{
|
{
|
||||||
s1 = get(fldname);
|
s1 = get(fldname);
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = unesc(s2);
|
|
||||||
}
|
|
||||||
if (rjust[j]) s1.right_just(len[j]);
|
if (rjust[j]) s1.right_just(len[j]);
|
||||||
else s1.left_just(len[j]);
|
else s1.left_just(len[j]);
|
||||||
}
|
}
|
||||||
@ -3353,14 +3056,14 @@ int TSystemisamfile::dump(
|
|||||||
if (j && fs) s1 << fs;
|
if (j && fs) s1 << fs;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
sfld = get(fldname);
|
sfld = get(fldname);
|
||||||
|
if (curr().type(fldname) == _memofld)
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
{
|
||||||
TString s2 = sfld;
|
int p = 0;
|
||||||
|
while ((p = sfld.find('\n', 0)) >= 0)
|
||||||
sfld = unesc(s2);
|
{
|
||||||
|
sfld.overwrite("\\", p);
|
||||||
|
sfld.insert("n", p+1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
s1 << sfld;
|
s1 << sfld;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
@ -3403,15 +3106,6 @@ int TSystemisamfile::dump(
|
|||||||
if (fixedlen)
|
if (fixedlen)
|
||||||
{
|
{
|
||||||
s1 = get(fldname);
|
s1 = get(fldname);
|
||||||
|
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
|
||||||
TString s2 = s1;
|
|
||||||
|
|
||||||
s1 = unesc(s2);
|
|
||||||
}
|
|
||||||
if (rjust[j]) s1.right_just(len[j]);
|
if (rjust[j]) s1.right_just(len[j]);
|
||||||
else s1.left_just(len[j]);
|
else s1.left_just(len[j]);
|
||||||
}
|
}
|
||||||
@ -3421,14 +3115,14 @@ int TSystemisamfile::dump(
|
|||||||
if (j && fs) s1 << fs;
|
if (j && fs) s1 << fs;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
sfld = get(fldname);
|
sfld = get(fldname);
|
||||||
|
if (curr().type(fldname) == _memofld)
|
||||||
const TFieldtypes t = curr().type((const TString&)fld[j]);
|
|
||||||
|
|
||||||
if (t == _alfafld || t == _memofld)
|
|
||||||
{
|
{
|
||||||
TString s2 = sfld;
|
int p = 0;
|
||||||
|
while ((p = sfld.find('\n', 0)) >= 0)
|
||||||
sfld = unesc(s2);
|
{
|
||||||
|
sfld.overwrite("\\", p);
|
||||||
|
sfld.insert("n", p+1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
s1 << sfld;
|
s1 << sfld;
|
||||||
if (fd) s1 << fd;
|
if (fd) s1 << fd;
|
||||||
@ -3500,8 +3194,6 @@ void TRectype::init(int logicnum)
|
|||||||
|
|
||||||
if (_length > 0 && lf_has_memo(logicnum))
|
if (_length > 0 && lf_has_memo(logicnum))
|
||||||
init_memo(RECORD_NON_FISICO);
|
init_memo(RECORD_NON_FISICO);
|
||||||
clear_modified_fields();
|
|
||||||
set_preserve_values();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TRectype::TRectype(int logicnum)
|
TRectype::TRectype(int logicnum)
|
||||||
@ -3526,7 +3218,6 @@ TRectype::TRectype(const TRectype& r)
|
|||||||
init_memo(r._memo_data->recno(), r._memo_data->file());
|
init_memo(r._memo_data->recno(), r._memo_data->file());
|
||||||
*_memo_data = *r._memo_data;
|
*_memo_data = *r._memo_data;
|
||||||
}
|
}
|
||||||
_modified_fields = r._modified_fields;
|
|
||||||
memcpy(_rec, r._rec, _length);
|
memcpy(_rec, r._rec, _length);
|
||||||
memcpy(_tab, r._tab, sizeof(_tab));
|
memcpy(_tab, r._tab, sizeof(_tab));
|
||||||
setempty(r.empty());
|
setempty(r.empty());
|
||||||
@ -3828,11 +3519,6 @@ bool TRectype::exist(const char* fieldname) const
|
|||||||
return findfld(&rec_des(), fieldname) != FIELDERR;
|
return findfld(&rec_des(), fieldname) != FIELDERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TRectype::find(const char* fieldname) const
|
|
||||||
{
|
|
||||||
return findfld(&rec_des(), fieldname);
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* TRectype::fieldname(int i) const
|
const char* TRectype::fieldname(int i) const
|
||||||
{
|
{
|
||||||
const RecDes& recd = rec_des();
|
const RecDes& recd = rec_des();
|
||||||
@ -3972,6 +3658,7 @@ void TRectype::put(const char* fieldname, bool val)
|
|||||||
put(fieldname, val ? 'X' : ' ');
|
put(fieldname, val ? 'X' : ' ');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void TRectype::put_str(const char* fieldname, const char* val)
|
void TRectype::put_str(const char* fieldname, const char* val)
|
||||||
{
|
{
|
||||||
const RecDes& recd = rec_des();
|
const RecDes& recd = rec_des();
|
||||||
@ -3990,7 +3677,6 @@ void TRectype::put_str(const char* fieldname, const char* val)
|
|||||||
if (ft == _boolfld)
|
if (ft == _boolfld)
|
||||||
val = (*val && strchr("1STXY", toupper(*val)) != NULL) ? "T" : "F";
|
val = (*val && strchr("1STXY", toupper(*val)) != NULL) ? "T" : "F";
|
||||||
|
|
||||||
set_modified_field(nf, val);
|
|
||||||
if (*val == '\0')
|
if (*val == '\0')
|
||||||
{
|
{
|
||||||
TRecfield f(*this, fieldname);
|
TRecfield f(*this, fieldname);
|
||||||
@ -4036,8 +3722,6 @@ void TRectype::zero(const char* fieldname)
|
|||||||
const byte len = recd.Fd[nf].Len;
|
const byte len = recd.Fd[nf].Len;
|
||||||
const byte dec = recd.Fd[nf].Dec;
|
const byte dec = recd.Fd[nf].Dec;
|
||||||
const TFieldtypes type = (TFieldtypes) recd.Fd[nf].TypeF;
|
const TFieldtypes type = (TFieldtypes) recd.Fd[nf].TypeF;
|
||||||
|
|
||||||
set_modified_field(nf, "");
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case _datefld:
|
case _datefld:
|
||||||
@ -4069,24 +3753,6 @@ void TRectype::zero(const char* fieldname)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TRectype::set_modified_field(int i, const char *val)
|
|
||||||
{
|
|
||||||
const RecFieldDes& fd = rec_des().Fd[i];
|
|
||||||
|
|
||||||
TString * v = (TString *)_modified_fields.objptr(i);
|
|
||||||
|
|
||||||
if (v == NULL)
|
|
||||||
{
|
|
||||||
TString old_val = get(fd.Name);
|
|
||||||
|
|
||||||
if (old_val != val)
|
|
||||||
_modified_fields.add(val, i);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
*v = val;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void TRectype::zero(char c)
|
void TRectype::zero(char c)
|
||||||
{
|
{
|
||||||
memset(_rec, c, len());
|
memset(_rec, c, len());
|
||||||
@ -4098,7 +3764,6 @@ void TRectype::zero(char c)
|
|||||||
if(has_memo())
|
if(has_memo())
|
||||||
init_memo( RECORD_NON_FISICO );
|
init_memo( RECORD_NON_FISICO );
|
||||||
setempty(true);
|
setempty(true);
|
||||||
clear_modified_fields();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Certified 99%
|
// Certified 99%
|
||||||
@ -4114,7 +3779,6 @@ TRectype& TRectype::operator =(const TRectype& rec)
|
|||||||
}
|
}
|
||||||
memcpy(_tab, rec._tab, sizeof(_tab));
|
memcpy(_tab, rec._tab, sizeof(_tab));
|
||||||
setempty(rec.empty()); // Copy emptiness status
|
setempty(rec.empty()); // Copy emptiness status
|
||||||
_modified_fields = rec._modified_fields;
|
|
||||||
return *this;
|
return *this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4377,7 +4041,6 @@ bool TRectype::set_edit_info(const char* ut, const char* dt, const char* or)
|
|||||||
if (dt && *dt && type(dt) == _datefld)
|
if (dt && *dt && type(dt) == _datefld)
|
||||||
{
|
{
|
||||||
const TDate oggi(TODAY);
|
const TDate oggi(TODAY);
|
||||||
|
|
||||||
put(dt, oggi); // Scrivi data odierna
|
put(dt, oggi); // Scrivi data odierna
|
||||||
|
|
||||||
// Se esisnte un campo long OR*
|
// Se esisnte un campo long OR*
|
||||||
@ -4437,7 +4100,6 @@ TRecfield::TRecfield(TRectype& rec, const char* name, int from, int to)
|
|||||||
_len = 0;
|
_len = 0;
|
||||||
_dec = 0;
|
_dec = 0;
|
||||||
_type = _alfafld;
|
_type = _alfafld;
|
||||||
_nf = 0;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -4446,7 +4108,6 @@ TRecfield::TRecfield(TRectype& rec, const char* name, int from, int to)
|
|||||||
NFCHECK("Invalid Start %d", from);
|
NFCHECK("Invalid Start %d", from);
|
||||||
from = 0;
|
from = 0;
|
||||||
}
|
}
|
||||||
_nf = nf;
|
|
||||||
_p = _rec->string() + rd.Fd[nf].RecOff;
|
_p = _rec->string() + rd.Fd[nf].RecOff;
|
||||||
_dec = rd.Fd[nf].Dec;
|
_dec = rd.Fd[nf].Dec;
|
||||||
_type = (TFieldtypes)rd.Fd[nf].TypeF;
|
_type = (TFieldtypes)rd.Fd[nf].TypeF;
|
||||||
@ -4501,31 +4162,18 @@ void TRecfield::put_subfield(const char* s)
|
|||||||
val.left(e - p + 1);
|
val.left(e - p + 1);
|
||||||
val.rpad(e - p + 1);
|
val.rpad(e - p + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
TString out = str.left(p);
|
TString out = str.left(p);
|
||||||
|
|
||||||
out << val << str.mid(e); // ? e + 1
|
out << val << str.mid(e); // ? e + 1
|
||||||
_rec->put(_name, out);
|
_rec->put(_name, out);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
if ((p < 0) && (s && *s))
|
|
||||||
{
|
|
||||||
TString out = str;
|
|
||||||
|
|
||||||
out << '\n' << _sub_field << s;
|
|
||||||
_rec->put(_name, out);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int TRecfield::operator =(int i)
|
int TRecfield::operator =(int i)
|
||||||
{
|
{
|
||||||
TString16 buff; buff << i;
|
TString16 buff; buff << i;
|
||||||
if (_sub_field.empty())
|
if (_sub_field.empty())
|
||||||
{
|
__putfieldbuff( _len, _dec, _type, buff, _p);
|
||||||
_rec->set_modified_field(_nf, buff);
|
|
||||||
__putfieldbuff(_len, _dec, _type, buff, _p);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
put_subfield(buff);
|
put_subfield(buff);
|
||||||
_rec->setempty(FALSE);
|
_rec->setempty(FALSE);
|
||||||
@ -4537,10 +4185,7 @@ long TRecfield::operator =(long l)
|
|||||||
{
|
{
|
||||||
TString16 buff; buff << l;
|
TString16 buff; buff << l;
|
||||||
if (_sub_field.empty())
|
if (_sub_field.empty())
|
||||||
{
|
|
||||||
_rec->set_modified_field(_nf, buff);
|
|
||||||
__putfieldbuff( _len, _dec, _type, buff, _p);
|
__putfieldbuff( _len, _dec, _type, buff, _p);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
put_subfield(buff);
|
put_subfield(buff);
|
||||||
_rec->setempty(false);
|
_rec->setempty(false);
|
||||||
@ -4549,13 +4194,9 @@ long TRecfield::operator =(long l)
|
|||||||
|
|
||||||
const real& TRecfield::operator =(const real& r)
|
const real& TRecfield::operator =(const real& r)
|
||||||
{
|
{
|
||||||
const char * buff = r.string();
|
const char* buff = r.string();
|
||||||
|
|
||||||
if (_sub_field.empty())
|
if (_sub_field.empty())
|
||||||
{
|
|
||||||
_rec->set_modified_field(_nf, buff);
|
|
||||||
__putfieldbuff( _len, _dec, _type, buff, _p);
|
__putfieldbuff( _len, _dec, _type, buff, _p);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
put_subfield(buff);
|
put_subfield(buff);
|
||||||
_rec->setempty(FALSE);
|
_rec->setempty(FALSE);
|
||||||
@ -4566,10 +4207,7 @@ const TDate& TRecfield::operator =(const TDate& d)
|
|||||||
{
|
{
|
||||||
const TString16 buff = d.stringa();
|
const TString16 buff = d.stringa();
|
||||||
if (_sub_field.empty())
|
if (_sub_field.empty())
|
||||||
{
|
|
||||||
_rec->set_modified_field(_nf, buff);
|
|
||||||
__putfieldbuff( _len, _dec, _type, buff, _p);
|
__putfieldbuff( _len, _dec, _type, buff, _p);
|
||||||
}
|
|
||||||
else
|
else
|
||||||
put_subfield(buff);
|
put_subfield(buff);
|
||||||
_rec->setempty(FALSE);
|
_rec->setempty(FALSE);
|
||||||
@ -4583,10 +4221,7 @@ const char* TRecfield::operator =(const char* s)
|
|||||||
if (_type == _memofld)
|
if (_type == _memofld)
|
||||||
_rec->put(_name, s);
|
_rec->put(_name, s);
|
||||||
else
|
else
|
||||||
{
|
__putfieldbuff( _len, _dec, _type, s, _p);
|
||||||
_rec->set_modified_field(_nf, s);
|
|
||||||
__putfieldbuff(_len, _dec, _type, s, _p);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
put_subfield(s);
|
put_subfield(s);
|
||||||
|
@ -19,10 +19,6 @@
|
|||||||
|
|
||||||
#ifndef __PREFIX_H
|
#ifndef __PREFIX_H
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __UTILITY_H
|
|
||||||
#include <utility.h>
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define FIELDERR -1
|
#define FIELDERR -1
|
||||||
@ -31,15 +27,6 @@
|
|||||||
|
|
||||||
const int MAX_KEYS = 8;
|
const int MAX_KEYS = 8;
|
||||||
|
|
||||||
enum db_op {db_add = 1, db_remove, db_update};
|
|
||||||
|
|
||||||
extern void db_log(bool on);
|
|
||||||
extern bool db_log();
|
|
||||||
extern bool to_db_log(int logic);
|
|
||||||
extern void db_log_on();
|
|
||||||
extern void db_log_off();
|
|
||||||
|
|
||||||
|
|
||||||
class TBaseisamfile;
|
class TBaseisamfile;
|
||||||
class TLocalisamfile;
|
class TLocalisamfile;
|
||||||
class TRecfield;
|
class TRecfield;
|
||||||
@ -95,9 +82,6 @@ protected:
|
|||||||
// @cmember:(INTERNAL) Campo "COD" della tabella
|
// @cmember:(INTERNAL) Campo "COD" della tabella
|
||||||
TMemo_data* _memo_data;
|
TMemo_data* _memo_data;
|
||||||
|
|
||||||
TString_array _modified_fields;
|
|
||||||
bool _preserve_values;
|
|
||||||
|
|
||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
// @cmember Segnalazione di un campo inesistente
|
// @cmember Segnalazione di un campo inesistente
|
||||||
@ -116,7 +100,6 @@ protected:
|
|||||||
virtual void put_str(const char* fieldname, const char* val);
|
virtual void put_str(const char* fieldname, const char* val);
|
||||||
|
|
||||||
bool set_edit_info(const char* ut, const char* dt, const char* or);
|
bool set_edit_info(const char* ut, const char* dt, const char* or);
|
||||||
void set_modified_field(int i, const char * val);
|
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
@ -178,8 +161,6 @@ public:
|
|||||||
virtual int ndec(const char* fieldname) const;
|
virtual int ndec(const char* fieldname) const;
|
||||||
// @cmember Indica se esiste il campo <p fieldname>
|
// @cmember Indica se esiste il campo <p fieldname>
|
||||||
virtual bool exist(const char* fieldname) const;
|
virtual bool exist(const char* fieldname) const;
|
||||||
// @cmember Indica se esiste il campo <p fieldname> e ritorna la ppsizionr
|
|
||||||
virtual int find(const char* fieldname) const;
|
|
||||||
// @cmember Ritorna il nome del campo <p i>-esimo
|
// @cmember Ritorna il nome del campo <p i>-esimo
|
||||||
const char* fieldname(int i) const;
|
const char* fieldname(int i) const;
|
||||||
|
|
||||||
@ -278,12 +259,6 @@ public:
|
|||||||
// @cmember Ritorna true se sono uguali
|
// @cmember Ritorna true se sono uguali
|
||||||
bool is_equal(const TRectype& r) const;
|
bool is_equal(const TRectype& r) const;
|
||||||
|
|
||||||
bool field_modified(int i) const { return _modified_fields.objptr(i) != NULL; }
|
|
||||||
const TString & get_modified_field(int i) const { return field_modified(i) ? _modified_fields.row(i) : EMPTY_STRING; }
|
|
||||||
void clear_modified_fields(int i = -1) { _modified_fields.destroy(i); }
|
|
||||||
bool preserve_values() { return _preserve_values; }
|
|
||||||
void set_preserve_values(bool on = true) { _preserve_values = on; }
|
|
||||||
|
|
||||||
virtual void init_memo(const TRecnotype recno = RECORD_NON_FISICO, TIsam_handle file = 0);
|
virtual void init_memo(const TRecnotype recno = RECORD_NON_FISICO, TIsam_handle file = 0);
|
||||||
virtual void reset_memo() { _memo_data->init(RECORD_NON_FISICO, 0); }
|
virtual void reset_memo() { _memo_data->init(RECORD_NON_FISICO, 0); }
|
||||||
virtual void update_memo() {}
|
virtual void update_memo() {}
|
||||||
@ -356,7 +331,6 @@ protected:
|
|||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
// @cmember:(INTERNAL) IO su file:
|
// @cmember:(INTERNAL) IO su file:
|
||||||
virtual bool writelog(const db_op op, TRectype & rec, TRectype * new_rec, int fhnd);
|
|
||||||
virtual int _read(TRectype& rec, word op = _isequal, word lockop = _nolock);
|
virtual int _read(TRectype& rec, word op = _isequal, word lockop = _nolock);
|
||||||
virtual int _readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
|
virtual int _readat(TRectype& rec, TRecnotype nrec, word lockop = _nolock);
|
||||||
virtual int _write(const TRectype& rec);
|
virtual int _write(const TRectype& rec);
|
||||||
@ -824,7 +798,6 @@ class TRecfield : public TObject
|
|||||||
TString16 _name, _sub_field;
|
TString16 _name, _sub_field;
|
||||||
// @cmember:(INTERNAL) Puntatore a inizio record
|
// @cmember:(INTERNAL) Puntatore a inizio record
|
||||||
TRectype* _rec;
|
TRectype* _rec;
|
||||||
int _nf;
|
|
||||||
// @cmember:(INTERNAL) Puntatore a inizio campo
|
// @cmember:(INTERNAL) Puntatore a inizio campo
|
||||||
char* _p;
|
char* _p;
|
||||||
// @cmember:(INTERNAL) Lunghezza del campo
|
// @cmember:(INTERNAL) Lunghezza del campo
|
||||||
|
@ -199,7 +199,6 @@
|
|||||||
#define LF_FPCADG 179
|
#define LF_FPCADG 179
|
||||||
#define LF_CONART 180
|
#define LF_CONART 180
|
||||||
#define LF_F9CART 181
|
#define LF_F9CART 181
|
||||||
#define LF_DBLOG 182
|
|
||||||
|
|
||||||
#define LF_EXTERNAL 1000 // Files with id >= are considered to be externals
|
#define LF_EXTERNAL 1000 // Files with id >= are considered to be externals
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ void TMultiple_rectype::renum_key()
|
|||||||
|
|
||||||
TRectype & TMultiple_rectype::operator =(const TRectype & r)
|
TRectype & TMultiple_rectype::operator =(const TRectype & r)
|
||||||
{
|
{
|
||||||
TAuto_variable_rectype::operator=(r);
|
TRectype::operator=(r);
|
||||||
reset_fields(*this);
|
reset_fields(*this);
|
||||||
set_fields(*this);
|
set_fields(*this);
|
||||||
return *this;
|
return *this;
|
||||||
@ -249,7 +249,7 @@ TRectype & TMultiple_rectype::operator =(const TRectype & r)
|
|||||||
|
|
||||||
TRectype & TMultiple_rectype::operator =(const char * r)
|
TRectype & TMultiple_rectype::operator =(const char * r)
|
||||||
{
|
{
|
||||||
TAuto_variable_rectype::operator=(r);
|
TRectype::operator=(r);
|
||||||
reset_fields(*this);
|
reset_fields(*this);
|
||||||
set_fields(*this);
|
set_fields(*this);
|
||||||
return *this;
|
return *this;
|
||||||
|
@ -368,12 +368,7 @@ bool TPostman::dispatch_transaction(const TRectype& rec,
|
|||||||
TSocketClient socket;
|
TSocketClient socket;
|
||||||
char * buf = new char[1024 * 256];
|
char * buf = new char[1024 * 256];
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
ostrstream stream(buf, 1024 * 256);
|
ostrstream stream(buf, 1024 * 256);
|
||||||
#else
|
|
||||||
ostringstream stream(buf);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool ok = true;
|
bool ok = true;
|
||||||
|
|
||||||
item.SetTag("m:CampoTransaction");
|
item.SetTag("m:CampoTransaction");
|
||||||
|
@ -495,7 +495,7 @@ const TFilename& TFile_info::load_filedes()
|
|||||||
{
|
{
|
||||||
_dir = _filedes.SysName[0] != '$' ? _comdir : _nordir;
|
_dir = _filedes.SysName[0] != '$' ? _comdir : _nordir;
|
||||||
_name = CAddPref(_filedes.SysName);
|
_name = CAddPref(_filedes.SysName);
|
||||||
strncpy_s(_filedes.Des, dictionary_translate(_filedes.Des), sizeof(_filedes.Des)-1);
|
strncpy(_filedes.Des, dictionary_translate(_filedes.Des), sizeof(_filedes.Des)-1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
_name.cut(0);
|
_name.cut(0);
|
||||||
@ -534,7 +534,7 @@ TFile_info::TFile_info(int logicnum, TFilename& name)
|
|||||||
int err = DB_recinfo(_name, &_filedes, (RecDes*)&rec.rec(), keys.get_buffer());
|
int err = DB_recinfo(_name, &_filedes, (RecDes*)&rec.rec(), keys.get_buffer());
|
||||||
if (err == NOERR && prefix().add_recdes(logicnum, rec, keys))
|
if (err == NOERR && prefix().add_recdes(logicnum, rec, keys))
|
||||||
{
|
{
|
||||||
strncpy_s(_filedes.SysName, _name, sizeof(_filedes.SysName));
|
strncpy(_filedes.SysName, _name, sizeof(_filedes.SysName));
|
||||||
_filedes.SysName[41] = '\0';
|
_filedes.SysName[41] = '\0';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1036,7 +1036,7 @@ void TPrefix::set(
|
|||||||
{
|
{
|
||||||
const TString saved_prf = __ptprf; // Salvo __ptprf che viene cambiato da CGetPref
|
const TString saved_prf = __ptprf; // Salvo __ptprf che viene cambiato da CGetPref
|
||||||
char* prfx = (char*)CGetPref(); // Safe non const cast for StPath cprefix
|
char* prfx = (char*)CGetPref(); // Safe non const cast for StPath cprefix
|
||||||
strcpy_s(__ptprf, saved_prf);
|
strcpy(__ptprf, saved_prf);
|
||||||
xvt_fsys_build_pathname(prfx, NULL, __ptprf, _prefix, NULL, NULL);
|
xvt_fsys_build_pathname(prfx, NULL, __ptprf, _prefix, NULL, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1168,7 +1168,7 @@ bool TPrefix::set_studio(const char* study, long ditta)
|
|||||||
const TString old_firm(_prefix);
|
const TString old_firm(_prefix);
|
||||||
|
|
||||||
strcpy_s(__ptprf, sizeof(__ptprf), study);
|
strcpy_s(__ptprf, sizeof(__ptprf), study);
|
||||||
const word len = (word) strlen(__ptprf);
|
const word len = strlen(__ptprf);
|
||||||
if (len > 0 && __ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
|
if (len > 0 && __ptprf[len-1] != '\\' && __ptprf[len-1] != '/')
|
||||||
{
|
{
|
||||||
__ptprf[len] = SLASH;
|
__ptprf[len] = SLASH;
|
||||||
|
@ -19,7 +19,7 @@ word TIndwin::measure_text(TToken_string& s, word& maxlen) const
|
|||||||
word lines = 0;
|
word lines = 0;
|
||||||
FOR_EACH_TOKEN(s, t)
|
FOR_EACH_TOKEN(s, t)
|
||||||
{
|
{
|
||||||
const word l = (word) strlen(t);
|
const word l = strlen(t);
|
||||||
if (l > maxlen) maxlen = l;
|
if (l > maxlen) maxlen = l;
|
||||||
lines++;
|
lines++;
|
||||||
}
|
}
|
||||||
|
@ -205,21 +205,6 @@ void TRecord_array::sort(COMPARE_FUNCTION sort_func)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int TRecord_array::find(const TRectype & rec, int nkey) const
|
|
||||||
{
|
|
||||||
const int last = last_row();
|
|
||||||
const TString80 key2find = rec.key(nkey);
|
|
||||||
TString80 key;
|
|
||||||
|
|
||||||
for (int nrow = first_row(); nrow <= last; nrow = succ_row(nrow))
|
|
||||||
{
|
|
||||||
key = row(nrow).key(nkey);
|
|
||||||
if (key2find == key)
|
|
||||||
return nrow;
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TRecord_array::rec2row(const TRectype& r) const
|
int TRecord_array::rec2row(const TRectype& r) const
|
||||||
{
|
{
|
||||||
CHECK(r.num() == _file, "Incompatible record");
|
CHECK(r.num() == _file, "Incompatible record");
|
||||||
@ -462,36 +447,34 @@ int TRecord_array::write(bool re) const
|
|||||||
|
|
||||||
const int u = _data.last();
|
const int u = _data.last();
|
||||||
|
|
||||||
CHECK(u < 1 || !key().empty(), "Can't write rows using an empty key");
|
CHECK(u<1 || !key().empty(), "Can't write rows using an empty key");
|
||||||
int i;
|
int i;
|
||||||
for (i = 1; i <= u; i++)
|
for (i = 1; i <= u; i++)
|
||||||
{
|
{
|
||||||
TRectype* r = (TRectype*)_data.objptr(i);
|
const TRectype* r = (TRectype*)_data.objptr(i);
|
||||||
|
|
||||||
if (r != NULL)
|
if (r != NULL)
|
||||||
{
|
{
|
||||||
if (re)
|
if (re)
|
||||||
{
|
{
|
||||||
if (db_log() && _file != LF_DBLOG)
|
err = r->rewrite(f);
|
||||||
r->set_preserve_values(false);
|
if (err == _iskeynotfound || err == _iseof || err == _isemptyfile)
|
||||||
err = r->rewrite(f);
|
err = r->write(f);
|
||||||
if (err == _iskeynotfound || err == _iseof || err == _isemptyfile)
|
if (err != NOERR)
|
||||||
err = r->write(f);
|
break;
|
||||||
if (err != NOERR)
|
}
|
||||||
break;
|
else
|
||||||
}
|
{
|
||||||
else
|
err = r->write(f);
|
||||||
{
|
if (err == _isreinsert)
|
||||||
err = r->write(f);
|
{
|
||||||
if (err == _isreinsert)
|
err = r->rewrite(f);
|
||||||
{
|
re = true;
|
||||||
err = r->rewrite(f);
|
}
|
||||||
re = true;
|
if (err != NOERR)
|
||||||
}
|
break;
|
||||||
if (err != NOERR)
|
}
|
||||||
break;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
const int pos = i+_offset;
|
const int pos = i+_offset;
|
||||||
@ -524,7 +507,7 @@ int TRecord_array::write(bool re) const
|
|||||||
last_on_file = EOR; // Sul file non ci sono piu' righe da cancellare
|
last_on_file = EOR; // Sul file non ci sono piu' righe da cancellare
|
||||||
delete rec;
|
delete rec;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Cancella eventuali residui successivi
|
// Cancella eventuali residui successivi
|
||||||
|
@ -123,8 +123,6 @@ public:
|
|||||||
bool renum_key(const char* field, long num);
|
bool renum_key(const char* field, long num);
|
||||||
// @cmember Ordina il Record Array secondo il criterio definito in <t COMPARE_FUNCTION>
|
// @cmember Ordina il Record Array secondo il criterio definito in <t COMPARE_FUNCTION>
|
||||||
void sort(COMPARE_FUNCTION sort_func);
|
void sort(COMPARE_FUNCTION sort_func);
|
||||||
// @cmember Cerca un record nel Record Array secondo la chiave nkey
|
|
||||||
int find(const TRectype & rec, int nkey = 1) const ;
|
|
||||||
|
|
||||||
// @cmember Legge tutto l'array dal file
|
// @cmember Legge tutto l'array dal file
|
||||||
virtual int read(const TRectype& r);
|
virtual int read(const TRectype& r);
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user