Contactos

La sintaxis es similar a la solicitud 1c. Similar a las condiciones de consulta. Parámetros no válidos como

A pesar de todas las deficiencias, la búsqueda de campos de texto sigue siendo una de las más populares. Podemos encontrar tipos de datos de cadenas en todas partes: nombres, números de cuenta, direcciones y otra información se pueden almacenar en este formato. En consultas en el lenguaje 1C incorporado, para comodidad de los desarrolladores, se utiliza un operador especial "ME GUSTA". Este es uno de los comandos más utilizados, por lo que sin un conocimiento profundo de su sintaxis y capacidades, a un programador le resultará difícil trabajar.

Usando el operador LIKE

Antes de utilizar cualquier operador en la práctica, es necesario comprender claramente su propósito, lugares de aplicación y sintaxis. El propósito de utilizar "ME GUSTA" en una solicitud 1C es verificar el cumplimiento de la condición presentada como plantilla. El valor de retorno es de tipo booleano (verdadero o falso) que indica si la condición especificada es verdadera. El operador LIKE se puede utilizar en varios lugares de una consulta:

  • En el bloque de condiciones, designado por la palabra clave “DÓNDE”;
  • En el diseño de Elección cuando luego termina de otra manera;
  • Directamente en los campos de selección, como resultado de la comparación de campos.

La sintaxis de verificación es siempre la misma y consta de 3 enlaces. A la izquierda está el valor de texto que se está verificando, luego el operador "ME GUSTA" y a la derecha está la plantilla que se está verificando. Para crear plantillas de forma rápida y sencilla, existen símbolos especiales que facilitan el desarrollo:

  1. “%” es una secuencia de caracteres de longitud arbitraria. Se utiliza para buscar palabras o números individuales en una cadena;
  2. “_” – cualquier carácter individual. Destinado a indicar la presencia de un solo carácter;
  3. “[...]” es una secuencia de caracteres para comparar con un carácter en una cadena. Con la ayuda de dicho patrón, se comprueba la coincidencia con cualquiera de los caracteres enumerados entre paréntesis. También puede especificar un rango de números o letras ([a-g], );
  4. “[^...]” es el patrón opuesto al anterior. Se comprueba la diferencia entre el carácter especificado en la línea y los que figuran entre paréntesis.

Para comprender y comprender mejor los principios de la creación de plantillas correctas, veamos algunos ejemplos que se encuentran a menudo en la vida de los desarrolladores. La primera es cuando necesitamos seleccionar del directorio de nomenclatura todos los elementos en cuyos nombres aparece la palabra “CUTTER”. En este caso, necesitamos usar LIKE en las condiciones de consulta:

SELECCIONE Nomenclatura.Nombre COMO Nombre DESDE Directorio.Nomenclatura COMO Nomenclatura DONDE Nomenclatura.Nombre SIMILAR a "% CORTADOR%"

Si eliminamos ambos símbolos “%”, la consulta mostrará un producto cuyo nombre coincida completamente con el especificado entre comillas. Si dejamos la plantilla “CUTTER%” o “% CUTTER”, el resultado será una lista de elementos que terminan o comienzan, respectivamente, con una determinada combinación de caracteres.


Veamos un problema que puede confundir a los programadores novatos que no conocen la sintaxis de consulta. Digamos que necesita encontrar todos los elementos que tienen el símbolo "%" en sus nombres. Especialmente para los casos en los que necesita buscar caracteres reservados, existe un operador de "caracteres especiales". #,\,/,~ y otros caracteres se pueden utilizar como caracteres especiales, después de lo cual cualquier carácter reservado simplemente denotará un signo.

SELECCIONE Nomenclatura.Nombre COMO Nombre DESDE Directorio.Nomenclatura COMO Nomenclatura DONDE Nomenclatura.Nombre SIMILAR a "%#%" CARÁCTER ESPECIAL "#"

Si necesita utilizar un parámetro en una búsqueda, entonces la variable de la consulta con el parámetro SIMILAR se utiliza mediante la suma. Recuerde que el parámetro debe ser de tipo cadena o deberá convertirlo a una cadena en la solicitud. Esta es una operación bastante complicada y es mejor excluirla de antemano.

SELECCIONE Nomenclatura.Nombre COMO Nombre DESDE Directorio.Nomenclatura COMO Nomenclatura DONDE Nomenclatura.Nombre SIMILAR a "%" + &nombre + "%"

