Contactos

1C CCD se descarga en la tabla de valores. Un ejemplo de uso de una fuente de datos externa en LCD. Lea el registro de registro

¡Oye!
Hoy quiero describir el tema con el que sin "Scuba" no se dispersarás :);)

Scuba al hecho de que la inmersión es bastante profunda. En la literatura, hay pocos enlaces sobre este tema y aún no "impartir" en ella no discernirán. Ni siquiera se le pediría a tal acción;) Por cierto, en la documentación se mencionó de manera muy mala y inconsistente, debe referirse a la literatura de terceros.

Por ejemplo, recomiendo altamente "Desarrollo de informes complejos en" 1c: Enterprise 8.2 ". Sistema de diseño de datos, (si es más específicamente, consulte PP. 224, 267 y 473)

En el CCD hay 2 tipos de fuentes de datos: Solicitud, objeto y asociación (esta cosa no cuenta, no es una fuente de datos, sino el controlador disponible). Ver Figura 1:


Por lo tanto, si con una fuente (conjunto) del tipo de datos "Solicitud" para nosotros más o menos comprensible, cómo trabajar, entonces hay dificultades en la base de datos "Objeto".

Para empezar, describiré lo que queremos obtener en la salida:

Informe, usuario presionó el botón " Forma"Y aparecieron la lista de nomenclaturas (ver Fig. 2):

Sí, hice una inexactitud, a saber: no hay botón " Forma"Pero hay un botón" nuevo acto"(Explicaré un poco más tarde por qué sucedió;)

¡Sí Sí! Avenum: esta lista completa se muestra desde el conjunto de datos "Objeto":

Decisión:

  1. Crear un informe externo;
  2. Agregar diseño SCD, llamemos "Ashamompand básico";
  3. Agregue un conjunto de datos "Objeto", Asigne el nombre de la "Lista de listado" (debe ser la misma que en la FIG. 3);
  4. En la configuración del informe, no experimentamos específicamente, lo dejemos simplemente (ver Fig. 4)

Ok, la mitad de la caja hecha;)

¡Ahora genemos la forma básica del informe (sí, otro momento! Mi configuración funciona en la interfaz habitual, pero creo formas gestionadas Encontrarás una solución;) Entonces, Forma:

¡Hay un problema aquí! Si hace clic en el botón "Forma" (Fig. 5.), ¡veremos el error!


¡Dedicé este artículo para resolver este problema!

Póngase al día con el botón del evento "para formar", no funcionó, así que decidí usar la muleta. Lanzó la configuración en modo de depuración e intentó encontrar el botón "Formulario".

Insertado en forma del procedimiento "Formulario", pero no hay señales en él, tuve que anular la acción del botón "Forma" antes de abrir el formulario:


En la Fig. 8 Además de cambiar la forma del formulario, se administra un ejemplo de una consulta, procesamiento y transmisión de datos generados en el CCD. Lo estudiamos Whitre con cuidado:

  1. Generamos los datos de entrada para el CCD;
  2. Inicializar el CCD;
  3. Derivamos el resultado en el formulario (¡le presta la misma atención!).

Recordemos el esquema de interacción de los objetos del sistema de diseño de datos:

El diagrama de diseño de datos en el informe externo es adecuado como un objeto global en el método de formulario Schemacksprinky.También puede contactarla por su nombre pasándolo al método. Recibir(Ver Fig. 8)

La pieza principal de código se da a continuación:

Solicitud \u003d nueva solicitud; Solicitud.Text \u003d "Elegir | Nomenclatura. Nombre como nomenclatura | desde el directorio. Sustitución como nomenclatura"; Nomenclampscription \u003d consulta. Rellenar (). Descargar (); Set \u003d nueva estructura ("Lista de listado", nomenclampscriptions); // SCD \u003d Recepción ("BasicChemComponicid"); SCD \u003d Schemecomponovydny; Compileker \u003d nueva máquina plegable CleanCrisey; Mockacomp \u003d Compmacket. Relleno (SCD, SCD. No-Pumppoui); Procesador compensado \u003d nuevos comités de procesador; Procesadores de procesadores Inicializar (maqueta, citado); Conclusión \u003d Nuevos resultados procesadores en líneaComplekdangAdocument; Conclusión. Instalaciones registradoras (formas de elementos. Resultado); conclusión. Asegurar (Comité del Procesador, Verdad);

¡Sí! Aquí hay otro momento agradable !!!

