¿Qué son las constantes en 1s? Constantes. Escribir un nuevo valor constante

Entonces en 1C hay libros de referencia. Por ejemplo, un directorio de productos (nomenclatura). Allí indicaremos una lista de productos que vende nuestra organización.

Con la ayuda de dicho directorio, podemos organizar una lista de precios para los clientes, así como un informe de ventas para la gerencia.

Los productos son diferentes. Por ejemplo, productos y química. ¿Qué debemos hacer si el gerente nos pide que hagamos un informe: ¿cuánto dinero ganamos con los productos y cuánto con la química?

¡Fácilmente! - responderemos. Debe agregar un directorio de Tipos de productos y agregar los siguientes detalles en el directorio de Nomenclatura. Ahora, cuando introduzcamos un nuevo producto, necesitaremos seleccionar el tipo de producto.

Sin embargo, las chicas no están contentas con esta innovación; después de todo, ahora necesitan completar un campo adicional, y ya tienen mucho trabajo y no tienen tiempo para hacer nada. ¡Y en general! - dicen - ¡tenemos 900 tipos de productos y solo 50 tipos de productos químicos! Incluso un tonto puede ver que el tipo de producto predeterminado deberían ser productos.

¡Excelente! – lo notaremos. ¿Y que hacer?

Constantes 1C

Para editar constantes, se abre el formulario de constantes predeterminado. Cada campo en este formulario es una constante.

Hay dos formas de agregar una forma constante:

  • Haga clic derecho en la rama Constantes 1C y seleccione el elemento del menú Crear forma constante
  • Agregue un formulario a la rama General/Formularios generales y en el asistente seleccione el tipo de formulario: Formulario constante.

Puede ver (y seleccionar) la forma de las constantes de la siguiente manera:

  • Ingrese las propiedades de configuración (haga clic derecho en la rama raíz superior de la configuración, que los programadores generalmente llaman "Cabeza") y use la propiedad Forma básica de constantes.

El formulario de constantes se diferencia en que el atributo principal del formulario es del tipo "ConstantsSet". Esto le permite escribir constantes 1C no individualmente, sino inmediatamente como un conjunto.

Por cierto, un atributo de formulario se vuelve "primario" si se especifica en la propiedad Datos en las propiedades del formulario.

En un programa en lenguaje 1C, puedes acceder a cualquier constante de forma fácil y sencilla:

Valor = Constantes.NecessaryConstant.Get(); //leer
Constantes.NecessaryConstant.Set(Valor); //anote

Parámetros de sesión 1C

Entonces el problema se resuelve de manera simple y elegante: creamos una constante en la que almacenaremos el tipo de producto predeterminado.

Al crear un nuevo producto, el programa de lenguaje 1C en OnOpenForm() establecerá el valor del campo Tipo de producto al asignado en la constante. ¡Voilá!

Ahora el programa funciona, ¡pero no nos detendremos ahí! Por supuesto, somos programadores geniales, queremos que el programa no solo funcione, ¡sino también que funcione rápidamente!

¿Dónde se almacenan las constantes 1C? En la base de datos, en una tabla especial. Cada vez que el operador crea un nuevo producto, ingresará al servidor y leerá el valor de la constante 1C. ¿Qué pasa si hay 200 operadores? ¿Es esto óptimo?

¿Qué hacer entonces?

Y aquí recordamos los parámetros de la sesión 1C. Estos son valores como constantes que se completan en el momento en que 1C inicia el modo Enterprise y están disponibles inmediatamente en el cliente. En otras palabras, se trata de una especie de caché en el lado del cliente.

Además, si en una constante podemos almacenar una lista solo en un almacén de valores, entonces ya podemos descomprimirla en un parámetro de sesión 1C, aunque no será dinámico, será del tipo FixArray.

Los parámetros de sesión 1C también se encuentran en la ventana de configuración, ubicada en la rama General/Parámetros de sesión 1C.

No basta con agregar un parámetro de sesión 1C, porque si no se completa, el programa mostrará un error.

Completar (configurar) los parámetros de la sesión 1C debe realizarse al iniciar 1C en modo Empresarial. Haga clic derecho en la rama superior de la configuración (los programadores la llaman "Cabeza") y seleccione el elemento del menú Abrir módulo de sesión.

Es posible que el módulo ya tenga una función SettingsSessionParameters(). Si aún no hay uno, seleccione este evento en la lista desplegable correspondiente. A continuación se muestra un ejemplo de cómo configurar el valor de un parámetro de sesión 1C:

SessionParameters.RequiredParameter = Valor; //grabar, una vez al principio
Valor = SessionParameters.RequiredParameter; //leer, estrictamente después de escribir.

Las constantes en 1C se suelen utilizar para almacenar un valor en una base de datos. Normalmente, las constantes almacenan valores que rara vez o no cambian en absoluto, pero que se utilizan con frecuencia. Por ejemplo, la versión del programa, varias configuraciones, nombre de la organización, principales responsables, etc.

Para cada constante, se indica su nombre y tipo de datos. Acceder a constantes en un módulo de programa es muy sencillo:

1. Leer el valor de una constante

