Agregar un informe externo a la base de datos. Agregar un informe externo a la base de datos Cómo crear un informe externo en el tutorial 8.3

Dicen que el nombre 1C originalmente significaba la frase "un segundo", es decir. Los programas deben producir informes rápidamente, “en un segundo”. La velocidad de los informes es muy importante, pero es aún más importante que los informes proporcionen la información correcta; lo entenderemos usando el ejemplo de creación de un informe simple en 1C 8.3 basado en la configuración Trade Management 10.3. Para crear informes correctos, es deseable (incluso muy recomendable) poder configurar 1C y poder programar un poco en el lenguaje interno y el lenguaje de consulta de 1C, aunque, por otro lado, crear informes es una excelente oportunidad. para empezar a dominar estas habilidades.

Esta descripción es educativa para comprender los principios básicos de la creación de informes 1C.

Cómo crear un informe en 1C 8.3

Para crear un informe, debe abrir 1C en modo configurador, para hacer esto, en la ventana de inicio de 1C, seleccione la base de datos deseada en la lista y haga clic en el botón Configurador:

En el propio configurador, vaya al menú Archivo y seleccione Nuevo:


En el menú que aparece, seleccione Informe externo y haga clic en Aceptar:


Después de esto, se abrirá una nueva ventana de informe. En el campo Nombre, ingrese el nombre del informe, debe estar sin espacios ni caracteres especiales:


Cómo hacer un informe usando un diseño

Este método requiere principalmente habilidades de programación en 1C, pero aquí no analizaremos los mecanismos para recibir y procesar datos, haremos un informe simple para comprender el mecanismo para iniciar el informe y mostrar el formulario del informe en la pantalla:

En la ventana del informe (que se abre al crear un informe), en la lista inferior, coloque el cursor en el elemento Diseños y, cuando haga clic derecho, haga clic en Agregar en el menú que aparece:


En el diseñador de diseño que se abre, puede especificar el nombre del diseño, se debe seleccionar Documento de hoja de cálculo como tipo de diseño y luego hacer clic en el botón Finalizar en el diseñador:


Esto abrirá una ventana de diseño que se asemeja a una hoja de Excel:


En este diseño, debe crear áreas: grupos de filas o columnas que el programa usará como plantillas, insertar en ellas los datos recibidos de la base de datos y mostrar estas plantillas en la pantalla, elaborando así un informe de estas partes.

Creemos un informe que muestre una lista de elementos. Para hacer esto, crearemos dos áreas de diseño: el encabezado del informe y la línea del artículo.

Para crear un área de encabezado, haga clic izquierdo en el encabezado de la línea (donde se indica el número de línea) para seleccionar la línea de esta manera (la línea completa debe seleccionarse con un clic en el encabezado):


Después de eso, vaya al menú Tabla del menú principal, vaya al submenú Nombres y haga clic en el elemento Asignar nombre:


El programa le pedirá que especifique el nombre del área, el nombre tampoco debe contener espacios ni caracteres especiales, luego haga clic en Aceptar, debería verse así:


Ahora, en el área creada, debe ingresar el texto que se mostrará en el informe y darle formato. Para hacer esto, ingrese texto en la primera celda, por ejemplo, "Lista de elementos". Trabajar con celdas es similar a Excel.

Para formatear el texto en una celda, haga clic derecho en la celda y haga clic en Propiedades. La ventana de propiedades de la celda se abrirá a la derecha. Desplazándose hacia abajo en el contenido de la ventana, busque el campo Fuente y haga clic en el botón "...":


En la ventana que se abre, en la sección Estilo, marque la casilla Negrita y haga clic en Aceptar:


El diseño debería verse así:


De la misma forma creamos el área de línea de artículo, pero no la resaltamos en negrita:


En el área de la línea debe indicar que Nombre es un parámetro, es decir que el nombre real del elemento se sustituirá allí al generar el informe. Para hacer esto, abra las propiedades de la celda con el nombre y en las propiedades en el campo Relleno, seleccione el valor Opción, esto completa la configuración del diseño:


Regresamos a la ventana principal del informe y en la lista inferior hacemos clic derecho en el elemento Formularios y hacemos clic en Agregar:


En el diseñador de formularios de informe que se abre, haga clic en el botón Finalizar, se abrirá el formulario de informe, haga doble clic en el botón Generar:


Como resultado, se abrirá la ventana de propiedades del botón en el lado derecho de la pantalla; en el campo Acción, haga clic en la lupa:


Luego de esto se abrirá un módulo de formulario en el cual deberá programar la generación de un informe:


Primero, reemplace el texto seleccionado con el siguiente código de programa:

//crea un documento de hoja de cálculo que se completará con partes del informe y se mostrará en la pantalla
TabDocument = Nuevo documento tabular;
//a continuación, obtenemos el diseño que se creó al crear el informe
Diseño = GetLayout("Diseño");
//ahora necesitamos mostrar el encabezado del informe, para esto obtenemos el área del encabezado del diseño y lo mostramos en un documento de hoja de cálculo
AreaHeader = Layout.GetArea("Encabezado");
TabDocument.Output(AreaHeader);
//usando una consulta obtenemos una selección de nombres de elementos que deben mostrarse en el informe
Solicitud = Nueva Solicitud;
Solicitud.Texto = "
|SELECCIONAR
| Nombre
|DESDE
| Directorio.Nomenclatura
|";
//obtenemos el área de la línea de elementos del diseño; accederemos a ella en un bucle para mostrar cada elemento
AreaString = Layout.GetArea("Cadena");
//procesamos cada nombre de la selección resultante en un bucle
Seleccionar = Consulta.Ejecutar().Select();
Mientras que el bucle Select.Next()
//para mostrar la siguiente línea, debe especificar el siguiente nombre en el parámetro de área (configuramos el parámetro en sí al crear el diseño)
AreaString.Parameters.Name = Selección.Nombre;
//el parámetro ha sido completado, ahora puedes mostrar la cadena
TabDocument.Output(AreaString);
Fin del ciclo;
//el documento de hoja de cálculo ha sido generado, ahora lo mostramos en pantalla
TabDocument.Show("Lista de elementos");

Cuando el texto se copia en el módulo de formulario, las líneas que comienzan con una doble barra "//" se resaltarán en verde; estos son comentarios que describen lo que hace cada línea de código:


Resumamos qué líneas de código de programa se necesitan para generar un informe:

  1. Es necesario crear un documento de hoja de cálculo que se completará con partes del informe y se mostrará en pantalla, esto se hace con la línea “TabDocument = New TabularDocument;”
  2. Necesitamos obtener el diseño del informe, de él obtendremos la estructura del informe en partes (áreas), esto se hace con la línea “Layout = GetLayout(“Layout”)”
  3. Para mostrar cada una de las áreas, debe obtenerlas del diseño y enviarlas a un documento de hoja de cálculo, esto se hace con las líneas "Header Area = Layout.GetArea("Header")" y "TabDocument.Output(HeaderArea) "
  4. Si necesita completar parámetros que se conocen solo cuando se ejecuta el programa, antes de mostrar el área, debe completar dichos parámetros, esto se hace con la línea "AreaString.Parameters.Name = Selection.Name"
  5. Y solo cuando el documento de la hoja de cálculo está lleno con todas las partes necesarias del informe, se muestra en la pantalla, esto se hace con la línea “TabDocument.Show(“Lista de elementos”)”

Y ahora puede verificar el funcionamiento del informe: abra 1C en modo empresarial (botón 1C: Enterprise en la ventana de inicio de 1C). En el menú principal, vaya al menú Archivo, haga clic en Abrir:


Busque y abra el archivo de informe guardado. En el formulario que se abre, haga clic en el botón Generar:


y obtenemos una lista de nomenclatura:


Esta es solo una forma de crear informes en 1C. En los siguientes artículos veremos otros.

La necesidad de personalizar los informes externos puede surgir en casos de cambios rápidos en los formularios de informes correspondientes. Después de todo, los órganos gubernamentales que aprueban los formularios pertinentes no siempre tienen en cuenta el hecho de que las entidades comerciales necesitan tiempo para preparar el formulario de presentación de informes. Autor - S.A. Kharitonov.

En las configuraciones estándar para 1C:Enterprise 8, producidas por 1C, los formularios de informes regulados se incluyen en las configuraciones y se publican junto con las versiones de configuración. Sin embargo, cuando surge la necesidad, por ejemplo, entra en vigor una nueva edición del formulario de informes, la empresa 1C publica dichos formularios de informes en forma de informes externos "1C: Enterprise 8" (archivos con la extensión *.erf).

El uso de informes externos es una solución temporal que solo debe usarse hasta que se publique una versión de configuración en la que se incorporarán los cambios necesarios. Por tanto, se imponen ciertas restricciones al uso de informes externos:

  • al publicar un informe externo, se especifica con qué versión de configuración se puede utilizar;
  • No se garantiza que el informe externo admita versiones de configuración anteriores;
  • cuando un usuario está trabajando con una configuración, no se puede utilizar más de una versión de un informe externo;
  • abrir un formulario de informe lleva más tiempo en comparación con un informe implementado como objeto de configuración;
  • cargar datos de informes en formato electrónico es mucho más lento, etc.

