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