Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Sintaxis

 

mBrowse( <nLinha1>, <nColuna1>, <nLinha2>, <nColuna2>, <cAlias>, <aFixe>, <cCpo>, <nPar>, <cCorFun>, <nClickDef>, <aColors>, <cTopFun>, <cBotFun>, <nPar14>, <bInitBloc>, <lNoMnuFilter>, <lSeeAll>, <lChgAll>, <cExprFilTop>, <nInterval>, <uPar22>, <uPar23> )

 

 

Propósito

 

Permite, por medio de una interfaz, que el usuario visualice todos los registros de un archivo de datos, de acuerdo con la necesidad de la aplicación.

 

 

Argumentos

 

< nLinha1 >

 

Número de la línea inicial en la cual se ubicará la ventana.

 

< nColuna1 >

 

Número de la columna inicial en la cual se ubicará la ventana.

 

< nLinha2 >

 

Número de la línea final en la cual se ubicará la ventana.

 

< nColuna2 >

 

Número de la columna final en la cual se ubicará la ventana.

 

< cAlias >

 

Alias de un archivo de datos cuyos registros se mostrarán en la pantalla. Lo mismo debe estar definido en el diccionario de datos, en el archivo SX3.

 

Para utilizar esta función con los archivos de trabajo, el alias de este debe, obligatoriamente, ser “TRB” y el parámetro aFixe se vuelve obligatorio.

 

< aFixe >

 

Array con los campos del archivo de datos que se mostrarán en las primeras columnas del browse. Es decir, define los campos que aparecerán fijos en las primeras columnas del browse.

 

Este parámetro es obligatorio cuando se utilizan archivos de trabajo, cuyo alias es “TRB”.

 

La estructura del array es diferente para los archivos que están en el diccionario de datos y para los archivos de trabajo.

 

La estructura del array para los archivos que forman parte del diccionario de datos es:

 

[n][1]  -->  Descripción del campo.

[n][2]  -->  Nombre del campo.

 

La estructura del array para los archivos de trabajo es:

 

[n][1]  -->  Descripción del campo.

[n][2]  -->  Nombre del campo.

[n][3]  -->  Tipo de dato: “C” (carácter), “N” (numérico), “D” (fecha), etc.

[n][4]  -->  Tamaño.

[n][5]  -->  Número de decimales.

[n][6]  -->  Picture (configuración de los datos).

 

< cCpo >

 

Campo del archivo de datos que se validará si está vacío o no para mostrar el bitmap de estatus de cada registro.

 

Cuando se utiliza este parámetro, la primera columna del browse es un bitmap que indica el estatus del registro, de acuerdo con las condiciones configuradas en los parámetros cCpo, cFun y aColors.

 

< nPar >

 

Parámetro reservado. No debe utilizarse.

 

< cCorFun >

 

Función que devuelve un valor lógico, responsable por definir si se modificará el color de la línea.

 

Cuando se utiliza este parámetro, automáticamente, no se considera el parámetro cCpo, pues el cambio de color de la línea ya no se basa en un campo del archivo de datos, sino en la función definida en este parámetro.

 

< nClickDef >

 

Define el número de la opción del aRotina que se ejecuta cuando el usuario hace doble clic en un registro del browse. El estándar (default) ejecuta la rutina de visualización.

 

< aColors >

 

Array con los colores que se muestran en la primera columna del browse para indicar el estatus del registro.

 

La estructura de este array es:

 

[n][1]  -->  Función que devolverá un valor lógico para mostrar el bitmap.

[n][2]  -->  Nombre del bitmap que se muestra cuando la función devuelve verdadero (.T.).

 

El bitmap debe estar incluido en el repositorio.

 

Cuando se utiliza este parámetro, automáticamente, no se consideran, los parámetros cCpo y cFun.

 

< cTopFun >

 

Función que devuelve el límite superior del filtro, con base en la clave de índice deseada.

 

< cBotFun >

 

Función que devuelve el límite inferior del filtro, con base en la clave de índice deseada.

 

< nPar14 >

 

Parámetro reservado. No debe utilizarse.

 

< bInitBloc >

 

Bloque de código que se ejecutará en la iniciación de la ventana del browse. El bloque de código recibirá como parámetro el objeto de la ventana del browse.

 

< lNoMnuFilter >

 

