Creación de un informe sencillo sobre el sistema de almacenamiento. Creando un informe simple en SKD Cómo crear un nuevo informe en 1s 8.3

En la sección “Informes” hay muchos informes diferentes para cada tipo de actividad. Básicamente son suficientes para la contabilidad diaria. Pero a veces, para analizar un problema concreto, es necesario profundizar más, hasta el punto de comparar, por ejemplo, las entradas de un documento y los registros a los que afecta. Y hay ocasiones en las que los informes estándar simplemente no son suficientes.

Para un análisis de datos tan profundo o para crear su propio informe en el programa 1C 8.3, existe un "Informe universal". Voy a considerar sus capacidades en este artículo.

Descripción general del informe universal en 1C 8.3

Primero, averigüemos dónde encontrar un informe universal. Si vamos al menú “Informes” y luego hacemos clic en el enlace “Reporte Universal”, veremos esta ventana:

Echemos un vistazo rápido a sus controles.

Hemos terminado con la línea superior.

  • A continuación, el botón más interesante es “Mostrar configuración”. Es mejor mostrar esto con un ejemplo.

Instrucciones para configurar un informe universal 1C 8.3

Dado que trabajamos en el programa 1C: “Enterprise Accounting 3.0”, lo que más nos interesa son los registros contables. En la configuración 3.0, solo tenemos uno disponible: "contabilidad y contabilidad fiscal". Elegimoslo. Veamos el volumen de negocios de la cuenta 10.01 "Materiales".

Obtenga 267 lecciones en video sobre 1C gratis:

Seleccione un período. Lo tendré a lo largo de 2012. A continuación, haga clic en el botón "Mostrar configuración":

Para obtener los nombres de los materiales, seleccionaremos una agrupación por el 1er subconto. Es en él donde se almacena el nombre, o mejor dicho, un enlace a la nomenclatura.

Vaya a la pestaña "Selecciones":

Aquí debemos indicar que solo queremos ver la puntuación 10.01.

Si lo deseas, puedes especificar tantas condiciones de selección como quieras aquí.

Hagamos clic en el botón generar y veamos lo que tenemos:

Se puede ver que el informe contiene demasiadas columnas innecesarias. Como contabilidad de divisas, contabilidad fiscal, etc. No guardo estos registros y quiero eliminar estas columnas del informe.

Volvemos a los ajustes e inmediatamente nos dirigimos a la pestaña “Indicadores”:

Eliminamos las casillas de verificación de aquellas columnas que no necesitamos mostrar.

En la pestaña "Generar", puede especificar el campo por el cual se realizará la clasificación. Por ejemplo, quiero que mis materiales aparezcan en orden alfabético:

SKD 1C significa Sistema de composición de datos. SKD 1C es una nueva forma de escribir informes en 1C, que permite al usuario personalizar completamente el informe por sí mismo.

La desventaja de SKD 1C es que sus configuraciones son bastante complejas y no todos los usuarios las aprenden rápidamente.

Escribir informes ACS requiere la capacidad de trabajar con consultas en 1C, que analizamos en.

¿Cuál es la tecnología para crear un informe SKD 1C?

  • Escriba una solicitud 1C al 1C SKD, que proporciona adquisición de datos
  • Especificar la función de los campos en SKD 1C (campos calculados, recursos)
  • Ingrese la configuración predeterminada de 1C SKD.

El usuario tiene la oportunidad de cambiar muchas configuraciones a voluntad.

¿Cuál es la tecnología para crear un informe sobre tecnologías anteriores?

  • Escribe una solicitud en el programa 1C.
  • Desarrollar un formulario de configuración (único para el informe) que le permitirá cambiar solo N configuraciones seleccionadas por el programador.
  • Escriba el código (programa) para ejecutar la solicitud y construir un formulario impreso del informe.

Como puede ver, SKD 1C tiene una ventaja significativa tanto para el usuario como para el programador:

  • Programador: elimina la necesidad de escribir un programa para ejecutar el informe y la configuración.
  • Usuario: obtiene acceso significativo a la configuración del informe.

En todas las configuraciones nuevas de 1C, todos los informes se utilizarán solo en el SKD 1C.

Veamos cómo crear usted mismo un informe sobre SKD 1C desde cero.

Creando un informe SKD 1C

En el configurador, haga clic en el botón Nuevo archivo (menú Archivo/Nuevo).

Seleccione el tipo de archivo Nuevo informe.

Se creará un nuevo informe. Ingresemos un nombre, sin espacios para la configuración, un sinónimo de usuario.

Creemos el esquema básico de SKD 1C.

Crear una solicitud para el informe SKD 1C

