Ejemplos de fórmulas


Formato de salida de fechas

Supongamos que tenemos una variable de tipo fecha. En este caso, la variable recoge el valor de la fecha actual:

Nombre Fórmula
Hoy FechaMunigex.Hoy

Formatear la fecha para que salga en formato corto, mediano o largo.

Nombre Fórmula Resultado
Hoy_fechaCorta Hoy.EnTexto('C') 08/10/2012
Hoy_fechaMediana Hoy.EnTexto('M') 08/oct/2012
Hoy_fechaLarga Hoy.EnTexto('L') 8 de octubre de 2012
Hoy_fechaEspecial Hoy.EnTexto('X') lunes, 8 de octubre de 2012

Obtener la fecha con el año en dos dígitos.

Nombre Fórmula Resultado
Hoy_fechaCorta_yy Hoy.EnTexto('C',True) 08/10/12
Hoy_fechaMediana_yy Hoy.EnTexto('M',True) 08/oct/12

Formatear la fecha según el idioma especificado. El código del idioma es según ISO.

Nombre Fórmula Resultado
Hoy_fechaCorta_euskera Hoy.EnTexto('C',"eu-ES") 2012/10/08
Hoy_fechaMediana_euskera Hoy.EnTexto('M',"eu-ES") 2012/urr./08
Hoy_fechaLarga_euskera Hoy.EnTexto('L',"eu-ES") 2012ko urriaren 8a
Hoy_fechaEspecial_euskera Hoy.EnTexto('X',"eu-ES") astelehena, 2012ko urriaren 8a

Formatear la fecha en un idioma especifico y con el año en dos dígitos.

Nombre Fórmula Resultado
Hoy_fechaCorta_euskera_yy Hoy.EnTexto('C',"eu-ES",True) 12/10/08
Hoy_fechaMediana_euskera_yy Hoy.EnTexto('M',"eu-ES",True) 12/urr./08

Si necesita algún otro formato distinto puede especificar su propio formato

Nombre Fórmula Resultado
Hoy_otroFormato Hoy.ToString("dd-MM-yyyy") 08-10-2012

Obtener el día de la semana correspondiente a la fecha.

Nombre Fórmula Resultado
Hoy_diaSemana Hoy.DiaSemana lunes

Formatear la salida del día de la semana

Nombre Fórmula Resultado
Hoy_DiaSemana_Corto Hoy.DiaSemana.EnTexto('C') L
Hoy_DiaSemana_Mediano Hoy.DiaSemana.EnTexto(<span class="rojo">'M'</span>) LUN
Hoy_DiaSemana_Largo Hoy.DiaSemana.EnTexto('L') LUNES

Obtener el día de la semana en diferentes idiomas.

Nombre Fórmula Resultado
Hoy_DiaSemana_Corto_euskera Hoy.DiaSemana.EnTexto('C',"eu-ES") A
Hoy_DiaSemana_Mediano_euskera Hoy.DiaSemana.EnTexto('M',"eu-ES") AL.
Hoy_DiaSemana_Largo_euskera Hoy.DiaSemana.EnTexto('L',"eu-ES") ASTELEHENA

Obtener el número de día de la semana. Se numeran del 0 al 6. Fecha actual: 16/01/2013 (miércoles)

Nombre Fórmula Resultado
Hoy_DiaSemana_Num Hoy.DiaSemana.Numero 2

Obtener el nombre del mes actual.

Nombre Fórmula Resultado
Hoy_Mes_Corto Hoy.Mes.EnTexto("C") E
Hoy_Mes_Mediano Hoy.Mes.EnTexto("M") ENE
Hoy_Mes_Largo Hoy.Mes.EnTexto("L") ENERO

Obtener el nombre del mes en diferentes idiomas

Nombre Fórmula Resultado
Hoy_Mes_Corto_euskera Hoy.Mes.EnTexto("C","eu-ES") U
Hoy_Mes_Mediano_euskera Hoy.Mes.EnTexto("M","eu-ES") URT.
Hoy_Mes_Largo_euskera Hoy.Mes.EnTexto("L","eu-ES") URTARRILA

Obtener el número del mes actual. Se numeran del 0 al 11.

Nombre Fórmula Resultado
Hoy_Mes_Num Hoy.Mes.Numero 0

Obtener el número de días del mes actual.

Nombre Fórmula Resultado
Hoy_Mes_NumDias Hoy.Mes.NumeroDias 31

