Merge branch 'R_10_00' of http://10.65.20.33/sirio/CAMPO/campo into R_10_00
This commit is contained in:
		
						commit
						4b3f0992ca
					
				@ -194,10 +194,6 @@
 | 
				
			|||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp0300.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fp0300.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp0400.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fp0400.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp0500.cpp">
 | 
					 | 
				
			||||||
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
 | 
					 | 
				
			||||||
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
 | 
					 | 
				
			||||||
    </ClCompile>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0.h" />
 | 
					    <ClInclude Include="..\src\fp\fp0.h" />
 | 
				
			||||||
@ -205,9 +201,6 @@
 | 
				
			|||||||
    <ClInclude Include="..\src\fp\fp0200a.h" />
 | 
					    <ClInclude Include="..\src\fp\fp0200a.h" />
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0300a.h" />
 | 
					    <ClInclude Include="..\src\fp\fp0300a.h" />
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0400a.h" />
 | 
					    <ClInclude Include="..\src\fp\fp0400a.h" />
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0500a.h">
 | 
					 | 
				
			||||||
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
 | 
					 | 
				
			||||||
    </ClInclude>
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0200a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp0200a.uml">
 | 
				
			||||||
@ -215,7 +208,6 @@
 | 
				
			|||||||
    </MskCompiler>
 | 
					    </MskCompiler>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0300a.uml" />
 | 
					    <MskCompiler Include="..\src\fp\fp0300a.uml" />
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0400a.uml" />
 | 
					    <MskCompiler Include="..\src\fp\fp0400a.uml" />
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0500a.uml" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0100a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp0100a.uml">
 | 
				
			||||||
 | 
				
			|||||||
@ -45,9 +45,6 @@
 | 
				
			|||||||
    <ClCompile Include="..\src\fp\fp0200.cpp">
 | 
					    <ClCompile Include="..\src\fp\fp0200.cpp">
 | 
				
			||||||
      <Filter>Sources</Filter>
 | 
					      <Filter>Sources</Filter>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp0500.cpp">
 | 
					 | 
				
			||||||
      <Filter>Sources</Filter>
 | 
					 | 
				
			||||||
    </ClCompile>
 | 
					 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp0400.cpp">
 | 
					    <ClCompile Include="..\src\fp\fp0400.cpp">
 | 
				
			||||||
      <Filter>Sources</Filter>
 | 
					      <Filter>Sources</Filter>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
@ -65,9 +62,6 @@
 | 
				
			|||||||
    <ClInclude Include="..\src\fp\fp0300a.h">
 | 
					    <ClInclude Include="..\src\fp\fp0300a.h">
 | 
				
			||||||
      <Filter>Headers</Filter>
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
    </ClInclude>
 | 
					    </ClInclude>
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0500a.h">
 | 
					 | 
				
			||||||
      <Filter>Headers</Filter>
 | 
					 | 
				
			||||||
    </ClInclude>
 | 
					 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp0400a.h">
 | 
					    <ClInclude Include="..\src\fp\fp0400a.h">
 | 
				
			||||||
      <Filter>Headers</Filter>
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
    </ClInclude>
 | 
					    </ClInclude>
 | 
				
			||||||
@ -82,9 +76,6 @@
 | 
				
			|||||||
    <MskCompiler Include="..\src\fp\fp0300a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp0300a.uml">
 | 
				
			||||||
      <Filter>Masks</Filter>
 | 
					      <Filter>Masks</Filter>
 | 
				
			||||||
    </MskCompiler>
 | 
					    </MskCompiler>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0500a.uml">
 | 
					 | 
				
			||||||
      <Filter>Masks</Filter>
 | 
					 | 
				
			||||||
    </MskCompiler>
 | 
					 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp0400a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp0400a.uml">
 | 
				
			||||||
      <Filter>Masks</Filter>
 | 
					      <Filter>Masks</Filter>
 | 
				
			||||||
    </MskCompiler>
 | 
					    </MskCompiler>
 | 
				
			||||||
 | 
				
			|||||||
@ -187,17 +187,25 @@
 | 
				
			|||||||
    <ClCompile Include="..\src\cg\cglib01.cpp" />
 | 
					    <ClCompile Include="..\src\cg\cglib01.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\cg\cglib03.cpp" />
 | 
					    <ClCompile Include="..\src\cg\cglib03.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fe\felib.cpp" />
 | 
					    <ClCompile Include="..\src\fe\felib.cpp" />
 | 
				
			||||||
 | 
					    <ClCompile Include="..\src\fp\fp1200.cpp">
 | 
				
			||||||
 | 
					      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					      </ExcludedFromBuild>
 | 
				
			||||||
 | 
					      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
 | 
				
			||||||
 | 
					      </ExcludedFromBuild>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp1.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fp1.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fp1100.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fp1100.cpp" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp1.h" />
 | 
					    <ClInclude Include="..\src\fp\fp1.h" />
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp1100a.h" />
 | 
					    <ClInclude Include="..\src\fp\fp1100a.h" />
 | 
				
			||||||
 | 
					    <ClInclude Include="..\src\fp\fp1200a.h" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp1100a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp1100a.uml">
 | 
				
			||||||
      <FileType>Document</FileType>
 | 
					      <FileType>Document</FileType>
 | 
				
			||||||
    </MskCompiler>
 | 
					    </MskCompiler>
 | 
				
			||||||
 | 
					    <MskCompiler Include="..\src\fp\fp1200a.uml" />
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <Library Include="..\lib\fplib.lib" />
 | 
					    <Library Include="..\lib\fplib.lib" />
 | 
				
			||||||
 | 
				
			|||||||
@ -33,6 +33,9 @@
 | 
				
			|||||||
    <ClCompile Include="..\src\fe\felib.cpp">
 | 
					    <ClCompile Include="..\src\fe\felib.cpp">
 | 
				
			||||||
      <Filter>Sources</Filter>
 | 
					      <Filter>Sources</Filter>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <ClCompile Include="..\src\fp\fp1200.cpp">
 | 
				
			||||||
 | 
					      <Filter>Sources</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ClInclude Include="..\src\fp\fp1.h">
 | 
					    <ClInclude Include="..\src\fp\fp1.h">
 | 
				
			||||||
@ -41,11 +44,17 @@
 | 
				
			|||||||
    <ClInclude Include="..\src\fp\fp1100a.h">
 | 
					    <ClInclude Include="..\src\fp\fp1100a.h">
 | 
				
			||||||
      <Filter>Headers</Filter>
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
    </ClInclude>
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					    <ClInclude Include="..\src\fp\fp1200a.h">
 | 
				
			||||||
 | 
					      <Filter>Headers</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <MskCompiler Include="..\src\fp\fp1100a.uml">
 | 
					    <MskCompiler Include="..\src\fp\fp1100a.uml">
 | 
				
			||||||
      <Filter>Masks</Filter>
 | 
					      <Filter>Masks</Filter>
 | 
				
			||||||
    </MskCompiler>
 | 
					    </MskCompiler>
 | 
				
			||||||
 | 
					    <MskCompiler Include="..\src\fp\fp1200a.uml">
 | 
				
			||||||
 | 
					      <Filter>Masks</Filter>
 | 
				
			||||||
 | 
					    </MskCompiler>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <Library Include="..\lib\fplib.lib">
 | 
					    <Library Include="..\lib\fplib.lib">
 | 
				
			||||||
 | 
				
			|||||||
