Maison / l'Internet / Obtenez le type de requête 1s. Comment obtenir le Kind (type) du Document dans une requête ? Connexion gauche et droite

Obtenez le type de requête 1s. Comment obtenir le Kind (type) du Document dans une requête ? Connexion gauche et droite

Attention! Voici une version d'essai de la leçon, dont le matériel peut ne pas être complet.

Connectez-vous en tant qu'étudiant

Connectez-vous en tant qu'étudiant pour accéder au contenu de l'école

Langage de requête 1C 8.3 pour les programmeurs débutants : fonctions et opérateurs pour travailler avec des types (VALUE TYPE, TYPE, REFERENCE, IS NULL, EXPRESS)

Rappelons que chaque attribut (propriété, champ) d'un ouvrage de référence, d'un document ou de tout autre objet applicatif a son propre type. Et on peut voir ce type dans le configurateur :

Le langage de requête dispose de toute une classe de fonctions et d'opérateurs pour travailler avec des types d'attributs. Jetons un coup d'oeil à eux.

Fonction TYPE-VALEUR

Cette fonction prend un paramètre (valeur) et renvoie son type. Pour les accessoires décrits dans l'image (ci-dessus) Goût annuaire Nourriture renverra ce qui suit :

Jetons maintenant un œil aux accessoires. Caractéristiqueà l'annuaire Villes:

Vous pouvez voir que cet accessoire peut être de plusieurs types : Doubler, Annuaire Goûts, Référence.Couleurs. Ce type de détails est appelé COMPOSITE.

Si nous essayons de renseigner la valeur d'un tel attribut en mode 1C:Entreprise, le système nous demandera quel type sera la valeur d'entrée :

Et seulement après que notre choix vous permettra de saisir la valeur du type sélectionné.

Ainsi, les éléments de répertoire du même type ( Annuaire.Villes) pourra stocker dans le même attribut ( Caractéristique) valeurs différents types(Ficelle, Couleurs ou Saveurs).

Vous pouvez le vérifier par vous-même en cliquant sur les éléments de l'annuaire Villes en mode 1C : Entreprise. Vous lisez une version d'essai de la leçon, les leçons complètes se trouvent.

Ici, la valeur de la caractéristique est un élément de référence Goûts:

Voici la ligne :

Et ici, en général, un élément du répertoire Couleurs:

Ce sont les possibilités que nous ouvre un type de données composite !

Je me demande comment la fonction va se comporter TYPE DE VALEUR sur les accessoires Élément distinctif, qui a un type de données composite :

C'est déjà très intéressant. Traitons chaque ligne séparément.

Le type de valeur de caractéristique pour l'élément Russie est NUL. C'est la première fois que nous rencontrons ce type. Les valeurs de ce type sont utilisées uniquement pour déterminer la valeur manquante lors de l'utilisation de la base de données.

En effet, l'élément Russie est un groupe et non un élément ordinaire du répertoire. Villes, donc il n'a pas de champ Caractéristique. Et le type de la valeur manquante, comme on l'a lu ci-dessus, est toujours égal à NUL.

Le type de valeur de la caractéristique distinctive pour Perm est Goûts. Il en est ainsi, car la valeur du signe distinctif noté dans la base de données de la ville de Perm est un lien vers l'élément d'annuaire Goûts.

Pour Krasnoïarsk, le type d'entité est égal à Couleurs, car la valeur sélectionnée dans la base de données est une référence à un élément du dictionnaire Couleurs.

Pour Voronej, le type d'entité est égal à Doubler, car la valeur saisie dans la base de données est une chaîne normale.

L’Inde est à nouveau un groupe, donc le sens manque. Et le type de la valeur manquante, si nous nous en souvenons, est NUL.

Et voici le problème. Si vous allez à l'élément répertoire Villes avec le nom São Paulo, vous verrez que le champ Caractéristique complètement vide. C'est vide. UN tous les champs vides d'un type composite ont une signification particulière INDÉFINI .

