Detalle
| Manual de Usuario | |
|---|---|
| Módulo | Documentos |
| Formulario | FormDocumentaciones |
| Tipo | Editor jerárquico de documentos (árbol + RTF) |
| Versión del manual | 1.0 |
Introducción
La pantalla Documentaciones es un repositorio jerárquico de documentos/manuales internos. Los documentos se organizan en un árbol (TreeList) con relación padre-hijo, y cada nodo tiene asociado un texto en formato RTF que se edita directamente desde la pantalla. Sirve para mantener manuales, instructivos, procedimientos y notas internas dentro del sistema.
Toda la estructura se guarda en la tabla Documentaciones, donde cada fila tiene Id, Id_Parent (nodo padre), Nombre y TextoRTF. El sistema crea automáticamente un nodo raíz "ROOT" la primera vez que no existe ningún documento.
Acceso al módulo
Se accede desde el módulo de Documentos. Al abrir, se muestra una pantalla de espera (WaitForm), se carga el árbol completo (DataSourceDocumentaciones) y se expanden todos los nodos.
Pantalla principal
La ventana se divide en dos paneles (splitContainerControl1):
- Panel izquierdo: árbol de documentos (
treeList1) con un cuadro de filtro (tx_ValueFilter) en la parte superior. - Panel derecho: editor de texto RTF (
rtb_DocumentoDoc) dentro de una pestaña, con su barra/ribbon de edición y el botón Guardar RTF (bb_GuardarRTF).
Sobre el árbol hay una barra de herramientas con: Refrescar, Agregar, Modificar y Eliminar, además de un menú contextual con Agregar, Modificar, Eliminar y Editar Nombre (Ctrl+E).
Al seleccionar un nodo se carga su texto RTF en el editor de la derecha.
Filtros de búsqueda
El cuadro Filtro (tx_ValueFilter) filtra el árbol en vivo: al escribir (o presionar Enter) se ejecuta Filter(), que recorre los nodos y muestra solo los que contienen el texto buscado (en cualquiera de sus columnas), manteniendo visibles los nodos padre para conservar la jerarquía.
Resultados
El árbol muestra los documentos jerárquicamente. La columna visible principal es Nombre (colNombre). Al enfocar un nodo:
- Se muestra su nombre en la etiqueta
lb_Documento. - Se carga su
TextoRTFen el editor. - Se habilita la barra de administración del nodo.
Acciones disponibles
| Acción | Cómo se dispara | Descripción |
|---|---|---|
| Refrescar | Botón Refrescar | Recarga el árbol desde la base y expande todo |
| Agregar | Botón / menú Agregar | Abre FormDocumentacionesV2_AddMod para crear un documento hijo del nodo enfocado (Id_Parent) |
| Modificar | Botón / menú Modificar, doble clic en el árbol | Abre el AddMod sobre el nodo enfocado |
| Eliminar | Botón / menú Eliminar | Borra el nodo; si tiene hijos, avisa que se eliminarán también y borra en cascada |
| Editar Nombre | Menú contextual / Ctrl+E | Habilita la edición inline del nombre del nodo en el árbol; al confirmar guarda |
| Guardar RTF | Botón bb_GuardarRTF |
Guarda el contenido RTF editado del documento enfocado (pide confirmación) |
| Filtrar | Cuadro de filtro | Filtra el árbol por el texto ingresado |
El botón Guardar RTF se habilita solo cuando el texto del editor difiere del estado inicial (hubo cambios); mientras hay cambios sin guardar, el panel del árbol queda deshabilitado para evitar perder la edición.
Ejemplo práctico
- Abrir Documentaciones.
- En el árbol, enfocar el nodo bajo el cual se quiere crear el documento.
- Presionar Agregar y cargar el nuevo documento (hijo del nodo enfocado).
- Seleccionar el nuevo nodo: el editor RTF de la derecha queda listo.
- Escribir el contenido y presionar Guardar RTF; confirmar.
- Para renombrar, clic derecho → Editar Nombre (o Ctrl+E), escribir el nuevo nombre y confirmar.
Consejos útiles
- Usá el filtro del panel izquierdo para ubicar rápido un documento dentro de un árbol grande; los padres se mantienen visibles.
- Antes de cambiar de nodo, guardá el RTF: mientras haya cambios sin guardar el árbol queda bloqueado.
- Al eliminar un nodo con hijos, el sistema avisa y los borra en cascada: revisá el contenido antes de confirmar.
- Ctrl+E edita el nombre inline; Esc cancela la edición del nombre.
Preguntas frecuentes
¿Dónde se guarda el texto de cada documento?
En la tablaDocumentaciones, columna TextoRTF, asociado al Id del nodo.
¿Qué es el nodo "ROOT"?
Es el nodo raíz que el sistema crea automáticamente la primera vez si no existe ningún documento (Id_Parent = 0). Cuelga de él toda la jerarquía.
Si elimino un documento con sub-documentos, ¿qué pasa?
El sistema avisa que los documentos contenidos se eliminarán automáticamente y, si confirmás, los borra en cascada.¿Por qué se deshabilita el árbol mientras edito?
Para proteger los cambios del RTF: mientras haya texto modificado sin guardar, el panel del árbol queda deshabilitado hasta que guardes (o el botón Guardar RTF vuelva a deshabilitarse).¿Cómo renombro un documento?
Clic derecho sobre el nodo → Editar Nombre (o Ctrl+E), editás el nombre inline y al confirmar se guarda.Permisos
El formulario FormDocumentaciones y su manager DocumentacionesManager no realizan llamadas a IsAllowedObject(...) ni KeyLicences...Access(...). El control de acceso se aplica a nivel del menú/módulo que invoca la pantalla, no dentro del formulario.
Información técnica
Basada en el análisis del formulario real de la v14
Formularios principales
| Form | Rol |
|---|---|
| FormDocumentaciones | Pantalla principal: árbol de documentos + editor RTF |
| FormDocumentacionesV2_AddMod | Alta/edición de un documento (nodo) |
Permisos reales
| Permiso | Acción |
|---|---|
| (sin permiso interno) | Ni el form ni el manager invocan IsAllowedObject; el control es por menú/módulo |
Tablas de base de datos principales
| Tabla | Uso |
|---|---|
| Documentaciones | Árbol de documentos: Id, Id_Parent, Nombre, TextoRTF, Id_Seguridad_Grupo, Fecha/Usuario Add y Mod |
| Seguridad_Grupos | Origen de Id_Seguridad_Grupo (grupo de seguridad asociable al documento) |
Relación con otros módulos / manuales
| Manual relacionado | Vínculo operativo |
|---|---|
| Firma Electrónica | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
| Campos definidos por el usuario | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
Notas para soporte
- El formulario está en
VPNET_WinForms\ManualDocumentos; el managerDocumentacionesManagerenVPNET_DataModel\Manager\Gestion\ManualDocumentos(EF Core sobreVisualPlenarioNetContext). - El listado del árbol se carga con un
SqlQueryque traeTextoRTFvacío por performance; el RTF real se lee on-demand al enfocar el nodo (TextRTF(id)). - Existe campo
Id_Seguridad_Grupoen la tabla, pero el formulario no aplica filtrado por grupo de seguridad en el código analizado: verificar contra el binario instalado si se requiere seguridad por documento.