EN este ejemploComo puede ver (ver Fig. 2), la salida se realiza en forma de forma, y \u200b\u200bno en la tabla. ¡documento! Y es muy bueno, porque podemos trabajar con el formulario (interceptar programáticamente los eventos del elemento de formulario, hacer todo tipo de fichas con arrastrar y soltarlo, etc.)

En un documento tabular, podemos simplemente mostrar los datos procesados \u200b\u200ben la pantalla y transferir la administración de documentos al usuario y no podemos influir en el proceso de edición adicional de este contenido.

Ver el sistema de ayuda " Campo del documento tabular ", Y solo doy un extracto de la documentación incorporada del sistema 1c Enterprise 8.2:

"El campo del documento de la tabla es documento tabularcolocado en forma. Junto con el colector de las capacidades de diseño de un documento tabular, le permite organizar el procesamiento de eventos derivados de la selección de células, imágenes, así como otros controles colocados en el campo de documentos de la tabla ".

Está bien, como dicen, el éxito en la batalla;)

En mi artículo pasado, ya escribí que 1C es una plataforma paradójica. La línea de datos de datos se refiere a tales paradojas. El CCD está diseñado para construir informes complejos e implica la sustitución de la programación "manual" de informes para diseñar en herramientas multifuncionales. Oportunidad uso de SCD apareció en la octava versión, pero tomó por mucho tiempo Lo que apareció una versión 8.2 para usarla en sus productos típicos. Por un lado, el SCD es un kit de herramientas multifuncional usando el cual puede compensar informes muy complejos sin una sola línea de código. Sin embargo, el SCD tiene un umbral bastante alto de entrada, estudio y comienza a usarlo completamente "de la habilidad" muy difícil, ya que la interfaz no es completamente intuitiva, pero la mayor manuales completos Utilizar solo en forma de literatura pagada.

En el proceso de mi estudio, el CCD surgió la tarea. Debe obtener datos de una tabla de valores de terceros usando el idioma de la consulta y continúe operando con estos datos como similares de las tablas de la base de datos (información de información, agrupación y así). En formato clásico, haríamos una solicitud que reciba información de la tabla transferida a la solicitud en la idea del parámetro.

Solicitud \u003d nueva solicitud (
"ESCOGER
| Mesa. Namerenclatura,
| Mesa. Losa
| Es
| & Tk como mesa ");
Solicitud. Parámetro de instalación ("TK", TK);

Pero desde el CCD no es tan simple. Ay, la operación descrita anteriormente debe realizarse en el sistema de alineación de datos es imposible. Sin embargo, se implementa la posibilidad de cargar tablas externas de valores en el sistema.

Vale la pena hacer un pequeño retiro lírico y hablar sobre conjuntos de datos. Los conjuntos de datos son fuentes de información de la que el SCD recibe datos que luego se quejan al informe. Los conjuntos de datos se dividen en tipos, básicamente utiliza el tipo "Solicitud", en el cuerpo del cual el programador escribe una solicitud a la base de datos. Escriba "objeto" se usa para cargar datos de objetos externos. En ambos casos, tenemos un cierto conjunto de campos obtenidos como resultado de la ejecución de la consulta o cargue un objeto externo. Más tarde, estos campos pueden ser operados en la pestaña "Configuración", junto con configuración detallada Estructura de informe. Para la relación de varios conjuntos, el CCD proporciona la capacidad de especificar los enlaces de los conjuntos de datos en la pestaña del mismo nombre. Estos bonos son un análogo directo de la conexión izquierda en una solicitud clásica. Sin embargo, se debe tener en cuenta que las solicitudes en cualquier conjunto de datos no "sepa" sobre la existencia de otros conjuntos de datos, en última instancia, los conjuntos de datos de conjuntos de datos afectarán el diseño de datos en la estructura especificada en la pestaña Configuración.

Detalle la tarea a algún ejemplo. Existe un informe típico de la declaración calculada de la organización de la configuración de ZEK 8. Es necesario que los tipos de asentamientos en el informe fueron agrupados por algunos grupos. La correspondencia del grupo de video se almacena en la tabla de valores externos. Para cargarlo en el esquema de alineación de datos principal, cree un "conjunto de datos" con el nombre "GRUPO" (Figura 2). Comunicación Producimos con un "conjunto de consultas" - "acumulación" de acuerdo con la forma de cálculo (Figura 3). En el "conjunto de datos", "acumulado" es información sobre los grupos, eliminamos todas las entradas. Después de, en la pestaña Configuración, podemos usar el campo "grupo" del grupo, que se carga desde una fuente de datos externa (Figura 4). En la función de formación de informes, complementamos la carga de datos externos.

Función para formular (resultado \u003d indefinido, propietario propietario \u003d indefinido, Outforming \u003d Truth) Exportar

// recibir o formar la tabla deseada de los valores de "grupo" y su entrada en la misma variable

Externo \u003d nueva estructura (); // Crear y completar la estructura de datos externos
Extranjero. Entrar (grupos);

Valor de peligro \u003d tipos típicos. PERESALUPPODINGPASTERPASTERPETETER PROYECTO (este objeto);
Pocillionpurchain \u003d Configuración de la carpeta. Vierta la configuración ();
Tipos típicos. PouringPRENIMENEWS (este objeto);
Tipos típicos La formación de la declaración (este objeto, el resultado, el almacenamiento de datos, la perspectiva, el extranjero);
Equipo de carpeta. InstalacionesHops (Posteria);
Devolver el resultado;

Funcionamiento final

En el caso de que hicimos un informe "desde cero", el código de informes de la formación de informes se vería así:

Los extranjeros) \u003d nueva estructura;
Los extranjeros. Poner ("grupos", grupo); // grupos - una tabla de valores deseada
SchemesComponicida \u003d Recibir ("BasicSheMakomphonded"); // nuestro diseño con Data Coman Diagram
Configuración \u003d Schemecomponovydata.
Complicando máquina \u003d nuevo complejo de limpiador de plegas;
MACKUPCOMPONOVKA \u003d Máquina de carpeta. Rellenar (diagramas, ajustes);
ProcesadorComponovydanny \u003d nuevo procesadorCompon
ProcesadorComponovydny.initialize (burlas, secciones externas);
Tabo \u003d nueva madera;
Equipo de procesador \u003d Nuevos resultados de procesador en línea commontheldblocks
Ejercicio del procesador. Instalación del documento (TABO);
Equipo de procesador Equipaje (procesadorCompro);