AVEC INDÉFINI nous nous rencontrons également pour la première fois. Signification INDÉFINI utilisé lorsque vous souhaitez utiliser une valeur vide qui n’appartient à aucun autre type. C'est juste notre situation. Un type valeur INDÉFINI, comme vous l'avez probablement déjà deviné, est égal à NUL.

TYPE de fonction

Il ne prend qu'un seul paramètre - le nom du type primitif ( DOUBLER, NOMBRE, DATE, BOOLÉEN), ou le nom de la table dont vous souhaitez obtenir le type de référence.

Le résultat de cette construction sera une valeur de type Type pour le type spécifié.

Cela semble flou, n'est-ce pas ?

Regardons l'application de cette conception et tout se mettra immédiatement en place.

Supposons que nous voulions sélectionner toutes les entrées du répertoire Villes, qui ont un attribut composite Caractéristique a une valeur de type DOUBLER:

Sélectionnons maintenant tous les enregistrements qui ont des valeurs d'attribut Caractéristique sont des références à des éléments de référence Couleurs(tableau Référence.Couleurs):

Retraite

Comme vous vous en souvenez, certains éléments du répertoire Villes je n'ai pas d'accessoires Caractéristique. Fonction TYPE DE VALEUR pour de tels éléments donne NUL.

Comment est-il possible de faire la sélection de tels éléments sur demande ? Il existe un opérateur logique spécial pour cela. EST NULL(à ne pas confondre avec la fonction EST NUL dont nous parlerons ci-dessous). Vous lisez une version d'essai de la leçon, les leçons complètes se trouvent.

Voici un exemple de son utilisation :

Super. Mais vous avez remarqué qu'il n'y a pas d'élément Sao Paulo ici, type de valeur props Caractéristique qui a également été publié NUL. Pourquoi est-ce arrivé ?

Et le fait est que la situation pour les groupes (Russie, Inde, Brésil), pour lesquels remplir les détails Caractéristique impossible en principe, puisqu'ils ne l'ont pas du tout, diffère de la situation de l'élément de Sao Paulo, pour lequel le remplissage des accessoires est possible, mais il n'est tout simplement pas rempli et, comme on s'en souvient, sens spécial INDÉFINI.

Pour sélectionner tous les enregistrements comportant des accessoires Caractéristique présent mais non rempli, une autre construction doit être utilisée :

Mais comparer avec UNDETERMINATED pour définir des accessoires vides (non remplis) ne fonctionnera que pour les types composites.

À propos, la forme de négation de l'opérateur logique IS NULL ressemble à ceci :

Opérateur booléen RÉFÉRENCE

Par exemple, choisissons dans le répertoire Villes uniquement les enregistrements qui ont la valeur d'un attribut composite Caractéristique sont une référence à un élément de référence Goûts:

Comme vous vous en souvenez, nous pourrions résoudre le même problème en utilisant TYPE DE VALEUR Et TAPER:

Fonction EST NULL

La fonction est destinée à remplacer la valeur NULà une autre valeur.

On se souvient que la valeur NUL est renvoyé si l'attribut demandé (champ, propriété) n'existe pas.

Comme des accessoires Caractéristique pour les groupes d'annuaire Villes:

Fonction EST NUL nous aidera à afficher une autre valeur si cette valeur est égale à NUL. Vous lisez une version d'essai de la leçon, les leçons complètes se trouvent. Soit dans ce cas la ligne "Un tel attribut n'existe pas !" :

Il s'avère que si le premier paramètre de la fonction EST NUL inégal NUL, puis il revient. S'il est NULL, alors le deuxième paramètre est renvoyé.

Fonction EXPRESSE

Cette fonction concerne uniquement les champs de type composite. Un bon exemple d'un tel domaine est la propriété Caractéristique pour les éléments du répertoire Villes.

Comme nous nous en souvenons, les champs composites peuvent être de plusieurs types spécifiés dans le configurateur.

