Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
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
  #2  
Antiguo 28-04-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
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
  #3  
Antiguo 28-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
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
  #4  
Antiguo 28-04-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
Cita:
Empezado por Delphitest Ver Mensaje
Muchas gracias por el empujoncillo

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.
Las mayúsculas no son necesarias, y bajo mi punto de vista tampoco recomendables.
Lo de los acentos mejor quitarlo, en algún momento pueden convertirse y dar lugar a errores.
Tanto antes como ahora se aceptan por algún banco, pero no había garantía de que al destinatario no le llegasen convertidos.
Responder Con Cita
  #5  
Antiguo 28-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
Adjudicado... quito lo de las mayúsculas. Es que ha dado la casualidad de que todos los ficheros que tengo vienen con ellas puestas y me quedaba la duda de si era por algo o no, pero cuanto menos haya que manipular el texto mejor.

Paso a la siguiente fase... En mi caso quiero empezar por los adeudos directos esquema básico (norma 19.15, o COR1)

He leído la documentación, en concreto el Anexo 1 que va de la página 18 a la 44, menuda parrafada que meten

Entiendo que debo crear 4 bloques y ahí detallan el contenido.

¿Todos esos campos y etiquetas son obligatorios? Supongo que solo algunos importantes lo son porque en ejemplos de ficheros que he revisado no aparecen tantos.

¿Existe una lista de campos obligatorios o se hace por lógica de datos imprescindibles?
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
  #6  
Antiguo 28-04-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
La documentación española es prácticamente ilegible. Vete directamente al esquema xsd y completa datos con el pdf que has puesto.
Es mas sencillo entender el esquema que el manual de implantación, o al menos a mí me lo ha parecido así.
Responder Con Cita
  #7  
Antiguo 29-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Poder: 20
Delphitest Va por buen camino
He encontrado este link que parece detallarlo un poco mejor, al menos indica lo que es obligatorio y lo que no.

Al final pone incluso ejemplos prácticos.

A ver si saco algo en claro...
__________________
Mi proyecto paso a paso (Parte I)
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 14:45:30.


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