Merge branch 'R12.00.1136' of http://10.65.20.33/sirio/CAMPO/campo into R12.00.1136
This commit is contained in:
		
						commit
						d883f74149
					
				@ -1,5 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <ItemGroup Label="ProjectConfigurations">
 | 
			
		||||
    <ProjectConfiguration Include="Debug|Win32">
 | 
			
		||||
      <Configuration>Debug</Configuration>
 | 
			
		||||
@ -13,15 +13,18 @@
 | 
			
		||||
  <PropertyGroup Label="Globals">
 | 
			
		||||
    <ProjectGuid>{E3E7DE6C-EDE3-48D4-8F15-333B71AE4AC2}</ProjectGuid>
 | 
			
		||||
    <RootNamespace>ct0</RootNamespace>
 | 
			
		||||
    <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseOfMfc>false</UseOfMfc>
 | 
			
		||||
    <PlatformToolset>v141</PlatformToolset>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
 | 
			
		||||
    <ConfigurationType>Application</ConfigurationType>
 | 
			
		||||
    <UseOfMfc>false</UseOfMfc>
 | 
			
		||||
    <PlatformToolset>v141</PlatformToolset>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
 | 
			
		||||
  <ImportGroup Label="ExtensionSettings">
 | 
			
		||||
@ -64,7 +67,6 @@
 | 
			
		||||
      <PreprocessorDefinitions>_DEBUG;WIN32;__LONGDOUBLE__;_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <MinimalRebuild>false</MinimalRebuild>
 | 
			
		||||
      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
 | 
			
		||||
      
 | 
			
		||||
      <WarningLevel>Level3</WarningLevel>
 | 
			
		||||
      <SuppressStartupBanner>true</SuppressStartupBanner>
 | 
			
		||||
      <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
 | 
			
		||||
@ -74,7 +76,7 @@
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0410</Culture>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>version.lib;wsock32.lib;comctl32.lib;rpcrt4.lib;%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
@ -120,7 +122,7 @@
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0410</Culture>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
 | 
			
		||||
@ -83,7 +83,7 @@
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0410</Culture>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
 | 
			
		||||
@ -81,7 +81,7 @@
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0410</Culture>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
 | 
			
		||||
@ -128,7 +128,7 @@
 | 
			
		||||
    <ResourceCompile>
 | 
			
		||||
      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
 | 
			
		||||
      <Culture>0x0410</Culture>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
      <AdditionalIncludeDirectories>..\libraries\wx28X\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
 | 
			
		||||
    </ResourceCompile>
 | 
			
		||||
    <Link>
 | 
			
		||||
      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,8 @@
 | 
			
		||||
 | 
			
		||||
Microsoft Visual Studio Solution File, Format Version 11.00
 | 
			
		||||
# Visual Studio 2010
 | 
			
		||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
			
		||||
# Visual Studio 15
 | 
			
		||||
VisualStudioVersion = 15.0.28307.2092
 | 
			
		||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dt0", "dt0.vcproj", "{A85CE675-35D0-40FD-BCF7-505246AE3B9F}"
 | 
			
		||||
	ProjectSection(ProjectDependencies) = postProject
 | 
			
		||||
		{A1CE9743-A597-4F92-B55A-345A366C9E55} = {A1CE9743-A597-4F92-B55A-345A366C9E55}
 | 
			
		||||
@ -26,4 +28,7 @@ Global
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(ExtensibilityGlobals) = postSolution
 | 
			
		||||
		SolutionGuid = {417040D0-658E-4F84-9ECE-26CD16DD00E8}
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
EndGlobal
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								cd/test/fp1190.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								cd/test/fp1190.txt
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,3 @@
 | 
			
		||||
fp0.exe
 | 
			
		||||
 | 
			
		||||
Corretto errore sull'invio integrazioni. Nei dati Riepilogo iva le righe con aliquota non venivano sommate. (Segnalazione Sicart)
 | 
			
		||||
							
								
								
									
										22
									
								
								cd/test/fp1190a.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								cd/test/fp1190a.ini
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,22 @@
 | 
			
		||||
[Main]
 | 
			
		||||
Demo=0
 | 
			
		||||
 | 
			
		||||
