Contacts

1c commandement général formes ordinaires. Nous unifions les interfaces d’exécution des commandes. Contrôler la visibilité des objets

La plate-forme technologique 1C:Enterprise 8 est utilisée pour automatiser un large éventail de tâches de gestion et de comptabilité dans une grande variété d'entreprises. Avec une gamme d'applications aussi large, des situations peuvent naturellement survenir dans lesquelles les fonctionnalités des commandes standard ne suffisent pas.
Pour implémenter des fonctionnalités supplémentaires, le langage intégré 1C:Enterprise est utilisé. Cette fonctionnalité est principalement implémentée dans les gestionnaires d'événements. Cependant, il existe également un besoin de fournir aux utilisateurs la possibilité d'accéder de manière interactive à une partie des fonctions implémentées depuis l'interface.


Pour résoudre ces problèmes dans 1C:Enterprise, il est possible de créer une équipe personnalisée. En configuration, les commandes arbitraires sont représentées par un nouvel objet de configuration Équipe. L'objet de configuration Commande est destiné à implémenter des fonctions non standard dans une solution d'application avec la possibilité d'utiliser des mécanismes standard pour activer la fonctionnalité implémentée.
à l'interface de commande.
La plateforme technologique ne limite en aucune manière la composition des commandes arbitraires et les fonctions qu'elles mettent en œuvre. Tout est déterminé par les exigences d'une solution d'application spécifique. Lors de la création d'une commande arbitraire, le développeur doit définir ses propriétés, qui déterminent les règles d'inclusion de la commande dans l'interface, et écrire un code de programme qui définit les actions effectuées par la commande. C'est en quoi les commandes arbitraires diffèrent des commandes standard. Pour ces derniers, tant les propriétés que les actions effectuées sont définies par la plateforme elle-même.
Dans la configuration, les commandes arbitraires peuvent être implémentées soit en tant qu'objets indépendants - commandes générales, soit en tant que subordonnées à d'autres objets.

Les commandes arbitraires générales vous permettent d'implémenter des fonctionnalités non standard généralement liées à la solution applicative. Dans ce cas, une commande arbitraire est créée en tant qu'objet de configuration indépendant appartenant à la classe Commandes générales.

Commandes générales arbitraires

Par exemple, regardons comment créer et configurer toutes les propriétés de la commande « Installer un lecteur de codes-barres ». Les entreprises commerciales doivent souvent automatiser le processus d'enregistrement des marchandises vendues. Des scanners de codes-barres sont utilisés à cet effet. Cependant, la plateforme technologique ne « sait » rien de ces appareils et n’a pas les moyens de travailler avec eux. Par conséquent, pour travailler avec un lecteur de codes-barres, vous devez connecter un programme spécial - un pilote. Pour connecter un tel pilote, une commande personnalisée générale est implémentée : Installer le scanner de codes-barres. En définissant certaines valeurs pour les propriétés de cette commande, le développeur a assuré sa disponibilité pour les utilisateurs.

Commande générale personnalisée « Configurer le scanner »

Les fonctions permettant de travailler avec le scanner sont communes à l'ensemble de la solution applicative, c'est-à-dire qu'elles ne se rapportent à aucun objet de configuration spécifique, de sorte qu'une commande arbitraire est implémentée de manière générale.
La commande effectue une action : connecte un pilote à la solution d'application pour travailler avec un lecteur de codes-barres. Il se trouve donc dans la barre d’action de la fenêtre principale de l’application.

Une autre tâche courante consiste à obtenir des copies papier de documents électroniques. La composition des documents et leur structure sont déterminées par la tâche d'application automatisée. Naturellement, il est impossible de fournir toute la variété des documents et des options pour leurs formulaires imprimés sur la plateforme. Afin « d'apprendre » à un document à se « transférer » sur papier, vous pouvez utiliser une commande arbitraire.
Dans la base de données démo pour obtenir une version imprimée du document Consommation de produitséquipe subordonnée créée Impression de facture

Commande subordonnée arbitraire « Imprimer la facture »

Valeurs des propriétés de commande Groupe Et Type de paramètre de commande déterminé l'emplacement de la commande dans l'interface de commande - le menu Imprimer du panneau de commande du formulaire de document, et la procédure dans le langage intégré a assuré la formation d'un formulaire imprimé d'un document spécifique, dont un lien est transmis dans le paramètre de commande.
Un autre cas d'utilisation assez spécifique des commandes arbitraires consiste à étendre ou à remplacer la fonctionnalité standard d'une commande standard. De telles tâches surviennent, par exemple, en raison de la nécessité de réduire le nombre d'opérations manuelles ou de modifier le comportement standard des objets.
Par exemple, notre base de données implémente un objet de traitement Service administratif. La commande d'ouverture du formulaire principal devait être placée dans le panneau de navigation et le formulaire lui-même devait être ouvert dans la zone de travail de la fenêtre principale de l'application. Mais la fonctionnalité standard de cet objet diffère de celle requise - la commande pour ouvrir le formulaire se trouve dans la barre d'action et le formulaire s'ouvre dans une nouvelle fenêtre auxiliaire.
Pour garantir la fonctionnalité requise, la propriété Utiliser les commandes standard a été supprimée du traitement - les commandes standard ne nous conviennent pas.

Désactiver l'utilisation des commandes standard

L'accès au traitement est fourni par une commande subordonnée arbitraire Service administratif, qui doit être situé dans le groupe Normal de la barre de navigation de la fenêtre principale de l'application. Suite à la sélection de cette commande, un formulaire de traitement s'affiche dans la zone de travail de la fenêtre principale.
Il existe de nombreux problèmes similaires dans des solutions d'application spécifiques, et les commandes arbitraires sont les plus appropriées pour les résoudre.

Commandement subordonné arbitraire « Service administratif »

Caractéristiques de l'hébergement
Une caractéristique des commandes arbitraires, par rapport aux commandes standard, est la nécessité de décrire leur emplacement par défaut dans l'interface de commande. L'emplacement d'une commande arbitraire est spécifié par le développeur lors de la configuration de la solution applicative.

L'emplacement par défaut dans l'interface de commande pour les commandes arbitraires est déterminé par :

  • catégorie et groupe attribués à l'équipe
  • l'appartenance de la commande au sous-système de configuration (pour les commandes indépendantes) et le type de paramètre de commande (pour les commandes paramétrables).

ATTENTION!
Propriété de commande Groupe doit être rempli. Sinon, une erreur se produira lors de la mise à jour de la configuration de la base de données et la mise à jour échouera.

Lors du choix d'un groupe pour une commande, vous devez faire attention à la nécessité de transmettre des paramètres à la commande et aux actions qu'elle effectue. À titre de critère général, il peut être suggéré de respecter les mêmes règles que celles utilisées pour les commandes standards.

  • Si une commande ne nécessite pas de paramètres pour son exécution, sélectionnez pour elle un groupe avec la catégorie Panneau de navigation ou avec la catégorieBarres d'action.
  • Si une commande nécessite de transmettre un paramètre pour son exécution, vous devez alors sélectionner un groupe avec la catégorie Panneau de navigation de formulaire ou la catégorie Panneau de commande de formulaire.
  • Pour les commandes dont l'exécution entraîne des modifications des informations affichées dans la zone de travail de la même fenêtre, vous devez sélectionner une catégorie Barre de navigation pour les équipes indépendantes ou Barre de navigation du formulaire pour les commandes paramétrables.
  • Pour les commandes dont l'exécution entraîne des modifications des données dans l'infobase, vous devez sélectionner une catégorie Barre d'action pour les équipes indépendantes ou Panneau de commande du formulaire pour les commandes paramétrables. Il est également recommandé de sélectionner cette catégorie pour les commandes qui entraîneront l'ouverture d'une nouvelle fenêtre permettant d'afficher des formulaires de sélection, des formulaires de rapport et des formulaires de traitement.