Puede ver una lista de informes externos emitidos para una versión de configuración específica en la página de configuración del sitio de soporte al usuario de 1C:Enterprise 8 en www.users.v8.1c.ru (en la sección Información gratuita debe hacer clic en el número de interés en la columna con números de versión) o en el formulario Actualizar información(llamado por el botón Actualizar información uniforme del mejor equipo ), si en la base de información está habilitado el servicio de alertas de informes regulados.

Del mismo formulario, puedes hacer clic en el nombre del informe externo para descargarlo a tu computadora.

Como regla general, los informes se distribuyen en forma de archivo RAR. Para trabajar con un informe externo, se debe descomprimir el archivo.

El archivo, junto con el archivo de informe externo, contiene un archivo de texto que describe el propósito del informe y cómo conectarlo.

Si un informe externo está destinado a reemplazar un informe regulado que ya existe en la configuración, se puede conectar a la base de datos simplemente abriendo el informe en el modo 1C:Enterprise (menú Archivo - Abrir).

Cuando se abra, se le hará una pregunta. Registrar un informe regulado externo en la base de información? después de la respuesta el informe externo se registrará en la base de datos y se abrirá inmediatamente para crear un nuevo informe.

si respondes No, el informe no se registrará, pero también se abrirá para crear un nuevo informe. Será posible realizar todas las acciones con dicho informe (creación, llenado, impresión), pero el informe creado no se puede guardar en la base de datos.

Si el informe externo es un nuevo tipo de informe regulado, el informe no podrá registrarse automáticamente en la base de datos: este modo debe habilitarse manualmente. Las instrucciones de conexión también están disponibles en el archivo de texto contenido en el archivo obtenido del sitio web de 1C.

Para utilizar un informe externo, el usuario debe indicar que para este informe regulado no se utilizará un objeto de configuración interno, sino un informe externo.

Registrar un informe externo como un nuevo tipo de informes regulados en el directorio Informes regulados necesario (ver Fig. 1):

1) ir al grupo del directorio en el que se ubicará el nuevo tipo de informe;
2) cree un nuevo elemento de directorio haciendo clic en el botón Agregar en el panel de comando superior del formulario del directorio;
3) en forma de elemento de directorio, complete el nombre que se publicará en el directorio Informes regulados y en la lista de tipos de informes del formulario Informes regulatorios y financieros. También es recomendable llenar una descripción del tipo de informe;
4) cambiar Usar configúrelo como archivo y especifique qué archivo debe usarse como informe externo. Después de presionar el botón DE ACUERDO en el cuadro de diálogo de apertura de archivo, el nombre completo de este informe externo se indicará en el campo de archivo del formulario del elemento del diccionario.

Arroz. 1. Registrar un informe externo

Después de presionar el botón Anote el informe externo se guarda en la base de datos, después de lo cual el nombre completo del archivo externo se reemplaza con texto El informe se ha subido al IB..

Lo mismo sucede cuando presionas un botón. DE ACUERDO, mientras que la forma del elemento del directorio Informes regulados cierra.

Para aquellos elementos del directorio para los que se utilizan informes externos, la línea (externa) se agrega en forma de lista de directorio después del nombre del informe.

Una vez cargado el informe externo en la base de datos, el archivo del informe externo ya no es necesario y se puede eliminar.

Trabajar con un informe regulado que utiliza un informe externo no es diferente de trabajar con un objeto de configuración, excepto por la "respuesta lenta" al abrir y descargar datos de informes en formato electrónico.

Como señal de un informe externo, se muestra una inscripción de información roja en el lado derecho del panel de comando superior. Informe externo.

Puede volver a utilizar el objeto de configuración "interno" en cualquier momento. Para hacer esto, en forma de elemento de directorio para el informe regulado requerido, debe seleccionar el interruptor Usar posicionar un objeto y guarde el elemento del directorio.

El informe externo en sí no se elimina de la base de datos, por lo que también es posible la acción contraria. Para eliminar un informe de la base de datos, debe hacer lo siguiente:

1) en el directorio Informes regulados busque un informe regulado para el cual esté conectado un informe externo; a dicho informe se le agregará una línea (externa) después del nombre del informe;
2) abra el elemento del directorio para editarlo con el botón Cambiar elemento actual;
3) en el campo de selección de informe externo, haga clic en el botón X (Borrar). Después de presionarlo el texto El informe se ha subido al IB. está borrado, esto es una señal de que el informe se eliminará de la base de datos;
4) cierre el formulario del elemento del directorio haciendo clic en el botón DE ACUERDO.

El informe se elimina al guardar el elemento del directorio.

Si es necesario, el informe cargado en la base de datos se puede guardar en un archivo en el disco. Para hacer esto, en forma de elemento de directorio. Informes regulados debes hacer clic en el enlace con el texto Cargar informe externo al archivo. Se abrirá un cuadro de diálogo estándar para guardar archivos. De forma predeterminada, el nombre del archivo es el nombre del objeto de configuración correspondiente.

