Grid de SAP Business One

Uso del objeto Grid en SAP Business One.

Muchas veces nos interesa mostrar al usuario los resultados de una consulta en pantalla, sin necesidad de generar un informe en papel de los datos.

Es lo que el propio SAP Business One realiza con muchas de sus consultas situadas dentro de los informes en cada sub apartado, ya sea compras, ventas, producción, etc. Un buen ejemplo de eso, es el análisis de volumen de negocio del apartado de informes de ventas.

grid_sap_business_one
Si observamos esta consulta, vemos que tiene campos con hipervínculos a la tabla base, en este caso interlocutores comerciales, tiene campos numéricos, dispone de totales al final (línea de la grid marcada con la flecha roja), dispone de ordenación de los campos, etc…

SAP Business One, y en este caso la UI API de SAP, nos permite realizar esto de forma muy fácil. Para ello disponemos del objeto Grid (no confundir con el objeto Matrix, que está pensado para otras funciones, ya hablaremos de ello en otro artículo).

El objeto Grid está básicamente pensado para poder realizar consultas a la base de datos y rellenar la información del resultado de la consulta en la propia grid, facilitando el resultado al usuario.
En este apartado, os mostramos como utilizar algunas de sus funciones más comunes.

Vamos a cargar en una grid, el código de interlocutor comercial, el nombre, y el saldo de la cuenta. Para ello vamos a realizar una consulta en la tabla OCRD para obtener estos valores.

Como vemos en el código, utilizamos varios métodos del objeto Grid de SAP Business One para formatear como queremos visualizar los datos al cliente.

Si vemos como queda el resultado, sería el siguiente.

grid_sap_business_one_example
Podemos observar el título de las columnas, la alineación, el hipervínculo con el interlocutor comercial, así como la totalización de la columna de saldo de cuenta.

Trabajar con el objeto Grid dentro del SDK de SAP Business One es muy senzillo, y nos permite mostrar muchas consultas al usuario que no requieren que sean informes para imprimir, facilitando la navegación entre datos maestros o tipos de documentos de marketing gracias al hipernvínculo.

Recuerda que también puedes ver nuestros consejos sobre la utilización del ChooseFromList y del uso de las condiciones en el ChooseFromList.

Respuestas de comentarios:

Respondiendo a un comentario de Juan Carlos, te adjunto la imagen para que puedas ver el resultado de la creación del nuevo botón.

Espero que te sea de utilidad.

2016-06-23_12-24-51

Cualquier duda, no dudes en comentarlo, y si te gusta este artículo, compártelo.

 

omentarios en “Grid de SAP Business One”

  1. Juan Carlos dice:

    Ya la llevo de ganancia con todos los TIPS que posteas…

    otra duda… del formulario original, donde esta el grid… como cierro el formulario al hacer clic en el botón Cancelar?

    Gracias de antemano

    1. Jesús Guerrero
      Jesús Guerrero dice:

      Hola, si no quieres complicarte, cuando a un botón le dices que su identificador (UniqueID) = 2, actúa de forma automática y cierra el form.
      Sino deberás hacerlo con la instruccion oForm.Close().

  2. Juan Carlos Murillo Cardoza dice:

    esta muy bien explicado el ejemplo y el código….. Pero desde donde lo invocas o como haces para que aparezca esa ventana?

    Saludos

    1. Jesús Guerrero
      Jesús Guerrero dice:

      Hola Juan Carlos,
      La idea es que tienes un formulario diseñado con una Grid, cargas el formulario y al cargarlo, llamas a la función para llenar los datos de la grid y formatearla a tu gusto.
      ¿El problema lo tienes en llamar/cargar a un formulario?
      Lo más fácil es crear una opción de menú o un botón en un formulario de SAP y al capturar el evento realizar la carga del formulario.
      Si puedo ayudarte en algo ya me comentas.
      Un saludo.

      1. Juan Carlos dice:

        Gracias por tu respuesta… me puse a trabajar y ya lo hice… pero no me gusta como quedo, es decir, se cuelga una opción al menú de los módulos y al dar clic ahí se dispara el formulario. me gustaría mas

        Sobre este punto….

        Un botón en un formulario de SAP y al capturar el evento realizar la carga del formulario.

        ¿Como agrego un botón, digamos al formulario de Recursos Humanos? y cuando le de clic a este botón disparar el formulario en que puse el grid.

        Un saludo

        1. Jesús Guerrero
          Jesús Guerrero dice:

          Hola Juan Carlos,

          Puedes hacerlo controlando en el item__event_after de los eventos que dispara SAP cuando el formTypeEx=”60100″, y se dispara el evento: et_FORM_DRAW
          Este es el tipo del formulario de empleados (recursos humanos).

          Podrías ejecutar una función como esta:

          Private Sub addButton(oForm As SAPbouiCOM.Form, idButton As String, txtButton As String, itemRef As String)
          Try
          oForm.Freeze(True)
          Dim oNewButton As SAPbouiCOM.Item
          Try
          oNewButton = oForm.Items.Add(idButton, SAPbouiCOM.BoFormItemTypes.it_BUTTON)
          Catch ex As Exception
          oNewButton = oForm.Items.Item(idButton)
          End Try
          Dim btnReference As SAPbouiCOM.Item = oForm.Items.Item(itemRef)
          oNewButton.Top = btnReference.Top
          oNewButton.Left = btnReference.Left + btnReference.Width + 5
          oNewButton.Width = btnReference.Width
          oNewButton.ToPane = btnReference.FromPane
          oNewButton.FromPane = btnReference.ToPane
          oNewButton.Description = txtButton
          CType(oNewButton.Specific, SAPbouiCOM.Button).Caption = txtButton
          Catch ex As Exception
          Finally
          oForm.Freeze(False)
          End Try
          End Sub

          Esto añade un botón al formulario que le indicamos, por ejemplo se puede llamar así:

          addButton(oForm, “nuevo”, “Boton nuevo”, “1”)

          Esto añade lo siguiente, crea un botón al lado del botón cancelar, que es el item con identificador=1 en el formulario de recursos humanos.

          Ahora ya solo te queda controlar el evento ItemPressed del ID del botón que has añadido y ya podrás hacer cualquier cosa.
          Te actualizo la página para que veas como sale la creación del nuevo botón.

          Saludos.

No se puede comentar esta notícia.

Utilizamos cookies para mejorar la experiencia del usuario. Si continuas utilizando este sitio, aceptas el uso de las cookies. Más información

Las opciones de cookie en este sitio web están configuradas para "permitir cookies" para ofrecerte una mejor experiéncia de navegación. Si sigues utilizando este sitio web sin cambiar tus opciones o haces clic en "Aceptar" estarás consintiendo las cookies de este sitio.

Cerrar