Puede haber muchas fuentes de datos para SKD 1C. Para utilizar, por ejemplo, dos consultas independientes, agregue primero "Conjunto de datos - unión" y luego varias consultas.

En nuestro ejemplo usaremos una consulta simple.

Esbocemos una solicitud para obtener datos.

Trabajar con el constructor de consultas no es diferente de lo habitual, lo comentamos en.

Como resultado de generar la solicitud, SKD 1C creará una lista de campos disponibles para su uso y los completará con nombres predeterminados.

Si el nombre no le resulta conveniente, puede cambiarlo aquí.

Tenga en cuenta que utilizamos el parámetro &StartDate en la solicitud. En SKD 1C hay un parámetro predeterminado (fecha) llamado &Periodo y puedes usarlo.

Además, no es necesario que lo especifique directamente en la solicitud; se utilizará automáticamente. Sin embargo, hay una sutileza: se aplica a todas las tablas, incluidas las uniones izquierdas, etc., lo que puede dar lugar a errores.

Por ejemplo, obtienes saldos al comienzo del mes y, al usar la combinación izquierda, obtienes datos de hoy. Si utiliza Period, se aplicará a todas las tablas por igual y la consulta no funcionará correctamente.

Configuración de SKD 1C

En la pestaña Recursos, indicamos los campos que se resumirán para los totales (es decir, números). Puede especificar una función de suma para los campos. Por defecto es Suma (es decir, suma los números de todas las líneas y obtiene el total), pero puedes usar Promedio, Cantidad, Máximo, etc.

En la pestaña Configuración, deshabilitaremos los que no necesitamos y habilitaremos los que necesitamos. Aquí también puede establecer un nombre humano para el parámetro.

La configuración básica se realiza en la pestaña Configuración:


Abrámoslo en modo Enterprise. Tenga en cuenta que no hicimos ninguna programación, dibujo de formas, etc. Para configurar el parámetro, haga clic en el botón Configuración.

El usuario ve casi la misma forma de configuración que el programador.

Listo. El informe está funcionando.

Configuración de SKD 1C

Todas las configuraciones para el informe SKD 1C se realizan haciendo clic en el botón Configuración. Al menos en la plantilla predeterminada. Es posible crear el formulario de informe SKD 1C usted mismo y luego transferir la configuración a otros formularios elaborados por el programador de forma independiente.

Arrastremos el Almacén desde las Columnas a las Filas.

Arrastremos el artículo al almacén.

Haga clic en Aceptar y genere el informe. Hurra: acabamos de cambiar la forma en que funciona el informe en el modo de programación sin programación.

Haga clic derecho en Filas (o cualquiera de los campos) y seleccione Nueva agrupación.

Expanda el campo Almacén y seleccione uno de sus campos, por ejemplo Tipo de almacén.

Después de pensarlo, recordamos que nos gustaría que se mostraran varios campos a la vez en una columna. Haga clic dos veces en el campo recién creado con el botón izquierdo del ratón. Aquí puede agregar campos.

Si agrega una nueva agrupación pero no selecciona un campo, significa "Todos los campos" (se muestra como "Entradas detalladas"). Se parece a esto.

Haga clic izquierdo en nuestra agrupación (Almacén/Artículo) y arrástrelo a una nueva agrupación (tipo de Almacén).

El resultado de nuestra configuración.

Además de las configuraciones, cuyo efecto es fácil de adivinar por su nombre (Selección, Ordenación, etc.), hay una pestaña "Otras configuraciones". Le permite habilitar o deshabilitar cosas como mostrar totales, colocar agrupaciones en columnas, etc.

Tenga en cuenta que la configuración se puede establecer para todo el informe (Informe seleccionado) o para una fila específica de campos (seleccione una fila, por ejemplo Nomenclatura, y seleccione Configuración:Sin nomenclatura).

Una de las herramientas de desarrollo más convenientes y únicas de 1C es el sistema de composición de datos (DCS). Pocos sistemas de información permiten a los desarrolladores crear informes sin escribir código. Este mecanismo fue desarrollado para simplificar y acelerar el desarrollo de formularios de informes y brindar más oportunidades a los usuarios para trabajar con los datos de salida. Esto último es muy valorado por los usuarios avanzados, quienes gracias a esto pueden personalizar el informe de forma independiente según sus propias necesidades, sin esperar las acciones de los desarrolladores.

Creando un informe en 1C a través de SKD

El proceso de elaboración de un informe utilizando ACS se puede dividir en las siguientes etapas:

  1. Creando una solicitud. Puede escribir una solicitud manualmente o prescindir del código utilizando una interfaz conveniente;
  2. Configuración del informe. Seleccionar campos, totales, agrupaciones, parámetros, diseño de informes;
  3. Después de esto, todo lo que tenemos que hacer es conectar el informe resultante a la configuración de cualquier forma disponible.

