Contactos

1c mando general de la forma habitual. Unificamos interfaces de ejecución de comandos. Control de visibilidad de objetos

La plataforma tecnológica "1C:Enterprise 8" se utiliza para automatizar la solución de una amplia gama de tareas de gestión y contabilidad en una variedad de empresas. Con un alcance tan amplio, naturalmente, puede haber situaciones en las que la funcionalidad de los comandos estándar no sea suficiente.
Para implementar funciones adicionales, se utiliza el lenguaje 1C:Enterprise integrado. Básicamente, esta funcionalidad se implementa en los controladores de eventos. Sin embargo, también existe la necesidad de proporcionar a los usuarios la capacidad de acceder de forma interactiva a algunas de las funciones implementadas desde la interfaz.


Para resolver estos problemas, 1C:Enterprise ofrece la posibilidad de crear un comando arbitrario. En una configuración, los comandos arbitrarios están representados por un nuevo objeto de configuración Equipo. El objeto de configuración El comando está diseñado para implementar funciones no estándar en la solución de la aplicación con la capacidad de usar mecanismos estándar para habilitar la funcionalidad implementada.
a la interfaz de comandos.
La plataforma tecnológica no limita la composición de comandos arbitrarios y las funciones que implementan. Todo está determinado por los requisitos para una solución de aplicación específica. Al crear un comando arbitrario, el desarrollador debe establecer sus propiedades, que determinan las reglas para incluir el comando en la interfaz, y escribir el código del programa que determina las acciones realizadas por el comando. Este comando arbitrario difiere del estándar. Para este último, tanto las propiedades como las acciones a realizar son definidas por la propia plataforma.
En una configuración, los comandos arbitrarios se pueden implementar como objetos independientes (comandos generales) o como subordinados a otros objetos.

Los comandos arbitrarios generales le permiten implementar una funcionalidad no estándar relacionada con la solución de la aplicación en su conjunto. En este caso, el comando personalizado se crea como un objeto de configuración independiente que pertenece a la clase Comandos generales.

Comandos generales arbitrarios

Por ejemplo, considere cómo hacer y configurar todas las propiedades del comando “Configurar escáner de código de barras”. Las empresas comerciales a menudo necesitan automatizar el proceso de registro de bienes para la venta. Para ello, se utilizan lectores de códigos de barras. Sin embargo, la plataforma tecnológica "no sabe" nada de estos dispositivos y no tiene los medios para trabajar con ellos. Por lo tanto, para trabajar con un escáner de código de barras, debe conectar un programa especial: un controlador. Para conectar dicho controlador, se implementa un comando general arbitrario Instalar escáner de código de barras. Al establecer ciertos valores para las propiedades de este comando, el desarrollador lo puso a disposición de los usuarios.

Comando general arbitrario "Configurar escáner"

Las funciones de trabajar con el escáner son comunes a toda la solución de la aplicación, es decir, no se refieren a ningún objeto de configuración específico, por lo que un comando arbitrario se implementa como general.
El comando realiza una acción: conecta un controlador a la solución de la aplicación para trabajar con un escáner de código de barras. Por lo tanto, se encuentra en la barra de acciones de la ventana principal de la aplicación.

Otra tarea común es obtener copias impresas de documentos electrónicos. La composición de los documentos, su estructura están determinados por la tarea aplicada automatizada. Naturalmente, es imposible proporcionar toda la variedad de documentos y opciones para sus formularios impresos en la plataforma. Para "enseñar" a un documento a "transferirse" al papel, puede usar un comando arbitrario.
En la base de datos de demostración para obtener el formulario impreso del documento ConsumoProducto equipo subordinado creado ImprimirFacturaFactura

Comando subordinado arbitrario "Imprimir factura"

Valores de propiedad de comando Grupo Y Tipo de parámetro de comando determinó la ubicación del comando en la interfaz de comando: el menú Imprimir del panel de comando del formulario del documento, y el procedimiento en el lenguaje incorporado aseguró la formación de un formulario imprimible de un documento específico, cuyo enlace se pasa en el parámetro de comando.
Otro uso bastante específico de los comandos arbitrarios es extender o redefinir la funcionalidad estándar de un comando estándar. Tales tareas surgen, por ejemplo, como resultado de un requisito para reducir el número de operaciones manuales o cambiar el comportamiento predeterminado de los objetos.
Por ejemplo, en nuestra base de datos, se implementa un objeto de procesamiento Servicio Administrativo. El comando para abrir el formulario principal debía colocarse en el panel de navegación y el formulario en sí debía abrirse en el espacio de trabajo de la ventana principal de la aplicación. Pero la funcionalidad estándar de este objeto difiere de la requerida: el comando para abrir el formulario se encuentra en la barra de acción y el formulario se abre en una nueva ventana auxiliar.
Para proporcionar la funcionalidad requerida, se eliminó la propiedad Procesamiento Use comandos estándar: los comandos estándar no nos convienen.

Deshabilitar el uso de comandos estándar

El acceso al procesamiento es proporcionado por un comando subordinado arbitrario Servicio Administrativo A que está configurado para estar en el grupo Normal de la barra de navegación de la ventana principal de la aplicación. Como resultado de seleccionar este comando, se muestra un formulario de procesamiento en el área de trabajo de la ventana principal.
Hay muchas tareas similares en soluciones aplicadas específicas, y los comandos arbitrarios son los más adecuados para su solución.

Comando subordinado arbitrario "Servicio administrativo"

Características del alojamiento
Una característica de los comandos arbitrarios, en comparación con los estándar, es la necesidad de describir su ubicación por defecto en la interfaz de comandos. El desarrollador establece la ubicación de un comando arbitrario al configurar la solución de la aplicación.

La ubicación predeterminada en la interfaz de comandos para comandos arbitrarios está determinada por:

  • categoría y grupo asignado al equipo
  • pertenencia del mando al subsistema de configuración (para mandos independientes) tipo del mando parámetro (para mandos parametrizables).

¡ATENCIÓN!
propiedad de comando Grupo debe ser llenado. De lo contrario, se producirá un error al actualizar la configuración de la base de datos y la actualización fallará.

Al elegir un grupo para un comando, debe prestar atención a la necesidad de pasar parámetros al comando y las acciones realizadas por el comando. Como criterio general, se puede proponer seguir las mismas reglas que se utilizan para los comandos estándar.

  • Si el comando para su ejecución no requiere parámetros, entonces seleccione un grupo con la categoría Barra de navegación o con la categoríaBarras de acción.
  • Si un comando para su ejecución requiere pasar un parámetro, entonces para ello debe seleccionar un grupo con la categoría Panel de navegación del formulario o con la categoría Panel de comando del formulario.
  • Para los comandos, cuya ejecución conduce a un cambio en la información que se muestra en el área de trabajo de la misma ventana, debe seleccionar la categoría Barra de navegación para equipos independientes o Barra de navegación del formulario para comandos parametrizables.
  • Para los comandos, cuya ejecución conduce a un cambio en los datos de la base de datos, seleccione la categoría Barra de acciones para equipos independientes o Barra de comandos de formulario para comandos parametrizables. También se recomienda seleccionar esta categoría para los comandos que conducirán a la apertura de una nueva ventana para mostrar formularios de selección, formularios de informe, formularios de procesamiento.

