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"
 | 
					    if (tipoiva == "VE") continue; //i codici iva di tipo "VE"
 | 
				
			||||||
    //Fine                         //non devono essere stampati
 | 
					    //Fine                         //non devono essere stampati
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo))
 | 
					    while (classify_pim(pim.curr(), imponibile, imposta, tipo, TRUE))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      switch(tipo)
 | 
					      switch(tipo)
 | 
				
			||||||
      { 
 | 
					      { 
 | 
				
			||||||
@ -352,7 +352,7 @@ void CG0400_application::cerca_i_pim()
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    impo = impos = ZERO;
 | 
					    impo = impos = ZERO;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    while (classify_pim(pim.curr(), imponibile, imposta, tipo))
 | 
					    while (classify_pim(pim.curr(), imponibile, imposta, tipo, FALSE))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      switch(tipo)
 | 
					      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++, "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);
 | 
					       set_header (soh++, (const char *) sep);
 | 
				
			||||||
       */ 
 | 
					    */ 
 | 
				
			||||||
    if (_st_inizio_anno)
 | 
					    if (_st_inizio_anno)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      if (_prima_pagina)
 | 
					      if (_prima_pagina)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										274
									
								
								cg/cg1500.cpp
									
									
									
									
									
								
							
							
						
						
									
										274
									
								
								cg/cg1500.cpp
									
									
									
									
									
								
							@ -130,6 +130,7 @@ public:
 | 
				
			|||||||
  bool calcola(int,int,long);
 | 
					  bool calcola(int,int,long);
 | 
				
			||||||
  void leggi_pcon();    // Inizializza i TArray C/F 
 | 
					  void leggi_pcon();    // Inizializza i TArray C/F 
 | 
				
			||||||
  void crea_sort_clifo();
 | 
					  void crea_sort_clifo();
 | 
				
			||||||
 | 
					  void leggi_clifo(const TArray&);
 | 
				
			||||||
  void init_sort();
 | 
					  void init_sort();
 | 
				
			||||||
  void leggi_sort();
 | 
					  void leggi_sort();
 | 
				
			||||||
  void riempi_record(char,int,int,long,const char*,const real&, 
 | 
					  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
 | 
					    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')
 | 
					        if (sezione == 'D')
 | 
				
			||||||
          _prg_prec_dare += importo;
 | 
					          _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);
 | 
					  _sort->sort((const char*)_cf);
 | 
				
			||||||
}    
 | 
					}    
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
void CG1500_application::crea_sort_clifo()
 | 
					void CG1500_application::crea_sort_clifo()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TSaldo sld;
 | 
					  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,
 | 
					    riempi_record(tipocfp,_gp,_cp,999999L,"zzzz",prg_conto_dare,prg_conto_avere,
 | 
				
			||||||
                  mov_conto_dare,mov_conto_avere,saldo_conto);  
 | 
					                  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)
 | 
					int CG1500_application::cerca_indbil(int g, int c)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  TLocalisamfile pconti(LF_PCON);
 | 
					  TLocalisamfile pconti(LF_PCON);
 | 
				
			||||||
  
 | 
					 | 
				
			||||||
  pconti.zero();
 | 
					  pconti.zero();
 | 
				
			||||||
  pconti.put(PCN_GRUPPO,g);
 | 
					  pconti.put(PCN_GRUPPO,g);
 | 
				
			||||||
  if (c != 0)
 | 
					  if (c != 0)
 | 
				
			||||||