A pesar de la posibilidad de que los usuarios personalicen los informes en el sistema de control de acceso, estos deben crearse a través del configurador.

Veamos un ejemplo de creación de un informe externo en un sistema de control de acceso:


Ahora vamos a 1C, abrimos nuestro informe para asegurarnos de que las acciones tomadas sean correctas. Todos los datos se reflejan, las agrupaciones se pueden contraer y expandir. Como puede ver, el sistema de control de acceso le permite recibir informes completos sin escribir código, con la excepción de requisitos no estándar. Teniendo en cuenta que la mayoría de los informes tienen una estructura similar, el conocimiento del sistema de control de acceso reducirá significativamente el tiempo de desarrollo de estos objetos.

Este mecanismo se ha vuelto muy popular debido a que admite amplias capacidades de generación de informes. Además, no sólo los desarrolladores pueden utilizarlos, sino también los usuarios normales.

capacidades SCA

Hay situaciones en las que hemos hecho un informe, y luego viene un usuario y pide hacer una pequeña modificación. Por ejemplo, en lugar de nombres de productos, muestre números de artículo. SKD permite a los usuarios realizar dichas modificaciones de forma independiente utilizando el botón "Más" - "Cambiar opción...".


La ventana que se abre es similar a la ventana de configuración del informe en el configurador y también tiene funciones similares. Para resolver la tarea, el usuario debe ir a la pestaña “Campos” y cambiar el campo “Nomenclatura”. Este campo de edición se abre al hacer doble clic y el botón "Seleccionar..." estará disponible.


La ventana que se abre nos da la oportunidad de seleccionar cualquier valor que aparecerá en el campo “Nomenclatura”. Algunos campos tienen un signo más a la izquierda: el desarrollador ha colocado enlaces en estos campos, lo que significa que podemos ver sus detalles. Abrimos “Nomenclatura” y vemos el artículo que necesitamos. Selecciónelo y selecciónelo.


La ventana para cambiar las opciones del informe contiene muchas funciones útiles del sistema de composición de datos. Por ejemplo, el usuario puede cambiar de forma independiente el orden de las agrupaciones, agregar selecciones o aplicar un diseño condicional. Completamos la edición y generamos un informe; como puede ver, ahora se muestra toda la gama de productos en forma de artículos.


El mecanismo SKD 1C:Enterprise 8.3 también ha ampliado la funcionalidad para los desarrolladores. Al desarrollar el informe, utilizamos solo 2 pestañas: "Conjuntos de datos" y "Configuración", pero hay muchas más en el ACS. Para utilizar todas las funciones del sistema de composición de datos, es necesario comprender para qué sirve cada una de las pestañas:

  1. Conjuntos de datos: todas las consultas involucradas en la generación del informe se enumeran aquí;
  2. Conexiones de conjuntos de datos: se utilizan para crear conexiones entre diferentes consultas desde la primera pestaña;
  3. Campos calculados: una lista de campos agregados que no provienen de la consulta. Se utiliza con mayor frecuencia en los casos en que, según los valores de varios campos, es necesario obtener 1 valor de la solicitud;
  4. Recursos. En 1C, este es el nombre de los campos cuyos resultados necesita conocer. Los recursos respaldan diversas operaciones aritméticas: suma, cantidad, máximo y otras;
  5. Opciones. Se utilizan si para generar un informe es necesario que el usuario ingrese ciertos datos: fecha, divisiones o nomenclatura, por ejemplo;
  6. Diseños. Diseñado para casos en los que los usuarios desean ver un informe con un diseño exclusivo. Puede crear un lugar separado para las firmas o una nueva parte superior del informe; todo esto se puede hacer aquí;
  7. Diagramas anidados. Son necesarios cuando su informe debe contener datos de otros informes;
  8. Ajustes. La sección declara los campos y agrupaciones mostrados y configura la apariencia del informe.


La cantidad de posibilidades incorporadas por los desarrolladores al mecanismo ACS es grande, pero muchas de ellas se utilizan muy raramente. Incluso los programadores experimentados de 1C pueden no utilizar algunas funciones después de años de trabajo. Para empezar a trabajar con éxito en el sistema de control de acceso, basta con conocer los conceptos básicos y las configuraciones de uso frecuente. En casos raros, la documentación vendrá al rescate.

Si tiene alguna pregunta sobre cómo configurar un informe, comuníquese con

