Correzione errori
git-svn-id: svn://10.65.10.50/trunk@2077 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									0dc01b5fff
								
							
						
					
					
						commit
						64affc68db
					
				@ -278,7 +278,7 @@ void CG0400_application::look_pim()
 | 
			
		||||
    if (tipoiva == "VE") continue; //i codici iva di tipo "VE"
 | 
			
		||||
    //Fine                         //non devono essere stampati
 | 
			
		||||
    
 | 
			
		||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo))
 | 
			
		||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo, TRUE))
 | 
			
		||||
    {
 | 
			
		||||
      switch(tipo)
 | 
			
		||||
      { 
 | 
			
		||||
@ -352,7 +352,7 @@ void CG0400_application::cerca_i_pim()
 | 
			
		||||
    
 | 
			
		||||
    impo = impos = ZERO;
 | 
			
		||||
    
 | 
			
		||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo))
 | 
			
		||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo, FALSE))
 | 
			
		||||
    {
 | 
			
		||||
      switch(tipo)
 | 
			
		||||
      { 
 | 
			
		||||
@ -1014,7 +1014,7 @@ void CG0400_application::preprocess_header()
 | 
			
		||||
    /*
 | 
			
		||||
       set_header (soh++, "Riepilogo progressivi IVA del periodo  %s  %d  Cod. Att. %s %s", itom(_mese), _anno, (const char*) _cod_att, (const char*) descr);
 | 
			
		||||
       set_header (soh++, (const char *) sep);
 | 
			
		||||
       */ 
 | 
			
		||||
    */ 
 | 
			
		||||
    if (_st_inizio_anno)
 | 
			
		||||
    {
 | 
			
		||||
      if (_prima_pagina)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										270
									
								
								cg/cg1500.cpp
									
									
									
									
									
								
							
							
						
						
									
										270
									
								
								cg/cg1500.cpp
									
									
									
									
									
								
							@ -130,6 +130,7 @@ public:
 | 
			
		||||
  bool calcola(int,int,long);
 | 
			
		||||
  void leggi_pcon();    // Inizializza i TArray C/F 
 | 
			
		||||
  void crea_sort_clifo();
 | 
			
		||||
  void leggi_clifo(const TArray&);
 | 
			
		||||
  void init_sort();
 | 
			
		||||
  void leggi_sort();
 | 
			
		||||
  void riempi_record(char,int,int,long,const char*,const real&, 
 | 
			
		||||
@ -1646,7 +1647,7 @@ bool CG1500_application::calcola(int g, int c, long s)
 | 
			
		||||
        }
 | 
			
		||||
    }     
 | 
			
		||||
    else if (_datada > _dataini) //calcolo i progressivi precedenti
 | 
			
		||||
      if ( (data_reg >= _dataini) && (data_reg <= _datada) )
 | 
			
		||||
      if ( (data_reg >= _dataini) && (data_reg < _datada) )
 | 
			
		||||
      {
 | 
			
		||||
        if (sezione == 'D')
 | 
			
		||||
          _prg_prec_dare += importo;
 | 
			
		||||
@ -1977,6 +1978,7 @@ void CG1500_application::riempi_record(char t,int g,int c,long s,
 | 
			
		||||
  _sort->sort((const char*)_cf);
 | 
			
		||||
}    
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
void CG1500_application::crea_sort_clifo()
 | 
			
		||||
{
 | 
			
		||||
  TSaldo sld;
 | 
			
		||||
@ -2217,11 +2219,258 @@ void CG1500_application::crea_sort_clifo()
 | 
			
		||||
    riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,prg_conto_avere,
 | 
			
		||||
                  mov_conto_dare,mov_conto_avere,saldo_conto);  
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
void CG1500_application::leggi_clifo(const TArray& gccf)
 | 
			
		||||
{
 | 
			
		||||
  TSaldo sld;
 | 
			
		||||
  TLocalisamfile saldi(LF_SALDI, FALSE);
 | 
			
		||||
  int  g=0, c=0;
 | 
			
		||||
  long codcf=0l;
 | 
			
		||||
  TString80 ragsoc;
 | 
			
		||||
  char tipocf,tipocfp,tipoa;
 | 
			
		||||
  real saldo_finale, saldo_conto, saldo_iniziale, saldodare, saldoavere, 
 | 
			
		||||
  movdare, movavere;
 | 
			
		||||
  real mov_conto_dare, mov_conto_avere, prg_conto_dare, prg_conto_avere;
 | 
			
		||||
  bool esiste_sc = FALSE, movimentato = FALSE;
 | 
			
		||||
  TRecnotype items = _cur->items();
 | 
			
		||||
  
 | 
			
		||||
  _gp=-1;
 | 
			
		||||
  _cp=-1;
 | 
			
		||||
  tipocfp = ' ';
 | 
			
		||||
  
 | 
			
		||||
  _saldo_ini_conto_dare   = ZERO;
 | 
			
		||||
  _saldo_ini_conto_avere  = ZERO;
 | 
			
		||||
  saldo_conto             = ZERO;
 | 
			
		||||
  mov_conto_dare          = ZERO;
 | 
			
		||||
  mov_conto_avere         = ZERO;
 | 
			
		||||
  prg_conto_dare          = ZERO;
 | 
			
		||||
  prg_conto_avere         = ZERO;
 | 
			
		||||
  _u_max = 0l;
 | 
			
		||||
 | 
			
		||||
  int anno;
 | 
			
		||||
  if (_tipo_stampa1 == 1)
 | 
			
		||||
    anno = _annoapp;
 | 
			
		||||
  else anno = _annoes;
 | 
			
		||||
  
 | 
			
		||||
  for (int i=0; i < gccf.items(); i++)      
 | 
			
		||||
  {
 | 
			
		||||
    int g = ((TToken_string&)gccf[i]).get_int(0);
 | 
			
		||||
    int c = ((TToken_string&)gccf[i]).get_int(1);
 | 
			
		||||
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
    for (int i = 0; i < items; i++,++(*_cur))
 | 
			
		||||
    {
 | 
			
		||||
     _prog->addstatus(1);
 | 
			
		||||
     codcf  = _cur->curr().get_long(CLI_CODCF);
 | 
			
		||||
     tipocf = _cur->curr().get(CLI_TIPOCF)[0];
 | 
			
		||||
     ragsoc = _cur->curr().get(CLI_RAGSOC);
 | 
			
		||||
     tipoa  = _cur->curr().get_char(CLI_TIPOAPER);
 | 
			
		||||
     if (tipoa == 'F')  //persona fisica
 | 
			
		||||
     {
 | 
			
		||||
      TString80 cognome, nome;
 | 
			
		||||
      cognome = ragsoc.mid(0,30);
 | 
			
		||||
      nome    = ragsoc.mid(30,20);
 | 
			
		||||
      cognome.trim(); nome.trim();
 | 
			
		||||
      ragsoc = cognome;
 | 
			
		||||
      ragsoc << " " << nome;
 | 
			
		||||
     }
 | 
			
		||||
     int aprec = EsePre(anno);
 | 
			
		||||
     saldi.zero();
 | 
			
		||||
     saldi.put(SLD_ANNOES, anno);        
 | 
			
		||||
     saldi.put(SLD_GRUPPO, g);  
 | 
			
		||||
     saldi.put(SLD_CONTO, c);  
 | 
			
		||||
     saldi.put(SLD_SOTTOCONTO, codcf);        
 | 
			
		||||
     if (saldi.read() != NOERR)
 | 
			
		||||
       if (_tipo_stampa1 == 1)  //bilancio per data limite
 | 
			
		||||
         continue;
 | 
			
		||||
       else if (_stampac == 2)  //se sono richiesti i conti movimentati
 | 
			
		||||
       {                        //esco, se no...
 | 
			
		||||
        _indbil = cerca_indbil(g,c);
 | 
			
		||||
        if (_indbil == 1 || _indbil == 2 || _indbil == 5)
 | 
			
		||||
        { 
 | 
			
		||||
          saldi.zero();
 | 
			
		||||
          saldi.put(SLD_ANNOES, aprec);        
 | 
			
		||||
          saldi.put(SLD_GRUPPO, g);  
 | 
			
		||||
          saldi.put(SLD_CONTO, c);  
 | 
			
		||||
          saldi.put(SLD_SOTTOCONTO, codcf);
 | 
			
		||||
          if (saldi.read() != NOERR)
 | 
			
		||||
            continue;
 | 
			
		||||
        }
 | 
			
		||||
       }     
 | 
			
		||||
      
 | 
			
		||||
       if ( (((_cp != -1) && (c != _cp)) || ((_gp != -1) && (g != _gp))) &&
 | 
			
		||||
          esiste_sc ) 
 | 
			
		||||
       {
 | 
			
		||||
        //scrivo il record del conto;
 | 
			
		||||
        riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,
 | 
			
		||||
                      prg_conto_avere,mov_conto_dare,mov_conto_avere,saldo_conto);
 | 
			
		||||
        tipocfp = tipocf; 
 | 
			
		||||
        _cp     = c;
 | 
			
		||||
        esiste_sc              = FALSE;  
 | 
			
		||||
        _saldo_ini_conto_dare  = ZERO;
 | 
			
		||||
        _saldo_ini_conto_avere = ZERO;
 | 
			
		||||
        saldo_conto            = ZERO;
 | 
			
		||||
        mov_conto_dare         = ZERO;
 | 
			
		||||
        mov_conto_avere        = ZERO;
 | 
			
		||||
        prg_conto_dare         = ZERO;
 | 
			
		||||
        prg_conto_avere        = ZERO;   
 | 
			
		||||
       }
 | 
			
		||||
      
 | 
			
		||||
       saldo_finale = ZERO; 
 | 
			
		||||
       saldodare    = ZERO;
 | 
			
		||||
       saldoavere   = ZERO;
 | 
			
		||||
       movdare      = ZERO;
 | 
			
		||||
       movavere     = ZERO;
 | 
			
		||||
      
 | 
			
		||||
       if (_tipo_stampa1 == 1) //bilancio di verifica per data limite
 | 
			
		||||
       { 
 | 
			
		||||
        //modifica del 19/06/95
 | 
			
		||||
        _indbil = cerca_indbil(g,c);
 | 
			
		||||
        movimentato = calcola(g,c,codcf);
 | 
			
		||||
        if (_stampa_mov_prov != 3)
 | 
			
		||||
          if (!movimentato && _stampac!=1)
 | 
			
		||||
            if (_indbil == 1 || _indbil == 2 || _indbil == 5)
 | 
			
		||||
              if (_annoes != 0) //cioe' se sto ragionando per competenza      
 | 
			
		||||
                saldo_iniziale = sld.saldofin_esprec(_annoes,g,c,codcf);
 | 
			
		||||
        
 | 
			
		||||
        if (movimentato)    
 | 
			
		||||
        {
 | 
			
		||||
          saldo_iniziale = _saldo_ini_dare - _saldo_ini_avere;
 | 
			
		||||
          TLocalisamfile saldi(LF_SALDI);
 | 
			
		||||
          saldi.zero();
 | 
			
		||||
          saldi.put(SLD_ANNOES,_annoes);
 | 
			
		||||
          saldi.put(SLD_GRUPPO,g);
 | 
			
		||||
          saldi.put(SLD_CONTO,c);
 | 
			
		||||
          saldi.put(SLD_SOTTOCONTO,codcf);
 | 
			
		||||
          if (saldi.read() == NOERR)                  
 | 
			
		||||
          {
 | 
			
		||||
            real s = saldi.get_real(SLD_SALDO); 
 | 
			
		||||
            if (_stampa_mov_prov != 3)
 | 
			
		||||
              if (_indbil == 1 || _indbil == 2 || _indbil == 5)
 | 
			
		||||
                if (s == ZERO && _annoes != 0) //competenza!!!
 | 
			
		||||
                  saldo_iniziale += sld.saldofin_esprec(_annoes,g,c,codcf);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
        //fine modifica
 | 
			
		||||
        //movimentato = calcola(g,c,codcf);
 | 
			
		||||
        if (movimentato || _stampac != 1)
 | 
			
		||||
        {
 | 
			
		||||
          if (_datada == _dataini)
 | 
			
		||||
            saldo_finale = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
 | 
			
		||||
          else if (_datada > _dataini)
 | 
			
		||||
          {
 | 
			
		||||
            //modifica del 19/06
 | 
			
		||||
            if (saldo_iniziale > 0) 
 | 
			
		||||
              _prg_prec_dare += saldo_iniziale;
 | 
			
		||||
            else _prg_prec_avere -= saldo_iniziale;
 | 
			
		||||
            //fine modifica
 | 
			
		||||
            saldo_finale = _prg_prec_dare-_prg_prec_avere+_mov_periodo_dare
 | 
			
		||||
              -_mov_periodo_avere;
 | 
			
		||||
          }    
 | 
			
		||||
        }
 | 
			
		||||
        //if (saldo_finale == ZERO)
 | 
			
		||||
        //   if (_stampac == 2)
 | 
			
		||||
        //      continue;
 | 
			
		||||
        
 | 
			
		||||
        //se saldo_finale < 0 verra' stampato con una A, se no con una D
 | 
			
		||||
       }
 | 
			
		||||
       else //bilancio di verifica all'ultima immissione
 | 
			
		||||
       {
 | 
			
		||||
        _indbil = cerca_indbil(g,c);
 | 
			
		||||
        movimentato = sld.ultima_immissione_verifica(anno,g,c,codcf,_indbil,_stampa_mov_prov);
 | 
			
		||||
        
 | 
			
		||||
        if (_stampa_mov_prov != 3)
 | 
			
		||||
          if (!movimentato && _stampac!=1)
 | 
			
		||||
            if (_indbil == 1 || _indbil == 2 || _indbil == 5)      
 | 
			
		||||
              saldo_iniziale = sld.saldofin_esprec(anno,g,c,codcf);
 | 
			
		||||
        
 | 
			
		||||
        if (movimentato)
 | 
			
		||||
          saldo_iniziale = sld.saldoini();
 | 
			
		||||
        
 | 
			
		||||
        if (movimentato || _stampac != 1)
 | 
			
		||||
        {
 | 
			
		||||
          _mov_periodo_dare  = sld.prgdare();
 | 
			
		||||
          _mov_periodo_avere = sld.prgavere();
 | 
			
		||||
          _prg_prec_dare     = ZERO;
 | 
			
		||||
          _prg_prec_avere    = ZERO;
 | 
			
		||||
          
 | 
			
		||||
          saldo_finale       = saldo_iniziale+_mov_periodo_dare-_mov_periodo_avere;
 | 
			
		||||
        }
 | 
			
		||||
        //if (saldo_finale == ZERO)
 | 
			
		||||
        //  if (_stampac == 2)
 | 
			
		||||
        //     continue;
 | 
			
		||||
       }
 | 
			
		||||
       if (movimentato || _stampac != 1)
 | 
			
		||||
         if (!(saldo_finale == ZERO && _stampac == 2))
 | 
			
		||||
         {  
 | 
			
		||||
          esiste_sc = TRUE;    
 | 
			
		||||
          
 | 
			
		||||
          if (saldo_iniziale < ZERO) 
 | 
			
		||||
            _saldo_ini_conto_avere += saldo_iniziale;
 | 
			
		||||
          else
 | 
			
		||||
            _saldo_ini_conto_dare  += saldo_iniziale;
 | 
			
		||||
          mov_conto_dare  += _mov_periodo_dare;
 | 
			
		||||
          mov_conto_avere += _mov_periodo_avere;
 | 
			
		||||
          prg_conto_dare  += _prg_prec_dare;
 | 
			
		||||
          prg_conto_avere += _prg_prec_avere;
 | 
			
		||||
          saldo_conto     += saldo_finale; // somma algebrica!!!   
 | 
			
		||||
          
 | 
			
		||||
          if ( (_datada == _dataini)||(_tipo_stampa1 != 1) )
 | 
			
		||||
          {
 | 
			
		||||
            if (saldo_iniziale > ZERO) //va stampato in Dare
 | 
			
		||||
              saldodare = saldo_iniziale;
 | 
			
		||||
            else if (saldo_iniziale < ZERO)
 | 
			
		||||
            {
 | 
			
		||||
              saldo_iniziale = -saldo_iniziale; 
 | 
			
		||||
              saldoavere = saldo_iniziale;
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          else if (_datada > _dataini)
 | 
			
		||||
          {
 | 
			
		||||
            saldodare  = _prg_prec_dare;
 | 
			
		||||
            saldoavere = _prg_prec_avere;
 | 
			
		||||
          } 
 | 
			
		||||
          
 | 
			
		||||
          movdare  = _mov_periodo_dare;
 | 
			
		||||
          movavere = _mov_periodo_avere;
 | 
			
		||||
          
 | 
			
		||||
          riempi_record(tipocf,g,c,codcf,ragsoc,saldodare,saldoavere,movdare,
 | 
			
		||||
                        movavere,saldo_finale);
 | 
			
		||||
          tipocfp = tipocf; 
 | 
			
		||||
          _gp = g;
 | 
			
		||||
          _cp = c;
 | 
			
		||||
        }
 | 
			
		||||
    } 
 | 
			
		||||
  }
 | 
			
		||||
  if (esiste_sc)
 | 
			
		||||
    riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,prg_conto_avere,
 | 
			
		||||
                  mov_conto_dare,mov_conto_avere,saldo_conto);  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CG1500_application::crea_sort_clifo()
 | 
			
		||||
{
 | 
			
		||||
  long ncur = _cur->items(); 
 | 
			
		||||
  //serve solo per la progind: stima alla meno peggio  
 | 
			
		||||
  if (_situazione.empty()) ncur /= 2;
 | 
			
		||||
  long nitems = ncur*(_clienti.items()+_fornitori.items());
 | 
			
		||||
  _prog = new TProgind(nitems,"Elaborazione in corso... prego attendere",FALSE);
 | 
			
		||||
  _prog->addstatus(1);
 | 
			
		||||
  init_sort();
 | 
			
		||||
  if (_situazione == "C") leggi_clifo(_clienti);
 | 
			
		||||
  else if (_situazione == "F") leggi_clifo(_fornitori);
 | 
			
		||||
       else
 | 
			
		||||
       {
 | 
			
		||||
        _cur->setfilter("TIPOCF = \"C\"");
 | 
			
		||||
        leggi_clifo(_clienti);
 | 
			
		||||
        _cur->setfilter("TIPOCF = \"F\"");
 | 
			
		||||
        leggi_clifo(_fornitori); 
 | 
			
		||||
       }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int CG1500_application::cerca_indbil(int g, int c)
 | 
			
		||||
{
 | 
			
		||||
  TLocalisamfile pconti(LF_PCON);
 | 
			
		||||
  
 | 
			
		||||
  pconti.zero();
 | 
			
		||||
  pconti.put(PCN_GRUPPO,g);
 | 
			
		||||
  if (c != 0)
 | 
			
		||||
@ -3320,13 +3569,15 @@ void CG1500_application::leggi_pcon()
 | 
			
		||||
    if ( (sottoconto == 0l) && (conto != 0) ) //si tratta di un conto
 | 
			
		||||
    {
 | 
			
		||||
      char tipocf = pconti.get_char(PCN_TMCF);
 | 
			
		||||
      if (tipocf == 'C')
 | 
			
		||||
      if ( tipocf == 'C' && 
 | 
			
		||||
           (_situazione.empty() || _situazione == "C") )
 | 
			
		||||
      {
 | 
			
		||||
        gc.add(gruppo,0);
 | 
			
		||||
        gc.add(conto,1);
 | 
			
		||||
        _clienti.add(gc);
 | 
			
		||||
       gc.add(gruppo,0);
 | 
			
		||||
       gc.add(conto,1);
 | 
			
		||||
       _clienti.add(gc);
 | 
			
		||||
      }
 | 
			
		||||
      else if (tipocf == 'F')
 | 
			
		||||
      else if ( tipocf == 'F' && 
 | 
			
		||||
                (_situazione.empty() || _situazione == "F") )
 | 
			
		||||
      { 
 | 
			
		||||
        gc.add(gruppo,0);
 | 
			
		||||
        gc.add(conto,1);
 | 
			
		||||
@ -3347,7 +3598,7 @@ bool CG1500_application::set_print(int)
 | 
			
		||||
     _causale_ap = conf.get("CoCaAp");
 | 
			
		||||
     _causale_chi = conf.get("CoCaCh");
 | 
			
		||||
     } 
 | 
			
		||||
     */
 | 
			
		||||
  */
 | 
			
		||||
  m.set_handler (F_VERIFICA, my_handler);
 | 
			
		||||
  m.set_handler (F_BILANCIO, mask_bilancio);
 | 
			
		||||
  m.set_handler (F_STAMPA1,  mask_bilancio);
 | 
			
		||||
@ -3383,6 +3634,7 @@ bool CG1500_application::set_print(int)
 | 
			
		||||
    }
 | 
			
		||||
    else
 | 
			
		||||
    {
 | 
			
		||||
      printer().footerlen(5);
 | 
			
		||||
      _stampa_width = atoi(m.get(F_MODULO));
 | 
			
		||||
      if (_stampa_width == 1) 
 | 
			
		||||
        _stampa_width = 132;
 | 
			
		||||
@ -3418,7 +3670,7 @@ bool CG1500_application::set_print(int)
 | 
			
		||||
        else
 | 
			
		||||
          _cur->setfilter("");
 | 
			
		||||
 | 
			
		||||
        _prog = new TProgind(_cur->items(),"Elaborazione in corso... prego attendere",FALSE);
 | 
			
		||||
        //_prog = new TProgind(_cur->items(),"Elaborazione in corso... prego attendere",FALSE);
 | 
			
		||||
        
 | 
			
		||||
        _clienti.destroy();
 | 
			
		||||
        _fornitori.destroy(); 
 | 
			
		||||
 | 
			
		||||
@ -2824,52 +2824,54 @@ void TMastrini_application::calcola_progressivi_al()
 | 
			
		||||
  real importo;       
 | 
			
		||||
  TDate data;
 | 
			
		||||
 | 
			
		||||
  _totale_prima_dare  = ZERO;
 | 
			
		||||
  _totale_prima_avere = ZERO;
 | 
			
		||||
  
 | 
			
		||||
    record = rmov.recno(); 
 | 
			
		||||
    rmov.zero();
 | 
			
		||||
    rmov.put(RMV_GRUPPO,     _gruppo);
 | 
			
		||||
    rmov.put(RMV_CONTO,      _conto);
 | 
			
		||||
    rmov.put(RMV_SOTTOCONTO, _sottoc);
 | 
			
		||||
    for (rmov.read();!rmov.eof() ;rmov.next())
 | 
			
		||||
  record = rmov.recno(); 
 | 
			
		||||
  rmov.zero();
 | 
			
		||||
  rmov.put(RMV_GRUPPO,     _gruppo);
 | 
			
		||||
  rmov.put(RMV_CONTO,      _conto);
 | 
			
		||||
  rmov.put(RMV_SOTTOCONTO, _sottoc);
 | 
			
		||||
  for (rmov.read();!rmov.eof() ;rmov.next())
 | 
			
		||||
  {
 | 
			
		||||
    annoes      = rmov.get_int (RMV_ANNOES);
 | 
			
		||||
    datareg     = rmov.get_date(RMV_DATAREG);
 | 
			
		||||
    sezione     = rmov.get     (RMV_SEZIONE)[0];
 | 
			
		||||
    importo     = rmov.get_real(RMV_IMPORTO);
 | 
			
		||||
    long numreg = rmov.get_long(RMV_NUMREG);
 | 
			
		||||
 | 
			
		||||
    _mov->setkey(1);
 | 
			
		||||
    _mov->curr().zero();
 | 
			
		||||
    _mov->curr().put(MOV_NUMREG,numreg);
 | 
			
		||||
    _mov->read();
 | 
			
		||||
    if (_mov->bad())
 | 
			
		||||
      _mov->zero();
 | 
			
		||||
    datacomp = (_mov->curr().get(MOV_DATACOMP));
 | 
			
		||||
 | 
			
		||||
    if (_annomsk == 0)
 | 
			
		||||
    {
 | 
			
		||||
      annoes      = rmov.get_int (RMV_ANNOES);
 | 
			
		||||
      datareg     = rmov.get_date(RMV_DATAREG);
 | 
			
		||||
      sezione     = rmov.get     (RMV_SEZIONE)[0];
 | 
			
		||||
      importo     = rmov.get_real(RMV_IMPORTO);
 | 
			
		||||
      long numreg = rmov.get_long(RMV_NUMREG);
 | 
			
		||||
 | 
			
		||||
      _mov->setkey(1);
 | 
			
		||||
      _mov->curr().zero();
 | 
			
		||||
      _mov->curr().put(MOV_NUMREG,numreg);
 | 
			
		||||
      _mov->read();
 | 
			
		||||
      if (_mov->bad())
 | 
			
		||||
        _mov->zero();
 | 
			
		||||
      datacomp = (_mov->curr().get(MOV_DATACOMP));
 | 
			
		||||
 | 
			
		||||
      if (_annomsk == 0)
 | 
			
		||||
      {
 | 
			
		||||
        datareg = rmov.get_date(RMV_DATAREG); 
 | 
			
		||||
        data = _inizioes;
 | 
			
		||||
      }
 | 
			
		||||
      else
 | 
			
		||||
        if (_annomsk != 0)
 | 
			
		||||
        {
 | 
			
		||||
          datareg = datacomp;
 | 
			
		||||
          data = _data_inizioese;
 | 
			
		||||
        }  
 | 
			
		||||
 | 
			
		||||
      gruppo = rmov.get_int(RMV_GRUPPO);
 | 
			
		||||
      conto = rmov.get_int(RMV_CONTO);
 | 
			
		||||
      sottoc = rmov.get_long(RMV_SOTTOCONTO);
 | 
			
		||||
      if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
 | 
			
		||||
    break;
 | 
			
		||||
      else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
 | 
			
		||||
         if (sezione == 'D')
 | 
			
		||||
           _totale_prima_dare += importo;
 | 
			
		||||
         else if (sezione == 'A')
 | 
			
		||||
                _totale_prima_avere += importo;
 | 
			
		||||
      datareg = rmov.get_date(RMV_DATAREG); 
 | 
			
		||||
      data = _inizioes;
 | 
			
		||||
    }
 | 
			
		||||
    rmov.readat(record);
 | 
			
		||||
    else
 | 
			
		||||
      if (_annomsk != 0)
 | 
			
		||||
      {
 | 
			
		||||
        datareg = datacomp;
 | 
			
		||||
        data = _data_inizioese;
 | 
			
		||||
      }  
 | 
			
		||||
 | 
			
		||||
    gruppo = rmov.get_int(RMV_GRUPPO);
 | 
			
		||||
    conto  = rmov.get_int(RMV_CONTO);
 | 
			
		||||
    sottoc = rmov.get_long(RMV_SOTTOCONTO);
 | 
			
		||||
    if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
 | 
			
		||||
      break;
 | 
			
		||||
    else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
 | 
			
		||||
           if (sezione == 'D')
 | 
			
		||||
             _totale_prima_dare += importo;
 | 
			
		||||
           else if (sezione == 'A')
 | 
			
		||||
                  _totale_prima_avere += importo;
 | 
			
		||||
  }  
 | 
			
		||||
  rmov.readat(record);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void TMastrini_application::calcola_progressivi()
 | 
			
		||||
 | 
			
		||||
@ -1678,8 +1678,9 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
   * Ulteriormente smentito e rettificato
 | 
			
		||||
   */              
 | 
			
		||||
  //if (_isintr && month < 13)
 | 
			
		||||
  if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
 | 
			
		||||
      (month != 12 || (_isbenzinaro && _gest4)) )))
 | 
			
		||||
  bool true_trim = (month == 3 || month == 6 || month == 9);
 | 
			
		||||
  if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
 | 
			
		||||
      || (month == 13 && !(_isbenzinaro && _gest4)) ))
 | 
			
		||||
  {
 | 
			
		||||
    real interesse = interesse_trimestrale(_month);
 | 
			
		||||
    real ivi = risultato * (interesse / CENTO); 
 | 
			
		||||
@ -1689,8 +1690,8 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
			
		||||
  
 | 
			
		||||
  //questo serve anche per la visualizzazione e per l'estrazione deleghe  
 | 
			
		||||
  //if (_isintr && month < 13) 
 | 
			
		||||
  if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
 | 
			
		||||
      (month != 12 || (_isbenzinaro && _gest4)) )))
 | 
			
		||||
  if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
 | 
			
		||||
      || (month == 13 && !(_isbenzinaro && _gest4)) ))
 | 
			
		||||
    _lim->put("R10",interesse_trimestrale(_month));       
 | 
			
		||||
  
 | 
			
		||||
  // totale conguaglio su tutte le attivita'
 | 
			
		||||
 | 
			
		||||
