4D v16.3SET TABLE TITLES |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SET TABLE TITLES
|
SET TABLE TITLES ( titulosTablas ; numTablas {; *} ) | ||||||||
Parámetro | Tipo | Descripción | ||||||
titulosTablas | Array cadena |
![]() |
Nombres de las tablas tal como deben aparecer | |||||
numTablas | Array entero largo |
![]() |
Números de las tablas | |||||
* |
![]() |
Utilizar los nombres personalizados en el editor de fórmulas | ||||||
SET TABLE TITLES permite ocultar, renombrar y reordenar las tablas de su base cuando aparecen en los editores estándar de 4D en modo Aplicación (cuando los editores se llaman vía los comandos del lenguaje 4D).Por ejemplo, este comando puede modificar la visualización de tablas en el editor búsquedas en modo Aplicación.
La utilización de este comando, también permite renombrar rápidamente las etiquetas de las tablas en sus formularios, si utilizó nombres dinámicos. Para mayor información sobre la inserción de etiquetas de tablas y de campos dinámicos en formularios, consulte la sección Utilizar las referencias en los textos estáticos en el manual de Diseño de 4D.
Los arrays titulosTablas y numTablas deben estar sincronizados. En el array titulosTablas, pase los nombres de las tablas como quiere que aparezcan. Si no quiere mostrar una tabla en particular, no incluya su nombre o nuevo título en el array. Las tablas aparecerán en el orden que especificó en este array. En cada elemento del array numTablas, pase el número de la tabla que corresponde al nombre, nuevo o antiguo, de la tabla, pasado en el mismo número de elemento en el array titulosTablas.
Por ejemplo, usted tiene una base compuesta por las tablas A, B, y C, creadas en este orden. Usted quiere que estas tablas aparezcan como X, Y, y Z. Además no quiere mostrar la tabla B. Por último, quiere mostrar Z y X, en este orden. Para hacer esto, pase en el parámetro titulosTablas un array de dos elementos, Z y X, y pase en el parámetro numTablas un array de dos elementos, 3 y 1.
El parámetro opcional * le permite indicar si los nombres personalizados definidos con la ayuda de este comando puede ser utilizados o no en las fórmulas de 4D:.
Nota: si su aplicación da acceso al editor de fórmulas (por ejemplo por el editor de Informes rápidos), es necesario pasar el parámetro * para mantener consistencia en la aplicación.
SET TABLE TITLES NO cambia la estructura actual de su base. Sólo afecta los usos posteriores de los editores estándar de 4D y formularios que utilizan nombres dinámicos cuando se llaman vía un comando del lenguaje (la estructura real de la base se muestra cuando el editor o formulario se llama desde un comando de menú en el entorno Diseño). El alcance del comando SET TABLE TITLES es la sesión de trabajo. La ventaja, en cliente/Servidor es que varios puestos clientes 4D pueden “ver” simultáneamente su base de diferentes formas. Puede llamar SET TABLE TITLES tantas veces como lo considere necesario.
Utilice el comando SET TABLE TITLES para:
Notas:
• SET TABLE TITLES NO anula el efecto de la propiedad invisible de una tabla. Cuando una tabla está definida como invisible a nivel de la estructura de su base, aunque se incluya en una llamada a SET TABLE TITLES, no aparecerá en modo Aplicación.
• Los plug-ins siempre acceden a la estructura "virtual" como se especifica por este comando.
` Método de proyecto TRADUCIR_TABLAS_Y_CAMPOS
` TRADUCIR_TABLAS_Y_CAMPOS (Text)
` TRADUCIR_TABLAS_Y_CAMPOS (LanguageCode)
C_TEXT($1) `código del idioma
C_LONGINT($vlTabla;$vlCampo)
C_TEXT($Idioma)
$Idioma:=$1
For($vlTabla;1;Get last table number) `Pasar por cada tabla
If($vlTabla#(Table(->[Traducciones]))) `No traducir la tabla de traducciones
`Verificar si existe una traducción de nombre de la tabla para el idioma especificado
QUERY([Traducciones];[Traducciones]Codigo_Idioma=$Idioma;*) `idioma deseado
QUERY([Traducciones];&;[Traducciones]Tabla_ID=$vlTabla;*) `Número de tabla
QUERY([Traducciones];&;[Traducciones]Campo_ID=0) `número de campo = 0 significa que es un nombre de tabla
If(Is table number valid($vlTabla)) `verificar que la tabla aún existe
If(Records in selection([Traducciones])=0)
`De lo contrario, crear el registro
CREATE RECORD([Traducciones])
[Traducciones]Codigo_Idioma:=$Idioma
[Traducciones]Tabla_ID:=$vlTabla
[Traducciones]Campo_ID:=0
`El nombre de la tabla traducida deberá introducirse
[Traducciones]Traduccion:=Table name($vlTabla)+" en "+$Idioma
SAVE RECORD([Traducciones])
End if
For($vlCampo;1;Obtener número del último campo($vlTabla))
`Verificar si exise una traducción para el nombre del campo en el idioma especificado
QUERY([Traducciones];[Traducciones]Codigo_Idioma=$Idioma;*) `idioma deseado
QUERY([Traducciones];&;[Traducciones]Tabla_ID=$vlTabla;*) `número de tabla
QUERY([Traducciones];&;[Traducciones]Campo_ID=$vlCampo) `número de campo
If(Is field number valid($vlTabla;$vlCampo))
If(Records in selection([Traducciones])=0)
`De lo contrario, crear el registro
CREATE RECORD([Traducciones])
[Traducciones]Codigo_Idioma:=$Idioma
[Traducciones]Tabla_ID:=$vlTabla
[Traducciones]Campo_ID:=$vlCampo
`El nombre del campo traducido debe introducirse
[Traducciones]Traduccion:=Field name($vlTabla;$vlCampo)+"en "+$Idioma
SAVE RECORD([Traducciones])
End if
Else
If(Records in selection([Traducciones])#0)
` Si el campo no existe, eliminar la traducción
DELETE RECORD([Traducciones])
End if
End if
End for
Else
If(Records in selection([Traducciones])#0)
`Si la tabla no existe, eliminar la traducción
DELETE RECORD([Traducciones])
End if
End if
End if
End for
TRANSLATE TABLES AND FIELDS("Español")
LOCALIZED TABLES AND FIELDS("Español")
con el método de proyecto TABLAS_Y_CAMPOS_LOCALIZADOS:
`Método objeto TABLAS_Y_CAMPOS_LOCALIZADOS
` TABLAS_Y_CAMPOS_LOCALIZADOS (Text)
` TABLAS_Y_CAMPOS_LOCALIZADOS (LanguageCode)
C_TEXT($1) `Código del idioma
C_LONGINT($vlTabla;$vlCampo)
C_TEXT($Idioma)
C_LONGINT($vlNumTabla;$vlNumCampo)
$Idioma:=$1
`Actualización de los nombres de tablas
ARRAY TEXT($asNombres;0) `Inicializar los arrays para SET TABLE TITLES y SET FIELD TITLES
ARRAY INTEGER($aiNumeros;0)
QUERY([Traducciones];[Traducciones]Codigo_Idioma=$Idioma;*)
QUERY([Traducciones];&;[Traducciones]Campo_ID=0) `nombres de tablas
SELECTION TO ARRAY([Traducciones]Traduccion;$asNombres;[Traducciones]Tabla_ID;$aiNumeros)
SET TABLE TITLES($asNombres;$aiNumeros)
`Actualización de los nombres de campos
$vlNumTabla:=Get last table number `Obtener el número de tablas en la base
For($vlTabla;1;$vlNumTabla) `Pasar por cada tabla
If(Is table number valid($vlTabla))
QUERY([Traducciones];[Traducciones]Codigo_Idioma=$Idioma;*)
QUERY([Traducciones]; & ;[Traducciones]Tabla_ID=$vlTabla;*)
QUERY([Traducciones]; & ;[Traducciones]Campo_ID#0) `evite que el cero sea nombre de tabla
SELECTION TO ARRAY([Traducciones]Traduccion;$asNombres;[Traducciones]Campo_ID;$aiNumeros)
SET FIELD TITLES(Tabla($vlTabla)->;$asNombres;$aiNumeros)
End if
End for
Get last table number
GET TABLE TITLES
SET FIELD TITLES
Table name
Producto: 4D
Tema: Interfaz de usuario
Número
601
Modificado: 4D v11 SQL
Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)