Una de las áreas más importantes del software empresarial son los informes. El destino de una empresa puede depender (¡y no en sentido figurado!) de lo fácil que sea adaptar un informe existente a las necesidades cambiantes de la empresa (y de la legislación) o crear uno nuevo, ya sea un informe para la oficina de impuestos. o un diagrama de la dependencia de la demanda de bienes de la temporada y otros factores. Un sistema de informes potente y flexible que facilita la extracción de los datos necesarios del sistema, los presenta en una forma comprensible y permite al usuario final reconfigurar un informe estándar para ver los datos desde una nueva perspectiva: este es el ideal que todo el sistema empresarial debe esforzarse.

En la plataforma 1C:Enterprise, un mecanismo llamado "Sistema de composición de datos" (abreviado como DCS) es responsable de generar informes. En este artículo intentaremos dar una breve descripción de la idea y la arquitectura del mecanismo ACS y sus capacidades.


ACS es un mecanismo basado en una descripción declarativa de informes. El sistema de control de acceso está diseñado para generar informes y mostrar información con una estructura compleja. Por cierto, además de desarrollar informes, el mecanismo ACS también se utiliza en 1C:Enterprise en una lista dinámica, una herramienta para mostrar información de listas con una rica funcionalidad (mostrar listas planas y jerárquicas, diseño condicional de filas, agrupaciones, etc.). ).

un poco de historia

En la primera versión de la plataforma 1C:Enterprise 8, versión 8.0, los informes se generaban así:
  1. Una o más consultas se escribieron en el lenguaje de consulta 1C (lenguaje similar a SQL, más sobre esto a continuación).
  2. Se escribió un código que transfirió los resultados de las consultas ejecutadas a un documento o gráfico de hoja de cálculo. El código también podría realizar un trabajo que no se podía realizar en una consulta; por ejemplo, calculaba valores utilizando el lenguaje 1C integrado.
El enfoque es sencillo, pero no el más conveniente: hay configuraciones visuales mínimas, todo debe programarse "mano a mano". Y una de las ventajas de la plataforma completamente nueva “1C:Enterprise 8” en aquel momento era la minimización en la solución de la aplicación de la cantidad de código que debía escribirse manualmente, en particular mediante el diseño visual. Sería lógico seguir el mismo camino en el mecanismo de presentación de informes. Esto se hizo mediante el desarrollo de un nuevo mecanismo: el Sistema de Composición de Datos.

Una de las ideas que formó la base del sistema de control de acceso fue la flexibilidad y personalización de los informes, a los que podían acceder tanto el desarrollador como el usuario final. Idealmente, me gustaría brindarle al usuario final acceso al mismo conjunto de herramientas de diseño de informes que el desarrollador. Sería lógico crear un conjunto único de herramientas al alcance de todos. Pues bien, dado que las herramientas requieren la participación del usuario final, significa que el uso de programación en las mismas debe reducirse al mínimo (lo mejor es eliminarlo por completo), y aprovechar al máximo la configuración visual.

Declaración del problema

La tarea que tenía ante sí el equipo de desarrollo era crear un sistema de informes basado no en un enfoque algorítmico (es decir, mediante la escritura de código), sino declarativo para la creación de informes. Y creemos que el problema se ha solucionado con éxito. Según nuestra experiencia, alrededor del 80% de los informes requeridos se pueden implementar usando ACS sin una sola línea de código (excepto para escribir fórmulas para campos calculados), principalmente a través de configuraciones visuales.
El desarrollo de la primera versión de la SDS requirió aproximadamente cinco años-persona.

Dos idiomas

Hay dos idiomas involucrados en la creación de informes. Uno es un lenguaje de consulta utilizado para recuperar datos. El segundo es el lenguaje de expresión de composición de datos, diseñado para escribir expresiones utilizadas en varias partes del sistema, por ejemplo, en la configuración de composición de datos, para describir expresiones de campos de usuario.

Lenguaje de consulta

El lenguaje de consulta se basa en SQL y es fácil de aprender para quienes tienen conocimientos de SQL. Solicitud de ejemplo:

Es fácil ver análogos de las secciones estándar para consultas SQL: SELECCIONAR, DESDE, AGRUPAR POR, ORDENAR POR.