Pour le terrain Caractéristique ces types valides sont DOUBLER, Référence.Couleurs Et Annuaire Goûts.

Parfois, il devient nécessaire de convertir les valeurs d'un champ composite en un type particulier.

Listons toutes les valeurs de champ Caractéristique taper Référence.Couleurs:

En conséquence, toutes les valeurs d'éléments qui avaient le type Référence.Couleurs, est resté rempli et s'est avéré être réduit au type spécifié. Toutes les valeurs d'autres types ( DOUBLER, Annuaire Goûts) sont maintenant égaux NUL. C'est la particularité du transtypage utilisant la fonction EXPRIMER.

Vous pouvez convertir un type en type primitif ( BOOLÉEN, NOMBRE, DOUBLER, DATE) ou à un type de référence. Vous lisez une version d'essai de la leçon, les leçons complètes se trouvent. Mais le type vers lequel la conversion est effectuée doit être inclus dans la liste des types pour ce champ composite, sinon le système générera une erreur.

Passer l'examen

Démarrer l'essai

1. Choisissez l'énoncé le plus correct

2. Les attributs qui peuvent prendre des valeurs de l'un des nombreux types sont appelés

3. Pour déterminer le type de valeur d'attribut, la fonction convient

4. Les attributs de type composite non remplis sont importants

Le langage de requête 1C est l'une des principales différences entre les versions 7.7 et 8. L'un des points les plus importants dans l'apprentissage de la programmation 1C est le langage de requête. Dans 1C 8.3, les requêtes sont l'outil le plus puissant et le plus efficace pour obtenir des données. Le langage de requête vous permet d'obtenir des informations de la base de données de manière pratique.

La syntaxe elle-même ressemble beaucoup au T-SQL classique, sauf que dans 1C, en utilisant le langage de requête, vous ne pouvez obtenir des données qu'en utilisant la construction Select. Le langage prend également en charge des constructions plus complexes, telles que (requête dans une requête). Les demandes en 1C 8 peuvent être faites aussi bien en cyrillique qu'en latin.

Dans l'article, je vais essayer de parler des principaux mots-clés du langage de requête 1C :

  • choisir
  • autorisé
  • divers
  • exprimer
  • d'abord
  • pour changer
  • signification
  • type de valeur (et opérateur REF)
  • choix
  • par groupe
  • ayant
  • EST NUL
  • Il y a NULL
  • connexions - droite, gauche, interne, complète.

Ainsi que de petites astuces du langage 1C, à l'aide desquelles vous pouvez construire de manière optimale le texte de la requête.

Pour déboguer les requêtes dans le système 1C 8.2, un outil spécial est fourni - la console de requêtes. Vous pouvez voir la description et la télécharger sur le lien -.

Considérez les opérateurs les plus importants et les plus intéressants du langage de requête 1C.

SÉLECTIONNER

Dans le langage de requête 1C Enterprise 8, toute requête commence par mot-clé CHOISIR. Il n'y a pas de constructions UPDATE, DELETE, CREATE TABLE, INSERT dans le langage 1C, ces manipulations sont effectuées à l'aide de la technique objet. Son objectif est de lire uniquement des données.

Par exemple:

CHOISIR
CurrentCatalog.Name
DEPUIS
Référence.Nomenclature AS CurrentRéférence

La requête renverra une table avec les noms des éléments.

à côté de la structure CHOISIR des mots-clés peuvent être trouvés POUR CHANGER, AUTORISÉ, DIVERS, D'ABORD

AUTORISÉ- sélectionne uniquement les enregistrements de la table sur lesquels l'utilisateur actuel a des droits.

DIVERS- signifie que le résultat n'inclura pas de lignes en double.

SÉLECTION (CAS)

Très souvent, cette construction est sous-estimée par les programmeurs. Un exemple de son utilisation :

Catalogue actuel.Nom,