Para otras opciones sobre el formato o información relativa a fechas consulte las propiedades y métodos disponibles de la clase FechaMunigex en el manual de referencia de formulación.

Datos del expediente

Obtener datos básicos del expediente actual. Revisar clase ExpedienteDAL en el manual de referencia para conocer más métodos y propiedades.

Nombre Fórmula Resultado
Expediente_Codigo Expediente.Codigo 2012TEST0003
Expediente_NombreTipo Expediente.Nombre Tipo de expediente para testeos
Expediente_NombreTipo_euskera Expediente.Nombre("eu-ES") Frogetarako espediente mota
Expediente_asunto Expediente.Asunto() Asunto número 1
Expediente_asunto_euskera Expediente.Asunto("eu-ES") 1. zenbakidun gaia
Expediente_Direccion Expediente.DirExpediente ERREKARTE KALEA, 31 - 1. izq
Expediente_CampoConcreto Expediente["Anno"] 2012
Expediente_FechaApertura Expediente.FechaApertura 20121004
Expediente_CodigoRegistro Expediente.CodRegistro A/12-00068
Expediente_FechaRegistro Expediente.FechaRegistro 20120416

Para ver todos los datos que se pueden obtener de un expediente consulte las propiedades y métodos disponibles de la clase ExpedienteDAL en el manual de referencia de formulación.

Datos de un registro de expediente

Obtener los datos de un registro del expediente en concreto. Revisar clase RegistroColeccionDAL y RegistroDAL en el manual de referencia para conocer más métodos y propiedades.

Nombre Fórmula Resultado
RegistroExp Expediente.Registros.Pos(0) – Datos del primer registro del listado –
RegistroExp_Codigo RegistroExp.Codigo A/12-00054
RegistroExp_Asunto RegistroExp.Asunto LICENCIA DE ACTIVIDAD MOLESTA
RegistroExp_Fecha RegistroExp.Fecha 20120412
RegistroExp.Titulares.Listar() //RegistroExp_ListaTitulares 

//Resultado

| IDTitular | DniNif    | Nombre           |
| --------- | --------- | ---------------- |
| 1         | 38333333S | CAS,POY,SERGIO   |
| 2         | null      | Alo,Cal,Gregorio |
RegistroExp.Titulares.Pos(0)["DNINIF"] //RegistroExp_Titular_CampoDNI

//Resultado
38333333S

Para ver todos los datos que se pueden obtener de un registro consulte las propiedades y métodos disponibles de la clase RegistroDAL en el manual de referencia de formulación.

Datos del elemento seleccionado de una lista

Suponiendo que existe una variable que muestra la lista de titulares del expediente para seleccionar uno.

Nombre Fórmula
TitularSelec Expediente.Titulares.Listar()

Se pueden obtener más datos del titular seleccionado

Nombre Fórmula Resultado
TitularSeleccionado Expediente.Titulares[TitularSelec] – Datos del titular seleccionado –
Titular_NombreCompleto TitularSeleccionado.NombreCompleto LEANDRO LEGORBURU LARRAÑAGA
Titular_DatosPersonales_Nacimiento TitularSeleccionado.Persona.FechaNacimiento 19000101 (no existe el dato)

Datos de enumeraciones

Suponiendo que exista una variable que muestre una enumeración para seleccionar un valor.

Nombre Fórmula
MotivoRetiradaVeh Entorno.Enums["enMotivosRetirada"].Listar()

Podemos obtener el título y el texto largo correpondiente

Nombre Fórmula Resultado
Enumeracion_TextoCorto Entorno.Enums["enMotivosRetirada"][MotivoRetiradaVeh].Titulo() Peligro para el resto
Enumeracion_TextoLargo Entorno.Enums["enMotivosRetirada"][MotivoRetiradaVeh].TextoLargo() 25.1. Siempre que constituyan peligro, cause graves perturbaciones a la circulación de vehículos o peatones o deteriore algún servicio público.
Enumeracion_TextoCorto_euskera Entorno.Enums["enMotivosRetirada"][MotivoRetiradaVeh].Titulo("eu-ES") Besteentzako kaltegarria
Enumeracion_TextoLargo_euskera Entorno.Enums["enMotivosRetirada"][MotivoRetiradaVeh].TextoLargo("eu-ES") 25.1. Ibilgailuen edota oinezkoen zirkulaziorako edo udal-zerbitzu bat kaltetzea, arriskua sortzen duen kasu guztietan.