Para incluir un comando independiente común en una u otra sección de la interfaz de comando, debe indicar su pertenencia a los subsistemas correspondientes. Un comando se incluye en los subsistemas al marcarlo en la propiedad Subsistemas requeridos.

Un comando subordinado no puede incluirse directamente en un subsistema. Por lo tanto, los comandos independientes subordinados se incluyen automáticamente en la interfaz de comando de aquellos subsistemas en los que se incluye el objeto propietario del comando.
Pero los comandos arbitrarios parametrizables, tanto generales como subordinados, se incluyen en la interfaz de comandos de manera diferente. Esto se debe al hecho de que el comando puede obtener el valor real de su parámetro solo a partir de los datos del formulario. Es por eso que los comandos parametrizables solo se pueden colocar en la barra de navegación del formulario o en la barra de comandos del formulario. Además, este valor debe tener un tipo de dato que sea válido para el parámetro. La composición de los tipos de parámetros permitidos se establece en la propiedad Tipo de parámetro de comando

La composición de los tipos de parámetros permitidos para un comando parametrizado está determinada por su propiedad "Tipo de parámetro de comando"

Comparando la composición de los tipos especificados en la propiedad del comando con los tipos de atributos del formulario, el sistema toma una decisión sobre la inclusión del comando en una forma u otra.

Un comando personalizado parametrizable se incluye en el formulario solo si el formulario tiene al menos un atributo con un tipo que es parte de los válidos. Al verificar, también se tienen en cuenta los detalles que están subordinados al atributo principal del formulario. La composición de los detalles subordinados verificados se limita al primer nivel de subordinación.
Volvamos a resolver nuestro problema de separar la funcionalidad de trabajar con precios en un subsistema separado. Además de asignar precios, también necesitamos la capacidad de imprimir etiquetas de precios para productos. En este caso, se deben implementar dos modos:


  • impresión de etiquetas de precios para todos los productos para todos los tipos de precios existentes,
  • impresión de etiquetas de precios para todos los productos por un tipo de precio.

Los comandos de objetos de configuración estándar no pueden proporcionarnos estas capacidades. Por lo tanto, necesitamos implementar una funcionalidad adicional. Para hacer esto, usaremos comandos arbitrarios.

Equipo independiente en general
La funcionalidad de imprimir todas las etiquetas de precios a primera vista debería expandir las capacidades del directorio de Bienes. Sin embargo, este objeto de configuración describe un conjunto de objetos de datos de la base de información. Si implementamos el comando como un subordinado al directorio, "enseñaremos" a cada uno de los objetos de datos a imprimir etiquetas de precios para todos los productos. Y esto ya es redundante. El objeto de datos solo debe ser responsable de sí mismo. Por tanto, el mando será general.
Para agregar un comando general arbitrario, use el elemento Agregar del menú contextual del nodo Comandos generales del árbol de configuración.

Como resultado, se agregará un comando general y se abrirá la ventana de propiedades y la ventana de edición del módulo de comando.

Propiedades y módulo del comando arbitrario general

En el grupo Propiedades principales, establezca los valores de las propiedades del comando:


  • Nombre- "Impresión de listas de precios de mercancías";
  • Sinónimo- dejar el sinónimo generado automáticamente;
  • Un comentario No llenaremos.

El siguiente paso es seleccionar una categoría de equipo y un grupo para alojarlo de forma predeterminada. Nuestro comando para su ejecución no requiere parámetros, es independiente. El comando realiza acciones para procesar los datos almacenados en la base de datos para obtener un conjunto de etiquetas de precios y no cambia el contexto para resolver ninguna tarea. Por lo tanto, para el comando estableceremos la categoría Barra de acción. ¿En qué grupo aparecerá? Lo más lógico es ponerlo en un grupo. Servicio.
Por lo tanto, para la propiedad Grupo, abra una ventana con una lista de grupos y seleccione el elemento n Barra de acción.Servicio.

NOTA
Presta atención a las propiedades Tipo de parámetro de comando, Modo de uso de parámetros y y cambia datos– no están disponibles para el llenado. Las propiedades están destinadas a describir el comando parametrizado y solo están disponibles cuando se selecciona un grupo con las categorías Panel de navegación de formulario o Panel de comando de formulario.

Establecer la ubicación de un comando general arbitrario

El equipo que hemos creado es independiente. Por lo tanto, es necesario determinar en qué secciones de la interfaz de comando estará disponible. El comando debe estar disponible en las mismas secciones donde puede realizar acciones de gestión de precios.
En nuestro caso, el equipo creado debe pertenecer a tres subsistemas: Precios, Precios, Empresa. Por lo tanto, necesitamos editar la propiedad Composición de los tres subsistemas.
Para reducir la cantidad de acciones realizadas, seleccione el elemento Avanzado en el menú contextual del comando creado. Como resultado, se abrirá una ventana en la que, en la pestaña Subsistemas, puede especificar todos los subsistemas a los que pertenece el comando.

Inclusión de un comando general arbitrario en subsistemas

Nuestro comando está disponible para los usuarios con el rol de administrador configurando la propiedad de rol Establecer permisos para nuevos objetos. También estamos obligados a ponerlo a disposición para el rol de Price Manager.
Al igual que con otros objetos de configuración, la accesibilidad se puede configurar para un comando compartido en la ventana de edición de roles.
O puede, en la ventana ya abierta Avanzado en la pestaña Derechos. En la lista Roles, seleccione el rol personalizado y en la lista Rights, establezca el derecho Ver para el comando creado

Configuración de la disponibilidad del equipo para el rol de administrador de precios

La configuración de la visibilidad de un comando por roles para un comando independiente arbitrario se realiza de la misma manera que la configuración de los comandos estándar: en el editor de interfaz de comandos.
Nuestro comando predeterminado debería ser visible para el usuario con la función de administrador de precios y debería estar oculto para el usuario con la función de administrador. Para ello, en el editor de interfaz de comandos del subsistema Pricing, desmarque la bandera de visibilidad general en la columnaVisibilidad. Esto nos proporcionará la invisibilidad del equipo para todos los roles, incluidos los de nueva creación. Y para el rol de Price Manager, marque explícitamente la casilla en la columna correspondiente.
Guardemos la configuración, ejecutemos la aplicación como usuario de Price Manager y seleccionemos la sección Price Management.

Configuración de la visibilidad de un comando general arbitrario

En la interfaz de comandos, el comando Imprimir etiquetas de productos está disponible en la sección Gestión de precios (especificando la membresía en el subsistema de Precios). El comando se coloca en el grupo Servicio de la barra de acciones (especificando el valor apropiado de la propiedad Grupo).

Entonces, para un comando independiente común arbitrario:

  • la ubicación en la interfaz de comandos de forma predeterminada está determinada por el valor de la propiedad Grupo;
  • la inclusión en la sección de interfaz de comando está determinada por la pertenencia al subsistema correspondiente;
  • la accesibilidad para el usuario está determinada por el valor del derecho Ver.

