Hogar / resumen de ventanas / Solicitud consola 1s 8.3 formularios gestionados. Trabajar con la consola de consulta

Solicitud consola 1s 8.3 formularios gestionados. Trabajar con la consola de consulta

La Consola de consulta es muy conveniente de usar cuando necesita depurar algunos datos complejos u obtener rápidamente una selección de ciertos datos.

Puedes encontrar muchas consolas diferentes en Internet. Para los formularios regulares y administrados, estas suelen ser consolas completamente diferentes. De acuerdo con esto, puede descargar la consola de consulta universal 1C 8.3 y 8.2, que funcionará en ambos casos. Solo tenga en cuenta que la consola en interfaz administrada abrirá solo en un cliente pesado.

Trabajar con la consola de consulta

En el programa 1C, la consola de consulta se abre de la misma manera que cualquier procesamiento externo: el menú "Archivo" - "Abrir", o usando la combinación de teclas de acceso rápido "Ctrl + O". Con un uso frecuente, se puede agregar al procesamiento externo del base de información.

La lista de sus solicitudes se presenta en el lado izquierdo de la consola de solicitudes. Esto le permite almacenar no solo una solicitud, sino varias a la vez. El árbol de consultas tiene una estructura jerárquica, lo cual es muy conveniente para agruparlas.

Al hacer clic en el botón "Agregar", puede agregar una nueva solicitud dándole un nombre usted mismo. Además, la funcionalidad integrada le permite crear consultas con copia, moverse hacia arriba o hacia abajo en la lista y mucho más.

El texto de la solicitud en sí se muestra en el lado derecho del formulario de procesamiento. Se puede escribir manualmente o usando el generador de consultas. El generador de consultas solo funciona en el cliente pesado.

A la derecha del botón constructor está el botón "Insertar operadores de consulta". Inmediatamente agregará una estructura de consulta vacía con una condición, agrupación, orden y totales.

A la derecha hay botones muy útiles que le ayudarán si utiliza esta consulta cuando desarrolle soluciones para 1C.

El botón le permite convertir la consulta que escribió en texto. En nuestro caso, se verá como la imagen de abajo.

Puede guardar solicitudes en un archivo o cargarlas desde él. Esto es muy conveniente para uso futuro.

Antes de ejecutar directamente la consulta, debe configurar sus parámetros de entrada (si corresponde), luego haga clic en el botón "Ejecutar consulta". También aquí es posible ejecutar solicitudes no enteramente, pero por separado cualquier paquete.

El modo de vista determina cómo se mostrará el resultado de la consulta: una lista, una lista jerárquica o un árbol.

El resultado de la ejecución se mostrará en la parte inferior de la consola de solicitudes. También muestra el número de filas recibidas y el tiempo de ejecución. Si es necesario, puede mover las filas del resultado de la consulta.

Muy a menudo, se les pide a los usuarios que seleccionen algunos datos y los guarden en Excel. Es posible que también necesites esto. Para completar la tarea, solo necesita seleccionar el elemento "Mostrar lista" en el menú "Más". El programa le pedirá que marque las columnas necesarias.

Además de configurar la lista de columnas para la salida, también puede especificar filas específicas aquí. Esto se hace resaltando filas en la propia consulta. Además, en el formulario de selección de columnas, es suficiente configurar la bandera en la configuración "Solo seleccionados".

En nuestro ejemplo, hemos mostrado todos los datos de los resultados de la consulta. Puede guardarlos en un archivo externo copiándolos desde el documento de hoja de cálculo abierto o usando la combinación de teclas de acceso rápido Ctrl+O. Hay muchas opciones para guardar formatos, elegimos "*. xlsx".

Como puede ver, trabajar en la consola de consultas es muy conveniente y útil, por lo que recomendamos encarecidamente descargarlo y ponerlo en práctica.

Consola de consultas 1- una herramienta conveniente para crear y depurar consultas en modo empresarial 1s. Uso de la consola de consulta Puede ejecutar una solicitud a la base de datos de 1s y ver el resultado de la solicitud directamente en la pantalla de 1s Enterprise. En este artículo, consideraremos dos consolas, una para 1s 8.2 (formas regulares), y la segunda puede funcionar tanto en formas normales como administradas 1s 8.3.