La función SIMILAR es aplicable en todas las versiones de la plataforma, a partir de la 8, y debido a su aplicabilidad, los desarrolladores de 1C no querrán cambiarla. Por supuesto, la búsqueda de texto siempre depende de la precisión del nombre ingresado, pero sigue siendo una de las más comunes. En este sentido, los desarrolladores profesionales de 1C deben estudiar el uso de SIMILAR con todos sus matices.

COMO- Operador para comprobar la similitud de una cadena con un patrón. Análogo de LIKE en SQL.
Operador COMO le permite comparar el valor de la expresión especificada a la izquierda con la cadena de patrón especificada a la derecha. El valor de la expresión debe ser de tipo cadena. Si el valor de la expresión coincide con el patrón, el resultado del operador será VERDADERO, de lo contrario será FALSO.
Los siguientes caracteres en la cadena de plantilla son caracteres de servicio y tienen un significado diferente al carácter de cadena:
. % (porcentaje): una secuencia que contiene cualquier número de caracteres arbitrarios
. _ (guión bajo): un carácter arbitrario
. […] (uno o más caracteres entre corchetes): cualquier carácter incluido dentro de los corchetes
Una enumeración puede contener rangos, por ejemplo a-z, es decir, un carácter arbitrario incluido en el rango, incluidos los extremos del rango.
. [^...] (entre corchetes un signo de negación seguido de uno o más caracteres): cualquier carácter distinto de los enumerados después del signo de negación
Cualquier otro símbolo significa sí mismo y no conlleva ninguna carga adicional.
Si uno de los caracteres enumerados debe escribirse como sí mismo, debe ir precedido de<Спецсимвол>. Mí mismo<Спецсимвол>(cualquier carácter adecuado) se define en la misma declaración después de la palabra clave SPECIAL CHARACTER.
Por ejemplo, patrón “%ABV[abvg]\_abv%” CARÁCTER ESPECIAL “\” significa una subcadena que consta de una secuencia de caracteres:
letras A; letras B; letras B; un dígito; una de las letras a, b, c o d; guion bajo; letras a; letras b; letras v.
Además, esta secuencia puede ir precedida de un conjunto arbitrario de caracteres.

Ejemplos de uso:
Código 1C v 8.x Procedimiento BankEndTextInput (Elemento, Texto, Valor, Procesamiento estándar)
Procesamiento estándar = Falso;
//Hacer una consulta con una búsqueda usando un patrón como "%" +<Текст введенный пользователм в поле ввода> + "%"
Solicitud = Nueva Solicitud;
Query.SetParameter("Nombre", "%" + Texto + "%");
Consulta.Texto = "SELECCIONAR
| Bancos.Enlace
|DESDE
| Directorio.Bancos CÓMO Bancos
|DONDE
| Bancos.Nombre SIMILAR &Nombre";

Resultado = Consulta.Ejecutar();
Selección = Resultado.Select();
Si Resultado.Empty() Entonces
//Nada Encontrado. Aquí puedes mostrar un mensaje o hacer otra cosa :)
De lo contrario
//Obtener los resultados
tzResultados = Resultado.Descargar();
//Prepara una lista de valores que contendrán los elementos encontrados.
Valor = Nueva Lista de Valores();
Value.LoadValues(tzResults.UnloadColumn("Enlace"));
terminara si;
Fin del Procedimiento

Es necesario que los “Acuerdos por Defecto” incluyan únicamente los Nombres del Acuerdo Principal, etc.:
Código 1C v 8.x Elección
Cuando el Nombre es SIMILAR a “Acuerdo No.%”, entonces “Acuerdo con número” // Cualquier línea que comience con “Acuerdo No.” es adecuada.
Cuando el nombre es SIMILAR a "Acuerdo principal%[^А-яЁе"+Símbolo(33)+"-"+Símbolo(126)+"№"""+Símbolos.PS+Símbolos.Tab+Símbolos.PF+Símbolos .NPP+ Symbols.VTab+"]%" y luego "Contratos predeterminados" // Cualquier línea que comience con "Contrato principal" es adecuada
De lo contrario "Otro"
Terminar como una especie de contrato

Información extraída del sitio.

El operador SIMILAR en una consulta verifica la similitud de los valores de cadena de las tablas con un patrón.
Se utiliza de la siguiente manera: la cadena a verificar se coloca a la izquierda de este operador y el patrón se coloca a la derecha.

