Modifiche per correzione mese 13: corretto confronto tra il mese
ricavato dal TRecfield di PIM e quello corrente nelle funzioni per l'IVA11. Correzione nella write_liq(): in caso di mese 13, vanno considerati tutti i mesi precedenti per quanto riguarda rimborsi, versamenti, rettifiche (memorizzati in LIM). git-svn-id: svn://10.65.10.50/trunk@5486 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									13716d81ca
								
							
						
					
					
						commit
						3bb3075200
					
				
							
								
								
									
										118
									
								
								cg/cg4301.cpp
									
									
									
									
									
								
							
							
						
						
									
										118
									
								
								cg/cg4301.cpp
									
									
									
									
									
								
							@ -1689,11 +1689,11 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
 | 
			
		||||
  for (_pim->first(); !_pim->eof();  _pim->next())
 | 
			
		||||
  {           
 | 
			
		||||
    if (_year != *_pim_anno) continue;
 | 
			
		||||
    if (*_pim_mese != "13") continue;
 | 
			
		||||
    if (atoi(*_pim_mese) != 13) continue;
 | 
			
		||||
    cur_att = *_pim_codatt;
 | 
			
		||||
    cur_att.rtrim(1);
 | 
			
		||||
    if (codatt != cur_att) continue;  // considera solo quelli dell'anno, obviously.
 | 
			
		||||
                                                                  // Must consider current activity too...
 | 
			
		||||
                                      // Must consider current activity too...
 | 
			
		||||
    codiva = *_pim_codiva;
 | 
			
		||||
    reg    = *_pim_codreg;
 | 
			
		||||
    look_iva(codiva); look_reg(reg);    // posiziona la tabella registri e quella IVA
 | 
			
		||||
@ -1940,7 +1940,7 @@ void TLiquidazione_app::iva11_set_arr_pim(const TString& codatt)
 | 
			
		||||
  // ATTENZIONE: solo per i regimi 74ter (ag. viaggio)
 | 
			
		||||
  for (_plm->first();!_plm->eof();_plm->next())
 | 
			
		||||
  {
 | 
			
		||||
    if (_year != *_plm_anno || *_plm_mese == "13") continue;
 | 
			
		||||
    if (_year != *_plm_anno || atoi(*_plm_mese) != 13) continue;
 | 
			
		||||
    cur_att = *_plm_codatt;
 | 
			
		||||
    cur_att.rtrim(1);
 | 
			
		||||
    if (codatt != cur_att) continue;
 | 
			
		||||
@ -2094,9 +2094,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
        differita = FALSE;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    // Modifiche per PIM13
 | 
			
		||||
    int m = (month == 13) ? 13 : 1;
 | 
			
		||||
    for (; m <= 13; m++)
 | 
			
		||||
    
 | 
			
		||||
    for (int m = 1; m <= 13; m++)
 | 
			
		||||
    {                             
 | 
			
		||||
      // ciclo su tutti i mesi del caso (1 o 3;
 | 
			
		||||
      // tutti se annuale)
 | 
			
		||||
@ -2106,44 +2105,65 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
      look_plm(differita ? 12 : m, att); 
 | 
			
		||||
      bool is_lim = look_lim(_isdifferita ? m+deltam : m);
 | 
			
		||||
      
 | 
			
		||||
      // gia' conteggiato: prorata
 | 
			
		||||
      // da conteggiare: IVA vendite ag. viaggio
 | 
			
		||||
      // a debito:  IVA vendite, debito precedente
 | 
			
		||||
      // a credito: IVA acquisti, ulteriori detrazioni 1 e 2     
 | 
			
		||||
      // Se trattasi di annuale considera solo PLM/PUM del mese 13
 | 
			
		||||
      if ((month == 13 && m == 13) || month != 13)
 | 
			
		||||
      {
 | 
			
		||||
        // gia' conteggiato: prorata
 | 
			
		||||
        // da conteggiare: IVA vendite ag. viaggio
 | 
			
		||||
        // a debito:  IVA vendite, debito precedente
 | 
			
		||||
        // a credito: IVA acquisti, ulteriori detrazioni 1 e 2     
 | 
			
		||||
          
 | 
			
		||||
      if (!attivita_agricola)
 | 
			
		||||
      {
 | 
			
		||||
        iva_vend  += _plm->get_real("R0");
 | 
			
		||||
        iva_acq   += _plm->get_real("R1");
 | 
			
		||||
        risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
 | 
			
		||||
        res_debt  += _plm->get_real("R0");
 | 
			
		||||
        res_cred  += _plm->get_real("R1");
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
      {
 | 
			
		||||
        // Tiene aggiornata l'iva vendite
 | 
			
		||||
        iva_vend += _plm->get_real("R6") + _plm->get_real("R5");
 | 
			
		||||
        // Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita del mese
 | 
			
		||||
        // secondo la formula:
 | 
			
		||||
        // iva_acq = iva_acq + iva detraibile calcolata
 | 
			
		||||
        // l'iva detraibile calcolata e' a sua volta fatta cosi'
 | 
			
		||||
        // sum(plm->R11) * { sum(pum->R11) / [sum(pum->R11) + sum(pum->R10)]}
 | 
			
		||||
        // dove plm->R11 = acquisti misti fuori CEE
 | 
			
		||||
        //      pum->R10 = tot. imponibile reg agr. 1
 | 
			
		||||
        //      pum->R11 = tot. imponibile reg agr. 2
 | 
			
		||||
        iva_acq   += _plm->get_real("R7") + _plm->get_real("R5");
 | 
			
		||||
        acq_noCEE += _plm->get_real("R11");
 | 
			
		||||
        imp_agr1  += _pum->get_real("R10");
 | 
			
		||||
        imp_agr2  += _pum->get_real("R11");
 | 
			
		||||
      }  
 | 
			
		||||
      detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
 | 
			
		||||
        if (!attivita_agricola)
 | 
			
		||||
        {
 | 
			
		||||
          iva_vend  += _plm->get_real("R0");
 | 
			
		||||
          iva_acq   += _plm->get_real("R1");
 | 
			
		||||
          risultato += (_plm->get_real("R0") - _plm->get_real("R1"));
 | 
			
		||||
          res_debt  += _plm->get_real("R0");
 | 
			
		||||
          res_cred  += _plm->get_real("R1");
 | 
			
		||||
        }
 | 
			
		||||
        else
 | 
			
		||||
        {
 | 
			
		||||
          // Tiene aggiornata l'iva vendite
 | 
			
		||||
          iva_vend += _plm->get_real("R6") + _plm->get_real("R5");
 | 
			
		||||
          // Tiene aggiornata l'iva acquisti, che andra' rettificata all'uscita del mese
 | 
			
		||||
          // secondo la formula:
 | 
			
		||||
          // iva_acq = iva_acq + iva detraibile calcolata
 | 
			
		||||
          // l'iva detraibile calcolata e' a sua volta fatta cosi'
 | 
			
		||||
          // sum(plm->R11) * { sum(pum->R11) / [sum(pum->R11) + sum(pum->R10)]}
 | 
			
		||||
          // dove plm->R11 = acquisti misti fuori CEE
 | 
			
		||||
          //      pum->R10 = tot. imponibile reg agr. 1
 | 
			
		||||
          //      pum->R11 = tot. imponibile reg agr. 2
 | 
			
		||||
          iva_acq   += _plm->get_real("R7") + _plm->get_real("R5");
 | 
			
		||||
          acq_noCEE += _plm->get_real("R11");
 | 
			
		||||
          imp_agr1  += _pum->get_real("R10");
 | 
			
		||||
          imp_agr2  += _pum->get_real("R11");
 | 
			
		||||
        }  
 | 
			
		||||
        detrazioni+= (_plm->get_real("R3") + _plm->get_real("R4"));
 | 
			
		||||
          
 | 
			
		||||
        // detrazioni solo non in regime agricolo
 | 
			
		||||
        if (!attivita_agricola)
 | 
			
		||||
        {
 | 
			
		||||
          risultato -= (_plm->get_real("R3") + _plm->get_real("R4")); 
 | 
			
		||||
          res_cred  += (_plm->get_real("R3") + _plm->get_real("R4"));
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        /* totalizza importi 74 ter */           
 | 
			
		||||
        if (_isviaggio) 
 | 
			
		||||
        {
 | 
			
		||||
          // somma totali per calcolo successivo
 | 
			
		||||
          c_iCEE  += _plm->get_real("R5");
 | 
			
		||||
          c_eCEE  += _plm->get_real("R6");
 | 
			
		||||
          a_iCEE  += _plm->get_real("R7");
 | 
			
		||||
          a_eCEE  += _plm->get_real("R8");
 | 
			
		||||
          c_mCEE  += _plm->get_real("R9");
 | 
			
		||||
          a_mCEE  += _plm->get_real("R10");
 | 
			
		||||
          a_meCEE += _plm->get_real("R11");   
 | 
			
		||||
        }        
 | 
			
		||||
      }  // endif per considerare solo PLM del mese 13
 | 
			
		||||
      
 | 
			
		||||
      // Le seguenti cose (versamenti, rettifiche e rimborsi)
 | 
			
		||||
      // vanno considerate per tutti i mesi (tabella lim)
 | 
			
		||||
      
 | 
			
		||||
      // detrazioni solo non in regime agricolo
 | 
			
		||||
      if (!attivita_agricola)
 | 
			
		||||
      {
 | 
			
		||||
        risultato -= (_plm->get_real("R3") + _plm->get_real("R4")); 
 | 
			
		||||
        res_cred  += (_plm->get_real("R3") + _plm->get_real("R4"));
 | 
			
		||||
      }
 | 
			
		||||
      /* se annuale, somma versamenti mesi 1-12 
 | 
			
		||||
       * solo una volta (non per tutte le attivita')
 | 
			
		||||
       */
 | 
			
		||||
@ -2168,6 +2188,7 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
        rimborsi  += _lim->get_real("R1"); 
 | 
			
		||||
        res_debt  += _lim->get_real("R1");
 | 
			
		||||
      }                               
 | 
			
		||||
      
 | 
			
		||||
      /*
 | 
			
		||||
       * rettifiche gia' col loro bravo segno
 | 
			
		||||
       */
 | 
			
		||||
@ -2194,19 +2215,6 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
            res_debt += abs(_lim->get_real("R5"));
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      /* totalizza importi 74 ter */           
 | 
			
		||||
      if (_isviaggio) 
 | 
			
		||||
      {
 | 
			
		||||
        // somma totali per calcolo successivo
 | 
			
		||||
        c_iCEE  += _plm->get_real("R5");
 | 
			
		||||
        c_eCEE  += _plm->get_real("R6");
 | 
			
		||||
        a_iCEE  += _plm->get_real("R7");
 | 
			
		||||
        a_eCEE  += _plm->get_real("R8");
 | 
			
		||||
        c_mCEE  += _plm->get_real("R9");
 | 
			
		||||
        a_mCEE  += _plm->get_real("R10");
 | 
			
		||||
        a_meCEE += _plm->get_real("R11");   
 | 
			
		||||
      }        
 | 
			
		||||
    } // fine ciclo sul mese  
 | 
			
		||||
      
 | 
			
		||||
    // counter attivita' per evitare troppi versamenti
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user