Descargar consola de consulta 1s

Para comenzar a trabajar con el procesamiento, primero debe descargar consola de consulta 1s, a continuación daremos enlaces de descarga, pero por ahora notemos el hecho de que la consola de solicitud de 1s se puede clasificar y clasificar en uno de los siguientes tipos:

  1. Para formas regulares (1s 8.2)
  2. Para formularios gestionados (1s 8.3)
  3. Mixto (funciona tanto en 1s 8.2 como en 1s 8.3)

En nuestro artículo, consideraremos dos consolas, la primera funciona solo en 1s 8.2 (formas regulares) y la segunda funciona en 1s 8.3 ( formularios gestionados). Son ligeramente diferentes entre sí, hablaremos de las diferencias más adelante, pero por ahora, observamos que en las aplicaciones administradas, la consola funcionará correctamente solo en el modo de inicio "Cliente pesado".

Descargue la consola de solicitud de 1s para una aplicación regular 1s 8.2

A continuación se muestra una captura de pantalla del procesamiento, puede descargar la consola de solicitud de 1s para una aplicación normal de 1s 8.2

Descargue la consola de solicitud de 1s para la aplicación administrada 1s 8.3

Y esta es la segunda consola, también puede ver su captura de pantalla en la pantalla a continuación, usando el enlace puede descargar la consola de solicitud de 1s para la aplicación administrada 1s 8.3

Descripción de los principios de funcionamiento y la funcionalidad principal de la consola de solicitud de 1s para una aplicación regular 1s 8.2


Este consola de consulta 1s 8.2 para una aplicación regular fácil de usar y no requiere ningún conocimiento especial por parte del usuario. En la captura de pantalla, puede ver un campo de prueba para escribir una consulta, puede escribir una consulta en él tanto manualmente como usando el constructor. Debajo del número 1 en la figura, verá el botón "Parámetros", al hacer clic en él, veremos un formulario para sustituir parámetros en la solicitud, volveremos a él más adelante. Debajo del número 2, verá el espacio de trabajo y la barra de acción con la solicitud en sí, aquí podemos agregar solicitudes, eliminarlas y también guardarlas en un archivo separado en el disco. Bajo el número 3 en consola de consulta 1s 8.2 hay una configuración de salida de resultados, se puede mostrar en forma de tabla o jerárquicamente en forma de árbol, la segunda opción se usa cuando necesitamos ver la jerarquía como resultado de la consulta. El elemento 4 nos muestra si hay tablas temporales en la consulta, si las hay, podemos depurarlas y ver el resultado de la ejecución, que se coloca en una tabla temporal.

Ahora veamos algunos puntos individuales en consola de consulta 1s.

Arriba verá una ventana en la que los parámetros se sustituyen en la solicitud. Al hacer clic en el botón "De solicitud", recibiremos los parámetros que se especifican en la solicitud, ahora solo debemos configurar los valores deseados y cerrar el formulario. Por cierto, si está editando una solicitud y sus parámetros agregados anteriormente en el formulario ya no se usan, se resaltarán en gris. Si hay muchos de estos parámetros, se pueden eliminar de la ventana con el botón "Eliminar no utilizados".

Si tiene tablas temporales en su consulta, puede depurarlas en subconsultas separadas y ver el resultado de ejecutar esta subconsulta, si en la ventana principal de la consola de consulta 1c vemos que hay tablas temporales, luego haga clic en "Temporary mesas" (punto 4 en la ventana principal de la consola). Después de hacer clic, aparecerá la ventana que vimos arriba, muestra todas las tablas temporales de la consulta, haga clic en "Depurar" y veremos la siguiente ventana.

Breve descripción de la funcionalidad de la consola de solicitud de 1s para una aplicación administrada 1s 8.3

Nos familiarizamos con las funciones principales. consola de consulta 1s 8.2, ahora es el momento de considerar consola de consulta 1s 8.3. Este procesamiento no lo consideraremos con tanto detalle como el anterior, pero repasaremos brevemente los principales parámetros y configuraciones.

Y la información rápida. En este artículo, intentaré describir cómo usar la Consola de consulta y proporcionar un enlace para descargar la Consola de consulta.

Echemos un vistazo más de cerca a esta herramienta.

Consola de solicitud de descarga 1C