@ -3320,18 +3569,20 @@ void CG1500_application::leggi_pcon()
 | 
				
			|||||||
    if ( (sottoconto == 0l) && (conto != 0) ) //si tratta di un conto
 | 
					    if ( (sottoconto == 0l) && (conto != 0) ) //si tratta di un conto
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      char tipocf = pconti.get_char(PCN_TMCF);
 | 
					      char tipocf = pconti.get_char(PCN_TMCF);
 | 
				
			||||||
      if (tipocf == 'C')
 | 
					      if ( tipocf == 'C' && 
 | 
				
			||||||
 | 
					           (_situazione.empty() || _situazione == "C") )
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        gc.add(gruppo,0);
 | 
					       gc.add(gruppo,0);
 | 
				
			||||||
        gc.add(conto,1);
 | 
					       gc.add(conto,1);
 | 
				
			||||||
        _clienti.add(gc);
 | 
					       _clienti.add(gc);
 | 
				
			||||||
      }   
 | 
					      }
 | 
				
			||||||
      else if (tipocf == 'F')
 | 
					      else if ( tipocf == 'F' && 
 | 
				
			||||||
 | 
					                (_situazione.empty() || _situazione == "F") )
 | 
				
			||||||
      { 
 | 
					      { 
 | 
				
			||||||
        gc.add(gruppo,0);
 | 
					        gc.add(gruppo,0);
 | 
				
			||||||
        gc.add(conto,1);
 | 
					        gc.add(conto,1);
 | 
				
			||||||
        _fornitori.add(gc);
 | 
					        _fornitori.add(gc);
 | 
				
			||||||
      }  
 | 
					      }   
 | 
				
			||||||
    } 
 | 
					    } 
 | 
				
			||||||
  } 
 | 
					  } 
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -3347,7 +3598,7 @@ bool CG1500_application::set_print(int)
 | 
				
			|||||||
     _causale_ap = conf.get("CoCaAp");
 | 
					     _causale_ap = conf.get("CoCaAp");
 | 
				
			||||||
     _causale_chi = conf.get("CoCaCh");
 | 
					     _causale_chi = conf.get("CoCaCh");
 | 
				
			||||||
     } 
 | 
					     } 
 | 
				
			||||||
     */
 | 
					  */
 | 
				
			||||||
  m.set_handler (F_VERIFICA, my_handler);
 | 
					  m.set_handler (F_VERIFICA, my_handler);
 | 
				
			||||||
  m.set_handler (F_BILANCIO, mask_bilancio);
 | 
					  m.set_handler (F_BILANCIO, mask_bilancio);
 | 
				
			||||||
  m.set_handler (F_STAMPA1,  mask_bilancio);
 | 
					  m.set_handler (F_STAMPA1,  mask_bilancio);
 | 
				
			||||||
@ -3383,6 +3634,7 @@ bool CG1500_application::set_print(int)
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					      printer().footerlen(5);
 | 
				
			||||||
      _stampa_width = atoi(m.get(F_MODULO));
 | 
					      _stampa_width = atoi(m.get(F_MODULO));
 | 
				
			||||||
      if (_stampa_width == 1) 
 | 
					      if (_stampa_width == 1) 
 | 
				
			||||||
        _stampa_width = 132;
 | 
					        _stampa_width = 132;
 | 
				
			||||||
@ -3418,7 +3670,7 @@ bool CG1500_application::set_print(int)
 | 
				
			|||||||
        else
 | 
					        else
 | 
				
			||||||
          _cur->setfilter("");
 | 
					          _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();
 | 
					        _clienti.destroy();
 | 
				
			||||||
        _fornitori.destroy(); 
 | 
					        _fornitori.destroy(); 
 | 
				
			||||||
 | 
				
			|||||||