Hemos creado un equipo. Pero, ¿cómo decirle al usuario qué acciones realiza un comando arbitrario? La respuesta es obvia: describa el propósito del comando en la documentación de la solución aplicada. Además, el propósito del comando se puede describir en la ayuda en línea integrada. Para trabajar con información de referencia se pretende utilizar las propiedades del comando general del grupo Información de referencia (Fig.

Información de referencia sobre un comando general arbitrario

Sin embargo, buscar una descripción de un comando en la documentación o la ayuda en línea es un proceso largo. Puede ayudar al usuario a recordar rápidamente el propósito de un comando eligiendo una vista de voz para él. Un comando general arbitrario en la interfaz de comandos está representado por su propiedad Sinónimo. Ahora el comando está representado por texto. "Impresión de etiquetas de precios para productos", y esta representación es bastante informativa. Pero en el futuro agregaremos otro comando para imprimir etiquetas de precio a la solución aplicada, por tipo de precio. Por lo tanto, vale la pena pensar en tal representación del comando, que le dirá al usuario qué opción se realizará para imprimir etiquetas de precios. digamos que lo hará "Imprimir todas las etiquetas de precios".
Otra forma de recordar al usuario el propósito de un comando es usar la propiedad Tooltip. El texto especificado en esta propiedad se muestra en la información sobre herramientas cuando el puntero del mouse está sobre el comando. Para la propiedad Sugerencia, establezca el texto "Impresión de etiquetas de precios para todos los productos para todo tipo de precios". Como resultado de cambiar los valores de las propiedades Synonym y Prompt, la representación del comando
en la interfaz de comandos ha cambiado.

Vista de comandos modificada, información sobre herramientas, ayuda

En este punto, hemos creado un equipo, configurado su ubicación, accesibilidad y presentación. Nos queda implementar la funcionalidad del equipo, es decir, las acciones que debe realizar el equipo. Para determinar las acciones a realizar, el desarrollador necesita implementar el procedimiento en un lenguaje 1C:Enterprise. El procedimiento debe colocarse en un módulo de comando al que se puede acceder a través del hipervínculo Abrir propiedadesMódulo de mando.

¡Atención! Aquí hay una versión de prueba de la lección, cuyos materiales pueden no estar completos.

Iniciar sesión como estudiante

Regístrese como estudiante para acceder al contenido de la escuela

Crear configuraciones 1C: agregar un comando

Continuamos estudiando los conceptos básicos de la creación de configuraciones en 1C.

Volvamos al configurador y abramos el árbol de configuración:

donde esta el formulario de tramitacion

Abramos la ventana de configuración de procesamiento "Eliminar empleados despedidos":

Se ha abierto una ventana con marcadores que repiten en muchos aspectos los marcadores del directorio "Empleados". Esto es completamente normal, porque la configuración de los objetos en el configurador es muy similar entre sí.

Esta vez estamos interesados ​​​​en la pestaña "Formularios"; ábrala:

Encuentre en esta pestaña un objeto llamado "Formulario": esta es nuestra representación visual del procesamiento:

Lo abrimos con un doble clic:

Se abre una ventana con muchos paneles. Y ahora es muy importante para nosotros para futuras lecciones averiguar qué es responsable de qué aquí.

Cambiamos el código en el lenguaje incorporado 1C para el formulario

Bueno, antes que nada, prestemos atención a la parte inferior de la ventana que se abre. Allí encontraremos dos pestañas "Formulario" y "Módulo".

La pestaña "Formulario" es la representación visual. Ahora en el formulario solo hay un botón "Eliminar empleados".

La pestaña "Módulo" es un código en el lenguaje 1C incorporado, que contiene procedimientos y funciones que determinan el comportamiento del formulario para el usuario.

Intentemos cambiar a la pestaña "Módulo":

Solo hay un procedimiento llamado "RemoveEmployees". Obviamente es ella la que se llama cuando se presiona el botón.

El código del procedimiento ahora está colapsado: haga clic en el signo más para expandirlo (no encajaba en la figura de la derecha):

Exacto, lo es. Aquí está el lugar donde se muestra un mensaje que indica que no escribí el código para este procesamiento

Vamos a cambiar este código de la siguiente manera:

Iniciemos de nuevo el modo 1C:Enterprise (menú "Depurar"->"Iniciar depuración"), abramos el procesamiento y presionemos el botón "Eliminar empleados":

Y recibimos el mismo mensaje que acabamos de escribir:

La pestaña "Elementos" del formulario

Volvamos al configurador a nuestro formulario en la pestaña "Formulario":

Observe la pestaña "Elementos" en la parte superior del formulario. El contenido de esta pestaña duplica la representación visual del formulario. Está leyendo una versión de prueba de la lección, se encuentran las lecciones completas. También podemos decir que todo lo que ves en la parte visual del formulario lo puedes encontrar en la pestaña "Elementos".

Por ejemplo, para abrir las propiedades del botón "Eliminar empleados" en el formulario, busque este botón en la pestaña "Elementos" y haga doble clic en él:

Se abrirá una ventana con las propiedades del botón:

Establezcamos el título del botón en "BOOM":

El formulario ahora se verá así:

La pestaña "Detalles" del formulario

Ahora pasemos a la pestaña "Detalles":

Esta pestaña contiene nombres por los cuales podemos "llegar" a los datos del objeto que representa el formulario. Está leyendo una versión de prueba de la lección, se encuentran las lecciones completas. Hasta ahora, esta pestaña tiene solo un atributo "Objeto" y está vacío.

Pero si cambiamos a una pestaña similar en forma de directorio "Empleados", encontraríamos aquí los detalles "Fecha de nacimiento", "Número de pasaporte" y "Serie de pasaporte". Esto significaría que podemos usarlos en el código del módulo de formulario.

La pestaña "Comandos" del formulario

La pestaña final que veremos hoy es la pestaña "Equipos":

En general, todos los comandos que ve en una de las pestañas ("Comandos de formulario", "Comandos estándar" y "Comandos globales") se pueden arrastrar de forma segura a la pestaña "Elementos" y "mágicamente" se convertirán en botones en la forma.

Como comprenderá, presionar estos botones conducirá a la ejecución de estos comandos.

Bueno, por ejemplo, vayamos a la pestaña "Comandos estándar" y arrastre el comando "Cerrar" a la pestaña "Elementos":

El formulario tiene un botón de cerrar. Comencemos 1C:Enterprise (menú "Depurar"->"Iniciar depuración"), abra el procesamiento y asegúrese de que el botón funcione:


Volvamos al configurador al formulario de procesamiento y vayamos a la pestaña "Comandos de formulario":

En esta pestaña, vemos los comandos de formulario que hemos definido nosotros mismos. Incluso podemos ver aquí el comando que definí al principio con el nombre "RemoveEmployees".

Abra las propiedades de este comando (doble clic) .

Nos interesa principalmente el campo "Acción", haga clic en el botón con una lupa al lado:

Fuimos transferidos al procedimiento "DeleteEmployees" en el módulo de formulario. Esto significa que este comando y este procedimiento están relacionados. Y la ejecución del comando (por ejemplo, cuando hace clic en el botón en el que se convirtió) conducirá a la ejecución del código del procedimiento.

Agregar un nuevo comando de formulario

Vamos a crear otro comando de formulario. Para hacer esto, regrese a la pestaña "Comandos de formulario" y presione el botón verde con un signo más:

Abra sus propiedades y establezca el nombre en "Hola" y luego haga clic en la lupa junto al campo "Acción":

Se nos pregunta qué tipo de controlador queremos crear.

En general, hay dos tipos de controladores: los que se ejecutan en el cliente y los que se ejecutan en el servidor. En nuestro caso, el cliente y el servidor son la misma computadora, pero no necesariamente siempre es así. Volveremos a esta conversación en los siguientes módulos, pero por ahora es demasiado pronto para pensar en ello.

Seleccione la opción "En el cliente" y haga clic en "Aceptar":

Fuimos transferidos al módulo de formulario en el procedimiento creado automáticamente "Hola". Este procedimiento ahora está vinculado al comando de formulario "Hola":

Escribamos la salida de la cadena hola al usuario en ella:

Pero, ¿cómo podemos ahora forzar la ejecución del comando (y por lo tanto del procedimiento) "Hola"? Para hacer esto, regrese a la pestaña "Comandos de formulario" y arrastre nuestro "Hola" al formulario, como hicimos anteriormente con el comando "Cerrar":

Hay otro botón en el formulario. Ejecute 1C:Enterprise, abra el procesamiento y haga clic en el botón "Hola". Debería resultar así:

Ingresamos un nombre del usuario y le decimos hola

Y ahora vamos a proponernos esa tarea. Necesitamos que el usuario ingrese su nombre, hacemos clic en el botón y se mostrará, por ejemplo, "Hola, Alexey".

Para que podamos colocar elementos para la entrada de datos en el formulario, necesitamos un atributo de formulario (la pestaña "Detalles") con el que se asociará este elemento.
Dado que la pestaña "Requisitos" está prácticamente vacía, creemos un nuevo accesorio.

Vaya a la pestaña "Requisitos" y presione el botón verde más:

En la ventana de propiedades de este atributo, establezca el nombre "Nombre" y el tipo "Cadena":

Después de eso, arrastre el atributo "Nombre" a la pestaña "Elementos" de la forma habitual:

¡Ajá, en el formulario había un elemento para la entrada de una línea! lo que necesitábamos

Iniciemos 1C:Enterprise, abramos el procesamiento e intentemos ingresar nuestro nombre allí:

Todo salió bien, pero hacer clic en el botón "Hola" sigue funcionando como antes.

Ahora arreglaremos todo. Está leyendo una versión de prueba de la lección, se encuentran las lecciones completas. Para hacer esto, regresemos al configurador, vayamos al módulo de formulario de procesamiento y busquemos el procedimiento "Hola" allí:

Reescribámoslo de tal manera que el valor del atributo "Nombre", que está asociado con el elemento de entrada en el formulario, se agregue a la línea "Hola":

Ahora comencemos el procesamiento 1C:Enterprise nuevamente, ingrese nuestro nombre y presione el botón "Hola":

¡Que necesitas!

Comandos, elementos, accesorios, objeto... ¿ya estás confundido?

Creo que estás confundido Me apresuro a asegurarte que no debes preocuparte por esto. Con el tiempo, la situación se aclarará.

Mientras tanto, intentaré describirles en palabras más simples estas partes constituyentes de cualquier forma. Y después de eso, puede volver a leer la lección nuevamente; estoy seguro de que muchas cosas quedarán más claras.

Entonces, un formulario es una representación visual de nuestro programa: botones, inscripciones, imágenes, listas... ¡sí, muchas cosas! Todo esto ELEMENTOS formularios

Botón - elemento. La inscripción es un elemento. El campo de entrada también es un elemento.

Es decir, un elemento de forma es principalmente una parte de su representación visual. Esto significa que un elemento tiene características tales como color, fuente, posición en el formulario, tamaño y muchas otras.

Los elementos nos permiten interactuar con el formulario de alguna manera: leer, hacer clic, desplazarse, etc.

Por ejemplo.

Botón

Obviamente, el botón no puede estar solo. Cuando el usuario hace clic en él, debe tener lugar alguna acción, concebida por el programador.

Esta acción se llama equipo

Hay comandos incorporados (las pestañas "Comandos estándar" y "Comandos globales") y los que el programador crea por sí mismo (la pestaña "Comandos de formulario").

Bueno, comandos integrados: están integrados para eso. Que su acción ya ha sido inventada antes que nosotros. Solo podemos arrastrar estos comandos al formulario y convertirlos en botones. Dichos comandos incluyen, por ejemplo, el comando para cerrar el formulario. No necesitamos programar nada, simplemente arrastre el comando estándar "Cerrar" al formulario y listo.

Y el comando de formulario es un comando inventado por nosotros mismos. Este es el comando que nosotros mismos agregamos a la pestaña "Comandos de formulario", luego encontramos el elemento "Acción" en sus propiedades, hicimos clic en él y programamos el código en el lenguaje incorporado en el controlador creado automáticamente en el módulo de formulario ( por ejemplo, el comando "Hola" de esta lección).

Bueno, en general, entiende: un comando es una acción programada en el lenguaje 1C (o ya integrada en el programa). Un botón es un elemento de forma visual que, cuando se presiona, inicia un comando asociado a él.

Inscripción

Es solo texto en el formulario. Dicho elemento tiene una propiedad "Título", cuyo valor establecemos en el editor y se muestra como texto.

Campo

Pero esto ya es interesante. Porque este es un elemento tan especial que no es en sí mismo (como una inscripción), sino que necesariamente debe estar asociado a algún dato o de otra forma. DETALLES(pestaña "Requisitos").

Puede decirse que props es una variable formulario, que declaramos en la pestaña "Atributos", y el elemento asociado al atributo ("Campo") es su representación en el formulario. Pero los accesorios en sí solo tienen Nombre, tipo Y significado.

Bueno, imagina que tenemos un campo en el formulario para ingresar un número. Si no hubiera detalles, ¿cómo sabríamos a partir del código qué número ingresó el usuario? Nos referiríamos al elemento de entrada por su nombre y leeríamos algunas de sus propiedades, que son responsables del valor ingresado por el usuario.

Y así en 1C por lo que es imposible. Aquí (a partir de los formularios "gestionados") la presentación de los datos se separa de los datos en sí.

Resulta que el elemento de entrada es un elemento de formulario. Y el número que ingresa el usuario no se almacena en el elemento en sí, sino en el atributo asociado con este elemento.

De nuevo. El requisito es exactamente los datos (cadena, número, fecha). No es una representación visual (una inscripción con texto, un campo para ingresar un número, un campo para ingresar una fecha). La representación visual del atributo es solo el elemento de formulario "Campo".

Y resulta que al escribir código en el lenguaje 1C, para mostrar y cambiar datos, primero debemos usar detalles. Cambiamos los detalles del código, y los campos asociados a ellos en el formulario cambian automáticamente.

Y viceversa. El usuario ingresa valores en los elementos de entrada (números, texto, fechas) en el formulario, y los valores de los detalles también cambian automáticamente.

¿Cuáles son los beneficios de separar los elementos del formulario de los datos (requisitos)? ¡Grande! El programador crea los detalles que necesita (para almacenar, mostrar e ingresar algunos campos en el formulario) y escribe el código del programa trabajando solo con estos detalles (datos). No piensa en absoluto cómo se verá todo esto en el formulario. ¡Él no lo necesita! Por ahora, solo escribe código.

Y luego arrastra estos detalles al formulario, los detalles se convierten en elementos visuales del formulario, de alguna manera los configura, los mete en marcadores, y así sucesivamente. En general, en esta etapa (diseño visual de la forma), trabaja solo con elementos. Al mismo tiempo, la probabilidad de romper el código ya escrito se reduce muchas veces.

Otro ejemplo. Digamos que tenemos el atributo "Edad" con el tipo "Número". Este atributo almacena solo el número en sí, nada más. No es responsable de cómo se verá este número y en qué lugar (o en qué pestaña) se ubicará el elemento de entrada en el formulario asociado con este número. ¡Un accesorio es solo un número! En cuanto a los accesorios, no podremos cambiar el tamaño del elemento de entrada en la forma, el color, la visibilidad ... ¡No son los accesorios los responsables de todo esto, sino el elemento! Al cambiar los accesorios, solo estamos cambiando el número que se muestra en el elemento de entrada en el formulario.

Considerándolo todo: PROPS es una variable de forma. Por lo tanto, almacenamos todos los datos en los detalles (variables), y para su salida al formulario (o entrada desde el formulario) usamos elementos. Es esta separación de la lógica de la presentación lo que permite que 1C muestre fácilmente los mismos formularios en diferentes clientes: "grueso", "fino", "navegador web".

Para referirse al atributo "Edad" del módulo de formulario, basta con usar inmediatamente su nombre:

¿Qué es un objeto?

Y finalmente, el objeto. A juzgar por el hecho de que está en la pestaña "Requisitos", esto también es un accesorio. Así es. Pero él es especial.

No creamos este atributo; aparece solo en la pestaña "Detalles". En el caso de procesamiento, está vacío, pero si estuviéramos programando el formulario de algún directorio, entonces el objeto de atributo solo representaría los campos de este directorio desde la base.

Aparecería un signo más junto a él y podríamos abrirlo y arrastrar sus partes individuales al formulario y también se convertirían en elementos.

Tomar el examen

Iniciar prueba

1. El formulario de procesamiento puede contener

2. El formulario de tramitación está en la pestaña

En el formulario 1C, generalmente hay varios campos para ingresar datos, así como botones de control de formulario y varias acciones de servicio. Por ejemplo, para llenado automático o validación.

Para colocar un botón en el formulario, anteriormente, en la versión 8.1, era necesario:

  • Arrastra el botón al panel
  • Añadir función - Botones
  • En esta función, escriba el código en lenguaje 1C, que realizará las acciones requeridas.

Para que el usuario las ejecute para su ejecución, estas acciones tienen una representación visual en el formulario. Lo que será depende del grupo de elementos de formulario al que arrastre el comando.

Por ejemplo, si simplemente lo arrastra a un formulario, habrá un botón, si está en un grupo del panel de comandos, entonces el botón del panel de comandos (plano), o puede arrastrarlo a un menú, entonces será un opción del menú.

El comando se puede usar tanto en forma regular como en una interfaz 1C administrada (comando).

Comandos estándar 1C

Pero también conocemos acciones que no necesitan ser programadas en el lenguaje 1C, ya que ya están disponibles en la plataforma 1C. Por ejemplo, para los directorios, las acciones estándar son la capacidad de crear un elemento. Para la forma del directorio, la capacidad de registrar, y para el documento, para contener. ¿Eso también es acción?

Sí, y ahora se llaman comandos 1C estándar. Los libros de referencia, documentos, formularios y otros tienen sus propios comandos 1C estándar.

Los comandos 1C estándar se pueden deshabilitar para uno específico marcando la casilla de verificación "Usar comandos 1C estándar" en 1C en la pestaña "Comandos 1C".

Propietario del equipo 1C

Los comandos 1C están en una rama anidada de su propietario. Por ejemplo, Directorios/Contratistas/Equipos 1C.

También existen comandos 1C que no tienen dueño, ya que son compartidos. Dichos comandos 1C no están vinculados a objetos y se encuentran en la rama de comandos General / General 1C.

Parámetros de comando 1C

En las configuraciones en directorios y documentos, había un menú “Ir” con el que mágicamente podías ir a objetos 1C relacionados.

Por ejemplo, para el directorio Contrapartes, la dirección física y legal se almacena en el registro asociado Información de contacto. Para ir a él, era necesario seleccionar el menú en el formulario de la (s) contraparte (s) - Ir / Información de contacto.

Es decir, para algunas acciones, no solo se requiere el hecho de iniciar la acción, sino también un parámetro que determina para qué objeto se deben realizar estas acciones, por ejemplo, para qué cuenta mostrar información de contacto.

En las propiedades del comando 1C, es posible especificar:

  • Tipo de parámetro de comando 1C: el tipo de objeto 1C que se utilizará como parámetro, por ejemplo, el directorio Contrapartes
  • Modo de uso de parámetros: necesita un valor o una lista (matriz).

Para colocar un comando en el formulario, puede especificar en las propiedades del comando 1C el grupo de interfaz de comando donde debe ubicarse.

O simplemente arrastre el comando a la lista de elementos de formulario.

Equipo es un objeto de configuración con el que el desarrollador puede describir las acciones a realizar por el usuario.

Hay comandos generales: comandos que no son específicos de un objeto o sirven para realizar acciones en objetos que no usan comandos estándar.

También pueden existir comandos para objetos de configuración individuales. Sirven para realizar operaciones relacionadas con este objeto en particular.

Los comandos se pueden parametrizar, es decir, pueden utilizar algún valor pasado por la plataforma en su algoritmo. El tipo de este valor se establece en el configurador, y dicho comando parametrizado se muestra solo en aquellos formularios que tienen atributos del mismo tipo que el parámetro del comando.

Las acciones realizadas por un comando se describen en 1C:Lenguaje empresarial en el módulo de comando.

Enlaces útiles:

  • objetos de configuración,
  • Herramientas de desarrollo.

Dominio

Equipo es una acción que el usuario puede realizar en el programa. Todos los comandos se pueden clasificar de varias formas.

Comandos estándar y comandos creados por el desarrollador

En relación a cómo apareció el comando en la configuración, todos los comandos se pueden dividir en:

  • estándar,
  • Creado por un desarrollador.

Los comandos estándar son proporcionados automáticamente por la plataforma. Los objetos de configuración pueden proporcionar comandos estándar, así como extensiones de formulario y extensiones de elementos. Mesa ubicado en el formulario. Leer más...

Por ejemplo, una guía contrapartes puede proporcionar comandos contrapartes, Contratista: crear Y Cuentas: crear un grupo.

El desarrollador puede crear comandos arbitrarios en la configuración por sí mismo. Puede agregar un objeto Comando a una rama. Son comunes, agregue un objeto Comando a un objeto de configuración específico o describa un comando como un procedimiento en un lenguaje 1C:Enterprise en una forma específica. Leer más...

Por ejemplo, se pueden agregar comandos generales Instalar escáner de código de barras, Configurar el escáner de código de barras y otros.

Comandos de navegación y comandos de acción

En relación a cuál es el resultado de ejecutar un comando, todos los comandos se pueden dividir en:

  • comandos de navegación,
  • Comandos de acción.

Los comandos de navegación abren formularios en la ventana actual. Por regla general, de esta manera se realiza una transición a algunas listas. Leer más...

Por ejemplo, el comando de navegación Almacenes abrirá la lista de almacenes en la ventana principal.

Como resultado de ejecutar el comando de acción, se abre una ventana auxiliar. Por regla general, de esta manera se realiza una transición a la forma del objeto oa la forma del informe/procesamiento. Leer más...

Por ejemplo, el comando de acción Existencias abrirá una ventana auxiliar para editar los datos del nuevo almacén.

Comandos independientes y parametrizables

En relación a su estructura interna, todos los comandos se pueden dividir en:

  • independiente,
  • parametrizable

No se requiere información adicional para ejecutar comandos independientes. Leer más...

Por ejemplo, un equipo independiente contrapartes no requiere ninguna información adicional para su implementación. Simplemente abre una lista de todas las contrapartes.

Para ejecutar comandos parametrizables, se requiere información adicional: el valor del parámetro del comando. Leer más...

Por ejemplo, el comando parametrizado Cuentas de liquidación (Objeto.Proveedor) abre una lista de cuentas corrientes de una contraparte específica. Por lo tanto, para su implementación, es necesario conocer las cuentas de liquidación de qué contraparte necesita abrir. Es decir, la contraparte es un parámetro de este comando.

Comandos globales y comandos de formulario local

En relación con los comandos de alguna forma, todos los comandos se pueden dividir en.

CAPÍTULO 4

Comandos y Operaciones en Objetos

  • Comandos y operaciones básicas
  • Selección de objetos
  • Selección de objetos con ejecución de comandos
  • Selección de subobjetos
  • Control de visibilidad de objetos
  • Clonar objetos
  • Combinar objetos en grupos
  • Transformaciones de objetos

2. Comandos y operaciones básicas

Comandos y operaciones básicas

Los principales comandos y operaciones sobre objetos en el entorno Max se pueden definir mediante los siguientes grupos:

  • Selección de objetos;
  • Selección de objetos con ejecución de comandos;
  • Selección de subobjetos;
  • Gestionar la visibilidad de los objetos; Clonación de objetos;
  • Combinar objetos en grupos.
  • Transformaciones de objetos
  • Consideremos cada uno de ellos con más detalle.

3. Selección de objetos

Selección de objetos

Existen varias técnicas superpuestas para realizar y gestionar operaciones de selección de objetos. Además del más tradicional de ellos: haga clic con el botón izquierdo del mouse en el objeto seleccionado, este procedimiento se puede realizar a través de un grupo de elementos Seleccionar del menú desplegable Editar(Figura 4.01).

La siguiente es una lista de estos elementos con una breve descripción de sus funciones:

  • Seleccionar todo- le permite seleccionar todos los objetos no ocultos y "descongelados" (el significado de estos términos se describirá a continuación).
  • Seleccionar ninguno- anula la selección de todos los objetos en la escena.
  • Seleccionar Invertir (Seleccionar Todo No Seleccionado)- selecciona inversamente todos los objetos no seleccionados.

FIGURA 4.01. Elementos de selección de objetos

  • Seleccionar por color- crear una selección basada en el color especificado del objeto
  • Seleccionar por nombre- seleccione uno o más objetos por nombre de la lista general a través del cuadro de diálogo (Fig. 4.02).


FIGURA 4.02. Selección de objetos por nombre de la lista

  • Región (Área de Selección)- tiene dos interruptores que configuran el modo de selección de objetos:
  • Ventana (intervalo)- V el conjunto incluye objetos que encajan completamente en el área de selección;
  • Cruce- los objetos se seleccionan incluso si solo están en contacto con el área de selección.

Asimismo, la operación de selección de objetos se puede realizar mediante el grupo de botones de la (Fig. 4.03):

FIGURA 4.03. Grupo de botones de selección de objetos en la barra de herramientas principal

  • Seleccionar objeto- un botón modal que activa el modo de selección de objetos con el clic izquierdo del ratón. Con cada clic izquierdo, la selección anterior se restablece y solo se selecciona uno, el último de los objetos. Para agregar un nuevo objeto al conjunto sin reiniciar, el clic izquierdo se realiza con la tecla presionada , para excluir el objeto seleccionado del conjunto - haga clic junto con la tecla .
  • Región de selección (Región de selección de formulario)- una lista de botones para cambiar la forma del área de selección de objetos. Se puede configurar como Rectangular (Rectangular), Circular (Redondo) o Valla (polilínea).

Para seleccionar el formulario deseado, haga clic en este botón (hasta que aparezca la lista completa) y, manteniendo presionado el botón izquierdo del mouse, mueva el cursor sobre la lista, soltándolo en el botón correspondiente.

Seleccionar por nombre nombre) - un botón que llama al cuadro de diálogo mencionado anteriormente Seleccionar objetos(Figura 4.02). Echemos un vistazo a su configuración.

