Usando selecciones en SCD. Uso de selecciones en DCS Elementos sintácticos de la extensión del lenguaje de consulta del sistema de composición de datos

Extensión de lenguaje de consulta para sistema de composición de datos

La extensión del lenguaje de consulta para el sistema de composición de datos se lleva a cabo mediante instrucciones sintácticas especiales encerradas entre llaves y colocadas directamente en el texto de la consulta.

Elementos sintácticos de la extensión del lenguaje de consulta del sistema de composición de datos.

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.

Por ejemplo:

(SELECCIONAR Artículo, Almacén)

Después del alias del campo puede haber una combinación de caracteres “.*”, que indica la posibilidad de utilizar campos secundarios de este campo.

Por ejemplo, la entrada Nomenclatura.* indica la posibilidad de utilizar campos secundarios del campo “Nomenclatura” (por ejemplo, el campo “Nomenclatura.Código”). El elemento SELECT solo puede aparecer en la primera consulta de unió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.

(DONDE Nomenclatura.*, Almacén)

Un ejemplo sencillo

Es necesario obtener las ventas del período + mostrar el artículo completo, independientemente de si hubo ventas o no. Es decir, debe seleccionar datos de la tabla de facturación del Registro de ventas, datos del directorio de nomenclatura. Saltemos la pregunta de por qué necesitamos toda la nomenclatura.

Para resolver el problema, puede crear una consulta que conecte el artículo y la tabla de facturación con una unión izquierda, como resultado, para el artículo que no se vendió en el período seleccionado, obtendremos los valores del campo. Contraparte, Acuerdo, Cantidad, Suma= Nulo. Esta petición:

SELECCIONE ReferenceNomenclature.Link AS Nomenclatura, SalesTurnover.Counterparty, SalesTurnover.Contraparte Acuerdo, SalesTurnover.QuantityTurnover AS Cantidad, SalesTurnover.CostTurnover AS Costo DESDE Referencia.Nomenclatura AS ReferenceNomenclature CONEXIÓN IZQUIERDA Registrar Acumulaciones.Ventas.Turnover AS SalesReference estás en SprNomenclature.Link = Facturación De Ventas.Nomenclatura

Aquí está el resultado:

Contraparte Acuerdo Nomenclatura Cantidad Suma
nulo nulo _Prueba1 nulo nulo
LLC "Cuernos y pezuñas" Acuerdo1 Zapatillas 10 1200
"Gazprom" Contrato genial Botas 5 13000
nulo nulo chanclos nulo nulo
nulo nulo Pizarras nulo nulo

En este ejemplo, no hubo ventas de los artículos: “Cubrezapatos” y “Zapatillas”

Y todo estaría bien, si agrupamos la muestra por contraparte, entonces todos los artículos no vendidos caerán en un grupo separado, donde Contraparte = Nulo, pero el cliente quiere tener una selección aleatoria en el informe por el campo de contraparte (naturalmente, esto significa la contraparte del registro de Ventas). ¿Qué tengo que hacer? Después de todo, de hecho, solo necesitamos filtrar la tabla. Ventas. Si usamos autocompletar en el constructor ACS, entonces los campos de selección disponibles incluirán el campo Contraparte, todo parece estar bien, pero al ejecutar un informe con selección por contraparte, perderemos todos los registros de la conexión con el ítem. Por ejemplo, establezcamos la selección: Contraparte = LLC "Cuernos y pezuñas". El resultado se verá así:

Para nada lo que necesitamos, ¿verdad?

Para resolver el problema, por supuesto, puede agregar un parámetro a la consulta, por ejemplo, a los parámetros de una tabla virtual. El volumen de ventas, pero al mismo tiempo se pierde la flexibilidad para establecer el tipo de comparación.

Hay una solución: para esto en consultor de construcción en la pestaña Composición de datos => Mesas agregar un campo de condición a las condiciones de la tabla virtual El volumen de ventas y cambiar su apodo a Selección de contraparte

Para no confundir al usuario con los campos de selección, desactivaremos el campo de condición. Contraparte y cambiar el título del campo Selección de contraparte


Como resultado de ejecutar este esquema con la selección habilitada por el campo de contraparte, la consulta resultante tomará la forma:

SELECCIONAR Nomenclatura de Referencia.Enlace AS Nomenclatura, FacturaciónVentas.Contraparte COMO Contraparte, FacturaciónVentas.Acuerdo de Contraparte COMO Acuerdo de Contraparte, FacturaciónVentas.CantidadFavoración AS >Cantidad, FacturaciónVentas.CostoFavoración COMO Costo, PRESENTACIÓNLINK(FavoraciónVentas.Acuerdo Contraparte) COMO ContraparteContratoIntroducción, REPRESENTACIÓNLINK(FavoraciónVentas. Contraparte) AS ContraparteIntroducción, SprNomenclature.Presentation AS NomenclaturePresentation FROM Directory.Nomenclature AS SprNomenclature CONEXIÓN IZQUIERDA Registro Acumulaciones.Ventas.Turnover(&P , , , Contraparte = &P3 ) AS SalesTurnover BY SprNomenclature.Link = SalesTurnover.Nomenclature

Y en consecuencia el resultado:

Contraparte Acuerdo Nomenclatura Cantidad Suma
nulo nulo _Prueba1 nulo nulo
LLC "Cuernos y pezuñas" Acuerdo1 Zapatillas 10 1200
nulo nulo Botas nulo nulo
nulo nulo chanclos nulo nulo
nulo nulo Pizarras nulo nulo

Test1 es un grupo en el directorio de Nomenclatura en el que se encuentra todo

Adjunto a la publicación se encuentra el esquema XML del informe utilizado en la publicación. Creé el circuito en Automatización Integrada, pero creo que todo funcionará bien tanto en UPP como en UT 10.

resumiendo

Este ejemplo muestra cómo crear sus propias configuraciones de selección en el sistema de control de acceso y deshabilitar las creadas automáticamente si está diseñando un circuito con la bandera habilitada. Autocompletar.

Si tienes suficiente experiencia para crear circuitos sin usar Autocompletar- Entonces este consejo no tiene sentido.

Software utilizado

  • Programa de captura de pantalla¡OK!
  • Editor de archivos XML

¡Atención! Esta es una versión introductoria de la lección, cuyos materiales pueden estar incompletos.

Inicie sesión en el sitio como estudiante

Inicie sesión como estudiante para acceder a los materiales escolares.

Sistema de composición de datos 1C 8.3 para principiantes: conectar conjuntos de datos

  • Escriba un informe que muestre a los clientes y sus productos favoritos. Cada cliente tiene un color favorito y cada producto tiene su propio color; en función de estos colores, debe determinar el "favorito" del producto. Por ejemplo, si el color favorito de Andrey es el rojo, entonces una de sus comidas favoritas serán los tomates (son rojos).
  • Aplique dos conjuntos de datos en el informe. El primer conjunto son datos de la tabla del directorio "Clientes". El segundo son datos de la tabla del directorio "Alimentos".
  • Implementar conexión entre estos dos conjuntos, para que el informe contenga sólo los productos favoritos de cada cliente.

Crear un nuevo informe

Abra la base de datos "Gastronom" en el configurador y cree un nuevo informe a través del menú principal:

Tipo de documento - "Informe externo":

En forma de nuevo informe, indique el nombre “Lección 6” y haga clic en el botón “Abrir diagrama de composición de datos”:

Deje el nombre del esquema predeterminado:

Agregar el primer conjunto de datos

En el diagrama que se abre, vaya a la pestaña "Conjuntos de datos" y seleccione "Agregar conjunto de datos - Consulta" usando el signo más verde:

Llame al constructor de la solicitud:

Indicamos la tabla "Clientes" y los campos que se deben obtener de la solicitud:

Agregar un segundo conjunto de datos

Agregue un segundo conjunto de datos:

Selecciónelo (DataSet2) y vuelva a llamar al constructor de consultas:

Indicamos la tabla del directorio "Alimentos" y los campos que se deben obtener de la solicitud:

El texto de la solicitud resultante fue:

Tenga en cuenta que actualmente tenemos dos conjuntos de datos en el informe: Conjunto de datos1 y Conjunto de datos2. Cada uno tiene su propio texto y datos de solicitud.

Hacer que los nombres sean más descriptivos

Para mayor claridad, cambiemos el nombre de DataSet1 a Clientes y DataSet2 a Alimentos.

Hazlo haciendo doble clic en cada uno de los conjuntos:

Podemos utilizar los datos de cada conjunto en nuestro informe. Accederemos a estos datos a través de campos.

Actualmente, el conjunto “Clientes” tiene los siguientes campos: “Nombre” y “Color Favorito”, y el conjunto “Comida” tiene: “Nombre” y “Color”.

Vemos que los nombres se superponen y podemos confundirnos fácilmente. Entonces, cambiemos los nombres de los campos para que sean más descriptivos.

Seleccione el conjunto "Clientes" y cambie los nombres de los campos de esta manera:

Luego seleccione el conjunto "Comida" y cambie los nombres de los campos de esta manera:

Llamando al constructor de configuraciones

Finalmente, vaya a la pestaña "Configuración" y haga clic en la varita mágica para abrir el diseñador de configuración:

Tipo de informe: "Lista...":

Seleccione campos para el informe de ambos conjuntos:

¿Ves por qué era tan importante cambiar los nombres de los campos? En la etapa de configuración de composición de datos, no vemos de qué conjuntos provienen estos campos. Sólo vemos sus nombres.

Comprobando el informe

Guardamos el informe y lo generamos en modo usuario:

Sí. Está bien, pero no realmente. Se ha producido la llamada unión cruzada de dos conjuntos (debe estar muy familiarizado con esto por las uniones en consultas que estudiamos en módulos anteriores). Cada registro de la tabla Clientes tiene un registro correspondiente de la tabla Alimentos.

Pero de todos estos registros debemos dejar solo aquellos cuyo campo “Color favorito del cliente” sea igual al campo “Color de comida”:

Conectamos dos conjuntos de datos.

Para hacer esto, conectaremos dos conjuntos de datos (Clientes y Alimentos) usando los campos Color favorito del cliente y Color de comida.

Vaya a la pestaña "Enlaces de conjunto de datos" y haga clic en el botón más para agregar un nuevo enlace:

Configuramos los parámetros como en la siguiente figura:

Voy a dar una explicación.

Fuente y receptor de la comunicación. Bueno, aquí todo está claro. Indicamos el primer conjunto (Clientes) y el segundo conjunto (Alimentos) de datos. Me gustaría llamar especialmente la atención sobre el hecho de que la comunicación se llevará a cabo según el principio unión exterior izquierda(lo cubrimos en el tema de solicitudes en módulos anteriores). En base a esto, debe elegir qué conjunto será la fuente y cuál el receptor.

Fuente de expresión. Indicamos aquí una expresión o simplemente un campo del conjunto de datos de origen (especificamos el campo ClientFavoriteColor del conjunto de Clientes aquí).

Expresión del receptor. Indicamos aquí una expresión o simplemente un campo del conjunto de datos del receptor (aquí indicamos el campo ColorFood del conjunto de Alimentos).

Por lo tanto, esta conexión dejará de la lista anterior solo aquellas filas para las cuales el campo Color favorito del cliente es igual al campo Color de comida.

Guardemos el informe y ejecútelo en modo usuario:

¡Excelente!

Haré una explicación sobre el campo " Condición de comunicación", sobre el cual los programadores novatos a menudo golpean sus lanzas.

La condición de conexión es un campo auxiliar. Puedes escribir expresiones allí. que involucran campos solo del conjunto de datos especificado en la fuente del enlace.

En este caso, para todas las filas del origen del vínculo, esta expresión (condición del vínculo) se verificará antes de realizar el vínculo. Y si esta expresión es VERDADERA, entonces se intentará establecer vínculos entre esta fila y las filas del receptor de vínculos. Si la expresión es FALSA, no se realizarán tales intentos.

Inicie sesión en el sitio como estudiante

Sistema de composición de datos 1C 8.3 para principiantes: primer informe sobre SKD

Si no ha leído la introducción a este módulo, léala: .

Para completar las lecciones necesitarás 1C 8.3 (no inferior 8.3.13.1644 ) .

Si ya tiene instalada la versión 8.3 de 1C, úsela. De lo contrario, descargue e instale la versión educativa que 1C produce específicamente para fines educativos: .

El siguiente acceso directo debería aparecer en su escritorio:

Para todas las lecciones de esta serie utilizaremos la base de datos Gastronom que preparé. Coincide completamente con la base que utilizamos en los módulos escolares a la hora de estudiar consultas. Por lo tanto, espero que esté familiarizado con sus libros y documentos de referencia.

Si lo eliminaste, descárgalo nuevamente usando el siguiente, descomprímelo y agrégalo a la lista de bases de datos.

Finalmente, el banco de trabajo está configurado y ahora crearemos nuestro primer informe juntos usando el sistema de composición de datos. Será muy sencillo demostrar las capacidades generales de un sistema de composición de datos (abreviado SKD).

Establecer una meta

Propósito de esta lección- crear un informe que, en modo usuario, muestre una lista de clientes con los siguientes campos:

  • Nombre
  • Piso
  • El color favorito del cliente.

El informe debe ser externo. Esto significa que se creará y configurará en el configurador y luego se guardará como un archivo separado (externo) en la computadora.

Para generar un informe de este tipo en 1C, el usuario deberá iniciar la base de datos en modo de usuario, abrir este archivo y hacer clic en el botón "Generar".