En primer lugar, para comenzar con la consola de consulta, debe descargarla de algún lugar. El procesamiento generalmente se divide en dos tipos: formularios administrados y regulares (o, a veces, se denominan 8.1 y 8.2 / 8.3).

Traté de combinar estas dos vistas en un solo procesamiento: en el modo de operación deseado, se abre el formulario deseado ( en modo administrado, la consola solo funciona en modo grueso).

Puede descargar la consola de solicitud 1C 8.3 (8.2) para formularios administrados y regulares en el enlace:.

Descripción de la consola de consulta 1C

Si está interesado en cómo se escriben las consultas en el sistema 1C, le recomiendo que lea el artículo y.

Comencemos nuestra consideración de la consola de consultas con una descripción del panel de procesamiento principal:

En el encabezado de la consola de consultas, puede ver el tiempo de ejecución de la última consulta con una precisión de milisegundos, esto le permite comparar diferentes diseños en términos de rendimiento.

El primer grupo de botones de la barra de comandos se encarga de guardar las consultas actuales en un archivo externo. Esto es muy conveniente, siempre puede volver a escribir una consulta compleja. O, por ejemplo, almacenar una lista de ejemplos típicos de ciertas construcciones.

A la izquierda, en el campo Solicitud, puede crear nuevas solicitudes y guardarlas en una estructura de árbol. El segundo grupo de botones solo se encarga de administrar la lista de solicitudes. Con él, puede crear, copiar, eliminar, mover una solicitud.

Obtenga lecciones en video de 267 1C gratis:

  • Ejecutar solicitud- ejecución simple y obtención del resultado;
  • Ejecutar paquete- le permite ver todas las solicitudes intermedias en
  • Visualización de tablas temporales- le permite ver el resultado que devuelven las consultas temporales en la tabla.

Solicitar parámetros:

Le permite establecer los parámetros actuales para la solicitud.

En la ventana de parámetros de consulta, es interesante lo siguiente:

  • Botón Obtener de la solicitud encuentra automáticamente todos los parámetros en la solicitud, para comodidad del desarrollador.
  • Bandera Parámetros únicos para todas las solicitudes- cuando está instalado, su procesamiento no borra los parámetros al pasar de una solicitud a otra en la lista general de solicitudes.

Establecer un parámetro como una lista de valores muy simple, al elegir un valor de parámetro, basta con hacer clic en el botón de borrar valor (cruz), el sistema le pedirá que seleccione el tipo de datos, donde debe seleccionar "Lista de valores":

También en el panel superior hay un botón para llamar a la configuración de la consola de consulta:

Donde puede especificar opciones de guardado automático de consultas y opciones de ejecución de consultas.

El texto de la solicitud se ingresa en el campo de solicitud de la consola. Esto se puede hacer con un conjunto de prueba de consulta simple o llamando a una herramienta especial: el constructor de consultas.

Llamado desde el menú contextual (botón derecho del mouse) al hacer clic en el campo de entrada:

También en este menú están características útiles, como limpiar o agregar guiones ("|") a la solicitud, u obtener el código de solicitud en esta forma conveniente:

Solicitud = Nueva Solicitud; Solicitud. Texto = " |SELECCIONAR | Monedas.Referencia |DE | Manual. Monedas COMO Monedas"; RequestResult = Solicitud. Ejecutar() ;

El campo inferior de la consola de consulta muestra el campo de resultado de la consulta, para el cual se creó este procesamiento:

Además, la consola de consultas, además de la lista, puede mostrar datos en forma de árbol para consultas que contienen totales.

Entonces, comencemos con uno simple: en el configurador, cree un Nuevo procesamiento, asígnele el nombre Consola de consultas o Generador de consultas, como desee.

Inmediatamente podemos agregar una etiqueta a los "Datos" para futuros Parámetros que necesitemos para que en nuestra Consola ejecutemos no la solicitud más primitiva, sino con parámetros y enlaces, por ejemplo, para nuestro trabajo crearemos una solicitud a registros periódicos. , pero aquí sin especificar Parámetro=&Fecha en ninguna parte.