[fp0]
 | 
			
		||||
File(0) = fp0.exe|X
 | 
			
		||||
Patch = 1190
 | 
			
		||||
Versione = 21511200
 | 
			
		||||
 | 
			
		||||
[fp99]
 | 
			
		||||
Kill(0) = fppro.msk|x
 | 
			
		||||
 | 
			
		||||
[fp]
 | 
			
		||||
Data = 08-09-2022
 | 
			
		||||
Descrizione = Fattura Elettronica
 | 
			
		||||
Dischi = 1
 | 
			
		||||
Moduli = cg,ve
 | 
			
		||||
OEM = 
 | 
			
		||||
Patch = 1190
 | 
			
		||||
PostProcess = 
 | 
			
		||||
PreProcess = 
 | 
			
		||||
Versione = 21511200
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										
											BIN
										
									
								
								cd/test/fp1190a1.zip
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								cd/test/fp1190a1.zip
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -11,7 +11,7 @@
 | 
			
		||||
#include <printer.h>
 | 
			
		||||
#include <progind.h>
 | 
			
		||||
 | 
			
		||||
#include "../cg/cglib01.h"
 | 
			
		||||
#include "../cg/cglib.h"
 | 
			
		||||
#include "../mg/mglib.h"
 | 
			
		||||
#include "../ve/velib.h"
 | 
			
		||||
#include "dblib.h"
 | 
			
		||||
 | 
			
		||||
@ -454,7 +454,7 @@ int TImplosion_mask::find_roots(const char* articolo, TAssoc_array& roots) const
 | 
			
		||||
  
 | 
			
		||||
  TAssoc_array ass[2];
 | 
			
		||||
  int c = 0;   // Array dei children = 0; fathers = 1
 | 
			
		||||
  ass[c].add(articolo, NULL);
 | 
			
		||||
  ass[c].add(articolo);
 | 
			
		||||
  
 | 
			
		||||
  const char* cap = FR("Livello %d - Articoli %ld");
 | 
			
		||||
  TString caption; caption.format(cap, 0, 0L);
 | 
			
		||||
@ -478,7 +478,7 @@ int TImplosion_mask::find_roots(const char* articolo, TAssoc_array& roots) const
 | 
			
		||||
        for (cur = 0L; cur.pos() < cur.items(); ++cur)
 | 
			
		||||
        {
 | 
			
		||||
          const TString& father = cur.curr().get("CODDIST");
 | 
			
		||||
          ass[!c].add(father, NULL);
 | 
			
		||||
          ass[!c].add(father);
 | 
			
		||||
        }
 | 
			
		||||
        cur.freeze(FALSE);
 | 
			
		||||
      }
 | 
			
		||||
@ -559,7 +559,7 @@ void TImplosion_mask::implode_slow()
 | 
			
		||||
        key << row->get();
 | 
			
		||||
        key.rtrim();
 | 
			
		||||
      }
 | 
			
		||||
      _xmas.add(key, NULL);
 | 
			
		||||
      _xmas.add(key);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  
 | 
			
		||||
@ -623,7 +623,7 @@ void TImplosion_mask::implode_medium()
 | 
			
		||||
    key = articolo;
 | 
			
		||||
    if (livello.not_empty())
 | 
			
		||||
      key << '|' << livello;
 | 
			
		||||
    _xmas.add(key, NULL);
 | 
			
		||||
    _xmas.add(key);
 | 
			
		||||
    
 | 
			
		||||
    TAssoc_array roots;
 | 
			
		||||
    const long items = find_roots(articolo, roots);
 | 
			
		||||
 | 
			
		||||