Es importante tener en cuenta que en una sesión de usuario con una base de datos no se puede utilizar más de una versión de un informe externo: por ejemplo, si el usuario ya está trabajando con un informe regulado, que es un informe externo, y lo ha cargado en El directorio Informes regulados otra versión de este informe externo (por ejemplo, con autocompletar agregado), para usar esta versión del informe necesita finalizar su sesión en el modo 1C:Enterprise y luego iniciar inmediatamente una nueva sesión.

En nuestro ejemplo, el informe muestra la producción de productos y servicios por divisiones, grupos de productos y por mes.

Aquí está la página principal del informe:

Esta página se llama desde el configurador en el menú Archivo – Nuevo – Informe externo.

Primero agregamos un conjunto de datos (DataSet1). En la ventana "Consulta", puede escribirlo usted mismo, crearlo usando el Generador de consultas o cargarlo desde un archivo. La forma más conveniente es utilizar el constructor de consultas. Lea cómo funciona el constructor.

Todo lo que necesita se completa automáticamente, pero es necesario modificar algunas cosas.

Por ejemplo, los encabezados de las columnas (la casilla de verificación "Cantidad" en la figura anterior le permite ingresar cualquier texto de encabezado para este campo), puede configurar el formato de salida de datos (consulte Formato en la línea Cantidad). El formato se puede editar para cualquier tipo de datos: cadenas, fechas, números.

En la pestaña Recursos, seleccione los recursos y configure la visualización de resultados para ellos:

La pestaña Parámetros contiene todo lo que cambia el contenido del informe (por ejemplo, el período para el cual se seleccionarán los datos). Se completa automáticamente según los parámetros de la solicitud (ver la primera página). Usando casillas de verificación, puede ajustar la visibilidad y disponibilidad de estos parámetros, establecer el valor inicial, etc.:

Obtenga 267 lecciones en video sobre 1C gratis:

Y finalmente, Configuración. Aquí se dibuja la apariencia del informe: columnas, filas, su posición entre sí, agrupaciones, etc. El botón "Abrir diseñador de configuración" le ayudará a organizar las líneas y columnas en el orden deseado. El botón "Configuración de elementos personalizados" le permitirá mostrar los parámetros en el encabezado del informe:

Preste atención a la columna Period.PartsDate.NameMonth. ¿Cómo mostrar el nombre del mes en el encabezado de la columna? Aquí es donde sale.

Por cierto, es esta configuración la que le permite mostrar datos de varios períodos a la vez en columnas de informe adyacentes:

Otra pestaña importante es Campos seleccionados. Si está vacío, no se generará el informe. Generalmente se completa automáticamente haciendo clic en el botón "Abrir diseñador de configuración":

En realidad, eso es todo lo que necesitas del mínimo requerido. Como resultado, tendremos un informe similar a este:

Consideremos la posibilidad de crear un informe externo en 1C 8 sin utilizar un sistema de composición de datos. Para crear un informe externo, usaremos la configuración de Contabilidad 2.0, los datos iniciales: “Escriba un informe sobre la cuenta contable 62 en el que se mostrará el volumen de negocios para el período especificado en el contexto Contrapartes Y Contratos de contrapartes.

1. Crea un informe

En primer lugar, creemos un archivo de informe externo; para ello, vayamos a 1s 8 en el modo Configurador, vamos al menú Archivo -> Nuevo, o haga clic en el icono nuevo documento.

Seleccione el elemento de la lista Informe externo. Después de crear el informe externo, asígnele un nombre (por ejemplo Informe más simple) y guárdelo en el disco. También agregaremos dos detalles: comienzo del periodo Y Fin del periodo tipo fecha, los necesitaremos para limitar el intervalo de tiempo para el muestreo de datos al generar un informe.

2. Cree un diseño de informe externo

Para generar un informe en 1C 8, necesita un diseño, esta es una plantilla para mostrar datos en la que se establecen todos los parámetros necesarios, se dibujan tablas, etc. Agreguemos un nuevo diseño; para hacer esto, seleccione el elemento en el árbol de metadatos del informe. Diseños y presione el botón Agregar, al crear, seleccione el tipo de diseño documento de hoja de cálculo.

Nuestro diseño tendrá 4 áreas:

  • Encabezado - en esta área mostraremos el nombre del informe, el período para el cual fue generado y el encabezado de la tabla;
  • Datos de la contraparte: en esta área mostraremos los datos de la contraparte en una tabla;
  • DatosAcuerdo de contraparte: en esta área mostraremos datos sobre el acuerdo de contraparte en una tabla;
  • Pie de página: en esta área mostraremos los valores totales de todo el informe para los campos Ingresos y Gastos.