@ -2824,52 +2824,54 @@ void TMastrini_application::calcola_progressivi_al()
 | 
				
			|||||||
  real importo;       
 | 
					  real importo;       
 | 
				
			||||||
  TDate data;
 | 
					  TDate data;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
					  _totale_prima_dare  = ZERO;
 | 
				
			||||||
    record = rmov.recno(); 
 | 
					  _totale_prima_avere = ZERO;
 | 
				
			||||||
    rmov.zero();
 | 
					  
 | 
				
			||||||
    rmov.put(RMV_GRUPPO,     _gruppo);
 | 
					  record = rmov.recno(); 
 | 
				
			||||||
    rmov.put(RMV_CONTO,      _conto);
 | 
					  rmov.zero();
 | 
				
			||||||
    rmov.put(RMV_SOTTOCONTO, _sottoc);
 | 
					  rmov.put(RMV_GRUPPO,     _gruppo);
 | 
				
			||||||
    for (rmov.read();!rmov.eof() ;rmov.next())
 | 
					  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); 
 | 
				
			||||||
      datareg     = rmov.get_date(RMV_DATAREG);
 | 
					      data = _inizioes;
 | 
				
			||||||
      sezione     = rmov.get     (RMV_SEZIONE)[0];
 | 
					    }
 | 
				
			||||||
      importo     = rmov.get_real(RMV_IMPORTO);
 | 
					    else
 | 
				
			||||||
      long numreg = rmov.get_long(RMV_NUMREG);
 | 
					      if (_annomsk != 0)
 | 
				
			||||||
 | 
					 | 
				
			||||||
      _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); 
 | 
					        datareg = datacomp;
 | 
				
			||||||
        data = _inizioes;
 | 
					        data = _data_inizioese;
 | 
				
			||||||
      }
 | 
					      }  
 | 
				
			||||||
      else
 | 
					 | 
				
			||||||
        if (_annomsk != 0)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
          datareg = datacomp;
 | 
					 | 
				
			||||||
          data = _data_inizioese;
 | 
					 | 
				
			||||||
        }  
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      gruppo = rmov.get_int(RMV_GRUPPO);
 | 
					    gruppo = rmov.get_int(RMV_GRUPPO);
 | 
				
			||||||
      conto = rmov.get_int(RMV_CONTO);
 | 
					    conto  = rmov.get_int(RMV_CONTO);
 | 
				
			||||||
      sottoc = rmov.get_long(RMV_SOTTOCONTO);
 | 
					    sottoc = rmov.get_long(RMV_SOTTOCONTO);
 | 
				
			||||||
      if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
 | 
					    if ((gruppo != _gruppo)||(conto != _conto)||(sottoc != _sottoc))
 | 
				
			||||||
    break;
 | 
					      break;
 | 
				
			||||||
      else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
 | 
					    else if (((annoes==_annomsk)||(_annomsk == 0))&&(datareg >= data)&&(datareg < _data_ini)) //Legge movimenti con data < data iniziale
 | 
				
			||||||
         if (sezione == 'D')
 | 
					           if (sezione == 'D')
 | 
				
			||||||
           _totale_prima_dare += importo;
 | 
					             _totale_prima_dare += importo;
 | 
				
			||||||
         else if (sezione == 'A')
 | 
					           else if (sezione == 'A')
 | 
				
			||||||
                _totale_prima_avere += importo;
 | 
					                  _totale_prima_avere += importo;
 | 
				
			||||||
    }  
 | 
					  }  
 | 
				
			||||||
    rmov.readat(record);
 | 
					  rmov.readat(record);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void TMastrini_application::calcola_progressivi()
 | 
					void TMastrini_application::calcola_progressivi()
 | 
				
			||||||
 | 
				
			|||||||