@ -114,6 +114,13 @@ void TPAR_mask::load_sheet(const TString& tipo_sel)
 | 
			
		||||
		const TRectype& rec = cur.curr();
 | 
			
		||||
		const TString& tipodocsdi = rec.get(CAU_TIPODOCSDI);
 | 
			
		||||
		
 | 
			
		||||
		if (tipodocsdi == "TD28")
 | 
			
		||||
		{
 | 
			
		||||
			int i = 0;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		//COSA STA SUCCEDENDO QUI? PERCHE VA QUANDO VUOLE LUI?
 | 
			
		||||
 | 
			
		||||
		if ((tipo_sel == "T" && tipodocsdi.full()) || tipodocsdi == tipo_sel)
 | 
			
		||||
		{
 | 
			
		||||
			int r = scaus.set_row_cell(S_TIPO_SDI, tipodocsdi);
 | 
			
		||||
 | 
			
		||||
@ -84,6 +84,7 @@ BEGIN
 | 
			
		||||
  ITEM "TD18|TD18 Integ. acq. beni intracomunitari"
 | 
			
		||||
  ITEM "TD19|TD19 Integ./autof. acq. beni ex art. 17"
 | 
			
		||||
  ITEM "TD20|TD20 Autofattura"
 | 
			
		||||
  ITEM "TD28|TD28 Fattura cartacea S.Marino"
 | 
			
		||||
END
 | 
			
		||||
 | 
			
		||||
GROUPBOX DLG_NULL 80 3
 | 
			
		||||
 | 
			
		||||
@ -644,6 +644,17 @@ private:
 | 
			
		||||
	void						reset(TPaf_record& p) const { TPaf_container::set_keys_paf(p, _hfatt, _bfatt); }
 | 
			
		||||
	bool						save_paf();
 | 
			
		||||
 | 
			
		||||
	// Classe per gestire le righe di riepilogo
 | 
			
		||||
	class TRiepilogo_agg
 | 
			
		||||
	{
 | 
			
		||||
	public:
 | 
			
		||||
		real imponibile;
 | 
			
		||||
		real imposta;
 | 
			
		||||
		TRiepilogo_agg() : imponibile(ZERO), imposta(ZERO) {}
 | 
			
		||||
	};
 | 
			
		||||
 | 
			
		||||
	std::map<TString, TRiepilogo_agg> _riepilogo_agg;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
 | 
			
		||||
@ -652,27 +663,16 @@ protected:
 | 
			
		||||
	bool check_initial(const TMovimento_contabile& mov);
 | 
			
		||||
	/**< Controllo di riga */
 | 
			
		||||
	bool check_row(const TMovimento_contabile& mov, int n_riga);
 | 
			
		||||
	/**< Controllo riepilogo IVA */
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	bool initialize(const TMovimento_contabile& Reg);
 | 
			
		||||
	//static bool get_bnp_iban(const TString&                   abi, const TString&     cab, int       prg, TString& iban);
 | 
			
		||||
	//bool get_bank(TRegumento&                    Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
 | 
			
		||||
	//bool get_bank_presentazione(const TRegumento& Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
 | 
			
		||||
	//bool get_bank_appoggio(const TRegumento& Reg, TString& iban, TString& abi, TString& cab, TString& istituto) const;
 | 
			
		||||
	const TString&      descrizione(const TMovimento_contabile& mov, int n_riga) const {	return mov.cg()[n_riga].get((RMV_DESCR));} 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	void        save_log() { TReport_book b; b.add(_log); b.export_text(TFilename("fp_err.log")); }
 | 
			
		||||
	const TString & natura(const char* codiva) const;
 | 
			
		||||
	static const char* get_esigibilita_iva(const TMovimento_contabile& Reg);
 | 
			
		||||
	void set_IVA(TString         codiva, TPaf_record& paf) const;
 | 
			
		||||
	void set_IVA(const TMovimento_contabile& mov, int n_row, TPaf_record&   paf) const;
 | 
			
		||||
	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);
 | 
			
		||||
	void set_qta_prezzo(TPaf_record& paf1800f, const TMovimento_contabile& mov, int n_row) const;
 | 
			
		||||
	void add_ritenuta(const TMovimento_contabile & mov, int n_row, TPaf_record& paf0700f) const;
 | 
			
		||||
	bool add_riepilogo_iva(const TMovimento_contabile & mov, int n_riga);
 | 
			
		||||
 | 
			
		||||
	const char * stato_paf() const { return _definitivo ? "P" : "D"; }
 | 
			
		||||
 | 
			
		||||
@ -1726,10 +1726,12 @@ bool TDoc_fp::export_paf0100f()
 | 
			
		||||
	paf0100f.set("P1_CODDEST", _coddest);
 | 
			
		||||
 | 
			
		||||
	TString80 tel;
 | 
			
		||||
	TString80 pec;
 | 
			
		||||
 | 
			
		||||
	tel << get_firm().get(NDT_PTEL) << get_firm().get(NDT_TEL);
 | 
			
		||||
	paf0100f.set("P1_TELEFONO", tel);
 | 
			
		||||
	paf0100f.set("P1_MAIL", get_firm().get(NDT_MAIL));
 | 
			
		||||
	pec << get_firm().get(NDT_MAIL);
 | 
			
		||||
	paf0100f.set("P1_MAIL", pec);
 | 
			
		||||
	paf0100f.set("P1_GESTIONE", stato_paf());
 | 
			
		||||
	paf0100f.set("P1_ERRINT", "");
 | 
			
		||||
	// </DatiTrassmissione>
 | 
			
		||||
@ -3261,6 +3263,7 @@ bool TReg_fp::add_row_alleg(TFilename& file, long& nprogr, TPaf_record& paf)
 | 
			
		||||
	return ok;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
bool TReg_fp::add_riepilogo_iva(const TMovimento_contabile & mov, int n_riga)
 | 
			
		||||
{
 | 
			
		||||
	TPaf_record& paf2200f = _paf_container.get_paf("PAF2200F");
 | 
			
		||||
@ -3270,22 +3273,31 @@ bool TReg_fp::add_riepilogo_iva(const TMovimento_contabile & mov, int n_riga)
 | 
			
		||||
	const TString16 cod_aliquota = rec_iva.get(RMI_CODIVA);
 | 
			
		||||
	const TCodiceIVA& cod_iva= cached_codIVA(cod_aliquota);
 | 
			
		||||
	const real aliquota = cod_iva.percentuale(); 
 | 
			
		||||
	const real imponibile = rec_iva.get(RMI_IMPONIBILE);
 | 
			
		||||
	const real imposta = rec_iva.get(RMI_IMPOSTA);
 | 
			
		||||
	const char * eiva = get_esigibilita_iva(mov);
 | 
			
		||||
 | 
			
		||||
	TRiepilogo_agg&  riepilogo_agg = _riepilogo_agg[cod_aliquota];
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
	// Aliquota
 | 
			
		||||
	paf2200f.set("PL_ALIQUOTAIVA", aliquota);
 | 
			
		||||
	// Natura
 | 
			
		||||
	if (aliquota.is_zero())
 | 
			
		||||
		paf2200f.set("PL_NATURA", natura(cod_aliquota));
 | 
			
		||||
	// Imponibile
 | 
			
		||||
	paf2200f.set("PL_IMPONIBILE", rec_iva.get(RMI_IMPONIBILE));
 | 
			
		||||
	paf2200f.set("PL_IMPONIBILE", (imponibile + riepilogo_agg.imponibile));
 | 
			
		||||
	// Imposta
 | 
			
		||||
	paf2200f.set("PL_IMPOSTA", rec_iva.get(RMI_IMPOSTA));
 | 
			
		||||
	paf2200f.set("PL_IMPOSTA", (imposta + riepilogo_agg.imposta));
 | 
			
		||||
	// Esigibilit IVA
 | 
			
		||||
	paf2200f.set("PL_ESIGIVA", eiva); 
 | 
			
		||||
 | 
			
		||||
	paf2200f.set("PL_RIFNORMATIVO", cod_iva.descrizione());
 | 
			
		||||
 | 
			
		||||
	// Aggiorno il riepilogo IVA
 | 
			
		||||
	riepilogo_agg.imponibile += imponibile;
 | 
			
		||||
	riepilogo_agg.imposta += imposta;
 | 
			
		||||
 | 
			
		||||
	// Inserisco
 | 
			
		||||
	return insert(paf2200f);
 | 
			
		||||
}
 | 
			
		||||
@ -3611,6 +3623,7 @@ bool TReg_fp::reg_to_paf(const TMovimento_contabile& mov)
 | 
			
		||||
 | 
			
		||||
		if (ok) ok &= insert(paf0700f);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Tabella di non invio XML
 | 
			
		||||
	TPaf_record& pafw300f = _paf_container.get_paf("PAFW300F");
 | 
			
		||||
	reset(pafw300f);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user