QUAND CurrentCatalog.Service ALORS

"Service"

FIN COMME UNE GenreNomenclature

Référence.Nomenclature AS CurrentRéférence

L'exemple renverra une valeur de texte dans le champ "Type de nomenclature" - "Produit" ou "Service".

Une construction de langage de requête 1C qui vous permet d'appliquer une sélection aux données reçues. Veuillez noter que le système reçoit toutes les données du serveur et qu'alors seulement elles sont sélectionnées en fonction de ce paramètre.

CHOISIR
Répertoire.Nom
DEPUIS
CurrentDirectory.Nomenclature AS CurrentDirectory
OÙ CurrentDirectory.Service = VRAI

Dans l'exemple, nous sélectionnons les enregistrements dont la valeur de l'attribut « Service » est définie sur « True ». DANS cet exemple il serait possible de s'en sortir avec la condition suivante :

"OÙ Service"

Essentiellement, nous sélectionnons les lignes dont l'expression après le mot-clé est égale à "True".

Vous pouvez utiliser des conditions directes dans les expressions :

OÙ Code = "005215"

En utilisant l'opérateur "VALUE()" dans les conditions, utilisez l'appel pour éléments prédéfinis et énumérations dans la requête 1C :

OÙ Type d'élément = Valeur (Énumération. Types d'éléments. Article)

Les valeurs de temps peuvent être spécifiées comme suit :

OÙ DateIncoming > DATETIME(2012,01,01) :

Le plus souvent, les conditions sont spécifiées sous forme de paramètres transmis à la requête :

Obtenez 267 leçons vidéo 1C gratuitement :

OÙ ItemGroup= &ItemGroup

La condition peut être imposée sur le type d'attribut s'il est de type composite :

Si vous devez limiter la sélection dans une liste de valeurs ou un tableau, vous pouvez procéder comme suit :

OÙ Registre d'accumulation.Registrar B (&Liste des documents à sélectionner)

La condition peut être complexe, composée de plusieurs conditions :

OÙ DateIncoming > DATETIME(2012,01,01) AND ItemGroup= &ItemGroup AND NOT Service

PAR GROUPE

Construction du langage de requête 1C 8.2 utilisée pour regrouper le résultat.

Par exemple:

CHOISIR
Réception de biens, services, marchandises.
SUM(Marchandises entrantes, Services, Marchandises. Quantité) AS Quantité,
SUM(Biens entrants, services, biens. Montant) AS Somme
DEPUIS
Document.Réception de marchandisesServices.Marchandises AS Réception de marchandisesServicesBiens

PAR GROUPE
Réception de biens, services, marchandises.

Cette requête résumera toutes les réceptions par montant et quantité dans le contexte de l'article.

Hormis le mot-clé SOMME d'autres fonctions d'agrégation peuvent être utilisées : QUANTITÉ, NOMBRE DE DIFFÉRENTS, MAXIMUM, LE MINIMUM, MOYENNE.

AYANT

Une construction souvent oubliée, mais elle est très importante et utile. Il permet de préciser une sélection sous la forme fonction d'agrégation, cela ne peut pas être fait dans la conception .

Un exemple d'utilisation de HAVING dans une requête 1C :

CHOISIR
Réception de biens, services, marchandises.
SUM(Marchandises entrantes, Services, Marchandises. Quantité) AS Quantité,
SUM(Biens entrants, services, biens. Montant) AS Somme
DEPUIS
Document.Réception de marchandisesServices.Marchandises AS Réception de marchandisesServicesBiens

PAR GROUPE
Réception des marchandisesServicesGoods.goods

SOMME (Marchandises entrantes, Services, Marchandises. Quantité) > 5

Nous sélectionnerons donc le nombre de marchandises qui ont reçu plus de 5 pièces.

SIGNIFICATION()

Par exemple:

OÙ Banque = Valeur (Catalog.Banks.EmptyReference)

