Modificación CodeUnit desde Extensión

Cursos de Navision 100% online Foros Foro Dynamics NAV y Business Central Modificación CodeUnit desde Extensión

Etiquetado: ,

Este debate contiene 2 respuestas, tiene 3 mensajes y lo actualizó  Laura Nicolàs hace 2 semanas, 4 días.

Viendo 3 publicaciones - del 1 al 3 (de un total de 3)
  • Autor
    Publicaciones
  • #9555

    jose navarro gonzalez
    Participante

    Buenas,

    escribo este post hablando de mi caso en particular pero seria ampliable a la inserción de cualquier método o modificación de una CodeUnit desde extensiones en un sitio que no sea un Evento ya creado por Navision.

    Estoy creando una extension personal para la gestión de IRPF de clientes y proveedores. La creación de las nuevas tablas, así como la asignación de los campos de relación en las tablas pertinentes y sus correspondientes modificaciones en las páginas, he llegado a realizarlo todo correctamente.

    Ahora bien, necesito modificar la CU12 para, por ejemplo, la inserción del registro de IRPF para un cliente. En un caso normal, añadiria dentro de la función PostCust de la CU12 una llamada a una función recogiendo el CustLedgEntry y GenJnlLine para hacer las inserciones correspondientes sobre una nueva tabla que he creado (IRPFLedgerEntry).

    Pero programáticamente, con una extensión, no se modificar una CU para hacer esto. Pues si creo poder suscribirme al evento OnAfterPostCust que se ejecuta despues de todo. Pero en este evento, no tengo el CustLedgEntry.

    Me gustaria saber si hay alguna manera de modificar este evento o crear alguno nuevo. O de que manera puedo solucionar esto.

    Gracias de antemano, saludos.

    #9560

    Cristina Nicolàs
    Jefe de claves

    Hola Jose,

    Si quieres trabajar puramente con extensiones no tienes la opción de modificar la codeunit. Si necesitas que tenga algún tipo de modificación (añadir un evento, o un parámetro a un evento, etc.) se lo tienes que solicitar a Microsoft en los foros de GitHub y esperar a que lo aprueben, lo implementen y venga en un futuro cumulative o futura versión.
    El foro donde hacer estas solicitudes es este: https://github.com/Microsoft/ALappextensions/issues

    También existe la posibilidad de trabajar en un entorno mixto Extensión-Desarrollo en C/SIDE. Sólo para los casos en qué el desarrollo se vaya a instalar en entornos on-premise para los que tengas acceso a C/SIDE.

    Te dejo un par de enlaces a un par de lecciones en los que explico qué pasos adicionales se tienen que hacer para trabajar en un entorno mixto como este:

    Lección 2. Entornos Mixtos C/SIDE – Visual Studio Code
    Lección 3. Entornos Mixtos CSIDE – Visual Studio Code_Generación Automática de Símbolos

    Un saludo,
    Cristina Nicolàs

    Curso presencial. Conviértete en un Experto en Business Central.

    Curso organizado como un máster.
    Las inscripciones anticipadas terminan el 28 de febrero.
    Inicio del curso: 26 de Abril
    Más información

    #9859

    Laura Nicolàs
    Jefe de claves

    Hola Jose,

    La otra opción es que dejes que finalice el registro y te suscribas a algún evento del final, que te de el Nº documento (el de una vez registrado).

    En este evento no tienes el CustLedgEntry, pero con el Nº de documento y la fecha… lo puedes ir a buscar.

    Salut!
    Laura Nicolàs

    Curso presencial. Conviértete en un Experto en Business Central. Para futuros consultores y futuros programadores. Empezamos de cero.

    Curso organizado como un máster.
    Inicio del curso: 26 de Abril
    Más información

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

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: 722, Posts: 2.395, Members: 809
Welcome to our newest member, Carlos Lopez
Most users ever online was 15 on 5 April, 2019 9:31 am