Para crear nuestra tabla de Parámetros, en la pestaña "Datos" en su "Sección Tabular" agregue una nueva tabla, llamémosla Parámetros de Consulta, aquí agregamos las columnas de esta tabla: 1) Nombre del Parámetro, tipo de cadena = 25 caracteres; ParameterValue, aquí hay un tipo de datos compuesto, vea la figura:

Por lo tanto, como se muestra en la imagen, seleccione el tipo compuesto para la columna Valor del parámetro: en el menú de tipo que se abre, marque la casilla de verificación "Tipo compuesto", seleccione el número, la cadena (especifique 20 caracteres), la fecha, el valor booleano y coloque el marca de verificación más baja - AnyReference - significa que además, al especificar los Parámetros de nuestra solicitud, podemos referirnos a cualquier objeto de nuestra configuración, por ejemplo, directorios o documentos.

Ahora necesitamos crear el formulario de nuestra futura Consola de consultas. En procesamiento, vaya a la pestaña "Formularios" y agregue uno nuevo. Ingresamos a este formulario y ya hay un campo ilimitado para la creatividad: ¡puede organizar los dos atributos que acaba de crear y la placa con los parámetros que desee! Para esto, puede usar elementos de formulario estándar como Grupo o Página con páginas (si le gusta pasar más páginas).

Lo principal aquí es una cosa: al arrastrar el atributo "TextValues" al campo de edición izquierdo del formulario, asegúrese de configurar "Ver" = Campo del documento de texto en sus propiedades. Ver figura:

En las propiedades del atributo "QueryTable", puede especificar opcionalmente - "Display Grid" y "Display Headers".

A continuación, en la ventana de edición de formularios de la derecha, vaya a la pestaña "Comandos" y agregue un nuevo botón, al hacer clic, nuestra Consola realizará una determinada acción. Vamos a crear el botón "Constructor de consultas", si lo solicita, puede agregar un ícono al botón, lo principal es mover el botón a la ventana de edición de formulario izquierda, para que podamos verlo. Luego, a la derecha ventana de edición de formulario, haga clic con el botón derecho en nuestro botón y seleccione propiedades; en las propiedades, haga clic en el elemento "Acción", aparecerá una ventana modal con la pregunta: dónde se ejecutará exactamente nuestro código de programa, que asignaremos al botón - seleccione "En el cliente".

El módulo de formulario se abrirá con un procedimiento vacío listo para usar "Constructor de solicitud de procedimiento (comando)". Dentro de este procedimiento, describiremos la llamada al generador de consultas estándar 1c8. Es muy fácil: Constructor=Constructor de nueva consulta; Pero aquí hay trampas: ¡el constructor de consultas integrado en la plataforma funciona en modo de usuario SOLO bajo un cliente pesado! Por lo tanto, insertaremos la condición de la instrucción del preprocesador #Si, pero aquí usted decide por sí mismo, según su plataforma, o tiene formas ordinarias, luego elija " ThickClientOrdinaryApplication" o tiene una plataforma de formularios administrados, entonces " Aplicación administrada de cliente grueso". ver fig.

Ahora resta agregar a este procedimiento una condición para escribir el texto de la solicitud, que el Query Builder nos generará en nuestro atributo del formulario "Solicitud de texto":

Si Constructor.OpenModally()=True Entonces Object.QueryText=Constructor.Text; Terminara si;

Pero podemos cambiar manualmente algo en el texto de la solicitud (en modo de usuario, en la ventana de atributos "QueryText"), para que nuestros cambios entren en QueryConstructor cuando se vuelva a llamar. Agreguemos una condición simple aquí:

Si no es EmptyString(Object.QueryText) Entonces Constructor.Text=Object.QueryText; Terminara si;

Eso es todo, hemos conectado el Query Constructor integrado en la plataforma 1c8, veamos nuestro trabajo. Para hacer esto, ejecute 1C:Enterprise en modo de cliente pesado utilizando uno de los siguientes métodos: 1) menú principal del Configurador - Depuración - IniciarDepuración - Cliente Grueso; 2) o si tiene estas teclas en el panel de control en el configurador, simplemente presione el botón con un círculo amarillo con un punto grueso, vea la figura:

Se inicia el modo de usuario 1sEnterprise8, encontramos nuestro procesamiento, lo iniciamos, hacemos clic en nuestro botón "Consultar constructor" y vemos cómo se abre el constructor integrado en la plataforma. ver figura

