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 26-03-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.215
Poder: 24
newtron Va camino a la fama
uis....espera.... me estoy confundiendo yo también, fue en Febrero pero del año pasado.
__________________
Be water my friend.
Responder Con Cita
  #2  
Antiguo 26-03-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
No te ralles con XMLDocument

Yo en mi programa lo implementé también con XMLDocument en Delphi7, no es muy complicado, aunque evidentemente hay que mirar cosas del componente.
Pero luego resulta que al depender de componentes de Windows explotaba en sistemas con Windows 64 bits. Aunque mantengo el código, deseché su uso completamente. Las dependencias con otros programas/componentes siempre son problemáticas.

Mi consejo es que directamente escribas el archivo como si de un archivo de texto normal se tratase. Igual que has montado la 34.14 y 19.14/15/44 en formato de texto básico.
De hecho, y dadas las limitaciones impuestas a los caracteres válidos, a pesar de tratarse de un archivo unicode no tendrás problemas en montarlo todo con Delphi7.

El código, aunque sale algo más largo, es mas sencillo de entender y mantener.
Responder Con Cita
  #3  
Antiguo 26-03-2015
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 16
engranaje Va por buen camino
Aqui http://www.sepaesp.es/f/websepa/secc.../BOEnichos.pdf
dice esto:

Cita:
Artículo 4.
Formatos de mensaje.
1.
Hasta el 1 de febrero de 2016 los usuarios de servicios de pago que inicien o
reciban transferencias o adeudos domiciliados individuales agrupados para su transmisión
podrán no utilizar la norma ISO 20022 XML en sus comunicaciones con los proveedores
de servicios de pago
Yo entiendo que por mucho que nos hayamos adaptado a la norma SEPA si estamos enviando los ficheros de texto tenemos hasta febrero del 2016 para pasar a enviar los xml.
Responder Con Cita
  #4  
Antiguo 26-03-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Creo que ahí no hablan de las normas 19 y 34
Responder Con Cita
  #5  
Antiguo 26-03-2015
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Poder: 16
engranaje Va por buen camino
Los documentos oficiales simpre me resultan enfarragosos asi que igual me columpio entonces, yo entendía que la norma 34 era para transferencias y la 19 para adeudos, por eso al leer:
"transferencias o adeudos domiciliados individuales agrupados" entendi que se referian a los cuadernos 34 y 19.

Última edición por engranaje fecha: 26-03-2015 a las 13:20:56.
Responder Con Cita
  #6  
Antiguo 26-03-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Comunicado de una de las entidades bancarias (Banco Sabadell), para los que estaban tranquilos de que habian ya pasado por este mal trago:

SEPA - FORMATO XML ISO20022
A partir del 1 de Febrero de 2016 el formato SEPA XML será el único válido para el envío de ficheros de Adeudos Domiciliados y Transferencias. En consecuencia, los Recibos físicos y los ficheros de Normas 32, 58, 19.14, 19.15, 19.44 y 34.14 se deberán adaptar a los nuevos estándares obligatorios de Adeudos Directos y Transferencias SEPA XML.

Es decir que de aquí a más o menos un año, no aceptarán el formato SEPA en fichero txt deberá ser formato XML ISO 20022.

Gracias.
Responder Con Cita
  #7  
Antiguo 26-03-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.678
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Un enlace, por favor.

Ya veo:
http://aeb.respuestaprofesional.com/norma_sepa.html

Me parece absurdo el cambio, no sé qué mejora tiene.

Aunque creo que sigue refiriéndose a transferencias sepa, no a los recibos domiciliados, que siguen igual, en formato texto. No sé seguro.

Última edición por Casimiro Noteví fecha: 26-03-2015 a las 14:14:17.
Responder Con Cita
  #8  
Antiguo 26-03-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Yo en mi programa lo implementé también con XMLDocument en Delphi7, no es muy complicado
Nasca, pues te agradecería muchísimo me echaras un cable, porque se que tengo tiempo, pero es un serio problema. LLevo días leyendo tratando de interpretar la normativa, viendo ficheros de ejemplo, pero no consigo con el xmldocument confeccionar un xml correcto (me asigna atributos en los nodos hijo), ya desde la aplicación del sepa estuve muy tranquilo con la conversión de la norma 19 CSB a Sepa en texto plano sabiendo que tenia tiempo hasta el 2016, pero en cuanto me doy cuenta eso está a la vuelta de la esquina.

Si me puedes orientar un poco, de verdad no sabes cuanto te lo agradecería. Tan solo con la secuencia de instrucciones empleada con el XMLDocument me salvas.
Un saludo,
Ramiro
Responder Con Cita
  #9  
Antiguo 26-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
ramherfer,

Cita:
Empezado por ramherfer
...no consigo con el xmldocument confeccionar un xml correcto...


Revisa esta información:
Espero sea útil

Nelson.

Última edición por nlsgarcia fecha: 26-03-2015 a las 16:02:25.
Responder Con Cita
  #10  
