Filtrar un XML

Este debate contiene 7 respuestas, tiene 3 mensajes y lo actualizó  santi.galan hace 10 meses, 3 semanas.

Viendo 8 publicaciones - del 1 al 8 (de un total de 8)
  • Autor
    Publicaciones
  • #7875

    santi.galan
    Participante

    Hola a todos,

    Tengo un «Poltergeist» a ver si me podeis echar un cable. Estoy llamando un XML de exportación de la tabla Item desde una codeunit mediante el siguiente código:

    RecItem.GET(‘ART1800001’);
    CustXmlfile.CREATE(‘C:\Xml\styles\PLM\’+ ‘Archivo’ + ‘.xml’);
    CustXmlfile.CREATEOUTSTREAM(xmlstream);
    XMLPORT.EXPORT(50019,xmlstream,RecItem)  ;
    CustXmlfile.CLOSE;
    MESSAGE(‘XML Creado’);

    El problema es que no filtra los registros que se van a exportar y me exporta todo el fichero… 🙁

    Alguna idea?

     

    Un saludo y gracias

     

    #7877

    Laura Nicolàs
    Jefe de claves

    Hola Santi,

    Sin probarlo, creo que el problema es que estás haciendo un GET en lugar de un SETRANGE.

    Con el GET te posicionas en un registro, pero no filtras. Cambia el GET por SETRANGE(«No.»,‘ART1800001’);

    Salut!
    Laura Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #7880

    santi.galan
    Participante

    Muchas Gracias Laura,

    Tienes razón ese es el motivo. Aprovecho para hacerte otra pregunta:

    Quiero importar a NAV cualquier fichero de una tipología (XML) que exista en un directorio en concreto, el tema es que importar un fichero en concreto ya lo tengo hecho, el problema se me plantea es cuando quiero ir procesando TODOS los ficheros que hayan en un directorio.

    Se te ocurre algo?

     

    Un saludo,

    Santi

    #7881

    Cristina Nicolàs
    Jefe de claves

    Hola Santi,

    Hace mucho tiempo que no programo algo así y no sé si aún funciona o no.

    En versiones antiguas recuerdo que existía una tabla de estas de sistema con numeración por los 20000000, que tenía información de los directorios y los archivos. Ponías un filtro sobre el Path en la carpeta que te interesara y después podías recorrer los registros de esta tabla para ir encontrando todos los ficheros que contenía.
    No recuerdo como se llamaba la tabla y ahora haciendo una búsqueda rápida en BC no veo cual puede ser. No sé si es que ya no existe o si es que al no recordar el nombre de la tabla no soy capaz de encontrarla.

    Otra opción sería crearse una variable de tipo DotNet para recorrer archivos en un directorio.
    No sé exactamente como se tendría que hacer, pero como ejemplo buscaría en la codeunit 419 File Management donde por ejemplo hay unas funciones llamadas GetClientDirectoryFilesList y GetServerDirectoryFilesList que tienen toda la pinta que te van a poder servir para tu propósito.

    Un saludo,
    Cristina Nicolàs

    ¿Quieres conocer las últimas novedades sobre Business Central? Dynamics ScaleUp 2019.

    Consulta fechas en
    DynamicsScaleUp.com

    #7883

    santi.galan
    Participante

    Muchísimas gracias Cristina!!

    Voy a probarlo.

    Un saludo,

    Santi

    #7894

    santi.galan
    Participante

    Hola Cristina

    Otra cosa que me está pasando es que cuando quiero importar un XML que tiene varios registros de una misma tabla me sale el error:

    Hay varios elementos Raíz…

    Este error sale cuando va a leer el segundo registro del XML.

     

    Gracias

     

    #7897

    santi.galan
    Participante

    Solucionado!!!! Me había olvidado poner un Nivel por encima de la tabla

     

     

    #8088

    santi.galan
    Participante

    Hola Cristina,

     

    Respecto al tema de leer todos los ficheros de un directorio efectivamente existe una tabla (2000000022) que se puede usar para recorrerla aplicando filtros. (Uso NAV 2018).

     

    Muchísimas gracias

     

    Santi

Viendo 8 publicaciones - del 1 al 8 (de un total de 8)

Debes estar registrado para responder a este debate.

Members Currently Active: 0
No users are currently active
Keymaster | Moderator | Participant | Spectator | Blocked
Additional Forum Statistics
Threads: 1.032, Posts: 3.250, Members: 1.000
Welcome to our newest member, Maria Nieves
Most users ever online was 15 on 5 April, 2019 9:31 am