Después de verificar, devuelve Verdadero o Falso en consecuencia, se usa activamente en las condiciones.
Los siguientes caracteres de servicio se utilizan para crear una plantilla:

  • % (porcentaje): una secuencia que contiene cualquier número de caracteres arbitrarios
  • _ (guión bajo): un carácter arbitrario
  • […] (uno o más caracteres entre corchetes): cualquier carácter incluido dentro de los corchetes
    Además, además de varios símbolos, puede utilizar rangos, por ejemplo a-z(A-z), lo que significa la presencia de un símbolo arbitrario incluido en el rango, incluidos los extremos del rango.
  • [^...] (entre corchetes un signo de negación seguido de uno o más caracteres): cualquier carácter distinto de los enumerados después del signo de negación

Los símbolos restantes se utilizan para el fin previsto.
Si es necesario transmitir uno de los caracteres de servicio anteriores como símbolo, debe ir precedido de<Спецсимвол>. Mí mismo<Спецсимвол>(cualquier carácter adecuado) se define en la misma declaración después de la palabra clave SPECIAL CHARACTER.
Por ejemplo, el patrón “%ABV[abvg]\_abv%” CARÁCTER ESPECIAL “\” significa una subcadena que consta de una secuencia de caracteres:
letras A; letras B; letras B; un dígito; una de las letras a, b, c o d; guion bajo; letras a; letras b; letras v.
Además, esta secuencia puede ir precedida de un conjunto arbitrario de caracteres.

Procedimiento Seleccionar AcuerdoConteniendoInNameText(mText)
//En la solicitud usaremos una plantilla como "%" + mText + "%" Solicitud = Nueva Solicitud; Query.SetParameter("Nombre", "%" + Texto + "%"); Request.Text = "SELECCIONAR | Acuerdos. Enlace, | Acuerdos. Propietario | DE | Directorio. Contratos de Contrapartes AS Acuerdos | | DÓNDE | Acuerdos. Nombre SIMILAR & Nombre"; Resultado = Consulta.Ejecutar(); Selección = Resultado.Select(); Report("Los acuerdos que contienen en el nombre: " + mText + " tienen las siguientes Contrapartes"); Mientras que Selection.Next() Cycle Report("Contraparte: " + Selection.Owner + "; Acuerdo: " + Selection. Link EndIf; EndProcedure

Operador COMO le permite comparar datos de tipo cadena en una consulta que se encuentra a la izquierda del operador con datos de tipo cadena que se encuentran a la derecha del operador. El resultado de la comparación se evalúa como Verdadero o Falso, por lo que la comparación se puede aplicar como condición.

Para el operador COMO Hay caracteres de servicio especiales que no se perciben como una cadena:

  • Símbolo de porcentaje "%": indica la presencia de cualquier número de caracteres arbitrarios en una cadena
  • "[...]" uno o más caracteres entre corchetes: indica la presencia de cualquiera (único) de los caracteres enumerados. Además, se puede especificar una variedad de caracteres (por ejemplo)
  • "_" guión bajo: indica la presencia de cualquier carácter arbitrario
  • Carácter de negación "[^...]": indica la presencia de cualquier carácter distinto de los especificados entre corchetes
Si necesita especificar uno de los caracteres especiales anteriores para comparar, debe utilizar la palabra clave "SÍMBOLO ESPECIAL"

Características de uso con varios DBMS.

DB2"Sólo se puede colocar un parámetro a la derecha del operador SIMILAR. Los únicos caracteres comodín son "_" (guión bajo que significa cualquier carácter) y "%" (porcentaje que significa una secuencia de cualquier carácter).
En caso de utilizar un DBMS " PostgreSQL" o " Base de datos Oracle Los "caracteres especiales" corchetes [...] "se aceptan solo si se especifican en el texto de la solicitud y NO se pasan como parámetro de la solicitud.

Así, en la base de datos de archivos, los caracteres especiales siempre se percibirán de la misma manera y de forma diferente según el DBMS utilizado en la versión cliente-servidor.

Ejemplo: seleccione productos que contengan el símbolo "%" en el nombre

SELECCIONAR | Ref.Enlace |DESDE | Directorio Nomenclatura CÓMO Ref | Ref.Nombre COMO "%\%" CARACTER ESPECIAL "\"