Pour inclure une commande indépendante commune dans une section particulière de l'interface de commande, vous devez indiquer son affiliation aux sous-systèmes correspondants. L'inclusion d'une commande dans les sous-systèmes se fait en la cochant dans la propriété Composition des sous-systèmes requis.

Il est impossible d'inclure directement une commande subordonnée dans le sous-système. Par conséquent, les commandes indépendantes subordonnées sont automatiquement incluses dans l'interface de commande des sous-systèmes dans lesquels l'objet propriétaire de la commande est inclus.
Mais les commandes arbitraires paramétrables, à la fois générales et subordonnées, sont incluses différemment dans l'interface de commande. Cela est dû au fait que la commande ne peut obtenir la valeur réelle de son paramètre qu'à partir des données du formulaire. C'est pourquoi les commandes paramétrables ne peuvent être placées que dans la barre de navigation du formulaire ou dans la barre de commandes du formulaire. De plus, cette valeur doit avoir un type de données valide pour le paramètre. La liste des types de paramètres autorisés est définie dans la propriété Type de paramètre de commande

La liste des types de paramètres autorisés pour une commande paramétrée est déterminée par sa propriété « Type de paramètre de commande »

En comparant la composition des types spécifiés dans la propriété de commande avec les types de détails du formulaire, le système décide d'inclure la commande dans un formulaire ou un autre.

Une commande arbitraire paramétrable est incluse dans le formulaire uniquement lorsque le formulaire possède au moins un attribut d'un type inclus dans ceux autorisés. Lors de la vérification, les détails subordonnés aux détails principaux du formulaire sont également pris en compte. La composition des détails subordonnés vérifiés est limitée au premier niveau de subordination.
Revenons à la résolution de notre problème de séparation de la fonctionnalité permettant de travailler avec les prix dans un sous-système distinct. En plus de fixer les prix, nous aurons également besoin de pouvoir imprimer les étiquettes de prix des marchandises. Dans ce cas, il est nécessaire de mettre en œuvre deux modes :


  • imprimer des étiquettes de prix pour toutes les marchandises pour tous les types de prix existants,
  • imprimer des étiquettes de prix pour tous les produits selon un type de prix.

Les commandes d'objets de configuration standard ne peuvent pas nous fournir ces fonctionnalités. Nous devons donc implémenter des fonctionnalités supplémentaires. Pour cela, nous utiliserons des commandes arbitraires.

Équipe générale indépendante
À première vue, la fonctionnalité d'impression de toutes les étiquettes de prix devrait étendre les capacités du répertoire Produits. Cependant, cet objet de configuration décrit de nombreux objets de données d'infobase. Si nous implémentons la commande en tant que commande subordonnée au répertoire, nous « apprendrons » à chacun des objets de données à imprimer les étiquettes de prix pour tous les produits. Et c'est déjà inutile. L'objet de données ne doit être responsable que de lui-même. L’équipe sera donc commune.
Pour ajouter une commande générale arbitraire, utilisez l'élément Ajouter dans le menu contextuel du nœud Commandes générales de l'arborescence de configuration.

En conséquence, une commande générale sera ajoutée et une fenêtre de propriétés et une fenêtre d'édition du module de commande s'ouvriront pour elle.

Propriétés et module de la commande arbitraire générale

Dans le groupe de propriétés De base, définissez les valeurs des propriétés de la commande :


  • Nom– « Imprimer les listes de prix des produits » ;
  • Synonyme– laisser le synonyme généré automatiquement ;
  • Un commentaire– nous ne le remplirons pas.

L'étape suivante consiste à sélectionner une catégorie et un groupe d'équipe pour son emplacement par défaut. Notre équipe n'a pas besoin de paramètres pour son exécution, elle est indépendante. L'équipe effectue des actions pour traiter les données stockées dans la base d'informations afin d'obtenir un ensemble d'étiquettes de prix, et ne modifie pas le contexte de résolution d'un problème. Par conséquent, nous définirons la catégorie sur Action Bar pour la commande. Dans quel groupe apparaîtra-t-il ? Le plus logique est de la placer dans un groupe Service.
Par conséquent, pour la propriété Groupe, ouvrez une fenêtre avec une liste de groupes et sélectionnez l'élément p Panneau d'action.Service.

NOTE
Faites attention aux propriétés Type de paramètre de commande, Mode d'utilisation des paramètres et et modifie les données– ils ne sont pas disponibles pour le remplissage. Les propriétés sont destinées à décrire la commande en cours de paramétrage et deviennent disponibles uniquement lors de la sélection d'un groupe avec les catégories Barre de navigation de formulaire ou Barre de commande de formulaire.

Spécification de l'emplacement d'une commande générale personnalisée

L'équipe que nous avons créée est indépendante. Il est donc nécessaire de déterminer dans quelles sections de l’interface de commande il sera disponible. La commande doit être disponible dans les mêmes sections dans lesquelles vous pouvez effectuer des actions de gestion des prix.
Dans notre cas, l'équipe créée doit appartenir à trois sous-systèmes - Tarification, Prix, Entreprise. Ainsi, nous devons éditer la propriété Composition de trois sous-systèmes.
Pour réduire le nombre d'actions effectuées, sélectionnez Avancé dans le menu contextuel de la commande créée. En conséquence, une fenêtre s'ouvrira dans laquelle, dans l'onglet Sous-systèmes, vous pourrez spécifier tous les sous-systèmes auxquels appartient la commande

Inclure une commande générale arbitraire dans les sous-systèmes

Notre commande est disponible pour les utilisateurs dotés du rôle Administrateur en raison de la propriété de rôle installée Définir les droits pour les nouveaux objets. Nous devons garantir sa disponibilité pour le rôle de Pricing Manager.
Comme pour les autres objets de configuration, la disponibilité peut être configurée pour une équipe générale dans la fenêtre d'édition des rôles.
Ou vous pouvez - dans la fenêtre Avancé déjà ouverte dans l'onglet Droits. Dans la liste Rôles, sélectionnez le rôle personnalisé et dans la liste Droits, définissez le droit Afficher pour l'équipe créée.

Configuration de la disponibilité de l'équipe pour le rôle Pricing Manager

La configuration de la visibilité des commandes par rôle pour une commande indépendante arbitraire s'effectue de la même manière que la configuration des commandes standard - dans l'éditeur d'interface de commande.
Notre commande doit être visible par défaut pour un utilisateur avec le rôle Pricing Manager, et elle doit être masquée pour un utilisateur avec le rôle Administrateur. Pour cela, dans l'éditeur d'interface de commande du sous-système Tarification, décochez la case visibilité générale dans la colonneVisibilité. Cela garantira que l'équipe est invisible pour tous les rôles, y compris ceux nouvellement créés. Et pour le rôle Pricing Manager, nous cocherons explicitement la case dans la colonne correspondante.
Sauvegardons la configuration, lançons l'application en tant qu'utilisateur Price Manager et sélectionnons la section Price Management.

Définition de la visibilité d'une commande générale personnalisée

Dans l'interface de commande, la commande Imprimer les étiquettes de prix des produits est disponible dans la section Gestion des prix (en indiquant l'appartenance au sous-système Tarification). La commande est placée dans le groupe Outils du panneau d'action (en spécifiant la valeur appropriée pour la propriété Groupe).