@ -1678,8 +1678,9 @@ void TLiquidazione_app::write_liq(int month, const char* codatts)
 | 
				
			|||||||
   * Ulteriormente smentito e rettificato
 | 
					   * Ulteriormente smentito e rettificato
 | 
				
			||||||
   */              
 | 
					   */              
 | 
				
			||||||
  //if (_isintr && month < 13)
 | 
					  //if (_isintr && month < 13)
 | 
				
			||||||
  if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
 | 
					  bool true_trim = (month == 3 || month == 6 || month == 9);
 | 
				
			||||||
      (month != 12 || (_isbenzinaro && _gest4)) )))
 | 
					  if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
 | 
				
			||||||
 | 
					      || (month == 13 && !(_isbenzinaro && _gest4)) ))
 | 
				
			||||||
  {
 | 
					  {
 | 
				
			||||||
    real interesse = interesse_trimestrale(_month);
 | 
					    real interesse = interesse_trimestrale(_month);
 | 
				
			||||||
    real ivi = risultato * (interesse / CENTO); 
 | 
					    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  
 | 
					  //questo serve anche per la visualizzazione e per l'estrazione deleghe  
 | 
				
			||||||
  //if (_isintr && month < 13) 
 | 
					  //if (_isintr && month < 13) 
 | 
				
			||||||
  if ((_isintr && ( (month == 13 && !(_isbenzinaro && _gest4)) ||
 | 
					  if (_isintr && ( true_trim || (month == 12 && _isbenzinaro && _gest4)
 | 
				
			||||||
      (month != 12 || (_isbenzinaro && _gest4)) )))
 | 
					      || (month == 13 && !(_isbenzinaro && _gest4)) ))
 | 
				
			||||||
    _lim->put("R10",interesse_trimestrale(_month));       
 | 
					    _lim->put("R10",interesse_trimestrale(_month));       
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  // totale conguaglio su tutte le attivita'
 | 
					  // 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))
 | 
					  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"))
 | 
					    if (_del->get_bool("B0"))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      d->_s0 = _del->get("S2");  // ufficio iva/concessione
 | 
					      d->_s0 = _del->get("S2");  // ufficio iva/concessione
 | 
				
			||||||
@ -869,7 +870,8 @@ _DescrItem* TLiquidazione_app::describe_deleghe(int month)
 | 
				
			|||||||
      || (_isannual && _freqviva == "T" && !(_isbenzinaro && _gest4)) )
 | 
					      || (_isannual && _freqviva == "T" && !(_isbenzinaro && _gest4)) )
 | 
				
			||||||
    if (look_del(12,7,TRUE))
 | 
					    if (look_del(12,7,TRUE))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      d->_s4 = "ACC";
 | 
					      d->_s4 = "ACC";  
 | 
				
			||||||
 | 
					      d->_f0 = (_del->get("S7").not_empty() || _del->get("S8").not_empty());
 | 
				
			||||||
      TToken_string t;
 | 
					      TToken_string t;
 | 
				
			||||||
      if (_del->get_bool("B0"))
 | 
					      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",
 | 
					            set_row(rw, "Versamento di L. %s effettuato il %s",
 | 
				
			||||||
                    (const char*)vr, 
 | 
					                    (const char*)vr, 
 | 
				
			||||||
                    (const char*)dt); 
 | 
					                    (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++, "@68gdiretto all'ufficio IVA di %s", (const char*)loc);
 | 
				
			||||||
              set_row(rw++, "@68gtramite %s", (const char*)ban);
 | 
					              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",
 | 
					        set_row(rw, "Versamento di L. %s effettuato il %s",
 | 
				
			||||||
                (const char*)vr, 
 | 
					                (const char*)vr, 
 | 
				
			||||||
                (const char*)dt);   
 | 
					                (const char*)dt);   
 | 
				
			||||||
        if ((di._s2).not_empty() || (di._s3).not_empty())
 | 
					        if (di._f0)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          set_row(rw++, "@68gdiretto all'ufficio IVA di %s", 
 | 
					          set_row(rw++, "@68gdiretto all'ufficio IVA di %s", 
 | 
				
			||||||
                  (const char*)(di._s0));
 | 
					                  (const char*)(di._s0));
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										384
									
								
								cg/cg4600.cpp
									
									
									
									
									
								
							
							
						
						
									
										384
									
								
								cg/cg4600.cpp
									
									
									
									
									
								
							@ -58,9 +58,11 @@ public:
 | 
				
			|||||||
  void costi ();
 | 
					  void costi ();
 | 
				
			||||||
  void ricavi();
 | 
					  void ricavi();
 | 
				
			||||||
  void chiudi_attivita();
 | 
					  void chiudi_attivita();
 | 
				
			||||||
  void chiudi_passivita();                                              
 | 
					  void chiudi_passivita();
 | 
				
			||||||
 | 
					  void chiudi_conti_ordine();                                              
 | 
				
			||||||
  void apri_attivita();
 | 
					  void apri_attivita();
 | 
				
			||||||
  void apri_passivita();  
 | 
					  void apri_passivita();     
 | 
				
			||||||
 | 
					  void apri_conti_ordine();
 | 
				
			||||||
  void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
 | 
					  void rmov_proper (int, long, TDate&, TRectype&, TConto&, real&, bool);
 | 
				
			||||||
  void ultima_registrazione();
 | 
					  void ultima_registrazione();
 | 
				
			||||||
  void compila_testata(int,TDate&,TString&);
 | 
					  void compila_testata(int,TDate&,TString&);
 | 
				
			||||||