Al mismo tiempo, el lenguaje de consulta contiene una cantidad significativa de extensiones destinadas a reflejar las características específicas de los problemas financieros y económicos y a minimizar el esfuerzo requerido para desarrollar soluciones de aplicaciones:

  • Accediendo a los campos mediante un punto. Si los campos de una tabla son de tipo referencia (almacenan enlaces a objetos de otra tabla), el desarrollador puede hacer referencia a ellos en el texto de la solicitud mediante “.”, y el sistema no limita el número de niveles de anidamiento. de dichos enlaces (por ejemplo, Pedido del cliente. Acuerdo. Organización. Teléfono).
  • Formación de resultados multidimensional y multinivel. Los totales y subtotales se forman teniendo en cuenta la agrupación y la jerarquía, los niveles se pueden recorrer en cualquier orden mediante suma y se garantiza la construcción correcta de los totales según las dimensiones de tiempo.
  • Soporte para mesas virtuales. Las tablas virtuales proporcionadas por el sistema le permiten obtener datos casi listos para la mayoría de las tareas de la aplicación sin la necesidad de crear consultas complejas. Así, una tabla virtual puede proporcionar datos sobre los saldos de productos por períodos en un momento determinado. Al mismo tiempo, las tablas virtuales aprovechan al máximo la información almacenada, por ejemplo, totales previamente calculados, etc.
  • Tablas temporales. El lenguaje de consulta le permite utilizar tablas temporales en consultas. Con su ayuda, puede mejorar el rendimiento de las consultas, en algunos casos reducir la cantidad de bloqueos y hacer que el texto de la consulta sea más fácil de leer.
  • Solicitudes por lotes. Para que trabajar con tablas temporales sea más conveniente, el lenguaje de consulta admite el trabajo con consultas por lotes; por lo tanto, la creación de una tabla temporal y su uso se colocan en una sola consulta. Una solicitud por lotes es una secuencia de solicitudes separadas por punto y coma (";"). Las solicitudes del lote se ejecutan una tras otra. El resultado de ejecutar una solicitud por lotes, según el método utilizado, será el resultado devuelto por la última solicitud del lote o una serie de resultados de todas las consultas del lote en la secuencia en la que siguen las consultas del lote. .
  • Recuperar representaciones de campos de referencia. Cada tabla de objetos (en la que se almacena un directorio o documento) tiene un campo virtual: "Ver". Este campo contiene una representación textual del objeto y facilita el trabajo del creador del informe. Entonces, para un documento, este campo contiene toda la información clave: el nombre del tipo de documento, su número y fecha (por ejemplo, "Venta 000000003 del 06/07/2017 17:49:14"), lo que salva al desarrollador de escribiendo un campo calculado.
  • etc.
El mecanismo de solicitud modifica automáticamente la solicitud teniendo en cuenta los roles a los que pertenece el usuario en cuyo nombre se ejecuta la solicitud (es decir, el usuario verá solo los datos que tiene derecho a ver) y las opciones funcionales (es decir, de acuerdo con los configurados en la funcionalidad de solución de la aplicación).

También existen extensiones de lenguaje de consulta especiales para sistemas de control de acceso. La expansión se lleva a cabo mediante instrucciones sintácticas especiales encerradas entre llaves y colocadas directamente en el cuerpo de la solicitud. Mediante extensiones, el desarrollador determina qué operaciones podrá realizar el usuario final al personalizar el informe.

Por ejemplo:

  • ELEGIR. Esta oración describe los campos que el usuario podrá seleccionar para la salida. Después de esta palabra clave, se enumeran los alias de los campos de la lista de selección de consultas principal que estarán disponibles para la configuración, separados por comas. Ejemplo: (SELECCIONAR Artículo, Almacén)
  • DÓNDE. Se describen los campos en los que el usuario puede aplicar la selección. Esta propuesta utiliza campos de tabla. No se permite el uso de alias de campos de lista de selección. Cada parte de la unión puede contener su propio elemento WHERE. Ejemplos: (DONDE Artículo.*, Almacén), (DONDE Documento.Fecha >= &FechaInicio, Documento.Fecha<= &ДатаКонца}
  • etc.
Ejemplo de uso de extensiones:

Lenguaje de expresión de composición de datos

El lenguaje de expresión de composición de datos está diseñado para escribir expresiones utilizadas, en particular, para describir expresiones de campos personalizados. SKD le permite definir campos personalizados en un informe utilizando sus propias expresiones o conjuntos de opciones con condiciones para su selección (análogo a CASE en SQL). Los campos personalizados son similares a los campos calculados. Se pueden configurar tanto en el configurador como en el modo 1C:Enterprise, pero las funciones de los módulos comunes no se pueden utilizar en expresiones de campos personalizados. Por lo tanto, los campos personalizados están destinados al usuario y no al desarrollador.

Ejemplo:

El proceso de creación de un informe sobre el sistema de control de acceso.

Al crear un informe, necesitamos crear un diseño que defina cómo se mostrarán los datos en el informe. Puede crear un diseño basado en un diagrama de diseño de datos. Un diagrama de diseño de datos describe la esencia de los datos que se proporcionan al informe (de dónde obtener los datos y cómo se puede controlar su diseño). El esquema de composición de datos es la base sobre la cual se pueden generar todo tipo de informes. El esquema de composición de datos puede contener:
  • solicitar texto con instrucciones para el sistema de composición de datos;
  • descripción de múltiples conjuntos de datos;
  • descripción detallada de los campos disponibles;
  • describir relaciones entre múltiples conjuntos de datos;
  • descripción de parámetros de adquisición de datos;
  • descripción de diseños y agrupaciones de campos;
  • etc.