// lee el valor de la constante
Nombre = Constantes. Nombre de la organización. Conseguir();

Preste atención a la palabra "Constantes" y no a "Constante", como estaba en la versión 1C 7.7.

2. Escribe un nuevo valor constante.

Para escribir (establecer) un nuevo valor de una constante, use el método Set()

// escribe un nuevo valor constante
Constantes . Nombre de la organización. Instalar( "LLC Cuernos y Pezuñas");

3. Trabajar con un conjunto de constantes

En ocasiones es posible que necesites leer o escribir los valores de un grupo de varias constantes. Para tales situaciones, puede utilizar el llamado conjunto de constantes. Cuando se utiliza un conjunto, todas las constantes incluidas en él se leen y escriben juntas en una transacción, es decir se realiza una operación sobre varias constantes simultáneamente.

//crea un conjunto de tres constantes

//tenga en cuenta que solo estamos creando un conjunto de constantes y aún no conocemos sus valores

Equipo = Constantes. Crearconjunto( “Jefe, Nombre de la Organización, Dirección de la Organización”);

Dado que cuando trabajamos con un conjunto de constantes podemos cambiar (escribir) los valores de todas las constantes del conjunto al mismo tiempo, primero debemos establecer cada constante en un nuevo valor y luego usar el método Write() para escribirlos simultáneamente.

//establece el valor de las constantes en el conjunto (no en la base de datos)
Equipo . Gerente = "Ivanov I.I." ;
Equipo . Nombre de la organización = "LLC Nuevos Cuernos y Pezuñas";
Equipo . Dirección de la organización = "Rusia, Moscú, Kremlin";
Equipo . Escribir();//escribe los valores de tres constantes en la base de datos a la vez

4. Comparación con el valor de una constante en consultas

Las constantes se pueden utilizar en consultas. Por ejemplo, es posible que necesitemos comparar datos en una consulta con el valor de una constante. En este ejemplo, seleccionamos registros del directorio de Nomenclatura para los cuales el valor del atributo Código es igual al valor de nuestra constante ConstantNumber.

"ELEGIR
| NuestroNúmero.Valor,
| Nomen.Código,
|DESDE
| Constant.ConstNumber AS NuestroNumber,
| Directorio.Nomenclatura AS Nomen
|DONDE
| Nomen.Code = NuestroNúmero.Valor"

El lenguaje de consulta 1C se describirá con más detalle en los siguientes materiales del libro de referencia de 1C.

Si tiene preguntas que deben tratarse con más detalle, pregunte en los comentarios.

Constantes 1C 8.3 Es un objeto de metadatos que almacena información que rara vez cambia.

Como regla general, las constantes almacenan información sobre la configuración del sistema. Por ejemplo: moneda contable regulada, cabecera del sistema, valores de, etc.

Analicemos las principales propiedades, configuraciones y características de la implementación técnica de constantes en 1C a nivel DBMS.

Propiedades y configuración de constantes en 1C.

El administrador de objetos tiene dos funciones principales en el código del programa:

  • Constantes.<Название константы>.Conseguir();— obtener el valor actual de la constante;
  • Constantes.<Название константы>.Instalar(<Значение>); — establecer un nuevo valor constante.

Obtenga 267 lecciones en video sobre 1C gratis:

Veamos las propiedades principales de la paleta de propiedades de un objeto de metadatos: constante:

  • Tipo— el tipo de constante no está limitado por nada.
  • Módulo de gestión de valor— un módulo constante que describe los siguientes controladores: ProcessingFillCheck, BeforeWrite, OnWrite.
  • Modo de control de bloqueo de datos— modo controlado o automático.
  • Usar comandos estándar— un indicador responsable de utilizar la visualización de comandos estándar en la interfaz de configuración. A menudo, esta bandera puede ser la respuesta a la pregunta: ¿Por qué no se muestra la constante en la interfaz?
  • Forma básica— un formulario de la lista que se establece como el principal para editar el valor de una constante.

Vídeo sobre la creación y el uso de constantes:

Características de la implementación de constantes a nivel DBMS y 1C.

Las funciones se pueden dividir en dos tipos según las versiones de la plataforma 1C:

  • antes del lanzamiento 8.2.14— todas las constantes del sistema se almacenaron en una tabla. Cambiar un registro bloquea toda la tabla. Debe tener mucho cuidado al utilizar este objeto de metadatos;
  • después del lanzamiento 8.2.14— para cada constante hicimos nuestra propia tabla. El paralelismo del trabajo ha aumentado.