@ -174,7 +174,8 @@
 | 
				
			|||||||
    <ClCompile Include="..\src\fp\fplib01.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fplib01.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fplib02.cpp" />
 | 
					    <ClCompile Include="..\src\fp\fplib02.cpp" />
 | 
				
			||||||
    <ClCompile Include="..\src\fp\fplib03.cpp">
 | 
					    <ClCompile Include="..\src\fp\fplib03.cpp">
 | 
				
			||||||
      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
 | 
					      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
 | 
				
			||||||
 | 
					      </ExcludedFromBuild>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
					  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										3
									
								
								cd/test/ba0740.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cd/test/ba0740.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					batbiva.msk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aggiunto flag sulla tabella iva per escludere il codice dal calcolo bolli esenti
 | 
				
			||||||
							
								
								
									
										34
									
								
								cd/test/ba0740a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								cd/test/ba0740a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ba1]
 | 
				
			||||||
 | 
					Edit_4 = ba3 -0
 | 
				
			||||||
 | 
					Edit_5 = ba3 -0
 | 
				
			||||||
 | 
					Edit_6 = ba4 -1
 | 
				
			||||||
 | 
					File(150) = batbiva.msk|X
 | 
				
			||||||
 | 
					Patch = 740
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ba99]
 | 
				
			||||||
 | 
					Kill(0) = wxmsw240.dll|x
 | 
				
			||||||
 | 
					Kill(1) = batbsce.txt|x
 | 
				
			||||||
 | 
					Kill(2) = bastfsc.rep|x
 | 
				
			||||||
 | 
					Kill(3) = bastfsc.msk|x
 | 
				
			||||||
 | 
					Kill(4) = bastcms.msk|x
 | 
				
			||||||
 | 
					Kill(5) = bastcms.rep|x
 | 
				
			||||||
 | 
					Kill(6) = bastuue.rep|x
 | 
				
			||||||
 | 
					Kill(7) = bastuue.msk|x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ba]
 | 
				
			||||||
 | 
					Data = 21-03-2019
 | 
				
			||||||
 | 
					Descrizione = Base
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = sy
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 740
 | 
				
			||||||
 | 
					PostProcess = bainst -0 BA
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/ba0740a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/ba0740a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4
									
								
								cd/test/ca0742.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cd/test/ca0742.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					ca3.exe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Corretta selezione commessa nella stampa rendiconto. Venivano comprese anche le commesse con lo stesso prefisso 
 | 
				
			||||||
 | 
					(Es. CV18MPR50579E2 entrava in CV18MPR50579  e CV18MB250579E2 entrava in CV18MB250579
 | 
				
			||||||
							
								
								
									
										27
									
								
								cd/test/ca0742a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								cd/test/ca0742a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ca1]
 | 
				
			||||||
 | 
					Edit_106 = ca0 -3
 | 
				
			||||||
 | 
					Edit_107 = ca2 -0
 | 
				
			||||||
 | 
					Edit_146 = ca0 -4
 | 
				
			||||||
 | 
					Edit_147 = ca0 -5
 | 
				
			||||||
 | 
					Edit_148 = ca0 -6
 | 
				
			||||||
 | 
					Edit_149 = ca0 -7
 | 
				
			||||||
 | 
					File(26) = ca3.exe|X
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ca]
 | 
				
			||||||
 | 
					Data = 06-06-2016
 | 
				
			||||||
 | 
					Descrizione = Contabilita' Analitica
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = ba,cg
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/ca0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/ca0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										5
									
								
								cd/test/cg0742.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								cd/test/cg0742.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					cg3.exe
 | 
				
			||||||
 | 
					cg2100c.msk
 | 
				
			||||||
 | 
					cg4.exe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Allineamento con ultima compilazione di xvt
 | 
				
			||||||
							
								
								
									
										96
									
								
								cd/test/cg0742a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								cd/test/cg0742a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[cg1]
 | 
				
			||||||
 | 
					Edit_23 = cg2 -0
 | 
				
			||||||
 | 
					File(13) = cg2100c.msk|X
 | 
				
			||||||
 | 
					File(23) = cg3.exe|X
 | 
				
			||||||
 | 
					File(41) = cg4.exe|X
 | 
				
			||||||
 | 
					Patch = 0742
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[cg99]
 | 
				
			||||||
 | 
					Kill(0) = bastpor.rep|x
 | 
				
			||||||
 | 
					Kill(1) = batbins.msk|x
 | 
				
			||||||
 | 
					Kill(2) = bastcam.msk|x
 | 
				
			||||||
 | 
					Kill(3) = bastnot.msk|x
 | 
				
			||||||
 | 
					Kill(4) = bastesc.msk|x
 | 
				
			||||||
 | 
					Kill(5) = bastleg.msk|x
 | 
				
			||||||
 | 
					Kill(6) = bastpor.msk|x
 | 
				
			||||||
 | 
					Kill(7) = batbscc.msk|x
 | 
				
			||||||
 | 
					Kill(8) = batblia.msk|x
 | 
				
			||||||
 | 
					Kill(9) = bastzon.rep|x
 | 
				
			||||||
 | 
					Kill(10) = batbarb.msk|x
 | 
				
			||||||
 | 
					Kill(11) = batblia.msk|x
 | 
				
			||||||
 | 
					Kill(12) = batbdpn.msk|x
 | 
				
			||||||
 | 
					Kill(13) = bastcco.msk|x
 | 
				
			||||||
 | 
					Kill(14) = bastcam.rep|x
 | 
				
			||||||
 | 
					Kill(15) = bastcve.msk|x
 | 
				
			||||||
 | 
					Kill(16) = batbleg.msk|x
 | 
				
			||||||
 | 
					Kill(17) = batbvet.msk|x
 | 
				
			||||||
 | 
					Kill(18) = batbcco.msk|x
 | 
				
			||||||
 | 
					Kill(19) = bastver.msk|x
 | 
				
			||||||
 | 
					Kill(20) = batbind.msk|x
 | 
				
			||||||
 | 
					Kill(21) = batbntb.msk|x
 | 
				
			||||||
 | 
					Kill(22) = bastivd.msk|x
 | 
				
			||||||
 | 
					Kill(23) = bastscc.rep|x
 | 
				
			||||||
 | 
					Kill(24) = bastmsp.rep|x
 | 
				
			||||||
 | 
					Kill(25) = bastleg.rep|x
 | 
				
			||||||
 | 
					Kill(26) = bastivd.rep|x
 | 
				
			||||||
 | 
					Kill(27) = batbtit.msk|x
 | 
				
			||||||
 | 
					Kill(28) = bastntb.rep|x
 | 
				
			||||||
 | 
					Kill(29) = bastntb.msk|x
 | 
				
			||||||
 | 
					Kill(30) = batbtra.msk|x
 | 
				
			||||||
 | 
					Kill(31) = bastesc.rep|x
 | 
				
			||||||
 | 
					Kill(32) = bastvet.msk|x
 | 
				
			||||||
 | 
					Kill(33) = batblbu.msk|x
 | 
				
			||||||
 | 
					Kill(34) = batbinl.msk|x
 | 
				
			||||||
 | 
					Kill(35) = batbivd.msk|x
 | 
				
			||||||
 | 
					Kill(36) = bastnot.rep|x
 | 
				
			||||||
 | 
					Kill(37) = bastcfi.rep|x
 | 
				
			||||||
 | 
					Kill(38) = bastcfi.msk|x
 | 
				
			||||||
 | 
					Kill(39) = batbmsp.msk|x
 | 
				
			||||||
 | 
					Kill(40) = bastreg.rep|x
 | 
				
			||||||
 | 
					Kill(41) = bastvet.rep|x
 | 
				
			||||||
 | 
					Kill(42) = batbnot.msk|x
 | 
				
			||||||
 | 
					Kill(43) = bastver.rep|x
 | 
				
			||||||
 | 
					Kill(44) = batbzon.msk|x
 | 
				
			||||||
 | 
					Kill(45) = batbcfi.msk|x
 | 
				
			||||||
 | 
					Kill(46) = bastreg.msk|x
 | 
				
			||||||
 | 
					Kill(47) = bastpdb.rep|x
 | 
				
			||||||
 | 
					Kill(48) = batbdel.msk|x
 | 
				
			||||||
 | 
					Kill(49) = batbcam.msk|x
 | 
				
			||||||
 | 
					Kill(50) = bastarb.msk|x
 | 
				
			||||||
 | 
					Kill(51) = batbcve.msk|x
 | 
				
			||||||
 | 
					Kill(52) = bastdpn.rep|x
 | 
				
			||||||
 | 
					Kill(53) = bastndo.msk|x
 | 
				
			||||||
 | 
					Kill(54) = batbesc.msk|x
 | 
				
			||||||
 | 
					Kill(55) = cgtbcon.msk|x
 | 
				
			||||||
 | 
					Kill(56) = bastdpn.msk|x
 | 
				
			||||||
 | 
					Kill(57) = batbreg.msk|x
 | 
				
			||||||
 | 
					Kill(58) = batbndo.msk|x
 | 
				
			||||||
 | 
					Kill(59) = batbver.msk|x
 | 
				
			||||||
 | 
					Kill(60) = batbpdb.msk|x
 | 
				
			||||||
 | 
					Kill(61) = bastpdb.msk|x
 | 
				
			||||||
 | 
					Kill(62) = bastndo.rep|x
 | 
				
			||||||
 | 
					Kill(63) = bastscc.msk|x
 | 
				
			||||||
 | 
					Kill(64) = bastzon.msk|x
 | 
				
			||||||
 | 
					Kill(65) = batbpor.msk|x
 | 
				
			||||||
 | 
					Kill(66) = bastcco.rep|x
 | 
				
			||||||
 | 
					Kill(67) = bastarb.rep|x
 | 
				
			||||||
 | 
					Kill(68) = bastcve.rep|x
 | 
				
			||||||
 | 
					Kill(69) = bastmsp.msk|x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[cg]
 | 
				
			||||||
 | 
					Data = 21-03-2019
 | 
				
			||||||
 | 
					Descrizione = Contabilita' Generale
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = ba
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					PostProcess = bainst -0 CG
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/cg0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/cg0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3
									
								
								cd/test/fp0738.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cd/test/fp0738.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					fp0.exe
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aggiunte info in caso di errori
 | 
				
			||||||
							
								
								
									
										19
									
								
								cd/test/fp0738a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								cd/test/fp0738a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[fp1]
 | 
				
			||||||
 | 
					File(0) = fp0.exe|X
 | 
				
			||||||
 | 
					Patch = 738
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[fp]
 | 
				
			||||||
 | 
					Data = 19-03-2019
 | 
				
			||||||
 | 
					Descrizione = Fattura Elettronica
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = cg,ve
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 738
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/fp0738a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/fp0738a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								cd/test/fp0742.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								cd/test/fp0742.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					fp0.exe
 | 
				
			||||||
 | 
					fp0100a.msk
 | 
				
			||||||
							
								
								
									
										20
									
								
								cd/test/fp0742a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								cd/test/fp0742a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[fp1]
 | 
				
			||||||
 | 
					File(0) = fp0.exe|X
 | 
				
			||||||
 | 
					File(1) = fp0100a.msk|X
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[fp]
 | 
				
			||||||
 | 
					Data = 21-03-2019
 | 
				
			||||||
 | 
					Descrizione = Fattura Elettronica
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = cg,ve
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/fp0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/fp0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4
									
								
								cd/test/sy0738.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cd/test/sy0738.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					xvaga.dll
 | 
				
			||||||
 | 
					xvtdb.dll
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Patch di supporto per fp0738
 | 
				
			||||||
							
								
								
									
										22
									
								
								cd/test/sy0738a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								cd/test/sy0738a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sy1]
 | 
				
			||||||
 | 
					File(52) = xvaga.dll|X
 | 
				
			||||||
 | 
					File(53) = xvtdb.dll|X
 | 
				
			||||||
 | 
					Patch = 738
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sy]
 | 
				
			||||||
 | 
					Data = 19-03-2019
 | 
				
			||||||
 | 
					Descrizione = Sistema
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = 
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 738
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/sy0738a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/sy0738a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								cd/test/sy0742.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								cd/test/sy0742.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					xvaga.dll
 | 
				
			||||||
 | 
					xvtdb.dll
 | 
				
			||||||
							
								
								
									
										22
									
								
								cd/test/sy0742a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								cd/test/sy0742a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sy1]
 | 
				
			||||||
 | 
					File(52) = xvaga.dll|X
 | 
				
			||||||
 | 
					File(53) = xvtdb.dll|X
 | 
				
			||||||
 | 
					Patch = 0742
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[sy]
 | 
				
			||||||
 | 
					Data = 21-03-2019
 | 
				
			||||||
 | 
					Descrizione = Sistema
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = 
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/sy0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/sy0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										4
									
								
								cd/test/tf0742.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								cd/test/tf0742.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,4 @@
 | 
				
			|||||||
 | 
					tf0.exe
 | 
				
			||||||
 | 
					tf0100a.msk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Allineamento con ultima compilazione di xvt
 | 
				
			||||||
							
								
								
									
										20
									
								
								cd/test/tf0742a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								cd/test/tf0742a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[tf1]
 | 
				
			||||||
 | 
					File(0) = tf0.exe|X
 | 
				
			||||||
 | 
					File(1) = tf0100a.msk|X
 | 
				
			||||||
 | 
					Patch = 0742
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[tf]
 | 
				
			||||||
 | 
					Data = 21-03-2019
 | 
				
			||||||
 | 
					Descrizione = Trasferimento fatture
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = cg
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 742
 | 
				
			||||||
 | 
					PostProcess = 
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/tf0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/tf0742a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										8
									
								
								cd/test/ve0740.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								cd/test/ve0740.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,8 @@
 | 
				
			|||||||
 | 
					ve5.exe
 | 
				
			||||||
 | 
					ve6.exe
 | 
				
			||||||
 | 
					ve0.exe
 | 
				
			||||||
 | 
					ve1.exe
 | 
				
			||||||
 | 
					vetbtip.msk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aggiunto flag sulla tabella iva per escludere il codice dal calcolo bolli esenti
 | 
				
			||||||
 | 
					Sistemata maschera tipi documento
 | 
				
			||||||
							
								
								
									
										133
									
								
								cd/test/ve0740a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								cd/test/ve0740a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,133 @@
 | 
				
			|||||||
 | 
					[Main]
 | 
				
			||||||
 | 
					Demo=0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ve1]
 | 
				
			||||||
 | 
					File(0) = ve0.exe|X
 | 
				
			||||||
 | 
					File(19) = ve1.exe|X
 | 
				
			||||||
 | 
					File(86) = ve5.exe|X
 | 
				
			||||||
 | 
					File(93) = ve6.exe|X
 | 
				
			||||||
 | 
					File(224) = vetbtip.msk|X
 | 
				
			||||||
 | 
					Patch = 740
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ve99]
 | 
				
			||||||
 | 
					Kill(0) = batbcld.msk|x
 | 
				
			||||||
 | 
					Kill(1) = bastspp.rep|x
 | 
				
			||||||
 | 
					Kill(2) = baststd.rep|x
 | 
				
			||||||
 | 
					Kill(3) = bastbnp.rep|x
 | 
				
			||||||
 | 
					Kill(4) = ve7400a.msk|x
 | 
				
			||||||
 | 
					Kill(5) = bastfrd.msk|x
 | 
				
			||||||
 | 
					Kill(6) = bastprs.rep|x
 | 
				
			||||||
 | 
					Kill(7) = basttip.msk|x
 | 
				
			||||||
 | 
					Kill(8) = bastcaa.rep|x
 | 
				
			||||||
 | 
					Kill(9) = efstbnp.msk|x
 | 
				
			||||||
 | 
					Kill(10) = batbprs.msk|x
 | 
				
			||||||
 | 
					Kill(11) = batbabe.msk|x
 | 
				
			||||||
 | 
					Kill(12) = bastgca.msk|x
 | 
				
			||||||
 | 
					Kill(13) = batbgmc.msk|x
 | 
				
			||||||
 | 
					Kill(14) = bastcau.rep|x
 | 
				
			||||||
 | 
					Kill(15) = bastcra.msk|x
 | 
				
			||||||
 | 
					Kill(16) = bastspp.msk|x
 | 
				
			||||||
 | 
					Kill(17) = basttag.rep|x
 | 
				
			||||||
 | 
					Kill(18) = batbcau.msk|x
 | 
				
			||||||
 | 
					Kill(19) = bastctr.rep|x
 | 
				
			||||||
 | 
					Kill(20) = ve7500a.msk|x
 | 
				
			||||||
 | 
					Kill(21) = bastasf.rep|x
 | 
				
			||||||
 | 
					Kill(22) = bastums.rep|x
 | 
				
			||||||
 | 
					Kill(23) = bastfrr.msk|x
 | 
				
			||||||
 | 
					Kill(24) = basteld.rep|x
 | 
				
			||||||
 | 
					Kill(25) = batbprv.msk|x
 | 
				
			||||||
 | 
					Kill(26) = ve7200a.msk|x
 | 
				
			||||||
 | 
					Kill(27) = batbgca.msk|x
 | 
				
			||||||
 | 
					Kill(28) = batbmre.msk|x
 | 
				
			||||||
 | 
					Kill(29) = bastcaa.msk|x
 | 
				
			||||||
 | 
					Kill(30) = ve7700a.msk|x
 | 
				
			||||||
 | 
					Kill(31) = batbtri.msk|x
 | 
				
			||||||
 | 
					Kill(32) = basttip.rep|x
 | 
				
			||||||
 | 
					Kill(33) = efstbnp.rep|x
 | 
				
			||||||
 | 
					Kill(34) = baststd.msk|x
 | 
				
			||||||
 | 
					Kill(35) = batbasf.msk|x
 | 
				
			||||||
 | 
					Kill(36) = bastimb.msk|x
 | 
				
			||||||
 | 
					Kill(37) = batbrfa.msk|x
 | 
				
			||||||
 | 
					Kill(38) = ve7300a.msk|x
 | 
				
			||||||
 | 
					Kill(39) = ve7600a.msk|x
 | 
				
			||||||
 | 
					Kill(40) = batbspt.msk|x
 | 
				
			||||||
 | 
					Kill(41) = bastfca.rep|x
 | 
				
			||||||
 | 
					Kill(42) = bastrfc.msk|x
 | 
				
			||||||
 | 
					Kill(43) = bastprs.msk|x
 | 
				
			||||||
 | 
					Kill(44) = bastgcg.msk|x
 | 
				
			||||||
 | 
					Kill(45) = batbspp.msk|x
 | 
				
			||||||
 | 
					Kill(46) = batbgcg.msk|x
 | 
				
			||||||
 | 
					Kill(47) = bastnum.rep|x
 | 
				
			||||||
 | 
					Kill(48) = bastgmc.msk|x
 | 
				
			||||||
 | 
					Kill(49) = batbrfc.msk|x
 | 
				
			||||||
 | 
					Kill(50) = bastubi.msk|x
 | 
				
			||||||
 | 
					Kill(51) = batbtag.msk|x
 | 
				
			||||||
 | 
					Kill(52) = ve7400a.ini|x
 | 
				
			||||||
 | 
					Kill(53) = bastrfa.msk|x
 | 
				
			||||||
 | 
					Kill(54) = bastabe.rep|x
 | 
				
			||||||
 | 
					Kill(55) = bastubi.rep|x
 | 
				
			||||||
 | 
					Kill(56) = bastasf.msk|x
 | 
				
			||||||
 | 
					Kill(57) = batbctr.msk|x
 | 
				
			||||||
 | 
					Kill(58) = ve7100a.msk|x
 | 
				
			||||||
 | 
					Kill(59) = batbcaa.msk|x
 | 
				
			||||||
 | 
					Kill(60) = batbfid.msk|x
 | 
				
			||||||
 | 
					Kill(61) = ve7300a.frm|x
 | 
				
			||||||
 | 
					Kill(62) = bastfrr.rep|x
 | 
				
			||||||
 | 
					Kill(63) = bastums.msk|x
 | 
				
			||||||
 | 
					Kill(64) = basttri.rep|x
 | 
				
			||||||
 | 
					Kill(65) = bastrfa.rep|x
 | 
				
			||||||
 | 
					Kill(66) = bastcau.msk|x
 | 
				
			||||||
 | 
					Kill(67) = batbtip.msk|x
 | 
				
			||||||
 | 
					Kill(68) = batbubi.msk|x
 | 
				
			||||||
 | 
					Kill(69) = basttag.msk|x
 | 
				
			||||||
 | 
					Kill(70) = basteld.msk|x
 | 
				
			||||||
 | 
					Kill(71) = bastimb.rep|x
 | 
				
			||||||
 | 
					Kill(72) = bastrfc.rep|x
 | 
				
			||||||
 | 
					Kill(73) = ve7.exe|x
 | 
				
			||||||
 | 
					Kill(74) = ve7200a.frm|x
 | 
				
			||||||
 | 
					Kill(75) = batbfrr.msk|x
 | 
				
			||||||
 | 
					Kill(76) = bastfca.msk|x
 | 
				
			||||||
 | 
					Kill(77) = batbfrd.msk|x
 | 
				
			||||||
 | 
					Kill(78) = bastctr.msk|x
 | 
				
			||||||
 | 
					Kill(79) = batbpro.msk|x
 | 
				
			||||||
 | 
					Kill(80) = ve7400conf.ini|x
 | 
				
			||||||
 | 
					Kill(81) = bastfrm.rep|x
 | 
				
			||||||
 | 
					Kill(82) = batbbnp.msk|x
 | 
				
			||||||
 | 
					Kill(83) = bastgca.rep|x
 | 
				
			||||||
 | 
					Kill(84) = batbstd.msk|x
 | 
				
			||||||
 | 
					Kill(85) = ve7701a.ini|x
 | 
				
			||||||
 | 
					Kill(86) = batbfsa.msk|x
 | 
				
			||||||
 | 
					Kill(87) = batbnum.msk|x
 | 
				
			||||||
 | 
					Kill(88) = bastabe.msk|x
 | 
				
			||||||
 | 
					Kill(89) = eftbbnp.msk|x
 | 
				
			||||||
 | 
					Kill(90) = batbfca.msk|x
 | 
				
			||||||
 | 
					Kill(91) = bastgcg.rep|x
 | 
				
			||||||
 | 
					Kill(92) = batbgsa.msk|x
 | 
				
			||||||
 | 
					Kill(93) = bastfrm.msk|x
 | 
				
			||||||
 | 
					Kill(94) = bastbnp.msk|x
 | 
				
			||||||
 | 
					Kill(95) = bastgmc.rep|x
 | 
				
			||||||
 | 
					Kill(96) = bastcra.rep|x
 | 
				
			||||||
 | 
					Kill(97) = bastfrd.rep|x
 | 
				
			||||||
 | 
					Kill(98) = batbacr.msk|x
 | 
				
			||||||
 | 
					Kill(99) = batbimb.msk|x
 | 
				
			||||||
 | 
					Kill(100) = basttri.msk|x
 | 
				
			||||||
 | 
					Kill(101) = bastnum.msk|x
 | 
				
			||||||
 | 
					Kill(102) = batbeld.msk|x
 | 
				
			||||||
 | 
					Kill(103) = batbums.msk|x
 | 
				
			||||||
 | 
					Kill(104) = batbcra.msk|x
 | 
				
			||||||
 | 
					Kill(105) = batbfrm.msk|x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[ve]
 | 
				
			||||||
 | 
					Data = 12-03-2019
 | 
				
			||||||
 | 
					Descrizione = Vendite
 | 
				
			||||||
 | 
					Dischi = 1
 | 
				
			||||||
 | 
					Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
 | 
				
			||||||
 | 
					OEM = 
 | 
				
			||||||
 | 
					Patch = 740
 | 
				
			||||||
 | 
					PostProcess = bainst -0 VE
 | 
				
			||||||
 | 
					PreProcess = 
 | 
				
			||||||
 | 
					Prezzo(1) = 
 | 
				
			||||||
 | 
					Prezzo(2) = 
 | 
				
			||||||
 | 
					Versione = 21511200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/ve0740a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/ve0740a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -24,3 +24,4 @@
 | 
				
			|||||||
