DEV CLASES/CAMPOS
Descripción
La tabla prxcampos (Clases, campos) permite definir los campos que forman parte de una tabla.
Estructura
Identidad
- Tabla: prxcampos
- Tipo: TABLA
- Detalle de: DEV CLASES
- Define atributo Campo
- Catálogo: SYS OBJETOS
Lista de campos
Columna | Campo físico | Campo lógico | Atributo | Descripción | Etiquetas | Definición | Observaciones |
---|---|---|---|---|---|---|---|
1 | Clase | Clase | prxclases | Clases | KEY,REQ,INS | prxcampos | Nombre de la clase a la que pertenece el campo. |
2 | Campo | Campo | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | KEY,REQ,VIS,INS | prxcampos | Nombre físico del campo. |
3 | AtributoUDT | AtributoUDT | pUDT | Tipos de datos definidos | REQ,VIS,INS | prxcampos | Código de atributo del campo. |
4 | Clave | Clave | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que el campo es parte de la clave primaria. |
5 | DefineAtributo | DefineAtributo | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para que la clase se sume como un atributo disponible a otras clases. |
6 | Alias | Alias | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que se trata de un campo alias, y puede ser usado como un código alternativo a la clave primaria en la validación de los campos. |
7 | EditaEnINSERT | EditaEnINSERT | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que el campo es editable durante la inserción del registro. |
8 | EditaEnUPDATE | EditaEnUPDATE | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que el campo es editable durante la actualización del registro. |
9 | Requerido | Requerido | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que se trata de un campo cuyo valor es requerido y no puede dejarse en NULL. |
10 | RequeridoValor | RequeridoValor | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS,UPD | prxcampos | El campo proporcionaría un valor para cuando agreguemos un nuevo campo cuyo valor es requerido pero no está en uso. |
11 | IndicaDefecto | IndicaDefecto | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que este campo indica un registro por defecto. La funcionalidad de este campo está siendo reemplazada por triggers y no debería ser usado. |
12 | Visible | Visible | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar para indicar que el campo es visible en las pantallas del sistema. |
13 | Deprecado | Deprecado | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Marcar solamente si el campo se encuentra deprecado / obsoleto. |
14 | Grupo | Grupo | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS,UPD | prxcampos | Permite definir un título para un grupo de campos. |
15 | Panel | Panel | pCAMPO_PANEL | Panel en el que se muestra el campo | REQ,VIS,INS,UPD | prxcampos | Permite definir en qué panel de la pantalla de edición se muestra el campo. |
16 | Indicaciones | Indicaciones | VARCHAR(256) | Caracteres de longitud variable hasta 256 caracter/es | VIS,INS,UPD | prxcampos | Indicaciones al usuario relacionadas con el campo, se muestran al pie de la pantalla de edición al ingresar en el campo. |
17 | ActualizaCascada | ActualizaCascada | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Indica si el campo actualiza en cascada con su atributo, no se usa y probablemente se elimine eventualmente. |
18 | EliminaCascada | EliminaCascada | BIT | Campo lógico, admite 1, 0 y NULL | REQ,VIS,INS,UPD | prxcampos | Indica si el campo elimina en cascada con su atributo, no se usa y probablemente se elimine eventualmente. |
19 | ValorPorDefecto | ValorPorDefecto | VARCHAR(128) | Caracteres de longitud variable hasta 128 caracter/es | VIS,INS,UPD | prxcampos | Indica un valor por defecto, solo se usa en las pantallas de edición y no se agrega a la base de datos como valor defecto. |
20 | CamposCalculados | CamposCalculados | VARCHAR(256) | Caracteres de longitud variable hasta 256 caracter/es | INS,UPD | prxcampos | Los campos calculados asociados a un atributo de tipo clase se graban en este campo, no es editable por el usuario ya que se graban en la pantalla de selección de campos. |
21 | Computo | Computo | VARCHAR(640) | Caracteres de longitud variable hasta 640 caracter/es | VIS,INS,UPD | prxcampos | Agregar el comando SQL si se trata de un campo calculado o computado. |
22 | Observaciones | Observaciones | VARCHAR(64) | Caracteres de longitud variable hasta 64 caracter/es | VIS,INS,UPD | prxcampos | Observaciones lbres sobre el campo. |
23 | NroColumna | NroColumna | prxcmplinea | Número de linea autoincremental de Pragma. | VIS, | prxcampos | Número de orden de la columna, asignado automáticamente por el sistema. |
Observaciones adicionales sobre los campos
DefineAtributo
Los atributos posibles para asignar a los campos definidos en el sistema se encuantran en Tipos de datos definidos (pUDT), éstos se conforman por:
- Atributos primitivos definidos en Tipos de datos primitivos (pPDT).
- Enumeraciones, definidas en Enumeraciones.
- Clases, definidas en Clases (prxclases).
Para que una clase esté disponible como atributo debemos marcar este campo en el último campo clave de la clase.
Por ejemplo, si tenemos una clase llamada ARTICULO que define un campo clave llamado CODIGO que tiene un atributo VARCHAR(24) y marcamos el campo DefineAtributo entonces el sistema va a crear un atributo llamado ARTICULO con un atributo VARCHAR(24) que va a validar directamente en la tabla ARTICULO. Para clases con claves primarias compuestas (con más de un campo) tenemos que definir el atributo usando el último campo de la clave.
IndicaDefecto
Si necesitáramos definir que un registro dentro de una tabla es el registro por defecto (por ejemplo, una moneda en particular dentro de una lista de monedas) podríamos usar un campo llamado FDEFECTO de tipo BIT y marcar el registro en cuestión, desmarcando todos los demás registros.
Este era el procedimiento estándar, además marcando ese campo con IndicaDefecto indicando que ese campo marca un solo registro y todos los demás registros deberían estar desmarcados. Esta funcionalidad la proporciona el sistema al grabar, pero desde hace un tiempo la opción no se está usando más y en su lugar debería usarse un trigger que haga eso.
Panel
Las pantallas del sistema son todas iguales, solo que se completan según las definiciones de las clases que deben mostrarse. La pantalla completa tiene diferentes paneles y podemos indicar donde se ubica cada clase. Normalmente la clase master se va a ubicar arriba de todo, y los detalles se ubicarán cada uno en una pestaña.
Los paneles posibles son:
- main: es el panel principal, arriba de todo.
- property: iba a ser un panel de propiedades pero jamás se implementó. esta opción no debe usarse.
- total: es el panel que muestra los totales, abajo a derecha.
- comments: es el panel que muestra los comentarios, abajo a izquierda.
- tab_first: sería la primer pestaña, agregada antes del primer detalle de la clase.
- tab_last: sería la última pestaña, agregada después del último detalle de la clase.
- tab_comments: sería una pestaña agregada al final pero no está en uso.
Por ejemplo, la siguiente pantalla corresponde a una factura de compras:

- Los paneles 1.i y 1.d corresponden a main. Normalmente una clase va a definir un solo panel principal (1.i), pero si en algún campo de la clase agregamos el comando
a Grupo el sistema va a abrir una segunda pestaña y los campos a partir de ése se mostrarán en la segunda pestaña (1.d). - El panel p.1 corresponde a la primer clase detalle excepto cuando hayamos indicado que hay campos que van al panel tab_first en cuyo caso el sistema abrirá una pestaña antes del primer detalle y mostrará los campos asociados a ese panel en él.
- El panel p.2 podría ser la pestaña de un segundo detalle, pero en este caso corresponde a campos asociados al panel tab_last que agrega una pestaña después del último detalle para mostrar esos datos.
- El panel comentarios corresponde a tab_comments.
- El panel total corresponde a total.
Grupo
El campo Grupo permite definir un título justo antes del campo en el que se define.
Por ejemplo, la pantalla de artículos muestra un título (Grupo) denominado Atributos que agrupa algunos campos:

La definición en esta tabla es:

Relaciones
Triggers
prxcampos_TR_pUDT_UPDATE
Llama al procedimiento pUDT_REFRESCO_EXEC para refrescar los atributos de Tipos de datos primitivos (pPDT) y Tipos de datos definidos (pUDT).
Este trigger opera en INSERT y UPDATE.
prxcampos_TR_pUDT_DELETE
Llama al procedimiento pUDT_REFRESCO_EXEC para refrescar los atributos de Tipos de datos primitivos (pPDT) y Tipos de datos definidos (pUDT).
Este trigger opera en DELETE.