Entonces, Query Constructor se está iniciando, ya podemos comenzar a agregar nuestra futura solicitud, ¡pero estamos interesados ​​​​en ver cómo funcionará la solicitud que creamos! Y para esto necesitamos crear otro botón en el configurador al editar el formulario de nuestra consola, llamémoslo "Ejecutar solicitud". Hacemos clic en las propiedades del botón "Ejecutar solicitud" en "Acción", el menú vuelve a desaparecer, en el que se nos pregunta: dónde se procesará nuestro código de programa, en este caso seleccione "Tanto en el cliente como en el servidor", nuevamente ingresamos a ModuleForms.

En el procedimiento ExecuteRequest(), que tenemos en el cliente, escribiremos una condición si el usuario no ha ingresado el texto de la solicitud, pero pide ejecutarlo:

If EmptyString(Object.QueryText) Then report("¡Ingrese el texto de la consulta!"); Terminara si;

El sistema ya ha generado automáticamente un enlace al procedimiento ExecuteRequestOnServer() para nosotros; - eso está bien, vayamos a este procedimiento, que se ejecuta en el servidor y escriba aquí el código para ejecutar nuestra solicitud ingresada.

Aquí hay opciones: puede escribir todas las expresiones relacionadas con la construcción de consultas usted mismo, i. manualmente, pero hay una opción aún más fácil: dentro del procedimiento, haga clic con el botón derecho y seleccione "Generador de consultas con procesamiento de resultados, vea la figura" en el menú desplegable:

Si hizo clic en el elemento Generador de consultas con procesamiento de resultados, aparecerá la ventana modal "No se encontró el texto de la consulta. ¿Crear uno nuevo?, haga clic en Sí. Omitir el resultado". Eso es todo, no necesitamos nada más de este constructor, haga clic en el botón "Aceptar" - aparecerá una ventana modal "No se seleccionaron campos en la solicitud, haga clic en "Aceptar".

Después de eso, dentro de nuestro procedimiento ExecuteRequestOnServer(), aparecerá el siguiente espacio en blanco:

Pasemos a la expresión construida por el constructor:

Solicitud.Texto = "";

Petición.Texto =Objeto.QueryText;

Es tan simple, nuestro botón "Realizar solicitud" en el formulario de procesamiento ya es prácticamente funcional, hasta ahora solo puede procesar consultas simples sin parámetros, ¡pero lo principal es que funciona! Solo queda mostrar visualmente en el accesorio "Tabla de valores" en el formulario de procesamiento: los resultados de nuestra solicitud. Permítanme recordarles que nuestro atributo "Tabla de valores" tiene el tipo "Documento de hoja de cálculo", porque de lo contrario no veremos nuestros resultados en el modo de usuario. El usuario siempre genera datos tabulares, ya sea mediante un documento de hoja de cálculo o un diseño. Realmente me gustaría poder mostrar datos a través de una tabla de valores, ya que es muy fácil de usar y familiar, pero, desafortunadamente, una tabla de valores es solo una herramienta que necesita un desarrollador, no puede mostrar datos en la pantalla usándolo ...

Echemos un vistazo más de cerca a lo que es un documento de hoja de cálculo: es como una hoja de Excel: puede acceder a un registro en una celda específica solo usando las celdas de la tabla, aquí las llamamos un área, pero nosotros mismos podemos seleccionar el rango de esto área en una celda específica:

Entonces, descubrimos qué es un documento de hoja de cálculo, determinamos por nosotros mismos que necesitamos determinar los datos de nuestra consulta en una celda específica de este documento de hoja de cálculo. Pero pensemos: ¿cuál es el "RequestResult" que el constructor nos generó tan rápido? Abriendo la ayuda - ¡El resultado de la consulta es una tabla que tiene las propiedades correspondientes! ver figura

Y si ahora escribimos después de la expresión QueryResult = Query.Execute();(creado por el constructor) aquí hay un bucle tan simple para Colecciones:

Para cada ColumnName de QueryResult.Columns Loop report(ColumnName.Name); FinCiclo;

Después de este ciclo, por el momento, revisa todas las expresiones construidas automáticamente por el constructor. Y ejecute 1C:Enterprise8 bajo un cliente grueso.Cree cualquier solicitud simple (puede usar Query Builder, ya funciona para nosotros) y haga clic en el botón "Ejecutar solicitud":

