• Este debate tiene 5 respuestas, 2 mensajes y ha sido actualizado por última vez el hace 3 meses, 2 semanas por Avataradministracion@riversa.es.
Viendo 6 entradas - de la 1 a la 6 (de un total de 6)

Respuestas del foro


  • administracion@riversa.es

    Buenas tardes:

    He creado una página que muestra determinada información de la tabla 111 Historico líneas Albaranes de Ventas de la siguiente forma:

    PageType = List;
    ApplicationArea = Basic, Suite;
    UsageCategory = History;
    SourceTable = «Sales Shipment Line»;
    CardPageID = «Posted Sales Shipment»;
    Editable = false;
    SourceTableView = SORTING(«Bill-to Customer No.») ORDER(Descending);

    En la primera columna muestro Bill-to Customer No. y querría que al hacer drilldown se abriera la ficha del cliente. Si tal cual le hago clic al drilldown me echa de BC e indica el siguiente error:

    Hubo un problema.
    No se puede abrir la página «Histórico albaranes venta» con un filtro y ordenar desde la tabla «111».
    Fecha y hora (UTC): Tue, 07 Jul 2020 16:29:44 GMT
    Suscriptor de Azure AD: common
    Operación: 74a4fdc2-1c24-4a2a-8de9-96e9e29c40e4

    He probado con el trigger OnDrillDown() para ver si se ejecutaba pero lo ignora.

    He probado a poner como primera columna por ejemplo el Nº de Línea del albarán, y en este caso si funciona el OnDrillDown() en la columna Bill-to Customer No., pero si hago clic la primera columna que es ahora el Nº de línea del albarán da el mismo error anterior. También he probado a ocultar la primera columna Nº de línea del albarán, pero en ese caso la columna Bill-to Customer No. vuelve a funcionar como al principio.

    ¿hay alguna forma de hacer que la primera columna de la página haga el Ondrilldown que uno quiera? o ¿Cómo puedo hacer para que la primera columna sea el Nº de cliente y se abra la ficha del cliente al hacer clic.

    Gracias,

     

     

    #1017420
    Avatar
    Joker
    Participante
    Joker

    Buenas,

    Es extraño que te funcione estando como segunda columna. En la documentación indica: «The OnDrillDown trigger is not invoked on fields in a Repeater control.«. Creo que la posibilidad que tienes es añadirle la propiedad AssistEdit al campo de la página y en el trigger OnAssistEdit hacer un PAGE.RUN del cliente.

    Saludos

    #1017422
    administracion@riversa.es

    Buenas noches:

    Nada, hace el mismo funcionamiento. Parece que la primera columna ignora esos trigger.

    Si lo pongo como segunda columna si funciona también el trigger OnAssistEdit.

    Gracias,

    #1017423
    administracion@riversa.es

    buenas noches:

    He realizado otra prueba y ocurre algo super raro, he puesto como primera columna el Nº de línea del albarán y he puesto exactamente el mismo trigger que pongo en la segunda columna y en este si funciona el ondrilldown, en cambio si pongo la segunda columna como primera no funciona y va al error :S

    Primera Columna en la que funciona el OnDrillDown

    field(«Line No.»; «Line No.»)
    {
    Caption = ‘Line No.’, Comment = ‘ESP=»No. Línea»‘;
    ApplicationArea = Basic, Suite;
    ToolTip = ‘Specifies the Shipment Line Number.’, Comment = ‘ESP=»Especifica el No. de línea en el Albarán»‘;
    DrillDown = true;

    trigger OnDrillDown()
    var
    prueba: Record customer;
    begin
    prueba.SetFilter(«No.», Rec.»Bill-to Customer No.»);//Primero se indica la página a abrir y luego la tabla con los filtros aplicados
    page.Run(21, prueba);
    end;
    }

    Segunda columna que cuando la pongo como primera columna no funciona el OnDrillDown ¿¿??? También he probado con la variable prueba, vamos copiar todo y pegarlo en esta y eliminar el campo No. linea para que este sea el primero
    field(«Bill-to Customer No.»; «Bill-to Customer No.»)
    {
    Caption = ‘Customer No.’, Comment = ‘ESP=»No. Cliente»‘;
    ApplicationArea = Basic, Suite;
    ToolTip = ‘Specifies the number of customer.’, Comment = ‘ESP=»Especifica el No. de cliente.»‘;
    DrillDown = true;

    trigger OnDrillDown()
    var
    CustomerNumber: Record Customer;
    begin
    CustomerNumber.SetFilter(«No.», Rec.»Bill-to Customer No.»);
    page.Run(21, CustomerNumber); //Primero se indica la página a abrir y luego la tabla con los filtros aplicados
    end;
    }
    No entiendo porque uno funciona y otro no. También he probado con el OnAssistEdit obteniendo el mismo resultado.

    También he probado a poner como primer campo el No. albarán que también lo tengo en la página por si era algo del campo que estoy utilizando pero obtengo el mismo resultado.

    Alguna idea de este misterio??

    Gracias,

     

     

     

    #1017424
    Avatar
    Joker
    Participante
    Joker

    Hola,

    Otra posibilidad que se me ocurre que puedes hacer es crear una extensión de la tabla y crear un flowfield que haga lookup de la ficha de cliente, de esta manera cuando se clique encima abrirá la página de la ficha de cliente y al ser flowfield, no crea campo en SQL.

    Saludos

    #1017425
    administracion@riversa.es

    Buenas noches:

    Gracias por la sugerencia, pero estoy intentando hacerlo sin extender la tabla de histórico de albaranes.

    No que no le encuentro explicación es que funcione si se pone como primera columna el Nº de línea pero si pongo otro campo como el nº de cliente de facturación ya no funcione el drilldown.

    Gracias,

    #1017465
Viendo 6 entradas - de la 1 a la 6 (de un total de 6)

Debe iniciar sesión para responder a este tema.