@ -563,7 +565,7 @@ bool CG4600_application::set()
 | 
				
			|||||||
    _tcutile.set (gutile,cutile,sutile);
 | 
					    _tcutile.set (gutile,cutile,sutile);
 | 
				
			||||||
    _tcperde.set (gperde,cperde,sperde);
 | 
					    _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);
 | 
					    _prog  = new TProgind(cicli,"Chiusura/Apertura conti in corso... Prego attendere",FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //ultima_registrazione();
 | 
					    //ultima_registrazione();
 | 
				
			||||||
@ -576,13 +578,13 @@ bool CG4600_application::set()
 | 
				
			|||||||
    _sld->set_anno_es(_annoesch);
 | 
					    _sld->set_anno_es(_annoesch);
 | 
				
			||||||
    _sld->set_movprovv(FALSE);
 | 
					    _sld->set_movprovv(FALSE);
 | 
				
			||||||
    _sld->set_movap(FALSE);
 | 
					    _sld->set_movap(FALSE);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    costi ();
 | 
					    costi ();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //_sld->reset();        //Azzera la tabella dei conti dell'oggetto TSaldo_agg
 | 
					    //_sld->reset();        //Azzera la tabella dei conti dell'oggetto TSaldo_agg
 | 
				
			||||||
    //ultima_registrazione();
 | 
					    //ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    *_cur = 0l;
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ricavi();
 | 
					    ricavi();
 | 
				
			||||||
@ -593,33 +595,44 @@ bool CG4600_application::set()
 | 
				
			|||||||
    //_sld->reset();
 | 
					    //_sld->reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //ultima_registrazione();
 | 
					    //ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    *_cur = 0l;
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    chiudi_attivita();
 | 
					    chiudi_attivita();
 | 
				
			||||||
    //_sld->reset();
 | 
					    //_sld->reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //ultima_registrazione();
 | 
					    //ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    *_cur = 0l;
 | 
					    *_cur = 0l;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    chiudi_passivita();
 | 
					    chiudi_passivita();
 | 
				
			||||||
    //_sld->reset();
 | 
					    //_sld->reset();   
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    chiudi_conti_ordine();
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    chiusura_conto_patrimoniale();
 | 
					    chiusura_conto_patrimoniale();
 | 
				
			||||||
    _totale_saldo = ZERO;
 | 
					    _totale_saldo = ZERO;
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
    _sld->set_anno_es(_annoesap);
 | 
					    _sld->set_anno_es(_annoesap);
 | 
				
			||||||
    _sld->set_movap(TRUE);    
 | 
					    _sld->set_movap(TRUE);    
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    *_cur = 0l;
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    apri_attivita();
 | 
					    apri_attivita();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
    *_cur = 0l;
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    apri_passivita();
 | 
					    apri_passivita();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
 | 
					//    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
 | 
					    *_cur = 0l;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    apri_conti_ordine();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    apertura_capitale_netto();
 | 
					    apertura_capitale_netto();
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    _sld->registra();
 | 
					    _sld->registra();
 | 
				
			||||||
@ -774,7 +787,7 @@ void CG4600_application::costi()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
					            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;
 | 
					          numrig = 1;
 | 
				
			||||||
@ -834,7 +847,7 @@ void CG4600_application::costi()
 | 
				
			|||||||
        _pn->write();
 | 
					        _pn->write();
 | 
				
			||||||
        //_sld->registra();
 | 
					        //_sld->registra();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                          // if (indbil == 3)                   
 | 
					    }                          // if (indbil == 3)                   
 | 
				
			||||||
  }                            // for pcon
 | 
					  }                            // for pcon
 | 
				
			||||||
@ -926,7 +939,7 @@ void CG4600_application::ricavi()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
					            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcproper,tot_saldo,FALSE);
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;        
 | 
					          numrig = 1;        
 | 
				
			||||||
@ -986,7 +999,7 @@ void CG4600_application::ricavi()
 | 
				
			|||||||
        _pn->write();
 | 
					        _pn->write();
 | 
				
			||||||
        //_sld->registra();
 | 
					        //_sld->registra();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                        // if (indbil == 4)                   
 | 
					    }                        // if (indbil == 4)                   
 | 
				
			||||||
  }                          // for pcon
 | 
					  }                          // for pcon
 | 
				
			||||||