Antiguo 26-03-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Gracias Nelson, he estado mirando el componente y desgraciadamente es para a partir de Delphi 2009 con lo que no lo puedo instalar en mi Delphi 7, no obstante he visto la sencillez del código que propone como ejemplo y voy a ver si lo traslado al XMLDocument a ver si me arroja un poco de luz. Me preocupa el XMLDocument por lo que comenta Nasca en versiones Windows de 64Bits, aunque tengo aplicaciones rodando en windows 32/64 con componentes instalados y no me a dado problemas, pero con lo que Nasca comenta no tengo por mas que alzar las orejas. Una vez tenga algo en XML a modo de prueba, lo haré rodar bajo Windows 32 y Windows 64 en diferentes versiones y a ver que pasa.
Agradezco tu ayuda y comento como ha ido la prueba del código (que me parece bastantesencillo).
Gracias,
Ramiro
Responder Con Cita
  #11  
Antiguo 26-03-2015
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 20
Nasca Va por buen camino
Algo de código

He revisado y solo mantuve el código de lectura del XMLDocument, que fue lo que inicialmente implementé y me dio errores.

Lo dicho, mucho mas seguro y sencillo evitar esa dependencia con código del tipo:

Código Delphi [-]
  Writeln(FN34,'<?xml version="1.0" encoding="UTF-8"?>');
  Writeln(FN34,'<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsdain.001.001.03">');
  Writeln(FN34,' <CstmrCdtTrfInitn>');
  Writeln(FN34,'  <GrpHdr>');
  //...
  Writeln(FN34,' <CstmrCdtTrfInitn>');
  Writeln(FN34,'  <GrpHdr>');
  //...
  Writeln(FN34,'    <PstlAdr>');
    SetCampo('     ','PstCd', Copy(LimpiarCarNormaSEPAXML(cdsEmisorCOD_POSTAL.Value),1,16), false);
    SetCampo('     ','TwnNm', Copy(LimpiarCarNormaSEPAXML(cdsEmisorCIUDAD.Value),1,35), false);
    SetCampo('     ','CtrySubDvsn', Copy(LimpiarCarNormaSEPAXML(cdsEmisorPROVINCIA.Value),1,35), false);
  if cdsEmisorID_PAIS.Value <> '' then
    SetCampo('     ','Ctry', cdsEmisorID_PAIS.Value, true)
    else
    SetCampo('     ','Ctry', 'ES', true);
    SetCampo('     ','AdrLine', Copy(LimpiarCarNormaSEPAXML(cdsEmisorDOMICILIO.Value),1,70), false);
  Writeln(FN34,'    </PstlAdr>');
 //...
cdsDatos.First;
while not cdsDatos.EOF do
 begin
  Writeln(FN34,'   <CdtTrfTxInf>');
  Writeln(FN34,'    <PmtId>');
 //...
  Writeln(FN34,'    <Amt>');
  Writeln(FN34,'     <InstdAmt Ccy="EUR">' + importe_t +'</InstdAmt>');
  Writeln(FN34,'    </Amt>');
//En esta norma no es opcional, pero dependerá de la implantación de cada banco
if (cdsDatosBIC.Value <> '') or (cdsDatosL_ENTIDAD_BIC.Value <> '') then
  begin
  Writeln(FN34,'    <CdtrAgt>');
  Writeln(FN34,'     <FinInstnId>');
  if (cdsDatosBIC.Value <> '') then
    SetCampo('      ','BIC', cdsDatosBIC.Value, false)
    else
    SetCampo('      ','BIC', cdsDatosL_ENTIDAD_BIC.Value, false);    
  Writeln(FN34,'     </FinInstnId>');
  Writeln(FN34,'    </CdtrAgt>');
  end;

Es optimizable con ayuda de algunas funciones, pero así queda mas legible.

El código está raro porque he tenido que pasarlo por un editor html para no perder las etiquetas xml.

Última edición por Casimiro Noteví fecha: 26-03-2015 a las 18:52:08.
Responder Con Cita
  #12  
Antiguo 26-03-2015
Avatar de ramherfer
ramherfer ramherfer is offline
Miembro
 
Registrado: may 2013
Ubicación: Valencia
Posts: 162
Poder: 14
ramherfer Va por buen camino
Gracias Nasca, me imagino que construyendo el XML de esta forma los bancos lo admiten ¿no?.
Creo que voy a probar con esto, al fin de al cabo ya no se diferencia mucho de la forma de construirlo, de como ahora con sepa texto plano esta.
De verdad mil gracias por encender algo de luz sobre este problema.
Un saludo,
Responder Con Cita
  #13  
Antiguo 26-03-2015
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.941
Poder: 27
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
XMLDocument y similares son interfaces muy engorrosas (y ademas son dependencias a librerias del OS), y que son para hcer procesamiento muy complejos de XML... que son raros.

Una forma muy simple es usar plantillas asi:

Código PHP:
<tag>$reemplazar$</tag
y hacer el reemplazo del texto.

Me encontre ademas una implementacion de Mustache (mustache es un sitema de generacion de templates que hace facil hacer lo anterior, muy utilizado para hacer sitios web) para Delphi:

http://blog.synopse.info/post/2014/0...-Delphi-part-3

Otra es que estos componentes estan inspirados en el DOM (Document Object Model), que es todo un rollo... y que esconden una verdad simple:

XML es una forma mas "verbosed" de representar un arbol. Asi que tambien puedes simplemente hacer/usar una estructura de arbol y luego serializar a XML.
__________________
El malabarista.
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 01:05:12.


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