¡Ir!

Creando un informe

Lanzamos el configurador de la base de datos de Gastronom:

Desde el menú principal, seleccione "Archivo" -> "Nuevo...":

Seleccione "Informe externo":

Crear un diagrama de diseño de datos dentro del informe

Se abre la ventana para crear un informe externo. Para el nombre, ingrese: " Lección 1", y luego presione el botón " Diagrama de composición de datos abiertos":

El diseñador de creación de esquemas ha comenzado. Estamos de acuerdo con el nombre predeterminado " Esquema de diseño de datos principales" y presione el botón " Listo":

Se ha abierto la ventana de trabajo principal, con multitud de pestañas y campos, en los que configuraremos nuestro esquema de disposición de datos.

No hay por qué asustarse: realmente hay muchas oportunidades aquí, pero no las necesitamos todas. Especialmente en la primera lección.

Ahora estamos en el marcador " Conjuntos de datos"Nos quedaremos allí".

Escribimos una solicitud a través del constructor.

El sistema de composición de datos (abreviado como DCS) requiere que datos, que mostrará al usuario.

La forma más fácil - escribir una solicitud a la base. En la escuela aprendimos a escribir y comprender solicitudes, por lo que espero que tengas las habilidades adecuadas.

Haga clic en verde signo más y en la lista desplegable seleccione el elemento " Agregar conjunto de datos - Consulta":

Nuestra tarea es escribir el texto de la solicitud en este campo. ¿Ya olvidaste cómo hacer esto?

Te daré una pista:

En esta consulta hemos seleccionado tres campos (" Nombre", "Piso" Y " Color favorito") de la mesa " Directorio.Clientes".

Pero no se apresure a escribir este texto manualmente en el campo "Solicitud".

Ahora crearemos la misma solicitud visualmente, solo usando el mouse. Este método se llama " constructor de consultas".

Para llamar a este constructor, haga clic en el botón " Constructor de consultas..." en la parte superior derecha del campo "Solicitud":

En la ventana que se abre, arrastre la tabla " Clientela" de la primera columna a la segunda para indicar que es de esta tabla que consultaremos los datos:

Resultó así:

A continuación, abriremos la tabla " Clientela"en la segunda columna por signo" Más"para ver todos sus campos y arrastrar el campo" Nombre" de la segunda columna a la tercera para indicar que desde esta tabla necesitamos consultar el campo "Nombre":

Resultó así:

Hagamos lo mismo con los campos" Piso" Y " Color favorito". El resultado será así:

Haga clic en el botón "Aceptar" para salir del generador de consultas y ver que el texto de la consulta se agrega automáticamente al campo "Consulta".

Además, basándose en el texto de la solicitud, el propio 1C extrajo los nombres de los campos (el área encima de la solicitud) que utilizará el esquema de composición de datos:

Ahora que hemos compilado una solicitud, la ACS sabe cómo obtener datos para el informe.

Configurar la presentación de datos

queda de alguna manera visualizar estos datos para el usuario en forma de formulario impreso. ¡Y aquí es donde ACS puede hacer maravillas!

Para crear tal milagro, vayamos a la pestaña " Ajustes" y haga clic en el botón del diseñador de configuración ( varita mágica):

En la ventana que se abre, especifique el tipo de informe " Lista" y presione " Más":

En la siguiente ventana, seleccione (arrastrando) los campos que deben mostrarse en la lista (arrastre todos los que tenemos disponibles: " Color favorito", "Nombre" Y " Piso"):

Obtengamos este resultado y presionemos el botón " DE ACUERDO":

El diseñador de configuración se cerró y el elemento " Entradas detalladas":

El informe está listo, comprobémoslo. Para hacer esto, primero guarde el informe como un archivo externo.

Guarde el informe como un archivo

Abra el elemento del menú principal " Archivo"->"Ahorrar":

Lo guardaré en mi escritorio con el nombre " Lección 1":

Comprobación del informe en modo usuario

Finalmente cerremos el configurador y vayamos a nuestra base de datos en modo usuario:

Nombre de usuario "Administrador", sin contraseña:

A través del menú, seleccione el elemento " Archivo"->"Abierto...":

