Etiquetado: 

  • Este debate tiene 4 respuestas, 3 mensajes y ha sido actualizado por última vez el hace 1 año, 6 meses por AvatarLaura Nicolàs.
Viendo 5 entradas - de la 1 a la 5 (de un total de 5)

Respuestas del foro


  • Avatar
    Jon Ander (IGN)
    Participante
    Jon Ander (IGN)

    Buenas Noches,

    Estoy haciendo el proceso de creación de facturas de venta desde las líneas de planificación de un proyecto, y con el proceso nos muestra el request page del report y al final un mensaje.

    No hay eventos en esa codeunit que nos sirva, y la función que se recorre las líneas, es local y no se ve desde las al…

    No podemos ni extender una codeunit ni un report.. entonces.. hay alguna posibilidad de ocultar los mensajes y modificar un informe estándar??

    No se si me he explicado..

    Gracias.

    #7755
    Avatar
    BETEA
    Participante
    BETEA

    Hola Jon Ander,

    El cambio que quieres eralziar en el informe es solo de layout? En tal caso, podrias utilizar la funcionalidad de informse personalizados, descargarte el diseño, modificarlo con el report builder, y luego seleccionar ese diseño como el predeterminado. Eso claro, en caso de que solo necesites hacer cambios de diseño, y puedas seguir utilizando todo lo incluido «en las tripas del report». En caso contrario, creo qeu note queda otra mas que hacer objetos nuevos, aunque no se si te he entendido del todo…

    Aitor

    #7756
    Avatar
    Jon Ander (IGN)
    Participante
    Jon Ander (IGN)

    Buenas Aitor,

    antes de nada, urte Berri on!

    Gracias por la respuesta, pero la cosa, no es modificar el diseño, es ocultar el Request Page para que se ejecute «por detrás».

    El problema es que la única función publica de la Codeunit «Job Create-Invoice» es la función: CreateSalesInvoice, la cual llama a un report, para recoger unos parámetros y luego ejecuta la función: CreateSalesInvoiceLines, que es local (Si esta función fuera publica, no tendría problema.. pero no es publica). Tendría 2 opciones viables:

    1- Modificar la función publica para que no llame al informe

    2- Ocultar el request page del informe, para que no «pare» al usuario.

    Si se os ocurre algo, encantado de que me echéis una mano.

    Gracias por todo

    Saludos.

    #7758
    Avatar
    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Hola Jon,

    Por el momento no se puede modificar nada de los reports desde AL.

    Lo que sí se puede hacer es reemplazar reports, suscribiendote al evento OnAfterSubstituteReport de la Codeunit 44 – ReportManagement. Pero en tu caso tampoco te sirve, porque lo de la sustitución no sirve cuando se hace VariableTipoRecord.RUN

    Así que ahora misma las opciones que te quedan son:

    1. Si estás en una instalación OnPremise, tocar directamente el report o la codeunit desde C/SIDE.
    2. Solicitar en GitHub que hagan global y external la función CreateSalesInvoiceLines de la Codeunit 1002
    3. Solicitar en GitHub que se haga un re-factoring de la función CreateSalesInvoice, para que no haga VariableTipoRecord.RUN, y así se pueda sustituir el report.
    4. En tu código AL «recrear» la función CreateSalesInvoiceLines

    Escojas la opción que escojas… no dejes de decirlo en GitHub, porque sino nunca quedará solucionado…

    Salut!
    Laura Nicolàs

    #7776
    Avatar
    Laura Nicolàs
    Superadministrador
    Laura Nicolàs

    Te dejo documentación sobre lo del SubstituteReport: https://blogs.msdn.microsoft.com/nav/2018/08/31/developer-preview-august-2018/

    Aunque no te sirva en este caso, creo que es interesante tenerlo presente para otros casos.

    Salut!
    Laura Nicolàs

    #7780
Viendo 5 entradas - de la 1 a la 5 (de un total de 5)

Debe iniciar sesión para responder a este tema.