Secciones del sitio
Elección del editor:
- ¿Qué es el modo "Turbo" en los navegadores modernos: Chrome, Yandex, Opera?
- La plantilla más sencilla. Plantillas HTML simples. Mamba - plantilla de una página
- ¿Cómo pedir dinero prestado a MTS?
- Crear un acceso directo en el escritorio para compañeros de clase
- Si los zapatos no se ajustan a Aliexpress: las acciones correctas en este caso El producto de Aliexpress tiene la talla correcta
- Disputa en AliExpress Únete a la disputa en AliExpress
- 3 bases de información distribuida
- Gestor de contenidos: responsabilidades, salario, formación Desventajas y ventajas de trabajar como especialista en contenidos
- ¿Cómo protegerse de la minería oculta en su navegador?
- Recuperación de contraseña en Ask
Publicidad
1c donde es igual al valor o nulo. Usando la función es nulo() |
27.06.2017 NULL, ISNULL() e IS NULL en consultas 1C¿Qué es NULO?NULO en el resultado de la consulta, significa que no hay ningún valor (no es un valor vacío, ni nulo, ni una referencia nula).Por ejemplo, como resultado de conectar tablas de consulta, no se encontró un valor en una de las tablas al conectarse mediante campos de conexión. O la solicitud se refiere a un atributo (propiedad) inexistente. ¡NULL no es lo mismo que NULL!Si en una solicitud 1C desea imponer una selección (condición) con una marca de NULL, entonces una construcción como "WHERE VT.Field1 = NULL" siempre devolverá MENTIR! Para comprobarlo debes utilizar un operador especial.HAY NULL en la solicitud 1CPara comprobar un valor (o trabajar con valores) para NULL, debe utilizar la siguiente construcción "WHERE VT.Field1 IS NULL" U otro ejemplo, utilizar en una construcción ELECCIÓN"SELECCIÓN | CUANDO VT.Field1 ES NULL | ENTONCES" Vale la pena señalar que la función de verificar si un campo es NULL es una de las que consume más recursos en las consultas 1C. Por lo tanto, si desea utilizarlo en una condición de solicitud, considere si es posible reemplazar dicho cheque. unión interna(un tipo de unión en consultas en el que solo los registros presentes en ambas tablas permanecen en la selección).Función ISNULL() en la solicitud 1CFunción ESNULO() le permite reemplazar un valor faltante en un campo de solicitud con un valor específico (valor estándar, código auxiliar).Por ejemplo, si no hay información sobre el costo de un producto, entonces lo indicamos igual a 0 (cero) "SELECT | ISNULL(T.Price, 0) AS Price |FROM Remaining Goods AS T" ConclusiónRedactar consultas de forma correcta y óptima. Porque una mala solicitud significa frenos y código de mierda)Hola. El tipo NULL es un literal que puede contener solo un valor, el valor "NULL". Se utiliza cuando se trabaja con una base de datos (al unir tablas), se usa para determinar un valor faltante cuando se trabaja con una base de datos. Los valores de tipo NULL se forman como resultado de combinaciones cuando un elemento de una tabla no tiene un elemento correspondiente de otra. Un valor de tipo NULL tiene características específicas: Para determinar el valor NULL, use la construcción ES NULO (es NULO). Para cortar campos que contienen valores NULL como resultado de una solicitud, se utilizan las siguientes construcciones: - no es NULL - no es NULL EjemplosEjemplo de verificación de un valor para NULL SELECCIONAR Directorio. Nomenclatura. Nombre, Directorio. Nomenclatura. CompraPrecio DONDE Directorio. Nomenclatura. Precio de compra Sí NULL Ejemplo de la función ISNULL() Atentamente, Programador 1C. El lenguaje de consulta 1C es una de las principales diferencias entre las versiones 7.7 y 8. Uno de los puntos más importantes al aprender a programar 1C es el lenguaje de consulta. En 1C 8.3, las consultas son la herramienta más poderosa y eficaz para obtener datos. El lenguaje de consulta le permite obtener información de la base de datos de una manera conveniente. La sintaxis en sí recuerda mucho al T-SQL clásico, excepto que en 1C, usando el lenguaje de consulta, solo se pueden recibir datos usando la construcción Select. El lenguaje también admite construcciones más complejas, por ejemplo (solicitud dentro de una solicitud). Las consultas en 1C 8 se pueden escribir tanto en cirílico como en latín. En este artículo intentaré hablar sobre las principales palabras clave en el lenguaje de consulta 1C:
Además de algunos pequeños trucos del lenguaje 1C, con los que podrás construir de forma óptima el texto de la solicitud. Para depurar consultas en el sistema 1C 8.2, se proporciona una herramienta especial: la consola de consultas. Puedes ver la descripción y descargarla mediante el enlace -. Consideremos los operadores más importantes e interesantes del lenguaje de consulta 1C. SELECCIONAREn el lenguaje de consulta 1C Enterprise 8, cualquier consulta comienza con una palabra clave ELEGIR. En el lenguaje 1C no hay construcciones ACTUALIZAR, ELIMINAR, CREAR TABLA, INSERTAR, estas manipulaciones se realizan en tecnología de objetos; Su propósito es leer datos únicamente. Por ejemplo:
La consulta devolverá una tabla con los nombres de los elementos. Cerca de la estructura ELEGIR puedes encontrar palabras clave PARA CAMBIAR, PERMITIDO, VARIOS, PRIMERO … PERMITIDO— selecciona solo registros de la tabla sobre los que el usuario actual tiene derechos. VARIOS— significa que el resultado no contendrá líneas duplicadas. SELECCIÓN (CASO)Muy a menudo los programadores subestiman este diseño. Un ejemplo de su uso:
El ejemplo devolverá un valor de texto en el campo "Tipo de artículo": "Producto" o "Servicio". DÓNDEEl diseño del lenguaje de consulta 1C, que le permite imponer una selección a los datos recibidos. Tenga en cuenta que el sistema recibe todos los datos del servidor y solo entonces se selecciona en función de este parámetro.
En el ejemplo, seleccionamos registros para los cuales el valor del atributo "Servicio" está establecido en "Verdadero". En este ejemplo, podríamos arreglárnoslas con la siguiente condición:
Básicamente, seleccionamos filas donde la expresión después de la palabra clave es igual a "Verdadero". Puede utilizar condiciones directas en expresiones:
Usando el operador "VALUE()" en las condiciones, use el acceso a elementos y enumeraciones predefinidos en una solicitud 1C:
Los valores de tiempo se pueden especificar de la siguiente manera:
La mayoría de las veces, las condiciones se especifican como parámetros pasados a la solicitud: Obtenga 267 lecciones en video sobre 1C gratis:
Se puede imponer una condición al tipo de atributo si es de tipo compuesto: Si necesita limitar la selección de una lista de valores o una matriz, puede hacer lo siguiente:
La condición también puede ser compleja y constar de varias condiciones:
Agrupar porDiseño del lenguaje de consulta 1C 8.2 utilizado para agrupar el resultado. Por ejemplo:
Esta solicitud resumirá todos los recibos por monto y cantidad por artículo. Además de la palabra clave SUMA Puede utilizar otras funciones agregadas: CANTIDAD, NÚMERO DE DIFERENTES, MÁXIMO, MÍNIMO, PROMEDIO. TENIENDOUn diseño que muchas veces se olvida, pero que es muy importante y útil. Le permite especificar la selección en forma de función agregada, esto no se puede hacer en el diseño. DÓNDE. Ejemplo de uso de HAVING en una solicitud 1C:
Entonces seleccionaremos la cantidad de productos que llegaron más de 5 piezas. SIGNIFICADO()Por ejemplo:
TIPO en solicitudEl tipo de datos se puede verificar usando las funciones TYPE() y VALUETYPE() o usando el operador lógico REFERENCIA. EXPRESAR()El operador Express en consultas 1C se utiliza para convertir tipos de datos. Sintaxis: EXPRESAR(<Выражение>CÓMO<Тип значения>) Al usarlo, puede convertir valores de cadena en fecha o valores de referencia en datos de cadena, etc. En aplicaciones prácticas, el operador Express() se utiliza muy a menudo para convertir campos de longitud ilimitada, porque los campos de longitud ilimitada no se pueden seleccionar, agrupar, etc. Si dichos campos no se convierten, recibirá un error No puede comparar campos de longitud ilimitada y campos de tipos incompatibles.
ISNULL (ISNULL)Una función bastante útil del lenguaje de consulta 1C que verifica el valor en el registro y si es igual NULO, Esto le permite reemplazarlo con su propio valor. Se utiliza con mayor frecuencia al obtener tablas virtuales de saldos y facturación para ocultar NULO y poner un 0 (cero) claro.
Esta función del lenguaje de consulta 1C ISNULL devolverá cero si no hay ningún valor, lo que evitará un error. UNIRSEHay 4 tipos de conexiones: IZQUIERDA, BIEN, COMPLETO, INTERNO. CONEXIÓN IZQUIERDA y DERECHALas uniones se utilizan para vincular dos tablas según una condición específica. Característica cuando UNIRSE A LA IZQUIERDA es que tomamos la primera tabla especificada en su totalidad y vinculamos condicionalmente la segunda tabla. Los campos de la segunda tabla que no pudieron estar vinculados por condición se completan con el valor NULO. Un ejemplo de unión izquierda en una solicitud 1C: Devolverá la tabla completa y completará el campo "Banco" solo en aquellos lugares donde se cumpla la condición "Contrapartes.Nombre = Bancos.Nombre". Si no se cumple la condición, el campo Banco se establecerá en NULO. ÚNETE DERECHO en el idioma 1C 8.3 absolutamente similar conexión IZQUIERDA, con la excepción de una diferencia: en DERECHO DE CONEXIÓN La tabla "principal" es la segunda, no la primera. CONEXIÓN COMPLETACONEXIÓN COMPLETA se diferencia de izquierda y derecha en que muestra todos los registros de dos tablas y conecta solo aquellos que puede conectar por condición. Por ejemplo:
El lenguaje de consulta devolverá ambas tablas completamente solo si se cumple la condición Unir registros. A diferencia de una unión izquierda/derecha, es posible que NULL aparezca en dos campos. UNIÓN INTERNAUNIÓN INTERNA se diferencia del completo en que muestra solo aquellos registros que podrían conectarse según una condición determinada. Por ejemplo:
Esta consulta devolverá sólo filas en las que el banco y la contraparte tengan el mismo nombre. ConclusiónEsta es solo una pequeña parte de la sintaxis del lenguaje de consulta 1C 8; en el futuro intentaré considerar algunos puntos con más detalle, mostrarlos y mucho más. NULO– valores faltantes. NULL es un valor formador de tipos, es decir hay un tipo NULL y un único valor de este tipo. Los valores NULL aparecen en la consulta en las siguientes situaciones: ES NULO utilizado en el operador SELECT (como si comprobara que el valor está vacío (Valor ES NULO)): Función ISNULL(valor, ResultadoSiNULL) devuelve el valor de su primer parámetro si no es NULL, y el valor del segundo parámetro en caso contrario ES NULL Se diferencia de CHOICE por los siguientes motivos: No puede verificar los valores de NULL usando la igualdad habitual, porque SQL usa lógica de tres valores: Verdadero, Falso, NULL, y el resultado de dicha comparación será DESCONOCIDO, que en 1C 8.0 es similar a FALSO. ¡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. Lenguaje de consulta 1C 8.3 para programadores principiantes: funciones y operadores para trabajar con tipos (TIPO DE VALOR, TIPO, REFERENCIA, ISNULL, EXPRESS)Recordemos que cada atributo (propiedad, campo) de un directorio, documento o cualquier otro objeto de aplicación tiene su propio tipo. Y podemos mirar este tipo en el configurador: En el lenguaje de consulta existe toda una clase de funciones y operadores para trabajar con tipos de detalles. Mirémoslos. Función TIPO DE VALOREsta función toma un parámetro (valor) y devuelve su tipo. Para los accesorios descritos en la imagen (arriba) Gusto directorio Alimento se devolverá lo siguiente: Ahora veamos los accesorios. Característica distintiva en el directorio Ciudades: Verás que este accesorio puede ser de varios tipos: Línea, Directorio.Sabores, Directorio.Colores. Este tipo de detalles se llama COMPUESTO. Si intentamos completar el valor de dicho detalle en el modo 1C:Enterprise, el sistema nos preguntará qué tipo de valor se ingresará: Y solo después de nuestra selección nos permitirá ingresar el valor del tipo seleccionado. Por tanto, elementos de directorio del mismo tipo ( Directorio.Ciudades) podrá almacenar en el mismo atributo ( Característica distintiva) valores de diferentes tipos (Cadena, Colores o Sabores). Puedes comprobarlo tú mismo haciendo clic en los elementos del directorio. Ciudades en 1C: modo empresarial. Estás leyendo una versión de prueba de la lección; hay lecciones completas disponibles. Aquí el valor distintivo es un elemento de directorio. Sabores: Aquí está la línea: Y aquí hay generalmente un elemento del libro de referencia. Bandera: ¡Estas son las posibilidades que nos abre un tipo de datos compuestos! Me pregunto cómo se comportará la función. TIPO DE VALORES en los accesorios Elemento distintivo, que tiene un tipo de datos compuesto: Esto ya es muy interesante. Veamos cada línea individualmente. El tipo de valor del rasgo distintivo del elemento Rusia es igual a NULO. Esta es la primera vez que nos encontramos con este tipo. Los valores de este tipo se utilizan únicamente para determinar el valor faltante cuando se trabaja con la base de datos. Esto es cierto porque el elemento Rusia es un grupo y no un elemento de directorio ordinario. Ciudades, por lo que no tiene campo Característica distintiva. Y el tipo de valor faltante, como leímos arriba, siempre es igual a NULO. El tipo de valor del rasgo distintivo para Perm es igual a Sabores. Así es, porque el valor del rasgo distintivo ingresado en la base de datos de la ciudad de Perm es un enlace al elemento del directorio Sabores. Para Krasnoyarsk, el tipo de atributo es igual a Bandera, porque el valor seleccionado en la base de datos es un enlace a un elemento del directorio Bandera. Para Voronezh, el tipo de atributo es igual a Línea, porque el valor ingresado en la base de datos es una cadena normal. India vuelve a ser un grupo, por lo que no tiene importancia. Y el tipo del valor faltante, como recordamos, es igual a NULO. Aquí está la cosa. Si vas al elemento del directorio Ciudades con nombre São Paulo, entonces verás que el campo Característica distintiva no completado en absoluto. Está vacío. A todos los campos vacíos de un tipo compuesto tienen un significado especial INDEFINIDO. CON INDEFINIDO también nos encontramos por primera vez. Significado INDEFINIDO Se utiliza cuando es necesario utilizar un valor vacío que no pertenece a ningún otro tipo. Esta es exactamente nuestra situación. Y el tipo de valor INDEFINIDO, como probablemente ya habrás adivinado, es igual a NULO. TIPO de funciónSolo se necesita un parámetro: el nombre del tipo primitivo ( LÍNEA, NÚMERO, FECHA, BOOLEANO), o el nombre de la tabla cuyo tipo de enlace desea obtener. El resultado de esta construcción será un valor de tipo Tipo para el tipo especificado. Suena vago, ¿no? Miremos la aplicación de este diseño y todo encajará inmediatamente. Supongamos que necesitamos seleccionar todas las entradas del directorio. Ciudades, que tienen accesorios compuestos Característica distintiva tiene un valor de tipo LÍNEA: Ahora seleccionemos todos los registros que tienen valores de atributos. Característica distintiva son enlaces a elementos del directorio Bandera(mesa Directorio.Colores): RetiroComo recordarás, algunos elementos del directorio. Ciudades no tengo accesorios Característica distintiva. Función TIPO DE VALORES para tales elementos produce NULO. ¿Cómo se pueden seleccionar dichos elementos en una consulta? Para esto se proporciona un operador lógico especial. ES NULO(no confundir con la función ES NULL, que veremos a continuación). Estás leyendo una versión de prueba de la lección; hay lecciones completas disponibles. A continuación se muestra un ejemplo de su uso: Excelente. Pero, ¿notaste que no hay ningún elemento de Sao Paulo, tipo de valor de accesorios? Característica distintiva que también entregó NULO. ¿Por qué sucedió esto? Pero el caso es que la situación de los grupos (Rusia, India, Brasil), para los cuales completar los datos Característica distintiva imposible en principio, ya que no lo tienen en absoluto, difiere de la situación del elemento de Sao Paulo, para el cual es posible completar los accesorios, pero simplemente no se completa y equivale, como recordamos, a un valor especial INDEFINIDO. Para seleccionar todos los registros que tengan el requisito Característica distintiva presente, pero no lleno, se debe utilizar una construcción diferente: Pero la comparación con UNDEFINED para determinar atributos vacíos (sin llenar) solo funcionará para tipos compuestos. Por cierto, el operador lógico IS NULL tiene una forma de negación similar a esta: Operador lógico ENLACEPor ejemplo, seleccionemos del directorio Ciudades sólo aquellos registros que tienen el valor de un atributo compuesto Característica distintiva son un enlace a un elemento del directorio Sabores: Como recuerdas, podríamos resolver el mismo problema usando TIPO DE VALORES Y TIPO: Función ES NULLLa función está diseñada para reemplazar un valor. NULO a un significado diferente. Recordamos que el significado NULO devuelto si el atributo solicitado (campo, propiedad) no existe. Por ejemplo, accesorios Característica distintiva para grupos de directorio Ciudades: Función ES NULL nos ayudará a generar un valor diferente si este valor es igual a NULO. Estás leyendo una versión de prueba de la lección; hay lecciones completas disponibles. Sea en este caso la línea "¡No existe tal accesorio!": Resulta que si el primer parámetro de la función ES NULL no igual NULO, luego regresa. Si es NULL, se devuelve el segundo parámetro. Función EXPRESAEsta función es sólo para campos que tienen un tipo compuesto. Un excelente ejemplo de este campo es la propiedad Característica distintiva para elementos de directorio Ciudades. Como recordamos, los campos compuestos pueden ser de uno de varios tipos especificados en el configurador. Para campo Característica distintiva tales tipos válidos son LÍNEA, Directorio.Colores Y Directorio.Sabores. A veces resulta necesario convertir los valores de un campo compuesto a un tipo específico. Enumeremos todos los valores de campo. Característica distintiva escribir Referencia.Colores: Como resultado, todos los valores de elementos que eran del tipo Directorio.Colores, permanecieron llenos y se convirtieron al tipo especificado. Todos los valores de otros tipos ( LÍNEA, Directorio.Sabores) ahora son iguales NULO. Ésta es la peculiaridad de la conversión de tipos utilizando la función. EXPRESAR. Puede convertir un tipo a un tipo primitivo ( BOOLEANO, NÚMERO, LÍNEA, FECHA) o a un tipo de referencia. Estás leyendo una versión de prueba de la lección; hay lecciones completas disponibles. Pero el tipo al que se realiza la conversión debe incluirse en la lista de tipos para este campo compuesto; de lo contrario, el sistema arrojará un error. haz la pruebaIniciar prueba 1. Elige la afirmación más correcta 2. Los detalles que pueden tomar valores de uno de varios tipos se denominan 3. Para determinar el tipo de valor de atributo, use la función 4. Los detalles vacíos de tipo compuesto son importantes. |
Popular:
Nuevo
- La plantilla más sencilla. Plantillas HTML simples. Mamba - plantilla de una página
- ¿Cómo pedir dinero prestado a MTS?
- Crear un acceso directo en el escritorio para compañeros de clase
- Si los zapatos no se ajustan a Aliexpress: las acciones correctas en este caso El producto de Aliexpress tiene la talla correcta
- Disputa en AliExpress Únete a la disputa en AliExpress
- 3 bases de información distribuida
- Gestor de contenidos: responsabilidades, salario, formación Desventajas y ventajas de trabajar como especialista en contenidos
- ¿Cómo protegerse de la minería oculta en su navegador?
- Recuperación de contraseña en Ask
- Cómo encender la cámara en una computadora portátil