OÙ Type de nomenclature = Valeur (Répertoire. Types de nomenclature. Produit)

OÙ Type d'élément = Valeur (Énumération. Types d'éléments. Service)

TYPE dans la demande

Le type de données peut être vérifié comme suit : à l'aide des fonctions TYPE() et VALUETYPE(), ou à l'aide de l'opérateur logique REFERENCE.

EXPRIMER()

L'opérateur Express dans les requêtes 1C est utilisé pour convertir les types de données.

Syntaxe: EXPRIMER(<Выражение>COMMENT<Тип значения>)

Avec lui, vous pouvez convertir des valeurs de chaîne en dates ou des valeurs de référence en données de chaîne, etc.

En pratique, l'opérateur Express() est très souvent utilisé pour convertir des champs de longueur illimitée, car les champs de longueur illimitée ne peuvent pas être sélectionnés, regroupés, etc. Si ces champs ne sont pas convertis, vous obtiendrez une erreur Vous ne pouvez pas comparer des champs de longueur illimitée et des champs de types incompatibles.

CHOISIR
ContactInformation.Object,
EXPRESS(ContactInformation.View AS STRING(150)) AS View
DEPUIS
Registre d'information.Coordonnées AS Coordonnées

PAR GROUPE
EXPRESS(ContactInformation.Représentation AS A STRING(150)),
ContactInformation.Object

EST NULL (ISNULL)

Assez fonctionnalité utile langage de requête 1C, qui vérifie la valeur dans l'enregistrement, et si elle est égale NUL, cela vous permet de le remplacer par votre propre valeur. Le plus souvent utilisé lors de la réception tables virtuelles soldes et chiffres d'affaires à cacher NUL et mettez un 0 clair (zéro).

ISNULL(TaxesPrevMonth.Exonération FSS appliquée, 0)

Une telle fonction du langage de requête 1C IS NULL en l'absence de valeur renverra zéro, ce qui évitera une erreur.

REJOINDRE

Les connexions sont de 4 types : GAUCHE, DROITE, COMPLET, INTERNE.

REJOINDRE GAUCHE et DROITE

Les jointures sont utilisées pour lier deux tables selon une certaine condition. Fonctionnalité sur JOINT GAUCHE en ce sens que nous prenons complètement la première table spécifiée et lions la deuxième table par condition. Les champs de la deuxième table qui n'ont pu être liés par condition sont remplis avec la valeur NUL.

Un exemple de jointure gauche dans une requête 1C :

Il renverra le tableau entier et remplira le champ « Banque » uniquement aux endroits où la condition « Counterparties.Name = Banks.Name » sera remplie. Si la condition n'est pas remplie, le champ Banque sera défini sur NUL.

REJOINDRE À DROITE dans 1C 8.3 absolument similaire Joint gauche, à une différence près : REJOINDRE À DROITE la table "maître" est la deuxième, pas la première.

CONNEXION COMPLÈTE

CONNEXION COMPLÈTE diffère de la gauche et de la droite en ce sens qu'il affiche tous les enregistrements de deux tables et rejoint uniquement ceux qui peuvent être joints par condition.

Par exemple:

CONNEXION COMPLÈTE
Annuaire Banques AS Banques

PAR

Le langage de requête renverra les deux tables dans leur intégralité uniquement si la condition Join Records est remplie. Contrairement à une jointure gauche/droite, il est possible que des valeurs NULL apparaissent dans deux champs.

JOINTURE INTERNE

JOINTURE INTERNE diffère du modèle complet en ce sens qu'il affiche uniquement les enregistrements qui pourraient être connectés selon une condition donnée.

Par exemple:

DEPUIS
Annuaire Contreparties AS Clients

JOINTURE INTERNE
Annuaire Banques AS Banques

PAR
Clients.Nom = Banques.Nom

Cette requête renverra uniquement les lignes où la banque et la contrepartie portent le même nom.

Conclusion