El campo de información principal contiene una lista de objetos de escena, y el orden de clasificación y el método de visualización dependen de los grupos de configuración Ordenar (Ordenar) y Listar Tipos (Lista de Tipos).

El primero de ellos le permite especificar cómo se ordenan los nombres de los objetos de escena por Alfabético (Alphabet), Por Tipo (Type), Color (Color) y Tamaño (Size).

Banderas de grupo Tipos de lista controle la regla sobre qué categorías de objetos Max se mostrarán en la lista general y cuáles se ocultarán. Botones Todo (Todo), Ninguno (Nada) e Invertir (Invertir) necesarios para gestionar rápidamente todo el conjunto de casillas de verificación del grupo.

Una lista adicional de casillas de verificación en la parte inferior izquierda de la ventana controla las siguientes opciones:

  • Mostrar subárbol- habilitar la visualización de objetos con enlaces jerárquicos o grupos abiertos (los grupos se tratarán más adelante).
  • Seleccionar subárbol- habilitar la selección de dichos objetos.
  • Sensible a mayúsculas y minúsculas (mayúsculas y minúsculas)- influencia de mayúsculas y minúsculas al escribir el nombre en el campo de texto superior.
  • Seleccionar dependientes- la selección de un objeto provocará la selección simultánea de todos sus Instancias (Instances) y Referencias (Links).

Botones AI (Todo), Ninguno (Nada) e Invertir (Invertir) encima de esta lista permite un control rápido del resaltado de nombres de objetos. y por ultimo la lista Conjunto de selección (conjuntos con nombre) le permite seleccionar uno de varios conjuntos de objetos creados previamente y con nombre. Más adelante en este capítulo, profundizaremos en la creación de dichos conjuntos.

Para seleccionar la categoría de objetos con los que se realiza la selección, utilice Filtro de selección. Esta lista le permite seleccionar una o más categorías de objetos para trabajar y excluir el resto.

valor de la lista Todo (Todos los objetos) se aplica a todos los objetos de la escena y elimina todas las restricciones.

Imagen:

Imagen:

4. Selección de objetos con ejecución de comandos

Selección de objetos con ejecución de comandos

Los botones restantes en el grupo descrito en Barra de herramientas principal todos son modales y permiten, después de hacer una elección, proceder a la ejecución del comando correspondiente:

  • Seleccionar y vincular- realiza la operación de conexión jerárquica de los objetos subordinados de la escena por tipo Padre-Hijo (Padre-Hijo).
  • Seleccionar y mover- le permite comenzar a mover un objeto u objetos inmediatamente después de completar la selección.
  • Seleccionar y rotar- lo mismo para la operación de rotación sobre los objetos seleccionados.
  • Seleccionar y escalar- dependiendo del estado actual de la lista de botones Escala podría ser una cirugía Uniforme (Uniforme), No Uniforme (No Uniforme) escalado y Calabaza inmediatamente después de la selección.

Para crear Conjunto de selección con nombre debe seleccionar los objetos deseados e ingresar un nombre único en el campo de texto de la lista de nombres en Barra de herramientas principal(Figura 4.04).

Cada nuevo nombre se agrega a la lista de nombres y se almacena en el archivo de proyecto de Max. Utilice el cuadro de diálogo para configurar y modificar conjuntos con nombre. Conjunto de selección con nombre(Fig. 4.05), que es llamado por el comando Llamado Selección Conjuntos (conjuntos con nombre) en el menú editar, o el botón del mismo nombre en la barra de herramientas principal.


ARROZ. 4.04. Lista de conjuntos con nombre


FIGURA 4.05. Edición de conjuntos con nombre

Los botones en la parte superior de esta ventana le permiten:

  • crear nuevos conjuntos;
  • elimine el objeto seleccionado en el cuadro de diálogo del conjunto o elimine el conjunto completo;
  • agregue el objeto seleccionado en la ventana del programa al conjunto;
  • eliminar el objeto seleccionado en la ventana del programa del conjunto;
  • seleccione en la ventana del programa los objetos que se incluyen en el conjunto seleccionado en el cuadro de diálogo;
  • seleccionar objetos por su nombre usando un cuadro de diálogo Seleccionar objetos.
  • resaltar los objetos seleccionados en el cuadro de diálogo.

Imagen:

Imagen:

5. Selección de subobjetos

Selección de subobjetos

Habilidad para trabajar con Subobjetos(Subobjetos) se produce si el objeto seleccionado tiene una estructura de varios niveles. Los subobjetos en el entorno Max son los niveles Vértice (Superior), Segmento (Segmento) y Spline (Curva) en objetos de tipo Forma (Forma); Vértice (Superior), Borde (Borde), Cara (Cara), Polígono (Plano) y Elemento (Elemento) en objetos de tipo Malla (marco) etc. Cualquiera de los modificadores (herramientas especiales para cambiar la estructura interna de los objetos) puede tener un nivel Subobjeto (Subobjeto), lo que se muestra en la ventana Pila de modificadores (Pila de modificadores). Si no hay un signo "+" al lado del nombre del modificador, entonces el modificador no permite trabajar con el nivel del subobjeto y viceversa (Fig. 4.06).


FIGURA 4.06. Selección de un nivel de subobjeto

Para la comodidad de cambiar a Subobjeto y atrás, el menú contextual del botón derecho del ratón del objeto seleccionado contiene el elemento del mismo nombre (Fig. 4.07).


FIGURA 4.07. Nivel de subobjeto en el menú contextual

Estar en el modo Subobjeto puede también crear Conjunto de selección con nombre para subobjetos, pero solo estarán disponibles en este modo.

Imagen:

Imagen:

6. Gestión de la visibilidad de los objetos

Control de visibilidad de objetos

En el entorno Max, se ha desarrollado un sistema muy flexible para controlar la visibilidad de los objetos de la escena. Además del sistema de comandos desarrollado, hay un conjunto de configuraciones y configuraciones complementarias que le permiten optimizar su trabajo y "ver" solo aquellos objetos o grupos de objetos que se necesitan en este momento. El tema de la visibilidad de los objetos es especialmente relevante en escenas saturadas complejas, donde a veces hay que esperar mucho tiempo para que la pantalla se actualice (redibuje) (hay que recordar que se ignoran todos los objetos ocultos o congelados).

Todos los controles de visibilidad se concentran en el panel Mostrar (Mostrar) y en Mostrar flotante (Mostrar panel) que se puede llamar desde el menú desplegable Herramientas (Herramientas).

Cada uno de los objetos de escena puede tener varios niveles de visibilidad:

  • El objeto es visible tanto en las ventanas gráficas como al renderizar la escena.
  • El objeto es visible en las ventanas gráficas, pero no se muestra y no participa en la representación de la escena.
  • El objeto es visible en las ventanas gráficas y se representa durante la representación de la escena, pero está "congelado" (inaccesible) para los comandos de selección y edición.
  • El objeto está oculto y no es visible en las ventanas gráficas o al renderizar.

Estrictamente hablando, hay varias opciones más para la visibilidad de los objetos, pero son menos típicas y no vale la pena detenerse en ellas.

La forma más conveniente de administrar objetos es a través de Pantalla flotante (panel de pantalla), así que vamos a analizarlo con más detalle. Este panel (Fig. 4.08) consta de dos pestañas Ocultar/Congelar (Hide/Freeze) y Object Level (Object Level).

El primero de ellos repite todos los comandos principales del panel mostrar a excepción de algunos que se usan con poca frecuencia. Dos grupos de botones en relieve son responsables de los comandos. Ocultar (Ocultar) y Mostrar (Mostrar), más dos - Congelar (Freeze) y Unfreeze (Thaw). Caja Ocultar objeto congelado le permite congelar y ocultar objetos al mismo tiempo. Los botones en relieve le permiten ocultar/congelar Seleccionado (Seleccionado), No seleccionado (No seleccionado) objetos, seleccione Por Nombre (By Name) y By Hit (By Click).

Marcador Nivel de objeto gestiona la configuración Ocultar por categoría y un conjunto de casillas de verificación mostrar Propiedades (Propiedades del objeto de visualización). Mostrar panel flotante se puede eliminar de la pantalla en cualquier momento (haciendo clic izquierdo en el botón de cerrar) o volver a llamar.

FIGURA 4.08. Panel de visualización flotante

Imagen:

7. Clonación de objetos

Clonar objetos

Hay varias formas de crear copias de objetos en Max. El más utilizado es seleccionar el objeto o grupo de objetos copiados y aplicar uno de los comandos de transformación - Mover (Mover), Rotar (Rotar) o Escala con tecla presionada . Una vez que se completa el comando, se abre un cuadro de diálogo (Fig. 4.09), donde debe especificar el tipo de objeto o grupo de objetos que se están creando. Hay tres tipos de ellos:


FIGURA 4.09. Selección de modos de clonación

  • soru (copia)- el nuevo objeto hereda todas las propiedades del original (geometría, materiales, modos de visualización en las ventanas gráficas, etc.).

Cualquier cambio realizado en la copia o en el original es único y se aplica solo al objeto modificado.

  • Instancia- el nuevo objeto es una copia completa del original, y entre ellos se crea la siguiente relación lógica bidireccional: cualquier cambio en el original se muestra inmediatamente en todas sus instancias y viceversa.
  • referencia- variante de instancia, pero con comunicación unidireccional. Sólo los cambios en el original implican los mismos cambios en todas las referencias. Cualquier cambio en las referencias de objetos se aplica solo al objeto de referencia en particular que se modifica.

Queda por añadir que la ventana Opciones de clonación le permite establecer un nombre para los objetos creados en el campo de texto Nombre(Nombre) y seleccione el número de nuevas copias por el contador Número de copias.

Hay una opción para clonar objetos usando el elemento Clonar (Clonar) en menú desplegable Editar (Edición). Su uso abre la misma ventana Opciones de clonación (modos de clonación), pero sin la posibilidad de cambiar el número de copias creadas igual a 1. Esta opción para crear copias de objetos es conveniente si las copias deben tener las mismas coordenadas que el original.

Otra opción de clonación es usar los comandos Mirror (Mirror) y Array (Array).

El primero es llamado por el botón. Reflejar objetos seleccionados (Crear reflejo de espejo de objetos) del cuadro de diálogo adicional Espejo: coordenadas de pantalla (Espejo: coordenadas de pantalla)(Fig. 4.10) le permite seleccionar el eje de copia - X, Y, Z o el plano de copia - XY, YZ, ZX.


FIGURA 4.10. Creación de copias espejo de objetos

Posición del interruptor Selección de clones (Selección de clones) permite seleccionar el tipo de copias a crear, con la posición No Clon (Él Clon) realiza una imagen especular del objeto original sin crear copias.

Equipo matriz (matriz) llamado desde la lista de botones ubicados en la barra de herramientas Restricciones del eje. Cuadro de diálogo del mismo nombre formación le permite establecer el método de copia, la dimensión de la matriz (1,2 o 3D), así como el tipo de transformación (Mover, Rotar o escala) que se aplicará a cada copia (Fig. 4.11).


FIGURA 4.11. Creación de matrices

Imagen:

Imagen:

Imagen:

Imagen:

8. Combinar objetos en grupos

Combinar objetos en grupos

Para facilitar la gestión de conjuntos de objetos y simplificar escenas saturadas de objetos, utilice el comando Grupo (Grupo). Su llamada se realiza a través del elemento del menú desplegable del mismo nombre. Grupo (Grupo) y aplicado a los objetos seleccionados. Aparece una ventana para ingresar el nombre del grupo creado (Fig. 4.12). Después de confirmar el nombre del grupo, aparece un nuevo objeto de escena.


FIGURA 4.12. Conjunto de nombres de grupo

Con objetos agrupados de acuerdo a ciertos criterios (elementos componentes de un objeto complejo, conjuntos de objetos del mismo tipo que se repiten frecuentemente, etc.), es muy conveniente realizar operaciones tales como selección, clonación, asignación de materiales, transformaciones, y mucho más. más. Los grupos pueden tener una estructura anidada de varios niveles. Consideremos las posibilidades de trabajar con grupos de objetos en el entorno Max. Todos los comandos de control se concentran en el menú desplegable Grupo (Agrupación) mencionado anteriormente:

  • Grupo (Grupo)- combina los objetos seleccionados en un grupo con un nuevo nombre, escrito en el cuadro de diálogo del mismo nombre (Fig. 4.12). El nombre del grupo se muestra en negrita en el campo Nombre o entre corchetes en el cuadro de diálogo Seleccionar objetos (Figura 4.13).


FIGURA 4.13. Mostrar grupos en listas de objetos

Abrir (Open): elimina parcialmente la agrupación, lo que permite seleccionar, modificar y transformar cualquier objeto incluido en el grupo abierto. En este caso, aparece un objeto adicional, que es un contenedor dimensional en el que caben todos los objetos del grupo y tiene el nombre especificado cuando se creó. Este contenedor está dibujado en la pantalla en escarlata.

Cerrar: devuelve el grupo a su estado predeterminado, ocultando el objeto con el nombre del grupo y devolviendo la agrupación completa a todos los objetos del grupo.

  • Desagrupar- elimina la agrupación de objetos incluidos en el grupo seleccionado, permitiendo trabajar por separado en cada uno de ellos.
  • Explotar (desagrupar por completo)- elimina la agrupación de objetos que forman un grupo anidado de varios niveles.
  • Despegar- selecciona el objeto (u objetos) seleccionado del grupo. Para ejecutar este comando, primero debe abrir el grupo con el comando Abierto abierto).
  • Adjuntar- añade los objetos seleccionados al grupo indicado por el clic izquierdo del ratón.

Imagen:

Imagen:

9. Transformaciones de objetos

Transformaciones de objetos

Tipos de Transformaciones

En el entorno Max, con cualquier objeto, un conjunto de varios objetos o un grupo, puede realizar tres operaciones de transformación básicas: Mover, Rotar y Escalar (Mover, Rotar y Escalar), que están unidos por un término común - Transforma (Transformaciones). Todas las transformaciones se asignan a los botones correspondientes en Barra de herramientas principal (Panel principal) y Escala (Escalado)- lista de botones. La transformación de traducción le permite cambiar la posición de un objeto en el espacio tridimensional, la rotación, su orientación y escala, las dimensiones lineales del objeto. Además, la última transformación puede ser de tres tipos:

  • Uniforme (Uniforme)- escalado uniforme a lo largo de tres ejes de coordenadas X, Y, Z;
  • No uniforme (heterogéneo)- se realiza a lo largo de uno de los ejes o planos del objeto;
  • Calabaza- escalado simultáneo mutuamente opuesto a lo largo de uno de los ejes y el plano de los otros dos, o viceversa.

Todos los comandos de transformación se duplican en el menú contextual de un objeto y se pueden invocar haciendo clic con el botón derecho en el objeto seleccionado.

Por lo general, las transformaciones se realizan en los objetos de la escena con una precisión aproximada ("a simple vista") según la percepción visual de la posición, la orientación o la escala. Sin embargo, hay casos en los que se requiere una entrada precisa de parámetros, para lo cual se utiliza el método. Type-In (Entrada precisa). El cuadro de diálogo correspondiente se puede llamar a través del elemento Transform Type-In (entrada precisa de parámetros de transformación) Menú desplegable herramientas. Dependiendo del tipo de transformación seleccionada, una ventana se llama Mover, Rotar o Escribir transformación de escala (mover, rotar o escalar), que contiene dos grupos de contadores - Absoluto: Mundo (Absoluto: Coordenadas mundiales) y Desplazamiento: Pantalla (Incrementos: Coordenadas de pantalla)(Figura 4.14).


FIGURA 4.14. Parámetros de entrada precisos

Inicialmente, cuando se llama a esta ventana, los contadores del primer grupo muestran los valores exactos de la posición del objeto seleccionado en el espacio tridimensional, su orientación. Al cambiar a otro tipo de transformación (usando los botones modales correspondientes en Barra de herramientas principal o llamando al menú contextual del objeto que se está editando), la ventana de escritura cambia inmediatamente a la correspondiente.

Las herramientas adicionales que controlan los parámetros de las transformaciones en Max son Restricción (Restricciones), establecido por un grupo de botones modales, Sistema de coordenadas de referencia (Sistema de coordenadas), seleccionado de la lista de botones. Todos ellos se encuentran en la barra de herramientas. Restricciones del eje(Figura 4.15). Otra lista de botones Punto Centro (Centro de Transformación), diseñado para la gestión de la transformación, ubicado en Barra de herramientas principal (Panel principal).

FIGURA 4.15. Grupo de botones de restricción Echemos un vistazo más de cerca a cada uno de ellos.



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