Ainsi, pour une commande générale indépendante arbitraire :

  • L'emplacement par défaut dans l'interface de commande est déterminé par la valeur de la propriété Group ;
  • l'inclusion dans une section d'interface de commande est déterminée par l'appartenance au sous-système correspondant ;
  • La disponibilité pour l'utilisateur est déterminée par la valeur du droit Afficher.

Nous avons créé une équipe. Comment pouvez-vous indiquer à l’utilisateur quelles actions une commande arbitraire effectue ? La réponse est évidente : décrivez le but de la commande dans la documentation de la solution d'application. Vous pouvez également décrire l'objectif de la commande dans l'aide en ligne intégrée. Pour travailler avec les informations d'aide, les propriétés de la commande générale du groupe d'informations d'aide sont destinées (Fig.

Informations de référence pour une commande générale arbitraire

Cependant, rechercher la description d'une commande dans la documentation ou dans l'aide intégrée est un processus long. Vous pouvez aider l'utilisateur à mémoriser rapidement le but d'une commande en choisissant une représentation parlante pour celle-ci. Une commande générale arbitraire dans l’interface de commande est représentée par sa propriété Synonym. Maintenant, la commande est représentée par du texte "Impression d'étiquettes de prix pour les marchandises", et cette présentation est assez informative. Mais à l'avenir, nous ajouterons une autre commande d'impression d'étiquettes de prix à la solution applicative - par type de prix. Par conséquent, il vaut la peine d’envisager une représentation de commande qui indiquera à l’utilisateur quelle option d’impression des étiquettes de prix sera exécutée. Disons que ce sera « Impression de toutes les étiquettes de prix ».
Une autre façon de rappeler à l'utilisateur le but d'une commande consiste à utiliser la propriété Tooltip. Le texte défini dans cette propriété apparaît dans une info-bulle lorsque vous passez la souris sur la commande. Pour la propriété Tooltip, définissez le texte « Impression d'étiquettes de prix pour tous les produits et tous types de prix ». Suite à la modification des valeurs des propriétés Synonyme et Tooltip, la vue commande
dans l'interface de commande a changé.

Représentation des commandes modifiée, info-bulle, aide

À ce stade, nous avons créé une commande et configuré son emplacement, son accessibilité et sa présentation. Tout ce que nous avons à faire est de mettre en œuvre les fonctionnalités de l’équipe, c’est-à-dire les actions que l’équipe doit effectuer. Pour définir les actions à réaliser, le développeur doit implémenter la procédure dans un langage embarqué. La procédure doit être située dans un module de commande, accessible via le lien hypertexte Ouvrir les propriétés.Module de commande.

Attention! Il s'agit d'une version d'introduction de la leçon, dont le matériel peut être incomplet.

Connectez-vous au site en tant qu'étudiant

Connectez-vous en tant qu'étudiant pour accéder au matériel scolaire

Création de configurations 1C : ajout d'une commande

Nous continuons à étudier les bases de la création de configurations sur 1C.

Revenons au configurateur et ouvrons l'arborescence de configuration :

Où se trouve le formulaire de traitement ?

Ouvrons la fenêtre des paramètres de traitement « Suppression des employés licenciés » :

Une fenêtre ouverte avec des marque-pages reprenant en grande partie les marque-pages du répertoire « Employés ». Ceci est tout à fait normal, car les paramètres des objets dans le configurateur sont largement similaires les uns aux autres.

Cette fois, nous nous intéressons à l'onglet « Formulaires » - ouvrez-le :

Retrouvez sur cet onglet un objet nommé « Formulaire » - c'est notre représentation visuelle du traitement :

Ouvrons-le en double-cliquant :

Une fenêtre avec de nombreux panneaux ouverts. Et maintenant, il est très important pour nous de comprendre, pour les leçons futures, ce qui est responsable de quoi ici.

Changer le code dans le langage 1C intégré pour le formulaire

Eh bien, tout d’abord, faisons attention tout en bas de la fenêtre qui s’ouvre. Nous y trouverons deux onglets « Formulaire » et « Module ».

L'onglet "Formulaire" est une représentation visuelle. Actuellement, il n'y a qu'un seul bouton sur le formulaire : « Supprimer des employés ».

L'onglet "Module" est un code dans le langage 1C intégré qui contient des procédures et des fonctions qui déterminent le comportement du formulaire pour l'utilisateur.

Essayons de passer à l'onglet "Module":

Il n'existe qu'une seule procédure nommée « Supprimer les employés ». Évidemment, c'est ce qu'on appelle lorsque l'on appuie sur le bouton.

Le code de la procédure est maintenant réduit - cliquez sur le signe plus pour le développer (il ne rentre pas dans l'image de droite) :

C'est vrai, c'est vrai. C'est à cet endroit qu'apparaît un message indiquant que je n'ai pas écrit le code de ce traitement

Modifions ce code comme suit :

Redémarrons le mode 1C:Enterprise (menu "Débogage" -> "Démarrer le débogage"), ouvrons le traitement et cliquons sur le bouton "Supprimer les employés" :

Et nous recevrons le même message que nous venons d’écrire :

L'onglet "Éléments" du formulaire

Revenons au configurateur de notre formulaire sur l'onglet "Formulaire":

Faites attention à l'onglet "Éléments" en haut du formulaire. Le contenu de ce signet duplique la représentation visuelle du formulaire. Vous lisez une version d'essai de la leçon, des leçons complètes sont disponibles. On peut aussi dire que tout ce que vous voyez dans la partie visuelle du formulaire se retrouve dans l'onglet « Éléments ».

Par exemple, pour ouvrir les propriétés du bouton « Supprimer des salariés » du formulaire, retrouvez ce bouton dans l'onglet « Éléments » et double-cliquez dessus :

Une fenêtre avec les propriétés du bouton s'ouvrira :

Définissons le titre du bouton sur "BANG" :

Le formulaire ressemblera désormais à ceci :

L'onglet "Détails" du formulaire

Passons maintenant à l'onglet « Détails » :

Cet onglet contient des noms par lesquels nous pouvons « atteindre » les données d'objet que représente le formulaire. Vous lisez une version d'essai de la leçon, des leçons complètes sont disponibles. Jusqu'à présent, il n'y a qu'un seul attribut « Objet » sur cet onglet, et il est vide.

Mais si nous allions dans un onglet similaire sous la forme du répertoire « Employés », nous trouverions ici les détails « Date de naissance », « Numéro de passeport » et « Série de passeport ». Cela signifierait que nous pourrions les utiliser dans le code du module de formulaire.

L'onglet "Commandes" du formulaire

Le dernier onglet que nous examinerons aujourd'hui est l'onglet « Commandes » :

En général, toutes les commandes que vous voyez sur l'un des onglets ("Commandes de formulaire", "Commandes standard" et "Commandes globales") peuvent être glissées en toute sécurité vers l'onglet "Éléments" et elles se transformeront "comme par magie" en boutons sur la forme.

Comme vous l'avez compris, cliquer sur ces boutons entraînera l'exécution de ces commandes.

Eh bien, par exemple, allons dans l'onglet « Commandes standard » et faisons glisser la commande « Fermer » vers l'onglet « Éléments » :

Un bouton de fermeture apparaît sur le formulaire. Lançons 1C:Enterprise (menu "Débogage" -> "Démarrer le débogage"), ouvrons le traitement et assurons-nous que le bouton fonctionne :


Revenons au configurateur vers le formulaire de traitement et allons dans l'onglet "Commandes du formulaire" :

Sur cet onglet, nous voyons les commandes de formulaire que nous avons nous-mêmes définies. Entre autres choses, on peut voir ici la commande que j'ai définie au tout début avec le nom « DeleteEmployees ».

Ouvrez les propriétés de cette commande (double-clic) .

Nous nous intéressons principalement au champ « Action » ; cliquez sur le bouton avec une loupe à côté :

Nous avons été redirigés vers la procédure « Supprimer les employés » dans le module de formulaire. Cela signifie que cette commande et cette procédure sont liées. Et l'exécution de la commande (par exemple, lorsque vous cliquez sur le bouton dans lequel elle s'est transformée) entraînera l'exécution du code de la procédure.

Ajout d'une nouvelle commande pour le formulaire

Créons une autre commande de formulaire. Pour cela, retournez dans l'onglet « Commandes du formulaire » et cliquez sur le bouton vert avec un plus :

Ouvrez ses propriétés et définissez le nom sur « Bonjour », puis cliquez sur la loupe à côté du champ « Action » :

On nous demande quel type de gestionnaire nous voulons créer.

En général, il existe deux types de gestionnaires : ceux qui s'exécutent sur le client et ceux qui s'exécutent sur le serveur. Dans notre cas, le client et le serveur sont le même ordinateur, mais ce n'est pas forcément toujours le cas. Nous reviendrons sur cette conversation dans les prochains modules, mais pour l'instant, il est trop tôt pour y réfléchir.

Sélectionnez l'option « Sur le client » et cliquez sur « OK » :

Nous avons été redirigés vers le module de formulaire dans la procédure "Bonjour" créée automatiquement. Cette procédure est désormais liée à la commande du formulaire "Bonjour" :

Écrivons-y le résultat de la ligne bonjour à l'utilisateur :

Mais comment forcer désormais l’exécution de la commande (et donc de la procédure) « Bonjour » ? Pour cela, retournez dans l'onglet « Commandes du formulaire » et faites glisser notre « Bonjour » sur le formulaire, comme nous l'avons fait précédemment avec la commande « Fermer » :

Un autre bouton est apparu sur le formulaire. Lançons 1C:Enterprise, ouvrons le traitement et cliquons sur le bouton "Bonjour". Ça devrait ressembler à ça:

Entrez le nom de l'utilisateur et dites-lui bonjour

Fixons-nous maintenant cette tâche. Nous avons besoin que l'utilisateur entre son nom, nous cliquons sur le bouton et il affichera, par exemple, « Bonjour, Alexey ».

Afin que nous puissions placer des éléments de saisie de données sur le formulaire, nous aurons besoin d'un attribut de formulaire (l'onglet "Détails") auquel cet élément sera associé.
Puisque notre onglet « Détails » est presque vide, créons-en un nouveau.