Comencemos a crear áreas de diseño. Para crear un área en el diseño, seleccione el número requerido de líneas y haga clic en Tabla de menú -> Nombres -> Asignar nombre(O Ctrl + Mayús + N). a la región una gorra Escribamos el nombre del informe: Volumen de negocios 62 cargos, dibuja usando la herramienta Fronteras encabezado del informe y también establecer los parámetros comienzo del periodo Y Fin del periodo. Usando parámetros, puede mostrar los datos necesarios en el informe; esto lo abordaremos en la siguiente etapa de desarrollo, es decir, al escribir el código del informe. Para crear un parámetro en el diseño, seleccione la celda deseada, escriba el nombre del parámetro en ella (sin espacios), haga clic derecho sobre él, seleccione el elemento en el menú que se abre Propiedades. En las propiedades de la celda en la pestaña Disposición seleccionar relleno Parámetro.

Después de esto, el nombre del parámetro en la celda se incluirá entre corchetes angulares ("<>“). Como resultado, el área una gorra debería verse así:

En la zona DatosContraparte crearemos parámetros para mostrar el nombre de la contraparte, así como los ingresos y gastos de la cuenta 62, utilizando la herramienta Fronteras Diseñemos el área como una fila de mesa.

En la zona Acuerdo de contraparte de datos Creemos parámetros para mostrar el nombre del contrato, así como los ingresos y gastos de la cuenta 62, usando la herramienta Bordes diseñaremos el área como una fila de tabla. Hagamos una pequeña sangría antes del parámetro. Acuerdo de contraparte(Esto se puede hacer dividiendo y fusionando celdas. Haga clic derecho en la celda -> Unir o celda dividida), es necesario para que el informe pueda ver que la línea del contrato está más abajo en la jerarquía que la línea de la contraparte.

En la zona Sótano Creemos parámetros para los totales de ingresos y gastos.

Como resultado, deberíamos obtener un diseño como este:

3. Cree un formulario de informe

Para mostrar datos, configure el período de formación y el botón Forma nuestro informe requerirá un formulario. Para crear un formulario, busque el elemento en el árbol de metadatos del informe externo. Formularios y presione el botón Agregar. En la primera página del diseñador de formularios, no necesita realizar ningún cambio, solo necesita hacer clic en el botón Más.

En la siguiente página del diseñador, seleccione ambos detalles disponibles ( comienzo del periodo, Fin del periodo) para su colocación en el formulario.

Como resultado, obtendremos este formulario:

Pero no estamos satisfechos con él en esta forma; hagámosle algunos cambios:

  • Arrastramos el botón Forma desde el panel inferior del informe hasta la parte superior (esto será más conveniente para el usuario);
  • Estire la forma vertical y horizontalmente;
  • arreglemos los campos comienzo del periodo Y Fin del periodo horizontalmente;
  • Agreguemos un elemento de control de campo de documento de hoja de cálculo al formulario (nuestro informe se mostrará en él), asígnele un nombre. TabDoc;
  • Creemos un botón de selección de período (al hacer clic, aparecerá un cuadro de diálogo con una elección conveniente del período deseado). No escribiremos el código del programa todavía, así que simplemente colocaremos el botón al lado de los campos del período.

Como resultado, nuestro formulario se verá así:

4. Programación

Después de crear el formulario de informe, comencemos a programar. Primero, creemos un procedimiento para mostrar un cuadro de diálogo de selección de período (ya creamos un botón para esto en la etapa anterior). Haga clic derecho en el botón y seleccione el elemento del menú. Propiedades, en las propiedades del botón ve a la pestaña Eventos, donde usando el botón con icono de lupa crearemos un procedimiento Botón1Presionar en el módulo de formulario.

Puede cambiar entre el formulario y su módulo usando las pestañas en la parte inferior del formulario.

Para llamar al formulario de selección de período, utilizaremos el procedimiento estándar. Contabilidad 2.0 de un módulo común Trabajar con cuadros de diálogo - HandlerPeriodSettingPress, debe pasarle los detalles del informe como parámetros comienzo del periodo Y Fin del periodo.

Procedimiento Botón1Presionar(Elemento) Trabajar con Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Fin del Procedimiento

Ahora pasemos a escribir el código que generará y mostrará nuestro informe. El módulo de formulario ya tiene un procedimiento. BotónGenerarPrensa, que se ejecutará cuando se presione el botón Forma, ahí es donde escribiremos nuestro código. Comencemos inicializando las variables necesarias. Primero que nada, creemos una variable para campos de documento de hoja de cálculo en el que enviaremos datos, esto no es necesario, es solo que la grabación de las llamadas será más corta, lo que significa que el código del programa será más comprensible para la lectura.

TabDoc = FormElements.TabDoc;

Obtengamos el diseño del informe externo usando la función. Obtener diseño (<ИмяМакета>) , pasaremos el nombre del diseño como parámetro y, si dicho diseño existe, la función lo encontrará.

Diseño = GetLayout("Diseño");

Después de recibir el diseño, creemos variables para cada una de sus áreas, use el método de diseño para esto ObtenerArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Encabezado"); AreaDataAccount = Diseño.GetArea( "Datos del contratista"); AreaDataContract = Layout.GetArea("DataContract"); Pie de página = Layout.GetArea("Pie de página");

Limpiemos el campo del documento de hoja de cálculo. Esto es necesario para que cada vez que se genere un nuevo informe, se eliminen los datos antiguos.

TabDoc.Clear();

Ahora que se completó la inicialización de las variables, pasemos a completar y mostrar las áreas de diseño una por una. Empecemos por el encabezado. Si recuerdas, creamos dos parámetros en esta área. comienzo del periodo Y Fin del periodo, pasaremos allí los valores del periodo de generación del informe, para ello usaremos la propiedad Opcionesáreas de diseño.

AreaHeader.Parameters.PeriodStart = Inicio del Periodo; AreaHeader.Parameters.EndPeriod = EndPeriod;

No más acciones con el área. una gorra El fabricante no es necesario, por lo que mostraremos su campo en un documento de hoja de cálculo.

TabDoc.Output(AreaHead);

A continuación escribiremos una consulta a la base de datos, con la que tomaremos la facturación de la cuenta. 62 del registro contable Autoportante. Definamos una variable en la que se ubicará nuestra solicitud.

Solicitud = nueva Solicitud;

Antes de comenzar a escribir el texto de la solicitud, pasemosle los parámetros necesarios. Ya que estamos escribiendo una solicitud de factura. 62 contabilidad, primero que nada crearemos un parámetro para ello

Request.SetParameter("Account62", Planes de cuentas. Autosuficiente. Buscar por código("62" ));

También es necesario pasar el período de generación del informe a la solicitud. No olvide que tenemos detalles de informes especiales para el período de generación y los pasamos como parámetros.

Request.SetParameter("Inicio del período", Inicio del período); Request.SetParameter("Fin del período", Fin del período);

Comencemos a escribir el texto de la consulta, lo haremos usando el diseñador de consultas. En muchos tutoriales escriben que es necesario poder escribir una consulta tanto manualmente como utilizando un constructor, pero en la práctica este no es el caso. En las tareas que enfrenta constantemente un programador de 1C, la prioridad es escribir código de manera rápida y eficiente, y al escribir una consulta a la base de datos manualmente, esto es casi imposible de lograr; dedicará mucho tiempo precioso a reproducir correctamente todas las estructuras de consulta. y encontrar errores tipográficos que cometió al escribir, etc. Por lo tanto, no pierda el tiempo intentando escribir consultas manualmente, utilice el constructor de consultas. Le ahorrará tiempo y le permitirá escribir consultas complejas sin mucho esfuerzo. Para comenzar a escribir el texto de la solicitud, escribamos en código:

Solicitud.Texto = "" ;

Después de eso, coloque el cursor entre las comillas, haga clic derecho y seleccione Constructor pedido. Se abrirá la ventana del diseñador de consultas.

Ahora necesitamos seleccionar la tabla de base de datos que necesitamos 1C 8. Necesitamos una tabla virtual Revoluciones registro contable Autoportante. Busquémoslo en el lado izquierdo de la ventana del diseñador.

Movámoslo al área. Mesas y comencemos a completar los parámetros. Para todas las tablas de consulta virtuales existe un conjunto especial de parámetros que le permiten seleccionar los datos necesarios de la tabla principal (en nuestro caso, la tabla principal Registro contable Autoportante). Abramos la ventana de parámetros de la tabla virtual.

Completemos los parámetros para el período que pasamos a la solicitud. Para utilizar un parámetro en el texto de la solicitud, debe escribir el símbolo antes de su nombre. signo comercial (&)

Queda por completar la condición de la cuenta contable. contabilidad. Para hacer esto, busque la línea en los parámetros de la tabla virtual. Condición de la cuenta y escribiremos allí

Cuenta EN JERARQUÍA (&Cuenta62)

También puedes utilizar el constructor de condiciones haciendo clic en el botón de tres puntos.

No es necesario imponer más condiciones en la mesa virtual, así que hagamos clic en el botón DE ACUERDO en la ventana de parámetros de la tabla virtual. A continuación, debemos seleccionar los campos que necesitamos de la tabla. Autoportante.Facturación(a saber: Contraparte, Acuerdo de Contraparte, Ingresos y Gastos). Para ver la lista de campos disponibles en la tabla que hemos seleccionado, haga clic en el símbolo “+” junto a su nombre. Después de eso, arrastre los campos requeridos al área más a la derecha del diseñador de consultas, que se llama: Campos. Si abrimos el plan de cuentas veremos que para la cuenta 62 análisis en Para la contraparte este es el Subconto1, y por Acuerdo de Contraparte - Subconto2.

Por tanto, de los campos de la tabla virtual seleccionamos Subconto1 Y Subconto2. Como necesitamos ingresos y gastos por monto, también seleccionamos los campos Importe FacturaciónDt Y Cantidad FacturaciónKt

Rellenemos los alias de los campos que hemos seleccionado, para ello vayamos a la pestaña Uniones/Alias y establezca los nombres de los campos requeridos.

Dado que en nuestro informe los datos se mostrarán jerárquicamente (la Contraparte está en el primer nivel y todos sus contratos están en el segundo), configuraremos la visualización de datos en la jerarquía usando Totales. Vayamos a la pestaña en el diseñador. Resultados. Arrastre a campos de agrupación secuencialmente Contraparte Y Acuerdo de contraparte, y en la final Próximo Y Consumo.

Esto completa el trabajo en el constructor de consultas, haga clic en el botón DE ACUERDO y vemos que el texto de nuestra petición aparece en el código del programa.

Consulta.Texto = "SELECCIONAR | Facturación Autosuficiente.Subconto1 AS Contraparte, | Facturación Autosuficiente.Subconto2 AS Acuerdo de Contraparte, | Facturación autosuficiente. Importe FacturaciónDt AS Recibo, | Facturación autosuficiente. Importe Facturación Kt AS Gasto|DESDE | Registro Contable Autocontabilidad Rotación (&Inicio de Período, &Fin de Período, Cuenta EN JERARQUÍA (&Cuenta 62),) AS Autocontabilidad Rotación|RESULTADOS | IMPORTE(Ingresos), | IMPORTE(Gasto) |PO | contraparte, | Acuerdo de Contraparte";

Una vez que hayamos terminado de escribir la solicitud, comencemos a completar las áreas. DatosContraparte, DatosAcuerdoContraparte Y Sótano. Rellenaremos todas estas áreas con los datos recibidos al ejecutar la solicitud. Dado que nuestra consulta contiene agrupaciones ( Contraparte Y Acuerdo de contraparte) seleccione datos del mismo de la siguiente manera:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

De esta forma recibiremos registros con totales de todas las contrapartes.

Antes de recorrer los datos de muestra mediante un bucle, inicializamos las variables destinadas a calcular los resultados generales del informe:

TotalEntrante = 0; Consumo Total = 0;

Para que los datos del informe se muestren con una jerarquía (y rotaciones a lo largo de "+"), establezcamos el comienzo de la agrupación automática de las filas del documento de hoja de cálculo:

TabDoc.StartAutoGroupingRows();

Todos los preparativos están completos, ahora comencemos a rastrear los resultados de la consulta. Realizaremos el recorrido usando un bucle. Adiós

Mientras selecciona Account.Next() Cycle EndCycle;

Al inicio del ciclo restablecer los parámetros. Próximo Y Consumo región DatosContraparte. ¿Para qué sirve? Imaginemos una situación en la que la contraparte Tío Vasya, el ingreso es 10 y el gasto es 5, y para la siguiente contraparte Tío Petia no hay ingresos ni gastos, en este caso, si no reseteamos los parámetros Próximo Y Consumo, luego en línea por contraparte Tío Petia habrá un ingreso de 5 y un gasto de 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Después de eso llenamos el área. DatosContraparte datos de elementos de muestra

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Después de completar los datos, puede mostrar el área en documento de hoja de cálculo, Dado que utilizamos la agrupación automática de filas, debemos indicar el nivel de la fila en la agrupación (nuestro informe tendrá dos niveles, para las contrapartes el primero para los contratos).

TabDoc.Output(AreaDataAccount,1);

Ahora para esta contraparte haremos una selección según sus contratos.

Acuerdo de SelecciónContrapartida = SelecciónContrapartida.Select(BypassQueryResult.ByGroups);

Realizaremos el recorrido usando un bucle. Adiós.

Mientras que SelectionCounterparty Agreement.Next() Loop EndCycle;

En el ciclo de acuerdos de contraparte, restablezcamos los parámetros Próximo Y Consumo, llena el área Contrato de datos de la muestra y mostrarla en un documento de hoja de cálculo en el segundo nivel de registros.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; CompletePropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

También en este ciclo sumaremos los valores actuales a las variables para calcular los valores totales de ingresos y gastos.

Recibo Total = Recibo Total + SelecciónContrapartidaAcuerdo.Recibo; Gasto Total = Gasto Total + Ejemplo de Acuerdo de Contraparte. Gasto;

Con esto concluye la salida de datos en el área. DatosContraparte, DatosAcuerdoContraparte completado, solo queda completar la agrupación automática de las filas del documento de hoja de cálculo.

TabDoc.FinishAutoGroupingRows();

Ciclos completos responsables de la salida de datos al área. DatosContraparte Y DatosAcuerdoContraparte se parece a esto:

TabDoc.StartAutoGroupingRows(); Mientras que SelectionAccount.Next() bucle AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); Acuerdo de SelecciónContrapartida = SelecciónContrapartida.Select(BypassQueryResult.ByGroups); Mientras que SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; CompletePropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); Recibo Total = Recibo Total + SelecciónContrapartidaAcuerdo.Recibo; Gasto Total = Gasto Total + Ejemplo de Acuerdo de Contraparte. Gasto; FinCiclo; FinCiclo; TabDoc.FinishAutoGroupingRows();

