Page field from other table

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Autor
    Entradas
  • #1015785

    Hola,

    Estoy intentando poner en una Page un campo de otra página.

    La página obtiene los datos de la tabla Sales Shipment Line y lo que quiero es un campo que sea el Nombre del Cliente correspondiente al Nº de albarán que sacaré de la tabla Sales Shipment Header, siendo el nexo de unión el Nº de albarán.

    El campo que he creado es el siguiente:

    field(“Customer Name”; CustomerName)
    {
    Caption = ‘Customer Name’, Comment = ‘”ESP=”Nombre Cliente”‘;
    ApplicationArea = Basic, Suite;
    ToolTip = ‘Specifies the name of customer.’, Comment = ‘”Especifica el nombre del cliente.”‘;
    }

    Luego he creado una variable global

    var
    CustomerName: text;

    Y el evento

    trigger OnAfterGetRecord()
    var
    TSalesHeader: Record “Sales Shipment Header”;

    begin
    TSalesHeader.Reset();
    TSalesHeader.SetFilter(“No.”, Rec.”Document No.”); //Rec hace referencia a la tabla Sales Shipment Line
    Message(TSalesHeader.”Bill-to Name” + ‘hola’); //Muestra Valor Blanco

    //CustomerName := TSalesHeader.”Bill-to Name”;

    end;

    Pero el Message muestra valor blanco, no muestra el nombre.

    Gracias,

    #1015786

    Ya lo he resuelto.

    El error estaba:

    TSalesHeader.SetFilter(«No.», Rec.»Document No.»); //Rec hace referencia a la tabla Sales Shipment Line

    Tenía que ser:

    TSalesHeader.Get(“Document. N0.”);

    Quedaría así por si vale para un futuro:

    var
    CustomerName: text;

    trigger OnAfterGetRecord()
    var
    TSalesHeader: Record “Sales Shipment Header”;

    begin
    TSalesHeader.Reset();
    TSalesHeader.Get(“Document No.”);
    CustomerName := TSalesHeader.”Bill-to Name”;

    end;

    Gracias,

    #1015866
    Cristina Nicolàs
    Superadministrador

    Hola,

    Con el código inicial también te hubiera funcionado. Solo te faltaba, después de aplicar los filtros con el SETFILTER, hacer de algún modo la lectura a la base de datos con FindSet, FindFirst, o FindLast.

    En ambos códigos, la línea TSalesHeader.Reset(); sobra, no hace absolutamente nada.
    La variable está acabadita de crear, ya que es local. No es necesario hacer un Reset porque no hay nada a resetear… no la habías utilizado antes…

    Un saludo,
    Cristina Nicolàs

Viendo 3 entradas - de la 1 a la 3 (de un total de 3)
  • Debes estar registrado para responder a este debate.

10 cursos gratis, sin tarjeta

Accede a los cursos Gratis de Business Central

Instalación, ventas, fabricación y Power BI.

Acceso inmediato, sin límite de tiempo.