Extensiones

Este debate contiene 2 respuestas, tiene 2 mensajes y lo actualizó  Cristina Nicolàs hace 7 meses, 2 semanas.

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

    cbr.conchi@yahoo.es
    Participante

    Buenos días,

    estoy migrando a extensiones un cliente, y me surge un par de dudas:
    – ¿Se puede incluir código en el validate de un campo de una tabla?¿cual seria la sintaxis en el visual code?
    – ¿Se puede modificar la posición en la que aparece un campo en una page de tipo lista?
    Este es el código, pero solo consigo que el campo sea visible.. por defecto no lo es.. pero no consigo moverlo de sitio… he probado las distintas optiones de move.

    pageextension 50101 CustomerLedgerEntries extends “Customer Ledger Entries”
    {
    layout
    {
    modify(“Global Dimension 1 Code”) {
    // Add changes to page layout here
    Visible=true; ////esto si funciona
    }
    moveafter(“Global Dimension 1 Code”;Open) //este NO funciona
    }
    }

    #6202

    cbr.conchi@yahoo.es
    Participante

    otra duda, ¿como añado a una tabla una clave secundaria? he probado con la siguiente sintaxis pero da error..
    keys
    {
    key(MyKey; “Vehículo”,”Shipment Date”){}
    }

    #6218

    Cristina Nicolàs
    Jefe de claves

    Hola,

    – ¿Se puede incluir código en el validate de un campo de una tabla?¿cual seria la sintaxis en el visual code?

    No directamente. Lo que tienes que hacer es crear, en una codeunit, una función que se suscriba al evento OnAfterValidateEvent del campo que te interese, y aquí escribir el código que te interese.

    La síntaxis para suscribirse al evento OnAfterValidateEvent del campo “Sell-To Customer Name” de la tabla 36, por ejemplo, sería:
    EventSubscriber(ObjectType::Table,36,’OnAfterValidateEvent’,’Sell-to Customer Name’,true,true)]
    local procedure NombreDeLaFuncion(VAR Rec : Record “Sales Header”;VAR xRec : Record “Sales Header”;CurrFieldNo : Integer);
    begin
    end;

    Si no estás familiarizada con los eventos, te recomiendo el curso de Desarrollo con Eventos y también el Curso de Desarrollo de Extensiones con Visual Studio Code.

    – ¿Se puede modificar la posición en la que aparece un campo en una page de tipo lista?
    Este es el código, pero solo consigo que el campo sea visible.. por defecto no lo es.. pero no consigo moverlo de sitio… he probado las distintas optiones de move.

    pageextension 50101 CustomerLedgerEntries extends “Customer Ledger Entries”
    {
    layout
    {
    modify(“Global Dimension 1 Code”) {
    // Add changes to page layout here
    Visible=true; ////esto si funciona
    }
    moveafter(“Global Dimension 1 Code”;Open) //este NO funciona
    }
    }

    Si se puede. Con el moveafter te tendría que funcionar.
    No lo recuerdo exactamente y no he hecho la prueba, pero en el trozo de código que has puesto, diría que el moveafter tiene que ir dentro del layout. Pruébalo y nos dices.

    otra duda, ¿como añado a una tabla una clave secundaria? he probado con la siguiente sintaxis pero da error..
    keys
    {
    key(MyKey; “Vehículo”,”Shipment Date”){}
    }

    Con las extensiones sólo puedes crear claves con campos definidos en la propia extensión. No puedes utilizar campos del estándar de NAV.

    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

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

Debes estar registrado para responder a este debate.

Members Currently Active: 1
robertemg
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