Allez dans l’onglet « Détails » et appuyez sur le bouton vert plus :

Dans la fenêtre des propriétés de cet attribut, définissez le nom sur « Name » et le type sur « String » :

Après cela, faisons glisser l'attribut « Nom » vers l'onglet « Éléments » de la manière habituelle :

Aha, un élément permettant de saisir une chaîne est apparu sur le formulaire ! Ce dont nous avions besoin

Lançons 1C:Enterprise, ouvrons le traitement et essayons d'y saisir votre nom :

Tout s'est bien passé, mais cliquer sur le bouton « Bonjour » fonctionne toujours comme avant.

Nous allons tout réparer maintenant. Vous lisez une version d'essai de la leçon, des leçons complètes sont disponibles. Pour cela, revenons au configurateur, rendez-vous dans le module formulaire de traitement et retrouvez-y la procédure « Bonjour » :

Réécrivons-le de telle manière que la valeur de l'attribut "Nom", qui est associé à l'élément de saisie sur le formulaire, soit ajoutée à la ligne "Bonjour",

Relançons maintenant le traitement 1C:Enterprise, entrez votre nom et cliquez sur le bouton « Bonjour » :

Juste ce dont vous avez besoin !

Commandes, éléments, détails, objet... vous n'êtes pas encore confus ?

Je pense que vous êtes confus, je m'empresse de vous rassurer sur le fait que vous ne devriez pas vous inquiéter à ce sujet. Avec le temps, la situation deviendra plus claire.

En attendant, je vais essayer de vous décrire avec des mots plus simples ces composants de toute forme. Et après cela, vous pourrez relire la leçon - je suis sûr que beaucoup de choses deviendront plus claires.

Ainsi, un formulaire est une représentation visuelle de notre programme : boutons, étiquettes, images, listes... et bien d'autres choses ! Tout ça ÉLÉMENTS formes.

Bouton - élément. L'inscription est un élément. Le champ de saisie est également un élément

Autrement dit, un élément de formulaire fait avant tout partie de sa représentation visuelle. Cela signifie que l'élément possède des caractéristiques telles que la couleur, la police, la position sur le formulaire, la taille et bien d'autres.

Les éléments nous permettent d'interagir avec le formulaire d'une manière ou d'une autre : lire, cliquer, faire défiler, etc.

Par exemple.

Bouton

Évidemment, le bouton ne peut pas être seul. Lorsque l'utilisateur clique dessus, une action prévue par le programmeur devrait se produire.

Cette action est appelée équipe