Por ejemplo, puede agregar una consulta como un conjunto de datos al esquema de composición de datos y llamar al constructor de consultas, lo que le permite crear gráficamente una consulta de complejidad arbitraria:

El resultado de iniciar el diseñador de consultas será el texto de la consulta (en el lenguaje de consulta 1C:Enterprise). Este texto se puede ajustar manualmente si es necesario:

Puede haber varios conjuntos de datos en un esquema de diseño de datos, los conjuntos de datos se pueden vincular en el diseño de cualquier forma, se pueden agregar campos calculados, se pueden especificar parámetros de informe, etc. Vale la pena mencionar una característica interesante del mecanismo de consulta en 1C:Enterprise. En última instancia, las consultas se traducen a un dialecto de SQL específico del DBMS con el que opera directamente la aplicación. En general, intentamos aprovechar al máximo las capacidades de los servidores DBMS (estamos limitados por el hecho de que utilizamos solo aquellas capacidades que están disponibles simultáneamente en todos los DBMS compatibles con la plataforma 1C:Enterprise: MS SQL, Oracle, IBM DB2 , PostgreSQL). Así, a nivel de consulta en campos calculados, solo podemos utilizar aquellas funciones que estén traducidas a SQL.

Pero en el nivel del esquema de composición de datos, ya podemos agregar campos personalizados y usar funciones en ellos en el lenguaje de desarrollo integrado 1C (incluidos los escritos por nosotros), lo que amplía enormemente las capacidades de los informes. Técnicamente, se ve así: todo lo que se puede traducir a SQL se traduce a SQL, la consulta se ejecuta en el nivel DBMS, los resultados de la consulta se colocan en la memoria del servidor de aplicaciones 1C y el SKD calcula los valores para cada registro. ​​de campos calculados cuyas fórmulas están escritas en el lenguaje 1C.


Agregar campos personalizados

Puede agregar una cantidad arbitraria de tablas y gráficos al informe:


Diseñador de informes


Informe de tiempo de ejecución

Con SKD, el usuario puede agregar selecciones complejas al informe (que se agregarán a la solicitud en los lugares correctos), diseño condicional (permitiendo que los campos mostrados tengan un formato diferente: fuente, color, etc., según sus valores). ) y mucho más.

El proceso de construcción y generación de un informe se puede describir brevemente de la siguiente manera:

  • El desarrollador en tiempo de diseño con la ayuda de un diseñador (o en tiempo de ejecución usando código) determina el esquema de diseño de datos:
    • Texto de la solicitud/solicitudes
    • Descripción de los campos calculados
    • Relaciones entre solicitudes (si hay varias)
    • Opciones de informe
    • Configuración predeterminada
    • Etc.
  • La configuración anterior se guarda en el diseño.
  • El usuario abre el informe
    • Posiblemente realiza configuraciones adicionales (por ejemplo, cambia los valores de los parámetros)
    • Hace clic en el botón "Generar"
  • La configuración del usuario se aplica al esquema de composición de datos definido por el desarrollador.
  • Se forma un diseño de diseño de datos intermedio que contiene instrucciones sobre dónde recibir datos. En particular, se ajustan las consultas especificadas en el diseño. Por lo tanto, los campos que no se utilizan en el informe se eliminan de la solicitud (esto se hace para minimizar la cantidad de datos recibidos). Todos los campos que participan en fórmulas de campos calculados se agregan a la consulta.
  • Entra en juego el procesador de composición de datos. El procesador de diseño ejecuta consultas, vincula conjuntos de datos, calcula valores para campos y recursos calculados y realiza agrupaciones. En una palabra, realiza todos los cálculos que no se realizaron a nivel de DBMS.
  • El procesador de salida de datos lanza una solicitud de ejecución y muestra los datos recibidos en un documento de hoja de cálculo, gráfico, etc.


El proceso de generación de un informe utilizando el mecanismo ACS.

Intentamos minimizar la cantidad de datos de informes transferidos desde el servidor a la aplicación cliente. Al mostrar datos en un documento de hoja de cálculo, al abrir un documento de hoja de cálculo, transferimos desde el servidor solo aquellas líneas que el usuario ve al principio del documento. A medida que el usuario avanza por las líneas del documento, los datos faltantes se descargan del servidor al cliente.

Configuraciones personalizadas

