Diferencia entre revisiones de «Funciones de librería»
Línea 5: | Línea 5: | ||
===[[Tratamiento de textos]]=== | ===[[Tratamiento de textos]]=== | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===[[Tratamiento de números]]=== | ===[[Tratamiento de números]]=== |
Revisión del 11:24 20 abr 2009
Contenido
Conversión de tipos
Funciones que transforman el resultado de una expresión a un tipo de dato específico.
Indicadores de tipo
Tratamiento de textos
Tratamiento de números
$Entero(E: expresión): <code>entero
</code>
- Descripción
Devuelve el resultado de una expresión convertido a su estado numérico. En este caso, un entero. Para ello, la expresión debe devolver un entero en formato texto.
- Descripción
- Ejemplo
$Entero([D.N.I.]) <code>//devuelve 45678123
</code>
$Real(E: expresión): <code>real
</code>
- Descripción
Devuelve el resultado de una expresión convertido a su estado numérico. En este caso, un real. Para ello, la expresión debe devolver un real en formato texto.
- Descripción
- Ejemplo
$Real(<code>"1.400,23"
)//devuelve 1.400,23
</code>
$ParteEntera(N: <code>real
):entero
</code>
- Descripción
Devuelve el truncamiento de la parte entera de un real.
- Descripción
- Ejemplo
$ParteEntera($Real(<code>"22,64"
))//devuelve 22
</code>
$ParteEntera(N: <code>real
):entero
</code>
- Descripción
Devuelve el truncamiento de la parte entera de un real.
- Descripción
- Ejemplo
$ParteEntera($Real(<code>"22,64"
))//devuelve 22
</code>
$ParteDecimal(N: <code>real
):real
</code>
- Descripción
Devuelve la parte decimal de un real.
- Descripción
- Ejemplo
$ParteDecimal($Real(<code>"22,64"
))//devuelve 0,64
</code>
$Redondeo(N: <code>real
):entero
</code>
- Descripción
Redondea un número real, devolviendo un entero.
- Descripción
- Ejemplos
$Redondeo($Real(<code>"22,5"
))//devuelve 22
</code>
$Redondeo($Real(<code>"5,6"
))//devuelve 6
</code>
$EsPar(N: <code>entero
):lógico
</code>
- Descripción
Devuelve verdadero si el entero es par, falso en caso contrario.
- Descripción
- Ejemplo
$EsPar($Entero(<code>"3"
))//devuelve falso
</code>
$Max(Valor1: <code>real
, Valor2:real
{, V:real
}):real
</code>
- Descripción
Devuelve el mayor número de los pasados por paráemtro.
- Descripción
- Ejemplo
$Max($Real(<code>"20,14"
),$Real("7,56"
),$Entero("2"
))//devuelve 20,14
</code>
$Min(Valor1: <code>real
, Valor2:real
{, V:real
}):real
</code>
- Descripción
Devuelve el menor número de los pasados por parámetro.
- Descripción
- Ejemplo
$Min($Real(<code>"20,14"
),$Real("7,56"
),$Entero("2"
))//devuelve 2,00
</code>
Tratamiento de horas y fechas
$Fecha(E: expresión): <code>fecha
</code>
- Descripción
Convierte el resultado de una expresión a tipo fecha. El resultado de la expresión debe ser compatible con el campo fecha. El formato a seguir debe ser el siguiente dd/mm/aaaa. Si se dan los formatos dd/mm o dd se rellena con la fecha del sistema.
- Descripción
- Ejemplos
$Fecha(<code>"23/04/2003"
)//devuelve 23/04/2003
</code>
$Fecha(<code>"5/7/04"
)//devuelve 05/07/2004
</code>
$Fecha(<code>"23/4"
)//devuelve 23/04/2005
</code>
$Fecha(<code>"15"
)//devuelve 15/01/2005
</code>
$Hoy: <code>fecha
</code>
- Descripción
Devuelve la fecha del sistema.
- Descripción
- Ejemplo
$Hoy <code>//devuelve 13/04/2005 por ejemplo
</code>
$Año(F: <code>fecha
):entero
</code>
- Descripción
Devuelve el año de una fecha dada.
- Descripción
- Ejemplo
$Año($Fecha(<code>"13/04/2002"
))//devuelve 2002
</code>
$Mes(F: <code>fecha
):entero
</code>
- Descripción
Devuelve el mes de una fecha dada.
- Descripción
- Ejemplo
$Mes($Fecha(<code>"13/04/2002"
))//devuelve 4
</code>
$Dia(F: <code>fecha
):entero
</code>
- Descripción
Devuelve el día del mes de una fecha dada.
- Descripción
- Ejemplo
$Dia($Fecha(<code>"13/04/2002"
))//devuelve 13
</code>
$DiferenciaFechas(Fin: <code>fecha
, Inicio:fecha
):texto
</code>
- Descripción
Calcula la diferencia entre dos fechas dadas en días, meses y años. La fecha Fin debe ser estrictamente mayor que la fecha Inicio para que la función pueda devolver un valor.
- Descripción
- Ejemplos
$DiferenciaFechas($Fecha(<code>"20/04/2002"
), $Fecha("13/04/2002"
))//devuelve "7 días"
</code>
$DiferenciaFechas($Fecha(<code>"20/05/2003"
), $Fecha("13/11/2002"
))//devuelve "6 meses y 7 días"
</code>
$DiferenciaFechas($Fecha(<code>"30/08/2007"
), $Fecha("13/04/2002"
))//devuelve "5 años, 4 meses y 17 días"
</code>
$DiferenciaDias(Fin: <code>fecha
, Inicio:fecha
):entero
</code>
- Descripción
Calcula la diferencia en días de dos fechas dadas. La fecha Fin ha de ser estrictamente mayor que la fecha Inicio. Se devolverá un valor entero.
- Descripción
- Ejemplo
$DiferenciaDias($Fecha(<code>"20/04/2002"
),$Fecha("13/04/2002"
))//devuelve 7
</code>
$CalculaFecha(Inicio: <code>fecha
, NDias:entero
, Hábil:lógico
):fecha
</code>
- Descripción
Calcula una fecha a partir de una fecha inicio que introducimos como parámetro de entrada, indicando el número de días a contar y si éstos deben ser días hábiles (verdadero) o naturales (falso). El valor devuelvo será un valor tipo fecha con la nueva fecha calculada.
- Descripción
- Ejemplos
$CalculaFecha($Fecha(<code>"19/04/2002"
),2,verdadero)//devuelve 23/04/2002
</code>
$CalculaFecha($Fecha(<code>"21/04/2002"
),2,verdadero)//devuelve 23/04/2002
</code>
$CalculaFecha($Fecha(<code>"20/04/2002"
),2,falso)//devuelve 22/04/2002
</code>
Manejo de listas de comprobación
$Lista(E: expresión): <code>lista_comprobacion
</code>
- Descripción
Indica que el resultado de una expresión es una lista de comprobación. Muy útil cuando la expresión no es evaluada, por ejemplo por el acceso al dominio.
- Descripción
- Ejemplo
$Lista([&Dominio]->[Revisión].[Documentación a requerir])
$InvertirSeleccion(L: <code>lista_comprobacion
):lista_comprobacion
</code>
$InvertirSeleccion(M: <code>matriz
):matriz
</code>
- Descripción
Cambia el valor de selección de todas las filas de una lista de comprobación. También admite como parámetro una matriz cuya estructura sean dos columnas, una columna lógica llamada "seleccionado" y otra de tipo texto llamada "descripción". En este caso, invertiría los valores de la columna lógica. En realidad, una lista de comprobación es una matriz con las dos columnas que hemos comentado.
- Descripción
- Ejemplos
[Documentación presentada] <code>es
lista_comprobacion
</code>
$InvertirSeleccion([Datos generales].[Documentación presentada])
[Documentos entregados] {{PR|es}} {{T|tabla}} [seleccionados] {{PR|es}} {{T|logico}} [descripción] {{PR|es}} {{T|texto}}
---PENDIENTE---
$InvertirSeleccion($matriz([Datos generales].[Documentos entregados])</code><code>//[Documentos entregados] es un campo tabla con dos columnas (seleccionado, descripción)
</code>
Creación de matrices
$Matriz(T: <code>texto
{, A:texto
}):matriz
</code>
- Descripción
Devuelve una matriz de una columna, creada a partir de los valores introducidos como parámetros.
- Descripción
- Ejemplo
$Matriz(<code>"De documentación"
,"De requisitos"
,"De plazo"
,"De incidencias"
,"De alegaciones"
,"De denuncia"
,"De inscripción"
,"De actuaciones practicadas"
,"De requisitos, libros y plazo"
,"De plazo, documentación y requisitos"
)</code>
$Matriz(C: <code>tabla
):matriz
</code>
$Matriz(C: <code>lista_comprobacion
):matriz
</code>
$Matriz(C: <code>catálogo
):matriz
</code>
$Matriz(C: <code>colección
):matriz
</code>
$Matriz(C: <code>clasificador
):matriz
</code>
- Descripción
Devuelve una matriz cuyo contenido se obtendrá de los elementos que existan en los componentes tabla, catálogo, colección, clasificador o lista de comprobación.
- Descripción
- Ejemplos
$Matriz([Documentación presentada])
$Matriz([Terceros].[Contenido])
$Matriz([Datos generales].[Representantes])
$Matriz([Datos generales].[Documentación presentada])
$Matriz(R: <code>enumerado
):matriz
</code>
$Matriz(O: <code>exportacion
):matriz
</code>
- Descripción
Devuelve una matriz cuyo contenido se obtendrá de los elementos que existan en un enumerado (recurso) o una exportación (operación).
- Descripción
- Ejemplo
$Matriz([Municipios])
$Matriz([Tipos de impuestos])
$MatrizSQL(SentenciaSQL: <code>texto
):matriz
</code>
- Descripción
Devuelve una matriz cuyo contenido será el resultado de una sentencia SQL. Permite insertar el resultado de una expresión en la sentencia, prefijando con los dos puntos <<:>>. El valor interpolado tendrá la forma del tipo devuelto por la expresión.
- Descripción
- Ejemplo
$MatrizSQL("select * from TC$USERS where DEPARTAMENT = 'Dirección'")
$MatrizSQL("select RRC, DRC, NAME from TR$INFORMES where DOMAIN_RRC =:[Expediente]")
Manejo de matrices
$Filtrar(M: <code>matriz
, Condicion:texto
):matriz
</code>
- Descripción
Devuelve una matriz que introducimos como parámetro de la función, pero con aquellos elementos que cumplan la condición especificada en el segundo parámetro.
- Descripción
- Ejemplo
$Filtrar([Municipios], "[#Isla]=[Gran Canaria]") <code>//devuelve una matriz de los municipios de una determinada isla, tras evaluar el campo [Isla]
</code>
$Filtrar($Matriz[Representantes], "([#Tipo] = 'Secundario') y ([#Cargo] ='Directivo')")
$Ordenar(M: <code>matriz
, Columna:texto
, Ascendente:lógico
):matriz
</code>
- Descripción
Devuelve una matriz cuyas filas estarán ordenadas en función de la columna que indiquemos como parámetro. Podrán ordenarse ascendentemente (verdadero) o descendentemente (falso).
- Descripción
- Ejemplo
$Ordenar([Asignaturas], <code>"[#Curso]"
, verdadero)//devuelve una matriz con las asignaturas ordenadas por curso de forma ascendente
</code>
$EliminarFilasRepetidas(M: <code>matriz
):matriz
</code>
- Descripción
Elimina las filas repetidas de una matriz que pasamos a la función como parámetro de entrada.
- Descripción
- Ejemplo
PENDIENTE
$MatrizFila(Expresion: <code>texto
{, E:texto
}):matriz
</code>
- Descripción
Devuelve una matriz de una sola fila, donde los valores son obtenidos de campos definidos. La expresión corresponderá a una asignación con el nombre de la columna y a continuación la expresión de un campo donde obtener el valor. La forma de la expresión es "Nombre_columna = [Campo]"
- Descripción
- Ejemplo
$MatrizFila("[Nombre] = [Denominación]->[Datos del promotor].[Promotor]")
$RenombrarColumnas(M: <code>matriz
, Actual:texto
, Nuevo:texto
{, A:texto
, N:texto
}):matriz
</code>
- Descripción
Devuelve una matriz con las columnas «Actual» renombradas por «Nuevo».
- Descripción
- Ejemplo
$RenombrarColumnas(M, <code>"Cod"
,"Código"
,"Den"
,"Denominación"
) {{COM|//devuelve la matriz donde las columnas: "Cod" y "Den" se han renombrado por "Código" y "Denominación"</code>
$RenombrarColumnas(M: <code>matriz
, Actual:texto
, Nuevo:texto
{, A:texto
, N:texto
}):matriz
</code>
- Descripción
Devuelve una matriz con las columnas «Actual» renombradas por «Nuevo».
- Descripción
- Ejemplo
$RenombrarColumnas(M, <code>"Cod"
,"Código"
,"Den"
,"Denominación"
)//devuelve la matriz donde las columnas: "Cod" y "Den" se han renombrado por "Código" y "Denominación"
</code>
$Columnas(M: <code>matriz
, Columna:texto
{, C:texto
}):matriz
</code>
- Descripción
Función que devuelve una matriz con las columnas seleccionadas de otra matriz que introducimos como parámetro de entrada.
- Descripción
- Ejemplo
$Columnas([Municipios], <code>"[#Municipio]"
,"[#CodProvincia]"
)</code>
$AgruparSuma(M: <code>matriz
, Suma:texto
, Agrupa:texto
{, A:texto
}):matriz
</code>
- Descripción
Devuelve una matriz donde se agruparán las filas cuando exista una coincidencia entre los valores de las columnas «Agrupa» que se especifiquen. Al encontrar una coincidencia se sumarán los valores de las celdas «Suma» de cada coincidencia y el resultado se escribirá en la celda resultante de la columna «Suma». Se creará por tanto, una sola fila, con una columna «Suma» y la fusión de las columnas cuyos valores coincidan. La matriz devuelta sólo constará de las columnas «Agrupa» y la columna «Suma», que ha de ser numérica.
- Descripción
- Ejemplo
$AgruparSuma(M, <code>"Importe"
,"Producto"
,"Categoría"
)//devuelve una matriz con las tres columnas donde siempre que coincida los valores del par «Producto» y «Categoría», los valores de «Importe» se suman
</code>
Manejo de colecciones
$SeleccionarObjetoPorDefinicion(C: <code>colección
, D:definición
):contenedor
</code>
- Descripción
Devuelve en forma de matriz el primer contenedor de una colección que cumple la definición.
- Descripción
- Ejemplo
$SeleccionarObjetoPorDefinicion([Contenido], <code>"[Hoja contable]"
)//devuelve la primera hoja contable que encuentre en la colección especificada
</code>
$SeleccionarObjetosPorDefinicion(C: <code>colección
, D:definición
):matriz
</code>
- Descripción
Devuelve una matriz con todos aquellos objetos de la colección que cumplan la definición.
- Descripción
- Ejemplo
$SeleccionarObjetosPorDefinicion([Contenido], <code>"[Hoja contable]"
)//devuelve todas las hojas contables contenidas en la colección
</code>