Les commandes peuvent être intégrées (les onglets « Commandes standard » et « Commandes globales ») et celles que le programmeur propose lui-même (l'onglet « Commandes de formulaire »).

Eh bien, les commandes intégrées sont intégrées pour cette raison. Que leur action a été inventée avant nous. Tout ce que nous pouvons faire est de faire glisser ces commandes sur le formulaire et de les transformer en boutons. De telles commandes incluent, par exemple, la commande permettant de fermer un formulaire. Nous n'avons pas besoin de programmer quoi que ce soit - faites simplement glisser la commande standard "Fermer" sur le formulaire et c'est tout.

Et l'équipe en uniforme est une équipe inventée par nous-mêmes. Il s'agit de la commande que nous avons nous-mêmes ajoutée à l'onglet « Commandes de formulaire », puis avons trouvé l'élément « Action » dans ses propriétés, cliqué dessus et programmé le code dans le langage intégré dans un gestionnaire créé automatiquement dans le module de formulaire ( par exemple, la commande « Bonjour » de cette leçon).

Bon, en général, vous comprenez : une commande est une action programmée en langage 1C (ou déjà intégrée au programme). Un bouton est un élément visuel d'un formulaire qui, lorsqu'il est enfoncé, lance une commande associée.

Une inscription

C'est juste du texte sur un formulaire. Un tel élément possède une propriété « Titre », dont nous définissons la valeur dans l'éditeur et qui est affichée sous forme de texte.

Champ

Maintenant, c'est intéressant. Parce qu'il s'agit d'un élément tellement spécial qui n'est pas en soi (comme une inscription), mais doit être associé à une sorte de données ou d'une autre manière DÉTAILS(onglet "Détails").

On peut dire que les accessoires sont une variable formulaire, que nous déclarons sur l’onglet « Détails », et l’élément associé à l’attribut (« Champ ») est sa représentation sur le formulaire. Mais les accessoires eux-mêmes n'ont que Nom, taper Et signification.

Eh bien, imaginez que nous ayons un champ sur le formulaire pour saisir un numéro. S'il n'y avait aucun détail, comment saurions-nous à partir du code quel numéro l'utilisateur a saisi ? Nous accéderions à l'élément d'entrée par son nom et lirions certaines de ses propriétés, qui sont responsables de la valeur saisie par l'utilisateur.

Donc en 1C ce n'est pas possible. Ici (en commençant par les formulaires « gérés »), la présentation des données est séparée des données elles-mêmes.

Il s'avère que l'élément d'entrée est un élément de formulaire. Et le numéro saisi par l'utilisateur n'est pas stocké dans l'élément lui-même, mais dans l'attribut associé à cet élément.

Encore. Un accessoire est exactement une donnée (chaîne, nombre, date). Représentation non visuelle (inscription avec texte, champ de saisie d'un numéro, champ de saisie d'une date). La représentation visuelle des accessoires est précisément l'élément de forme « Field ».

Et il s'avère que lors de l'écriture de code dans le langage 1C, pour afficher et modifier des données, il faut d'abord utiliser les détails. Nous modifions les détails du code et les champs qui leur sont associés sur le formulaire changent automatiquement.

Et vice versa. L'utilisateur saisit des valeurs dans les éléments de saisie (chiffres, texte, dates) du formulaire, et les détails changent également automatiquement.

Quels avantages cette séparation des éléments de formulaire et des données (détails) offre-t-elle ? De grands! Le programmeur crée les détails dont il a besoin (pour stocker, afficher et saisir certains champs du formulaire) et écrit le code du programme fonctionnant uniquement avec ces détails (données). Il ne pense pas du tout à ce à quoi tout cela ressemblera sur le formulaire. Il n'en a pas besoin ! Il n'écrit que le code du programme pour l'instant.

Et alors seulement, il fait glisser ces détails sur le formulaire, les détails se transforment en éléments visuels du formulaire, il les configure d'une manière ou d'une autre, les insère dans des signets, etc. En général, à ce stade (conception visuelle de la forme), il travaille uniquement avec des éléments. Dans le même temps, la probabilité de casser du code déjà écrit est considérablement réduite.

Un autre exemple. Disons un attribut "Age" avec un type de "Number". Cet attribut stocke uniquement le numéro lui-même, rien d'autre. Il n'est pas responsable de l'apparence de ce numéro, ni de l'emplacement (ou sur quel onglet) de l'élément de saisie du formulaire associé à ce numéro. Les accessoires ne sont qu'un nombre ! En ce qui concerne les props, nous ne pourrons pas changer la taille de l'élément de saisie sur le formulaire, la couleur, la visibilité... Ce ne sont pas les props qui sont responsables de tout cela, mais l'élément ! En modifiant les détails, nous modifions uniquement le numéro affiché dans l'élément de saisie du formulaire.

En tout: PROPS est une variable de formulaire. Par conséquent, nous stockons toutes les données dans des détails (variables) et utilisons des éléments pour les afficher sur le formulaire (ou sur la saisie du formulaire). C'est cette séparation de la logique de la présentation qui permet à 1C d'afficher facilement les mêmes formulaires sur différents clients : « épais », « fin », « navigateur web ».

Pour accéder à l'attribut « Âge » depuis le module formulaire, il suffit d'utiliser son nom :

Qu'est-ce qu'un objet ?

Et enfin, l'objet. À en juger par le fait qu'il se trouve dans l'onglet « Détails », il s'agit également d'un accessoire. C'est exact. Mais il est spécial.

Nous ne créons pas cet attribut - il apparaît dans l'onglet "Détails". Dans le cas du traitement, il est vide, mais si nous programmions la forme d'un répertoire, alors l'attribut objet représenterait précisément les champs de ce répertoire à partir de la base de données.

Un signe plus apparaîtrait à côté et nous pourrions l'ouvrir et faire glisser ses parties individuelles sur le formulaire et elles se transformeraient également en éléments.

Passer l'examen

Démarrer l'essai

1. Le formulaire de traitement peut contenir

2. Le formulaire de traitement se trouve sur l'onglet

Le formulaire 1C comporte généralement plusieurs champs pour la saisie des données, ainsi que des boutons pour le contrôle du formulaire et diverses actions de service. Par exemple, pour le remplissage ou la vérification automatique.

Pour placer un bouton sur un formulaire, auparavant, dans la version 8.1, il fallait :

  • Faites glisser un bouton vers le panneau
  • Ajouter une fonction - boutons
  • Dans cette fonction, écrivez du code en langage 1C qui effectuera les actions requises.

Afin que l'utilisateur puisse les lancer, ces actions ont une représentation visuelle sur le formulaire. Ce que cela signifie dépend du groupe d'éléments de formulaire dans lequel vous faites glisser la commande.

Par exemple, si vous le faites simplement glisser sur un formulaire, il y aura un bouton, si dans un groupe du panneau de commandes, alors ce sera un bouton du panneau de commandes (plat), ou vous pouvez le faire glisser vers un menu, alors ce sera un élément de menu.

La commande peut être utilisée à la fois sous une forme régulière et dans l'interface gérée (commande) 1C.

Commandes standard 1C

Mais on connaît aussi des actions qui n'ont pas besoin d'être programmées en langage 1C, puisqu'elles sont déjà disponibles dans la plateforme 1C. Par exemple, pour les répertoires, les actions standards sont la possibilité de créer un élément. Pour le formulaire d'annuaire - la capacité d'écrire, et pour un document - de publier. Est-ce que ce sont aussi des actions ?

Oui, et maintenant elles sont appelées commandes 1C standard. Les répertoires, documents, formulaires et autres ont leurs propres commandes 1C standard.

Les commandes 1C standard peuvent être désactivées pour une commande spécifique en cochant la case « Utiliser les commandes 1C standard » dans 1C dans l'onglet « Commandes 1C ».

Propriétaire de l'équipe 1C

Les commandes 1C sont situées dans la sous-branche de leur propriétaire. Par exemple, Annuaires/Contreparties/Équipes 1C.

Il existe également des équipes 1C qui n'ont pas de propriétaire, puisqu'elles sont partagées. Ces commandes 1C ne sont pas liées aux objets et se trouvent dans la branche Commandes Général/Général 1C.

Paramètres de commande 1C

Dans les configurations des ouvrages de référence et des documents, il y avait un menu « Go » avec lequel vous pouviez accéder comme par magie aux objets 1C associés.

Par exemple, pour l'annuaire Contreparties, les adresses légales et physiques sont stockées dans le registre des Données de Contact associé. Pour y accéder, il fallait sélectionner le menu sous la forme de la ou des contrepartie(s) - Aller/Coordonnées.

Autrement dit, pour certaines actions, non seulement le fait de lancer l'action est requis, mais également un paramètre qui détermine pour quel objet ces actions doivent être effectuées - par exemple, pour quelle contrepartie afficher les informations de contact.

Dans les propriétés de la commande 1C il est possible de préciser :

  • Type de paramètre de commande 1C – type d'objet 1C qui sera utilisé comme paramètre, par exemple, le répertoire des entrepreneurs
  • Paramètres de mode d'utilisation – vous avez besoin d'une valeur ou d'une liste (tableau).

Pour placer une commande sur un formulaire, vous pouvez spécifier dans les propriétés de la commande 1C le groupe d'interface de commande où elle doit se trouver.

Ou faites simplement glisser la commande vers la liste des éléments du formulaire.

Équipe est un objet de configuration avec lequel le développeur peut décrire les actions destinées à être effectuées par l'utilisateur.

Il existe des commandes générales - des commandes qui ne sont pas spécifiques à un objet ou qui sont utilisées pour effectuer des actions sur des objets qui n'utilisent pas de commandes standard.

Des commandes peuvent également exister pour des objets de configuration individuels. Ils sont utilisés pour effectuer des opérations liées à cet objet particulier.

Les commandes peuvent être paramétrées, c'est-à-dire qu'elles peuvent utiliser une valeur transmise par la plateforme dans leur algorithme. Le type de cette valeur est défini dans le configurateur et une telle commande paramétrée n'est affichée que dans les formulaires qui ont des détails du même type que le paramètre de commande.

Les actions effectuées par une commande sont décrites dans un langage intégré au module de commande.

Liens utiles:

  • Objets de configuration
  • Outils de développement.

Commande

Équipe est une action que l'utilisateur peut effectuer dans le programme. Toutes les commandes peuvent être classées de plusieurs manières.

Commandes standard et créées par les développeurs

En ce qui concerne la manière dont la commande apparaît dans la configuration, toutes les commandes peuvent être divisées en :

  • Standard,
  • Créé par le développeur.

Les commandes standards sont fournies automatiquement par la plateforme. Les objets de configuration, ainsi que les extensions de formulaire et les extensions d'éléments, peuvent fournir des commandes standard Tableau, situé dans le formulaire. En savoir plus...

Par exemple, un répertoire Contreparties peut fournir des commandes Contreparties, Entrepreneur : créer Et Entrepreneurs : créer un groupe.

Le développeur peut créer lui-même des commandes arbitraires dans la configuration. Il peut ajouter un objet Command à la branche Sont communs, ajoutez un objet Command à un objet de configuration spécifique ou décrivez une commande comme une procédure dans un langage intégré sous une forme spécifique. En savoir plus...

Par exemple, des commandes générales peuvent être ajoutées Installer le scanner de codes-barres, Configuration du scanner de codes-barres et d'autres.

Commandes de navigation et d'action

Par rapport au résultat de l'exécution d'une commande, toutes les commandes peuvent être divisées en :

  • Commandes de navigation,
  • Commandes d'action.

Les commandes de navigation ouvrent les formulaires dans la fenêtre actuelle. En règle générale, c'est ainsi que s'effectue la transition vers certaines listes. En savoir plus...

Par exemple, la commande de navigation Entrepôts ouvrira une liste d'entrepôts dans la fenêtre principale.

À la suite de l'exécution de la commande d'action, une fenêtre auxiliaire s'ouvre. En règle générale, c'est ainsi que vous accédez au formulaire d'objet ou au formulaire de rapport/traitement. En savoir plus...

Par exemple, commande d'action Action ouvrira une fenêtre auxiliaire pour éditer les données du nouvel entrepôt.

Commandes indépendantes et paramétrables

Par rapport à leur structure interne, toutes les commandes peuvent être divisées en :

  • Indépendant,
  • Paramétrable

Les commandes indépendantes ne nécessitent aucune information supplémentaire pour être exécutées. En savoir plus...

Par exemple, une équipe indépendante Contreparties ne nécessite aucune information supplémentaire pour son exécution. Il ouvre simplement une liste de toutes les contreparties.

Pour exécuter des commandes paramétrables, des informations supplémentaires sont requises - la valeur du paramètre de commande. En savoir plus...

Par exemple, la commande paramétrable Comptes courants (Objet.Fournisseur) ouvre une liste des comptes courants d'une contrepartie spécifique. Ainsi, pour le réaliser, il faut savoir quelle contrepartie doit ouvrir les comptes courants. Autrement dit, la contrepartie est un paramètre de cette commande.

Commandes globales et commandes de formulaire locales

Selon la relation des commandes à une certaine forme, toutes les commandes peuvent être divisées.

CHAPITRE 4

Commandes et opérations sur les objets

  • Commandes et opérations de base
  • Sélection d'objets
  • Sélection d'objets et exécution d'une commande
  • Sélection de sous-objets
  • Contrôler la visibilité des objets
  • Clonage d'objets
  • Regroupement d'objets
  • Transformations d'objets

2. Commandes et opérations de base

Commandes et opérations de base

Les commandes et opérations de base sur les objets dans l'environnement Max peuvent être définies par les groupes suivants :

  • Sélection d'objets ;
  • Sélectionner des objets et exécuter une commande ;
  • Sélection de sous-objets ;
  • Contrôler la visibilité des objets ; Clonage d'objets ;
  • Combiner des objets en groupes.
  • Transformations d'objets
  • Examinons chacun d'eux plus en détail.

3. Sélection d'objets

Sélection d'objets

Il existe plusieurs techniques qui se chevauchent pour effectuer et gérer les opérations de sélection d'objets. En plus de la plus traditionnelle d'entre elles - clic gauche sur l'objet sélectionné, cette procédure peut être effectuée via un groupe d'éléments Sélectionner dans le menu déroulant Modifier(Fig. 4.01).

Vous trouverez ci-dessous une liste de ces éléments avec une brève description de leurs fonctions :

  • Tout sélectionner- permet de sélectionner tous les objets non masqués et « dégelés » (la signification de ces termes sera décrite ci-dessous).
  • Ne rien sélectionner- désélectionne tous les objets de la scène.
  • Sélectionnez Inverser- sélectionne inversement tous les objets non sélectionnés.

FIGURE 4.01. Points de sélection d'objet

  • Sélectionner par couleur- créer une sélection basée sur la couleur de l'objet spécifiée
  • Sélectionner par nom- sélectionner un ou plusieurs objets par nom dans la liste générale via une boîte de dialogue (Fig. 4.02).


FIGURE 4.02. Sélection d'objets par nom dans une liste

  • Région- dispose de deux commutateurs qui définissent le mode de sélection d'objet :
  • Fenêtre- V l'ensemble comprend des objets qui s'intègrent complètement dans la zone de sélection ;
  • Traversée- les objets sont sélectionnés même s'ils touchent uniquement la zone de sélection.

De plus, l'opération de sélection d'objets peut être effectuée à l'aide du groupe de boutons de (Fig. 4.03) :

FIGURE 4.03. Groupe de boutons pour sélectionner des objets dans la barre d'outils principale

  • Sélectionner un objet- un bouton modal qui active le mode de sélection d'objets avec un clic gauche de la souris. A chaque clic gauche, la sélection précédente est réinitialisée et un seul, le dernier des objets, est sélectionné. Pour ajouter un nouvel objet à l'ensemble sans réinitialiser, faites un clic gauche tout en maintenant la touche enfoncée , pour exclure l'objet sélectionné de l'ensemble - cliquez avec la touche .
  • Région de sélection- une liste de boutons permettant de modifier la forme de la zone de sélection des objets. Peut être spécifié comme Rectangulaire, Circulaire ou Clôture (polyligne).

Pour sélectionner le formulaire souhaité, cliquez sur ce bouton (jusqu'à ce que la liste entière apparaisse) et, en maintenant le bouton gauche de la souris, déplacez le curseur dans la liste en le relâchant sur le bouton correspondant.

Sélectionner par nom Nom) - un bouton qui appelle la boîte de dialogue mentionnée précédemment Sélectionner des objets(Fig. 4.02). Attardons-nous sur ses paramètres.

Le champ d'information principal contient une liste d'objets de scène, et l'ordre de tri et la méthode d'affichage dépendent des groupes de paramètres. Types de tri et de liste.

Le premier d'entre eux permet de définir la méthode de tri des noms des objets de la scène par Alphabétique, par type, couleur et taille.

Cases à cocher de groupe Types de liste contrôlez la règle selon laquelle les catégories d'objets Max seront affichées dans la liste générale et lesquelles seront masquées. Boutons Tout, Aucun et Inverser nécessaire pour gérer rapidement l’ensemble des indicateurs de groupe.

Une liste supplémentaire de cases à cocher en bas à gauche de la fenêtre contrôle les options suivantes :

  • Afficher le sous-arbre- permettre l'affichage d'objets ayant des relations hiérarchiques ou des groupes ouverts (les groupes seront abordés plus tard).
  • Sélectionner un sous-arbre- permettre la sélection de tels objets.
  • Sensible aux majuscules et minuscules- influence de la casse dans le nom défini dans le champ de texte supérieur.
  • Sélectionnez les personnes à charge- la sélection d'un objet entraînera la sélection simultanée de l'ensemble de celui-ci Instances et références.

Boutons AI (Tout), Aucun et Inverser au-dessus de cette liste permettent un contrôle rapide sur la sélection des noms d'objets. Et enfin, la liste Ensemble de sélection vous permet de sélectionner l'un des nombreux ensembles d'objets pré-créés et nommés. Plus loin dans ce chapitre, nous entrerons dans les détails sur la création de tels ensembles.

Pour sélectionner la catégorie d'objets avec laquelle la sélection est effectuée, vous devez utiliser Filtre de sélection. Cette liste vous permet de sélectionner une ou plusieurs catégories d'objets avec lesquels travailler et d'en exclure d'autres.

Valeur de la liste Tout (Tous les objets) s'applique à tous les objets de la scène et supprime toutes les restrictions.

Image:

Image:

4. Sélection d'objets et exécution d'une commande

Sélection d'objets et exécution d'une commande

Les boutons restants du groupe décrit dans Barre d'outils principale tous sont modaux et permettent, après avoir effectué une sélection, de procéder à l'exécution de la commande correspondante :

  • Sélectionner et lier- effectue l'opération de connexion hiérarchique des objets de scène subordonnés par type Parent-Enfant.
  • Sélectionner et déplacer- vous permet de commencer à déplacer un ou plusieurs objets immédiatement après la fin de la sélection.
  • Sélectionner et faire pivoter- idem pour l'opération de rotation sur les objets sélectionnés.
  • Sélectionner et mettre à l'échelle- en fonction de l'état actuel de la liste des boutons Échelleça pourrait être une opération Uniforme, non uniforme mise à l'échelle et Squash immédiatement après la fin de la sélection.

Pour créer Ensemble de sélection nommé vous devez sélectionner les objets souhaités et saisir un nom unique dans le champ de texte de la liste de noms dans Barre d'outils principale(Fig. 4.04).

Chaque nouveau nom est ajouté à la liste des noms et enregistré dans le fichier de projet Max. Pour configurer et modifier les ensembles nommés, utilisez la boîte de dialogue Ensemble de sélection nommé(Fig. 4.05), qui est appelé par la commande Nommé Sélection Ensembles au menu Modifier, ou le bouton du même nom sur la barre d'outils principale.


RIZ. 4.04. Liste des ensembles nommés


FIGURE 4.05. Modification des ensembles nommés

Les boutons situés en haut de cette fenêtre permettent de :

  • créer de nouveaux ensembles ;
  • supprimer l'objet sélectionné dans la boîte de dialogue de l'ensemble ou supprimer l'ensemble de l'ensemble ;
  • ajouter l'objet sélectionné dans la fenêtre du programme à l'ensemble ;
  • supprimer de l'ensemble un objet sélectionné dans la fenêtre du programme ;
  • sélectionner dans la fenêtre du programme les objets inclus dans l'ensemble sélectionné dans la boîte de dialogue ;
  • sélectionner des objets par leur nom à l'aide d'une boîte de dialogue Sélectionnez Objets.
  • mettre en surbrillance les objets sélectionnés dans la boîte de dialogue.

Image:

Image:

5. Sélection des sous-objets

Sélection de sous-objets

Possibilité de travailler avec Sous-objets(Sous-objets) se produit si l'objet sélectionné a une structure à plusieurs niveaux. Les sous-objets dans l'environnement Max sont des niveaux Sommet, segment et spline dans objets de type Forme; Sommet (Vertex), Arête (Edge), Face (Face), Polygone (Plan) et Élément (Element) dans les objets de type Maille (cadre) etc. N'importe lequel des modificateurs - des outils spéciaux pour modifier la structure interne des objets - peut avoir un niveau Sous-objet ce qui est affiché dans la fenêtre Pile de modificateurs. S'il n'y a pas de signe « + » à côté du nom du modificateur, alors le modificateur ne permet pas de travailler avec le niveau de sous-objet, et vice versa (Fig. 4.06).


FIGURE 4.06. Sélection du niveau de sous-objet

Pour faciliter le passage en mode Sous-objet et retour dans le menu contextuel de l'objet sélectionné, appelé par un clic droit, contient un élément du même nom (Fig. 4.07).


FIGURE 4.07. Niveau de sous-objet dans le menu contextuel

En mode Le sous-objet est possible créer également Ensemble de sélection nommé pour les sous-objets, mais ils ne seront disponibles que dans ce mode.

Image:

Image:

6. Contrôler la visibilité des objets

Contrôler la visibilité des objets

Un système très flexible de contrôle de la visibilité des objets de la scène a été développé dans l'environnement Max. En plus du système de commande développé, il existe un ensemble de paramètres et de paramètres qui se complètent, vous permettant d'optimiser le travail et de « voir » uniquement les objets ou groupes d'objets qui sont actuellement nécessaires. La question de la visibilité des objets est particulièrement pertinente dans les scènes complexes et riches, où il faut parfois attendre longtemps pour que l'écran soit mis à jour (redessiné) (il faut se rappeler que tous les objets cachés ou gelés sont ignorés).

Tous les contrôles de visibilité sont concentrés dans le panneau Affichage et affichage flottant qui peut être appelé depuis le menu déroulant Outils.

Chacun des objets de la scène peut avoir plusieurs niveaux de visibilité :

  • L'objet est visible à la fois dans les fenêtres et lors du rendu de la scène.
  • L'objet est visible dans les fenêtres, mais n'est ni affiché ni rendu dans la scène.
  • L'objet est visible dans les fenêtres et affiché lors du rendu de la scène, mais est « gelé » (indisponible) pour les commandes de sélection et d'édition.
  • L'objet est masqué et n'est pas visible dans les fenêtres ou les rendus.

À proprement parler, il existe plusieurs autres options pour la visibilité des objets, mais elles sont moins typiques et ne valent pas la peine de s'y attarder.

Le moyen le plus pratique de gérer les objets consiste à Afficher le flotteur Par conséquent, analysons-le plus en détail. Ce panneau (Fig. 4.08) se compose de deux onglets Masquer/geler et niveau d'objet.

Le premier d'entre eux répète toutes les commandes du panneau principal Afficherà l’exception de certains rarement utilisés. Deux groupes de boutons en relief sont responsables des commandes Masquer (Masquer) et Afficher (Afficher), plus deux - Geler et Dégeler. Case à cocher Masquer l'objet gelé vous permet de geler et de masquer des objets en même temps. Les boutons en relief vous permettent de masquer/geler Sélectionné, Non sélectionné objets, faites un choix Par nom et par coup.

Signet Niveau objet gère le réglage Masquer par catégorie et un ensemble de cases à cocher Afficher Propriétés. Afficher le panneau flottant peut être retiré de l'écran à tout moment (en cliquant avec le bouton gauche sur le bouton de fermeture) ou rappelé.

FIGURE 4.08. Panneau d'affichage flottant

Image:

7. Clonage d'objets

Clonage d'objets

Il existe plusieurs façons de créer des copies d'objets dans Max. La plus utilisée consiste à sélectionner l'objet ou le groupe d'objets copié et à utiliser l'une des commandes de transformation - Déplacer, faire pivoter ou Échelle avec la touche appuyée . Après avoir terminé la commande, une boîte de dialogue est appelée (Fig. 4.09), dans laquelle vous devez spécifier le type d'objet ou de groupe d'objets à créer. Il en existe trois types :


FIGURE 4.09. Sélection des modes de clonage

  • Soru (Copie)- le nouvel objet hérite de toutes les propriétés de l'original (géométrie, matériaux, modes d'affichage sur les fenêtres, etc.).

