Patch level : 12.0 1038
Files correlati : fp0.exe fp0100a.msk Commento : Corretto campo mancante nello sheet note dei parametri Corretta la gestione bolli virtuali
This commit is contained in:
		
							parent
							
								
									1dece341ca
								
							
						
					
					
						commit
						364cbbd1eb
					
				@ -978,7 +978,9 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	void iva_esente(TString & codiva_es) const;
 | 
						void iva_esente(TString & codiva_es) const;
 | 
				
			||||||
	real spese_incasso(real &imp, int ndec, TTipo_importo netto = _lordo) const ;
 | 
						real spese_incasso(real &imp, int ndec, TTipo_importo netto = _lordo) const ;
 | 
				
			||||||
	real bolli(real & imp, int ndec, TTipo_importo netto = _lordo) const ;
 | 
					  real imponibile_bolli_esenti() const;
 | 
				
			||||||
 | 
					  bool bolli_esenti_dovuti() const;
 | 
				
			||||||
 | 
					  real bolli(real & imp, int ndec, TTipo_importo netto = _lordo) const ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	real imponibile(bool spese = false, int ndec = AUTO_DECIMALS) const;
 | 
						real imponibile(bool spese = false, int ndec = AUTO_DECIMALS) const;
 | 
				
			||||||
	real imposta(bool spese = false, int ndec = AUTO_DECIMALS) const;
 | 
						real imposta(bool spese = false, int ndec = AUTO_DECIMALS) const;
 | 
				
			||||||
 | 
				
			|||||||
@ -475,33 +475,46 @@ void TDocumento::iva_esente(TString& codiva_es) const
 | 
				
			|||||||
  }                                    
 | 
					  }                                    
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
					real TDocumento::imponibile_bolli_esenti() const
 | 
				
			||||||
{                         
 | 
					{
 | 
				
			||||||
  real tot_bolli;
 | 
					  real imponibile_esente;
 | 
				
			||||||
  static TArray sca_bolli;
 | 
					 | 
				
			||||||
  static TArray imp_bolli;
 | 
					 | 
				
			||||||
  static real bolli_es;
 | 
					 | 
				
			||||||
  static real impmin_bolli;
 | 
					 | 
				
			||||||
  static int nscagl;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  if (get_bool("ADDBOLLI"))
 | 
					  FOR_EACH_SELF_PHYSICAL_RDOC(r, riga)
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    if (sca_bolli.objptr(0) == NULL)
 | 
					    const TCodiceIVA codiva(riga->get(RDOC_CODIVA));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (codiva.tipo().not_empty() && !codiva.escluso_esenti())
 | 
				
			||||||
 | 
					      imponibile_esente += abs(riga->imponibile());
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  return imponibile_esente;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					bool TDocumento::bolli_esenti_dovuti() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  const real impmin_bolli = ini_get_real(CONFIG_STUDIO, "ve", "IMPMINBOLLI");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  return imponibile_bolli_esenti() >= impmin_bolli;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  real tot_bolli;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  if (get_bool(DOC_ADDBOLLI))
 | 
				
			||||||
 | 
					  {
 | 
				
			||||||
 | 
					    const real bolli_es = ini_get_real(CONFIG_STUDIO, "ve", "BOLLIES");
 | 
				
			||||||
 | 
					    TArray sca_bolli;
 | 
				
			||||||
 | 
					    TArray imp_bolli;
 | 
				
			||||||
 | 
					    int nscagl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (nscagl = 0; nscagl < 7; nscagl++)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      TConfig conf(CONFIG_STUDIO, "ve");
 | 
					      const real s = ini_get_real(CONFIG_STUDIO, "ve", "SPBOSCA", "", nscagl + 1);
 | 
				
			||||||
 | 
					      const real i = ini_get_real(CONFIG_STUDIO, "ve", "SPBOIMP", "", nscagl + 1);
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      bolli_es = (real) conf.get("BOLLIES", "ve");
 | 
					      if (s == ZERO && i == ZERO)
 | 
				
			||||||
      impmin_bolli = (real) conf.get("IMPMINBOLLI", "ve");
 | 
					        break;
 | 
				
			||||||
      for (nscagl = 0; nscagl < 7; nscagl++) 
 | 
					      sca_bolli.add(s, nscagl);
 | 
				
			||||||
      {
 | 
					      imp_bolli.add(i, nscagl);
 | 
				
			||||||
        real s(conf.get("SPBOSCA", "ve", nscagl + 1));
 | 
					 | 
				
			||||||
        real i(conf.get("SPBOIMP", "ve", nscagl + 1));
 | 
					 | 
				
			||||||
                                                      
 | 
					 | 
				
			||||||
        if (s == ZERO && i == ZERO)
 | 
					 | 
				
			||||||
          break;
 | 
					 | 
				
			||||||
        sca_bolli.add(s, nscagl);
 | 
					 | 
				
			||||||
        imp_bolli.add(i, nscagl);
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    } 
 | 
					    } 
 | 
				
			||||||
    if (ndec == AUTO_DECIMALS)
 | 
					    if (ndec == AUTO_DECIMALS)
 | 
				
			||||||
      ndec = decimals();
 | 
					      ndec = decimals();
 | 
				
			||||||
@ -530,19 +543,11 @@ real TDocumento::bolli(real & imp, int ndec, TTipo_importo t) const
 | 
				
			|||||||
      const real imposte = imp_orig + iva_bolli;
 | 
					      const real imposte = imp_orig + iva_bolli;
 | 
				
			||||||
      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;      
 | 
					
 | 
				
			||||||
      real imponibile_esente;
 | 
					      if (bolli_esenti_dovuti())
 | 
				
			||||||
 
 | 
					 | 
				
			||||||
      for (int r = physical_rows(); r > 0; r--)
 | 
					 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        const TRiga_documento& riga = ((TDocumento*)this)->row(r); 
 | 
					 | 
				
			||||||
        const TCodiceIVA codiva(riga.get(RDOC_CODIVA));
 | 
					 | 
				
			||||||
                
 | 
					 | 
				
			||||||
        if (codiva.tipo().not_empty() && !codiva.escluso_esenti())
 | 
					 | 
				
			||||||
          imponibile_esente += abs(riga.imponibile());
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (imponibile_esente >= impmin_bolli)
 | 
					 | 
				
			||||||
        tot_bolli = bolli_es;
 | 
					        tot_bolli = bolli_es;
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					        tot_bolli = ZERO;
 | 
				
			||||||
      pag.set_total(imponibile, imposte, imp_spese);  
 | 
					      pag.set_total(imponibile, imposte, imp_spese);  
 | 
				
			||||||
      pag.set_rate_auto();
 | 
					      pag.set_rate_auto();
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user