#define FLD_DESCR_I1   125
 | 
					#define FLD_DESCR_I1   125
 | 
				
			||||||
#define FLD_INDET_S4   126
 | 
					#define FLD_INDET_S4   126
 | 
				
			||||||
#define FLD_NATURA     127
 | 
					#define FLD_NATURA     127
 | 
				
			||||||
 | 
					#define CHK_TABIVA_B5  128
 | 
				
			||||||
 | 
				
			|||||||
@ -53,22 +53,22 @@ BEGIN
 | 
				
			|||||||
  HELP "Indicare il tipo di codice IVA"
 | 
					  HELP "Indicare il tipo di codice IVA"
 | 
				
			||||||
  ITEM "  |Regime IVA normale"
 | 
					  ITEM "  |Regime IVA normale"
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
					  MESSAGE ENABLE,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_I3|CLEAR,FLD_TABIVA_I4
 | 
					  MESSAGE CLEAR,FLD_TABIVA_I3|CLEAR,FLD_TABIVA_I4|HIDE,CHK_TABIVA_B5
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
					  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
				
			||||||
  ITEM "VE|Ricavi da ventilare"
 | 
					  ITEM "VE|Ricavi da ventilare"
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0|CLEAR,FLD_TABIVA_I3
 | 
					  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0|CLEAR,FLD_TABIVA_I3
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_I4|CLEAR,FLD_TABIVA_S6
 | 
					  MESSAGE CLEAR,FLD_TABIVA_I4|CLEAR,FLD_TABIVA_S6|HIDE,CHK_TABIVA_B5
 | 
				
			||||||
  ITEM "ES|Operazioni esenti"
 | 
					  ITEM "ES|Operazioni esenti"
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
					  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
 | 
					  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
					  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
				
			||||||
  ITEM "NI|Non imponibili"
 | 
					  ITEM "NI|Non imponibili"
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_R0|ENABLE,FLD_TABIVA_I0
 | 
					  MESSAGE CLEAR,FLD_TABIVA_R0|ENABLE,FLD_TABIVA_I0
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
 | 
					  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
					  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
				
			||||||
  ITEM "NS|Non soggetti"
 | 
					  ITEM "NS|Non soggetti"
 | 
				
			||||||
  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
					  MESSAGE CLEAR,FLD_TABIVA_R0|CLEAR,FLD_TABIVA_I0
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4
 | 
					  MESSAGE ENABLE,FLD_TABIVA_I3|ENABLE,FLD_TABIVA_I4|SHOW,CHK_TABIVA_B5
 | 
				
			||||||
  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
					  MESSAGE ENABLE,FLD_TABIVA_S6
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -144,6 +144,12 @@ BEGIN
 | 
				
			|||||||
  FIELD S4
 | 
					  FIELD S4
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BOOLEAN CHK_TABIVA_B5
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 30 5 "Escluso dal calcolo dei bolli sufatture esenti"
 | 
				
			||||||
 | 
					  FIELD B5
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GROUPBOX DLG_NULL 78 4
 | 
					GROUPBOX DLG_NULL 78 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 6 "@bComunicazione operazioni rilevanti ai fini dell'IVA (Spesometro)"
 | 
					  PROMPT 1 6 "@bComunicazione operazioni rilevanti ai fini dell'IVA (Spesometro)"
 | 
				
			||||||
 | 
				
			|||||||