Toute modification apportée à la copie ou à l'original est unique et s'applique uniquement à l'objet en cours de modification.

  • Exemple- le nouvel objet est une copie complète de l'original, et la connexion logique bidirectionnelle suivante est créée entre eux : toute modification apportée à l'original est immédiatement reflétée dans toutes ses copies et vice versa.
  • Référence- une variante de l'instance, mais avec une communication unidirectionnelle. Seules les modifications apportées à l'original entraînent les mêmes modifications dans tous les liens. Toute modification apportée aux références d'objet s'applique uniquement à l'objet de référence spécifique en cours de modification.

Il reste à ajouter que la fenêtre Options de clonage vous permet de définir un nom pour les objets créés dans le champ de texte Nom(Nom) et sélectionnez le nombre de nouvelles copies à l'aide du compteur Nombre de copies.

Il existe une option pour cloner des objets à l'aide de l'élément Cloner dans le menu déroulant Modifier. Son utilisation fait apparaître la même fenêtre Options de clonage mais sans possibilité de modifier le nombre de copies créées, qui est égal à 1. Cette option de création de copies d'objets est pratique si les copies doivent avoir les mêmes coordonnées que l'original.

Une autre option de clonage consiste à utiliser les commandes Miroir (Miroir) et Tableau (Array).