Valor lógico que define si la opción de filtro se muestra en el menú del mBrowse. Es decir, si el usuario tendrá permiso para filtrar los registros que se muestran en la pantalla.

 

Cuando el valor es verdadero (.T.), no muestra la opción en el menú. Cuando es falso (.F.), muestra la opción en el menú.

 

El valor estándar (default) es falso (.F.).

 

La opción de filtro en la función mBrowse está disponible únicamente  para bases de datos relacionales, con la utilización del TopConnect.

 

< lSeeAll >

 

Define si el browse muestra todas las sucursales.

 

El valor verdadero (.T.) muestra todas las sucursales. El valor falso (.F.) no muestra todas las sucursales.

 

El valor estándar (default) es falso (.F.).

 

En caso de que se informen los parámetros cTopFun o cBotFun, este parámetro se configurará automáticamente como falso (.F.).

 

La función SetBrwSeeAll modifica el valor estándar (default) de este parámetro.

 

< lChgAll >

 

Define si pueden modificarse los registros de otras sucursales.

 

El valor verdadero (.T.) permite modificar registros de otras sucursales. El valor falso (.F.) no permite.

 

El valor estándar (default) es falso (.F.).

 

Cuando este parámetro está configurado como verdadero (.T.), el parámetro lSeeAll se configura automáticamente como verdadero (.T.).

 

Si se informan los parámetros cTopFun o cBotFun, este parámetro se configurará automáticamente como falso (.F.).

 

La función SetBrwChgAll modifica el valor estándar (default) de este parámetro.

 

< cExprFilTop >

 

Expresión de filtro para que se ejecute únicamente en el entorno TOP (Base de datos relacional).

 

La expresión debe escribirse en SQL.

 

< nInterval >

 

Cantidad de tiempo pasada a la función Timer.

 

< bTimerAction >

 

Bloque de código que se ejecutará cuando se active la función Timer.

 

< uPar22 >

 

Parámetro reservado. No debe utilizarse.

 

< uPar23 >

 

Parámetro reservado. No debe utilizarse.

 

 

Utilización

 

Este componente visual es bastante utilizado en la interfaz de las aplicaciones para mostrar los registros incluidos en un archivo de datos, permitiendo que también se muestre un menú de opciones al usuario, para que seleccione la opción que desea ejecutar.

 

Además, permite que se maneje la información, muestra identificadores de estatus de los registros, leyendas y filtros para mostrar únicamente la información que se ajusta a determinadas condiciones.

 

Esta función tiene los siguientes componentes:

 

  • Browse estándar para la visualización de la información del archivo de datos, de acuerdo con las configuraciones incluidas en el diccionario de datos, en el archivo SX3.
  • Parametrización para las funciones específicas de visualización, inclusión modificación y borrado de información, lo cual permite el mantenimiento de la información con la estructura de encabezados e ítems.
  • Recursos adicionales como identificadores de estatus de registros, leyendas y filtros para la información.

 

Las columnas del browse se seleccionan automáticamente, de acuerdo con la configuración del diccionario de datos y del usuario:

 

  • Utilización del campo en el módulo en el que se ejecuta la función.
  • Si se muestra el campo en el browse.
  • Nombre del campo.
  • Configuración del profile del usuario.

 

En caso que se informe el parámetro aFixe, se muestran los campos configurados en el array sin considerar los ítems mencionados anteriormente. El parámetro aFixe es obligatorio cuando se utiliza la mBrowse con archivos de trabajo.

 

Para seguir el estándar de la función AxCadastro() en las coordenadas de la pantalla, deben utilizarse las siguientes ubicaciones: 6,1,22,75.

 

Existen algunas variables privadas que se utilizan en conjunto con esta función:

 

aRotina

 

Este array contiene las opciones disponibles para el usuario y las respectivas funciones que se ejecutarán cuando el usuario seleccione la opción. Debe declararse antes de llamar a la función mBrowse.

 

Este array debe tener la siguiente estructura:

 

[n][1]  -->  Título de la rutina que se mostrará en el menú.

[n][2]  -->  Nombre de la función que se ejecutará.

[n][3]  -->  Parámetro reservado. Siempre debe ser 0 (cero).

