creación de un fichero txt

Este debate contiene 6 respuestas, tiene 3 mensajes y lo actualizó  ago hace 5 meses, 1 semana.

Viendo 7 publicaciones - del 1 al 7 (de un total de 7)
  • Autor
    Publicaciones
  • #5993

    Buenas tardes,

    Estoy modificando un report de borrado de pedidos de venta en el cuál además de hacerme el proceso de borrado, se tiene que crear un fichero plano en una determinada ruta que debe ser parametrizable, es decir, que el usuario pueda crear esa ruta en la configuración de ventas y cobros y poner ahí la ruta donde se va a crear el fichero.

    Si la ruta la pongo directamente en el report, me genera perfectamente el archivo (vFichero.CREATE(‘D:\Temp2\’) pero si pongo esta misma ruta en el campo nuevo de la página, busca en otra ruta referida al usuario (vFichero.CREATE(‘vConfVentyCob.»Ruta fichero pedido borrado»‘).

    No sé como se puede solucionar esto. Si pudierais ayudarme, os lo agradecería mucho.

    Saludos,

    #5997

    Cristina Nicolàs
    Jefe de claves

    Hola Javier,

    Con el tema de los ficheros, el caso es que se generan primero en el servidor, y después se tienen que trasladar al cliente.

    De modo que no puedes hacer directamente un CREATE con esa ruta.

    Tienes la Codeunit 419 donde hay funciones para crear rutas temporales en el servidor, y después tienes funciones para descargarlo en el cliente y pasarle ahora si la ruta definitiva.

    Yo cuando tengo que trabajar con ficheros siempre busco algún sitio en el estándar de NAV que lo haga para mirar los pasos que hace y copiarlos.

    Uno de los ejemplos que puedes revisar es la creación del 347.
    Donde:
    1. Crea una ruta temporal en el servidor
    FileName := FileMgt.ServerTempFileName(»);

    2. Utiliza esta ruta temporal para crear el archivo
    OutFile.TEXTMODE := TRUE;
    OutFile.WRITEMODE := TRUE;
    OutFile.CREATE(FileName);

    3. Escribe en el fichero
    OutFile.WRITE(OutText);

    4. Cuando ha acabado de escribir, cierra el fichero
    OutFile.CLOSE;

    5. Descarga el fichero a una ruta del cliente
    DOWNLOAD(FileName,»,»,FileFilterTxt,ToFile)

    En este caso, el ToFile es la ruta+nombre de archivo ya del cliente, en tu caso, la ruta la puedes sacar de la configuración de ventas.
    Este DOWNLOAD le ofrece un diálogo al usuario para guardar, pero en la codeunit que te he dicho hay una función para hacer el download de forma silenciosa (sin que le salga nada al usuario)

    Un saludo,
    Cristina Nicolàs

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

    Consulta fechas en
    DynamicsScaleUp.com

    #6018

    Buenos días Cristina,

    Me ha servido muchísimo la información.

    Ya he podido crearme el archivo en la ruta especificada en la configuración de ventas y cobros.

    ¿Hay alguna manera de que los archivos temporales se borren automáticamente?

    Saludos,

    Javier

    #6023

    Cristina Nicolàs
    Jefe de claves

    Hola Javier,

    ¿No se te borran? La verdad es que no lo he ido a comprobar nunca, pero pensaba que ya los borraba NAV al hacer el DOWNLOAD…

    Un saludo,
    Cristina Nicolàs

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

    Consulta fechas en
    DynamicsScaleUp.com

    #6091

    Buenos días Cristina,

    Perdona que vuelva a este debate pero me ha surgido un problema con el NAS.

    Si lanzo manualmente este proceso, me ha funcionado perfectamente. La manera que he encontrado para que se borren los archivos temporales ha sido usando la función ERASE (Leí que para que se borren los archivos temporales tienes que reiniciar el servicio).

    En cambio, si pongo esta tarea en el NAS, me lanza el siguiente error:

    Microsoft Dynamics NAV Server intentó emitir una devolución de llamadas de cliente para descargar un archivo: me pone la ruta y después (CodeUnit 419 File Management). Las devoluciones de llamadas de cliente no se admiten en Microsoft Dynamics NAV Server.

    ¿Cómo puedo solucionar esto?

    Muchísimas gracias,

    Javier

    #6103

    Cristina Nicolàs
    Jefe de claves

    Hola Javier,

    Eso es seguramente porque en alguno de los puntos del trabajo con el fichero se debe abrir un cuadro de diálogo de windows para que el usuario guarde el archivo o algo así.

    En la codeunit 419 encontrarás algunas funciones llamadas DonwloadSilent o algo así. Si utilizas estas funciones, no se abrirá el cuadro de diálogo de Windows.

    Un saludo,
    Cristina Nicolàs

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

    Consulta fechas en
    DynamicsScaleUp.com

    #8862

    ago
    Participante

    Hola

    Me uno a este debate por si alguien sabe si se puede crear un fichero txt desde extensiones.

    Yo utilizaba todo esto que comenta Cristina (FileMgt, outfile.textmode, …) con el Delopment

    pero ahora, en extensiones, me da error en todas estas funciones.

     

    Gracias

     

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

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: 875, Posts: 2.816, Members: 895
Welcome to our newest member, B59938811
Most users ever online was 15 on 5 April, 2019 9:31 am