Todas las herramientas ACS están disponibles tanto para el desarrollador como para el usuario final. Pero la práctica ha demostrado que el usuario final a menudo se siente intimidado por la abundancia de capacidades de la herramienta. Además, en la mayoría de los casos, el usuario final no necesita toda la potencia de la configuración; basta con tener acceso rápido para configurar uno o dos parámetros del informe (por ejemplo, período y contraparte). A partir de una determinada versión de la plataforma, el desarrollador del informe tiene la oportunidad de marcar qué configuraciones del informe están disponibles para el usuario. Esto se hace usando la casilla de verificación "Incluir en la configuración del usuario". Además, la configuración del informe ahora tiene un indicador de "Modo de visualización", que toma uno de tres valores:
  • Acceso rápido. La configuración se mostrará directamente en la parte superior de la ventana del informe.
  • Común. La configuración estará disponible a través del botón "Configuración".
  • Inaccesible. La configuración no estará disponible para el usuario final.


Configuración del modo de visualización en tiempo de diseño


Mostrar la configuración en el modo de acceso rápido en tiempo de ejecución (bajo el botón Generar)

Planes de desarrollo

Una de nuestras áreas prioritarias en el desarrollo de sistemas de control de acceso es la simplificación de la configuración del usuario. Nuestra experiencia muestra que para algunos usuarios finales, trabajar con la configuración del usuario sigue siendo una tarea importante. Lo tomamos en cuenta y trabajamos en esta dirección. En consecuencia, también será más fácil para los desarrolladores trabajar con sistemas de control de acceso, porque Nosotros, como antes, queremos proporcionar una herramienta única para configurar informes tanto para el desarrollador como para el usuario final.

Examinamos con cierto detalle la configuración de los informes implementados sobre la base del sistema de control de acceso. Ahora veamos configuraciones más sutiles y detalladas para las opciones de informes. La ventana de configuración "avanzada" de la opción de informe se abre con el comando "Más" - "Otro" - "Cambiar opción de informe".

La ventana para cambiar la versión del informe se divide en dos partes:

1. Estructura del informe.

2. Configuración del informe.


La sección de estructura de opciones de informe es similar a la pestaña "Estructura" de la configuración de informe estándar. El propósito y la configuración de las agrupaciones se analizan en detalle en la Parte 1 del artículo.

La tabla de estructura de variantes del informe, además de la columna propiamente dicha con agrupaciones, contiene varias columnas adicionales:

La sección de configuración de opciones de informe brinda al usuario amplias oportunidades para configurar el informe según sus necesidades. Coincide casi por completo con la configuración de informe estándar analizada en la Parte 1. Veamos todas las pestañas de la sección y observemos las diferencias.

La sección de configuración consta de las siguientes pestañas:

1. Parámetros. Contiene parámetros ACS disponibles para el usuario.

El parámetro SKD es un valor utilizado para obtener datos del informe. Puede ser un valor de condición para seleccionar o verificar datos, así como un valor auxiliar.


La tabla de parámetros se presenta en el formato “Parámetro” - “Valor”. Si es necesario, puede cambiar los valores de los parámetros. Al hacer clic en el botón "Propiedades del elemento de configuración personalizada" se abre la configuración personalizada del elemento.


En esta ventana, puede seleccionar si el elemento se incluirá en la configuración del usuario (es decir, visible para el usuario al configurar un informe), configurar el modo de presentación y edición del elemento (acceso rápido en el encabezado del informe, normal en el configuración del informe e inaccesible).

Las propiedades de los elementos de configuración personalizada también tienen campos agrupables, márgenes, selecciones y elementos de apariencia condicional.

2. Campos personalizados. Contiene campos que son generados por el propio usuario en base a los datos seleccionados por el informe.


El usuario puede agregar dos tipos de campos:

  • Nuevo campo de selección...
  • Nuevo campo de expresión...

Los campos de selección le permiten calcular un valor en función de una condición determinada. La ventana de edición del campo de selección contiene un título de campo y una tabla en la que se especifica la selección, el valor y la presentación del campo. La selección es una condición, dependiendo de cuál se sustituirá el valor deseado.


Por ejemplo, calculemos una estimación del número de ventas. Supondremos que si se venden menos de 10 unidades de un producto, vendimos poco, y si se venden más de 10 unidades, vendimos mucho. Para ello estableceremos 2 valores para el campo calculado: el primero será con la selección “Número de mercancías Menor o igual a “10””, el segundo con la selección “Número de mercancías Mayor que “10” ””.