Luego verá en la parte inferior de la ventana en los mensajes, que la tabla QueryResult almacena los nombres de los campos que acabamos de seleccionar creando una consulta simple.

Ahora mostremos estos nombres de los campos de nuestro sufrimiento en un documento de hoja de cálculo:

Para cada ColumnName de QueryResult.Columns Loop Cell=Object.QueryTable.Scope(1,QueryResult.Columns.Index(ColumnName)+1); Cell.Text=NombreColumna.Nombre; FinCiclo;

Para mostrar los detalles de los datos de la consulta, cambiemos el tamaño de las expresiones creadas automáticamente por el constructor e insertemos exactamente el mismo ciclo que usamos para mostrar los nombres de las columnas dentro del ciclo "SelectionDetailedRecords", solo que ahora no necesitamos transferir los datos del tabla "QueryResult" al texto de la Celda, y los datos de la propia Selección, veamos en la ayuda como se puede acceder al campo de la Selección Detallada de la consulta:

SamplingDetailRecords = QueryResult.Select(); Mientras SelectionDetailedRecords.Next() Loop //en la primera línea ya tenemos los nombres de las columnas de la tabla, por lo que cargamos los datos debajo de la primera líneaDocumentLineNumber=Object.QueryTable.TableHeight+1; Para cada ColumnName de QueryResult.Columns Loop Cell=Object.QueryTable.Region(DocumentRowNumber,QueryResult.Columns.Index(ColumnName)+1); Cell.Text=SelectionDetailRecords[ColumnName.Name]; FinCiclo; FinCiclo;

Eso es todo, podemos verificar, cargar la empresa bajo un cliente pesado, ingresar una solicitud simple sin parámetros, hacer clic en el botón "Ejecutar solicitud", ver figura:

¡¡¡Hurra, todo funciona!!!

Es muy conveniente cuando, al abrir/cerrar nuestra Consola de consulta, nuestro texto de consulta, con el que trabajamos antes de cerrar la consola, se vuelve a escribir en el campo "Texto de consulta". Para hacer esto, solo necesita habilitar la propiedad de formulario = Autoguardar ver foto:

Todo, nuestra consola funciona. Para que podamos escribir consultas más complejas con parámetros especificados en ellas, necesitamos crear otro botón "FindParameters", así como el código para el botón "RunQuery"; el código para el botón "FindParameters" se ejecutará en el cliente y en el servidor. Además, en el procedimiento del servidor, lanzamos la solicitud de la misma manera con el texto que se le pasó desde la ventana "QueryText", usando la expresión "Query.FindParameters()", encontramos los parámetros pasados ​​y simplemente los ingresamos en el parte tabular del formulario "QueryParameters" en un bucle. No olvide pasarlos de la tabla de parámetros completa al procedimiento "Ejecutar solicitud" más adelante.

También puede agregar un par de botones a nuestra consola que borrarán la ventana de parámetros y la ventana de texto de consulta en el modo de usuario.

Nuestra Consola de consultas está lista para usar. ¡Le deseamos soluciones creativas exitosas con la ayuda de una herramienta tan simple y poderosa como la Consola de consultas!

Este procesamiento está escrito en la plataforma 1s8.3 (formularios administrados), se ejecuta bajo un cliente pesado. También se puede escribir en la plataforma 1s8.2 como en formas convencionales, y bajo control.

En la descarga hay una muestra de la Consola de consultas que acabamos de crear.

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Actualización de la consola de consulta:

1) Ahora nuestra consola de consulta casera con Query Builder incorporado se ejecutará en cualquier cliente: en el cliente pesado de formularios normales y administrados y en el cliente web y delgado.

pd La forma y apariencia del Query Builder incorporado es diferente, dependiendo del cliente en el que iniciamos nuestra consola (personalmente, el formulario Query Builder en un cliente pesado es más familiar y conveniente para mí).

