Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Poder: 21
newtron Va camino a la fama
Confirmado.

A partir del día 1 de febrero de 2016 todos los archivos tienen que ir en formato XML.

Saludos y a currar.
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 01-04-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
Confirmado.
A partir del día 1 de febrero de 2016 todos los archivos tienen que ir en formato XML.
Saludos y a currar.
Un avance espectacular, después de tantos años ya era hora de pasar del formato texto al formato... texto recargado
Podían haber cambiado, en todo caso, a un simple fichero .INI que sería más cómodo y claro para leerlo y escribirlo.
Responder Con Cita
  #3  
Antiguo 02-04-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.473
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Un avance espectacular, después de tantos años ya era hora de pasar del formato texto al formato... texto recargado
Podían haber cambiado, en todo caso, a un simple fichero .INI que sería más cómodo y claro para leerlo y escribirlo.
El caso es no parar de dar por el c... pero bueno, estas cosillas vienen bien, así se hace limpieza de programas en el mercado y algún bocado daremos.
__________________
Be water my friend.
Responder Con Cita
  #4  
Antiguo 02-04-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por newtron Ver Mensaje
El caso es no parar de dar por el c... pero bueno, estas cosillas vienen bien, así se hace limpieza de programas en el mercado y algún bocado daremos.
Está clara mi poca visión comercial
Responder Con Cita
  #5  
Antiguo 02-04-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 51
Poder: 11
ramherfer Va por buen camino
Cita:
Empezado por newtron Ver Mensaje
Confirmado.

A partir del día 1 de febrero de 2016 todos los archivos tienen que ir en formato XML.

Saludos y a currar.
Gracias Newtron por confirmar tan rotundamente, esa rareza mía que algunos tenían solucionado desde el 2014 y que parecía que estaba loco y que yo había llegado tarde (que trato recibido por algunos miembros de este foro -que desagradable-).
Por cierto ya lo tengo solucionado, de una forma muy, muy sencilla y bastante rápida siguiendo las "amables, sabias y rodadas instrucciones de Nasca", era tan solo lo que buscaba con mi pregunta, ahora como bien apuntas a recoger dividendos
El formato ha sido validado por varias entidades bancarias sin ningún problema, así que seguro que no haré tarde!!.
Responder Con Cita
  #6  
Antiguo 27-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Buenas noches,

siento reabrir este hilo pero el tema es realmente interesante y necesario a medida que pasa el tiempo y se acerca la fecha...

Me he puesto manos a la obra basándome en vuestros comentarios, muy útiles por cierto, y pese a mis pobres conocimientos he conseguido crear un archivo .xml y empezar a meter lineas en él.

Me queda mucha tarea por delante pero hay algo que no quiero pasar por alto antes de que se enrede todo demasiado.

Veo que hay caracteres que no soporta la norma SEPA y habláis de una función para limpiarlos y codificar lo necesario.

¿Os importaría indicar el código de esa función o indicarme como tengo que hacerlo?

Según entiendo hay que cambiar las "ñ" por "n" y cosas de esas pero por ejemplo los acentos ¿Que se hace con ellos?

Muchas Gracias por vuestro aporte e interés
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #7  
Antiguo 27-04-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
En la documentación de la norma lo explica. Deberías descargarla y leerla antes de hacer cualquier cosa.
Responder Con Cita
  #8  
Antiguo 27-04-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
Tampoco tiene mucho misterio. Los caracteres válidos son estos:

Cita:
TABLA DE CODIFICACIÓN DE CARACTERES DEL ESTÁNDAR UNIFI (ISO20022)
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r S t u v w x y z
0 1 2 3 4 5 6 7 8 9 / - ? : ( ) . , ‘ + espacio
Se pueden sustituir caracteres acentuados para no hacer cagadas con algo como:
Código Delphi [-]
texto := StringReplace(texto,'Ö','O',[rfReplaceAll]);


Y esta función u otra similar te resuelve el resto:

Código Delphi [-]
      for i := 1 to Length(texto) do
          begin
            if not(Ord(texto[i]) in [65..90,97..122,48..57,47,45,63,58,40,41,46,44,39,43,32]) then
               texto[i] := '¤'
          end;

      texto := StringReplace(texto,'¤','',[rfReplaceAll, rfIgnoreCase]);

Suerte.
Responder Con Cita
  #9  
Antiguo 28-04-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 51
Poder: 11
ramherfer Va por buen camino
Hola Delphitest, yo básicamente he utilizado esta función y por el momento no me ha dado ningún problema:

Código Delphi [-]
 
  Function LimpiarCarNormaSEPAXML(texto: String; longitud: Integer): String;
  begin
    Result := Utf8Encode(Trim(Copy(texto, 1, longitud)));
  end;

El fichero resutlante ha sido testeado en entidades financieras, sin mayor problema. La función que indica nasca también es una opción, yo particularmente la voy a probar también.
Espero te sirva de ayuda.
Un saludo
Responder Con Cita
  #10  
Antiguo 28-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 18
Delphitest Va por buen camino
Muchas gracias por el empujoncillo

En base a lo que comentais he hecho esta función:

Código Delphi [-]
Function TForm1.LimpiarCarNormaSEPAXML(texto: String; longitud: Integer): String;
var i : integer;
begin
// Quitar los acentos de las vocales y caracteres raros
texto := StringReplace(texto,'á','a',[rfReplaceAll]);
texto := StringReplace(texto,'Á','A',[rfReplaceAll]);
texto := StringReplace(texto,'é','e',[rfReplaceAll]);
texto := StringReplace(texto,'É','E',[rfReplaceAll]);
texto := StringReplace(texto,'í','i',[rfReplaceAll]);
texto := StringReplace(texto,'Í','I',[rfReplaceAll]);
texto := StringReplace(texto,'ó','o',[rfReplaceAll]);
texto := StringReplace(texto,'Ó','O',[rfReplaceAll]);
texto := StringReplace(texto,'ú','u',[rfReplaceAll]);
texto := StringReplace(texto,'Ú','U',[rfReplaceAll]);
texto := StringReplace(texto,'Ö','O',[rfReplaceAll]);
texto := StringReplace(texto,'ö','o',[rfReplaceAll]);
texto := StringReplace(texto,'Ñ','N',[rfReplaceAll]);
texto := StringReplace(texto,'ñ','n',[rfReplaceAll]);
texto := StringReplace(texto,'Ç','C',[rfReplaceAll]);
texto := StringReplace(texto,'ç','c',[rfReplaceAll]);

// Recorrer el texto para eliminar los caracteres no permitidos
for i := 1 to Length(texto) do
begin
  if not(Ord(texto[i]) in [65..90,97..122,48..57,47,45,63,58,40,41,46,44,39,43,32]) then
     texto[i] := '¤'
end;
texto := StringReplace(texto,'¤','',[rfReplaceAll, rfIgnoreCase]);

// Convertir a mayúsculas
texto := ansiuppercase(Texto);

// Codificar a Utf8
Result := Utf8Encode(Trim(Copy(texto, 1, longitud)));
end;

Lo de convertir a mayúsculas no se si es necesario o no pero por si acaso...

Y luego me queda la duda de las vocales acentuadas, tipo á é ... he revisado la documentación y no dice que sean caracteres válidos pero tampoco los incluye como ç y ñ para que no lo sean.

He abierto algunos de los ficheros de recibos que suelo enviar al banco y veo que hay muchos nombres que incluyen acentos y se han procesado correctamente.
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
necesito alguien que sepa de delphi poolero Internet 24 08-04-2011 16:44:34
Necesito Ayuda de Seoane (o de otro que sepa C y Delphi) JoAnCa API de Windows 4 14-11-2008 14:53:19
Sobre Crystal Report alguien que sepa Larra Impresión 0 08-09-2006 16:41:57
Formato de openoffice.org, 'OpenDocument' se convierte en norma ISO lanysoft Noticias 3 02-06-2006 19:36:24
Crear fichero bancario con la norma csb19 carlosgarciabla Varios 1 10-08-2005 14:16:20


La franja horaria es GMT +2. Ahora son las 04:46:20.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi