Construcción de sistemas de información distribuida, búsqueda, tareas rutinarias, opciones funcionales. Opciones funcionales y parámetros de las opciones funcionales 1c 8.3 Opciones funcionales del subsistema


Objeto 1c "Opciones funcionales" - diseñado para resaltar la funcionalidad en la solución de la aplicación que se puede habilitar (deshabilitar) durante la implementación sin cambiar (junto con los subsistemas, forman la interfaz de cliente ligero 1C). Forman parte del mecanismo de opciones funcionales.

Mecanismo de opciones de función incluye dos objetos de metadatos:

  1. opción funcional;
  2. Parámetros de opciones funcionales.

Más

opción de función es un objeto de metadatos que puede afectar directamente la composición de la interfaz de la aplicación (si la opción funcional almacena su valor en un atributo booleano). Con la ayuda de objetos de este tipo, puede ocultar elementos relacionados con la funcionalidad inaccesible. Por ejemplo, la opción de contabilidad Divisa puede ocultar Divisas, el campo Divisa de, la columna Importe de divisa de los informes.

La fuente del valor de la opción funcional es el objeto de metadatos seleccionado como la propiedad Almacenamiento, por ejemplo, puede ser.

En el caso de almacenar el valor de una opción funcional en un atributo o recurso de directorio, se requiere información adicional que indique exactamente cómo seleccionar el valor de la opción. Se proporciona un objeto de metadatos separado para este propósito: Función Opciones Parámetros.

Podemos decir que los parámetros de las opciones funcionales son los ejes de coordenadas del espacio de valores de las opciones funcionales. Además, un parámetro de opciones funcionales puede determinar el valor de "su" eje de coordenadas simultáneamente para una pluralidad de opciones funcionales.

[ocultar]

Las opciones funcionales pueden afectar:

  1. a la interfaz de usuario:
    • global ;
    • requisitos (incluyendo columnas de requisitos del formulario tales como Tabla de valores o árbol de valores);
    • comandos de formulario;
  2. sobre informes implementados mediante un sistema de composición de datos;
  3. a algoritmos escritos en el lenguaje integrado: es posible obtener los valores de las opciones funcionales del lenguaje integrado y usarlos en varias condiciones, por ejemplo, para reducir la cantidad de cálculos (ver, por ejemplo, ).

¡ATENCIÓN! Si la aplicación cliente funciona con la versión de archivo de la base de datos a través del servidor web, cambiar la opción funcional cambiará la interfaz de usuario solo después de reiniciar el servidor web (reiniciar la aplicación cliente no cambiará la interfaz de usuario).

Propiedades de las opciones funcionales 1C

  • Almacenamiento: un campo en el que debe seleccionar un objeto con el tipo booleano. Por regla general, se utilizan constantes.
  • al obtener: la bandera es responsable de la posibilidad de obtener el valor de la opción funcional en el modo privilegiado.
  • Composición: una lista de objetos y atributos de objetos, cuya visibilidad se activa / desactiva cuando la opción funcional se desactiva / desactiva (para controlar mediante un formulario administrado).

Por ejemplo, dependiendo de las condiciones de una implementación particular, puede habilitar la desactivación de la contabilidad de mercancías por almacenes para que al registrar documentos de entrada de mercancías, el campo Almacén no se muestre en el formulario del documento.

Características del uso de opciones funcionales 1C:

  1. Las opciones de función pueden tener valores de tipo arbitrario (no necesariamente booleanos).
  2. Al agregar una nueva constante para usar una opción funcional, asegúrese de incluirla en el subsistema apropiado y asignarle permisos.
  3. Trabajar con opciones funcionales está disponible desde el lenguaje incorporado, gracias al cual el desarrollador puede crear sus propios algoritmos para los valores de las opciones funcionales.
  4. El comando de la interfaz de comandos se excluirá de la interfaz de comandos si la opción de función está deshabilitada:
    • atributo, que es un parámetro de comando;
    • el tipo de parámetro de comando (si el tipo de parámetro de comando es compuesto, entonces el comando deja de estar disponible cuando todos los tipos de parámetros están deshabilitados).

¡ATENCIÓN! Las opciones funcionales y sus parámetros no afectan la composición de la base de datos: todas las tablas y campos están presentes en la base de datos, independientemente del estado de las opciones funcionales.

Influencia de las opciones funcionales en los detalles y comandos del formulario:

  1. tipo de formulario administrado<Вид>Un objeto ( DirectoryObject, DocumentObject, etc.) se deshabilitará si el objeto correspondiente está deshabilitado por la opción funcional. Solo se analizan aquellas opciones funcionales que no tienen parámetros.
  2. El atributo principal del formulario administrado de tipo Lista dinámica se deshabilitará si la opción funcional deshabilita el objeto de configuración que se especifica como la tabla principal de la lista dinámica. Solo se analizan aquellas opciones funcionales que no tienen parámetros.
  3. Un atributo de formulario de un tipo de referencia está deshabilitado si el objeto de configuración que forma ese tipo está deshabilitado por una opción funcional. El atributo de formulario de un tipo compuesto está deshabilitado si las opciones funcionales deshabilitan todos los tipos de componentes.
  4. La tabla de formulario se deshabilitará si muestra los datos de un atributo de formulario deshabilitado por una opción funcional.
  5. No hay tipos en el cuadro de diálogo de selección de tipos (por ejemplo, para campos de entrada asociados con atributos de un tipo compuesto) si los objetos de configuración que forman estos tipos están deshabilitados por una opción funcional. La información sobre los tipos deshabilitados por las opciones funcionales se almacena en caché en el lado del cliente y se borra después de 20 minutos o durante una llamada de método ActualizarInterfaz().

¡ATENCIÓN! A diferencia de la interfaz de comandos, los valores de los parámetros de las opciones funcionales se establecen solo para una instancia específica del formulario.

Creación de un parámetro de opciones funcionales

El parámetro de opción funcional se crea utilizando el objeto de configuración 1C "Parámetros de opciones funcionales".

[ocultar]

Esto se puede hacer en la ventana de configuración agregando un nuevo objeto.

Propiedades de parámetros de opciones de función:

  • Uso: establece un conjunto de objetos cuyos valores determinarán cómo se debe seleccionar el valor de la opción funcional. La lista de objetos disponibles incluye diccionarios y dimensiones del registro de información. Para cada parámetro de opciones funcionales en esta lista, puede seleccionar un directorio (de la lista completa de directorios) y una dimensión de cada registro de información.

¡ATENCIÓN! No puede usar el mismo objeto de metadatos en más de un parámetro de opción de función.

Casi todas las soluciones estándar basadas en la plataforma 1C:Enterprise 8.x utilizan el mecanismo de opciones funcionales. Le permite controlar la funcionalidad de configuración en bloques.

Entonces, por ejemplo, la opción "Usar órdenes internas" (vea la captura de pantalla a la derecha) le permite hacer que este documento esté disponible para que el usuario lo use en el modo "1C:Enterprise", y también incluye ramas separadas de los algoritmos asociados. con esta funcionalidad.

Hoy, en el artículo, veremos el funcionamiento de las opciones funcionales, su configuración y un pequeño ejemplo de su uso en una configuración de prueba. Empecemos por ver cómo funcionan.

Principio de funcionamiento

Como se mencionó anteriormente, la opción funcional le permite habilitar / deshabilitar la funcionalidad de configuración asociada a ella. Consideremos la secuencia de acciones para crear y configurar este objeto de configuración.

En la rama de configuración "General->Opciones Funcionales" podemos crear un nuevo objeto o ver las propiedades de opciones ya creadas. Vamos a crear la opción funcional "EnableImportance" en la configuración de prueba. Al principio, cuando el objeto aún no se ha configurado, la ventana de lista de sus propiedades se verá así:

Las propiedades "Nombre" y "Sinónimo" tienen un propósito estándar. De particular interés son las configuraciones de "Almacenamiento" y "Composición".

En el campo "Almacenamiento", se selecciona un objeto en la configuración, desde donde la opción funcional recibirá su valor. Por lo general, las constantes de tipo booleano se utilizan para este propósito. Por el valor de la constante, la plataforma determinará si incluye o no la funcionalidad relacionada.

Las opciones de configuración asociadas a una opción funcional se configuran en la pestaña Composición. La captura de pantalla anterior muestra una lista de selección de objetos incluidos en su composición.

Si un objeto de configuración está incluido en varias opciones funcionales, se utilizará en la solución aplicada si al menos uno de ellos está incluido.

La opción "Modo privilegiado al obtener" le permite deshabilitar la verificación de derechos de acceso al obtener el valor de la opción funcional, lo que afectará positivamente el rendimiento (se eliminarán las operaciones de verificación de acceso excesivas) y reducirá la complejidad del desarrollo posterior (no es necesario configurar derechos para el objeto que almacena el valor de la opción funcional).

ejemplo de uso

En nuestra configuración de prueba, vamos a crear una enumeración de "Importancia", así como una constante

"Habilitar Importancia". Los objetos creados se muestran en la siguiente captura de pantalla.

La constante está destinada a almacenar el valor de la opción funcional. La enumeración actuará como el valor del atributo de referencia en el documento de prueba, cuya disponibilidad estará determinada por la opción funcional.


El documento de prueba tendrá dos requisitos:
  • "Comentario" con el tipo "String".
  • "Importancia" con el tipo "EnumerationReference.Importance".

Agreguemos el atributo de documento "Importancia" a la opción funcional y luego consideremos el comportamiento de la plataforma en el modo de usuario.

Después de ejecutar el programa en 1C: modo Enterprise, abra un documento de prueba. No veremos el atributo "Importancia" en el formulario, porque aún no hemos habilitado la opción funcional.

Para habilitar el uso del atributo "Importancia", debe establecer el valor de la constante "EnableImportance" en TRUE. Entonces el formulario cambiará de la siguiente manera:

El funcionamiento de las opciones funcionales se extiende a casi todos los objetos de configuración, a excepción de algunos de la rama "General", que realizan principalmente funciones de servicio. Por ejemplo, no puedes incluir otras opciones funcionales en la composición de una opción funcional (y esto no tiene mucho sentido).

Echemos un vistazo a algunos aspectos interesantes de cómo funciona este objeto de configuración:

1. La configuración de opciones funcionales casi no tiene efecto en las consultas SQL generadas por la plataforma.

Por ejemplo, al abrir un documento con una opción funcional deshabilitada, la plataforma en cualquier caso recibe el valor de este atributo en la solicitud. La siguiente captura de pantalla muestra las consultas SQL generadas con la opción habilitada y deshabilitada.

2. El elemento de formulario "Importancia" en el formulario, independientemente del valor de la opción funcional, siempre tiene los valores de las propiedades "Visibilidad" y "Accesibilidad" iguales a TRUE.

De hecho, tanto al crear un formulario en el servidor como al abrir el formulario, así como durante el trabajo posterior con él, la plataforma no establece automáticamente las propiedades "Visibilidad" y "Accesibilidad" en FALSO. Probablemente 1C:Enterprise 8.x lo hace "entre bastidores".

3. Para obtener el valor de la opción funcional, la plataforma genera una consulta SQL al DBMS de acuerdo con el objeto de almacenamiento, es decir. a una constante. En uno de los artículos anteriores, ya hablamos sobre la creación de consultas SQL a constantes y cómo se almacenan en la base de datos.


En nuestro ejemplo, la plataforma genera la siguiente consulta SQL:

En cuanto al momento de recibir el valor de la opción funcional, la plataforma se guía por el siguiente principio : la primera recepción del valor de una opción funcional se produce al acceder al objeto/accesorio incluido en su composición. Luego, la plataforma usa el valor almacenado en caché hasta que se cambia el valor del objeto que almacena este valor (en nuestro ejemplo, las constantes EnableImportance) o se reinicia la sesión del usuario. El valor de una opción funcional se almacena en caché dentro de una sola sesión.


Todo lo anterior fue verificado experimentalmente. Todo lo que usé para los experimentos está en la configuración de prueba (enlace al final del artículo), con la excepción de .

Conclusión

Las opciones funcionales son una parte integral de casi cualquier solución de circulación basada en la plataforma 1C:Enterprise 8.x. Es gracias a este mecanismo que puede crear configuraciones con la construcción de bloques de funcionalidad, que se pueden habilitar / deshabilitar fácilmente al configurar el programa. Al mismo tiempo, las capacidades del mecanismo se pueden ampliar mediante el uso de parámetros de opciones funcionales, pero este es un tema para otro artículo.

Por experiencia con la plataforma, es muy raro utilizar opciones funcionales, ya que el cliente sabe exactamente lo que necesita. Y crear algún tipo de mecanismos universales por los que tendrá que pagar más, además del hecho de que se utilizarán, es muy raro al finalizar soluciones estándar o implementarlas en una empresa en particular.

Descargas:

Opciones funcionales y Parámetro de opción de función- estos son objetos de configuración 1C 8.3 (8.2), que juntos representan el mecanismo de opciones funcionales. El mecanismo de opciones funcionales es un funcional que le permite definir un conjunto de funcionalidades que los usuarios necesitan.

En pocas palabras, el mecanismo de opciones funcionales es un interruptor de encendido/apagado para varias funcionalidades en una configuración.

¿Por qué necesitaría deshabilitar la funcionalidad?

Obtenga lecciones en video de 267 1C gratis:

A menudo, la funcionalidad adicional puede complicar el trabajo de los empleados. Un ejemplo banal del uso de opciones funcionales en 1C es que la base de datos mantiene registros para una organización o almacén, ¿por qué obligar al usuario a completar estos datos en todos los documentos?

¿Qué controlan las opciones funcionales?

En primer lugar, el uso de opciones funcionales se refleja de manera más conveniente en la interfaz: detalles de formulario, formularios de comando, una interfaz común: todo esto se puede asociar con opciones funcionales. Según el valor de las opciones funcionales, puede limitar la salida de datos en un informe basado en .

Opciones funcionales son objetos de configuración comunes. Son parte del mecanismo de opciones funcionales y le permiten seleccionar la funcionalidad en la solución de la aplicación que se puede habilitar/deshabilitar durante la implementación sin cambiar la solución de la aplicación en sí.

Por ejemplo, dependiendo de las condiciones de una implementación específica, es necesario prever la desactivación de la contabilidad de mercancías por almacenes. Para que al registrar documentos para la recepción de mercancías, el campo Valores no se muestra en forma de documento.

Para ello se puede definir una opción funcional en la configuración Contabilidad de almacén, almacenada en una constante de tipo booleano.

Puede asociar varios objetos de configuración o sus atributos con esta opción funcional. Por ejemplo, puede asociar accesorios con esta opción funcional Valores documento Recepción de las mercancías.

Luego, durante la implementación, puede habilitar o deshabilitar esta opción funcional en una base de información específica en el modo 1C: Enterprise.

La plataforma activará y desactivará automáticamente la visualización de todos los elementos de interfaz relevantes (campos, comandos, columnas de lista, elementos de informe). En nuestro caso, el campo se ocultará o se mostrará Valores en todas las formas de documentos Entrada de mercancías.

30.03.2017

Opciones funcionales 1C 8.3 (Mecanismo, uso)

Para comenzar importante tenga en cuenta que el mecanismo de opciones de función NO restringe el acceso a los datos, pero solo controla la visibilidad (visualización) de los datos en el formulario. Para restringir el acceso a los objetos de la plataforma se utiliza el mecanismo de roles.
Por lo tanto, comenzamos nuestra consideración del mecanismo de las opciones funcionales con una descripción del problema. En nuestra miniconfiguración, hay un directorio "Almacenes". Suponga que todos los usuarios tienen acceso a este directorio.
¡Otra vez! El mecanismo de opciones funcionales controla la visualización de datos en el formulario y no restringe el acceso al objeto de metadatos (Directorio, documento, entradas de registro ...). Es necesario realizar la configuración "Usar múltiples almacenes" (Sí, sí... Está en UT 11.X, está hecho ahí para organizaciones). Si usamos varios almacenes, entonces el directorio del almacén está disponible en la interfaz, si no, entonces el comando que abre un almacén (asumimos que solo hay uno en este caso y no complicamos la tarea).

Objetos de metadatos de configuración

Para llevar a cabo esta tarea, necesitamos:
  • Dos opciones funcionales "UseMultipleWarehouses" y "Do NotUseMultipleWarehouses". El primero es responsable de la disponibilidad del directorio y el segundo de la disponibilidad del comando general para llamar al algoritmo para "abrir" el almacén.
  • Constantes del mismo nombre con el tipo "Booleano" para almacenar los valores de las opciones funcionales
  • Directorio "Almacenes"
  • Comando general "Abrir Almacén Principal". No olvide especificar un grupo de comandos para ello, de lo contrario no aplique la configuración (habrá un error)
Y agregue un subsistema donde incluimos todos los objetos existentes

Configuración de opciones funcionales

La primera opción es "Usar múltiples almacenes". El valor se almacena en la constante del mismo nombre, se incluye el directorio "Almacenes". Así, cuando el valor de la constante es "Verdadero" el directorio está disponible en la interfaz, cuando es falso, el directorio tampoco se mostrará en la interfaz (Contenidos de subsistemas, formularios de objetos, etc.)




La segunda función "Don't UseMultipleWarehouses" se configura cuando la primera "UseMultipleWarehouses" NO está configurada.
Aquellos. si no usamos múltiples almacenes (UseMultipleWarehouses = FALSE y la búsqueda de "Warehouses" no está disponible), entonces se muestra el comando "Open MainWarehouse", cuya disponibilidad se controla mediante la opción "Do not UseMultipleWarehouses" (Do notUseMultipleWarehouses = CIERTO)

Comprobación del comportamiento del sistema

Opción número 1. UseMultipleWarehouses = True, Do NotUseMultipleWarehouses = False. El directorio "Almacenes" está disponible en la interfaz


Opción número 2. UseMultipleWarehouses = False, Do NotUseMultipleWarehouses = True. El libro de referencia "Almacenes" NO está disponible en la interfaz, en su lugar está disponible el comando general "Abrir Almacén Principal"

Selección del editor
Es difícil encontrar alguna parte del pollo, a partir de la cual sería imposible hacer una sopa de pollo. Sopa de pechuga de pollo, sopa de pollo...

Para preparar tomates verdes rellenos para el invierno, debe tomar cebollas, zanahorias y especias. Opciones para preparar adobos de verduras ...

Los tomates y el ajo son la combinación más deliciosa. Para esta conservación, debe tomar pequeños tomates ciruela rojos densos ...

Los grissini son palitos de pan crujientes de Italia. Se hornean principalmente a partir de una base de levadura, espolvoreada con semillas o sal. Elegante...
El café Raf es una mezcla caliente de espresso, nata y azúcar de vainilla, batida con la salida de vapor de una máquina de espresso en una jarra. Su característica principal...
Los bocadillos fríos en la mesa festiva juegan un papel clave. Después de todo, no solo permiten a los invitados tener un refrigerio fácil, sino también maravillosamente...
¿Sueñas con aprender a cocinar deliciosamente e impresionar a los invitados y platos gourmet caseros? Para hacer esto, no es necesario en absoluto llevar a cabo en ...
¡Hola amigos! El tema de nuestro análisis de hoy es la mayonesa vegetariana. Muchos especialistas culinarios famosos creen que la salsa ...
La tarta de manzana es el pastel que a todas las niñas se les enseñó a cocinar en las clases de tecnología. Es la tarta con manzanas que siempre será muy...