Corretta gestione tipo anagrafiche in invio SISPAC
git-svn-id: svn://10.65.10.50/branches/R_10_00@22860 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
		
							parent
							
								
									a11eef1282
								
							
						
					
					
						commit
						5a65876e44
					
				@ -769,6 +769,7 @@ protected:
 | 
			
		||||
	bool scod2rc(const TString& cod);
 | 
			
		||||
	const long cod2ricl(const char* tab, const TString& cod);
 | 
			
		||||
  const char* get_tipo_anag(const TRecordset& input) const;
 | 
			
		||||
  const char* get_tipo_anag2(const TRecordset& input) const;
 | 
			
		||||
 | 
			
		||||
public:
 | 
			
		||||
	TConfig& config() {return *_configfile;};
 | 
			
		||||
@ -866,7 +867,7 @@ const char* TInvioSispac::get_tipo_anag(const TRecordset& input) const
 | 
			
		||||
  const char pi = input.get(CLI_PAIV).as_string()[0];
 | 
			
		||||
 | 
			
		||||
  if (isalpha(cf))
 | 
			
		||||
    var = isdigit(pi) ? "D" : "F";
 | 
			
		||||
    var = isdigit(pi) ? "D" : "P";
 | 
			
		||||
  else
 | 
			
		||||
  {
 | 
			
		||||
    if (isdigit(cf))
 | 
			
		||||
@ -878,6 +879,13 @@ const char* TInvioSispac::get_tipo_anag(const TRecordset& input) const
 | 
			
		||||
  return var;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const char* TInvioSispac::get_tipo_anag2(const TRecordset& input) const
 | 
			
		||||
{
 | 
			
		||||
  const char ta = *get_tipo_anag(input);
 | 
			
		||||
  return ta == 'F' ? "2" : "";
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
void TInvioSispac::sispac_cli()
 | 
			
		||||
{
 | 
			
		||||
	TClisisp_set recset;
 | 
			
		||||
@ -1034,11 +1042,11 @@ void TInvioSispac::sispac_reverse_movim(long numreg, TMovim_set & recset, long f
 | 
			
		||||
			continue;
 | 
			
		||||
		recset.new_rec();
 | 
			
		||||
		var = cofi;
 | 
			
		||||
		recset.set("COFI", var);
 | 
			
		||||
		recset.set(CLI_COFI, var);  
 | 
			
		||||
		var = paiv;
 | 
			
		||||
		recset.set("PAIV", var);
 | 
			
		||||
		recset.set(CLI_PAIV, var);
 | 
			
		||||
		var = ragsoc;
 | 
			
		||||
		recset.set("RAGSOC", var);
 | 
			
		||||
		recset.set(CLI_RAGSOC, var);
 | 
			
		||||
		var = esiva;
 | 
			
		||||
		recset.set("ESIVA", var);
 | 
			
		||||
		var = annoes;
 | 
			
		||||
@ -1110,26 +1118,15 @@ void TInvioSispac::sispac_reverse_movim(long numreg, TMovim_set & recset, long f
 | 
			
		||||
		var = importo.string(13, 0, '0');
 | 
			
		||||
		recset.set("IMPORTO", var);
 | 
			
		||||
		const bool dare = input.get(RMV_SEZIONE).as_string() == "D";
 | 
			
		||||
		const char * s = dare ? "A" : "D";
 | 
			
		||||
		
 | 
			
		||||
		recset.set("SGNCONTIMP",  s);
 | 
			
		||||
		const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date());
 | 
			
		||||
		var = dare ? "A" : "D";
 | 
			
		||||
		recset.set("SGNCONTIMP",  var);
 | 
			
		||||
 | 
			
		||||
    const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date());
 | 
			
		||||
		var = datadoc.string(brief, '\0', full, full, amg_date);
 | 
			
		||||
		recset.set("DATADOC", var);
 | 
			
		||||
		recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int());
 | 
			
		||||
 | 
			
		||||
		const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int();
 | 
			
		||||
 | 
			
		||||
		var = "";
 | 
			
		||||
		if (codcf > 0L)
 | 
			
		||||
		{
 | 
			
		||||
			key = "C" ; key << "|" << codcf;
 | 
			
		||||
			const TRectype & clifo = cache().get(LF_CLIFO, key);
 | 
			
		||||
			const int cflen = clifo.get(CLI_COFI).len();
 | 
			
		||||
 | 
			
		||||
			if (cflen  > 11)
 | 
			
		||||
				var = "2";
 | 
			
		||||
		}
 | 
			
		||||
		var = get_tipo_anag2(recset);
 | 
			
		||||
		recset.set("TIPOANAG", var);
 | 
			
		||||
		recset.set("FINEREC", "\r\n");
 | 
			
		||||
  }	
 | 
			
		||||
@ -1165,11 +1162,11 @@ void TInvioSispac::sispac_reverse_giro(long numreg, TMovim_set & recset, long fi
 | 
			
		||||
 | 
			
		||||
		recset.new_rec();
 | 
			
		||||
		var = cofi;
 | 
			
		||||
		recset.set("COFI", var);
 | 
			
		||||
		recset.set(CLI_COFI, var);
 | 
			
		||||
		var = paiv;
 | 
			
		||||
		recset.set("PAIV", var);
 | 
			
		||||
		recset.set(CLI_PAIV, var);
 | 
			
		||||
		var = ragsoc;
 | 
			
		||||
		recset.set("RAGSOC", var);
 | 
			
		||||
		recset.set(CLI_RAGSOC, var);
 | 
			
		||||
		var = esiva;
 | 
			
		||||
		recset.set("ESIVA", var);
 | 
			
		||||
		var = annoes;
 | 
			
		||||
@ -1253,20 +1250,10 @@ void TInvioSispac::sispac_reverse_giro(long numreg, TMovim_set & recset, long fi
 | 
			
		||||
		recset.set("DATADOC", var);
 | 
			
		||||
		recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int());
 | 
			
		||||
 | 
			
		||||
		const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int();
 | 
			
		||||
 | 
			
		||||
		var = "";
 | 
			
		||||
		if (codcf > 0L)
 | 
			
		||||
		{
 | 
			
		||||
			key = "F" ; key << "|" << codcf;
 | 
			
		||||
			const TRectype & clifo = cache().get(LF_CLIFO, key);
 | 
			
		||||
			const int cflen = clifo.get(CLI_COFI).len();
 | 
			
		||||
 | 
			
		||||
			if (cflen  > 11)
 | 
			
		||||
				var = "2";
 | 
			
		||||
		}
 | 
			
		||||
    var = get_tipo_anag2(recset);
 | 
			
		||||
		recset.set("TIPOANAG", var);
 | 
			
		||||
		recset.set("FINEREC", "\r\n");
 | 
			
		||||
 | 
			
		||||
    recset.set("FINEREC", "\r\n");
 | 
			
		||||
  }	
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1411,11 +1398,11 @@ void TInvioSispac::sispac_movim()
 | 
			
		||||
		}
 | 
			
		||||
		recset.new_rec();
 | 
			
		||||
		var = cofi;
 | 
			
		||||
		recset.set("COFI", var);
 | 
			
		||||
		recset.set(CLI_COFI, var);
 | 
			
		||||
		var = paiv;
 | 
			
		||||
		recset.set("PAIV", var);
 | 
			
		||||
		recset.set(CLI_PAIV, var);
 | 
			
		||||
		var = ragsoc;
 | 
			
		||||
		recset.set("RAGSOC", var);
 | 
			
		||||
		recset.set(CLI_RAGSOC, var);
 | 
			
		||||
		var = esiva;
 | 
			
		||||
		recset.set("ESIVA", var);
 | 
			
		||||
		var = annoes;
 | 
			
		||||
@ -1523,19 +1510,7 @@ void TInvioSispac::sispac_movim()
 | 
			
		||||
		recset.set("DATADOC", var);
 | 
			
		||||
		recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int());
 | 
			
		||||
 | 
			
		||||
		const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int();
 | 
			
		||||
 | 
			
		||||
		var = "";
 | 
			
		||||
		if (codcf > 0L)
 | 
			
		||||
		{
 | 
			
		||||
			key = tipomov == "A" ? "F" : "C" ; key << "|" << codcf;
 | 
			
		||||
			const TRectype & clifo = cache().get(LF_CLIFO, key);
 | 
			
		||||
			const int cflen = clifo.get(CLI_COFI).len();
 | 
			
		||||
 | 
			
		||||
			if (cflen  > 11)
 | 
			
		||||
				var = "2";
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		var = get_tipo_anag2(recset);
 | 
			
		||||
		recset.set("TIPOANAG", var);
 | 
			
		||||
		recset.set("FINEREC", "\r\n");
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user