Ce n'est qu'une petite partie de la syntaxe du langage de requête 1C 8, à l'avenir j'essaierai d'examiner certains points plus en détail, de montrer et bien plus encore !

Demande . Texte = "CHOISIR | usStorageUnits.Référence | DE | Référence.usStorageUnits AS usStorageUnits // Exemple 1. comparaison avec une valeur booléenne vide : |OÙ | setStorageUnit.Allow SelectionFromStandbyZone = False // Exemple 2. mais si ce booléen est défini, alors c'est mieux : // condition sur un booléen négatif : |OÙ | PAS avecStorageUnits.Autoriser le retrait deStandbyZone // Exemple 3. sélection par condition d'un champ vide de type "référence type béton" |OÙ | setStorageUnit.ActiveFilterRegion = VALUE(Catalog.FilterRegion us.NullReference) // Exemple 3a. sélection par condition d'un champ vide du type "document d'un type spécifique" |OÙ | OurInformationRegister.Document = VALUE(Document.OurDocument.EmptyReference) // Exemple 3b. sélection par condition d'un champ vide de type "documents de différents types" ( champ composite) |OÙ | (OurInformationRegister.Document = VALUE(Document.OurDocument1.EmptyReference) | OR OurInformationRegister.Document = VALUE(Document.OurDocument2.EmptyReference) | OR... (etc. - répertorier séquentiellement les conditions pour tous les types possibles de ce champ composite) ) // Exemple 4. ou vice versa, si vous devez sélectionner une valeur remplie de type "string", alors la condition vous aidera : | OÙ | usStorageUnits.Nom > """" // Exemple 5. si vous devez sélectionner des documents d'un type spécifique, avec un type de données composite, par exemple, dans le registre "Tâches exécutées", la ressource "Tâche" a un type composite, parmi les valeurs dont le document "Sélection" est possible |OÙ | EXPRESS(InformationRegisterJobs à effectuer.Job AS Document.Filter) REF Document.Filter // Exemple 5a. Un autre exemple similaire lorsque vous devez sélectionner des documents d'un type spécifique | CHOIX | QUAND EXPRESSER(agDocument Compliance.DocumentBU AS Document.Incoming Goods/Services) RÉFÉRENCE Document.Incoming Goods/Services | PUIS ""Réception de biens ou de services"" | QUAND EXPRESSER(ar Correspondance des Documents.DocumentBU AS Document.Ventes de Biens de Services) Document de RÉFÉRENCE.Ventes de Biens de Services | PUIS « Réalisation de Biens et Services » | AUTRE """" | FIN COMME KindDocument // Exemple 6. sélection par condition d'une valeur non définie : |OÙ | SavedSettings.User = NON défini // Exemple 7. sélection par type de mouvement « Entrant » du registre d'accumulation, « Dépense » - de même) : |OÙ | RegGoodsRetail.MovementType = VALEUR (MovementAccumulationType.Income) // Exemple 8. Comment indiquer dans la requête qu'il n'est pas nécessaire d'exécuter la requête (par exemple, vous devez renvoyer par programme un résultat de requête vide en fonction d'une condition - Query.Text = StrReplace(Query.Text, "WHERE Doc.Link = &DocumentLink" , "OÙ MENTIR");). Pour ce faire, ajoutez simplement la condition « Où est faux ». À propos, quelle que soit la quantité de données demandées dans l'échantillon, une telle demande sera exécutée instantanément. |OÙ MENTIR // Exemple 9. Vérifier si le résultat de la requête contient des données : SinonDemande.Courir().Vide() Alors // Exemple 10. sélection par condition d'une date vide : |OÙ | tbRows.CancellationDate = DATETIME(1, 1, 1)