Ejemplo: seleccione productos cuyos nombres comiencen con la palabra "Tanque"

SELECCIONAR | Ref.Enlace |DESDE | Directorio Nomenclatura CÓMO Ref | Ref.Nombre SIMILAR a "Bak%"

Ejemplo: seleccionar productos cuyos nombres terminen en un número

SELECCIONAR | Ref.Enlace |DESDE | Directorio Nomenclatura CÓMO Ref | Ref.Nombre SIMILAR a "%"

En este artículo queremos comentarlo todo contigo. Funciones del lenguaje de consulta 1C, y construcciones del lenguaje de consulta. ¿Cuál es la diferencia entre función y diseño? La función se llama entre paréntesis y posibles parámetros en ellos, y la construcción se escribe sin paréntesis. Indudablemente todas las estructuras y funciones del lenguaje de consulta 1C hacer que el proceso de adquisición de datos sea flexible y multifuncional. Estas funciones y construcciones se aplican a los campos de solicitud y algunas también se aplican a las condiciones.

Funciones del lenguaje de consulta 1C

Porque una descripción clara Funciones del lenguaje de consulta 1c. es mucho menos común que las descripciones de estructuras, decidimos comenzar a buscar funciones. Ahora veamos cada uno por separado, describiendo su propósito, sintaxis y ejemplo de uso, así:

1. Función FECHA Y HORA- esta función crea un campo constante con el tipo "Fecha".

Sintaxis: FECHA Y HORA(<Год>,<Месяц>,<День>,<Час>,<Минута>,<Секунда>)

Ejemplo de uso:

2. Función DIFERENCIA DE FECHA- devuelve la diferencia entre dos fechas en una de las dimensiones (año, mes, día, hora, minuto, segundo). La medida se pasa como parámetro.

Sintaxis: FECHA DIFERENCIA(<Дата1>, <Дата2>, <Тип>)

Ejemplo de uso:

Query.Text = "SELECCIONAR | DIFFERENCEDATE(DATETIME(2015, 4, 17), DATETIME(2015, 2, 1), DAY) | AS Número de días";

3. Función VALOR- establece un campo constante con un registro predefinido de la base de datos; también puede obtener un enlace vacío de cualquier tipo;

Sintaxis: VALOR(<Имя>)

Ejemplo de uso:

Request.Text = "SELECT //elemento predefinido | VALOR(Directorio.Currencies.Dollar) AS Dólar, //enlace vacío | VALOR(Documento.Recibo de bienes y servicios.EmptyLink) AS Recibo, //valor de transferencia | VALOR(Transferencia Persona jurídica Persona física) AS Persona física, //cuenta predefinida VALOR(Plan de cuentas. Autocontabilidad.Materiales) AS Cuenta_10" ;

4. Función SELECCIONAR- Tenemos ante nosotros un análogo de la construcción IF, que se usa en el código, solo este se usa en consultas 1C.

Sintaxis: ELECCIÓN CUÁNDO<Выражение>ENTONCES<Выражение>DE LO CONTRARIO<Выражение>FIN

Ejemplo de uso:

Request.Text = //si la cantidad es más de 7500, entonces debería haber un descuento de 300 rublos, //por lo tanto, si se activa la condición, la función //devuelve Suma - 300 //de lo contrario, la solicitud devolverá simplemente Suma "SELECCIONAR | SELECCIONAR | CUANDO TCReceipts.Amount > 7500 | ENTONCES TCReceipts.Amount - 300 | ELSE TCReceipts.Amount | FINALIZAR COMO MontoConDescuento | DESDE |

5. Función EXPRESA- le permite expresar un campo constante con un tipo específico.

Sintaxis: EXPRESS(Nombre de campo AS Nombre de tipo)

Ejemplo de uso:

Query.Text = "SELECCIONAR VARIOS | Número.de.Registrador.de.Ventas, | SELECCIONAR | CUANDO Documento.Consumible ENLACE Ventas.Registrador | ENTONCES EXPRESAR(Documento.Registrador.Ventas AS.Consumible) | ELSE SELECCIONAR | CUANDO Documento.ENLACE Ventas.Registrador.Implementación | ENTONCES EXPRESS(Ventas.Registrador AS Documento.Implementación) | FIN | FINAL Número de Acumulación AS Compras";