Y especifique el archivo del informe (lo guardé en el escritorio con el nombre "Lesson1.erf":

El formulario de informe se ha abierto, haga clic en el botón " Forma":

¡Listo! Aquí está nuestro imprimible con una lista de clientes, su color favorito y género:

El formulario imprimible se puede imprimir fácilmente. Para hacer esto, simplemente seleccione el elemento " Archivo"->"Sello...":

Así, sin programación, logramos crear un informe completo que los usuarios pueden abrir en sus bases de datos, generar e imprimir.

estudiantes - respondo por correo, pero primero mira.

Inicie sesión en el sitio como estudiante

Inicie sesión como estudiante para acceder a los materiales escolares.

En mi último artículo ya escribí que 1C es una plataforma paradójica. El sistema de composición de datos es una de estas paradojas. SKD está diseñado para diseñar informes complejos e implica reemplazar la programación de informes "manual" con el diseño en un conjunto de herramientas multifuncional. La capacidad de utilizar sistemas de control de acceso apareció en la octava versión, pero tardó mucho en aparecer la versión 8.2 para que 1C pudiera utilizarla en sus productos estándar. Por un lado, ACS es un conjunto de herramientas multifuncional con el que se pueden crear informes muy complejos sin una sola línea de código. Sin embargo, el sistema de control de acceso tiene una barrera de entrada bastante alta; aprender y comenzar a utilizarlo plenamente “sobre la marcha” es muy difícil, porque la interfaz no es del todo intuitiva y los manuales de uso más completos están disponibles sólo en el forma de literatura pagada.

En el proceso de mi estudio de SKD, surgió un problema. Es necesario obtener datos de una tabla de valores de terceros utilizando un lenguaje de consulta y luego operar estos datos como con datos similares de tablas de bases de datos (operaciones de reducción, agrupación, etc.). En el formato clásico, crearíamos una consulta que recibe información de la tabla pasada a la consulta como parámetro.

Solicitud = Nueva solicitud (
"ELEGIR
| Tabla.Nomenclatura,
| Mesa.Almacén
|DESDE
| &TK AS Tabla");
Solicitud.SetParameter("TZ", TZ);

Pero con SKD no todo es tan sencillo. Desgraciadamente, es imposible realizar la operación descrita anteriormente en el sistema de composición de datos. Sin embargo, el sistema ha implementado la capacidad de cargar tablas de valores externas.

Aquí vale la pena hacer una breve digresión y hablar de Datasets. Los conjuntos de datos son fuentes de información de las cuales el sistema de gestión de datos recibe datos que luego compila en un informe. Los conjuntos de datos se dividen en tipos, principalmente utilizando el tipo "Consulta", en cuyo cuerpo el programador escribe una consulta a la base de datos. El tipo "Objeto" se utiliza para cargar datos de objetos externos. En ambos casos, la salida es un determinado conjunto de campos obtenidos como resultado de ejecutar una solicitud o cargar un objeto externo. Posteriormente, estos campos se pueden manipular en la pestaña "Configuración", junto con configuraciones detalladas para la estructura del informe. Para interconectar diferentes conjuntos, el ACS brinda la posibilidad de indicar conexiones entre conjuntos de datos en la pestaña del mismo nombre. Estas conexiones son un análogo directo de la unión izquierda en una consulta clásica. Sin embargo, se debe tener en cuenta que las consultas en cualquier conjunto de datos no “conocen” la existencia de otros conjuntos de datos; en última instancia, las relaciones entre los conjuntos de datos afectarán el diseño de los datos de acuerdo con la estructura especificada en el “ Pestaña Configuración”.

Detallemos el problema con un ejemplo. Existe un informe estándar: Declaraciones de nómina para la organización de la configuración ZiK 8. Es necesario que los tipos de cálculos del informe se agrupen en ciertos grupos. Las correspondencias entre vista de cálculo y grupo se almacenan en una tabla de valores externa. Para cargarlo en el esquema de diseño de datos principal, creamos un "objeto de conjunto de datos" con el nombre "Grupos" (Figura 2). Hacemos una conexión con el "conjunto de datos de consulta" - "Acumulaciones" por tipo de cálculo (Figura 3). En el "conjunto de datos de solicitud" - "Acumulaciones" hay información para grupos, eliminamos todas las entradas. Posteriormente, en la pestaña “Configuración” podemos utilizar el campo “Grupo”, cuyo valor se carga desde una fuente de datos externa (Figura 4). En la función de generación de informes, complementamos la carga de datos externos.

Función GenerateReport(Resultado = Indefinido, Datos de descifrado = Indefinido, OutputInReportForm = Verdadero) Exportar

//obteniendo o formando la tabla requerida de valores de “Grupos” y escribiéndola en la variable del mismo nombre

ExternalData = New Structure();//crea y completa la estructura de datos externos
DatosExternos.Insertar(Grupos);

UserPanelValue = TipicoReports.GetUserPanelSettingsValuesofObject(ThisObject);
Configuración predeterminada = ConfiguraciónComposer.GetSettings();
TípicoReports.GetAppliedSetting(EsteObjeto);
SpecificReports.GenerateTypicalReport(EsteObjeto, Resultado, Datos de descifrado, OutputToReportForm, ExternalData);
ConfiguracionesLinker.LoadSettings(Configuración predeterminada);
Resultado de devolución;

Función final

Si estuviéramos haciendo un informe desde cero, el código de inicio de generación del informe se vería así:

ExternalDataSets = nueva estructura;
ExternalDataSets.Insert("Grupos", Grupos); //Grupos - la tabla de valores deseada
DataCompositionSchema = GetLayout("MainDataCompositionSchema"); //nuestro diseño con diagrama de flujo de datos
Configuración = DataCompositionScheme.DefaultSettings;
DiseñoLinker = newDataLayoutLayoutLinker;
LayoutLayout = LayoutComposer.Execute(DataLayoutSchema, Configuración);
Procesador de composición de datos = nuevoProcesador de composición de datos;
DataCompositionProcessor.Initialize(LayoutLayout, ExternalDataSets);
TabDoc = Nuevo documento tabular;
OutputProcessor = Nuevo OutputProcessorDataCompositionResultInTabularDocument;
OutputProcessor.SetDocument(TabDoc);
OutputProcessor.Output(DataCompositionProcessor);

Leer 9660 una vez

¡Buenos días mis lectores! Hoy continuaremos analizando los conceptos básicos del sistema de diseño. En esta serie de artículos, aprendió qué es un sistema de control de acceso y se familiarizó con los componentes principales de un sistema de control de acceso. También analizamos los datos de entrada para crear un informe y aprendimos las etapas principales de la ejecución de un informe en un sistema de control de acceso. Además, muchos tuvieron la oportunidad de poner a prueba sus conocimientos superando un breve examen. Ahora puede echar un vistazo al contenido del artículo y ver qué se trata en él.

Conjunto de datos: consulta.

  1. A diferencia de una consulta normal, no existe una cláusula RESULTADOS en la consulta de composición de datos. En cambio, los totales se generan en la pestaña "Recursos". En esta pestaña, selecciona los campos para los cuales desea obtener expresiones finales. Y en la pestaña "Configuración" se indica en qué sección se obtendrán los resultados, es decir, aquí se crean las agrupaciones adecuadas y a partir de ellas se calculan los recursos. Puedes leer más sobre esto en el artículo.
  2. El siguiente punto se refiere a la configuración de selección. Hay dos posibilidades de ejecución.
    1. A través de la configuración de la opción de informe. Esto se puede hacer en la pestaña "Configuración" - "Selección". Si utilizamos esta opción, entonces es la más flexible, ya que podemos especificar diferentes tipos de comparaciones que incluso el usuario puede elegir. Además, al utilizar esta opción, las condiciones de filtrado se imponen en la propia consulta. Si el informe se basa en una consulta por lotes que utiliza tablas temporales, la selección afectará a todas las tablas de la consulta por lotes donde aparece el campo de selección.
    2. A nivel de solicitud. Si usamos una consulta, no podremos usar nada más que la operación de igualdad.
      La excepción es el caso cuando necesitamos realizar un filtrado "duro" de los datos según un valor determinado. Digamos, por valor de enumeración. En la pestaña “Parámetros” podemos establecer una condición. Si habilitamos el indicador “Limitar disponibilidad”, el usuario no podrá cancelar esta condición.
  3. También es más correcto aplicar la clasificación en el nivel de configuración de las opciones del informe.
    1. Si especifica un campo de clasificación en la solicitud, entonces el usuario especificará otro campo al configurar su versión del informe, entonces nuestra configuración realizada en el nivel de solicitud tendrá la prioridad más baja. Primero se realizará la clasificación establecida por el usuario en la configuración de la variante del informe. Por lo tanto, si necesita configurar la clasificación "por defecto", usamos la configuración de la opción de informe en el Configurador.
    2. ¿Qué sucede si necesita configurar una clasificación "dura" en un informe para que el usuario no pueda cambiarlo? Luego configuramos la clasificación a nivel de consulta y en la pestaña "Conjuntos de datos" configuramos una limitación de campo. Seleccione el conjunto de datos requerido y marque la casilla en la columna "Limitación de campo" - "Pedidos".

Parámetros de la tabla virtual.

  • La construcción de tablas virtuales de registros contables, registros de acumulación y registros de información depende de una fecha determinada. Puede ser una fecha o un intervalo, como en el caso de una tabla de saldos y facturación. La SDS se crea de tal forma que si el informe se basa en una tabla virtual, entonces es necesario dejar que el usuario elija para qué intervalo o en qué fecha generar el informe. SKD agrega automáticamente los parámetros de período necesarios al diagrama de diseño.
  • Si en la consulta se selecciona una tabla virtual de saldos o una tabla virtual de registros de información, automáticamente se agrega un parámetro llamado “Período”.
  • Si en la solicitud se selecciona una tabla virtual de saldos y facturación o una tabla virtual de facturación, se añaden automáticamente los parámetros “Inicio del período” y “Fin del período”.
  • ¿Qué hacer si necesitas obtener saldos al final del período? Hay dos maneras:
    1. Vaya a la pestaña “Parámetros” y en el parámetro “Período” en la columna “Expresiones” escriba lo siguiente:
      &Fin del período. También habilitaremos el indicador "Limitar disponibilidad".
    2. Nos deshacemos por completo del parámetro "Período" y lo reemplazamos con el parámetro "Fin del período". Configuremos un parámetro de tabla virtual opcional:
      • Vaya a la pestaña "Conjuntos de datos" y haga clic en el botón "Creador de consultas...".
      • En la pestaña "Composición de datos" en la esquina superior izquierda, haga clic en el botón para abrir el cuadro de diálogo "Opciones de tabla virtual" (este es un botón cuadrado gris con la imagen de un engranaje en el fondo de una mesa pequeña).
      • En el campo “Periodo” del cuadro de diálogo escribimos: &Fin del Periodo.
      • Ahora en el texto de la solicitud del conjunto de datos en los parámetros de la tabla virtual, aparecerá este parámetro entre llaves:
Registro de acumulación. Bienes restantes. Restante(((&EndPeriod) ), ) COMO Restante

Las llaves indican una extensión del lenguaje de consulta de composición de datos. Esto también indica que este parámetro es opcional. Esto significa que si no está definido en el esquema de composición de datos, entonces los saldos se obtendrán a la fecha actual.

Extensión del lenguaje de consulta.

Estas son instrucciones especiales que están entre llaves en el cuerpo de la solicitud. Estas instrucciones indican los campos y parámetros que se pueden manipular al configurar una versión del informe. Los datos de las llaves estarán presentes en el diagrama de diseño incluso si la casilla de verificación Autocompletar está desactivada.

Cuando se crea un conjunto de datos de consulta, de forma predeterminada, los campos disponibles del esquema de composición de datos se completan automáticamente en función de la consulta creada (la casilla de verificación "Autocompletar" está seleccionada en la pestaña "Conjuntos de datos").

¿Cómo funciona el autocompletado de los campos del esquema de composición de datos disponibles?

    1. Los campos de la lista de selección de consultas y sus campos secundarios pasan a estar disponibles.
    2. Si seleccionamos del registro de acumulación, incluso los campos de registro no incluidos en la solicitud estarán disponibles en los campos de composición de datos. Pero estos campos sólo están disponibles para selección (en expresiones condicionales)
      y no se pueden utilizar como campos de salida.
    3. Los parámetros de las tablas virtuales “Periodo”, “Inicio de Periodo” y “Fin de Periodo” pasan a ser
      disponible para su selección.
    4. Si se especifica una condición "dura" en el texto de la solicitud, este parámetro también se agregará a la pestaña "Parámetros".

Si la casilla de verificación Autocompletar está desactivada, los campos del esquema de composición de datos se borran, pero los parámetros encerrados entre llaves en el texto de la solicitud permanecen.

¿Cómo completar usted mismo los campos del esquema de composición de datos?

Desmarque la casilla de verificación "Autocompletar" en la pestaña "Conjuntos de datos".

Haga clic en el botón "Creador de consultas...". Creemos la siguiente solicitud:

SELECCIONE Restos. Nomenclatura AS Nomenclatura, permanece. Cantidad AS Cantidad Registro Acumulación. Bienes restantes. Restante(((&EndPeriod) ), ) COMO Restante

En la pestaña "Tablas" podemos configurar los parámetros de la tabla virtual para todas las tablas.

Ahora en la pestaña "Diseño de datos", seleccione la pestaña "Campos". Aquí configuramos los campos de selección que
se presentará en el diagrama de diseño.

El campo "Y..." significa que los registros secundarios se incluirán en la selección.
campos de tipo complejo, como directorios y documentos, etc. Si el campo es como un número, entonces será imposible poner una bandera en el campo "Y...".

Seleccionemos dos campos “Nomenclatura” y “Cantidad”. Para el campo "Nomenclatura", establezca la bandera "I...",
para que se seleccionen los registros secundarios. Obtendrá la siguiente consulta:

SELECCIONE Restos. Nomenclatura AS Nomenclatura, permanece. Cantidad AS Cantidad (SELECCIONAR Nomenclatura. * , Cantidad) Registro de acumulación. Bienes restantes. Restante(((&EndPeriod) ), ) COMO Restante

En la nueva solicitud, entre llaves, apareció otra sección SELECT: este es el texto de extensión que indica los campos que estarán disponibles en el diseño. El campo “Nomenclatura.*” indica que el campo “Nomenclatura” y sus detalles secundarios, como “Código”, “Nombre”, etc., estarán disponibles. Entonces, nosotros mismos completamos los campos de diseño.

Pero ahora no podemos usar campos en las condiciones de diseño. Si va a la pestaña “Configuración” y selecciona la pestaña “Selección”, no podrá establecer condiciones para ninguno de los campos que seleccionamos en el párrafo anterior. ¿Por qué?

La imposición de condiciones a los parámetros de la tabla virtual también se debe especificar en la pestaña "Composición de datos" del Diseñador de consultas. En la esquina superior izquierda, haga clic en el botón para abrir el cuadro de diálogo "Parámetros de la tabla virtual"
(Este es un botón cuadrado gris con la imagen de un engranaje en el fondo de una mesa pequeña). En el campo “Condición” del cuadro de diálogo escribimos: Nomenclatura. Ahora en el texto de la solicitud del conjunto de datos en los parámetros de la tabla virtual, aparecerá este parámetro de “Nomenclatura” entre llaves:

Registro de acumulación. Bienes restantes. Saldos(((&Fin del Periodo) ), ((Nomenclatura) )) Saldos AS

En el lenguaje de consulta habitual, especificar un parámetro tiene este aspecto: Nomenclatura = &Nomenclatura. Pero en la extensión del lenguaje de consulta está escrito de manera diferente. Sólo se indica el nombre del campo. Aquí no especificamos la operación de igualdad, desigualdad o jerarquía, ya que el propio usuario seleccionará la operación deseada en su configuración.

En la pestaña "Composición de datos" del Generador de consultas, vemos otra pestaña, "Condiciones". Es necesario indicar en la extensión del lenguaje de consulta las condiciones para la cláusula WHERE. Seleccione el campo "Cantidad". Este campo ahora está disponible en las condiciones de la pestaña “Configuración” - “Selección”. Y aparecieron nuevas líneas en el texto de la solicitud, entre llaves.

(DÓNDE Queda. Cantidad)

Si se especifica la selección por el campo de cantidad, esta oración se insertará en la solicitud final. Donde el tipo de condición y valor de comparación se determinará configurando la opción de informe.

Entonces, creo que es suficiente material por hoy. Si hay algún punto que no quede claro no dudes en preguntar, porque por eso es posible comentar. Este material estará preparado para ser fijado pronto, así que suscríbete a las actualizaciones en nuestro sitio web para no perdértelo.

Y en esta serie de lecciones veremos las funciones del lenguaje de expresión SKD, hablaremos sobre las características del sistema de diseño y también analizaremos la configuración básica de los campos de diseño. ¡Buena suerte para comprender este difícil material!

Al final del artículo quiero recomendarte uno gratuito de Anatoly Sotnikov. Este es un curso de un programador experimentado. Le mostrará por separado cómo crear informes en el sistema de control de acceso. ¡Solo necesitas escuchar atentamente y recordar! Recibirá respuestas a las siguientes preguntas:
  • ¿Cómo crear un informe de lista simple?
  • ¿Para qué sirven las columnas Campo, Ruta y Título en la pestaña "Campos"?
  • ¿Cuáles son las limitaciones de los campos de diseño?
  • ¿Cómo configurar roles correctamente?
  • ¿Cuáles son las funciones de los campos de diseño?
  • ¿Dónde puedo encontrar la pestaña de composición de datos en una consulta?
  • ¿Cómo configurar parámetros en el sistema de control de acceso?
  • Se vuelve aún más interesante...
¿Quizás no debería intentar navegar por Internet usted mismo en busca de la información necesaria? Además, todo está listo para usar. ¡Empieza ya! Todos los detalles sobre lo que hay en los videotutoriales gratuitos están en la página del autor. fabricante de software http://www..pngfabricante de software 2015-12-07 14:51:12 2018-06-12 13:14:13 Sistema de composición de datos (DCS). Parte 2.