Le premier d'entre eux est appelé par le bouton Mettre en miroir les objets sélectionnésà partir de la boîte de dialogue supplémentaire Miroir : coordonnées de l'écran(Fig. 4.10) permet de sélectionner l'axe de copie - X, Y, Z ou le plan de copie - XY, YZ, ZX.


FIGURE 4.10. Création de copies miroir d'objets

Position du commutateur Sélection de clones permet de sélectionner le type de copies à créer, et la position Pas de clone (il clone) réalise une image miroir de l'objet original sans créer de copies.

Équipe Tableau appelé à partir de la liste des boutons situés sur la barre d'outils Contraintes d'axe. Boîte de dialogue du même nom Tableau permet de définir la méthode de copie, la dimension du tableau (1,2 ou 3D), ainsi que le type de transformation (Déplacer, faire pivoter ou échelle) qui sera appliqué à chaque exemplaire (Fig. 4.11).


FIGURE 4.11. Création de tableaux

Image:

Image:

Image:

Image:

8. Combiner des objets en groupes

Regroupement d'objets

Pour faciliter la gestion des ensembles d'objets et simplifier les scènes riches en objets, utilisez la commande Groupe. Il est appelé via l'élément de menu déroulant du même nom Groupe et s'applique aux objets sélectionnés. Une fenêtre de saisie du nom du groupe à créer apparaît (Fig. 4.12). Une fois le nom du groupe confirmé, un nouvel objet de scène est créé.