¿Existe otra opción para utilizar la función EXPRESS en campos de tipos mixtos, dónde ocurren? El ejemplo más simple es el "Registrador" para cualquier registro. Entonces, ¿por qué podríamos necesitar calificar el tipo en el registrador? Consideremos la situación cuando seleccionamos el campo "Número" del registrador, ¿de qué tabla se seleccionará el número? ¡La respuesta correcta de todas! Por lo tanto, para que nuestra consulta funcione rápidamente, debemos especificar un tipo explícito usando la función EXPRESS

Ejemplo de uso:

Query.Text = "SELECCIONAR | EXPRESS(Nomenclatura.Comentario Línea AS(300)) COMO Comentario, | EXPRESS(Nomenclatura.Suma Número AS(15,2)) AS Suma |DESDE | Directorio.Nomenclatura AS Nomenclatura";

6. función ESNULO(ortografía alternativa ISNULL): si el campo es de tipo NULL, se reemplaza con el segundo parámetro de la función.

Sintaxis: ES NULO(<Поле>, <ПодставляемоеЗначение>)

Ejemplo de uso:

También tenga en cuenta que es aconsejable reemplazar SIEMPRE el tipo NULL con algún valor, porque la comparación con el tipo NULL siempre devuelve FALSO incluso si compara NULL con NULL. La mayoría de las veces, los valores NULL se forman como resultado de unir tablas (todos los tipos de uniones excepto las internas).

Query.Text = //Selecciona el artículo completo y sus saldos //si no hay saldo en algún artículo, entonces habrá un campo //NULL que será reemplazado con el valor 0 "SELECT | No. Link, | ISNULL (ProductsInStockRemains.InStockRemaining, 0) AS Restante | Directorio.Nomenclatura AS No. | IZQUIERDA CONEXIÓN RegistrarAcumulaciones.GoodsInWarehouses.Remainings AS GoodsInWarehousesRemainings PO (GoodsInWarehousesRemainings.Nomenclature = No.Link)";

7. Función REPRESENTACIÓN- le permite obtener una representación del campo de solicitud.

Sintaxis: ACTUACIÓN(<НаименованиеПоля>)

Ejemplo de uso:

Query.Text = "SELECCIONAR | REPRESENTACIÓN(FreeRemainingRemaining.Nomenclature) COMO Nomenclatura, | REPRESENTACIÓN(FreeRemainingRemaining.Warehouse) COMO Almacén, | FreeRemainingRemaining.InStockRemaining |DESDE |Registro de acumulación.FreeRemaining.Remaining AS FreeRemainingRemaining";

Construcciones en el lenguaje de consulta 1C.

Hablamos contigo arriba Funciones del lenguaje de consulta 1C, ahora es el momento de considerar construcciones en el lenguaje de consulta 1C, no son menos importantes y útiles, comencemos.

1. ENLACE Construcción- es un operador lógico para comprobar un tipo de referencia. Se encuentra con mayor frecuencia al comparar un campo de un tipo complejo con un tipo específico. Sintaxis: ENLACE<Имя таблицы>

Ejemplo de uso:

Request.Text = //si el tipo de valor del registrador es documento Recibo, //entonces la consulta devolverá "Recepción de mercancías", en caso contrario "Ventas de mercancías" "SELECT | SELECT | WHEN Restos.Registrador LINK Documento.Recepción de mercancías y Servicios | ENTONCES ""Recepción"" | ELSE ""Consumo"" | FINAL AS Tipo de Movimiento | Registro de Acumulación Restante AS" ;

2. Diseño ENTRE- este operador verifica si el valor está dentro del rango especificado.

Sintaxis: ENTRE<Выражение>Y<Выражение>

Ejemplo de uso:

Request.Text = //obtiene la nomenclatura completa cuyo código está en el rango de 1 a 100 "SELECT | Nomenclature.Link |FROM | Directory.Nomenclature AS Nomenclature |WHERE | Nomenclature.Code ENTRE 1 Y 100" ;

3. Construcción B y B JERARQUÍA- comprobar si el valor está en la lista transferida (las matrices, tablas de valores, etc. se pueden transferir como lista). El operador EN JERARQUÍA le permite ver la jerarquía (un ejemplo de uso del Plan de cuentas).

Sintaxis: EN(<СписокЗначений>), EN JERARQUÍA(<СписокЗначений>)

Ejemplo de uso:

Request.Text = //seleccione todas las subcuentas de la cuenta "SELECCIONAR | Autosuficiente. Vincular AS Cuenta | DESDE | Plan de cuentas. Autosuficiente AS Autosuficiente | DÓNDE | Autosuficiente. Vincular EN JERARQUÍA VALOR (Gráfico de Cuentas. Bienes Autosuficientes)”;

4. Diseño SIMILAR- Esta función nos permite comparar una cadena con un patrón de cadena.

Sintaxis: COMO "<ТекстШаблона>"

Opciones de patrón de filas:

%: una secuencia que contiene cualquier número de caracteres arbitrarios.

Un personaje arbitrario.

[...] cualquier carácter o secuencia de caracteres enumerados entre corchetes. La enumeración puede especificar rangos, por ejemplo a-z, es decir, un carácter arbitrario incluido en el rango, incluidos los extremos del rango.

[^...] - cualquier carácter o secuencia de caracteres enumerados entre corchetes, excepto aquellos enumerados después del signo de negación.

Ejemplo de uso:

Query.Text = //busca la nomenclatura completa que contiene la raíz TABUR y comienza //ya sea con una letra t minúscula o mayúscula "SELECT | Nomenclatura. Enlace | FROM | Directorio. Nomenclatura AS Nomenclatura | DONDE | Productos. Nombre LIKE "" [Tt ]abur%""" ;

5. Diseño PERMITIDO- este operador le permite seleccionar solo aquellos registros de la base de datos para los cuales la persona que llama tiene permiso de lectura. Estos derechos se configuran a nivel de registro (RLS).

Sintaxis: PERMITIDO está escrito después de la palabra clave SELECT

Ejemplo de uso:

Request.Text = "SELECCIONAR PERMITIDO | Contrapartes. Enlace | DESDE | Directorio. Contrapartes COMO Contrapartes";

6. Diseño VARIOS- le permite seleccionar registros en los que no hay registros duplicados.

Sintaxis: VARIOS se escribe después de la palabra clave SELECCIONAR

Ejemplo de uso:

Request.Text = //selecciona registros sobre los cuales el lector tiene derechos "SELECCIONAR VARIOS | Contrapartes.Nombre |DESDE | Directorio. Contrapartes AS Contrapartes" ;

Además, las VARIAS construcciones se pueden utilizar con el operador PERMITIDO y otros operadores.

Ejemplo de uso:

Request.Text = //selecciona varios registros sobre los cuales el lector tiene derechos "SELECCIONAR VARIOS PERMITIDOS | Contrapartes.Nombre |DESDE | Directorio. Contrapartes COMO Contrapartes";

7. Diseño PRIMERO- selecciona el número de registros especificados en el parámetro del resultado de la consulta.

Sintaxis: PRIMERO<число>

Ejemplo de uso:

Request.Text = //seleccione los primeros 4 números CCD del directorio "SELECCIONE LOS PRIMEROS 4 | Números CCD. Enlace | DESDE | Directorio. Números CCD COMO Números CCD";

8. Diseño PARA EL CAMBIO- le permite bloquear una tabla, funciona solo en transacciones (relevante solo para bloqueos automáticos).

Sintaxis: PARA CAMBIAR<НаименованиеТаблицы>

Ejemplo de uso:

Query.Text = "SELECCIONAR | Restos Libres Restos. Nomenclatura, | Restos Libres Restos. Almacén, | Restos Libres Restos. En Stock Restantes | DESDE | Registro de Acumulaciones. Restos Libres. Restos COMO Restos Libres Restos | POR CAMBIO | Registro de Acumulaciones Restos Libres”.

9. Diseño ORDENAR POR- organiza los datos por un campo específico. Si el campo es un enlace, al configurar la bandera PEDIDO AUTOMÁTICO La clasificación se realizará según la representación del enlace; si la bandera está desactivada, los enlaces se ordenarán según la antigüedad de la dirección del enlace en la memoria.

Sintaxis: ORDENAR POR<НаименованиеПоля>PEDIDO AUTOMÁTICO

Ejemplo de uso:

Query.Text = "SELECCIONAR | Restos Libres Restos. Nomenclatura COMO Nomenclatura, | Restos Libres Restos. Almacén COMO Almacén, | Restos Libres Restos. En Stock Restantes | DESDE | Registrar Acumulaciones. Restos Libres. Restos COMO Restos Libres | | ORDER BY | Nomenclatura | LECTURA AUTOMÁTICA DEL PEDIDO";

