Diseñar una nueva solución de informes electrónicos para imprimir un informe personalizado
Los siguientes pasos explican cómo un usuario con el rol de Administrador del sistema, Desarrollador de informes electrónicos o Consultor funcional de informes electrónicos puede configurar los parámetros del marco de ER, diseñar las configuraciones de ER necesarias para una nueva solución de ER con el fin de acceder a los datos de un dominio comercial concreto, y generar un informe personalizado con formato de Microsoft Office. Estos pasos se pueden llevar a cabo en la empresa USMF.
Diseñar una asignación de modelo para el modelo de datos configurado
Crear una nueva configuración de asignación de modelo
- Diseñar un nuevo componente de asignación de modelo
- Agregar orígenes de datos para acceder a las tablas de la aplicación
- Agregar orígenes de datos para acceder a las enumeraciones de la aplicación
- Agregar etiquetas de ER para generar un informe en un idioma específico
- Agregar un origen de datos para transformar los resultados de comparar valores de enumeración con un valor de texto
- Enlazar orígenes de datos a campos de modelo de datos
- Completar el diseño de la asignación del modelo
Desarrollar artefactos de aplicación para llamar al informe diseñado
Modificación de código de origen
- Agregar una clase de contrato de datos
- Agregar una clase de generador de interfaz de usuario
- Agregar una clase de proveedor de datos
- Agregar un archivo de etiquetas
- Agregar una clase de servicio de informes
- Agregar una clase de controlador de informes
- Agregar un elemento de menú
- Agregar un elemento de menú a un menú
- Crear un proyecto de Visual Studio
Ajustar una solución de informes electrónicos diseñada
Modificar una asignación de modelo
- Agregar orígenes de datos para acceder al objeto de contrato de datos
- Agregar un origen de datos para acceder a registros de asignación de formato de informe electrónico
- Agregar un origen de datos para acceder a un registro de asignación de formato de un formato de informe electrónico en ejecución
- Introducir en el modelo de datos el nombre del formato de informe electrónico en ejecución
- Completar el diseño de la asignación del modelo
Configurar un destino de formato para una vista previa en pantalla
Ejecutar un formato desde la aplicación para obtener una vista previa como un documento PDF
En este ejemplo, va a crear una nueva solución de informes electrónicos para el módulo Cuestionario. Esta nueva solución de informes electrónicos le permite diseñar un informe utilizando una hoja de cálculo de Microsoft Excel como plantilla. A continuación, puede generar el informe de Cuestionario con formato Excel o PDF, y generar el informe de SQL Server Reporting Services (SSRS) existente. También puede modificar el nuevo informe posteriormente, a petición. No se requiere codificación.
Para ejecutar el informe existente, vaya a Cuestionario>Diseño>Informe de cuestionarios.
En el cuadro de diálogo Informe de cuestionarios, especifique los criterios de selección. Aplique un filtro para que el informe solo incluya el cuestionario SBCCrsExam.
La siguiente ilustración muestra la versión generada del informe de SSRS para el cuestionario SBCCrsExam.
Configurar el marco ER
Como usuario en el rol de Desarrollador de informes electrónicos, debe configurar el conjunto mínimo de parámetros de ER antes de comenzar a usar el marco de ER para diseñar su nueva solución de ER.
Configurar los parámetros de ER
Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
En el área de trabajo de Informes electrónicos, seleccione Parámetros de informes electrónicos.
En la página Parámetros de informes electrónicos, en la pestaña General, establezca la opción Habilitar modo de diseño en Sí.
En la pestaña Adjuntos, establezca los parámetros siguientes:
- Establezca el campo Configuraciones en Archivo para la empresa USMF.
- Establezca los campos Archivo de trabajo, Temporal, Base y Otros en Archivo.
Para obtener más información sobre cómo configurar los parámetros de ER, consulte Configurar el marco de ER.
Activar un proveedor de configuración de ER
Cada configuración de ER está marcada como propiedad de un proveedor de configuración de ER. Por lo tanto, debe activar un proveedor de configuración de ER en el espacio de trabajo Informes electrónicos antes de comenzar a agregar o editar configuraciones de ER.
Nota
Solo el propietario de una configuración de ER puede editarla. Por lo tanto, antes de poder editar una configuración de ER, se debe activar el proveedor de configuración ER apropiado en el espacio de trabajo Informes electrónicos.
Revise la lista de proveedores de configuración de ER
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónicos, en la sección Vínculos relacionados, seleccione Proveedores de configuración.
- En la página Proveedores de configuración, cada registro de proveedor de configuración tiene un nombre y una dirección URL únicos. Revise el contenido de esta página. Si un registro para Litware, Inc. (
https://www.litware.com
) ya existe, omita el siguiente procedimiento, Agregar un nuevo proveedor de configuración de ER.
Añada una nueva configuración para el proveedor de ER
- En la página Proveedores de configuración, seleccione Nuevo.
- En el campo Nombre, introduzca Litware, Inc.
- En el campo Dirección de Internet, introduzca
https://www.litware.com
. - Seleccione Guardar.
Activar un proveedor de configuración de ER
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónicos, seleccione el proveedor de configuración Litware, Inc.
- Seleccione Definir como activo.
Para obtener más información sobre proveedores de configuración de ER, consulte Crear proveedores de la configuración y marcarlos como activos.
Diseñar un modelo de datos específico del dominio
Debe crear una nueva configuración de ER que contenga un componente de modelo de datos para el dominio empresarial Cuestionario. Este modelo de datos se utilizará más tarde como origen de datos al diseñar un formato de ER para generar informe Cuestionario.
Al completar los pasos de la sección Importar una nueva configuración de modelo de datos puede importar el modelo de datos necesario desde el archivo XML suministrado. Como alternativa, puede completar los pasos de la sección Crear una nueva configuración de modelo de datos para diseñar este modelo de datos desde cero.
Importar una nueva configuración de modelo de datos
- Descargue el archivo Questionnaires model.version.1.xml y guárdelo en su equipo local.
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónico, seleccione Configuraciones de informes.
- En el panel Acción, seleccione Exchange>Cargar del archivo XML.
- Seleccione Examinar y, a continuación, busque y seleccione el archivo Questionnaires model.version.1.xml.
- Seleccione Aceptar para importar la configuración.
Para continuar, omita el siguiente procedimiento, Crear una nueva configuración de modelo de datos.
Creación de un nuevo modelo de configuración de datos
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónico, seleccione Configuraciones de informes.
- Seleccionar Crear configuración.
- En el cuadro de diálogo desplegable, en el campo Nombre, escriba Modelo de cuestionario.
- Seleccione Crear configuración para crear la configuración.
Asignar un nombre al modelo de datos
- En la página Configuraciones, en el árbol de configuración, seleccione Modelo de cuestionario.
- Seleccione Diseñador.
- En la página Diseñador de modelo de datos, en la ficha desplegable General, en el campo Nombre, escriba Cuestionarios.
Agregar nuevos campos de modelo de datos
En la página Diseñador de modelo de datos, seleccione Nuevo.
En el cuadro de diálogo desplegable para agregar un nodo de modelo de datos, siga estos pasos:
- Seleccione Raíz del modelo como tipo del nuevo nodo.
- En el campo Nombre, especifique Root.
- Seleccione Agregar para agregar el nuevo nodo.
Este descriptor raíz se utilizará para proporcionar datos para el informe de Questionnaire. Un solo modelo de datos puede tener varios descriptores. Cada descriptor se puede especificar para un solo formato de informes electrónicos, a fin de identificar los datos que se requieren para generar el informe.
Vuelva a seleccionar Nuevo y, a continuación, en el cuadro de diálogo desplegable para agregar un nodo de modelo de datos, siga estos pasos:
- Seleccione Secundario de un nodo activo como tipo del nuevo nodo.
- En el campo Nombre, especifique CompanyName.
- En el campo Tipo de artículo, seleccione Cadena.
- Seleccione Agregar para agregar el nuevo campo.
Este campo es obligatorio para pasar el nombre de la empresa actual a un informe ER que consume este modelo de datos como origen de datos.
Vuelva a seleccionar Nuevo y, a continuación, en el cuadro de diálogo desplegable para agregar un nodo de modelo de datos, siga estos pasos:
- Seleccione Secundario de un nodo activo como tipo del nuevo nodo.
- En el campo Nombre, especifique Questionnaire.
- En el campo Tipo de artículo, seleccione Lista de registros.
- Seleccione Agregar para agregar el nuevo campo.
Este campo se usará para pasar la lista de cuestionarios a un informe ER que consume este modelo de datos como origen de datos.
Seleccione el nodo Questionnaire.
Siga agregando de la misma manera los campos obligatorios del modelo de datos editable, hasta que haya completado la siguiente estructura del modelo de datos.
Ruta de acceso de campo Tipo de datos Designación de campo/valor devuelto Root El punto de referencia para solicitar los datos del cuestionario. Root\CompanyName String El nombre de la empresa actual. Root\ExecutionContext Grabar Detalles de ejecución del formato. Root\ExecutionContext\FormatName String Nombre del formato ER que se está ejecutando. Root\Questionnaire Lista de registros La lista de cuestionarios Root\Questionnaire\Active String El estado del mensaje de cuestionario actual. Root\Questionnaire\Code String El código del cuestionario actual. Root\Questionnaire\Description String La descripción del cuestionario actual. Root\Questionnaire\QuestionnaireType String El tipo del cuestionario actual. Root\Questionnaire\QuestionOrder String El orden numérico del cuestionario actual. Root\Questionnaire\ResultsGroup Grabar Los parámetros de resultados del cuestionario actual. Root\Questionnaire\ResultsGroup\Code String El código de identificación del grupo de resultados actual. Root\Questionnaire\ResultsGroup\Description String La descripción del grupo de resultados actual. Root\Questionnaire\ResultsGroup\MaxNumberOfPoints Real El número máximo de puntos que se pueden ganar. Root\Questionnaire\Question Lista de registros La lista de preguntas del cuestionario actual. Root\Questionnaire\Question\CollectionSequenceNumber Entero El número de secuencia de la colección de respuestas actual. Root\Questionnaire\Question\Id String El código de identificación de la pregunta actual. Root\Questionnaire\Question\MustBeCompleted String Una marca que indica si se debe responder a la pregunta actual. Root\Questionnaire\Question\PrimaryQuestion String Una marca que indica si la pregunta actual es principal. Root\Questionnaire\Question\SequenceNumber Entero El número de secuencia de la pregunta actual. Root\Questionnaire\Question\Text String El texto de la pregunta actual. Root\Questionnaire\Question\Answer Lista de registros La lista de respuestas de la pregunta actual. Root\Questionnaire\Question\Answer\CorrectAnswer String Una marca que indica si la respuesta actual es correcta. Root\Questionnaire\Question\Answer\Points Real Los puntos que se obtienen cuando se selecciona la respuesta actual. Root\Questionnaire\Question\Answer\SequenceNumber Entero El número de secuencia de la respuesta actual. Root\Questionnaire\Question\Answer\Text String El texto de la respuesta actual. La siguiente ilustración muestra el modelo de datos editable completado en la página Diseñador de modelo de datos.
Guarde los cambios.
Cierre la página Diseñador de modelo de datos.
Completar el diseño del modelo de datos
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, seleccione Modelo de cuestionario.
- En la ficha desplegable Versiones, seleccione la versión de configuración que tenga un estado de Borrador.
- Seleccione Cambiar estado>Completada.
El estado de la versión 1 de esta configuración cambia de Borrador a Completada. La versión 1 ya no se puede cambiar. Esta versión contiene el modelo de datos configurado y se puede utilizar como la base de otras configuraciones de informes electrónicos. Se crea la versión 2 de esta configuración y tiene un estado de Borrador. Puede editar esta versión para ajustar el modelo de datos Questionnaire.
Para obtener más información sobre el control de versiones para configuraciones de ER, consulte Visión general de los informes electrónicos (ER).
Nota
El modelo de datos configurado es su representación abstracta del dominio empresarial Questionnaire y no contiene relaciones con artefactos específicos de Microsoft Dynamics 365 Finance.
Diseñar una asignación de modelo para el modelo de datos configurado
Como usuario con el rol de Desarrollador de informes electrónicos, debe crear una nueva configuración de ER que contenga un componente de asignación de modelo para el modelo de datos Cuestionarios. Dado que este componente implementa el modelo de datos configurado para Finance, es específico de Finance. Debe configurar el componente de asignación del modelo para especificar los objetos de la aplicación que hay que usar para completar el modelo de datos configurado con los datos de la aplicación en tiempo de ejecución. Para completar esta tarea, debe conocer los detalles de implementación de la estructura de datos del dominio empresarial Questionnaire en Finance.
Al completar los pasos de la sección Importar una nueva configuración de asignación de modelo de datos puede importar la configuración de asignación de modelo necesaria desde el archivo XML suministrado. Como alternativa, puede completar los pasos de la sección Crear una nueva configuración de asignación de modelo de datos para diseñar esta asignación de modelo desde cero.
Importar una nueva configuración de asignación de modelo
- Descargue el archivo Questionnaires mapping.version.1.1.xml y guárdelo en su equipo local.
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónico, seleccione Configuraciones de informes.
- En el panel Acción, seleccione Exchange>Cargar del archivo XML.
- Seleccione Examinar y, a continuación, busque y seleccione el archivo Questionnaires mapping.version.1.1.xml.
- Seleccione Aceptar para importar la configuración.
Para continuar, omita el siguiente procedimiento, Crear una nueva configuración de asignación de modelo.
Crear una nueva configuración de asignación de modelo
Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
En la página Configuraciones, en el árbol de configuración, seleccione Modelo de cuestionario.
Seleccionar Crear configuración.
En el cuadro de diálogo desplegable, siga estos pasos:
- En el campo Nuevo, seleccione Asignación de modelo según el modelo de datos Questionnaires.
- En el campo Nombre, escriba Asignación de cuestionario.
- En el campo Definición del modelo de datos, seleccione la definición Root.
- Seleccione Crear configuración para crear la configuración.
Diseñar un nuevo componente de asignación de modelo
- En la página Configuraciones, en el árbol de configuración, seleccione Asignación de cuestionario.
- Seleccione Diseñador para abrir la lista de asignaciones.
- Seleccione la asignación Asignación de cuestionarios que se agregó automáticamente para la definición Root
- Seleccione Diseñador para empezar a configurar la asignación seleccionada.
Se agrega automáticamente una nueva asignación para la definición Root. Esta asignación tiene la dirección Para modelo. Por lo tanto, esta asignación se puede usar para rellenar un modelo de datos con los datos necesarios.
Agregar orígenes de datos para acceder a las tablas de la aplicación
Debe configurar los orígenes de datos para acceder a las tablas de la aplicación que contienen los detalles del cuestionario.
En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Registros de tabla.
Agregue un nuevo origen de datos que se utilizará para acceder a la tabla KMCollection, donde cada registro representa un solo cuestionario:
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba Questionnaire.
- En el campo Tabla, escriba KMCollection.
- Establezca la opción Pedir consulta en Sí. Puede especificar en tiempo de ejecución opciones de filtrado para esta tabla en el cuadro de diálogo de consulta del sistema.
- Seleccione Aceptar para agregar el nuevo origen de datos.
En el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Registros de tabla.
Agregue un nuevo origen de datos que se utilizará para acceder a la tabla KMQuestion, donde cada registro representa una sola pregunta en un cuestionario:
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba Pregunta.
- En el campo Tabla, escriba KMQuestion.
- Seleccione Aceptar para agregar el nuevo origen de datos.
En el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Registros de tabla.
Agregue una nueva prueba de origen de datos que se utilizará para acceder a la tabla KMAnswer, donde cada registro representa una sola respuesta a una pregunta en un cuestionario:
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el campo Nombre, especifique Respuesta.
- En el campo Tabla, escriba KMAnswer.
- Seleccione Aceptar para agregar el nuevo origen de datos.
En el panel Tipos de origen de datos, seleccione Funciones\Campo calculado.
Agregue un nuevo campo calculado que se utilizará para acceder a un registro de la tabla KMQuestionResultGroup desde cada registro de la tabla principal KMCollection:
- En el panel Orígenes de datos, seleccione Cuestionario.
- Seleccione Agregar.
- En el cuadro de diálogo, en el campo Nombre, escriba $ResultGroup.
- Seleccione Editar fórmula.
- En el Editor de fórmulas ER, en el campo Fórmula, escriba FIRSTORNULL(@.'<Relations'.KMQuestionResultGroup) para usar la ruta de la relación uno a varios entre las tablas KMCollection y KMQuestionResultGroup.
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Aceptar para agregar el nuevo campo calculado.
En el panel Tipos de origen de datos, seleccione Funciones\Campo calculado.
Agregue un nuevo campo calculado que se utilizará para acceder a registros de preguntas de la tabla KMQuestion desde cada registro de la tabla principal KMCollectionQuestion:
- En el panel Orígenes de datos, seleccione Cuestionario.
- Amplíe el nodo <Relations, que contiene relaciones de uno a varios de la tabla KMCollection.
- Seleccione la tabla KMCollectionQuestion relacionado y, a continuación, seleccione Agregar.
- En el cuadro de diálogo, en el campo Nombre, escriba $Question.
- Seleccione Editar fórmula.
- En el editor de fórmulas, en el campo Fórmula, escriba FIRSTORNULL (FILTER(Question, Question.kmQuestionId = @.kmQuestionId)) para devolver los registros de preguntas correspondientes de la tabla KMQuestion.
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Aceptar para agregar el nuevo campo calculado.
En el panel Tipos de origen de datos, seleccione Funciones\Campo calculado.
Agregue un nuevo campo calculado que se utilizará para acceder a registros de respuesta de la tabla KMAnswer desde cada registro de la tabla principal KMQuestion:
- En el panel Orígenes de datos, seleccione Questionnaire.<Relations.KMCollectionQuestion.$Question y, a continuación, seleccione Agregar.
- En el cuadro de diálogo, en el campo Nombre, escriba $Answer.
- Seleccione Editar fórmula.
- En el editor de fórmulas, en el campo Fórmula, escriba FILTER (Answer, Answer.kmAnswerCollectionId = @.kmAnswerCollectionId) para devolver los registros de respuesta correspondientes de la tabla KMAnswer.
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Aceptar para agregar el nuevo campo calculado.
En el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Tabla.
Agregue un nuevo origen de datos que se utilizará para acceder a los métodos de la tabla CompanyInfo. Tenga en cuenta que el método find() de esta tabla devuelve un registro que representa una empresa de la instancia de Finance actual en cuyo contexto se llama a esta asignación.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba CompanyInfo.
- En el campo Tabla, escriba CompanyInfo.
- Seleccione Aceptar para agregar el nuevo origen de datos.
Agregar orígenes de datos para acceder a las enumeraciones de la aplicación
Debe configurar los orígenes de datos para acceder a las enumeraciones de la aplicación y comparar sus valores con los valores de los campos de tipo Enumeración en las tablas de la aplicación. Debe utilizar el resultado de la comparación para completar los campos correspondientes del modelo de datos.
En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Enumeración.
Agregue un nuevo origen de datos que se utilizará para acceder a los valores de la enumeración EnumAppNoYes.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba EnumAppNoYes.
- En el campo Enumeración, introduzca NoYes.
- Seleccione Aceptar para agregar el nuevo origen de datos.
En el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Enumeración.
Agregue un nuevo origen de datos que se utilizará para acceder a los valores de la enumeración KMCollectionQuestionMode.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, introduzca EnumAppQuestionOrder.
- En el campo Enumeración, introduzca KMCollectionQuestionMode.
- Seleccione Aceptar para agregar el nuevo origen de datos.
Agregar etiquetas de informes electrónicos para generar un informe en un idioma específico
Puede agregar etiquetas de ER para configurar algunos de sus orígenes de datos de forma que devuelvan valores que dependen del idioma definido en el contexto de la llamada de asignación del modelo.
En la página Diseñador de asignación de modelo, en el panel Orígenes de datos, seleccione Respuesta y después seleccione Editar.
Active el campo Etiqueta.
Seleccione Traducir.
En el cuadro de diálogo Traducción de texto, siga estos pasos:
- En el campo Id. de etiqueta, introduzca PositiveAnswer.
- En el campo Texto en el idioma predeterminado, introduzca Yes.
- Seleccione Traducir.
- En el campo Id. de etiqueta, introduzca NegativeAnswer.
- En el campo Texto en el idioma predeterminado, introduzca No.
- Seleccione Traducir.
Cierra el cuadro de diálogo Traducción de texto.
Seleccione Cancelar.
Ha introducido etiquetas de ER solo para el idioma predeterminado. Para obtener información sobre cómo las etiquetas de ER se pueden traducir a otros idiomas, consulte Diseñar informes multilingües.
Agregar un origen de datos para transformar los resultados de comparar valores de enumeración con un valor de texto
Dado que debe transformar los resultados de la comparación entre los valores de enumeración y los valores de texto varias veces para los orígenes de diferencias, es una buena idea configurar esta lógica como un único origen de datos. Sin embargo, para que este origen de datos sea reutilizable, debe configurarlo como un origen de datos parametrizado. Para obtener más información, consulte Admitir llamadas parametrizadas de orígenes de datos de informes electrónicos del tipo de campo calculado.
En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione General\Contenedor vacío.
Agregar un nuevo origen de datos de contenedor:
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba Ayudante.
- Seleccione Aceptar para agregar el nuevo origen de datos de contenedor.
En el panel Tipos de origen de datos, seleccione Funciones\Campo calculado.
Agregar un nuevo origen de datos:
En el panel Orígenes de datos, seleccione Ayudante.
Seleccione Agregar.
En el cuadro de diálogo, en el campo Nombre, introduzca NoYesEnumToString.
Seleccione Editar fórmula.
En el editor de fórmulas, seleccione Parámetros.
Siga estos pasos para especificar parámetros para la expresión configurada:
- Seleccione Nuevo.
- En el cuadro de diálogo, en el campo Nombre, escriba Argumento.
- En el campo Tipo, seleccione el tipo de datos Booleano.
- Seleccione Aceptar.
En el campo Fórmula, introduzca IF (Argument = true, @"GER_LABEL:PositiveAnswer", @"GER_LABEL:NegativeAnswer") para devolver el texto de la etiqueta de ER adecuada, según el idioma del contexto de ejecución y el valor del parámetro especificado.
Seleccione Guardar y cierre el editor de fórmulas.
Seleccione Aceptar para agregar el nuevo origen de datos.
Enlazar orígenes de datos a campos de modelo de datos
Debe enlaza los orígenes de datos configurados a los campos del modelo de datos para especificar cómo se completará el modelo de datos con los datos de la aplicación en tiempo de ejecución.
En la página Diseñador de asignación de modelo, en el panel Modelo de datos, seleccione CompanyName.
En el panel Orígenes de datos, expanda CompanyInfo y después siga estos pasos:
- Expanda el nodo CompanyInfo.find() que representa el método find() de la tabla CompanyInfo.
- Seleccione CompanyInfo.find().Name.
- Seleccione Enlazar para completar el nombre de la empresa en la que se llama la asignación de modelo configurada en el contexto de tiempo de ejecución.
En el panel Modelo de datos, seleccione Cuestionario.
En el panel Orígenes de datos, seleccione Cuestionario y, a continuación, seleccione Enlazar para rellenar los registros de cuestionario.
En el panel Modelo de datos, expanda Cuestionario y después siga estos pasos:
- En el panel Modelo de datos, seleccione Activo.
- En el panel Modelo de datos, seleccione Editar.
- En el campo Fórmula, introduzca Helper.NoYesEnumToString (@.Active = EnumAppNoYes.Yes) para completar el resultado dependiente del texto y del idioma de la comparación entre los valores de enumeración.
Continúe enlazando orígenes de datos a campos del modelo de datos de la misma manera hasta que obtenga el siguiente resultado.
Ruta de acceso de campo Tipo de datos Acción Expresión de enlace CompanyName Cadena Enlazar CompanyInfo.'find()'.Name Cuestionarios Lista de registros Enlazar Cuestionarios Questionnaire\Active String Editar Helper.NoYesEnumToString(@.active = EnumAppNoYes.Yes) Questionnaire\Code String Enlazar @.kmCollectionId Questionnaire\Description String Enlazar @.Description Questionnaire\QuestionnaireType String Enlazar @.'>Relations'.kmCollectionTypeId.Description Questionnaire\QuestionOrder String Editar CASE (@.questionMode,
EnumAppQuestionOrder.Conditional, "Condicional",
EnumAppQuestionOrder.Random, "Aleatorio (porcentaje en cuestionario)",
EnumAppQuestionOrder.RandomGroup, "Aleatorio (porcentaje en grupos de resultados)",
EnumAppQuestionOrder.Sequence, "Secuencial",
"")Questionnaire\ResultsGroup Grabar Questionnaire\ResultsGroup\Code String Enlazar @.'$ResultGroup'.kmQuestionResultGroupId Questionnaire\ResultsGroup\Description String Enlazar @.'$ResultGroup'.description Questionnaire\ResultsGroup\MaxNumberOfPoints Real Enlazar @.'$ResultGroup'.maxPoint Questionnaire\Question Lista de registros Enlazar @.'<Relations'.KMCollectionQuestion Questionnaire\Question\CollectionSequenceNumber Entero Enlazar @.answerCollectionSequenceNumber Questionnaire\Question\Id String Enlazar @.kmQuestionId Questionnaire\Question\MustBeCompleted String Editar Helper.NoYesEnumToString(@.mandatory = EnumAppNoYes.Yes) Questionnaire\Question\PrimaryQuestion String Enlazar @.parentQuestionId Questionnaire\Question\SequenceNumber Entero Enlazar @.SequenceNumber Questionnaire\Question\Text String Enlazar @.'$Question'.text Questionnaire\Question\Answer Lista de registros Enlazar @.'$Question'.'$Answer' Questionnaire\Question\Answer\CorrectAnswer String Editar Helper.NoYesEnumToString(@.correctAnswer = EnumAppNoYes.Yes) Questionnaire\Question\Answer\Points Real Enlazar @.point Questionnaire\Question\Answer\SequenceNumber Entero Enlazar @.sequenceNumber Questionnaire\Question\Answer\Text String Enlazar @.text La siguiente ilustración muestra el estado final de la asignación del modelo configurado en la página Diseñador de asignación de modelo.
Guarde los cambios.
Cierre la página Diseñador de distribución del modelo.
Completar el diseño de la asignación del modelo
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, seleccione Asignación de cuestionario.
- En la ficha desplegable Versiones, seleccione la versión de configuración que tenga un estado de Borrador.
- Seleccione Cambiar estado>Completada.
El estado de la versión 1.1 de esta configuración cambia de Borrador a Completada. La versión 1.1 ya no se puede cambiar. Esta versión contiene la asignación de modelo configurada y se puede utilizar como la base de otras configuraciones de informes electrónicos. Se crea la versión 1.2 de esta configuración y tiene un estado de Borrador. Puede editar esta versión para ajustar la configuración Asignación de cuestionario.
Nota
La asignación de modelo configurada es su implementación específica de Finance del modelo de datos abstracto que representa el dominio empresarial Cuestionario.
Diseñar una plantilla para un informe personalizado
El marco de ER usa plantillas de documento predefinidas para generar informes con formatos de Microsoft Office (libros de Excel o documentos de Word). Mientras se genera el informe requerido, se rellena una plantilla con los datos necesario de acuerdo con el flujo de datos configurado. Por lo tanto, primero debe diseñar una plantilla para su informe personalizado. Esta plantilla debe diseñarse como un libro de Excel, cuya estructura representa el diseño de un informe personalizado. Debe asignar nombre a todos los elementos de Excel que planea completar con los datos requeridos.
- Descargue el archivo Questionnaires report template.xlsx y guárdelo en su equipo local.
- Abra el archivo en Excel y revise la estructura del libro.
Como muestra la siguiente ilustración, la plantilla descargada ha sido diseñada para imprimir cuestionarios específicos que presentan las preguntas de un cuestionario junto con las respuestas adecuadas.
Se han agregado nombres de Excel a esta plantilla para completar los detalles del cuestionario. Puede utilizar el Administrador de nombres para revisar los nombres de Excel.
Se han agregado etiquetas de informe como texto fijo en el idioma inglés. Puede reemplazar las etiquetas del informe con nuevos nombres de Excel que rellenen las etiquetas con texto dependiente del idioma con las etiquetas de formato de ER, como lo hizo para las expresiones dependientes del idioma en la asignación de modelo configurada. En este caso, las etiquetas de ER deben agregarse con el formato de ER editable.
Como muestra la siguiente ilustración, se ha especificado el encabezado del informe personalizado para permitir que Excel realice la paginación.
Diseñar un formato
Como usuario con el rol de Consultor funcional de informes electrónicos, debe crear una nueva configuración de ER que contenga un componente de formato. Debe configurar el componente de formato para especificar cómo debe rellenarse una plantilla de informe con los datos necesarios en tiempo de ejecución.
Al completar los pasos de la sección Importar una configuración de formato diseñado, puede importar el formato necesario desde el archivo XML suministrado. Como alternativa, puede completar los pasos de la sección Crear una nueva configuración de formato para diseñar este formato desde cero.
Importar una configuración de formato diseñado
- Descargue el archivo Questionnaires format.version.1.1.xml y guárdelo en su equipo local.
- Vaya a Administración de la organización>Espacios de trabajo>Informes electrónicos.
- En el espacio de trabajo Informes electrónico, seleccione Configuraciones de informes.
- En el panel Acción, seleccione Exchange>Cargar del archivo XML.
- Seleccione Examinar y, a continuación, busque y seleccione el archivo Questionnaires format.version.1.1.xml.
- Seleccione Aceptar para importar la configuración.
Para continuar, omita el siguiente procedimiento, Crear una nueva configuración de formato.
Creación de una configuración de formato nueva
Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
En la página Configuraciones, en el árbol de configuración, seleccione Modelo de cuestionario.
Seleccionar Crear configuración.
En el cuadro de diálogo desplegable, siga estos pasos:
En el campo Nuevo, seleccione Formato basado en cuestionarios de modelo de datos.
En el campo Nombre, escriba Informe de cuestionario.
En el campo Versión del modelo de datos, seleccione 1.
Nota
- Si selecciona una versión específica del modelo de datos base, la estructura de la versión correspondiente del modelo de datos se le presentará como la estructura del origen de datos Modelo con el formato creado.
- Este campo se puede dejar en blanco. En ese caso, la estructura de la versión Borrador del modelo de datos se le presentará como la estructura del origen de datos Modelo con el formato creado. Después puede ajustar el modelo y ver inmediatamente estos ajustes en el formato. Este enfoque puede mejorar la eficiencia del diseño de la solución de ER al configurar su modelo de datos, la asignación del modelo y el formato simultáneamente.
- Si selecciona una versión específica del modelo de datos base, puede pasar a usar la versión Borrador cuando empiece a editar un formato.
En el campo Definición del modelo de datos, seleccione la definición Root.
Seleccione Crear configuración para crear la configuración.
Importar una plantilla de informe
En la página Configuraciones, en el árbol de configuración, seleccione Informe de cuestionario.
Seleccione Diseñador para empezar a configurar un formato personalizado.
En la página Diseñador de formato, en el panel de acciones, seleccione Importar>Importar desde Excel.
En el cuadro de diálogo, siga estos pasos:
- Seleccione Agregar plantilla.
- Busque y seleccione el archivo Questionnaires report template.xslx guardado localmente y, a continuación, seleccione Abrir.
- Seleccione Aceptar para importar la plantilla.
El elemento de formato Excel\File se agrega automáticamente al formato editable como elemento raíz. Además, el elemento de formato Excel\Range o el elemento de formato Excel\Cell se agregan automáticamente para cada nombre de Excel reconocido de la plantilla importada. El formato Excel\Header con el elemento String anidado se agrega automáticamente para reflejar la configuración del encabezado de la plantilla importada.
Configurar un formato
En la página Diseñador de formato, en el árbol de formato, seleccione el elemento raíz Excel.
En la pestaña Formato del lado derecho de la página, en el campo Nombre, introduzca Informe.
En el campo Preferencia de idioma, seleccione Preferencia del usuario para ejecutar el informe en el idioma preferido del usuario.
En el campo Preferencias culturales, seleccione Preferencia del usuario para ejecutar el informe en la cultura preferida del usuario.
Para obtener información sobre cómo especificar los contextos de idioma y cultura para un proceso de ER, consulte Diseñar informes multilingües.
En el árbol de formato, expanda el nodo raíz y luego seleccione ResultsGroup.
En la pestaña Formato, en el campo Dirección de replicación, seleccione Sin replicación, ya que no espera tener varios grupos de resultados para un solo cuestionario.
Seleccione Guardar.
Definir el enlace de datos para un título de informe
Debe especificar un enlace de datos para un elemento de formato que se utiliza para rellenar el título de un informe generado.
En la página Diseñador de formato, en la pestaña Asignación de la derecha, seleccione el elemento Report\ReportTitle.
Seleccione Editar fórmula.
En el editor de fórmulas, seleccione Traducir.
En el cuadro de diálogo Traducción de texto, siga estos pasos:
- En el campo Id. de etiqueta, introduzca ReportTitle.
- En el campo Texto en el idioma predeterminado, introduzca Informe de cuestionarios.
- Seleccione Traducir y, a continuación, seleccione Guardar.
- Seleccione Traducir para cerrar el cuadro de diálogo Traducción de texto.
Cierre el editor de fórmulas.
Puede utilizar esta técnica para hacer que todas las demás etiquetas de la plantilla actual dependan del idioma. Para obtener más información sobre cómo se pueden traducir las etiquetas agregadas de una única configuración de ER a todos los idiomas ofrecidos, consulte Diseñar informes multilingües.
Revisar el origen de datos del modelo
- En la página Diseñador de formato, en la pestaña Asignación, seleccione el origen de datos de modelo, que representa el modelo de datos base de este formato de ER.
- Seleccione Editar.
- Revise la información en el cuadro de diálogo Propiedades del origen de datos. Este origen de datos representa la versión 1 del componente del modelo de datos Cuestionarios que reside en la configuración de ER Modelo de cuestionarios.
Enlazar elementos de formato a campos de origen de datos
Para especificar cómo se rellena una plantilla en tiempo de ejecución, debe vincular cada elemento de formato asociado con un nombre de Excel apropiado a un solo campo del origen de datos de este formato.
En la página Diseñador de formato, en el árbol de formato, seleccione el elemento de formato Report\CompanyName.
En la pestaña Asignación, seleccione el campo de origen de datos model.CompanyName de tipo Cadena.
Seleccione Enlazar para introducir un nombre de empresa en una plantilla.
En el árbol de formato, seleccione el elemento Report\Questionnaire.
En la pestaña Asignación, seleccione el campo de origen de datos model.Questionnaire de tipo Lista de registros.
Seleccione Enlazar.
Seleccione Mostrar detalles para ver más detalles de los elementos de formato.
El elemento de formato de rango Cuestionario está configurado como replicado verticalmente. Cuando se enlaza a un origen de datos de tipo Lista de registros, el rango de Cuestionario apropiado de la plantilla de Excel se repite para cada registro del origen de datos enlazado.
Como el rango Cuestionario de la plantilla de Excel se define entre las filas 5 y 14, estas filas se repiten para cada cuestionario incluido en el informe.
Configure enlaces similares para los elementos de formato restantes, como se describe en la siguiente tabla.
Nota
En esta tabla, la información de la columna "Ruta del origen de datos" supone que la característica de ER ruta relativa está activada.
Aplicar formato a ruta de elemento Ruta de origen de datos Excel\ReportTitle @"GER_LABEL:ReportTitle" Excel\CompanyName model.CompanyName Excel\Questionnaire model.Questionnaire Excel\Questionnaire\Active @.Active, donde @ es model.Questionnaire Excel\Questionnaire\Code @.Code Excel\Questionnaire\Description @.Description Excel\Questionnaire\QuestionnaireType @.QuestionnaireType Excel\Questionnaire\QuestionOrder @.QuestionOrder Excel\Questionnaire\ResultsGroup\Code_ @.ResultsGroup.Code Excel\Questionnaire\ResultsGroup\Description_ @.ResultsGroup.Description Excel\Questionnaire\ResultsGroup\MaxNumberOfPoints @.ResultsGroup.MaxNumberOfPoint Excel\Questionnaire\Question @.Question Excel\Questionnaire\Question\CollectionSequenceNumber @.CollectionSequenceNumber, donde @ es model.Questionnaire.Question Excel\Questionnaire\Question\Id @.Id Excel\Questionnaire\Question\MustBeCompleted @.MustBeCompleted Excel\Questionnaire\Question\PrimaryQuestion @.PrimaryQuestion Excel\Questionnaire\Question\SequenceNumber @.SequenceNumber Excel\Questionnaire\Question\Text @.Text Excel\Questionnaire\Question\Answer @.Answer Excel\Questionnaire\Question\Answer\CorrectAnswer @.CorrectAnswer, donde @ es model.Questionnaire.Answer Excel\Questionnaire\Question\Answer\Points @.Points Excel\Questionnaire\Question\Answer\Text @.Text Cuando haya terminado, haga clic en Guardar.
La siguiente ilustración muestra el estado final de los enlaces de datos configurados en la página Diseñador de formato.
Importante
Toda la colección de orígenes de datos y enlaces especificados representa un componente de asignación de formato del formato configurado. Se llama a esta asignación de formato cuando se ejecuta el formato configurado para la generación de informes.
Ejecutar un formato diseñado a partir de un informe electrónico
Ahora puede ejecutar un formato diseñado con fines de prueba desde la página Configuraciones.
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuración, en el árbol de configuración, expanda Modelo de cuestionario y seleccione Informe de cuestionario.
- Seleccione Diseñador para la versión de formato que tiene el estado Borrador.
- En la página Diseñador de formato, seleccione Ejecutar.
- En el cuadro de diálogo Parámetros de ER, en la ficha desplegable Registros para incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
- Seleccione Aceptar para confirmar la opción de filtrado.
- Seleccione Aceptar para ejecutar el informe.
- Revise el informe generado.
De forma predeterminada, se entrega un informe generado como un archivo de Excel que se puede descargar. Las siguientes ilustraciones muestran dos páginas del informe generado con formato Excel.
Ajustar un formato diseñado
Modificar un formato para cambiar el nombre de un documento generado
De forma predeterminada, a un documento generado se le asigna como nombre el alias del usuario actual. Al modificar el formato, puede cambiar este comportamiento para que un documento generado reciba un nombre según su lógica personalizada. Por ejemplo, el nombre de un documento generado puede basarse en la fecha y hora de la sesión actual, y en el título del informe.
- En la página Diseñador de formato, seleccione el elemento raíz Report .
- En la pestaña Asignación, seleccione Editar nombre de archivo.
- En el campo Fórmula, introduzca CONCATENATE (@"GER_LABEL:ReportTitle", " - ", DATETIMEFORMAT(SESSIONNOW(), "yyyy-MM-dd hh-mm-ss")).
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Guardar.
Modificar un formato para cambiar el orden de las preguntas
Las preguntas no están ordenadas correctamente en un informe generado. Puede cambiar el orden modificando el formato.
En la página Diseñador de formato, seleccione el elemento raíz Report .
En la pestaña Asignación, en el árbol de formato, expanda Report\Questionnaire\Question.
En la pestaña Asignación, seleccione model.Questionnaire.
Seleccione Agregar>Functions\Calculated field y, a continuación, en el campo Nombre, introduzca OrderedQuestions.
Seleccione Editar fórmula.
En el editor de fórmulas, en el campo Fórmula, introduzca ORDERBY (model.Questionnaire.Question, model.Questionnaire.Question.SequenceNumber) para ordenar la lista de preguntas del cuestionario actual por el número de orden de la secuencia.
Seleccione Guardar y cierre el editor de fórmulas.
Seleccione Aceptar para completar la entrada de un nuevo campo calculado.
En la pestaña Asignación, seleccione model.Questionnaire.OrderedQuestions.
En el árbol de formato, seleccione Excel\Questionnaire\Question.
Seleccione Enlazar y, a continuación, confirme que la ruta model.Questionnaire.Questions actual se reemplaza por la nueva ruta model.Questionnaire.OrderedQuestions en todos los enlaces de elementos anidados.
Seleccione Guardar.
Ejecutar un formato modificado a partir de un informe electrónico
Ahora puede ejecutar un formato modificado con fines de prueba desde el marco de ER.
- En la página Diseñador de formato, seleccione Ejecutar.
- En el cuadro de diálogo Parámetros de ER, en la ficha desplegable Registros para incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
- Seleccione Aceptar para confirmar la opción de filtrado.
- Seleccione Aceptar para ejecutar el informe.
- Revise el informe generado.
La siguiente ilustración muestra un informe generado en formato Excel donde las preguntas están correctamente ordenadas.
Completar el diseño del formato
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, expanda Modelo de cuestionario y seleccione Informe de cuestionario.
- En la ficha desplegable Versiones, seleccione la versión de configuración que tenga un estado de Borrador.
- Seleccione Cambiar estado>Completada.
El estado de la versión 1.1 de esta configuración cambia de Borrador a Completada. La versión 1.1 ya no se puede cambiar. Esta versión contiene el formato configurado y se puede utilizar para imprimir su informe personalizado. Se crea la versión 1.2 de esta configuración y tiene un estado de Borrador. Puede editar esta versión con el fin de ajustar el formato del informe Questionnaire.
Nota
El formato configurado es su diseño del informe Questionnaire y no contiene ninguna relación con los artefactos específicos de Finance.
Desarrollar artefactos de aplicación para llamar al informe diseñado
Como usuario con el rol de administrador del sistema, debe desarrollar una nueva lógica para que el formato de ER configurado se pueda llamar desde la interfaz de usuario de la aplicación para generar su informe personalizado. Actualmente, ER no ofrece ninguna capacidad para configurar este tipo de lógica. Por lo tanto, se requiere algún trabajo de ingeniería.
Para desarrollar la nueva lógica debe implementar una topología que permita la compilación continua. Para obtener más información, consulte Implementar topologías que admiten la automatización continua de la compilación y la prueba. También debe tener acceso al entorno de desarrollo para esta topología. Para obtener más información sobre la API de ER disponible, consulte API del marco de ER.
Modificación de código de origen
Agregar una clase de contrato de datos
Agregue la nueva clase QuestionnairesErReportContract a su proyecto de Microsoft Visual Studio y escriba el código que especifique el contrato de datos que se debe utilizar para ejecutar el formato de ER configurado.
/// <summary>
/// This class is the data contract class for the <c>QuestionnairesErReportDP</c> class.
/// </summary>
/// <remarks>
/// This is the data contract class for the Questionnaires ER report.
/// </remarks>
[
DataContractAttribute,
SysOperationContractProcessingAttribute(classStr(QuestionnairesErReportUIBuilder))
]
public class QuestionnairesErReportContract extends ERFormatMappingRunBaseContract implements SysOperationValidatable
{
ERFormatMappingId formatMapping;
/// <summary>
/// Validates the report parameters.
/// </summary>
/// <returns>
/// true if no errors; otherwise, false.
/// </returns>
public boolean validate()
{
boolean ret = true;
if (!formatMapping)
{
ret = checkFailed(strFmt("@SYS26332", new SysDictType(extendedTypeNum(ERFormatMappingId)).label()));
}
return ret;
}
[
DataMemberAttribute('FormatMapping'),
SysOperationLabelAttribute(literalstr("@ElectronicReporting:FormatMapping")),
SysOperationHelpTextAttribute(literalstr("@ElectronicReporting:FormatMapping"))
]
public ERFormatMappingId parmFormatMapping(ERFormatMappingId _formatMapping = formatMapping)
{
formatMapping = _formatMapping;
return formatMapping;
}
}
Agregar una clase de generador de interfaz de usuario
Agregue la nueva clase QuestionnairesErReportUIBuilder a su proyecto de Visual Studio y escriba el código necesario para generar un cuadro de diálogo en tiempo de ejecución que se utilizará para buscar el id. de asignación del formato de ER que hay que ejecutar. El código suministrado solo busca formatos de ER que contienen un origen de datos de tipo Modelo de datos que hace referencia al modelo de datos Questionnaires a través de la definición de Root.
Nota
Como alternativa, puede utilizar puntos de integración de ER para filtrar formatos de ER. Para obtener más información, consulte API para mostrar una búsqueda de asignación de formato.
/// <summary>
/// The UIBuilder class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportUIBuilder extends SysOperationAutomaticUIBuilder
{
public const str ERQuestionnairesModel = 'Questionnaires';
public const str ERQuestionnairesDataContainer = 'Root';
/// <summary>
/// Action after build of the dialog UI.
/// </summary>
public void postBuild()
{
DialogField formatMapping;
super();
formatMapping = this.bindInfo().getDialogField(this.dataContractObject(),
methodStr(QuestionnairesErReportContract, parmFormatMapping));
formatMapping.registerOverrideMethod(
methodStr(FormReferenceControl, lookupReference),
methodStr(QuestionnairesErReportUIBuilder, formatMappingLookup),
this);
}
/// <summary>
/// Performs the lookup form for format mapping.
/// </summary>
/// <param name="_referenceGroupControl">
/// The control to perform lookup form.
/// </param>
public void formatMappingLookup(FormReferenceControl _referenceGroupControl)
{
ERObjectsFactory::createFormatMappingTableLookupForControlAndModel(
_referenceGroupControl,
ERQuestionnairesModel,
ERQuestionnairesDataContainer).performFormLookup();
}
}
Agregar una clase de proveedor de datos
Agregue la nueva clase QuestionnairesErReportDP a su proyecto de Visual Studio y escriba el código para introducir el proveedor de datos que se debe utilizar para ejecutar el formato de ER configurado. El código suministrado solo incluye el contrato de datos para este proveedor de datos.
/// <summary>
/// Data provider class for Questionnaires ER report.
/// </summary>
public class QuestionnairesErReportDP
{
QuestionnairesErReportContract contract;
public static QuestionnairesErReportDP construct()
{
QuestionnairesErReportDP dataProvider;
dataProvider = new QuestionnairesErReportDP();
return dataProvider;
}
}
Agregar un archivo de etiquetas
Agregue el nuevo archivo de etiquetas QuestionnairesErReportLabels_en-US a su proyecto de Visual Studio y especifique las siguientes etiquetas para nuevos recursos de interfaz de usuario:
- La etiqueta @QuestionnairesReport para un nuevo elemento de menú que contiene el siguiente texto en inglés de EE.UU. (en-US): Questionnaires report (powered by ER)
- La etiqueta @QuestionnairesReportBatchJobDescription para un título de trabajo por lotes si un formato de ER seleccionado está programado para su ejecución como trabajo por lotes
Agregar una clase de servicio de informes
Agregue la nueva clase QuestionnairesErReportService a su proyecto de Visual Studio y escribe el código necesario para llamar a un formato de ER, identificarlo mediante un id. de asignación y proporcionar un contrato de datos como parámetro.
using Microsoft.Dynamics365.LocalizationFramework;
/// <summary>
/// The electronic reporting service class for Questionnaires ER report
/// </summary>
class QuestionnairesErReportService extends SysOperationServiceBase
{
public const str ERModelDataSourceName = 'model';
public const str DefaultExportedFileName = 'Questionnaires report';
public const str ParametersDataSourceName = 'RunTimeParameters';
/// <summary>
/// Generates report by using Electronic reporting framework
/// </summary>
/// <param name = "_contract">The Questionnaires report contract</param>
public void generateReportByGER(QuestionnairesErReportContract _contract)
{
ERFormatMappingId formatMappingId;
QuestionnairesErReportDP dataProvider;
dataProvider = QuestionnairesErReportDP::construct();
formatMappingId = _contract.parmFormatMapping();
if (formatMappingId)
{
try
{
ERIModelDefinitionParamsAction parameters = new ERModelDefinitionParamsUIActionComposite()
.add(new ERModelDefinitionObjectParameterAction(ERModelDataSourceName, ParametersDataSourceName, _contract, true));
// Call ER to generate the report.
ERIFormatMappingRun formatMappingRun = ERObjectsFactory::createFormatMappingRunByFormatMappingId(formatMappingId, DefaultExportedFileName);
if (formatMappingRun.parmShowPromptDialog(true))
{
formatMappingRun.withParameter(parameters);
formatMappingRun.withFileDestination(_contract.getFileDestination());
formatMappingRun.run();
}
}
catch
{
// An error occurred while exporting data.
error("@SYP4861341");
}
}
else
{
// There is no data available.
info("@SYS300117");
}
}
}
Cuando tiene que utilizar un formato de ER que ejecuta datos de aplicaciones, debe configurar un origen de datos de tipo Modelo de datos con la asignación de formato. Este origen de datos se refiere a una parte concreta del modelo de datos especificado mediante el uso de una única definición de raíz. Cuando se ejecuta el formato de ER, llama a este origen de datos para acceder a la asignación del modelo de ER apropiado que está configurado para una definición de modelo y raíz determinada.
Toda la información que pueda preparar en el código fuente y almacenar como parte del contrato de datos se puede pasar al formato de ER en ejecución mediante una asignación de modelo de ER de este tipo. En la asignación del modelo de ER, debe configurar un origen de datos de tipo Objeto que haga referencia a la clase QuestionnairesErReportContract. Para identificar una asignación de modelo, debe especificar un origen de datos que llame a esta asignación de modelo. En el código suministrado, este origen de datos se especifica con la constante ERModelDataSourceName que tiene el valor de modelo. Para identificar qué origen de datos se utiliza para exponer el contrato de datos en la asignación de modelo, debe especificar un nombre de origen de datos. En el código suministrado, este nombre se especifica con la constante ParametersDataSourceName que tiene el valor RunTimeParameters.
Nota
En un entorno nuevo, es posible que tenga que actualizar los metadatos de ER para que este tipo de clase esté disponible en el diseñador de asignación de modelo de ER. Para obtener más información, consulte Configurar el marco de informes electrónicos (ER).
Agregar una clase de controlador de informes
Agregue la nueva clase QuestionnairesErReportController a tu proyecto de Visual Studio y escriba código para ejecutar un formato de ER en modo sincrónico o en modo por lotes (como prefiera) en el cuadro de diálogo que se crea en base a la lógica de la clase QuestionnairesErReportUIBuilder.
/// <summary>
/// The controller for Questionnaires ER report
/// </summary>
class QuestionnairesErReportController extends ERFormatMappingRunBaseController
{
/// <summary>
/// The main entrance of the controller
/// </summary>
/// <param name = "args">The arguments</param>
public static void main(Args args)
{
QuestionnairesErReportController operation;
operation = new QuestionnairesErReportController(
classStr(QuestionnairesErReportService),
methodStr(QuestionnairesErReportService, generateReportByGER),
SysOperationExecutionMode::Synchronous);
operation.startOperation();
}
/// <summary>
/// Gets caption of the dialog.
/// </summary>
/// <returns>Caption of the dialog</returns>
public ClassDescription defaultCaption()
{
ClassDescription batchDescription;
batchDescription = "Questionnaires report (powered by ER)";
return batchDescription;
}
}
Agregar un elemento de menú
Agregue el nuevo elemento de menú QuestionnairesErReport a su proyecto de Visual Studio. En la propiedad Objeto, este elemento de menú se refiere a la clase QuestionnairesErReportController y se usa para especificar un permiso de usuario para seleccionar y ejecutar un formato de ER. En la propiedad Etiqueta, este elemento de menú se refiere a la etiqueta @QuestionnairesReport que creó anteriormente, para que se presente el texto correcto en la interfaz de usuario de la aplicación.
Agregar un elemento de menú a un menú
Agregue el menú KM existente a su proyecto de Visual Studio. Debe agregar un nuevo elemento QuestionnairesErReport de tipo Salida a este menú. Este elemento debe hacer referencia al elemento de menú QuestionnairesErReport descrito en la sección anterior.
Compilar un proyecto de Visual Studio
Cree su proyecto para hacer que un nuevo elemento de menú esté disponible para los usuarios.
Ejecutar un formato desde la aplicación
Vaya a Cuestionario>Diseño>Questionnaires report (powered by ER).
En el cuadro de diálogo, en el campo Asignación de formato, seleccione Informe de cuestionarios.
Seleccione Aceptar.
En el cuadro de diálogo Parámetros de informe electrónico, en la ficha desplegable Registros que incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
Seleccione Aceptar para confirmar la opción de filtrado.
Seleccione Aceptar para ejecutar el informe.
Revise el informe generado.
Ajustar una solución de informes electrónicos diseñada
Puede modificar la solución de ER configurada para que utilice la clase de proveedor de datos que desarrolló con el fin de acceder a los detalles del formato de ER en ejecución y para que introduzca el nombre de este formato de ER en un informe generado.
Modificar una asignación de modelo
Agregar orígenes de datos para acceder al objeto de contrato de datos
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, expanda Modelo de cuestionario y seleccione Asignación de cuestionario.
- Seleccione Diseñador para abrir la página Asignación de modelo a origen de datos.
- Seleccione Diseñador para abrir la asignación seleccionada en el diseñador de asignación de modelo.
- En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Objeto.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, introduzca RunTimeParameters, como se define en el código fuente de la clase QuestionnairesErReportService.
- En el campo Clase, introduzca QuestionnairesErReportContract, que se programó anteriormente.
- Seleccione Aceptar.
- Expanda RunTimeParameters.
El origen de datos agregado proporciona información sobre el id. de registro de la asignación de formato de ER en ejecución.
Agregar un origen de datos para acceder a registros de asignación de formato de informe electrónico
Para continuar, edite la asignación del modelo seleccionado agregando un origen de datos para acceder a los registros de asignación de formato de ER.
- En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione Dynamics 365 for Operations\Registros de tabla.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba ER1.
- En el campo Tabla, escriba ERFormatMappingTable.
- Seleccione Aceptar.
Agregar un origen de datos para acceder a un registro de asignación de formato de un formato de informe electrónico en ejecución
Para continuar, edite la asignación del modelo seleccionado agregando un origen de datos para acceder al registro de asignación de formato del formato de ER en ejecución.
- En la página Diseñador de asignación de modelo, en el panel Tipos de origen de datos, seleccione Functions\Calculated field.
- En el panel Orígenes de datos, seleccione Agregar raíz.
- En el cuadro de diálogo, en el campo Nombre, escriba ER2.
- Seleccione Editar fórmula.
- En el editor de fórmulas, en el campo Fórmula, introduzca FIRSTORNULL (FILTER(ER1, ER1.RecId = RunTimeParameters.parmFormatMapping)).
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Aceptar.
Introducir en el modelo de datos el nombre del formato de informe electrónico en ejecución
Para continuar, edite la asignación del modelo seleccionado de forma que se introduzca el nombre del formato de ER en ejecución en el modelo de datos.
- En la página Diseñador de asignación de modelo, en el panel Modelo de datos, expanda ExecutionContext y después seleccione ExecutionContext\FormatName.
- En el panel Modelo de datos, seleccione Editar para configurar un enlace de datos para el campo del modelo de datos seleccionado.
- En el editor de fórmulas, en el campo Fórmula, introduzca FIRSTORNULL (ER2.'>Relations'.Format).Name.
- Seleccione Guardar y cierre el editor de fórmulas.
Como utilizó el campo FormatName, ahora la asignación de modelo configurada expone el nombre de un formato de ER que llama a esta asignación de modelo durante la ejecución.
Completar el diseño de la asignación del modelo
- En la página Diseñador de asignación de modelo, seleccione Guardar.
- Cierre la página.
- Cierre la página de asignaciones de modelo.
- En la página Configuraciones, en el árbol de configuración, asegúrese de que la configuración Asignación de cuestionario sigue seleccionada. A continuación, en la ficha desplegable Versiones, seleccione la versión de configuración que tiene el estado Borrador.
- Seleccione Cambiar estado>Completada.
El estado de la versión 1.2 de esta configuración cambia de Borrador a Completada. La versión 1.2 ya no se puede cambiar. Esta versión contiene la asignación de modelo configurada y se puede utilizar como la base de otras configuraciones de informes electrónicos. Se crea la versión 1.3 de esta configuración y tiene un estado de Borrador. Puede editar esta versión para ajustar la asignación de modelo Questionnaire.
Modificar un formato
Puede modificar el formato de ER configurado de forma que su nombre se muestre en el pie de página de un informe que se genera cuando se ejecuta el formato de ER.
Agregar un nuevo elemento de formato
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, expanda Modelo de cuestionario y seleccione Informe de cuestionario.
- Seleccione Diseñador.
- En la página Diseñador de formato, seleccione el elemento raíz Report .
- Seleccione Agregar para agregar un nuevo elemento de formato anidado para el elemento raíz Report seleccionado.
- Seleccione Excel\Footer.
- En el campo Nombre, especifique Footer.
- Seleccione Report\Footer y seleccione Agregar.
- Seleccione Text\String.
Enlazar el elemento de formato agregado
- En la página Diseñador de formato, en la pestaña Asignación, para el elemento Footer\String activo, seleccione Editar fórmula.
- En el editor de fórmulas, en el campo Fórmula, introduzca CONCATENATE ("&C&10", FORMAT("Generated by'%1' ER solution", model.ExecutionContext.FormatName))
- Seleccione Guardar y cierre el editor de fórmulas.
- Seleccione Guardar.
Ahora el formato configurado se ha modificado para que se introduzca su nombre en el pie de página de un informe generado mediante el elemento Footer\String.
Completar el diseño del formato
- Cierre la página Diseñador de formato.
- En la página Configuraciones, en el árbol de configuración, asegúrese de que la configuración Informe de cuestionario sigue seleccionada. A continuación, en la ficha desplegable Versiones, seleccione la versión de configuración que tiene el estado Borrador.
- Seleccione Cambiar estado>Completada.
El estado de la versión 1.2 de esta configuración cambia de Borrador a Completada. La versión 1.2 ya no se puede cambiar. Esta versión contiene el formato configurado y se puede utilizar como la base de otras configuraciones de informes electrónicos. Se crea la versión 1.3 de esta configuración y tiene un estado de Borrador. Puede editar esta versión para ajustar el informe Questionnaire.
Ejecutar un formato desde la aplicación
- Vaya a Cuestionario>Diseño>Questionnaires report (powered by ER).
- En el cuadro de diálogo, en el campo Asignación de formato, seleccione Informe de cuestionarios.
- Seleccione Aceptar.
- En el cuadro de diálogo Parámetros de ER, en la ficha desplegable Registros para incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
- Seleccione Aceptar para confirmar la opción de filtrado.
- Seleccione Aceptar para ejecutar el informe.
- Revise el informe generado con formato Excel.
Observe que el pie de página del informe generado contiene el nombre del formato de ER que se utilizó para generarlo.
Ejecutar un formato a partir de un informe electrónico
- Vaya a Administración de la organización>Informes electrónicos>Configuraciones.
- En la página Configuraciones, en el árbol de configuración, expanda Modelo de cuestionario y seleccione Informe de cuestionario.
- En el panel de acciones, haga clic en Ejecutar.
- En el cuadro de diálogo Parámetros de informe electrónico, en la ficha desplegable Registros que incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
- Seleccione Aceptar para confirmar la opción de filtrado.
- Seleccione Aceptar para ejecutar el informe.
- Revise el informe generado con formato Excel.
Tenga en cuenta que el pie de página del informe generado no contiene el nombre del formato de ER que se utilizó para generarlo, ya que el objeto del contrato de datos no se pasó a la asignación de modelo en ejecución cuando lo llamó el formato de ER que se ejecutó desde ER.
Configurar un destino de formato para una vista previa en pantalla
- Vaya a Administración de la organización>Informes electrónicos>Destino de informes electrónicos.
- En la página Destino de informes electrónicos, agregue un registro de destino para el formato de ER Informe de cuestionario configurado.
- En la ficha desplegable Destino de archivo, configure el destino de Pantalla para el componente de formato Report que se ha agregado como el elemento raíz del formato de ER Informe de cuestionario configurado.
- En la ficha desplegable Configuración de conversión de PDF, configure el destino para convertir un informe al formato PDF que usa la orientación de página Horizontal.
Ejecutar un formato desde la aplicación para obtener una vista previa como un documento PDF
Vaya a Cuestionario>Diseño>Questionnaires report (powered by ER).
En el cuadro de diálogo, en el campo Asignación de formato, seleccione Informe de cuestionarios.
Seleccione Aceptar.
En el cuadro de diálogo Parámetros de informe electrónico, en la ficha desplegable Registros que incluir, configure la opción de filtrado de forma que solo se incluya el cuestionario SBCCrsExam.
Seleccione Aceptar para confirmar la opción de filtrado.
En la ficha desplegable Destinos, observe que el campo Salida está establecido en Pantalla. Si desea cambiar el destino configurado, seleccione Cambiar.
Seleccione Aceptar para ejecutar el informe.
Revise el informe generado con formato PDF.
Recursos adicionales
- Visión general de los informes electrónicos
- Idioma de fórmulas en los informes electrónicos
- Diseñar informes multilingües
- API de marco de informes electrónicos
- Función CASE
- Función CONCATENATE
- Función DATETIMEFORMAT
- Función FILTER
- Función FIRSTORNULL
- Función FORMAT
- Función IF
- Función ORDERBY
- Función SESSIONNOW