@ -854,6 +854,7 @@ _DescrItem* TLiquidazione_app::describe_deleghe(int month)
 | 
			
		||||
  
 | 
			
		||||
  if (look_del(month,month == 13 ? 2 : 1,TRUE))
 | 
			
		||||
  {
 | 
			
		||||
    d->_f0 = (_del->get("S7").not_empty() || _del->get("S8").not_empty());
 | 
			
		||||
    if (_del->get_bool("B0"))
 | 
			
		||||
    {
 | 
			
		||||
      d->_s0 = _del->get("S2");  // ufficio iva/concessione
 | 
			
		||||
@ -870,6 +871,7 @@ _DescrItem* TLiquidazione_app::describe_deleghe(int month)
 | 
			
		||||
    if (look_del(12,7,TRUE))
 | 
			
		||||
    {
 | 
			
		||||
      d->_s4 = "ACC";  
 | 
			
		||||
      d->_f0 = (_del->get("S7").not_empty() || _del->get("S8").not_empty());
 | 
			
		||||
      TToken_string t;
 | 
			
		||||
      if (_del->get_bool("B0"))
 | 
			
		||||
      {
 | 
			
		||||
@ -1641,7 +1643,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
 | 
			
		||||
            set_row(rw, "Versamento di L. %s effettuato il %s",
 | 
			
		||||
                    (const char*)vr, 
 | 
			
		||||
                    (const char*)dt); 
 | 
			
		||||
            if (abi.not_empty() || cab.not_empty())
 | 
			
		||||
            if (di._f0)
 | 
			
		||||
            {
 | 
			
		||||
              set_row(rw++, "@68gdiretto all'ufficio IVA di %s", (const char*)loc);
 | 
			
		||||
              set_row(rw++, "@68gtramite %s", (const char*)ban);
 | 
			
		||||
@ -1661,7 +1663,7 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
 | 
			
		||||
        set_row(rw, "Versamento di L. %s effettuato il %s",
 | 
			
		||||
                (const char*)vr, 
 | 
			
		||||
                (const char*)dt);   
 | 
			
		||||
        if ((di._s2).not_empty() || (di._s3).not_empty())
 | 
			
		||||
        if (di._f0)
 | 
			
		||||
        {
 | 
			
		||||
          set_row(rw++, "@68gdiretto all'ufficio IVA di %s", 
 | 
			
		||||
                  (const char*)(di._s0));
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										362
									
								
								cg/cg4600.cpp
									
									
									
									
									
								
							
							
						
						
									
										362
									
								
								cg/cg4600.cpp
									
									
									
									
									
								
							@ -59,8 +59,10 @@ public:
 | 
			
		||||
  void ricavi();
 | 
			
		||||
  void chiudi_attivita();
 | 
			
		||||
  void chiudi_passivita();
 | 
			
		||||
  void chiudi_conti_ordine();                                              
 | 
			
		||||
  void apri_attivita();
 | 
			
		||||
  void apri_passivita();     
 | 
			
		||||
  void apri_conti_ordine();
 | 
			
		||||
  void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
 | 
			
		||||
  void ultima_registrazione();
 | 
			
		||||
  void compila_testata(int,TDate&,TString&);
 | 
			
		||||
@ -563,7 +565,7 @@ bool CG4600_application::set()
 | 
			
		||||
    _tcutile.set (gutile,cutile,sutile);
 | 
			
		||||
    _tcperde.set (gperde,cperde,sperde);
 | 
			
		||||
 | 
			
		||||
    long cicli = (_cur->items() * 6) + 4;
 | 
			
		||||
    long cicli = (_cur->items() * 8) + 4;
 | 
			
		||||
    _prog  = new TProgind(cicli,"Chiusura/Apertura conti in corso... Prego attendere",FALSE);
 | 
			
		||||
 | 
			
		||||
    //ultima_registrazione();
 | 
			
		||||
@ -577,12 +579,12 @@ bool CG4600_application::set()
 | 
			
		||||
    _sld->set_movprovv(FALSE);
 | 
			
		||||
    _sld->set_movap(FALSE);
 | 
			
		||||
    
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    costi ();
 | 
			
		||||
 | 
			
		||||
    //_sld->reset();        //Azzera la tabella dei conti dell'oggetto TSaldo_agg
 | 
			
		||||
    //ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
 | 
			
		||||
    ricavi();
 | 
			
		||||
@ -593,33 +595,44 @@ bool CG4600_application::set()
 | 
			
		||||
    //_sld->reset();
 | 
			
		||||
 | 
			
		||||
    //ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
 | 
			
		||||
    chiudi_attivita();
 | 
			
		||||
    //_sld->reset();
 | 
			
		||||
 | 
			
		||||
    //ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
    
 | 
			
		||||
    chiudi_passivita();
 | 
			
		||||
    //_sld->reset();   
 | 
			
		||||
    
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
    
 | 
			
		||||
    chiudi_conti_ordine();
 | 
			
		||||
    
 | 
			
		||||
    chiusura_conto_patrimoniale();
 | 
			
		||||
    _totale_saldo = ZERO;
 | 
			
		||||
  
 | 
			
		||||
    _sld->set_anno_es(_annoesap);
 | 
			
		||||
    _sld->set_movap(TRUE);    
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
 | 
			
		||||
    apri_attivita();
 | 
			
		||||
    
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
 | 
			
		||||
    apri_passivita();
 | 
			
		||||
    
 | 
			
		||||
//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    *_cur = 0l;
 | 
			
		||||
 | 
			
		||||
    apri_conti_ordine();
 | 
			
		||||
 | 
			
		||||
    apertura_capitale_netto();
 | 
			
		||||
    
 | 
			
		||||
    _sld->registra();
 | 
			
		||||
@ -774,7 +787,7 @@ void CG4600_application::costi()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
          
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;
 | 
			
		||||
@ -834,7 +847,7 @@ void CG4600_application::costi()
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        //_sld->registra();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                          // if (indbil == 3)                   
 | 
			
		||||
  }                            // for pcon
 | 
			
		||||
@ -926,7 +939,7 @@ void CG4600_application::ricavi()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;        
 | 
			
		||||
@ -986,7 +999,7 @@ void CG4600_application::ricavi()
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        //_sld->registra();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 4)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
@ -1016,6 +1029,7 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
 | 
			
		||||
    
 | 
			
		||||
    _pn->write();          
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
			
		||||
    //_sld->registra();
 | 
			
		||||
    //_sld->reset();
 | 
			
		||||
 | 
			
		||||
@ -1024,7 +1038,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
 | 
			
		||||
    j = 0;
 | 
			
		||||
    ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
 | 
			
		||||
    compila_testata(_annoesch,_dataregch,_codcausch);  //Reg. 4 Chiusura Capitale netto
 | 
			
		||||
    
 | 
			
		||||
@ -1037,6 +1050,7 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
 | 
			
		||||
 | 
			
		||||
    _pn->write();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
    if (_totale_saldo < ZERO)
 | 
			
		||||
@ -1048,7 +1062,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
 | 
			
		||||
      j = 0;
 | 
			
		||||
      ultima_registrazione();
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 3 Chiusura Conto Economico
 | 
			
		||||
 | 
			
		||||
      TRectype& rmov1 = _pn->cg(j);
 | 
			
		||||
@ -1060,6 +1073,7 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
      rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
 | 
			
		||||
 | 
			
		||||
      _pn ->write();         
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
			
		||||
      //_sld->registra();
 | 
			
		||||
      //_sld->reset();
 | 
			
		||||
      
 | 
			
		||||
@ -1068,7 +1082,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
 | 
			
		||||
      j = 0;
 | 
			
		||||
      ultima_registrazione();
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 4 Chiusura Capitale netto
 | 
			
		||||
      
 | 
			
		||||
      TRectype& rmov3 = _pn->cg(j);
 | 
			
		||||
@ -1080,6 +1093,7 @@ void CG4600_application::chiusura_conto_economico()
 | 
			
		||||
      rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
 | 
			
		||||
 | 
			
		||||
      _pn ->write();         
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1172,7 +1186,7 @@ void CG4600_application::chiudi_attivita()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;      
 | 
			
		||||
@ -1234,7 +1248,7 @@ void CG4600_application::chiudi_attivita()
 | 
			
		||||
        //_sld->registra();
 | 
			
		||||
        //_sld->reset();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 1)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
@ -1324,7 +1338,7 @@ void CG4600_application::chiudi_passivita()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;      
 | 
			
		||||
@ -1386,12 +1400,162 @@ void CG4600_application::chiudi_passivita()
 | 
			
		||||
        //_sld->registra();
 | 
			
		||||
        //_sld->reset();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);
 | 
			
		||||
        _pn->destroy_rows(_numreg);
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 2)                   
 | 
			
		||||
  }                          // for pcon                
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CG4600_application::chiudi_conti_ordine()
 | 
			
		||||
{     
 | 
			
		||||
  bool      compila_mov = TRUE;
 | 
			
		||||
  long      s;
 | 
			
		||||
  char      sez_rmov = ' ', sezione = ' ';
 | 
			
		||||
  real      tot_saldo;
 | 
			
		||||
  long      numrig   = 0;
 | 
			
		||||
  TSaldo&   sale     = *_sale;
 | 
			
		||||
  int       j        = 0; 
 | 
			
		||||
    
 | 
			
		||||
  tot_saldo = ZERO;
 | 
			
		||||
 | 
			
		||||
  TRecnotype items_pcon  = _cur->items();
 | 
			
		||||
  
 | 
			
		||||
  for (int i = 0; i < items_pcon; i++, ++(*_cur))
 | 
			
		||||
  {
 | 
			
		||||
    int  indbil  = _cur->curr().get_int(PCN_INDBIL);
 | 
			
		||||
    int  g       = _cur->curr().get_int(PCN_GRUPPO);
 | 
			
		||||
    int  c       = _cur->curr().get_int(PCN_CONTO);
 | 
			
		||||
    TString tmcf = _cur->curr().get    (PCN_TMCF);
 | 
			
		||||
    
 | 
			
		||||
    _prog->addstatus(1);
 | 
			
		||||
         
 | 
			
		||||
    if (indbil == 5)
 | 
			
		||||
    {
 | 
			
		||||
      compila_mov = TRUE;
 | 
			
		||||
      
 | 
			
		||||
      _saldi->setkey(1);
 | 
			
		||||
      _saldi->zero();
 | 
			
		||||
      _saldi->put(SLD_ANNOES, _annoesch);
 | 
			
		||||
      _saldi->put(SLD_GRUPPO, g);
 | 
			
		||||
      _saldi->put(SLD_CONTO,  c);
 | 
			
		||||
      
 | 
			
		||||
//      TRectype rec (_saldi->curr());
 | 
			
		||||
      *_rec = _saldi->curr();      
 | 
			
		||||
      
 | 
			
		||||
      j      = 0; 
 | 
			
		||||
      numrig = 0;
 | 
			
		||||
      
 | 
			
		||||
      for (_saldi->read(_isgteq); ; _saldi->next())
 | 
			
		||||
      {
 | 
			
		||||
        if (_saldi->curr() > (*_rec) || _saldi->eof()) 
 | 
			
		||||
        {
 | 
			
		||||
          // Aggiungo un ulteriore riga di movimento contenente la somma
 | 
			
		||||
          // di tutti i saldi aventi lo stesso conto, indicandola
 | 
			
		||||
          // con una sezione opposta al risultato (della somma).
 | 
			
		||||
          
 | 
			
		||||
          if (j >= 1)
 | 
			
		||||
          {
 | 
			
		||||
            numrig++;
 | 
			
		||||
            if (tot_saldo != ZERO)
 | 
			
		||||
              rmov_proper(_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura
 | 
			
		||||
            
 | 
			
		||||
            tot_saldo = ZERO;
 | 
			
		||||
          }
 | 
			
		||||
          break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (compila_mov)
 | 
			
		||||
        {
 | 
			
		||||
          ultima_registrazione();
 | 
			
		||||
          compila_testata(_annoesch,_dataregch,_codcausch); 
 | 
			
		||||
          compila_mov = FALSE;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        s               = _saldi->get_long(SLD_SOTTOCONTO);
 | 
			
		||||
        sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
 | 
			
		||||
        _saldo          = sale.saldo();
 | 
			
		||||
        const int dbkey = _saldi->getkey();
 | 
			
		||||
        _saldi->setkey(1);
 | 
			
		||||
        
 | 
			
		||||
        if (_saldo == ZERO) continue;
 | 
			
		||||
        
 | 
			
		||||
        numrig++;
 | 
			
		||||
        
 | 
			
		||||
        if (j >= MAX || _saldi->eof())
 | 
			
		||||
        {
 | 
			
		||||
          // Aggiungo un ulteriore riga di movimento contenente la somma
 | 
			
		||||
          // di tutti i saldi aventi lo stesso sottoconto, indicandola
 | 
			
		||||
          // con una sezione opposta al risultato (della somma).
 | 
			
		||||
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;      
 | 
			
		||||
          ultima_registrazione();
 | 
			
		||||
          compila_testata(_annoesch,_dataregch,_codcausch); //Reg. 5 Chiusura Attivita'
 | 
			
		||||
          compila_mov = FALSE;
 | 
			
		||||
          tot_saldo = ZERO;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (_saldo > ZERO)
 | 
			
		||||
          sezione = 'D';
 | 
			
		||||
        else
 | 
			
		||||
          if (_saldo < ZERO)
 | 
			
		||||
          {
 | 
			
		||||
            sezione = 'A';
 | 
			
		||||
            _saldo = -_saldo;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
        if (sezione == 'D')       // ---> Tengo una variabile in cui salvo gli
 | 
			
		||||
        {                         // importi trovati sui saldi. Quando ho
 | 
			
		||||
          sez_rmov   = 'A';       // finito di leggere i sottoconti, oppure
 | 
			
		||||
          tot_saldo += _saldo;    // quando ho raggiunto un massimo di 99
 | 
			
		||||
          _totale_saldo += _saldo;
 | 
			
		||||
        }                         // righe di movimento, genero un' altra    
 | 
			
		||||
        else                      // riga con importo di sezione opposta   
 | 
			
		||||
          if (sezione == 'A')     // alla somma, mandando a zero   
 | 
			
		||||
          {                       // il saldo di quel movimento.
 | 
			
		||||
            sez_rmov   = 'D';
 | 
			
		||||
            tot_saldo -= _saldo;
 | 
			
		||||
            _totale_saldo -= _saldo; 
 | 
			
		||||
          }
 | 
			
		||||
  
 | 
			
		||||
        if (!_saldi->eof())
 | 
			
		||||
        {
 | 
			
		||||
          TRectype& rmov = _pn->cg(j);
 | 
			
		||||
          
 | 
			
		||||
          rmov.zero();  
 | 
			
		||||
          rmov.put(RMV_ANNOES,     _annoesch);  //Compilo una riga di movimento
 | 
			
		||||
          rmov.put(RMV_DATAREG,    _dataregch); //per ogni sottoconto che leggo
 | 
			
		||||
          rmov.put(RMV_GRUPPO,     g);          //sui saldi. Siccome queste
 | 
			
		||||
          rmov.put(RMV_CONTO,      c);          //righe servono per mandare a 0
 | 
			
		||||
          rmov.put(RMV_SOTTOCONTO, s);          //il saldo dei movimenti, la
 | 
			
		||||
          rmov.put(RMV_SEZIONE,    sez_rmov);   //sezione sara' opposta a 
 | 
			
		||||
          rmov.put(RMV_IMPORTO,    _saldo);     //quella letta sui saldi.
 | 
			
		||||
          rmov.put(RMV_NUMREG,     _numreg);
 | 
			
		||||
          rmov.put(RMV_NUMRIG,     numrig);
 | 
			
		||||
          rmov.put(RMV_TIPOC,      tmcf);
 | 
			
		||||
          
 | 
			
		||||
          TBill tc(g,c,s); 
 | 
			
		||||
          _sld->aggiorna(tc,TImporto(sez_rmov,_saldo));    //l'oggetto TSaldo_agg
 | 
			
		||||
 | 
			
		||||
          j++;
 | 
			
		||||
        }
 | 
			
		||||
        if (_saldi->eof()) break;
 | 
			
		||||
      }                       //for saldi
 | 
			
		||||
      if (j >= 1)
 | 
			
		||||
      {
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 1)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CG4600_application::chiusura_conto_patrimoniale()
 | 
			
		||||
{
 | 
			
		||||
  int  j;
 | 
			
		||||
@ -1404,7 +1568,6 @@ void CG4600_application::chiusura_conto_patrimoniale()
 | 
			
		||||
 | 
			
		||||
    j = 0;
 | 
			
		||||
    ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 7 Chiusura Conto Patrimoniale
 | 
			
		||||
    
 | 
			
		||||
    TRectype& rmov1 = _pn->cg(j);
 | 
			
		||||
@ -1416,6 +1579,7 @@ void CG4600_application::chiusura_conto_patrimoniale()
 | 
			
		||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
 | 
			
		||||
 | 
			
		||||
    _pn->write();          
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
			
		||||
    //_sld->registra();
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
@ -1427,7 +1591,6 @@ else
 | 
			
		||||
 | 
			
		||||
    j = 0;
 | 
			
		||||
    ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
    compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 7 Chiusura Conto Patrimoniale
 | 
			
		||||
    
 | 
			
		||||
    TRectype& rmov1 = _pn->cg(j);
 | 
			
		||||
@ -1439,6 +1602,7 @@ else
 | 
			
		||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
 | 
			
		||||
 | 
			
		||||
    _pn ->write();         
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
			
		||||
    //_sld->registra();
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -1525,7 +1689,7 @@ void CG4600_application::apri_attivita()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;      
 | 
			
		||||
@ -1583,7 +1747,7 @@ void CG4600_application::apri_attivita()
 | 
			
		||||
      {
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 1)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
@ -1671,7 +1835,7 @@ void CG4600_application::apri_passivita()
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;
 | 
			
		||||
@ -1729,12 +1893,158 @@ void CG4600_application::apri_passivita()
 | 
			
		||||
      {
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(0);
 | 
			
		||||
        _pn->destroy_rows(_numreg);
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 2)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CG4600_application::apri_conti_ordine()
 | 
			
		||||
{       
 | 
			
		||||
  bool      compila_mov = TRUE;
 | 
			
		||||
  long      s;
 | 
			
		||||
  char      sezione = ' ';
 | 
			
		||||
  real      tot_saldo;
 | 
			
		||||
  long      numrig   = 0;
 | 
			
		||||
  TSaldo&   sale     = *_sale;
 | 
			
		||||
  int       j        = 0; 
 | 
			
		||||
      
 | 
			
		||||
  tot_saldo = ZERO;
 | 
			
		||||
 | 
			
		||||
  TRecnotype items_pcon  = _cur->items();
 | 
			
		||||
  
 | 
			
		||||
  for (int i = 0; i < items_pcon; i++, ++(*_cur))
 | 
			
		||||
  {
 | 
			
		||||
    int  indbil  = _cur->curr().get_int(PCN_INDBIL);
 | 
			
		||||
    int  g       = _cur->curr().get_int(PCN_GRUPPO);
 | 
			
		||||
    int  c       = _cur->curr().get_int(PCN_CONTO);
 | 
			
		||||
    TString tmcf = _cur->curr().get    (PCN_TMCF);
 | 
			
		||||
    
 | 
			
		||||
    _prog->addstatus(1);
 | 
			
		||||
         
 | 
			
		||||
    if (indbil == 5)
 | 
			
		||||
    {
 | 
			
		||||
      compila_mov = TRUE;
 | 
			
		||||
      
 | 
			
		||||
      _saldi->setkey(1);
 | 
			
		||||
      _saldi->zero();
 | 
			
		||||
      _saldi->put(SLD_ANNOES, _annoesch);
 | 
			
		||||
      _saldi->put(SLD_GRUPPO, g);
 | 
			
		||||
      _saldi->put(SLD_CONTO,  c);
 | 
			
		||||
      
 | 
			
		||||
      TRectype rec (_saldi->curr());
 | 
			
		||||
             
 | 
			
		||||
      j      = 0;
 | 
			
		||||
      numrig = 0;       
 | 
			
		||||
      
 | 
			
		||||
      for (_saldi->read(); ; _saldi->next())
 | 
			
		||||
      {
 | 
			
		||||
        if (_saldi->curr() > rec || _saldi->eof()) 
 | 
			
		||||
        {
 | 
			
		||||
          // Aggiungo un ulteriore riga di movimento contenente la somma
 | 
			
		||||
          // di tutti i saldi aventi lo stesso conto, indicandola
 | 
			
		||||
          // con una sezione opposta al risultato (della somma).
 | 
			
		||||
          
 | 
			
		||||
          if (j >= 1)
 | 
			
		||||
          {
 | 
			
		||||
            numrig++;
 | 
			
		||||
            if (tot_saldo != ZERO)
 | 
			
		||||
              rmov_proper(_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura
 | 
			
		||||
            
 | 
			
		||||
            tot_saldo = ZERO;
 | 
			
		||||
          }
 | 
			
		||||
          break;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (compila_mov)
 | 
			
		||||
        {
 | 
			
		||||
          ultima_registrazione();
 | 
			
		||||
          compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 8 Apertura Attivita'
 | 
			
		||||
          compila_mov = FALSE;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        //numrig++;
 | 
			
		||||
        s               = _saldi->get_long(SLD_SOTTOCONTO);
 | 
			
		||||
        sale.ultima_immissione_bilancio(_annoesch,g,c,s,indbil, 1);
 | 
			
		||||
        _saldo          = sale.saldo();
 | 
			
		||||
 | 
			
		||||
        if (_saldo == ZERO) continue;
 | 
			
		||||
        
 | 
			
		||||
        numrig++;
 | 
			
		||||
        
 | 
			
		||||
        if (j >= MAX || _saldi->eof())
 | 
			
		||||
        {
 | 
			
		||||
          // Aggiungo un ulteriore riga di movimento contenente la somma
 | 
			
		||||
          // di tutti i saldi aventi lo stesso sottoconto, indicandola
 | 
			
		||||
          // con una sezione opposta al risultato (della somma).
 | 
			
		||||
          
 | 
			
		||||
          if (tot_saldo != ZERO)
 | 
			
		||||
            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura  
 | 
			
		||||
          _pn->write();
 | 
			
		||||
          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
  
 | 
			
		||||
          j      = 0;
 | 
			
		||||
          numrig = 1;      
 | 
			
		||||
          ultima_registrazione();
 | 
			
		||||
          compila_testata(_annoesap,_dataregap,_codcausap); //Reg. 8 Apertura Attivita'
 | 
			
		||||
          compila_mov = FALSE;
 | 
			
		||||
          tot_saldo = ZERO;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if (_saldo > ZERO)
 | 
			
		||||
          sezione = 'D';
 | 
			
		||||
        else
 | 
			
		||||
          if (_saldo < ZERO)
 | 
			
		||||
          {
 | 
			
		||||
            sezione = 'A';
 | 
			
		||||
            _saldo = -_saldo;
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
        if (sezione == 'D')       // ---> Tengo una variabile in cui salvo gli
 | 
			
		||||
        {                         // importi trovati sui saldi. Quando ho
 | 
			
		||||
          tot_saldo += _saldo;    // quando ho raggiunto un massimo di 99
 | 
			
		||||
          _totale_saldo += _saldo;
 | 
			
		||||
        }                         // righe di movimento, genero un' altra    
 | 
			
		||||
        else                      // riga con importo di sezione opposta   
 | 
			
		||||
          if (sezione == 'A')     // alla somma, mandando a zero   
 | 
			
		||||
          {                       // il saldo di quel movimento.
 | 
			
		||||
            tot_saldo -= _saldo;
 | 
			
		||||
            _totale_saldo -= _saldo; 
 | 
			
		||||
          }
 | 
			
		||||
  
 | 
			
		||||
        if (!_saldi->eof())
 | 
			
		||||
        {
 | 
			
		||||
          TRectype& rmov = _pn->cg(j);
 | 
			
		||||
          
 | 
			
		||||
          rmov.zero();  
 | 
			
		||||
          rmov.put(RMV_ANNOES,     _annoesap);  //Compilo una riga di movimento
 | 
			
		||||
          rmov.put(RMV_DATAREG,    _dataregap); //per ogni sottoconto che leggo
 | 
			
		||||
          rmov.put(RMV_GRUPPO,     g);          //sui saldi. Siccome queste
 | 
			
		||||
          rmov.put(RMV_CONTO,      c);          //righe servono per mandare a 0
 | 
			
		||||
          rmov.put(RMV_SOTTOCONTO, s);          //il saldo dei movimenti, la
 | 
			
		||||
          rmov.put(RMV_SEZIONE,    sezione);    //sezione sara' opposta a 
 | 
			
		||||
          rmov.put(RMV_IMPORTO,    _saldo);     //quella letta sui saldi.
 | 
			
		||||
          rmov.put(RMV_NUMREG,     _numreg);
 | 
			
		||||
          rmov.put(RMV_NUMRIG,     numrig);
 | 
			
		||||
          rmov.put(RMV_TIPOC,      tmcf);
 | 
			
		||||
          
 | 
			
		||||
          TBill tc(g,c,s); 
 | 
			
		||||
          _sld->aggiorna(tc,TImporto(sezione,_saldo));    //l'oggetto TSaldo_agg
 | 
			
		||||
 | 
			
		||||
          j++;
 | 
			
		||||
        }
 | 
			
		||||
        if (_saldi->eof()) break;
 | 
			
		||||
      }                       //for saldi
 | 
			
		||||
      if (j >= 1)
 | 
			
		||||
      {
 | 
			
		||||
        _pn->write();
 | 
			
		||||
        j = 0;
 | 
			
		||||
        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
      }
 | 
			
		||||
    }                        // if (indbil == 1)                   
 | 
			
		||||
  }                          // for pcon
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CG4600_application::apertura_capitale_netto()
 | 
			
		||||
{ 
 | 
			
		||||
  int numrig;
 | 
			
		||||
@ -1746,7 +2056,6 @@ void CG4600_application::apertura_capitale_netto()
 | 
			
		||||
    
 | 
			
		||||
    int j = 0;
 | 
			
		||||
    ultima_registrazione();
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
 | 
			
		||||
    compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
			
		||||
    
 | 
			
		||||
@ -1759,6 +2068,7 @@ void CG4600_application::apertura_capitale_netto()
 | 
			
		||||
    rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE);
 | 
			
		||||
 | 
			
		||||
    _pn->write();          
 | 
			
		||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
			
		||||
  }
 | 
			
		||||
  else
 | 
			
		||||
    if (_capitale_netto < ZERO)
 | 
			
		||||
@ -1768,7 +2078,6 @@ void CG4600_application::apertura_capitale_netto()
 | 
			
		||||
      
 | 
			
		||||
      int j = 0;
 | 
			
		||||
      ultima_registrazione();
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
			
		||||
 | 
			
		||||
      compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
			
		||||
      
 | 
			
		||||
@ -1781,6 +2090,7 @@ void CG4600_application::apertura_capitale_netto()
 | 
			
		||||
      rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE);
 | 
			
		||||
 | 
			
		||||
      _pn->write();          
 | 
			
		||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,7 @@
 | 
			
		||||
#include "classpim.h"
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
 | 
			
		||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
 | 
			
		||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t, bool tipost)
 | 
			
		||||
{
 | 
			
		||||
  static int last_checked = -1;     
 | 
			
		||||
  
 | 
			
		||||
@ -38,8 +38,16 @@ bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
 | 
			
		||||
                                tipodet == 5 || tipodet == 9 */);
 | 
			
		||||
      if (found)
 | 
			
		||||
      {
 | 
			
		||||
        imp = pimr.get_real("R0") /* - pimr.get_real("R9")  */;   // comprese BD!
 | 
			
		||||
        iva = pimr.get_real("R1") /* - pimr.get_real("R10") */;   // yuk yuk!
 | 
			
		||||
        if (tipost) //stampa
 | 
			
		||||
        {
 | 
			
		||||
         imp = pimr.get_real("R0") - pimr.get_real("R9");   
 | 
			
		||||
         iva = pimr.get_real("R1") - pimr.get_real("R10");   
 | 
			
		||||
        }
 | 
			
		||||
        else        //visualizza
 | 
			
		||||
        {
 | 
			
		||||
         imp = pimr.get_real("R0");  
 | 
			
		||||
         iva = pimr.get_real("R1");
 | 
			
		||||
        } 
 | 
			
		||||
      }
 | 
			
		||||
      break;
 | 
			
		||||
    case vend_norm:  
 | 
			
		||||
 | 
			
		||||
@ -81,6 +81,6 @@ const int MAX_TIPOREC = 18;
 | 
			
		||||
// CONTENTA?                                       ciao, f. :)
 | 
			
		||||
// -----------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t);
 | 
			
		||||
bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t, bool ts);
 | 
			
		||||
 | 
			
		||||
#endif                 
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user