FIGURE 4.12. Numérotation par nom de groupe

Avec des objets regroupés en groupe selon certains critères (éléments constitutifs d'un objet complexe, ensembles fréquemment répétés d'objets du même type, etc.), il est très pratique d'effectuer des opérations telles que la sélection, le clonage, l'affectation de matériaux, les transformations. et beaucoup plus. Les groupes peuvent avoir une structure imbriquée à plusieurs niveaux. Considérons les possibilités de travailler avec des groupes d'objets dans l'environnement Max. Toutes les commandes de contrôle sont concentrées dans le menu déroulant Groupe mentionné précédemment :

  • Groupe- combine les objets sélectionnés dans un groupe avec un nouveau nom, saisi dans la boîte de dialogue du même nom (Fig. 4.12). Le nom du groupe apparaît en gras dans le champ Nom ou entre crochets dans la boîte de dialogue Sélectionner des objets (Figure 4.13).


FIGURE 4.13. Afficher les groupes dans les listes d'objets

Ouvrir - supprime partiellement le regroupement, permettant de sélectionner, modifier et transformer n'importe quel objet inclus dans le groupe ouvert. Dans ce cas, un objet supplémentaire apparaît, qui est un conteneur dimensionnel dans lequel s'inscrivent tous les objets du groupe et porte le nom spécifié lors de sa création. Ce conteneur est dessiné sur l'écran en couleur écarlate.

Fermer - Ramène le groupe à son état par défaut, en masquant l'objet portant le nom du groupe et en renvoyant le regroupement complet à tous les objets du groupe.

  • Dissocier- supprime le regroupement des objets inclus dans le groupe sélectionné, permettant un travail séparé sur chacun d'eux.
  • Exploser- supprime un groupe d'objets qui constituent un groupe imbriqué à plusieurs niveaux.
  • Détacher- sélectionne l'objet (ou les objets) sélectionnés dans le groupe. Pour exécuter cette commande, vous devez d'abord ouvrir le groupe avec la commande Ouvrir.
  • Attacher- ajoute les objets sélectionnés au groupe spécifié par le clic gauche de la souris.

Image:

Image:

9. Transformations d'objets

Transformations d'objets

Types de transformations

Dans l'environnement Max, trois opérations de transformation de base peuvent être effectuées avec n'importe quel objet, ensemble de plusieurs objets ou groupe - Déplacer, faire pivoter et mettre à l'échelle qui sont unis par un terme commun - Se transforme. Toutes les transformations sont affectées aux boutons correspondants dans Barre d'outils principale et échelle- liste des boutons. La transformation de déplacement permet de modifier la position d'un objet dans l'espace tridimensionnel, la rotation - son orientation et sa mise à l'échelle - les dimensions linéaires de l'objet. De plus, la dernière transformation peut être de trois types :

  • Uniforme- mise à l'échelle uniforme le long de trois axes de coordonnées X, Y, Z ;
  • Non uniforme- effectué selon l'un des axes ou plans de l'objet ;
  • Squash- mise à l'échelle simultanée mutuellement opposée selon l'un des axes et le plan des deux autres, ou vice versa.

Toutes les commandes de transformation sont dupliquées dans le menu contextuel de l'objet et peuvent être appelées en cliquant avec le bouton droit sur l'objet sélectionné.

En règle générale, les transformations des objets de la scène sont effectuées avec une précision approximative (« à l’œil ») en fonction de la perception visuelle de la position, de l’orientation ou de l’échelle. Il existe cependant des cas où une saisie précise des paramètres est nécessaire, pour lesquels la méthode est utilisée. Tapez. La boîte de dialogue correspondante peut être appelée via l'élément Saisie de transformation (saisie précise des paramètres de transformation) menu déroulant Outils. Selon le type de transformation sélectionné, une fenêtre est appelée Déplacer, faire pivoter ou Saisie de transformation d'échelle (déplacement, rotation ou mise à l'échelle), qui contient deux groupes de compteurs - Absolu : Monde et Décalage : Écran(Fig. 4.14).


FIGURE 4.14. Entrée précise des paramètres

Dans un premier temps, lors de l'appel de cette fenêtre, les compteurs du premier groupe affichent les valeurs exactes de la position de l'objet sélectionné dans l'espace tridimensionnel, son orientation. Lors du passage à un autre type de transformation (à l'aide des boutons modaux correspondants dans Barre d'outils principale ou en appelant le menu contextuel de l'objet en cours d'édition), la fenêtre de saisie passe immédiatement à celle appropriée.

Des outils supplémentaires qui contrôlent les paramètres des transformations dans Max sont Restriction spécifié par un groupe de boutons modaux, Système de coordonnées de référence sélectionnable à partir d’une liste de boutons. Ils sont tous situés sur la barre d'outils Contraintes d'axe(Fig. 4.15). Une autre liste de boutons Centre de points (Centre de transformation), conçu pour accompagner les transformations, est situé au Barre d'outils principale.

FIGURE 4.15. Groupe de boutons de restrictions Examinons chacun d'eux plus en détail.



Avez-vous aimé l'article? Partagez-le