43
NULL - valeurs manquantes. A ne pas confondre avec valeur nulle! NULL n'est pas un nombre, n'est pas égal à un espace, référence nulle, non défini. NULL est une valeur de formation de type, c'est-à-dire il existe un type NULL et une seule valeur de ce type. NUL... 26
Pour former et exécuter des requêtes sur les tables de base de données de la plate-forme 1C, un objet spécial du langage de programmation Request est utilisé. Cet objet est créé en appelant la construction New Request. Demande pratique... 18
L'article contient astuces utiles lorsque vous travaillez avec des requêtes 1C v.8.2, ainsi que des informations moins connues sur le langage de requête. je n'essaye pas de donner Description complète langage de requête, mais je veux me concentrer uniquement sur... 13
LIKE - Un opérateur pour vérifier si une chaîne est similaire à un modèle. Analogue de LIKE en SQL. L'opérateur LIKE vous permet de comparer la valeur de l'expression spécifiée à gauche avec la chaîne de modèle spécifiée à droite. Valeur de l'expression...

1C vous permet de simplifier considérablement la comptabilité ou simplement de gérer n'importe quelle organisation, qu'il s'agisse d'un petit magasin ou grande entreprise. Le programme est un grand système de gestion de base de données. Afin de ne pas vous perdre dans tout cela, vous devez être capable d'effectuer diverses actions simples et d'en comprendre l'essence. Ensuite, vous comprendrez comment vérifier le type d'une valeur dans une requête en 1C, ainsi que ce qu'elles sont, en général, et comment les distinguer.

Types de valeur

1C : L'entreprise a inclus une fonction spéciale dans les nouvelles versions (plateforme 8.2). En l'utilisant, vous pouvez ajouter des paramètres spéciaux à n'importe quel nom, élément du système de données. Cela a été fait pour faciliter la modification du système et y ajouter de nouveaux éléments. Cette fonction est simplement appelée « Type de valeur ».

En fait, c’est l’un des concepts de base que contient la plupart des langages de programmation. Il peut être utilisé pour classer diverses données. Par exemple : dates, nombres, chaînes, liens. Ce ne sont que des classifications de base. Il y en aura peut-être beaucoup plus. Disons que si vous saisissez des informations sur les villes dans votre système, vous pouvez utiliser : le continent, le pays, le district, etc.

Examen

Vous pouvez vérifier un champ particulier à l'aide du langage de requête. Pour être plus précis, ses fonctions : VALEUR TYPE. Autrement dit, si nous voulons savoir quel type d'informations contient la cellule d'intérêt, nous devons utiliser la commande.

VALEURTYPE(Valeur) = TYPE(Chaîne)

Dans l'exemple ci-dessus, nous avons défini, à l'aide de la commande, la vue la plus simple. Autre exemple de validation de requête :

Documentation

Il existe eux-mêmes plusieurs types, les utilisateurs peuvent se débrouiller avec les deux premiers et saisir le leur afin de s'améliorer. base d'informations. En voici quelques uns.

  • DocumentLink. Il est demandé pour rangement pratique des liens vers divers objets dans d’autres parties du système.
  • DocumentObject - édition de documents.
  • DocumentSelection - tri des objets de la base de données.

De plus, il existe des termes spéciaux qui caractérisent toute donnée :

  • formulaire;
  • doubler;
  • booléen
  • nombre;
  • date de;
  • tableau;
  • case à cocher ;
  • image.

Ce n'est qu'une partie d'entre eux. Tout objet ne peut être que quelque chose de cette liste. Booléen est un paramètre spécial qui prend deux valeurs : vrai ou faux. Il existe également des balises spéciales qui permettent d'ajuster la demande : quand, où, comment, sinon, etc. Elles définissent l'algorithme de comportement du programme. 1C se distingue par le fait que ces mots ici, comme tout le reste, peuvent être saisis en russe.

Il est important de comprendre que tout cela sera perçu par les débutants et les non-professionnels comme une lettre chinoise. Pour comprendre les enjeux et utiliser efficacement 1C, vous devez connaître les bases de la programmation. En général, il sera assez facile de vérifier le type d'une requête dans le programme 1C, par rapport à d'autres actions.