Leer 9660 hora

Al abrir nuevas sucursales de la compañía, para calcular la carga en el servidor 1c: Enterprises y otras tareas, será necesario ver la dinámica del trabajo de los usuarios en la base de información en forma de un gráfico.

La dinámica debe mostrarse en el período seleccionado del usuario. Como los datos mostrados serán el número de acciones en estos usuarios en el contexto del reloj. La información para dicho informe se puede obtener en el registro de registro.

Considere la creación gradual de un informe similar y con la ayuda de un conjunto de datos externo, lo construiremos en el sistema de diseño de datos.

Lea el registro de registro

Y así, construiremos un informe en el CCD. No recibiremos los datos utilizando una consulta de la base de datos, y en el registro de registro. El método para almacenar el registro de registro de la plataforma escribió en el artículo anterior.

De acuerdo con el período especificado en el informe, debemos obtener todas las acciones de usuario en los datos. base de información. La tabla resultante se agrupa en el usuario y la salida en forma de gráfico (vea la captura de pantalla arriba).

Para obtener información del registro de registro, utilizaremos el método de contexto global "descargado ()". En el caso de "precomproncult" del informe creado, agregue los siguientes código de programa:

PROCEDIMIENTO PARA EL PREMOPONSULTO (resultado de documentos, almacenamiento de datos, trabajabilidad estándar) StandardWork \u003d False; // Desconecte la salida de informe estándar: mostraremos software // obtener un informe de la trama, incl. período Configuración \u003d Configuración de la carpeta. Obtención (); // obtener la configuración del informe Parameteriod \u003d Configuración de la carpeta. Recepción (). Pintado. Elementos. Encontrar ("período"). Valor; Zhortab \u003d nuevas tablas; La descarga \u003d nueva estructura; // crear la estructura de selección de registro // llenar la selección por el período Apretando. Insertar ("DATOS", PARAMETERIODO. DATATERNA); Apretando. Insertar ("DATOS", PARAMETERIODO. Datos de datos); // Establecer la selección para eventos Brazos \u003d nueva matriz; Masegativos. Agregar ("_ $ DATA $ _ . Borrar.. Nuevo"); Masegaciones. Añadir (" _ $ DATA $ _ _ . CORREO."); Masegaciones. Añadir (" _ $ DATA $ _ _ . Totalesperiodupdate."); Masegaciones. Añadir (" _ $ DATA $ _ _ . No pareado."); Masegaciones. Añadir (" _ $ DATA $ _ _ . Actualizar."); Retiro. Pasta (" Evento ", Masegativas); // descargar el registro de registro Descargado (zhrag, brazos); // Crear y completar los datos para la salida en el informe Jostab. Columnas. Agregar tiempo"); Jostab. Columnas. Agregar (" Números"); Para cada página del ciclo de jostab p. Tiempo \u003d hora (p. Fecha); Número de cantidades \u003d 1; Endcicle; // Resultados de grupo Jostab. Colapso (" Nombre de tiempo" , " Números" ) ; // ..............

