Milgiore gestione indirizzi anagrafiche per fe e pa
git-svn-id: svn://10.65.10.50/branches/R_10_00@22979 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									811f84501b
								
							
						
					
					
						commit
						f7b3d60860
					
				@ -1,4 +1,4 @@
 | 
			
		||||
// gestione tabelle di modulo contabilità
 | 
			
		||||
// gestione tabelle di modulo FE
 | 
			
		||||
 | 
			
		||||
#include <automask.h>
 | 
			
		||||
#include <modtbapp.h>
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										38
									
								
								fe/felib.cpp
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								fe/felib.cpp
									
									
									
									
									
								
							@ -170,18 +170,30 @@ const TString& TAnagrafica::provincia_residenza() const
 | 
			
		||||
 | 
			
		||||
void TAnagrafica::build_ind_res(const TRectype& rec, const char* ind, const char* civ)
 | 
			
		||||
{
 | 
			
		||||
  TString80 indirizzo = rec.get(ind);
 | 
			
		||||
  if (indirizzo.full())
 | 
			
		||||
  _via_res = _ind_res = rec.get(ind);
 | 
			
		||||
  _civ_res = rec.get(civ);
 | 
			
		||||
 | 
			
		||||
  if (_civ_res.blank())
 | 
			
		||||
  {
 | 
			
		||||
    const TString& numero = rec.get(civ);
 | 
			
		||||
    if (numero.full())
 | 
			
		||||
      indirizzo << ", " << numero;
 | 
			
		||||
    indirizzo.strip_double_spaces();
 | 
			
		||||
    TParagraph_string s(indirizzo, 40);
 | 
			
		||||
    _ind_res = s.get(0);
 | 
			
		||||
    const int comma = _via_res.rfind(',');
 | 
			
		||||
    if (comma > 0 && _via_res.len()-comma <= 8)
 | 
			
		||||
    {
 | 
			
		||||
      _civ_res = _via_res.mid(comma+1); _civ_res.trim();
 | 
			
		||||
      _via_res.cut(comma); _via_res.trim();
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Sistema persone senza stato ma con comune estero
 | 
			
		||||
  if (_via_res.full())
 | 
			
		||||
  {
 | 
			
		||||
    TString80 ind = _via_res;
 | 
			
		||||
    if (_civ_res.full())
 | 
			
		||||
      ind << ", " << _civ_res;
 | 
			
		||||
    ind.strip_double_spaces();
 | 
			
		||||
    TParagraph_string s(ind, 40);
 | 
			
		||||
    _ind_res = s.get(0); // prende solo i primi 40 caratteri dell'indirizzo completo
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Sistema persone senza codice stato, ma residenti in comune estero
 | 
			
		||||
  if (_stato_estero <= 0 && is_stato_estero(_com_res))
 | 
			
		||||
  {
 | 
			
		||||
    const TString80 naz = comune_di(_com_res, 0);
 | 
			
		||||
@ -304,6 +316,7 @@ bool TAnagrafica::init(const TRectype& rec)
 | 
			
		||||
    _stato_estero = rec.get_int(OCC_STATO);
 | 
			
		||||
    _com_res = rec.get(OCC_COM);
 | 
			
		||||
    _loc_res = rec.get(OCC_LOCALITA);
 | 
			
		||||
    _cap_res = rec.get(OCC_CAP);
 | 
			
		||||
    build_ind_res(rec, OCC_INDIR, OCC_CIV); 
 | 
			
		||||
    if (_com_nasc.full() || (!_stato_estero && !real::is_natural(_cofi) || cf_check("", _cofi)))
 | 
			
		||||
      _tipo = 'F';
 | 
			
		||||
@ -323,6 +336,7 @@ bool TAnagrafica::init(const TRectype& rec)
 | 
			
		||||
    if (_com_res.empty())
 | 
			
		||||
      _com_res = rec.get(ANA_COMRES);
 | 
			
		||||
    build_ind_res(rec, ANA_INDRES, ANA_CIVRES); 
 | 
			
		||||
    _cap_res = rec.get(ANA_CAPRES);
 | 
			
		||||
    
 | 
			
		||||
    // Dati di nascita persone fisiche
 | 
			
		||||
    if (_tipo == 'F')
 | 
			
		||||
@ -371,10 +385,6 @@ bool TAnagrafica::init(const TRectype& rec)
 | 
			
		||||
      {
 | 
			
		||||
        _data_nasc = rec.get(CLI_DATANASC);
 | 
			
		||||
        _tipo = 'F';
 | 
			
		||||
#ifdef DBG
 | 
			
		||||
        if (rec.get(CLI_RAGSOC).starts_with("ACAR"))
 | 
			
		||||
          int cazzone_estero = 1;
 | 
			
		||||
#endif
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (_com_nasc.blank())
 | 
			
		||||
@ -430,7 +440,7 @@ bool TAnagrafica::init(const TRectype& rec)
 | 
			
		||||
    // Prevale sempre la ragione sociale del cliente: "Il cliente ha sempre ragione".
 | 
			
		||||
    _ragsoc = rec.get(CLI_RAGSOC); 
 | 
			
		||||
    _loc_res = rec.get(CLI_LOCCF);
 | 
			
		||||
 | 
			
		||||
    _cap_res = rec.get(CLI_CAPCF);
 | 
			
		||||
    _stato_estero = rec.get_int(CLI_STATOCF);
 | 
			
		||||
    if (_stato_estero <= 0 && (_allegato == 5 || _allegato == 9)) // Estero CEE o extra-CEE
 | 
			
		||||
      _stato_estero = -1; // Stato estero ignoto
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,8 @@ class TAnagrafica : public TObject
 | 
			
		||||
  TString16 _cofi, _paiv;
 | 
			
		||||
  TString80 _ragsoc;
 | 
			
		||||
  TString4 _com_nasc, _com_res;
 | 
			
		||||
  TString80 _loc_res, _ind_res;
 | 
			
		||||
  TString80 _loc_res, _ind_res, _via_res;
 | 
			
		||||
  TString16 _civ_res, _cap_res;
 | 
			
		||||
  TDate _data_nasc;
 | 
			
		||||
  int _allegato, _stato_estero, _stato_nasc;
 | 
			
		||||
 | 
			
		||||
@ -55,6 +56,9 @@ public:
 | 
			
		||||
  const TString& provincia_residenza() const;
 | 
			
		||||
  const TString& localita_residenza() const { return _loc_res; }
 | 
			
		||||
  const TString& indirizzo_residenza() const { return _ind_res; }
 | 
			
		||||
  const TString& via_residenza() const { return _via_res; }
 | 
			
		||||
  const TString& civico_residenza() const { return _civ_res; }
 | 
			
		||||
  const TString& CAP_residenza() const { return _cap_res; }
 | 
			
		||||
 | 
			
		||||
  bool init(const TRectype& rec);
 | 
			
		||||
  bool init(int num, const TString& codice);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user