[n][4]  -->  Número de la operación que ejecutará la función. Las opciones son:

 

  • 1=Búsqueda
  • 2=Visualización
  • 3=Inclusión
  • 4=Modificación
  • 5=Borrado
  • 6=Modificación sin permiso para incluir nuevas líneas. Solamente tiene validez para los objetos GetDados y GetDb.

[n][5]  -->  Este elemento es opcional. Cuando se informa, debe tener el número de la configuración del archivo de accesos del Protheus (sigamat.acs), que indica si el usuario tendrá acceso a esta opción.

 

Al definir las funciones en el array aRotina, si no se especifica el nombre de la función con los paréntesis, “()”, la mBrowse pasará las siguientes variables de control como parámetros:

 

  • cAlias = Nombre del área de trabajo definida para la mBrowse.
  • nReg  = Número (Recno) del registro ubicado en la mBrowse.
  • nOpc  = Posición de la opción utilizada en la mBrowse, de acuerdo con el orden de la función en el array aRotina.

 

A continuación se muestra un ejemplo con las funciones básicas:

 

AADD(aRotina, { “Buscar”, “AxPesqui”, 0, 1 })

AADD(aRotina, { “Visualizar”, “AxVisual”  , 0, 2 })

AADD(aRotina, { “Incluir”      , “AxInclui”   , 0, 3 })

AADD(aRotina, { “Modificar”     , “AxAltera”  , 0, 4 })

AADD(aRotina, { “Borrar”     , “AxDeleta” , 0, 5 })

 

La opción de las funciones en el array aRotina define el contenido de una variable de control, que se repasará a las funciones llamadas a partir de la mBrowse, denominada como nOpc. De esta manera, para mantener el estándar de la aplicación ERP Protheus, se tendrá el siguiente orden en la definición del aRotina:

 

  1. Buscar
  2. Visualizar
  3. Incluir
  4. Modificar
  5. Borrar
  6. Libre

 

cCadastro

 

Para configurar el título de la ventana, debe declararse esta variable antes de la llamada de la función.

 

Si no se declara esta variable, el título de la ventana será la descripción de la función ejecutada en el menú principal.

 

 

Ejemplos

 

#include “protheus.ch”

 

USER FUNCTION mBrwSA2()

 

LOCAL cAlias := “SA2”

 

PRIVATE cCadastro := “Archivo de proveedores”

PRIVATE aRotina     := { }

 

AADD(aRotina, { “Buscar”, “AxPesqui”, 0, 1 })

AADD(aRotina, { “Visualizar”, “AxVisual”  , 0, 2 })

AADD(aRotina, { “Incluir”      , “AxInclui”   , 0, 3 })

AADD(aRotina, { “Modificar”     , “AxAltera”  , 0, 4 })

AADD(aRotina, { “Borrar”     , “AxDeleta” , 0, 5 })

 

dbSelectArea(cAlias)

dbSetOrder(1)

 

mBrowse(6, 1, 22, 75, cAlias)

 

RETURN NIL

 

 

A continuación, otro ejemplo de la función mBrowse.

 

USER FUNCTION CTJA010()

 

LOCAL cFiltro   := ""

LOCAL aCores  := {{ 'PA1->PA1_STATUS=="1"' , 'ENABLE'  },;    // Activo

                                { 'PA1->PA1_STATUS=="2"' , 'DISABLE' }}    // Inactivo

 

PRIVATE cAlias   := 'PA1'

PRIVATE _cCpo  := "PA1_FILIAL/PA1_PRODUT/PA1_DESC"

 

PRIVATE cCadastro := "Tabla de unidad"

PRIVATE aRotina     := {{"Buscar" , "AxPesqui"         , 0, 1 },;

                                       {"Visualizar" , "U_CTJA010B"   , 0, 2 },;

                                       {"Incluir"       , "U_CTJA010B"   , 0, 3 },;

                                       {"Modificar"      , "U_CTJA010B"   , 0, 4 },;

                                       {"Borrar"      , "U_CTJA010B"   , 0, 5 },;

                                       {"Consultar" , "U_CTJA010C"   , 0, 6 },;

                                       {"Leyenda"   , "U_CTJA10LEG", 0, 7, 0, .F. }}        //"Leyenda"

dbSelectArea("PA1")

dbSetOrder(1)

 

mBrowse( ,,,,"PA1",,,,,,aCores,,,,,,,,cFiltro)

 

RETURN NIL