El primer parámetro del método "Agencia de descarga" establece la tabla de valores en los que se descargará el resultado de la muestra en el registro de registro. El segundo parámetro establece el filtro en las entradas seleccionadas. Filtre es una estructura, las teclas en las que se establecen los campos para los cuales se establece la selección. Utilizamos los campos de "DATOS" y "DATOS" para instalar el período de análisis de registro de registro, así como el campo de eventos, en el que transmitimos una matriz de cadenas (nombres de eventos). Un evento agregado de eventos corresponde a los datos en los datos en la base de datos.

Puede leer más sobre el uso del método "descarga de carga" en la sintaxis asistente.

Transmitimos la tabla de valores en el SCD.

Para que el CCD trabaje con la tabla de valores recibidos, debe hacer lo siguiente:

1) Cree un conjunto de datos en el esquema de diseño y establezca sus campos.
2) En el código de software del módulo "precomprobado" "para registrar la transmisión de los valores de los valores en el CD.

// Resultados de grupo Jostab. Colapso (" Nombre de tiempo" , " Números"); Válvulas de instrucciones \u003d nuevos accesorios propietariosCipados; // crear datos de descifrado Complicando máquina \u003d nuevo complejo de limpiador de plegas; // crear un diseño de diseño // Inicializar el diseño de diseño utilizando el circuito de diseño de datos // y la configuración y los datos de descifrado creados anteriormente SchemacksPrinky \u003d Recibir: AshamComponovkin básico"); Paquete MockTackComponovka \u003d Carpeta. Realizar (SchematicPone, Configuración, almacenamiento de datos); // scompon el resultado ProcesadorComponovka \u003d Nuevos componentes del procesador; ProcesadorComponovka. Inicializar (Mock-One, // !!! Pasamos la mesa "Zhortab" al procesador de diseño !!! Nueva estructura (" Lógico", Журраб), los resultados de los documentos. Claro (); // Mostrar el resultado en un documento tabular Equipo de procesador \u003d Nuevos resultados de procesador en línea commontheldblocks UPC. Installertocument (resultados de documentos); UPC. Salida (bomba de procesador); Extrudresses

3) Personalice la estructura de recursos e informe (consulte más detalles en el archivo de informe, el enlace al que se da al final del artículo).

Esta configuración de informes completó y podemos ejecutarlo en el modo Enterprise.

Salir

La fuente de datos externa en el CCC está sujeta a su uso en los datos de informes de casi cualquier fuente, continuando aquellos datos que no podemos obtener solicitudes.

El uso de SCD para tales fuentes le permite crear informes con un sistema de configuración flexible, y también permite al usuario cambiar la salida del informe, su estructura. Todas las posibilidades del sistema de diseño de datos estarán involucradas para tales fuentes al máximo.

Descarga un informe del ejemplo que puede según el siguiente enlace..

A veces sucede que los datos en el informe no se pueden obtener utilizando una combinación de solicitud o consulta. Tienes que usar cualquier procedimiento para recopilar datos, y los datos se colocan en la tabla de valor. La pregunta surge, ¿es posible usar estos datos en el diagrama de diseño de los datos? Después de todo, la herramienta SKD es potente y conveniente. Resulta que puede usar los datos de la tabla de valores como fuente de datos para un informe en la pantalla LCD y esto no es completamente difícil de hacer esto. Este artículo mostrará la creación de dicho informe para las formas convencionales.
Entonces, ¿cómo crear un informe CC usando datos de la tabla de valores? Sobre todo en orden.
En primer lugar, abre el Configurador y cree un nuevo informe externo.

Abra el módulo de objeto y cree un procedimiento predeterminado para un lugar de precomponsulta (resultado del documento, almacenamiento de datos, trabajo estándar)

Dentro de este procedimiento, recopilamos datos y formamos un informe.
En el procedimiento de precompronciptrado, apagamos el procesamiento estándar. Trabajo estándar \u003d falso;
Luego forme una tabla de valores al azar. Los nombres de los altavoces de la tabla de valores deben coincidir con los campos de conjunto de datos futuros en SCD:


Por ejemplo, agregue tres líneas de datos. A continuación, en los escalones, cree una salida de informe.

  • Desde el esquema obtenemos la configuración predeterminada.

  • En la variable correspondiente enviamos datos sobre la decodificación.

  • Formamos un diseño utilizando un diseño de diseño.

  • Transmitimos el diseño de diseño a los datos de diseño, configuración y descifrado.

  • Realizamos el diseño utilizando el procesador de diseño. Para hacer esto, realizamos el método de los datos de diseño del procesador inicializando (). Como parámetros, transfiramos el diseño de diseño de datos, conjuntos de datos externos (tipo: estructura, la clave de la tecla debe coincidir con el nombre del objeto en el circuito de diseño de datos, el valor es una tabla de valores formados), los datos de descifrado.

  • Limpie el campo de un documento tabular.

  • Muestra el resultado en un documento tabular.
Como resultado, se obtiene el siguiente código:
Schemacksprinky \u003d Recibir ( "Basicashemacompondeden"); // Configuración \u003d SchemesComponicida. // - Si lo hace como se muestra arriba (recomendado en algunos recursos), luego, cuando cambia la configuración en el modo cliente // estos cambios que no verá, porque la configuración siempre será predeterminada. ¿Qué tan correcta - opción a continuación Configuración \u003d Configuración de la carpeta. Obtención (); INSPECTIONSHOFLINGS \u003d NUEVO INTEDECCIÓNCIPRUCTUCT CIPDED; Complicando máquina \u003d nuevo complejo de limpiador de plegas; MockupsComponovka \u003d Máquina de carpeta. Realizar (Schemecompnee, Configuración, Policyshifts); Designado externo \u003d nueva estructura ( "Convenciones ocupables", Tz deletreado); ProcesadorComponovydanny \u003d nuevo procesadorCompon ProcesadorComponiciado. Inicializar (Mock-UpCompones, externo designado, Policyshifters); Documentación. Claro (); Equipo de procesador \u003d Nuevos resultados de procesador en línea commontheldblocks UPC. Installertocument (resultados de documentos); UPC. Retirarse (complejo del procesador); Añadir diseño de diseño de diseño. El nombre se puede dejar por defecto.

Crear un conjunto de datos. Para hacer esto, agregue un nuevo conjunto de tipo de datos. En el nombre de un objeto que contiene, los datos contiene el nombre que señalamos como una clave al crear una estructura adicional cargada. Luego agregue el campo. Los nombres deben coincidir con precisión los nombres de las columnas en la tabla de valores. A continuación, podemos especificar valores, formatos, etc.

Añadir recursos si es necesario. Serán considerados los resultados. En nuestro caso, estos son campos de cantidad y cantidad.

En la pestaña Configuración usando el Diseñador de Configuración, forme la versión de informe predeterminada

Guardamos nuestro informe. Ejecutarlo en el cliente y formar. Un ejemplo de ejecutar un informe de CC usando datos de la tabla de valores se muestra en la imagen.


Eso es todo. Sólo suficiente, ¿no es verdad?

El informe resultante, por ejemplo, se puede descargar.

41
Recientemente hizo un informe con un número incierto de columnas. Se mostró reacio a meterse con el código, decidí hacer en el CCD. Este problema no surgió, era necesario sacar el resultado en un diseño arbitrario (mi encabezado + ... 27
A pesar del hecho de que los estudios del CCD se reúnen con esto durante el primer o segundo día, esto debería estar en la sección de preguntas frecuentes. Un ejemplo simple de una salida de programa en el diseño utilizando la configuración predeterminada. // obtener un esquema de ... 18
Al generar informes al CCD predeterminado, se implementan todos los grupos, ¡pero sucede inmediatamente después de la formación de mostrar un informe con agrupaciones minimizadas! Este código En el módulo de informe le permite rodar ... 10
En este marcador, puede especificar qué enlaces se realizan entre dos y más conjuntos de datos, según los parámetros y condiciones ..png 1. "Fuente de comunicación": indica el primer conjunto de datos, desde ... 9
¡Que al desarrollar informes se requiere que tenga un usuario con derechos limitados, el informe se formó completamente sin verificar los derechos! Especialmente si RLS está configurado, hay varias formas de hacer: 1. Instalar ...



¿Te gustó el artículo? Compártelo