Los campos de expresión le permiten calcular un valor utilizando algoritmos arbitrarios. Pueden utilizar las funciones del lenguaje de consulta y el lenguaje de programación integrado 1C. La ventana de edición del campo de expresión contiene dos campos para expresiones de registros detallados y resumidos. Los registros totales son agrupaciones configuradas en el área “Estructura del Informe”; deben utilizar funciones agregadas (“Suma”, “Mínimo”, “Máximo”, “Cantidad”).

Por ejemplo, calculemos el porcentaje de descuento promedio. El porcentaje de descuento promedio se calcula mediante la fórmula: [Importe de ventas sin descuento] - [Importe de ventas con descuento] / [Importe de ventas sin descuento]. Es importante recordar que el monto de las ventas sin descuento puede ser cero, por lo que utilizamos el operador SELECT para verificar. Obtenemos las siguientes expresiones:

· Para entradas detalladas:

Elección

Cuando [Monto de ventas sin descuento] = 0

Entonces 0

En caso contrario [Importe de ventas sin descuento] - [Importe de ventas con descuento] / [Importe de ventas sin descuento]

Fin

· Para actas resumidas:

Elección

Cuando Monto([Monto de ventas sin descuento]) = 0

Entonces 0

De lo contrario Suma([Importe de ventas sin descuento]) - Suma([Importe de ventas con descuento]) / Suma([Importe de ventas sin descuento])

Fin

Como se mencionó anteriormente, en la expresión de registros totales utilizamos la función agregada “Suma”.

3. Campos agrupables. Contiene campos por los cuales se agruparán los resultados de la variante del informe. Los campos agrupados se configuran por separado para cada grupo, pero puede configurar campos agrupados generales para una opción de informe si selecciona la raíz "Informe" en el árbol de estructura. Puede agregar un campo del resultado del informe, un campo personalizado o seleccionar un campo automático, luego el sistema seleccionará los campos automáticamente. Esta pestaña también le permite cambiar el orden de los campos agrupados.


4. Campos. Contiene los campos que se generarán como resultado de la variante del informe. Los campos se configuran por separado para cada grupo, pero puede configurar campos comunes para una opción de informe si selecciona la raíz "Informe" en el árbol de estructura. Puede agregar un campo del resultado del informe, un campo personalizado o seleccionar un campo automático, luego el sistema seleccionará los campos automáticamente. Esta pestaña también le permite cambiar el orden de los campos.

Los campos se pueden agrupar para resaltar lógicamente cualquier parte del informe o para especificar una disposición especial de las columnas. Al agregar un grupo, la columna “Ubicación” se activa y le permite seleccionar una de las opciones de ubicación:

  • Automático: el sistema coloca los campos automáticamente;
  • Horizontal: los campos se colocan horizontalmente;
  • Vertical: los campos están dispuestos verticalmente;
  • En una columna separada: los campos se encuentran en columnas diferentes;
  • Juntos: los campos están ubicados en una columna.


5. Selección. Contiene selecciones utilizadas en la variante del informe. La configuración de selecciones se analizó en detalle en la parte 1 de este artículo. Los filtros se configuran por separado para cada grupo, pero puede configurar filtros generales para una opción de informe si selecciona la raíz "Informe" en el árbol de estructura.


6. Clasificación. Contiene los campos de clasificación utilizados en la variante del informe. La configuración de campos de clasificación se analizó en detalle en la Parte 1 de este artículo. La clasificación se configura por separado para cada grupo, pero puede configurar campos de clasificación generales para una opción de informe si selecciona la raíz "Informe" en el árbol de estructura.


7. Registro condicional. Contiene elementos de diseño condicionales utilizados en la variante del informe. La configuración de la apariencia condicional se analizó en detalle en la Parte 1 de este artículo. La apariencia condicional se configura por separado para cada grupo, pero puede establecer elementos generales de apariencia condicional para una opción de informe si selecciona la raíz "Informe" en el árbol de estructura.


8. Configuraciones adicionales. Contiene configuraciones de diseño de informes adicionales. Le permite seleccionar la apariencia general del informe, la ubicación de los campos, agrupaciones, detalles, recursos, totales, configurar la configuración del gráfico, controlar la visualización del título, los parámetros y la selección, determinar la posición de los recursos y fijar el encabezado y la agrupación. columnas de la versión del informe.


En conclusión, me gustaría señalar que la configuración del informe no solo se puede guardar como una opción de informe, sino que también se puede cargar en un archivo (menú "Más" - "Guardar configuración"). Para descargar, debes seleccionar “Cargar configuración” y seleccionar el archivo guardado. Así, podemos transferir configuraciones de variantes de informes entre diferentes bases de datos que tengan la misma configuración.


En base a esto, podemos resumir que el usuario no sólo puede personalizar de forma independiente el informe para adaptarlo a sus necesidades, sino también guardar su configuración y utilizarla en el futuro si es necesario.