&AtClient Procedure Query Constructor(Command) //llamar al constructor de consulta estándar solo es posible en un cliente pesado #If ThickClientManagedApplication o ThickClientRegularApplication Then Constructor=New Query Constructor; Si no es EmptyString(Object.QueryText) Entonces Constructor.Text=Object.QueryText; Terminara si; Si Constructor.OpenModally()=True Entonces Object.QueryText=Constructor.Text; Terminara si; // #De lo contrario // Report("El Query Builder solo se puede llamar bajo un cliente pesado"); // Devolver; //# EndIf #Else Report("Está ejecutando Query Builder en un cliente ligero; ¡difiere ligeramente en su forma y velocidad de rendimiento!"); Constructor = Nueva Solicitud Constructor(); Si no es EmptyString(Object.QueryText) Entonces Constructor.Text=Object.QueryText; Terminara si; AlertConstructor = New AlertDescription("RunAfterClosingConstructor", ThisForm); Constructor.Mostrar(ConstructorAlert); # EndIf EndProcedure &AtClient Procedimiento ExecuteAfterClosingConstructor(Resultado, Parámetros del constructor) Exportar //Resultado=texto si Concer se cerró con el botón Aceptar Object.QueryText = ShortLP(Resultado); //¡¡¡obras!!! Procedimiento final

2) ¡Se agregó la capacidad a nuestra consola de consulta simple para ingresar consultas complejas con la tabla temporal pasada a los parámetros! El mecanismo resultó ser muy simple y elegante, sin el uso de código XML, como lo hacen en las consolas profesionales.

Puede ver el código en sí y los procedimientos para el mecanismo de transferencia a los parámetros de las Tablas Temporales en el segundo archivo adjunto. Puede ver cómo comenzar a desarrollar su propia versión de las tablas temporales en los parámetros en este enlace https://forum.site/forum9/topic183700/

Ahora cómo usar la consola con una consulta compleja, cuando se pasa una tabla temporal a sus parámetros. Por ejemplo, puede tomar el código de esta solicitud;

SELECT ExternalData.Product, ExternalData.Quantity PUT ExternalData FROM &ExternalData AS ExternalData; /////////////////////////////////////////////////// / /////////////////////////////// SELECCIONE ExternalData.Item, ExternalData.Quantity, ISNULL(ItemsRemainsRemains.QuantityRemains, 0) AS Field1 , ISNULL(ItemsRemainsRemains.QuantityRemains, 0) - ExternalData.Quantity AS RemainingFROM ExternalData AS ExternalData LEFT JOIN Accumulation Register.ProductsRemains.Remains(&Date, Item In (SELECT ExternalData.Item FROM ExternalData AS ExternalData)) AS ItemsRemains.ExternalDataRemains BY Producto

Similar al código de consulta anterior: puede crear su propia consulta compleja, teniendo en cuenta sus objetos de datos.

Entonces, en el constructor de consultas, creamos la consulta anterior cerrando el Constructor: el texto de la consulta caerá en nuestro campo de la consola "Texto de consulta", haga clic en el botón "Buscar parámetros", vemos que la cadena = "Externo Datos", tipo de valor \u003d "Tabla de valores" apareció en la tabla de Parámetros, ver fig.

En esta tabla de parámetros: ingrese el parámetro Fecha, por ejemplo, la fecha de hoy, luego haga clic para intentar editar nuestro parámetro de la tabla temporal "ExternalData", haga clic en tres puntos en el campo con "Tabla de valores" - una selección de tipos aparecerá, haga clic en la línea, nuestro mecanismo cambia la página en el formulario para nosotros, donde debemos ingresar manualmente esta tabla muy temporal.

Aquí, tenga en cuenta que en este caso, en la página "TempTables" en la parte inferior del campo "Nombre de tabla temporal en parámetros", aparecerá el nombre de nuestra tabla temporal (se copia de la tabla de Parámetros).

Hasta ahora, en la página "TempTables", solo vemos una tabla vacía: esta es la tabla de Tipos de nuestra futura tabla temporal. Con el botón "Agregar", agregaremos el nombre del atributo y el tipo de la tabla futura. . Tenga cuidado: el nombre y el tipo deben coincidir con lo que especificamos en la solicitud de &ExternalData:

Ahora presionamos el botón "ActualizarTablaTemporal" - y aquí aparecerá la segunda tabla - directamente la llenaremos con los datos de la tabla temporal a través del botón "Agregar".

