Diferencia entre revisiones de «Funciones de librería»

De Egeasy
Saltar a: navegación, buscar
Línea 1: Línea 1:
 
===[[Conversión de tipos]]===
 
===[[Conversión de tipos]]===
*Funciones que transforman el resultado de una expresión a un tipo de dato específico.
+
Funciones que transforman el resultado de una expresión a un tipo de dato específico.
  
 
===[[Indicadores de tipo]]===
 
===[[Indicadores de tipo]]===

Revisión del 12:24 20 abr 2009

Conversión de tipos

Funciones que transforman el resultado de una expresión a un tipo de dato específico.

Indicadores de tipo

$Tabla(E: <code>expresión): tabla</code>

$Lista(E: <code>expresión): lista_comprobacion</code>

$Vinculo(E: <code>expresión): vínculo</code>

$Coleccion(E: <code>expresión): colección</code>

  • Descripción

    Indica el tipo del resultado de una expresión. El resultado de la expresión ha de corresponder con el tipo a convertir. Muy útil cuando la expresión no es evaluada, por ejemplo por el acceso al dominio.

  • Ejemplo

$Tabla([&Dominio]->[Datos generales].[Auditores])

$Lista([Revisión].[Documentación a requerir])

$Vinculo([&Destino]->[Datos generales].[Delegado])

$Coleccion([Carpeta de concesión]->[Contenido])

Tratamiento de textos

$CopiarTexto(T: <code>texto, Inicio: entero, Longitud: entero): texto</code>

  • Descripción

    Devuelve una subristra de la ristra pasada como parámetro, indicando la posición de comienzo y el número de caracteres a devolver.

  • Ejemplos

$CopiarTexto(<code>"Expediente de control",15,7) //devuelve la ristra "control"</code>

$CopiarTexto([Nombre],1,1) <code>//devuelve la inicial del nombre</code>

$LongitudTexto(T: <code>texto): entero</code>

  • Descripción

    Devuelve el número de caracteres de un texto.

  • Ejemplo

$LongitudTexto(<code>"Expediente de control") //devuelve 21</code>

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.

  • 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.

  • 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.

  • 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.

  • Ejemplo

$ParteEntera($Real(<code>"22,64")) //devuelve 22</code>

$ParteDecimal(N: <code>real): real</code>

  • Descripción

    Devuelve la parte decimal de un real.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

  • 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).

  • 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.

  • 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.

  • 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).

  • 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.

  • 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]"

  • 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».

  • 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».

  • 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.

  • 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.

  • 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.

  • 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.

  • Ejemplo

$SeleccionarObjetosPorDefinicion([Contenido], <code>"[Hoja contable]") //devuelve todas las hojas contables contenidas en la colección</code>