TTprxExplorer MainForm
Introducción
El form TTprxExplorer_MainForm (Explorador principal de la aplicación) es la pantalla principal de la aplicación. Una vez que hemos hecho el login (con éxito) veremos esta pantalla.
Identidad
- Ancestro: TTfvsForm
- Carpeta: C:\DevelopPrx\explorer
- Archivo: prxExplorer_MainForm.pas
Pantalla principal
Aspecto en runtime
Cuando ejecutamos la aplicación el usuario verá algo similar a:

- Menú general lleva a varias opciones de la aplicación, normalmente orientadas a administradores.
- Menú estadísticos muestra las opciones más utilizadas por el usuario, ordenadas según el uso (la más utilizada primero).
- Menú favoritos muestra las opciones que el usuario ha elegido como favoritas.
- Menús del usuario son los menús que el usuario tiene asignados (ver USUARIOS/MENUS).
- Árbol de menús es un árbol TreeView donde se agregan los menús.
- Contenido del menú muestra las pantallas asociadas al menú que tenemos activo.
- Modo local cuando lo marcamos la aplicación abre las pantallas desde dentro, si no lo marcamos abre las pantallas usando otra aplicación (más sobre esto más adelante). Las pantallas abiertas usando el modo local alimentan a Lista de pantallas abiertas.
Aspecto en diseño
Cuando estamos en diseño el aspecto es muy distinto, básicamente tiene un gran panel que es un TPageControl que permite agregar pestañas (aunque no las usa).