@ -1015,7 +1028,8 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
    TRectype& rmov2 = _pn->cg(j);
 | 
					    TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
 | 
					    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperde,_totale_saldo,FALSE);
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    _pn->write();
 | 
					    _pn->write();          
 | 
				
			||||||
 | 
					    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
				
			||||||
    //_sld->registra();
 | 
					    //_sld->registra();
 | 
				
			||||||
    //_sld->reset();
 | 
					    //_sld->reset();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1024,7 +1038,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    j = 0;
 | 
					    j = 0;
 | 
				
			||||||
    ultima_registrazione();
 | 
					    ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    compila_testata(_annoesch,_dataregch,_codcausch);  //Reg. 4 Chiusura Capitale netto
 | 
					    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);
 | 
					    rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcperdp,_totale_saldo,FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _pn->write();
 | 
					    _pn->write();
 | 
				
			||||||
 | 
					    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    if (_totale_saldo < ZERO)
 | 
					    if (_totale_saldo < ZERO)
 | 
				
			||||||
@ -1048,7 +1062,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      j = 0;
 | 
					      j = 0;
 | 
				
			||||||
      ultima_registrazione();
 | 
					      ultima_registrazione();
 | 
				
			||||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
      compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 3 Chiusura Conto Economico
 | 
					      compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 3 Chiusura Conto Economico
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      TRectype& rmov1 = _pn->cg(j);
 | 
					      TRectype& rmov1 = _pn->cg(j);
 | 
				
			||||||
@ -1059,7 +1072,8 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
      TRectype& rmov2 = _pn->cg(j);
 | 
					      TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
      rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
 | 
					      rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcproper,_totale_saldo,TRUE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      _pn ->write();
 | 
					      _pn ->write();         
 | 
				
			||||||
 | 
					      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
				
			||||||
      //_sld->registra();
 | 
					      //_sld->registra();
 | 
				
			||||||
      //_sld->reset();
 | 
					      //_sld->reset();
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
@ -1068,7 +1082,6 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      j = 0;
 | 
					      j = 0;
 | 
				
			||||||
      ultima_registrazione();
 | 
					      ultima_registrazione();
 | 
				
			||||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
      compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 4 Chiusura Capitale netto
 | 
					      compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 4 Chiusura Capitale netto
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      TRectype& rmov3 = _pn->cg(j);
 | 
					      TRectype& rmov3 = _pn->cg(j);
 | 
				
			||||||
@ -1079,7 +1092,8 @@ void CG4600_application::chiusura_conto_economico()
 | 
				
			|||||||
      TRectype& rmov4 = _pn->cg(j);
 | 
					      TRectype& rmov4 = _pn->cg(j);
 | 
				
			||||||
      rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
 | 
					      rmov_proper(_annoesch,numrig,_dataregch,rmov4,_tcutile,_totale_saldo,TRUE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      _pn ->write();
 | 
					      _pn ->write();         
 | 
				
			||||||
 | 
					      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1172,7 +1186,7 @@ void CG4600_application::chiudi_attivita()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
					            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;      
 | 
					          numrig = 1;      
 | 
				
			||||||
@ -1234,7 +1248,7 @@ void CG4600_application::chiudi_attivita()
 | 
				
			|||||||
        //_sld->registra();
 | 
					        //_sld->registra();
 | 
				
			||||||
        //_sld->reset();
 | 
					        //_sld->reset();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                        // if (indbil == 1)                   
 | 
					    }                        // if (indbil == 1)                   
 | 
				
			||||||
  }                          // for pcon
 | 
					  }                          // for pcon
 | 
				
			||||||
@ -1324,7 +1338,7 @@ void CG4600_application::chiudi_passivita()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
					            rmov_proper (_annoesch,numrig,_dataregch,_pn->cg(j),_tcbilch,tot_saldo,FALSE); //Chiusura  
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;      
 | 
					          numrig = 1;      
 | 
				
			||||||