Falta mostrar los datos finales en la zona Sótano y enviar el área misma a documento de hoja de cálculo.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumo; TabDoc.Output(AreaFooter);

Esto completa el proceso de redacción de un informe externo para 1C 8 sin utilizar un sistema de control de acceso. Ahora se puede generar en modo 1C:Enterprise 8 y agregarlo al directorio Procesamiento externo Puede descargar el archivo del informe analizado en el artículo desde .

Mire un vídeo sobre cómo crear un imprimible externo para una aplicación administrada:

Los informes 1C 8.3 son un objeto de metadatos especial diseñado para crear una presentación fácil de usar de los datos de las tablas de la base de datos 1C.

Vamos a resolverlo cómo configurar informes, para qué se necesitan, en qué se diferencian los informes externos de los integrados y en qué se diferencian los informes del procesamiento.

Para crear o personalizar un informe, necesita conocer las funciones integradas y . Digan lo que digan, la base para crear casi cualquier informe es la consulta inicial que recibe los datos. Procesamos estos datos y los mostramos de forma fácil de usar.

Los informes son lo principal en cualquier sistema de información, por lo que 1C prestó mucha atención al desarrollo de informes y creó una gran cantidad de diseñadores y mecanismos para crearlos.

Veamos los métodos básicos para crear informes.