Eso es todo, podemos verificar una vez más si ingresamos los datos primitivos de los parámetros de consulta en la tabla de parámetros en la primera página de procesamiento y hacer clic en el botón "Ejecutar solicitud": todo cuenta, seleccione de acuerdo con la restricción en el datos transmitidos en el parámetro de nuestra tabla temporal

ps Si cometió un error al escribir los nombres de los detalles y sus tipos (en la primera tabla), simplemente cierre la Consola y ábrala nuevamente, la tabla de datos temporales se eliminará, y la tabla Tipos se puede editar nuevamente y un se puede volver a crear una nueva tabla de datos.

Eso es todo, podemos crear una herramienta de trabajo muy poderosa con nuestras propias manos, además, nuestra consola sigue siendo muy ágil en comparación con las profesionales, ¡y esta es una gran ventaja para los desarrolladores! Y, por supuesto, ¡ahora nuestra consola funciona con cualquier cliente! ¡¡¡Buena suerte con tus desarrollos creativos!!!

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Trabajo constantemente con mi Consola de consultas, y recientemente me encontré con una consulta muy interesante en la que las tablas temporales no estaban en primer lugar. solicitar paquete, y en los siguientes, y aquí mi consola se volvió un poco loca ... Tuvo que hacer otra actualización.

Por lo tanto, el administrador de tablas temporales en la consulta no siempre entiende que están trabajando con él)) Por lo tanto, debe configurar explícitamente este mismo administrador de tablas temporales:

&OnServer Procedimiento ExecuteQueryOnServer() //upgrade2 - ¡definición explícita del administrador de tablas temporales! VTManager=NewTempTableManager; Solicitud = Nueva Solicitud; //upgrade2 - ¡definición explícita del administrador de TemporalTable! Consulta.TempTableManager = VTMManager; Solicitud.Texto = Objeto.QueryText;

Esta versión de la consola está en el tercer arranque.

Una de las herramientas más potentes de 1C Enterprise 8, sin duda, es Query Builder. El constructor es una herramienta visual para trabajar con consultas en el lenguaje 1C. Pero el constructor tiene un gran inconveniente: no muestra el resultado de la ejecución de la consulta. Esta deficiencia especialmente sentido por los desarrolladores novatos de soluciones de aplicaciones en la plataforma 1C:Enterprise 8.3 y 8.2.

Además, incluso los programadores 1C experimentados a menudo se enfrentan a una situación en la que es necesario realizar un análisis "único" de los datos de la base de información en varias secciones, pero no desea escribir un informe completo para el en aras de tal "conclusión única".

Para todos estos y muchos otros casos, nos complace ofrecerle procesamiento externo Consola de consultas con la capacidad de procesar resultados para 1C 8.3 y 1C 8.2!


Funciones clave de Query Console para 1C 8.3 y 1C 8.2:

Procesamiento universal, se ejecuta en cualquier configuración de plataformas 1C: Enterprise 8.1 - 8.3;
- se ejecuta en 1C: modo Enterprise;
- la consulta se puede escribir manualmente, o puede llamar al Query Builder;
- muestra el resultado de la solicitud;
- puede especificar los parámetros del informe directamente en Query Console;
- Puede guardar y cargar archivos de solicitud.

Para iniciar Query Console, debe ejecutar su configuración en 1C: modo Enterprise y abrir el procesamiento externo de Query Console como cualquier otro archivo almacenado en el disco. Dicho procesamiento funcionará exactamente de la misma manera que si fuera parte de la solución aplicada.


Query Console de procesamiento externo repite la interfaz familiar y la mayoría funcionalidad kit de herramientas estándar para compilar consultas del sistema 1C: Enterprise 8.3 y 8.2. También le permite obtener los resultados de consultas, consultas por lotes y tablas temporales.

La consola de consultas se ejecuta tanto en los modos operativos del sistema cliente-servidor como en el de servidor de archivos, ¡tanto en clientes pesados ​​como ligeros! Query Console integra el Query Builder estándar, llamado a través de Menú de contexto en el campo del cuerpo de la solicitud.

¡IMPORTANTE! Constructor de consultas en cliente ligero no funciona, este elemento de menú para abrir el Constructor no está disponible. ¡En el cliente pesado, el Query Builder está disponible!


En el cliente ligero, solo podemos escribir solicitudes a mano, todas las demás funciones funcionan sin cambios.