@ -1386,12 +1400,162 @@ void CG4600_application::chiudi_passivita()
 | 
				
			|||||||
        //_sld->registra();
 | 
					        //_sld->registra();
 | 
				
			||||||
        //_sld->reset();
 | 
					        //_sld->reset();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);
 | 
					        _pn->destroy_rows(_numreg);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                        // if (indbil == 2)                   
 | 
					    }                        // if (indbil == 2)                   
 | 
				
			||||||
  }                          // for pcon                
 | 
					  }                          // 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()
 | 
					void CG4600_application::chiusura_conto_patrimoniale()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  int  j;
 | 
					  int  j;
 | 
				
			||||||
@ -1404,7 +1568,6 @@ void CG4600_application::chiusura_conto_patrimoniale()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    j = 0;
 | 
					    j = 0;
 | 
				
			||||||
    ultima_registrazione();
 | 
					    ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
    compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 7 Chiusura Conto Patrimoniale
 | 
					    compila_testata(_annoesch,_dataregch,_codcausch);   //Reg. 7 Chiusura Conto Patrimoniale
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    TRectype& rmov1 = _pn->cg(j);
 | 
					    TRectype& rmov1 = _pn->cg(j);
 | 
				
			||||||
@ -1415,7 +1578,8 @@ void CG4600_application::chiusura_conto_patrimoniale()
 | 
				
			|||||||
    TRectype& rmov2 = _pn->cg(j);
 | 
					    TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
 | 
					    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcbilch,_totale_saldo,TRUE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _pn->write();
 | 
					    _pn->write();          
 | 
				
			||||||
 | 
					    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
				
			||||||
    //_sld->registra();
 | 
					    //_sld->registra();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
@ -1427,7 +1591,6 @@ else
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    j = 0;
 | 
					    j = 0;
 | 
				
			||||||
    ultima_registrazione();
 | 
					    ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
    compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 7 Chiusura Conto Patrimoniale
 | 
					    compila_testata(_annoesch,_dataregch,_codcausch);    //Reg. 7 Chiusura Conto Patrimoniale
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
    TRectype& rmov1 = _pn->cg(j);
 | 
					    TRectype& rmov1 = _pn->cg(j);
 | 
				
			||||||
@ -1438,7 +1601,8 @@ else
 | 
				
			|||||||
    TRectype& rmov2 = _pn->cg(j);
 | 
					    TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
 | 
					    rmov_proper(_annoesch,numrig,_dataregch,rmov2,_tcperdp,_totale_saldo,FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _pn ->write();
 | 
					    _pn ->write();         
 | 
				
			||||||
 | 
					    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
				
			||||||
    //_sld->registra();
 | 
					    //_sld->registra();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -1525,7 +1689,7 @@ void CG4600_application::apri_attivita()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura  
 | 
					            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Chiusura  
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;      
 | 
					          numrig = 1;      
 | 
				
			||||||
@ -1583,7 +1747,7 @@ void CG4600_application::apri_attivita()
 | 
				
			|||||||
      {
 | 
					      {
 | 
				
			||||||
        _pn->write();
 | 
					        _pn->write();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					        _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                        // if (indbil == 1)                   
 | 
					    }                        // if (indbil == 1)                   
 | 
				
			||||||
  }                          // for pcon
 | 
					  }                          // for pcon
 | 
				
			||||||
@ -1671,7 +1835,7 @@ void CG4600_application::apri_passivita()
 | 
				
			|||||||
          if (tot_saldo != ZERO)
 | 
					          if (tot_saldo != ZERO)
 | 
				
			||||||
            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura  
 | 
					            rmov_proper (_annoesap,numrig,_dataregap,_pn->cg(j),_tcbilap,tot_saldo,TRUE); //Apertura  
 | 
				
			||||||
          _pn->write();
 | 
					          _pn->write();
 | 
				
			||||||
          _pn->destroy_rows(0);  //Azzero l'oggetto pn.
 | 
					          _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
          j      = 0;
 | 
					          j      = 0;
 | 
				
			||||||
          numrig = 1;
 | 
					          numrig = 1;
 | 
				
			||||||