10. Diseño GRUPO POR- Se utiliza para agrupar cadenas de consulta por campos específicos. Los campos numéricos deben usarse con cualquier función agregada.

Sintaxis: AGRUPAR POR<НаименованиеПоля1>, .... , <НаименованиеПоляN>

Ejemplo de uso:

Query.Text = "SELECCIONAR | ProductosEnAlmacén.Nomenclatura AS Nomenclatura, | ProductosEnAlmacén.Almacén, | SUMA(BienesEnAlmacén.EnStock) COMO EN STOCK |DESDE | RegistrarAcumulaciones.ProductosEnAlmacén AS ProductosEnAlmacén | |GRUPO POR | ProductosEnAlmacén.Nomenclatura, | tesoros.Almacén";

11. Diseño TENER- le permite aplicar una función agregada a una condición de selección de datos, similar a la construcción WHERE.

Sintaxis: TENIENDO<агрегатная функция с условием>

Ejemplo de uso:

Query.Text = //selecciona registros agrupados donde el campo InStock es mayor que 3 "SELECT | ItemsInStocks.Nomenclature AS Nomenclature, | ItemsInWarehouses.Warehouse, | SUM(ItemsInStocks.InStock) AS INSTOCK |FROM | RegisterAccumulations.ItemsInStocks AS ItemsInStocks | | GRUPO POR | ProductosEnAlmacén.Nomenclatura, | ProductosEnAlmacén.Almacén |DISPONIBLE |

12. Construcción ÍNDICE POR- Se utiliza para indexar el campo de consulta. Una consulta con indexación tarda más en completarse, pero acelera la búsqueda en los campos indexados. Sólo se puede utilizar en mesas virtuales.

Sintaxis: ÍNDICE POR<Поле1, ... , ПолеN>

Ejemplo de uso:

Query.Text = "SELECT | Ts.NameOS, | Ts.FolderNumber, | Ts.CodeOS, | Ts.Term, | Ts.Type | LUGAR DataTs | FROM | &Ts AS Ts | | INDEX BY | Ts.NameOS, | Ts .CodeOS";

13. Diseño DONDE- le permite imponer una condición en cualquier campo de selección. El resultado incluirá sólo los registros que cumplan la condición.

Sintaxis: DÓNDE<Условие1 ОператорЛогСоединения УсловиеN>

Ejemplo de uso:

Query.Text = //se seleccionan todos los registros con CompensationRemaining<>0 y //CantidadParaCalcCompRemaining > 100 "SELECT | CompensaciónRPORemains.Contraparte, | CompensaciónRPORemains.Child, | CompensaciónRPORemains.CompensaciónRemains, | CompensaciónRPORemains.AmountForCalcCompRemains |Colocar datosTz |DESDE | Registro de acumulación.CompensaciónRP.Remains AS CompensaciónRPRemains |DONDE CompensaciónRPORemain ing.CompensaciónRemanente<>0 | Y CompensaciónRPORemains.AmountForCalcCompRemaining> 100";

14. Diseño RESULTADOS... GENERAL- se utiliza para calcular totales; el diseño especifica los campos mediante los cuales se calcularán los totales y se aplicarán funciones agregadas a los campos de totales. Cuando se utilizan totales para cada campo después de la construcción TOTAL, los datos se agrupan. Hay una construcción GENERAL opcional; su uso también proporciona agrupación adicional. Verá un ejemplo del resultado de la solicitud a continuación.

Sintaxis: RESULTADOS<АгрегатнаяФункция1, ... , АгрегатнаяФункцияN>POR<ОБЩИЕ> <Поле1, ... , ПолеN>

Ejemplo de uso:

Request.Text = "SELECT | Cálculos. Acuerdo de Contraparte. Tipo de Acuerdo AS Tipo de Contrato, | Cálculos. Acuerdo de Contraparte AS Contrato, | Cálculos. Contraparte, | Cálculos. Monto del Saldo de Liquidación Mutua Saldo AS | DESDE | Registro de Acumulaciones. Mutual Liquidación CON Contrapartes Saldos AS Cálculos | TOTAL | IMPORTE (Saldo) |ON |GENERAL, |Tipo de Acuerdo";

La figura describe las agrupaciones que se formaron durante la ejecución de la solicitud, la superior se refiere a la sección GENERAL y la segunda al campo Tipo de Acuerdo Acuerdo de Contraparte.



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