Para ver los datos que puede obtener de una enumeración consulte las propiedades y métodos disponibles de la clase EnumDAL, o las propiedades y métodos disponibles de la clase EnumItemDAL para las diferentes opciones de formateo, en el manual de referencia de formulación.

Obtener textos de otros documentos

Supongamos que existe una variable que nos permite seleccionar un documento de los diferentes que existen en el expediente.

Nombre Fórmula
ListaDocumentosExpediente Expediente.Documentos.Listar(1)

Ahora podemos hacer referencia a los marcadores incluidos en el documento.

Documento con varias marcas

Nombre Fórmula Resultado
Documento Expediente.Documentos[ListaDocumentosExpediente] – Referencia a documento seleccionado –
Texto_Marcador Documento.Marca("MarcadorGeneral")

Texto de la marca general

Nombre Fórmula Resultado
Texto_MarcadorAnidado Documento.Marca("MarcadorAnidado")

Texto de la marca anidada

Si el marcador incluyese una tabla podríamos hacer referencia a una o varias celdas de la tabla.

Nombre Fórmula Resultado
Tabla_Completa Documento.Marca("MarcaTabla")

Marcador de tabla

Nombre Fórmula Resultado
Una_Celda Documento.Marca("MarcaTabla").Fila(1).Columna(1)

Celda dentro del marcador tabla

Otras fórmulas para trabajar con varias filas y celdas

Nombre Fórmula
Varias_Celdas Documento.Marca("MarcaTabla").Fila(1).Columna(1,2)
Varias_Filas Documento.Marca("MarcaTabla").Fila(1,2).Columna(1)

Para ver la información que se puede obtener de un marcador consulte las propiedades y métodos disponibles de la clase DocMarcador en el manual de referencia de formulación.

Datos del usuario

Supongamos que queremos saber los datos del usuario que esta realizando el trámite actual.

Nombre Fórmula Resultado
UsuarioTramite Expediente.Tramites.Actual.IDUsuario – Identificador interno de usuario –
DatosUsuario UsuarioDAL(UsuarioTramite) – Ficha con los datos del usuario –
Usuario_Nombre DatosUsuario.NombreCompleto Gregorio Alonso
Usuario_Unidad Entorno.Unidades[DatosUsuario.IDUnidad].Nombre() ORGANIZACIÓN E INFORMÁTICA
Unidad_Logo Entorno.Imagenes[Entorno.Unidades[DatosUsuario.IDUnidad</span>].IDLogo].Imagen Logo de la unidad del usuario actual

Para ver los datos que se pueden obtener de un usuario consulte las propiedades y los métodos de la clase UsuarioDAL en el manual de referencia de formulación.

Datos del documento

Supongamos que queremos mostrar algunos datos relacionados con el documento.

Nombre Fórmula Resultado
Documento Expediente.Tramites.Actual.Documentos[IDNumero] – Referencia al documento actual –
Documento Expediente.Tramites.Actual.Documentos[2] – Referencia al segundo documento del trámite –
CodigoDocumento Documento.CodigoCat A13/00055
FechaDocumento Documento.FechaGeneracion 21/03/2013
CampoDocumentoAño Documento["Anno"] 2013
CampoDocumentoElemento Documento["IDElemento"] 55
NumeroDocumentosTramite Expediente.Tramites.Actual.Documentos.Cantidad 6
NombreDocumento Documento["NombreDoc"] 2013TEST0003-002-008.doc
CodigoVerificacion Documento.Cudo(Entorno.IDAyto) 123.4567.ABCDEFGH.A

Para ver los datos que se pueden obtener de los diferentes documentos consulte las propiedades y métodos disponibles de la clase DocTramiteDAL para los documentos de trámite, las propiedades y métodos disponibles de la clase DocRegistroDAL para los documentos de registros de entrada o salida, las propiedades y métodos disponibles de la clase DocSolicitudDAL para los documentos de solicitud y las propiedades y métodos disponibles de la clase DocDAL genéricos para todos los tipos de documentos.

Datos de la solicitud

Requisitos especiales para que el texto del campo “Asunto de la solicitud” de un formulario web pase al campo “Asunto” del expediente :

  • Entorno de la variable : Solicitud**_

  • Fórmula de la variable : Solicitud.Asunto

  • Evaluación : preevaluar

  • Longitud del texto : máximo 512 carateres

Para ver los datos que se pueden obtener de los diferentes documentos consulte las propiedades y los métodos disponibles de la clase SolicitudDAL en el manual de referencia de formulación.

Operadores condicionales