Al iniciar la aplicación este panel instancia un TTprxMENUS_Frame que maneja los menús.
Número de release
La aplicación tiene un número de release que identifica la versión, se identifica como se muestra abajo y habitualmente se agregan comentarios justo abajo indicando qué cambios tuvo ese release.
El número de release se asigna a la constante TAcercaDeRelease .
TAcercaDeRelease = '20250506_1053_DATETIME_F5'; { 05/06/2025, TprxDBEditDateTime admite la definición de un SELECT_F5 en los auxiliares. prxDBEditDateTime: cambios en la función Seleccionar para que use SELECT_F5. Si SELECT_F5 está definido tenemos que cerrar la selección sin elegir para que aparezca el calendario. Armado originalmente para impSUJETO_EXENCION_Agrupada_Consulta. }
Declaración
type TTprxExplorer_MainForm = class(TTfvsForm) Panel1: TPanel; PageControlCONTENIDO: TPageControl; prxMainMenu: TMainMenu; prxMainMenuArchivo: TMenuItem; AnularAutoconexion: TMenuItem; N3: TMenuItem; prxMainMenuSalir: TMenuItem; Herramientas1: TMenuItem; CerrarPestania1: TMenuItem; Ayuda2: TMenuItem; SentenciaSQL1: TMenuItem; N2: TMenuItem; RepositorioAFIP1: TMenuItem; CargarplanillaAFIP1: TMenuItem; ProyeccindeFondosXTD1: TMenuItem; N4: TMenuItem; FacturaElectronica: TMenuItem; AnalisisStockPragma: TMenuItem; Configuracin1: TMenuItem; N6: TMenuItem; Acercade1: TMenuItem; StatusBar1: TStatusBar; Cambiarclaveusuario1: TMenuItem; N5: TMenuItem; EnviarMail1: TMenuItem; SQL1: TMenuItem; OpcionSQL_SELECT: TMenuItem; OpcionSQL_UPDATE: TMenuItem; N8: TMenuItem; OpcionSQL_ReabrirComprobantes: TMenuItem; N7: TMenuItem; ExportarCatalogoItem: TMenuItem; ImportarCatalogoItem: TMenuItem; N1: TMenuItem; ColectorCodigosBarra1: TMenuItem; N9: TMenuItem; N10: TMenuItem; Mandarmail1: TMenuItem; N13: TMenuItem; ListaPantallas1: TMenuItem; XMLDocumentFrame: TMenuItem; N11: TMenuItem; Refrescarcatlogo1: TMenuItem; Micolector1: TMenuItem; N12: TMenuItem; Formcriterios1: TMenuItem; N14: TMenuItem; NavegadorpMENU1: TMenuItem; Documentacinenlnea1: TMenuItem; N15: TMenuItem; Abrir1: TMenuItem; procedure FormShow(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure AnularAutoconexionClick(Sender: TObject); procedure prxMainMenuSalirClick(Sender: TObject); procedure SentenciaSQL1Click(Sender: TObject); procedure RepositorioAFIP1Click(Sender: TObject); procedure ProyeccindeFondosXTD1Click(Sender: TObject); procedure FacturaElectronicaClick(Sender: TObject); procedure AnalisisStockPragmaClick(Sender: TObject); procedure Dominios1Click(Sender: TObject); procedure Acercade1Click(Sender: TObject); procedure Cambiarclaveusuario1Click(Sender: TObject); procedure EnviarMail1Click(Sender: TObject); procedure OpcionSQL_SELECTClick(Sender: TObject); procedure OpcionSQL_UPDATEClick(Sender: TObject); procedure OpcionSQL_ReabrirComprobantesClick(Sender: TObject); procedure ExportarCatalogoItemClick(Sender: TObject); procedure ImportarCatalogoItemClick(Sender: TObject); procedure ColectorCodigosBarra1Click(Sender: TObject); { procedure SCANDOCS1Click(Sender: TObject); } procedure Mandarmail1Click(Sender: TObject); procedure ListaPantallas1Click(Sender: TObject); procedure XMLDocumentFrameClick(Sender: TObject); procedure Refrescarcatlogo1Click(Sender: TObject); procedure Micolector1Click(Sender: TObject); // procedure Formcriterios1Click(Sender: TObject); procedure NavegadorpMENU1Click(Sender: TObject); procedure Documentacinenlnea1Click(Sender: TObject); procedure Abrir1Click(Sender: TObject); private FDBInitCount: Integer; FFormSentenciaSQL: TTprxSentenciaSQLForm; FListaPantallasForm: TTfvaListaPantallasForm; protected function ConectarClick: Boolean; procedure OnDatabaseConnect(Sender: TObject); procedure CreateAndShowFrameOnForm(aCaption: String; aFrameName: String; aBitmapId: String; aCatalogo: String = ''); procedure CreateAndShowUsingClassShow(aCaption: String; aFrameName: String); procedure Usuario_CambiarClave_Click(Sender: TObject); property DBInitCount: Integer read FDBInitCount write FDBInitCount; property FormSentenciaSQL: TTprxSentenciaSQLForm read FFormSentenciaSQL write FFormSentenciaSQL; property ListaPantallasForm: TTfvaListaPantallasForm read FListaPantallasForm write FListaPantallasForm; public end;
Implementación
procedure FormShow(Sender: TObject)
Este form se instancia antes que cualquier otra cosa en la aplicación.
Antes de mostrarse llama al form de login con:
if vConectar = False then begin prxADOClientDM.ADOMainConnection.Connected := False; vConectar := prxADOClientDM.ADOMainConnection.fva_login; end;
Si conecta correctamente al dominio y a una base de datos va a llamar a:
prxADOClientDM.ADOMainConnection.AfterConnect := OnDatabaseConnect;
Finalmente informa al frame que debe abrir TTprxMENUS_Frame para mostrar los menús.
procedure Usuario_CambiarClave_Click(Sender: TObject)
Se ejecuta cuando el usuario pide cambiar su clave con click derecho sobre cualquier menú.
procedure ExportarCatalogoItemClick(Sender: TObject)
Se ejecuta cuando pedimos exportar el catálogo.
procedure ImportarCatalogoItemClick(Sender: TObject)
Se ejecuta cuando pedimos importar el catálogo.
procedure ListaPantallas1Click(Sender: TObject)
Se ejecuta cuando pedimos ver la lista de pantallas abiertas (ver TTfvaListaPantallasForm).
procedure CreateAndShowFrameOnForm(aCaption: String; aFrameName: String; aBitmapId: String; aCatalogo: String = BLANK)
Procedimiento genérico que abre un form TTprxForm y le agrega el frame aFrameName.
procedure Documentacinenlnea1Click(Sender: TObject)
Se ejecuta cuando pedimos ver la documentación en línea desde el menú principal.
procedure OnDatabaseConnect(Sender: TObject)
Se ejecuta cuando el usuario se loguea correctamente a un dominio y a una base de datos.
- Inicializa Data module.
- Inicializa los ítems del menú de opciones.
- Agrega el registro del login a la tabla USUARIOS/LOGIN.
procedure OpcionSQL_UPDATEClick(Sender: TObject)
Abre el form para sentencias UPDATE de SQL.
procedure OpcionSQL_SELECTClick(Sender: TObject)
Abre el form para sentencias SELECT de SQL.
procedure OpcionSQL_ReabrirComprobantesClick(Sender: TObject)
Abre la pantalla para reabrir comprobantes.
procedure Refrescarcatlogo1Click(Sender: TObject)
Refresca el catálogo.
procedure RepositorioAFIP1Click(Sender: TObject)
Abre el repositorio de AFIP, opción OBSOLETA.
procedure ProyeccindeFondosXTD1Click(Sender: TObject)
Abre la proyección financiera.
procedure Acercade1Click(Sender: TObject)
Abre el form "Acerca de...":

Éste muestra:
- Aplicación: es la aplicación que se está ejecutando, normalmente C:\pragmaclient\prxExplorerPrj.exe.
- Release: es el número de release de la aplicación, éste es dado por los desarrolladores en este form.
- Conexión: Muestra la base de datos y la IP a la que está conectada la aplicación.
- Usuario: muestra el código de usuario logueado y la IP de su computadora.
- Inicio: muestra el inicio de la sesión.
- Carpeta: no está en uso.
- DevlogTS: muestra el último TIMESTAMP del catálogo y además la fecha límite de las llaves ingresadas.
- Imágenes: hace referencia a la librería de imágenes usada en la aplicación, el sitio ya no existe.
Uso
Este frame se usa como navegador principal de la aplicación.