Si estás empezando a aprender programación 1C, te recomendamos nuestro curso gratuito (no olvides

Las constantes se utilizan para almacenar un valor único en una base de datos. Normalmente, las constantes almacenan información que rara vez cambia, por ejemplo, el nombre de la organización, la dirección de la organización, el nombre del gerente, etc.

Para cada constante, debe especificar su nombre y tipo de datos.Acceder a constantes en un módulo de programa es muy sencillo:

1. Leer el valor de una constante

// lee el valor de la constante
Nombre = Constantes. nombre de la organización. Conseguir ();

Preste atención a la palabra Constantes (y no Constante, como estaba en la versión 7.7).

2. Escribe un nuevo valor constante.

Para escribir (establecer) un nuevo valor de una constante, use el método Set()

// escribe un nuevo valor constante
Constantes. nombre de la organización. Establecer("Cuernos y Pezuñas LLC");

3. Trabajar con un conjunto de constantes

A veces es posible que necesites leer o escribir los valores de varias constantes a la vez. Para tales situaciones, puede utilizar un conjunto de constantes. Cuando se utiliza un conjunto, todas las constantes incluidas en él se leen y escriben juntas en una transacción, es decir se realiza una operación sobre varias constantes simultáneamente.

//crea un conjunto de tres constantes

//tenga en cuenta que solo estamos creando un conjunto de constantes y aún no conocemos sus valores

Conjunto = Constantes. CreateSet("Administrador,Nombre de la organización,Dirección de la organización");

Dado que cuando trabajamos con un conjunto de constantes podemos cambiar (escribir) los valores de todas las constantes del conjunto al mismo tiempo, primero debemos establecer un nuevo valor para cada constante y luego usar el método Write() para grabarlos simultáneamente.

//establece el valor de las constantes en el conjunto (no en la base de datos)
Kit. Gerente = "Ivanov I.I.";
Establecer.Nombre de la organización= "Nuevos Cuernos y Pezuñas LLC";
Establecer organización de direcciones= "Rusia, Moscú, Kremlin";
Kit. Escribir(); //escribe los valores de tres constantes en la base de datos a la vez

4. Comparación con el valor de una constante en consultas

A veces es posible que necesitemos comparar datos con el valor de una constante en una consulta. En este ejemplo, seleccionamos registros del directorio Recordatorios cuyo valor del atributo Código es igual al valor de nuestra constante NuestroNúmero. Consideraremos el lenguaje de consulta 1C con más detalle en los siguientes materiales sobre el lenguaje 1C integrado.

"ELEGIR
| Nuestro valor N.,
| Recordatorios.Código,
|DESDE
| Constante.NuestroNúmero AS NuestroNúmero,
| Directorio.Recordatorios CÓMO hacer recordatorios
|DONDE
| Recordatorios.Código = NuestroNúmero.Valor"

Comentarios

    //ahora usando el método Get() podemos leer los valores de las constantes de nuestro conjunto

    Establecer.Leer(); //lee tres constantes de la base de datos a la vez

    Me pregunto si hay un error tipográfico aquí. Parece que estuviéramos hablando de un método.Conseguir().

Finalidad, creación, posibles tipos de valores.
- Posibles métodos para configurar y obtener los valores de constantes durante el funcionamiento del sistema.

Finalidad, creación, posibles tipos de valores.

Cita del libro "Configuración y administración" del paquete 1C:Enterprise:
En el sistema 1C:Enterprise, las constantes están destinadas a almacenar información permanente o semipermanente. Dicha información no cambia en absoluto durante el funcionamiento de la empresa o cambia muy raramente. El ejemplo más simple de este tipo de información es el nombre de la organización, que, por regla general, no cambia.

Esta interpretación del uso de constantes es bastante limitada. Sería más correcto interpretar las constantes de la siguiente manera:

"Las constantes son variables superglobales cuyos valores se guardan entre sesiones de trabajo con el sistema y son los mismos para todos los usuarios del sistema".

Las constantes se utilizan para crear configuraciones universales que se pueden adaptar fácilmente para su uso en múltiples organizaciones. Las constantes almacenan valores que se pueden utilizar en varias partes del sistema. Cita del libro “Configuración y Administración”:

La razón principal para usar constantes es que parte de la información se ingresa en ellas una vez, que luego se puede usar repetidamente al generar documentos, en cálculos y al crear formularios de informes. La información ingresada en la constante se puede editar de vez en cuando, pero esto no cambia la esencia de la constante: una vez ingresada en el sistema, el valor de la constante se usa muchas veces.

Una constante puede aceptar tipos de valores básicos:

cadena (la constante no puede ser del tipo “Cadena de longitud ilimitada”);
número;
fecha de;

Además, una constante puede tomar como valor objetos de objetos de metadatos que definen tipo:

directorio;
documento;
enumeración;
controlar;
"catálogo de cuentas";
"tipo de subconto";
“tipo de cálculo”;
"calendario".
Una constante también puede tener un tipo "indefinido". En este caso, el tipo de valor se determina mediante programación al establecer la constante.

Las constantes se definen en el "Configurador" en la ventana "Configuración" en la rama "Constantes".

Posibles métodos para configurar y obtener los valores de constantes durante el funcionamiento del sistema.
La forma estándar (estándar) de completar o ver constantes es utilizar la ventana "Lista de constantes", que se puede abrir a través del menú "Operaciones" - "Constantes" (el elemento del menú para llamar a la lista de constantes se puede redefinir al editar la interfaz de configuración).

Puede trabajar con constantes mediante programación de la siguiente manera. Obteniendo el valor de una constante:

Variable = Constante.NombreConstante;

Establecer el valor constante:

Constante.ConstantName = ConstantValue;