@ -1653,11 +1653,8 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp,
 | 
				
			|||||||
		  {
 | 
							  {
 | 
				
			||||||
        //legge la testata iniziale
 | 
					        //legge la testata iniziale
 | 
				
			||||||
        const long numreg = rmovana.get_long(RMOVANA_NUMREG);
 | 
					        const long numreg = rmovana.get_long(RMOVANA_NUMREG);
 | 
				
			||||||
#ifdef DBG
 | 
					
 | 
				
			||||||
        if (numreg == 32736)
 | 
							    //se la testata e' cambiata, allora ha cambiato movana e quindi le righe da compattare sono..
 | 
				
			||||||
          const int cazzissimo = 1;
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
        //se la testata e' cambiata, allora ha cambiato movana e quindi le righe da compattare sono..
 | 
					 | 
				
			||||||
        //..quelle che ha gia' messo nell'array delle righe_attuali
 | 
					        //..quelle che ha gia' messo nell'array delle righe_attuali
 | 
				
			||||||
        if (numreg != old_numreg)
 | 
					        if (numreg != old_numreg)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -1692,7 +1689,21 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rmovana(TLocalisamfile& tmp,
 | 
				
			|||||||
		  for (cur_rmovana = 0; cur_rmovana.pos() < rmovana_items; ++cur_rmovana)
 | 
							  for (cur_rmovana = 0; cur_rmovana.pos() < rmovana_items; ++cur_rmovana)
 | 
				
			||||||
		  {
 | 
							  {
 | 
				
			||||||
			  if (!pi.addstatus(1))
 | 
								  if (!pi.addstatus(1))
 | 
				
			||||||
          break;
 | 
					                break;
 | 
				
			||||||
 | 
								const TString & cms = cur_rmovana.curr().get(RMOVANA_CODCMS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (cms != _codcms)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
					#ifdef DBG
 | 
				
			||||||
 | 
										const long numreg = rmovana.get_long(RMOVANA_NUMREG);
 | 
				
			||||||
 | 
										const TRectype & movana = cache().get(LF_MOVANA, numreg);
 | 
				
			||||||
 | 
					         	        TString msg; msg << "Mov - Commessa " << _codcms << " - Scartato " << movana.get(MOVANA_DCODNUM) << "." << movana.get_int(MOVANA_DANNO) << "." << movana.get_int(MOVANA_DNDOC) << " - Commessa " << cms;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										log.log(2, msg);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
										continue;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			  scrive_riga(tmp, rmovana, movana, NULL, log);
 | 
								  scrive_riga(tmp, rmovana, movana, NULL, log);
 | 
				
			||||||
		  }
 | 
							  }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -1706,9 +1717,9 @@ int TPrint_rendiconto_ca_recordset::crea_filtro_rdoc(const TMask& msk, TRectype&
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  int cur_key = 6;
 | 
					  int cur_key = 6;
 | 
				
			||||||
  //intanto sistema darec arec
 | 
					  //intanto sistema darec arec
 | 
				
			||||||
	da_rdoc.put(RDOC_CODCMS, _codcms);
 | 
					  da_rdoc.put(RDOC_CODCMS, _codcms);
 | 
				
			||||||
  da_rdoc.put(RDOC_CODCOSTO, _codcosto);
 | 
					  da_rdoc.put(RDOC_CODCOSTO, _codcosto);
 | 
				
			||||||
	a_rdoc = da_rdoc;
 | 
					  a_rdoc = da_rdoc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //se c'è solo cdc..
 | 
					  //se c'è solo cdc..
 | 
				
			||||||
  if (_codcms.blank() && _codcosto.full())
 | 
					  if (_codcms.blank() && _codcosto.full())
 | 
				
			||||||
@ -1822,7 +1833,8 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
 | 
				
			|||||||
			//La riga esaminata deve avere una testata valida!!!!Se la testata non esiste va saltata..
 | 
								//La riga esaminata deve avere una testata valida!!!!Se la testata non esiste va saltata..
 | 
				
			||||||
			//..la riga
 | 
								//..la riga
 | 
				
			||||||
      const TRectype& curr_doc = cur_rdoc.curr(LF_DOC);
 | 
					      const TRectype& curr_doc = cur_rdoc.curr(LF_DOC);
 | 
				
			||||||
			if (!curr_doc.empty())
 | 
					
 | 
				
			||||||
 | 
							  if (!curr_doc.empty())
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				//controlla se il documento cui appartiene la rigadoc e' stato contabilizzato;
 | 
									//controlla se il documento cui appartiene la rigadoc e' stato contabilizzato;
 | 
				
			||||||
				//se e' stato contabilizzato lo salta in quanto la riga documento apparira' attraverso le righe
 | 
									//se e' stato contabilizzato lo salta in quanto la riga documento apparira' attraverso le righe
 | 
				
			||||||
@ -1833,11 +1845,22 @@ void TPrint_rendiconto_ca_recordset::crea_righe_da_rdoc(TLocalisamfile& tmp, con
 | 
				
			|||||||
				//..ricevere/emettere, vanno ri-contabilizzate lo stesso anche se lo sono gia' state. Il loro..
 | 
									//..ricevere/emettere, vanno ri-contabilizzate lo stesso anche se lo sono gia' state. Il loro..
 | 
				
			||||||
				//..importo verra' poi messo nel fatturato.
 | 
									//..importo verra' poi messo nel fatturato.
 | 
				
			||||||
				const TRectype& curr_rdoc = cur_rdoc.curr();
 | 
									const TRectype& curr_rdoc = cur_rdoc.curr();
 | 
				
			||||||
 | 
									const TString & cms = curr_rdoc.get(RDOC_CODCMS);
 | 
				
			||||||
				const TString& rdoc_dacodnum = curr_rdoc.get(RDOC_DACODNUM);
 | 
									const TString& rdoc_dacodnum = curr_rdoc.get(RDOC_DACODNUM);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef DBG
 | 
					#ifdef DBG
 | 
				
			||||||
        if (rdoc_dacodnum == "FDE" && curr_rdoc.get_int(RDOC_ANNO) == 2011 && curr_rdoc.get_int(RDOC_NDOC) == 3)
 | 
									if (curr_rdoc.get(RDOC_CODNUM) == "F01" && curr_rdoc.get_int(RDOC_ANNO) == 2018 && curr_rdoc.get_int(RDOC_NDOC) == 5350)
 | 
				
			||||||
          const int culone = 1;
 | 
										const int culone = 1;
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
									if (cms != _codcms)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
					#ifdef DBG
 | 
				
			||||||
 | 
										TString msg; msg << "Doc - Commessa " << _codcms << " - Scartato " << curr_rdoc.get(RDOC_CODNUM) << "." << curr_rdoc.get_int(RDOC_ANNO) << "." << curr_rdoc.get_int(RDOC_NDOC) << " - Commessa " << cms;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
										log.log(2, msg);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					    				continue;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
				const bool is_special_doc = _num_fdr.find(rdoc_dacodnum) >= 0;
 | 
									const bool is_special_doc = _num_fdr.find(rdoc_dacodnum) >= 0;
 | 
				
			||||||
				//documento non contabilizzato o fattura da ricevere con numerazione configurata speciale
 | 
									//documento non contabilizzato o fattura da ricevere con numerazione configurata speciale
 | 
				
			||||||
				if (numregca == 0) // || is_special_doc)
 | 
									if (numregca == 0) // || is_special_doc)
 | 
				
			||||||
 | 
				
			|||||||
@ -158,8 +158,9 @@ public:  // TObject
 | 
				
			|||||||
	bool senza_imposta() { return percentuale() == ZERO;}
 | 
						bool senza_imposta() { return percentuale() == ZERO;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  int allegato(char tipocf) const { return get_int(tipocf == 'F' ? "S8" : "S7"); }
 | 
					  int allegato(char tipocf) const { return get_int(tipocf == 'F' ? "S8" : "S7"); }
 | 
				
			||||||
	bool has_plafond() const { return get_int("S3") > 0; }
 | 
					  bool has_plafond() const { return get_int("S3") > 0; }
 | 
				
			||||||
	bool sospeso() const { return get_bool("B2"); }
 | 
					  bool sospeso() const { return get_bool("B2"); }
 | 
				
			||||||
 | 
					  bool escluso_esenti() const { return get_bool("B5"); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  real imposta(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const;  // Calcola l'imposta sull'imponibile l'imposta e la ritorna
 | 
					  real imposta(const real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const;  // Calcola l'imposta sull'imponibile l'imposta e la ritorna
 | 
				
			||||||
  real scorpora(real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const;       // Scorpora dall'imponibile l'imposta e la ritorna
 | 
					  real scorpora(real& imponibile, int ndec = AUTO_DECIMALS, const char * codval = "") const;       // Scorpora dall'imponibile l'imposta e la ritorna
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,6 @@ int main(int argc, char** argv)
 | 
				
			|||||||
	case 1: rt = fp0200(argc, argv); break;	  // Inserimento massivo PEC e Cod Sdi clifo
 | 
						case 1: rt = fp0200(argc, argv); break;	  // Inserimento massivo PEC e Cod Sdi clifo
 | 
				
			||||||
	case 2: rt = fp0300(argc, argv); break;   // Gestione fatture attive (PAA, Ex Fattura PA)
 | 
						case 2: rt = fp0300(argc, argv); break;   // Gestione fatture attive (PAA, Ex Fattura PA)
 | 
				
			||||||
	case 3: rt = fp0400(argc, argv); break;   // Monitor fatture passive
 | 
						case 3: rt = fp0400(argc, argv); break;   // Monitor fatture passive
 | 
				
			||||||
	case 4: rt = fp0500(argc, argv); break;	  // Elenco mancate consegna
 | 
					 | 
				
			||||||
	default: rt = fp0100(argc, argv); break;	// Configurazione
 | 
						default: rt = fp0100(argc, argv); break;	// Configurazione
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return rt;
 | 
					  return rt;
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,5 @@ int fp0100(int argc, char* argv[]);
 | 
				
			|||||||
int fp0200(int argc, char* argv[]);
 | 
					int fp0200(int argc, char* argv[]);
 | 
				
			||||||
int fp0300(int argc, char* argv[]);
 | 
					int fp0300(int argc, char* argv[]);
 | 
				
			||||||
int fp0400(int argc, char* argv[]);
 | 
					int fp0400(int argc, char* argv[]);
 | 
				
			||||||
int fp0500(int argc, char* argv[]);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -20,6 +20,7 @@ protected:
 | 
				
			|||||||
	void tipi_import() const;
 | 
						void tipi_import() const;
 | 
				
			||||||
	static TMask& get_tmp_msk(const char* title);
 | 
						static TMask& get_tmp_msk(const char* title);
 | 
				
			||||||
	virtual bool on_key(KEY key);
 | 
						virtual bool on_key(KEY key);
 | 
				
			||||||
 | 
						void delete_row_npf(TOperable_field& o) const;
 | 
				
			||||||
	virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
						virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
@ -47,6 +48,7 @@ void TParametri_mask::save_all() const
 | 
				
			|||||||
	fp_settings().set_check_not_block(get_bool(F_CHECK_NOT_BLOCK));
 | 
						fp_settings().set_check_not_block(get_bool(F_CHECK_NOT_BLOCK));
 | 
				
			||||||
	fp_settings().set_no_sconti_fatt(get_bool(F_CHECK_NO_SCONTI));
 | 
						fp_settings().set_no_sconti_fatt(get_bool(F_CHECK_NO_SCONTI));
 | 
				
			||||||
	TFP_righe_custom().save_sheet(sfield(F_FORMPERS));
 | 
						TFP_righe_custom().save_sheet(sfield(F_FORMPERS));
 | 
				
			||||||
 | 
						TFP_nota_piede_f().save_sheet(sfield(F_NPFSHEET));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TParametri_mask::load_all()
 | 
					void TParametri_mask::load_all()
 | 
				
			||||||
@ -64,6 +66,7 @@ void TParametri_mask::load_all()
 | 
				
			|||||||
	set(F_CHECK_NOT_BLOCK, fp_settings().get_check_not_block());
 | 
						set(F_CHECK_NOT_BLOCK, fp_settings().get_check_not_block());
 | 
				
			||||||
	set(F_CHECK_NO_SCONTI, fp_settings().get_no_sconti_fatt());
 | 
						set(F_CHECK_NO_SCONTI, fp_settings().get_no_sconti_fatt());
 | 
				
			||||||
	TFP_righe_custom().load_sheet(sfield(F_FORMPERS));
 | 
						TFP_righe_custom().load_sheet(sfield(F_FORMPERS));
 | 
				
			||||||
 | 
						TFP_nota_piede_f().load_sheet(sfield(F_NPFSHEET));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TParametri_mask::tipi_import() const
 | 
					void TParametri_mask::tipi_import() const
 | 
				
			||||||
@ -134,6 +137,18 @@ bool TParametri_mask::on_key(KEY key)
 | 
				
			|||||||
	return true;
 | 
						return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TParametri_mask::delete_row_npf(TOperable_field& o) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TSheet_field& sf = sfield(F_NPFSHEET);
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						TMask& msk = o.mask();
 | 
				
			||||||
 | 
						const TString& tipodoc_msk = msk.get(S_DOC);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for(int i=0; i < sf.items(); i++)
 | 
				
			||||||
 | 
							if (tipodoc_msk == sf.row(i).get(0))
 | 
				
			||||||
 | 
								sf.destroy(i);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool TParametri_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
					bool TParametri_mask::on_field_event(TOperable_field& o, TField_event e, long jolly)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (o.dlg())
 | 
						switch (o.dlg())
 | 
				
			||||||
@ -216,6 +231,13 @@ bool TParametri_mask::on_field_event(TOperable_field& o, TField_event e, long jo
 | 
				
			|||||||
			set(F_ESPORTADOC, "");
 | 
								set(F_ESPORTADOC, "");
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
						case DLG_DELREC:
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (e == fe_button)
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								delete_row_npf(o);
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	break;
 | 
						break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
 | 
				
			|||||||
@ -23,4 +23,10 @@
 | 
				
			|||||||
#define S_TIPORIGA					102
 | 
					#define S_TIPORIGA					102
 | 
				
			||||||
#define S_QTA								103
 | 
					#define S_QTA								103
 | 
				
			||||||
#define S_PREZZO						104
 | 
					#define S_PREZZO						104
 | 
				
			||||||
#define S_IMPONIBILE				105
 | 
					#define S_IMPONIBILE				105
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define F_NPFSHEET					501
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define S_DOC								101
 | 
				
			||||||
 | 
					#define S_NOTAPF						102
 | 
				
			||||||
@ -101,7 +101,6 @@ BEGIN
 | 
				
			|||||||
  ITEM "Imponibile"
 | 
					  ITEM "Imponibile"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
GROUPBOX DLG_NULL 78 3
 | 
					GROUPBOX DLG_NULL 78 3
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 1 8 "@BControlli preventivi"
 | 
					  PROMPT 1 8 "@BControlli preventivi"
 | 
				
			||||||
@ -122,6 +121,12 @@ BEGIN
 | 
				
			|||||||
  PROMPT 2 12 "Non esporre sconti in fattura"
 | 
					  PROMPT 2 12 "Non esporre sconti in fattura"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SPREADSHEET F_NPFSHEET 60 6
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT 1 14 "Inserimento\nNote piede fattura"
 | 
				
			||||||
 | 
						ITEM "Tipo\nDoc@4"
 | 
				
			||||||
 | 
						ITEM "Nota piede\nFattura@15"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDPAGE
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -155,11 +160,11 @@ ENDPAGE
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ENDMASK
 | 
					ENDMASK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PAGE "Elementi spredsheet" 0 2 0 0
 | 
					PAGE "Elementi spredsheet" -1 -1 60 12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING S_TIPODOC 4
 | 
					STRING S_TIPODOC 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 15 1  "Tipo doc "
 | 
					  PROMPT 1 1  "Tipo doc "
 | 
				
			||||||
  HELP "Lasciare libero per tutti i tipo documento"
 | 
					  HELP "Lasciare libero per tutti i tipo documento"
 | 
				
			||||||
  USE %TIP
 | 
					  USE %TIP
 | 
				
			||||||
  SELECT S3[37,40]!=""
 | 
					  SELECT S3[37,40]!=""
 | 
				
			||||||
@ -173,7 +178,7 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
STRING S_TIPORIGA 4
 | 
					STRING S_TIPORIGA 4
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 15 1  "Tipo riga "
 | 
						PROMPT 1 2  "Tipo riga "
 | 
				
			||||||
	USE %TRI
 | 
						USE %TRI
 | 
				
			||||||
	INPUT CODTAB S_TIPORIGA
 | 
						INPUT CODTAB S_TIPORIGA
 | 
				
			||||||
	DISPLAY "Codice@10" CODTAB
 | 
						DISPLAY "Codice@10" CODTAB
 | 
				
			||||||
@ -184,12 +189,12 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
STRING S_QTA 10
 | 
					STRING S_QTA 10
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 0 2 "Qta"
 | 
						PROMPT 1 3 "Qta"
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
STRING S_PREZZO 10
 | 
					STRING S_PREZZO 10
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 0 2 "Prezzo"
 | 
						PROMPT 1 4 "Prezzo"
 | 
				
			||||||
	USE %FRR
 | 
						USE %FRR
 | 
				
			||||||
	INPUT CODTAB S_PREZZO
 | 
						INPUT CODTAB S_PREZZO
 | 
				
			||||||
	DISPLAY "Codice@10" CODTAB
 | 
						DISPLAY "Codice@10" CODTAB
 | 
				
			||||||
@ -199,7 +204,7 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
STRING S_IMPONIBILE 10
 | 
					STRING S_IMPONIBILE 10
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
	PROMPT 0 2 "Imponibile"
 | 
						PROMPT 1 5 "Imponibile"
 | 
				
			||||||
	USE %FRR
 | 
						USE %FRR
 | 
				
			||||||
	INPUT CODTAB S_IMPONIBILE
 | 
						INPUT CODTAB S_IMPONIBILE
 | 
				
			||||||
	DISPLAY "Codice" CODTAB
 | 
						DISPLAY "Codice" CODTAB
 | 
				
			||||||
@ -224,4 +229,50 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
ENDPAGE
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENDMASK
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PAGE "Elementi NPF" -1 -1 60 12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STRING S_DOC 4
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT 1 1  "Tipo doc "
 | 
				
			||||||
 | 
					  HELP "Lasciare libero per tutti i tipo documento"
 | 
				
			||||||
 | 
					  USE %TIP
 | 
				
			||||||
 | 
					  SELECT S3[37,40]!=""
 | 
				
			||||||
 | 
					  INPUT CODTAB S_TIPODOC
 | 
				
			||||||
 | 
					  DISPLAY "Codice@10" CODTAB
 | 
				
			||||||
 | 
					  DISPLAY "Descrizione@50" S0
 | 
				
			||||||
 | 
					  DISPLAY "Tipo SDI@10" S3[37,40]
 | 
				
			||||||
 | 
					  OUTPUT S_TIPODOC CODTAB
 | 
				
			||||||
 | 
					  FLAG "UPA"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					MEMO S_NOTAPF 0 0
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT 1 6 "Nota piede fattura"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TOOLBAR "Riga" 0 0 0 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_OK 2 2 
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 1 ""
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_CANCEL 2 2 
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  PROMPT 1 1 ""
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BUTTON DLG_DELREC 2 2
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
						PROMPT 1 1 "ELIMINA NOTA"
 | 
				
			||||||
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENDPAGE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENDMASK
 | 
					ENDMASK
 | 
				
			||||||
@ -9,6 +9,7 @@ int main(int argc, char** argv)
 | 
				
			|||||||
	// Stampe fatturazione elettronica
 | 
						// Stampe fatturazione elettronica
 | 
				
			||||||
  switch (r)
 | 
					  switch (r)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
 | 
						case 1: rt = fp1200(argc, argv); break;	  // Elenco mancate consegna
 | 
				
			||||||
	default: rt = fp1100(argc, argv); break;	// Stampa bolli fatture
 | 
						default: rt = fp1100(argc, argv); break;	// Stampa bolli fatture
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return rt;
 | 
					  return rt;
 | 
				
			||||||
 | 
				
			|||||||
@ -2,5 +2,6 @@
 | 
				
			|||||||
#define __FP1_H
 | 
					#define __FP1_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int fp1100(int argc, char* argv[]);
 | 
					int fp1100(int argc, char* argv[]);
 | 
				
			||||||
 | 
					int fp1200(int argc, char* argv[]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@
 | 
				
			|||||||
#include "../fe/felib.h"
 | 
					#include "../fe/felib.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "fp0.h"
 | 
					#include "fp0.h"
 | 
				
			||||||
#include "fp0500a.h"
 | 
					#include "fp1200a.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/////////////////////////////////////////////////////////////////////////////////////
 | 
					/////////////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
// Globals
 | 
					// Globals
 | 
				
			||||||
@ -44,7 +44,7 @@ protected:
 | 
				
			|||||||
	bool _filter_changed;
 | 
						bool _filter_changed;
 | 
				
			||||||
	friend class TMancati_app;
 | 
						friend class TMancati_app;
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	TMancati_mask() : TAutomask("fp0500a"), _filter_changed(true)
 | 
						TMancati_mask() : TAutomask("fp1200a"), _filter_changed(true)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		disable(DLG_OK);
 | 
							disable(DLG_OK);
 | 
				
			||||||
		_idx = -1;
 | 
							_idx = -1;
 | 
				
			||||||
@ -430,7 +430,7 @@ bool TMancati_app::destroy()
 | 
				
			|||||||
	return TSkeleton_application::destroy();
 | 
						return TSkeleton_application::destroy();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int fp0500(int argc, char* argv[])
 | 
					int fp1200(int argc, char* argv[])
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TMancati_app d2p;
 | 
						TMancati_app d2p;
 | 
				
			||||||
	d2p.run(argc, argv, TR("Elenco Fatture Mancata Consegna"));
 | 
						d2p.run(argc, argv, TR("Elenco Fatture Mancata Consegna"));
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#include "fp0500a.h"
 | 
					#include "fp1200a.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TOOLBAR "topbar" 0 0 0 2
 | 
					TOOLBAR "topbar" 0 0 0 2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										106
									
								
								src/fp/fplib.h
									
									
									
									
									
								
							
							
						
						
									
										106
									
								
								src/fp/fplib.h
									
									
									
									
									
								
							@ -15,6 +15,65 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#define SQL_FLD				"sql/"
 | 
					#define SQL_FLD				"sql/"
 | 
				
			||||||
#define	MANCATA_SEND	"S"			// Se la mail di mancata consegna è già stata inviata P1_ERRINT è segnato con "S"
 | 
					#define	MANCATA_SEND	"S"			// Se la mail di mancata consegna è già stata inviata P1_ERRINT è segnato con "S"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Typedef per aiutare a capire cosa sono le chiavi
 | 
				
			||||||
 | 
					typedef TString MCodice_riga;
 | 
				
			||||||
 | 
					typedef TString MTipo_documento;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Mannaggia il fruttivendolo
 | 
				
			||||||
 | 
					class TFP_righe_custom : public TObject
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						bool _loaded;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						struct TCustCol
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TString _col_qta;
 | 
				
			||||||
 | 
							// Le colonne prezzo e imp non sono lette se di default
 | 
				
			||||||
 | 
							TString _col_prezzo;
 | 
				
			||||||
 | 
							TString _col_imponibile;
 | 
				
			||||||
 | 
							TString _col_nota_piede;
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Mappa con in chiave COD_RIGA, TIPO_DOC
 | 
				
			||||||
 | 
						std::map<MCodice_riga, std::map<MTipo_documento, TCustCol>> _custom_table;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						void load_map();
 | 
				
			||||||
 | 
						static TCustCol& get_no_custom();
 | 
				
			||||||
 | 
						TCustCol& get(const TString& codriga, const TString& tipodoc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						static void			save_sheet(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
						static void			load_sheet(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const TString& get_qta(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_qta; }
 | 
				
			||||||
 | 
						const TString& get_prezzo(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_prezzo; }
 | 
				
			||||||
 | 
						const TString& get_imponibile(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_imponibile; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						TFP_righe_custom();
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class TFP_nota_piede_f
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						std::map<TString, TString> _nota_piede_fattura;
 | 
				
			||||||
 | 
						bool _loaded;
 | 
				
			||||||
 | 
						TToken_string		_tipi_doc;															// Array di stringhe dei tipi doc caricati (per capire se ne elimino)
 | 
				
			||||||
 | 
						const TString		_null_string;
 | 
				
			||||||
 | 
						static void			write_ini_npf(const TString& tipodoc, TToken_string& msg);	// Salva sul file ini la n.p.f. di quel tipodoc
 | 
				
			||||||
 | 
						static void			delete_ini_npf(const TString& tipodoc);	// Rimuove i tipidoc in eccesso (quando si modifica lo spreadsheet)
 | 
				
			||||||
 | 
						static TString	get_ini_npf(const TString& tipodoc);		// Legge dal file ini e restituisce la n.p.f. di quel tipodoc
 | 
				
			||||||
 | 
						void						get_load();															// Carica la mappa
 | 
				
			||||||
 | 
						void						save_npf_spredsheet(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
						void						save_new_tipidoc(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
						void		load_sheet(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
						void		save_sheet(TSheet_field& sheet_field);
 | 
				
			||||||
 | 
						const		TString&	get_nota_piede(const TString& tipo_doc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						TFP_nota_piede_f();
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum { no_pdf = -1, pdf_ok = 0, no_alleg = -2};
 | 
					enum { no_pdf = -1, pdf_ok = 0, no_alleg = -2};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Ritorna la connessione al DB paf secondo i parametri impostati nel programma di configurazione
 | 
					// Ritorna la connessione al DB paf secondo i parametri impostati nel programma di configurazione
 | 
				
			||||||
@ -137,6 +196,8 @@ private:
 | 
				
			|||||||
	TPaf_container		_paf_container;
 | 
						TPaf_container		_paf_container;
 | 
				
			||||||
	int								_count_r_conai;
 | 
						int								_count_r_conai;
 | 
				
			||||||
	bool							_nascondi_sconti_righe_fatt;
 | 
						bool							_nascondi_sconti_righe_fatt;
 | 
				
			||||||
 | 
						TFP_righe_custom	_righe_custom;
 | 
				
			||||||
 | 
						TFP_nota_piede_f	_riga_npf;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Classe interna per gestire righe aggiuntive in riepilogo
 | 
						// Classe interna per gestire righe aggiuntive in riepilogo
 | 
				
			||||||
	class TRiepilogo_agg
 | 
						class TRiepilogo_agg
 | 
				
			||||||
@ -195,7 +256,7 @@ protected:
 | 
				
			|||||||
	bool add_row_art(long& riga_art, const TString& codice_tipo, const TString& codice_valore, TPaf_record& paf);
 | 
						bool add_row_art(long& riga_art, const TString& codice_tipo, const TString& codice_valore, TPaf_record& paf);
 | 
				
			||||||
	bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf);
 | 
						bool add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf);
 | 
				
			||||||
	const TString& converti_prezzo(const real& prezzo) const;
 | 
						const TString& converti_prezzo(const real& prezzo) const;
 | 
				
			||||||
	void set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc) const;
 | 
						void set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc);
 | 
				
			||||||
	void add_ritenuta(const TDocumentoEsteso& doc, const TSpesa_prest& sp, TPaf_record& paf0700f) const;
 | 
						void add_ritenuta(const TDocumentoEsteso& doc, const TSpesa_prest& sp, TPaf_record& paf0700f) const;
 | 
				
			||||||
	bool add_riepilogo_iva(TPaf_record& paf2200f, const TCodiceIVA& cod_iva, const char* eiva, const real& imponibile = ZERO, const real& imposta = ZERO);
 | 
						bool add_riepilogo_iva(TPaf_record& paf2200f, const TCodiceIVA& cod_iva, const char* eiva, const real& imponibile = ZERO, const real& imposta = ZERO);
 | 
				
			||||||
	bool add_cassa_previdenziale(TRiga_documento& rdoc);
 | 
						bool add_cassa_previdenziale(TRiga_documento& rdoc);
 | 
				
			||||||
@ -246,7 +307,10 @@ public:
 | 
				
			|||||||
	const bool is_f8() const;
 | 
						const bool is_f8() const;
 | 
				
			||||||
	const bool get_check_not_block() const;
 | 
						const bool get_check_not_block() const;
 | 
				
			||||||
	const TString& get_body_mail(int idx = -1) const;
 | 
						const TString& get_body_mail(int idx = -1) const;
 | 
				
			||||||
 | 
						const TString& get_npf(const char* tipodoc, int idx) const;
 | 
				
			||||||
	const bool get_no_sconti_fatt() const;
 | 
						const bool get_no_sconti_fatt() const;
 | 
				
			||||||
 | 
						// Get tipidoc per NotaPiedeFattura
 | 
				
			||||||
 | 
						const TString get_npf_tipodoc(int indx) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Setters
 | 
						// Setters
 | 
				
			||||||
	void set_db_indirizzo(const TString& ind) const;
 | 
						void set_db_indirizzo(const TString& ind) const;
 | 
				
			||||||
@ -265,8 +329,12 @@ public:
 | 
				
			|||||||
	void set_check_not_block(bool not_block) const;
 | 
						void set_check_not_block(bool not_block) const;
 | 
				
			||||||
	void set_body_mail(const char* msg, int idx = -1) const;
 | 
						void set_body_mail(const char* msg, int idx = -1) const;
 | 
				
			||||||
	void set_no_sconti_fatt(const bool no_sconti_fatt) const;
 | 
						void set_no_sconti_fatt(const bool no_sconti_fatt) const;
 | 
				
			||||||
 | 
						void set_npf(const char * tipodoc, const char* msg, int idx) const;
 | 
				
			||||||
 | 
						void set_npf_tipodoc(const TString& tipodoc, int indx) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void remove_para_ini(int idx);
 | 
						void remove_para_ini(int idx);
 | 
				
			||||||
 | 
						void remove_npf_ini(const char* tipodoc, int idx);
 | 
				
			||||||
 | 
						void remove_tipodoc_npf(int idx) const;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
inline TFP_settings& fp_settings()
 | 
					inline TFP_settings& fp_settings()
 | 
				
			||||||
@ -296,42 +364,6 @@ public:
 | 
				
			|||||||
	TFP_selected_docs();
 | 
						TFP_selected_docs();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Typedef per aiutare a capire cosa sono le chiavi
 | 
					 | 
				
			||||||
typedef TString MCodice_riga;
 | 
					 | 
				
			||||||
typedef TString MTipo_documento;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Mannaggia il fruttivendolo
 | 
					 | 
				
			||||||
class TFP_righe_custom : public TObject
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	bool _loaded;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	struct TCustCol
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		TString _col_qta;
 | 
					 | 
				
			||||||
		// Le colonne prezzo e imp non sono lette se di default
 | 
					 | 
				
			||||||
		TString _col_prezzo;
 | 
					 | 
				
			||||||
		TString _col_imponibile;
 | 
					 | 
				
			||||||
	};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	// Mappa con in chiave COD_RIGA, TIPO_DOC
 | 
					 | 
				
			||||||
	std::map<MCodice_riga, std::map<MTipo_documento, TCustCol>> _custom_table;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	void load_map();
 | 
					 | 
				
			||||||
	static TCustCol& get_no_custom();
 | 
					 | 
				
			||||||
	TCustCol& get(const TString& codriga, const TString& tipodoc);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
public:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	static void save_sheet(TSheet_field& sheet_field);
 | 
					 | 
				
			||||||
	static void load_sheet(TSheet_field& sheet_field);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	const TString& get_qta(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_qta; }
 | 
					 | 
				
			||||||
	const TString& get_prezzo(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_prezzo; }
 | 
					 | 
				
			||||||
	const TString& get_imponibile(const TString& codriga, const TString& tipodoc) { return get(codriga, tipodoc)._col_imponibile; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	TFP_righe_custom();
 | 
					 | 
				
			||||||
};
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
class TFp_mail_sender
 | 
					class TFp_mail_sender
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int				_anno;
 | 
						int				_anno;
 | 
				
			||||||
 | 
				
			|||||||
@ -46,6 +46,7 @@ void set_connection(SSimple_query& s)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SSimple_query& fp_db()
 | 
					SSimple_query& fp_db()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	static SSimple_query* db = nullptr;
 | 
						static SSimple_query* db = nullptr;
 | 
				
			||||||
@ -1161,16 +1162,14 @@ const TString& TDoc_fp::converti_prezzo(const real& prezzo) const
 | 
				
			|||||||
		ret << prezzo;
 | 
							ret << prezzo;
 | 
				
			||||||
	return ret;
 | 
						return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
void TDoc_fp::set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc) const
 | 
					void TDoc_fp::set_qta_prezzo(TPaf_record& paf1800f, TRiga_documento* rdoc)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	// Setto l'unità di misura
 | 
						// Setto l'unità di misura
 | 
				
			||||||
	paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA));
 | 
						paf1800f.set("PI_UNITAMISURA", rdoc->get(RDOC_UMQTA));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static TFP_righe_custom righe_custom;
 | 
						const TString& field_qta = _righe_custom.get_qta(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
				
			||||||
 | 
						const TString& field_prezzo = _righe_custom.get_prezzo(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
				
			||||||
	const TString& field_qta = righe_custom.get_qta(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
						const TString& field_imponibile = _righe_custom.get_imponibile(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
				
			||||||
	const TString& field_prezzo = righe_custom.get_prezzo(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
					 | 
				
			||||||
	const TString& field_imponibile = righe_custom.get_imponibile(rdoc->tipo().codice(), rdoc->doc().tipo().codice());
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	const bool custom_prezzo = field_prezzo.full();
 | 
						const bool custom_prezzo = field_prezzo.full();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -2014,6 +2013,22 @@ bool TDoc_fp::doc_to_paf(TDocumentoEsteso& doc)
 | 
				
			|||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const TString& nota_piede_fatt = _riga_npf.get_nota_piede(doc.tipo().codice());
 | 
				
			||||||
 | 
						if(nota_piede_fatt.full())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							reset(paf1800f);
 | 
				
			||||||
 | 
							paf1800f.set("PI_NUMEROLINEA", riga);
 | 
				
			||||||
 | 
							reset(paf3000f);
 | 
				
			||||||
 | 
							paf3000f.set("PT_RIFNUMLINEA", riga);
 | 
				
			||||||
 | 
							paf3000f.set("PT_COMMENTO", nota_piede_fatt.left(900));
 | 
				
			||||||
 | 
							paf1800f.set("PI_QUANTITA", UNO);
 | 
				
			||||||
 | 
							paf1800f.set("PI_PREZZOUNIT", ZERO);
 | 
				
			||||||
 | 
							paf1800f.set("PI_PRZTOTALE", ZERO);
 | 
				
			||||||
 | 
							set_IVA(_codivadefault, paf1800f);
 | 
				
			||||||
 | 
							ok &= insert(paf1800f) && insert(paf3000f);
 | 
				
			||||||
 | 
							riga++;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// </DatiBeniServizi>
 | 
						// </DatiBeniServizi>
 | 
				
			||||||
	// <DatiDDT>
 | 
						// <DatiDDT>
 | 
				
			||||||
	// Metto qua i dati DDT per capire se la fattura è accompagnatoria o deriva da bolla
 | 
						// Metto qua i dati DDT per capire se la fattura è accompagnatoria o deriva da bolla
 | 
				
			||||||
 | 
				
			|||||||
@ -21,6 +21,7 @@
 | 
				
			|||||||
#define FP_F8										"f8"
 | 
					#define FP_F8										"f8"
 | 
				
			||||||
#define FP_CHECK_NOT_BLOCK			"checknotblock"
 | 
					#define FP_CHECK_NOT_BLOCK			"checknotblock"
 | 
				
			||||||
#define FP_MAIL									"mail"
 | 
					#define FP_MAIL									"mail"
 | 
				
			||||||
 | 
					#define FP_NOTA_PIEDE_F					"npf" // Nota piede fattura
 | 
				
			||||||
#define FP_CHECK_NO_SCONTI_FATT "noscontifatt"
 | 
					#define FP_CHECK_NO_SCONTI_FATT "noscontifatt"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Sheet fp0300
 | 
					// Sheet fp0300
 | 
				
			||||||
@ -125,6 +126,18 @@ const TString& TFP_settings::get_body_mail(int idx) const
 | 
				
			|||||||
	return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_MAIL, "STOpsTOP", idx);
 | 
						return ini_get_string(FILE_CONFIG, FILE_SECTION, FP_MAIL, "STOpsTOP", idx);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const TString& TFP_settings::get_npf(const char * tipodoc, int idx) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "-" << tipodoc;
 | 
				
			||||||
 | 
						return ini_get_string(FILE_CONFIG, FILE_SECTION, name, "FERMATIostrega", idx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const TString TFP_settings::get_npf_tipodoc(int indx) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "_tipodoc";
 | 
				
			||||||
 | 
						return ini_get_string(FILE_CONFIG, FILE_SECTION, name, "FERMATIostrega", indx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const bool TFP_settings::get_no_sconti_fatt() const
 | 
					const bool TFP_settings::get_no_sconti_fatt() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_CHECK_NO_SCONTI_FATT, false);
 | 
						return ini_get_bool(FILE_CONFIG, FILE_SECTION, FP_CHECK_NO_SCONTI_FATT, false);
 | 
				
			||||||
@ -205,6 +218,13 @@ void TFP_settings::set_body_mail(const char* msg, int idx) const
 | 
				
			|||||||
	ini_set_string(FILE_CONFIG, FILE_SECTION, FP_MAIL, msg, idx);
 | 
						ini_set_string(FILE_CONFIG, FILE_SECTION, FP_MAIL, msg, idx);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Set nota piede fattura
 | 
				
			||||||
 | 
					void TFP_settings::set_npf(const char * tipodoc, const char* msg, int idx) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "-" << tipodoc;
 | 
				
			||||||
 | 
						ini_set_string(FILE_CONFIG, FILE_SECTION, name, msg, idx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TFP_settings::set_no_sconti_fatt(const bool no_sconti_fatt) const
 | 
					void TFP_settings::set_no_sconti_fatt(const bool no_sconti_fatt) const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_CHECK_NO_SCONTI_FATT, no_sconti_fatt);
 | 
						ini_set_bool(FILE_CONFIG, FILE_SECTION, FP_CHECK_NO_SCONTI_FATT, no_sconti_fatt);
 | 
				
			||||||
@ -215,6 +235,25 @@ void TFP_settings::remove_para_ini(int idx)
 | 
				
			|||||||
	ini_remove(FILE_CONFIG, FILE_SECTION, FP_MAIL, idx);
 | 
						ini_remove(FILE_CONFIG, FILE_SECTION, FP_MAIL, idx);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_settings::remove_npf_ini(const char * tipodoc, int idx)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "-" << tipodoc;
 | 
				
			||||||
 | 
						ini_remove(FILE_CONFIG, FILE_SECTION, name, idx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_settings::set_npf_tipodoc(const TString& tipodoc, int indx) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "_tipodoc";
 | 
				
			||||||
 | 
						ini_set_string(FILE_CONFIG, FILE_SECTION, name, tipodoc, indx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Rimuove linea ini in eccesso per tipodoc per nota piede fattura
 | 
				
			||||||
 | 
					void TFP_settings::remove_tipodoc_npf(const int idx) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString name; name << FP_NOTA_PIEDE_F << "_tipodoc";
 | 
				
			||||||
 | 
						ini_remove(FILE_CONFIG, FILE_SECTION, name, idx);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TRectype TFP_selected_docs::fill_rectype() const
 | 
					TRectype TFP_selected_docs::fill_rectype() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TRectype r(LF_TABMOD);
 | 
						TRectype r(LF_TABMOD);
 | 
				
			||||||
@ -307,6 +346,161 @@ TFP_righe_custom::TCustCol& TFP_righe_custom::get(const TString& codriga, const
 | 
				
			|||||||
	return get_no_custom();
 | 
						return get_no_custom();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::write_ini_npf(const TString& tipodoc, TToken_string& msg)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						/* Vado a salvare in un config .ini tipo-doc:messaggio su piu righe */
 | 
				
			||||||
 | 
						int indx = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Conto quanti ne avevo salvati prima nel file ini per poi controllare
 | 
				
			||||||
 | 
						// che non sto salvando meno di quelli che ci sono già
 | 
				
			||||||
 | 
						int previous_indx = 0;
 | 
				
			||||||
 | 
						for (TString row = fp_settings().get_npf(tipodoc, previous_indx); row != "FERMATIostrega"; row = fp_settings().get_npf(tipodoc, previous_indx))
 | 
				
			||||||
 | 
							previous_indx++;
 | 
				
			||||||
 | 
						// Vado a salvare ogni riga nel file ini
 | 
				
			||||||
 | 
						for (const char* row = msg.get(); row; row = msg.get())
 | 
				
			||||||
 | 
							fp_settings().set_npf(tipodoc, row, indx++);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (indx < previous_indx)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (int i = indx; i < previous_indx; i++)
 | 
				
			||||||
 | 
								fp_settings().remove_npf_ini(tipodoc, i);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::delete_ini_npf(const TString& tipodoc)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						// Conto quanti ne avevo salvati prima nel file ini per poi controllare
 | 
				
			||||||
 | 
						// che non sto salvando meno di quelli che ci sono già
 | 
				
			||||||
 | 
						int previous_indx = 0;
 | 
				
			||||||
 | 
						for (TString row = fp_settings().get_npf(tipodoc, previous_indx); row != "FERMATIostrega"; row = fp_settings().get_npf(tipodoc, previous_indx))
 | 
				
			||||||
 | 
							previous_indx++;
 | 
				
			||||||
 | 
						for (int i = 0; i < previous_indx; i++)
 | 
				
			||||||
 | 
							fp_settings().remove_npf_ini(tipodoc, i);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Crea la stringa della nota se su piu righe dal file ini (nometag+indice)
 | 
				
			||||||
 | 
					TString TFP_nota_piede_f::get_ini_npf(const TString& tipodoc)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						TString msg; msg.cut(0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						int indx = 0;
 | 
				
			||||||
 | 
						for (TString row = fp_settings().get_npf(tipodoc, indx); row != "FERMATIostrega"; row = fp_settings().get_npf(tipodoc, indx))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if(indx++ > 0)
 | 
				
			||||||
 | 
								msg << '\n';
 | 
				
			||||||
 | 
							msg << row;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return msg;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::get_load()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						// Prima leggo i tipi doc che ho salvato dall'ini
 | 
				
			||||||
 | 
						TString tipo_get = "";
 | 
				
			||||||
 | 
						int indx = 0;
 | 
				
			||||||
 | 
						while ((tipo_get = fp_settings().get_npf_tipodoc(indx++)) != "FERMATIostrega")
 | 
				
			||||||
 | 
							_tipi_doc.add(tipo_get);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const int itms = _tipi_doc.items();
 | 
				
			||||||
 | 
						for (int i = 0; i < itms; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							tipo_get = _tipi_doc.get();
 | 
				
			||||||
 | 
							TString npf = get_ini_npf(tipo_get);
 | 
				
			||||||
 | 
							_nota_piede_fattura.insert({ tipo_get, npf });
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						_loaded = true;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::load_sheet(TSheet_field& sheet_field)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						sheet_field.hide();
 | 
				
			||||||
 | 
						// Prima leggo i tipi doc che ho salvato dall'ini
 | 
				
			||||||
 | 
						TString tipo_get = "";
 | 
				
			||||||
 | 
						int indx = 0;
 | 
				
			||||||
 | 
						while((tipo_get = fp_settings().get_npf_tipodoc(indx++)) != "FERMATIostrega")
 | 
				
			||||||
 | 
							_tipi_doc.add(tipo_get);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						int i = 0;
 | 
				
			||||||
 | 
						while (!(tipo_get = _tipi_doc.get()).empty())
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TString npf = get_ini_npf(tipo_get);
 | 
				
			||||||
 | 
							TToken_string& row = sheet_field.row(-1);
 | 
				
			||||||
 | 
							row.add(tipo_get);
 | 
				
			||||||
 | 
							row.add(npf);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						sheet_field.show();
 | 
				
			||||||
 | 
						sheet_field.force_update();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::save_npf_spredsheet(TSheet_field& sheet_field)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						const int items_sf = sheet_field.items();
 | 
				
			||||||
 | 
						TString	tipo_doc = 0;
 | 
				
			||||||
 | 
						// Salvo le note piede fatt presenti nello spreadsheet
 | 
				
			||||||
 | 
						// Se ho eliminato una nota di un tipodoc devo rimuovere tutte le righe di quel tipodoc
 | 
				
			||||||
 | 
						for (int i = 0; i < items_sf; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TToken_string row = sheet_field.row(i);
 | 
				
			||||||
 | 
							TToken_string msg(row.get(1), '\n');
 | 
				
			||||||
 | 
							write_ini_npf(tipo_doc = row.get(0), msg);
 | 
				
			||||||
 | 
							_tipi_doc.restart();
 | 
				
			||||||
 | 
							for (int j = 0; j < _tipi_doc.items(); j++)
 | 
				
			||||||
 | 
								if (tipo_doc == _tipi_doc.get())	// Elimino dall'array i tipi doc che sto salvando				
 | 
				
			||||||
 | 
									_tipi_doc.destroy(j);						// Per controllare che non ne rimangano alcuni in piu`
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (_tipi_doc.items() > 0)	// E` rimasto qualcuno fuori (è stato eliminato un tipodoc rispetto a quelli salvati nel file ini)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							for (int i = 0; i < _tipi_doc.items(); i++)	// Per ogni tipodoc rimasto fuori elimino tutte le possibili righe del messaggio
 | 
				
			||||||
 | 
								delete_ini_npf(_tipi_doc.get());
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::save_new_tipidoc(TSheet_field& sheet_field)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int n_tipidoc = 0;
 | 
				
			||||||
 | 
						TString npf_get;
 | 
				
			||||||
 | 
						// Conto quanti tipi doc ho nel file ini
 | 
				
			||||||
 | 
						for (int i = 0; (npf_get = fp_settings().get_npf_tipodoc(i)) != "FERMATIostrega"; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							n_tipidoc++;
 | 
				
			||||||
 | 
							_tipi_doc.add(npf_get);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Salvo i nuovi tipidoc
 | 
				
			||||||
 | 
						const int items_sf = sheet_field.items();
 | 
				
			||||||
 | 
						for (int i = 0; i < items_sf; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							TToken_string row = sheet_field.row(i);
 | 
				
			||||||
 | 
							TString tipodoc_sf(row.get(0));
 | 
				
			||||||
 | 
							fp_settings().set_npf_tipodoc(tipodoc_sf, i);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (items_sf < n_tipidoc)
 | 
				
			||||||
 | 
							for (int i = items_sf; i < n_tipidoc; i++)
 | 
				
			||||||
 | 
								fp_settings().remove_tipodoc_npf(i);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void TFP_nota_piede_f::save_sheet(TSheet_field& sheet_field)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						save_new_tipidoc(sheet_field);
 | 
				
			||||||
 | 
						save_npf_spredsheet(sheet_field);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					const TString& TFP_nota_piede_f::get_nota_piede(const TString& tipo_doc)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						if (!_loaded)
 | 
				
			||||||
 | 
							get_load();
 | 
				
			||||||
 | 
						if(_nota_piede_fattura.find(tipo_doc) != _nota_piede_fattura.end())
 | 
				
			||||||
 | 
							return _nota_piede_fattura[tipo_doc];
 | 
				
			||||||
 | 
						return _null_string;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					TFP_nota_piede_f::TFP_nota_piede_f() : _loaded(false), _null_string("")
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TFP_righe_custom::load_map()
 | 
					void TFP_righe_custom::load_map()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	TRelation rel(LF_TABMOD);
 | 
						TRelation rel(LF_TABMOD);
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
#include <spotlite.h>
 | 
					#include <spotlite.h>
 | 
				
			||||||
#include <xvt_env.h>
 | 
					#include <xvt_env.h>
 | 
				
			||||||
#include "modaut.h"
 | 
					#include "modaut.h"
 | 
				
			||||||
#include "fp0500a.h"
 | 
					#include "fp1200a.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class TExternal_app;
 | 
					class TExternal_app;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -14,7 +14,7 @@ Caption = "Stampe"
 | 
				
			|||||||
Picture = <cg01>
 | 
					Picture = <cg01>
 | 
				
			||||||
Module  = fp
 | 
					Module  = fp
 | 
				
			||||||
Flags   = ""
 | 
					Flags   = ""
 | 
				
			||||||
Item_01 = "Elenco Mancata Consegna", "fp0 -4", ""
 | 
					Item_01 = "Elenco Mancata Consegna", "fp1 -1", ""
 | 
				
			||||||
Item_02 = "Elenco bolli in fattura", "fp1 -0", ""
 | 
					Item_02 = "Elenco bolli in fattura", "fp1 -0", ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
[FPMENU_003]
 | 
					[FPMENU_003]
 | 
				
			||||||
 | 
				
			|||||||
@ -504,10 +504,7 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
				
			|||||||
    TCurrency_documento spese_val(spese());
 | 
					    TCurrency_documento spese_val(spese());
 | 
				
			||||||
    spese_val.change_to_firm_val();
 | 
					    spese_val.change_to_firm_val();
 | 
				
			||||||
    const real sp_orig = spese_val.get_num();
 | 
					    const real sp_orig = spese_val.get_num();
 | 
				
			||||||
    bool estero = FALSE; // Assumiamo per ora non estero
 | 
					    bool estero = false; // Assumiamo per ora non estero
 | 
				
			||||||
 | 
					 | 
				
			||||||
    TString4 codiva_es;
 | 
					 | 
				
			||||||
    iva_esente(codiva_es);                       
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (int j = 0; j < 5 && tot_bolli+iva_bolli != old_bolli; j++)
 | 
					    for (int j = 0; j < 5 && tot_bolli+iva_bolli != old_bolli; j++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -516,20 +513,18 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
				
			|||||||
      const real imp_spese = sp_orig + tot_bolli - iva_bolli;
 | 
					      const real imp_spese = sp_orig + tot_bolli - iva_bolli;
 | 
				
			||||||
      const real imponibile = importo - imposte - imp_spese;
 | 
					      const real imponibile = importo - imposte - imp_spese;
 | 
				
			||||||
      tot_bolli = ZERO;      
 | 
					      tot_bolli = ZERO;      
 | 
				
			||||||
      if (!tipo().nota_credito())
 | 
					      real imponibile_esente;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					      for (int r = physical_rows(); r > 0; r--)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        real imponibile_esente;
 | 
					        const TRiga_documento& riga = ((TDocumento*)this)->row(r); 
 | 
				
			||||||
        for (int r = physical_rows(); r > 0; r--)
 | 
					        const TCodiceIVA codiva(riga.get(RDOC_CODIVA));
 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          const TRiga_documento& riga = ((TDocumento*)this)->row(r); 
 | 
					 | 
				
			||||||
          const TCodiceIVA codiva(riga.get(RDOC_CODIVA));
 | 
					 | 
				
			||||||
                
 | 
					                
 | 
				
			||||||
          if (codiva.tipo().not_empty())
 | 
					        if (codiva.tipo().not_empty() && !codiva.escluso_esenti())
 | 
				
			||||||
            imponibile_esente += riga.imponibile();
 | 
					          imponibile_esente += abs(riga.imponibile());
 | 
				
			||||||
        }
 | 
					      }
 | 
				
			||||||
        if (imponibile_esente >= impmin_bolli)
 | 
					      if (imponibile_esente >= impmin_bolli)
 | 
				
			||||||
          tot_bolli = bolli_es;
 | 
					        tot_bolli = bolli_es;
 | 
				
			||||||
      }    
 | 
					 | 
				
			||||||
      pag.set_total(imponibile, imposte, imp_spese);  
 | 
					      pag.set_total(imponibile, imposte, imp_spese);  
 | 
				
			||||||
      pag.set_rate_auto();
 | 
					      pag.set_rate_auto();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@ -540,16 +535,16 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
				
			|||||||
        
 | 
					        
 | 
				
			||||||
        switch (p)
 | 
					        switch (p)
 | 
				
			||||||
        {         
 | 
					        {         
 | 
				
			||||||
          case _ric_ban: 
 | 
					          case _ric_ban:
 | 
				
			||||||
            {
 | 
						          {
 | 
				
			||||||
            	int i;
 | 
							          int j;
 | 
				
			||||||
            	
 | 
					
 | 
				
			||||||
              for (i = 0; i < nscagl - 1; i++)
 | 
							          for (j = 0; j < nscagl - 1; j++)
 | 
				
			||||||
                if ((real &) sca_bolli[i] >= imp)
 | 
								          if ((real &)sca_bolli[j] >= imp)
 | 
				
			||||||
                  break;
 | 
									          break;
 | 
				
			||||||
              if (imp_bolli.items() > 0)
 | 
							          if (imp_bolli.items() > 0)
 | 
				
			||||||
                tot_bolli += (real &) imp_bolli[i];
 | 
								          tot_bolli += (real &)imp_bolli[j];
 | 
				
			||||||
            }
 | 
						          }
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
          case _tratta:
 | 
					          case _tratta:
 | 
				
			||||||
          case _tratta_acc:
 | 
					          case _tratta_acc:
 | 
				
			||||||
 | 
				
			|||||||
@ -234,19 +234,19 @@ END
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_SPESEAUT
 | 
					BOOLEAN F_SPESEAUT
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 2 14 "Addebito auto spese cliente"
 | 
					  PROMPT 2 14 "Add.auto spese cliente"
 | 
				
			||||||
  FIELD B0
 | 
					  FIELD B0
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_FATCOM
 | 
					BOOLEAN F_FATCOM
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 30 14 "Calcolo fattura commerciale"
 | 
					  PROMPT 30 14 "Calc.fatt.commerciale"
 | 
				
			||||||
  FIELD B9
 | 
					  FIELD B9
 | 
				
			||||||
END
 | 
					END
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BOOLEAN F_LORDO
 | 
					BOOLEAN F_LORDO
 | 
				
			||||||
BEGIN
 | 
					BEGIN
 | 
				
			||||||
  PROMPT 55 14 "Calcolo importi al lordo"
 | 
					  PROMPT 55 14 "Calc.importi al lordo"
 | 
				
			||||||
  FIELD B8
 | 
					  FIELD B8
 | 
				
			||||||
  MESSAGE TRUE CLEAR,F_FATCOM
 | 
					  MESSAGE TRUE CLEAR,F_FATCOM
 | 
				
			||||||
  MESSAGE FALSE ENABLE,F_FATCOM
 | 
					  MESSAGE FALSE ENABLE,F_FATCOM
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user