Ver Mensaje Individual
  #45  
Antiguo 29-04-2015
Delphitest Delphitest is offline
Miembro
 
Registrado: sep 2006
Ubicación: Salamanca-España
Posts: 249
Reputación: 18
Delphitest Va por buen camino
He empezado a escribir el fichero xml. De momento intento entender lo que hay que hacer y si doy con ello lo completare con los campos de las tablas correspondientes, os voy poniendo el codigo de los bloques A y B (según las instrucciones y en base a los ficheros de ejemplo que mando al banco habitualmente).

Código:
// Estructura/Raíz del mensaje (Message Root) BLOQUE A
  Writeln(FicheroRecibos,'<?xml version="1.0" encoding="UTF-8" standalone="yes"?>');
  Writeln(FicheroRecibos,'<Document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02">');
  Writeln(FicheroRecibos,' <CstmrCdtTrfInitn>');

// Cabecera (Group Header) BLOQUE B
  Writeln(FicheroRecibos,'  <GrpHdr>');
  Writeln(FicheroRecibos,'    <MsgId>');
  Writeln(FicheroRecibos, LimpiarCarNormaSEPAXML('Mensaje de Identificación',35));
  Writeln(FicheroRecibos,'    </MsgId>');
  Writeln(FicheroRecibos,'    <CreDtTm>');
  Writeln(FicheroRecibos,'Fecha y Hora de creación - Formato YYYY-MM-DDThh:mm:ss');
  Writeln(FicheroRecibos,'    </CreDtTm>');
  Writeln(FicheroRecibos,'    <NbOfTxs>');
  Writeln(FicheroRecibos, 'Número de Operaciones');
  Writeln(FicheroRecibos,'    </NbOfTxs>');
  Writeln(FicheroRecibos,'    <InitgPty>');
  Writeln(FicheroRecibos,'      <Nm>');
  Writeln(FicheroRecibos, LimpiarCarNormaSEPAXML('Nombre del Presentador',70));
  Writeln(FicheroRecibos,'      </Nm>');
  Writeln(FicheroRecibos,'      <Id>');
  Writeln(FicheroRecibos,'        <OrgId>');
  Writeln(FicheroRecibos,'          <Othr>');
  Writeln(FicheroRecibos,'            <Id>');
  Writeln(FicheroRecibos, LimpiarCarNormaSEPAXML('Identificador del Presentador',16));
  Writeln(FicheroRecibos,'            </Id>');
  Writeln(FicheroRecibos,'          </Othr>');
  Writeln(FicheroRecibos,'        </OrgId>');
  Writeln(FicheroRecibos,'      </Id>');
  Writeln(FicheroRecibos,'    </InitgPty>');
  Writeln(FicheroRecibos,'  </GrpHdr>');
Os consulto unas dudas que van surgiendo por si me podéis echar una mano:

He añadido en la primera línea Standalone="yes" porque lo he visto en mis ficheros pero no acabo de saber para qué sirve y si es o no obligatorio.

No me queda claro tampoco si el mensaje de identificación <MsgId> debo generarlo yo de tal manera que sea único para siempre o es el nombre que le quiera dar a la remesa.

Me llama la atención que en ningún fichero de los que mando aparezca la suma total de los importes, entiendo que no es obligatorio.

He comprobado que tengo ficheros en los que aparece la etiqueta <OrgId> y en otros <PrvId>, todos son aceptados por el banco y en teoría trabajamos como empresa ¿Tiene alguna importancia el uso de persona física o jurídica independientemente de que corresponda a la realidad?

A grandes rasgos estoy metiendo las etiquetas que veo en mis ejemplos ¿Es conveniente completar todos los datos (direccion, codigo postal...) o me limito a lo que es necesario?

Muchas gracias por vuestro tiempo

Un saludo

PD: LO siento pero si pongo las etiquetas de código Delphi se borra parte del texto, no se como ponerlo de otra manera.
__________________
Mi proyecto paso a paso (Parte I)

Última edición por Delphitest fecha: 29-04-2015 a las 20:21:51.
Responder Con Cita