Cómo hacer un informe en 1C usando un diseño

Crear utilizando un diseño es la forma más rutinaria. Sin embargo, muchas veces recurren a ello por desesperación, porque... En este método, el desarrollador escribe completamente cada acción en código, lo que significa que podemos hacer cualquier cosa. Otros mecanismos no pueden presumir de esto.

Pero en este caso, todos los elementos, menús y otros "arcos" deberán ingresarse manualmente, lo cual requiere mucha mano de obra.

Obtenga 267 lecciones en video sobre 1C gratis:

Crear un informe utilizando el diseñador de formularios de salida

El diseñador de formularios de salida es un mecanismo integrado en la plataforma que facilita el desarrollo de informes. El diseñador sólo está disponible para formularios regulares.

El diseñador recibe la solicitud y todos los parámetros necesarios para el futuro informe y éste, a su vez, genera módulos y formularios de informe. El mecanismo se basa en un objeto del lenguaje integrado 1C 8.2 - Generador de informes.

Crear un informe utilizando Informe genérico

El informe universal tiene una gran funcionalidad, una interfaz de configuración conveniente y familiar para el usuario:

Informes basados ​​en el Sistema de Composición de Datos

Este es el método más progresivo para crear informes en 1C, recomendado por el propio 1C. apareció en la plataforma 1C en la versión 8.1.

SKD le permite crear informes simples sin ninguna línea de programación, porque tiene un constructor muy flexible y funcional para crear un esquema de composición de datos:

En todas las configuraciones recientes, todos los informes se escriben utilizando un sistema de composición de datos.

¿Cuál es la diferencia entre informes externos e integrados?

Como está escrito en la documentación, nada. El mecanismo de informes externos se creó para depurar informes durante el desarrollo.

La única diferencia al desarrollar una solución es que no se puede acceder a un informe externo "por nombre", a diferencia de un informe integrado.

¿En qué se diferencia un informe del procesamiento?

De hecho, prácticamente nada. La principal diferencia es el propósito de utilizar el objeto: se necesitan informes para mostrar información y se necesitan informes para cambiar información.

Las principales diferencias en las propiedades: en los informes, puede especificar el esquema básico de composición de datos (DCS) y especificar configuraciones para guardar los parámetros del informe.