Définissez le type de valeur de la liste de valeurs. Tapez la contrainte dans la liste de valeurs

Syntaxe complète (cliquez pour agrandir)

ListeValeurs

Description:

Une liste de valeurs est un objet qui n'est pas enregistré dans la base de données, qui permet de construire des ensembles dynamiques de valeurs pour résoudre des problèmes d'interface et les manipuler (ajouter, modifier, supprimer des éléments, trier). Il peut être rempli de valeurs de tout type, c'est-à-dire Dans une liste, les types de valeurs stockées peuvent être différents. Un exemple d'utilisation de cet objet consiste à organiser la sélection d'un document spécifique parmi une liste de documents possibles générée à l'aide d'un algorithme complexe.

Objets de collection : ÉlémentListeValeur

Il est possible qu'un objet contourne la collection à l'aide de l'opérateur Pour chaque... De... Cycle. Le parcours sélectionne les éléments de la collection.

Il est possible d'accéder à un élément de collection à l'aide de l'opérateur [...]. L'index de l'élément est passé en argument ( numérotation à partir de 0).

Propriétés:

Méthodes :

Insérer (Index, Valeur, Représentation, Étiquette, Image) Insère un nouvel élément dans la liste de valeurs à la position à l'index spécifié.SelectElement (Titre, Élément) Appelle une fenêtre permettant de sélectionner de manière interactive l'un des éléments inclus dans la liste de valeurs. Élément- l'élément sur lequel la liste de valeurs doit initialement être positionnée lors de la sélection interactive. Si la valeur du paramètre n’est pas un élément de liste de valeurs inclus dans la liste donnée, aucun positionnement n’aura lieu.Décharger les valeurs()Crée un tableau et y copie les valeurs de la liste des éléments de valeurs.Ajouter(Valeur, Représentation, Étiquette, Image)Ajoute un nouvel élément à la fin de la liste de valeurs.ChargerValeurs(ArrayValues)Charge une liste de valeurs avec les valeurs du tableau transmis. Dans ce cas, tous les éléments précédents de la liste sont supprimés.Remplir les notes(Marque) Définit une marque pour tous les éléments de la liste de valeurs.Index(Element)Obtient l'index d'un élément dans une liste de valeurs. S'il n'est pas trouvé, alors -1 est renvoyé.Count() Obtient le nombre d'éléments dans la liste de valeurs.Rechercher par valeur(SearchValue) Recherche la valeur d'un élément dans une liste de valeurs. Si aucun élément ne stocke une valeur égale à la valeur recherchée, alors la valeur est renvoyée Indéfini. Rechercher par ID(Identifiant)Récupère la liste des valeurs élément par identifiant. Si l'élément n'est pas trouvé, alors il est renvoyé Indéfini. Marquer les éléments(En-tête) Définit ou décoche (de manière interactive) les éléments de la liste de valeurs. Retour Vrai, si le bouton "OK" est enfoncé dans la boîte de dialogue, Mensonge- sinon.Clear() Efface la liste de valeurs, en supprimant tous les éléments.Afficher la sélection d'éléments(DescriptionNotificationsOnClosing, Title, Element) Appelle une fenêtre permettant de sélectionner de manière interactive l'un des éléments inclus dans la liste de valeurs.Afficher les éléments Mark(Description des alertes de clôture, en-tête) Conçu pour définir de manière interactive les états de marquage des éléments de la liste de valeurs.Get(Index)Récupère la valeur par index. Fonctionne de manière similaire à l'opérateur.Shift (Element, Offset) Décale un élément de la liste de valeurs vers l'avant ou vers l'arrière d'un nombre spécifié de positions.Copy() Crée une copie d'une liste de valeurs.Trier par valeur(Direction) Trie une liste de valeurs par ordre croissant ou décroissant des valeurs stockées par les éléments. Voir exemple ci-dessous.Trier par vue(Direction) Trie la liste des valeurs par ordre croissant ou décroissant par ordre alphabétique des représentations des éléments inclus dans la liste de valeurs. Voir exemple ci-dessous.Remove (Element) Supprime un élément d'une liste de valeurs, où Élément- index de l'élément à supprimer, ou de l'élément lui-même.

Concepteurs :

Nouvelle liste de valeurs
&OnClient Procédure ExecuteCode (Commande) /// Comment créer une liste de valeurs en 1s 8.3, 8.2 Liste = Nouvelle liste de valeurs ; /// Comment ajouter un élément à la liste des valeurs en 1s 8.3, 8.2 // ajoute les paramètres de la méthode :// - signification // - performance // - marque (obligatoire) // - image (obligatoire) Liste. Ajouter( 1980, // valeur de l'élément "L'année de naissance de Vasya"// performance ) ; Liste. Ajouter(1985, "L'année de naissance de Yulia") ; // les valeurs peuvent être de différents types Liste. Ajouter("Polina" , "Nom de l'enfant" ) ; /// Comment insérer un élément dans une liste de valeurs en 1s 8.3, 8.2 // insertion en position n°2 (les éléments sont numérotés à partir de 0) // élément avec valeur 2010 et représentation // "L'année de naissance de leur fille commune" Liste. Insérer(2, 2010, "L'année de naissance de leur fille commune") ; /// Comment contourner les éléments de la liste de valeurs en 1s 8.3, 8.2 Pour chaque élément du rapport de boucle de liste (Element. Representation + ": " + String(Element. Value) ) ; Fin du cycle ; /// Comment effacer la liste des valeurs en 1s 8.3, 8.2 Liste. Clair() ; Liste. Ajouter("Lundi"); Liste. Ajouter("Mardi"); Liste. Ajouter("Mercredi" ) ; /// Comment connaître le nombre d'éléments d'une liste de valeurs, ainsi que /// récupère un élément de liste par son index en 1s 8.3, 8.2 // numérotation à partir de zéro Pour Index = 0 Par liste. Quantité() - Rapport sur 1 cycle (Liste[Index]) ; Fin du cycle ; /// Comment trouver un élément de liste par sa valeur en 1s 8.3, 8.2 ValueTuesday = Liste. FindByValue("Mardi"); /// Comment connaître l'index d'un élément dans une liste en 1s 8.3, 8.2 Rapport(Liste.Index(ValueTuesday)) ; // 1, puisque la numérotation commence à zéro /// Comment trier une liste par ses valeurs en 1s 8.3, 8.2 // était : lundi, mardi, mercredi Liste. SortByValue(SortDirection.Descending) ; // est devenu : mercredi, lundi, mardi /// Comment supprimer un élément d'une liste de valeurs en 1s 8.3, 8.2 // supprime le premier élément // paramètre : élément de liste // ou index de l'élément// vous pouvez faire cette liste. Supprimer(Liste[ 0 ]) ; // ou alors // Liste.Delete(0); /// Comment décaler un élément d'une liste de valeurs en 1s 8.3, 8.2 // avance l'élément zéro d'une position // était : lundi mardi Liste. Déplacer(0, 1); // est devenu : mardi lundi /// Comment faire une copie d'une liste en 1s 8 ListCopy = Liste. Copie() ; Couleurs = NewValueList ; Couleurs. Ajouter("Rouge" ) ; Couleurs. Ajouter("Vert" ) ; Couleurs. Ajouter("Bleu" ) ; /// Comment télécharger des valeurs de liste dans un tableau en 1s 8.3, 8.2 ArrayColors = Couleurs. DéchargerValeurs() ; /// Comment charger les valeurs d'une liste à partir d'un tableau en 1s 8.3, 8.2 Couleurs. LoadValues(ArrayColors) ; Fin de la procédure /// Comment faire une sélection non modale d'une valeur dans une liste /// valeurs en 1s 8.3, 8.2&Sur la procédure client Comment effectuer une sélection de valeur non modale (commande) Colors = New ValueList ; Couleurs. Ajouter("Rouge" ) ; Couleurs. Ajouter("Vert" ) ; Couleurs. Ajouter("Bleu" ) ; // la procédure AfterSelectingElement est définie juste en dessous AlertAfterElementSelection = Nouvelles alertes de description ( "Après la sélection d'éléments", CetObjet ) ; Couleurs. ShowElementSelection(NotificationAfterElementSelection, "Choisissez votre couleur préférée") ; Fin de procédure &Sur procédure client Après sélection d'élément (élément, paramètres) Exporter si élément<>Non défini Then Report(Element.Value) ; Fin si ; Fin de la procédure /// Comment faire un marquage non modal des valeurs d'une liste /// valeurs en 1s 8.3, 8.2&Sur la procédure client Comment faire un marquage non modal des valeurs (Commande) Couleurs = Nouvelle liste de valeurs ; Couleurs. Ajouter("Rouge" ) ; Couleurs. Ajouter("Vert" ) ; Couleurs. Ajouter("Bleu" ) ; // la procédure AfterMarkingElements est définie juste en dessous AlertAfterMarkingItems = Nouvelles alertes de description ( "Après le marquage des éléments", CetObjet ) ; Couleurs. ShowTagItems( AlertAfterTagItems, "Choisissez vos couleurs préférées") ; Couleurs. RemplissezNotes(Vrai) ; Fin de procédure &Sur procédure client Après marquage des éléments (Éléments, Paramètres) Exporter si éléments<>Indéfini puis pour chaque couleur du cycle des éléments si couleur. Marquer puis signaler (Color.Value) ; Fin si ; Fin du cycle ; Fin si ; Fin de la procédure /// Comment faire une sélection modale d'une valeur dans une liste en 1s 8.3, 8.2&Sur la procédure client Comment créer une ModalValueSelection(Command) Colors = New ValueList; Couleurs. Ajouter("Rouge" ) ; Couleurs. Ajouter("Vert" ) ; Couleurs. Ajouter("Bleu" ) ; SelectColor = Couleurs. Sélectionner un article( "Choisissez votre couleur préférée") ; Si SélectionnerCouleur<>Non défini puis rapport (SelectColor.Value) ; Fin si ; Fin de la procédure /// Comment marquer modalement les valeurs d'une liste /// valeurs en 1s 8.3, 8.2&Sur la procédure client Comment faire une marque modale de valeurs (Commande) Couleurs = Nouvelle liste de valeurs ; Couleurs. Ajouter("Rouge" ) ; Couleurs. Ajouter("Vert" ) ; Couleurs. Ajouter("Bleu" ) ; Si les couleurs. Marquer les éléments ( "Choisissez vos couleurs préférées") Puis pour chaque couleur du cycle de couleur si couleur. Marquer puis signaler (Color.Value) ; Fin si ; Fin du cycle ; Fin si ; // voici comment définir toutes les marques en même temps // liste une valeur spécifique Couleurs. RemplissezNotes(Vrai) ; Fin de la procédure /// Téléchargez et exécutez ces exemples sur votre ordinateur

UNITÉ 10. LISTE DES VALEURS EN LANGAGE 1C (EN EXEMPLES)

Description:

Une liste de valeurs est un objet qui n'est pas enregistré dans la base de données, qui permet de construire des ensembles dynamiques de valeurs pour résoudre des problèmes d'interface et les manipuler (ajouter, modifier, supprimer des éléments, trier). Il peut être rempli de valeurs de tout type, c'est-à-dire Dans une liste, les types de valeurs stockées peuvent être différents. Un exemple d'utilisation de cet objet consiste à organiser la sélection d'un document spécifique parmi une liste de documents possibles générée à l'aide d'un algorithme complexe.

Objets de collection : ÉlémentListeValeur

Il est possible qu'un objet contourne la collection à l'aide de l'opérateur Pour chaque ... Depuis ... Faire du vélo. Le parcours sélectionne les éléments de la collection.

Il est possible d'accéder à un élément de collection à l'aide de l'opérateur [...]. L'index de l'élément (numéroté à partir de 0) est passé en argument.

Propriétés:

Valeurs disponibles

Il est utilisé dans les cas où il est nécessaire de limiter la possibilité de définir des valeurs pour les éléments de la liste à un certain sous-ensemble de valeurs d'un type valide (si la description du type est définie pour la liste). Indéfini- il n'y a aucune restriction.

La définition de cette propriété affecte le fonctionnement de la boîte de dialogue d'édition de la liste de valeurs, les contrôles « Table » et « Champ de saisie » associés à la liste de valeurs, ainsi que l'ajout et l'insertion par programme d'un nouvel élément de la liste de valeurs. ​​et définir des valeurs pour les éléments de la liste.

TypeValeur

Définit le type des valeurs pouvant être stockées dans les éléments d'une liste de valeurs donnée.

Insérer(,)

Insère un nouvel élément dans la liste de valeurs à la position à l'index spécifié.

Sélectionner un article(,)

Élément- l'élément sur lequel la liste de valeurs doit initialement être positionnée lors de la sélection interactive. Si la valeur du paramètre n’est pas un élément de liste de valeurs inclus dans la liste donnée, aucun positionnement n’aura lieu.

DéchargerValeurs()

Crée un tableau et y copie les valeurs de la liste des éléments de valeurs.

Add(,) Ajoute un nouvel élément à la fin de la liste de valeurs.

LoadValues()

Charge une liste de valeurs avec les valeurs du tableau transmis. Dans ce cas, tous les éléments précédents de la liste sont supprimés.

RemplissezNotes()

Définit une marque pour tous les éléments de la liste de valeurs. Index(Élément>)

Obtient l'index d'un élément dans une liste de valeurs. S'il n'est pas trouvé, alors -1 est renvoyé.

Quantité()

Obtient le nombre d'éléments d'une liste de valeurs.

TrouverByValue()

Recherche la valeur d'un élément dans une liste de valeurs. Si aucun élément ne stocke une valeur égale à la valeur recherchée, alors la valeur est renvoyée Indéfini.

TrouverByIdentifier()

Obtient la liste des éléments de valeurs par identifiant. Si l'élément n'est pas trouvé, alors il est renvoyé Indéfini.

Marquer les éléments()

Définit ou décoche (de manière interactive) les éléments dans une liste de valeurs. Retour Vrai, si le bouton "OK" est enfoncé dans la boîte de dialogue, Mensonge- sinon.

Clair()

Efface une liste de valeurs en supprimant tous les éléments.

ShowElementSelection(,)

Appelle une fenêtre permettant de sélectionner de manière interactive l'un des éléments inclus dans la liste de valeurs.

Afficher les éléments de marque (,)

Conçu pour définir de manière interactive les états de marquage pour la liste d'éléments de valeurs.

Obtenir()

Obtient la valeur par index. Fonctionne de la même manière que l'opérateur) ;

Fin du cycle ;

III Comment trouver un élément de liste par sa valeur dans 1C

ValueTuesday = List.FindByValue("Mardi");

III Comment connaître l'index d'un élément dans une liste en 1C

Rapport (Liste.Index (ValeurTuesday));

// 1, puisque la numérotation commence à zéro

III Comment trier une liste par ses valeurs dans 1C

Liste.SortByValue

(SortDirection.Descending);

III Comment supprimer un élément d'une liste de valeurs dans 1C

// supprime le premier élément de la Liste. Supprimer(Liste);

// paramètre : élément de liste

III Comment déplacer une liste d'éléments de valeurs dans 1C

// décale le premier élément d'une position vers l'avant List.Shift(0, 1);

III Comment faire une copie d'une liste en 1C

ListCopy = List.Copy);

Couleurs = NewValueList();

Couleurs. Ajouter("Rouge");

Couleurs. Ajouter("Vert");

Couleurs. Ajouter("Bleu");

III Comment vider les valeurs de la liste dans un tableau en 1C

ArrayColors = Couleurs. DéchargerValeurs();

III Comment charger les valeurs de liste à partir d'un tableau dans 1C

Couleurs.LoadValues(ColorsArray);

III Comment faire une sélection modale d'une valeur dans une liste en 1C

SélectionnerCouleur =

Colors.SelectItem("Sélectionnez votre couleur préférée"); Si SelectColor n'est pas défini, alors Report(SelectColor.Value);

fin si;

III Comment faire une marque modale de valeurs à partir d'une liste en 1C

Si Colors.MarkElements("Sélectionnez vos couleurs préférées") Alors

Pour chaque couleur du cycle de couleur si couleur. Marquer puis rapporter (Color.Value);

fin si;

Fin du cycle ;

fin si;

// vous pouvez définir toutes les marques en même temps sur une valeur de couleur spécifique. FillNotes(Vrai);

Il arrive souvent que vous deviez limiter les types de données disponibles pour la sélection lors de la modification d'une liste de valeurs. Si, selon les conditions du problème, on sait que la liste de valeurs contiendra des données d'un seul type spécifique, il est logique de limiter les types disponibles. Sinon, lors de l'édition, l'utilisateur est obligé de sélectionner indépendamment un type parmi tous ceux disponibles dans la configuration, ce qui n'est pas pratique.

A cet effet, un attribut de formulaire de type « Liste de valeurs » possède une propriété « Type de valeur ». Cependant, si l'on souhaite afficher sur un formulaire une table (ou un champ) associé à un attribut d'objet (et non un formulaire), une telle propriété n'apparaîtra pas dans la palette des propriétés. Ce qu'il faut faire?

Prenons un exemple dans lequel nous souhaitons afficher la valeur de la sélection d'une option de rapport sur un formulaire. Nous aurons un élément de sélection avec le type de comparaison « Dans la liste », il n'est donc pas pratique d'afficher une sélection de composition de données standard sur le formulaire. Pour ce faire, nous créerons un nouvel attribut de rapport de type « Liste de valeurs », à travers lequel nous gérerons la valeur de sélection de mise en page. Mais l'attribut de rapport n'a pas la propriété « Type de valeur ».

Créons un autre attribut sur le formulaire avec le type "Liste de valeurs". Il aura déjà cette propriété. Sélectionnons le type de données dont nous avons besoin dans cette propriété et affichons cet attribut sur le formulaire.

Vous avez une question ou besoin de l'aide d'un consultant ?

Nous devons maintenant configurer la synchronisation des attributs du formulaire et des attributs du rapport. Dans ce cas, le code du module de formulaire ressemblera à ceci :

Permettez-moi de noter que le passage des éléments de la liste un par un dans une boucle n'a pas été fait par accident. Si tu écris

ThisForm.SelectionValue = SelectionElement.RightValue ;

par analogie avec

Rapport.SelectionValue = SelectionElement.RightValue ;

cela ne donnera pas l'effet recherché, car... dans ce cas, la liste entière est copiée, avec toutes les propriétés, y compris la propriété « Value Type », qui n'est pas renseignée pour Selection Element.RightValue. Ainsi, le type de valeur que nous avons défini sera réinitialisé.