@ -1729,12 +1893,158 @@ void CG4600_application::apri_passivita()
 | 
				
			|||||||
      {
 | 
					      {
 | 
				
			||||||
        _pn->write();
 | 
					        _pn->write();
 | 
				
			||||||
        j = 0;
 | 
					        j = 0;
 | 
				
			||||||
        _pn->destroy_rows(0);
 | 
					        _pn->destroy_rows(_numreg);
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }                        // if (indbil == 2)                   
 | 
					    }                        // if (indbil == 2)                   
 | 
				
			||||||
  }                          // for pcon
 | 
					  }                          // 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()
 | 
					void CG4600_application::apertura_capitale_netto()
 | 
				
			||||||
{ 
 | 
					{ 
 | 
				
			||||||
  int numrig;
 | 
					  int numrig;
 | 
				
			||||||
@ -1746,7 +2056,6 @@ void CG4600_application::apertura_capitale_netto()
 | 
				
			|||||||
    
 | 
					    
 | 
				
			||||||
    int j = 0;
 | 
					    int j = 0;
 | 
				
			||||||
    ultima_registrazione();
 | 
					    ultima_registrazione();
 | 
				
			||||||
    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
					    compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
@ -1758,7 +2067,8 @@ void CG4600_application::apertura_capitale_netto()
 | 
				
			|||||||
    TRectype& rmov2 = _pn->cg(j);
 | 
					    TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
    rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE);
 | 
					    rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcperdp,_capitale_netto,FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    _pn->write();
 | 
					    _pn->write();          
 | 
				
			||||||
 | 
					    _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.    
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  else
 | 
					  else
 | 
				
			||||||
    if (_capitale_netto < ZERO)
 | 
					    if (_capitale_netto < ZERO)
 | 
				
			||||||
@ -1768,7 +2078,6 @@ void CG4600_application::apertura_capitale_netto()
 | 
				
			|||||||
      
 | 
					      
 | 
				
			||||||
      int j = 0;
 | 
					      int j = 0;
 | 
				
			||||||
      ultima_registrazione();
 | 
					      ultima_registrazione();
 | 
				
			||||||
      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
					      compila_testata(_annoesap,_dataregap,_codcausap);  //Reg. 10 Apertura Capitale netto
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
@ -1780,7 +2089,8 @@ void CG4600_application::apertura_capitale_netto()
 | 
				
			|||||||
      TRectype& rmov2 = _pn->cg(j);
 | 
					      TRectype& rmov2 = _pn->cg(j);
 | 
				
			||||||
      rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE);
 | 
					      rmov_proper(_annoesap,numrig,_dataregap,rmov2,_tcutilp,_capitale_netto,FALSE);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      _pn->write();
 | 
					      _pn->write();          
 | 
				
			||||||
 | 
					      _pn->destroy_rows(_numreg);  //Azzero l'oggetto pn.      
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@
 | 
				
			|||||||
#include "classpim.h"
 | 
					#include "classpim.h"
 | 
				
			||||||
#include <stdlib.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;     
 | 
					  static int last_checked = -1;     
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
@ -38,8 +38,16 @@ bool classify_pim(TRectype& pimr, real& imp, real& iva, tiporec& t)
 | 
				
			|||||||
                                tipodet == 5 || tipodet == 9 */);
 | 
					                                tipodet == 5 || tipodet == 9 */);
 | 
				
			||||||
      if (found)
 | 
					      if (found)
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        imp = pimr.get_real("R0") /* - pimr.get_real("R9")  */;   // comprese BD!
 | 
					        if (tipost) //stampa
 | 
				
			||||||
        iva = pimr.get_real("R1") /* - pimr.get_real("R10") */;   // yuk yuk!
 | 
					        {
 | 
				
			||||||
 | 
					         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;
 | 
					      break;
 | 
				
			||||||
    case vend_norm:  
 | 
					    case vend_norm:  
 | 
				
			||||||
 | 
				
			|||||||
@ -81,6 +81,6 @@ const int MAX_TIPOREC = 18;
 | 
				
			|||||||
// CONTENTA?                                       ciao, f. :)
 | 
					// 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                 
 | 
					#endif                 
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user