Sirven para mostrar un valor u otro dependiendo de si cumplen la condición dada. El instrucción tipo sería:

(condición) ? valorCumpleCondición : valorNoCumpleCondición

Supongamos que tenemos una variable de tipo lógico, como una casilla de verificación, pero queremos cambiar el valor por una frase de tipo “Aceptado”/“Rechazado”.

//Variable y su valor

ValorLógico = Verdadero
Nombre Fórmula Resultado
Resultado (ValorLógico) ? "Aceptado" : "Rechazado" Aceptado

Condiciones según el tipo de la variable:

Tipo Condición
Lógico (verdadero/falso) Afirmativa: (variable == true) / (variable)
Negativa: (variable != true) / (!variable)
Es verdadero
No es verdadero
Numérico Afirmativa:(variable == 1) / (variable > 1) / ...
Negativa:(variable != 1)
Es igual a 1 / Es mayor que 1
No es igual a 1
Texto Afirmativa: (variable == "hola")
Negativa: (variable != "hola")
Es igual al texto “hola”
No es igual al texto “hola”

Crear casillas de verificación

En ocasiones nos interesa que los valores booleanos se muestren como una casilla marcada o desmarcada en lugar del valor a lo bruto. En el caso de las variables sólo tendremos que indicar el formato “Tick”. En caso de valores de fórmulas utilizaremos la clase LogicoMunigex.

Nombre Fórmula Resultado
Casilla LogicoMunigex(booleano).Estilo(1) Si booleano=true,casilla marcada.
Si booleano=false, casilla desmarcada.

Para ver otras opciones que se pueden utilizar para crear casillas consulte las propiedades y métodos disponibles de la clase LogicoMunigex en el manual de referencia de formulación.

Uso de C Sharp para editar valores

Podemos utilizar los métodos de C# para poder editar los valores obtenidos, como por ejemplo, manipular las cadenas de texto.

//Variable y su valor

CodigoDocumento = "A13 / 00055"
Nombre Fórmula Resultado
ReemplazarTexto CodigoDocumento.Replace("A13","2013") 2013 / 00055
EliminarEspacios CodigoDocumento.Replace(" ","") A13/00055
Troceado CodigoDocumento.Split(" ") Troceado[0] = “A13”
Troceado[1] = “/”
Troceado[2] = “00055”

En este caso, se utilizan métodos para manipular una cadena de texto y hacer que salga en mayúsculas de diferentes formas:

//Variable y su valor

Texto = "un texto todo en minúsculas"
Nombre Fórmula Resultado
PrimeraMayuscula Texto.Substring(0,1).ToUpper() + Texto.Substring(1).ToLower() “Un texto todo en minúsculas”
TodoMayusculas Texto.ToUpper() “UN TEXTO TODO EN MINÚSCULAS”
TipoTitulo Lengua("es-ES").CultureInfo.TextInfo.ToTitleCase(Texto) “Un Texto Todo En Minúsculas”

Direcciones múltiples del titular

Los titulares de los registros disponen de dos direcciones: la de domicilio habitual y la de predilecta para notificaciones. Mediante formulación se puede hacer uso de cada una de ellas según el contexto que interese.

Nombre Fórmula Resultado
RegistroAsociado RegistroDAL(Expediente.IDRegen) – Referencia al registro inicial del expediente –
Dirección Domicilio RegistroAsociado.Titulares[IDTitular].Domicilio.Direccion ERREKARTE KALEA, 50 CASERIO ERREKA
20200 - BEASAIN (GIPUZKOA)
ESPAÑA
Dirección Notificación RegistroAsociado.Titulares[IDTitular].DirNotificacion.Direccion SEMPERE, 7 - OFIC. 17
20200 - BEASAIN (GIPUZKOA)
España

Para ver los datos que se pueden obtener de los titulares del registro consulte las propiedades y métodos disponibles de la clase TitularRegDAL en el manual de referencia de formulación.

Interesados y representados

A la hora de realizar documentos de notificación no es necesario incluir tanto a los representantes como a los titulares a los que representan en la lista de interesados. Desde el representante se puede obtener la referencia y los datos de cualquiera de sus representados en el expediente, utilizando los mismos métodos y propiedades que para obtener los datos de un titular de expediente.

Nombre Fórmula Resultado
Representante Expediente.Tramites.Actual.Interesados[IDTitular] – Referencia al interesado que actúa como representante –
PrimerRepresentado Representante.Representados.Pos(0) – Referencia a la primera persona del listado de representados –
NombreRepresentado Representado.NombreCompleto CGS S.L.

Para ver los datos que se pueden obtener de un titular del expediente consulte las propiedades y métodos disponibles de la clase TitularExpDAL en el manual de referencia de formulación.

Solicitantes y representados

Cuando se trabaja desde el Portal Ciudadano el solicitante puede actuar en su nombre, o en nombre de otros. Esto puede obligar a cambiar la perspectiva del modo en que se cumplimentan los formularios.

El objetivo de este ejemplo es que las diferentes secciones de solicitante (el presentador) y titular principal (que puede ser el mismo, otra persona o una entidad) salgan correctamente aunque no existan todos los datos en Munigex.

Evaluando el valor de la siguiente variable el sistema sabrá si el solicitante es un representante que actúa en nombre de otros.

Variable Fórmula (preevaluada) Observaciones
NombreTitularPrincipal Solicitud.Titulares.Pos(1).NombreCompleto –El solicitante siempre está en la posición 0. Si hay un dato extraído o introducido manualmente es que existe un titular principal y el solicitante es su representante.–

En la sección de fórmulas se evaluará el valor de la variable “NombreTitularPrincipal” y según el resultado, se dibujarán y rellenarán las casillas “Actúa en su nombre” o “Actúa en nombre de otros”.

Nombre Fórmula Observaciones
SolicitanteEsTitular String.IsNullOrEmpty(NombreTitularPrincipal)?True:False –Retorna verdadero si el campo de la variable “Nombre Titular Principal” está vacío. En caso contrario retorna falso y el solicitante será de tipo representante.–
EnNombreDeCS LogicoMunigex(SolicitanteEsTitular).Textos("En mi nombre","En nombre de otros") –En el documento dibujará dos casillas y marcará la correspondiente según el valor de “SolicitanteEsTitular”. El primera casilla corresponderá a si es verdadero y la segunda a si es falso.–
EnNombreDeEU LogicoMunigex(SolicitanteEsTitular).Textos("Nire izenean", "Beste baten izenean") –En esta variación, los textos de las casilla que se dibujen en el documento están en euskera.–

Números a texto

La clase ConversorLetras permite transcribir el valor numérico de dígitos a texto. Por ejemplo, 5 aparecería como “cinco”. Puede incluso indicar el género o si debe mostrarse de forma contraída si el idioma así lo permite.

ConversorLetras.Crear(idioma).ObtenerNumero(numero, enFemenino, contraido)

numero = 21                                         //Variable con el valor numérico
Conversor = ConversorLetras.Crear("es");            //Indicación del idioma en el que se obtendrá la transcripción
Conversor.ObtenerNumero(numero, false, false);      //Retornaría la cadena "veintiuno"
Conversor.ObtenerNumero(numero, true, false);       //Retornaría la cadena "veintiuna"
Conversor.ObtenerNumero(numero, false, true);       //Retornaría la cadena "veintiún"

ConversorLetras.Crear("eu").ObtenerNumero(numero, false, false);    //Retornaría la cadena "hogeita bat"

Para ver todas las opciones de la clase consulte las propiedades y métodos disponibles en el manual de referencia de formulación.

Crear enlaces personalizados

En ocasiones interesa que en los documentos digitales aparezca un hipervínculo para que el receptor del mismo pueda acceder de forma directa a una web. Algunos editores de texto o visualizadores PDF interpretan las cadenas de texto que empiezan con “http…” o “www…” como hipervínculos y las colorean de otro color, pero no siempre se activa su función de hipervínculo. La formulación de Munigex permite crear estos enlaces para asegurarse que no se pierde la funcionalidad.

Fórmula Observaciones
CadenaMunigex("https://www.cgssl.es/").Estilo(1) En el documento aparecerá el texto https://www.cgssl.es como hipervínculo a la web http://www.cgssl.es
CadenaMunigex("http://www.cgssl.es/","Acceso web CGSSL") En el documento aparecerá el texto Acceso web CGSSL como hipervínculo a la web http://www.cgssl.es
CadenaMunigex(Doc.UrlValidacion, Doc.CUDO) En el documento aparecerá como texto del hipervínculo el CUDO que le corresponde (000.0002.AAAA243V.K.abcde) y llevará al receptor a la página de verificación del mismo si pulsa sobre él (https://munigex.net/r/0/2/AAAA243VK.abcde).

Para ver todas las opciones que se ofrecen para formatear textos consulte las propiedades y métodos disponibles en la clase CadenaMunigex en el manual de referencia de formulación.