Fonction pour retrouver la dernière entrée dans la comptabilité 1C. Fonctions de conversion de casse de texte

Les lignes de 1C 8.3 dans le langage intégré 1C représentent des valeurs d'un type primitif Doubler. Les valeurs de ce type contiennent une chaîne Unicode de longueur arbitraire. Les variables de type chaîne sont un ensemble de caractères entourés de guillemets.

Exemple 1. Créons une variable chaîne avec du texte.

StringVariable = "Bonjour tout le monde !";

Fonctions pour travailler avec des chaînes en 1s 8.3

Cette section fournira les principales fonctions qui vous permettront de modifier des lignes dans 1c, ou d'analyser les informations qu'elles contiennent.

LongueurStre

LongueurStre(<Строка>) . Renvoie le nombre de caractères contenus dans la chaîne passée en paramètre.

Exemple 2. Comptons le nombre de caractères dans la ligne « Hello World ! »

String = "Bonjour tout le monde !"; Nombre de caractères = StrLength(String); Rapport (NombreCaractères);

Le résultat de l'exécution de ce code sera l'affichage du nombre de caractères dans la ligne : 11.

Abréviation

Abréviation(<Строка>) . Supprime les caractères non significatifs à gauche du premier caractère significatif de la chaîne.
Personnages mineurs :

  • espace;
  • espace insécable ;
  • tabulation;
  • retour chariot ;
  • saut de ligne ;
  • traduction du formulaire (page).

Exemple 3. Supprimez tous les espaces du côté gauche de la ligne « monde ! » et ajoutez-y la ligne « Bonjour ».

String = Abréviation("monde!"); Chaîne = "Bonjour"+Chaîne ; Rapport (Chaîne);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « Hello world ! » à l'écran.

Abrégé

Abréviation (<Строка>) . Supprime les caractères non significatifs à droite du premier caractère significatif de la chaîne.

Exemple 4. Formulaire à partir des lignes « Bonjour » et « paix ! la phrase « Bonjour tout le monde ! »

Ligne = Abréviation("Bonjour ")+" "+ Abréviation("monde!"); Rapport (Chaîne);

AbréviationLP

AbréviationLP(<Строка>) . Supprime les caractères non significatifs à droite du premier caractère significatif de la chaîne, ainsi que les caractères non significatifs à gauche du premier caractère significatif de la chaîne. Cette fonction est utilisée plus souvent que les deux précédentes, car elle est plus universelle.

Exemple 5. Supprimez les caractères insignifiants à gauche et à droite du nom de la contrepartie.

Contrepartie = Répertoires Contreparties.Rechercher par détails("TIN", "0777121211"); AccountObject = Compte.GetObject(); CounterpartyObject.Name = AbbrLP(CounterpartyObject.Name); AccountObject.Write();

Lion

Lion(<Строка>, <ЧислоСимволов>) . Récupère les premiers caractères de la chaîne, le nombre de caractères est spécifié dans le paramètre Nombre de caractères.

Exemple 6. Laisser entrer la structure Employé contenir les noms, prénom et patronyme du salarié. Obtenez une chaîne avec le nom de famille et les initiales.

NomInitial = Lev(Employé.Nom, 1); Patronymique Initial = Lion(Employé. Patronymique, 1) ; Nom complet = Employé.Nom + " " + Initiale Prénom + "."

+ Initiale du milieu + "." ;

Droite<Строка>, <ЧислоСимволов>) Droite( Nombre de caractères.. Récupère les derniers caractères d'une chaîne, le nombre de caractères spécifié dans le paramètre

Si le nombre de caractères spécifié dépasse la longueur de la chaîne, la chaîne entière est renvoyée. Exemple 7. Laissez une date au format « aaaammjj » être écrite à la fin d'une variable de chaîne, récupérez une chaîne avec la date et convertissez-la en type.

Date

String = « Date actuelle : 20170910 » ; StringDate = Droits (Chaîne, 8); Date = Date(ChaîneDate);

Mercredi<Строка>, <НачальныйНомер>, <ЧислоСимволов>) Mercredi( Doubler. Obtient une sous-chaîne de la chaîne passée en paramètre , à partir du caractère dont le numéro est précisé en paramètre Numéro initial Nombre de caractères. et la longueur passée en paramètre , à partir du caractère dont le numéro est précisé en paramètre La numérotation des caractères dans une ligne commence à 1. Si dans le paramètre une valeur inférieure ou égale à zéro est spécifiée, alors le paramètre prend la valeur 1. Si le paramètre Nombre de caractères

n'est pas spécifié, alors les caractères jusqu'à la fin de la ligne sont sélectionnés.

Exemple 8. Laissez la variable chaîne à partir de la neuvième position contenir le code de région, vous devriez l'obtenir et l'écrire sur une ligne séparée.

String = « Région : 99 Moscou » ; Région = Moy (Chaîne, 9, 2) ;

Recherche de page<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) StrFind(

  • Doubler. Recherche une sous-chaîne spécifiée dans une chaîne, en renvoyant le numéro de position du premier caractère de la sous-chaîne trouvée. Regardons les paramètres de cette fonction :
  • . Chaîne source ; Rechercher une sous-chaîne
  • . Rechercher une sous-chaîne ; Sens de recherche
    • . Spécifie la direction dans laquelle rechercher une sous-chaîne dans une chaîne. Peut prendre des valeurs :;
    • Direction de recherche. Depuis le début;
  • Recherche.Fin Direction Position initiale
  • . Spécifie la position dans la chaîne à laquelle commence la recherche ; NombreOccurrences

. Spécifie le numéro d'occurrence de la sous-chaîne recherchée dans la chaîne source.

Exemple 9. Dans la ligne « Bonjour tout le monde ! Déterminez la position de la dernière occurrence du caractère « et ».

PositionNumber = StrFind("Bonjour tout le monde !", "et", SearchDirection.End); Rapport (PositionNumber);

Le résultat de l'exécution de ce code sera d'afficher le numéro de la dernière occurrence du symbole « et » : 9.

VReg<Строка>) VReg(

. Convertit tous les caractères de la chaîne spécifiée en 1s8 en majuscules.

Exemple 10 : Convertissez la chaîne "hello world!" en majuscules.

StringVreg = VReg("Bonjour tout le monde !"); Rapport (StringVreg);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « HELLO WORLD !

NReg<Строка>) NReg(

Exemple 11 : Convertissez la chaîne "HELLO WORLD!" en minuscules.

StringNreg = NReg("BONJOUR LE MONDE !"); Rapport (StringVreg);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « hello world ! »

Treg

TReg(<Строка>) . Convertit une chaîne comme suit : le premier caractère de chaque mot est converti en majuscule, les caractères restants du mot sont convertis en minuscules.

Exemple 12 : Mettez en majuscule les premières lettres des mots de la ligne « hello world ! »

StringTreg = TReg("Bonjour tout le monde !"); Rapport (StringTreg);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « Hello World ! »

Symbole

Symbole(<КодСимвола>) . Obtient un caractère par son code Unicode.

Exemple 13. Ajoutez gauche et droite à la ligne « Hello World ! » symbole ★

StringWithStars = Symbole("9733")+"Bonjour tout le monde !"+Symbol("9733"); Rapport (ChaîneAvecÉtoiles);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « ★Hello World !★ »

Symbole Code

SymboleCode(<Строка>, <НомерСимвола>) . Obtient le code de caractère Unicode de la chaîne spécifiée dans le premier paramètre, située à la position spécifiée dans le deuxième paramètre.

Exemple 14. Découvrez le code du dernier caractère de la ligne « Hello World ! »

String = "Bonjour tout le monde !"; CharacterCode = CharacterCode (String, StrLength (String)); Notifier(CharacterCode);

Le résultat de l'exécution de ce code sera l'affichage du code symbole « ! » - 33.

Chaîne vide

Chaîne Vide (<Строка>) . Vérifie si la chaîne ne contient que des caractères insignifiants, c'est-à-dire si elle est vide.

Exemple 15. Vérifiez si une chaîne composée de trois espaces est vide.

Vide = Chaîne Vide(" "); Rapport (vide);

Le résultat de l'exécution de ce code sera l'affichage du mot « Oui » (une expression chaîne d'une valeur logique Vrai).

PageRemplacer

StrRemplacer(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Recherche toutes les occurrences de la sous-chaîne de recherche dans la chaîne source et la remplace par la sous-chaîne de remplacement.

Exemple 16. Dans la ligne « Hello World ! » remplacer le mot « Paix » par le mot « Amis ».

String = StrReplace("Bonjour tout le monde !", "Monde", "Amis"); Rapport (Chaîne);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « Hello Friends ! »

StrNombreLignes

StrNumberRow(<Строка>) . Vous permet de compter le nombre de lignes dans une chaîne multiligne. Pour passer à une nouvelle ligne en 1s 8, utilisez le symbole PS(caractère de nouvelle ligne).

Exemple 17. Déterminez le nombre de lignes dans le texte :
"Première ligne
Deuxième ligne
Troisième ligne"

Number = StrNumberString("Première ligne"+Characters.PS +"Deuxième ligne"+Symbols.PS +"Troisième ligne"); Rapport (numéro);

Le résultat de l'exécution de ce code sera l'affichage du nombre de lignes dans le texte : 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Obtient une ligne dans une chaîne multiligne par son numéro. La numérotation des lignes commence à 1.

Exemple 18. Récupérez la dernière ligne du texte :
"Première ligne
Deuxième ligne
Troisième ligne"

Texte = "Première ligne" + Symboles PS + "Deuxième ligne" + Symboles PS + "Troisième ligne" ; LastRow = StrGetRow(Texte, StrNumberLines(Texte)); Rapport (DernièreLigne);

Le résultat de l'exécution de ce code sera l'affichage de la ligne « Troisième ligne ».

Occurrences de numéro de page

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Renvoie le nombre d'occurrences de la sous-chaîne spécifiée dans une chaîne. La fonction est sensible à la casse.

Exemple 19. Déterminez combien de fois la lettre « c » apparaît dans la ligne « Lignes en 1s 8.3 et 8.2 », quelle que soit sa casse.

Ligne = "Lignes en 1s 8.3 et 8.2" ; NombreOccurrences = StrNumberOccurrences(Vreg(String), "C"); Rapport (Nombre d'occurrences);

Le résultat de l'exécution de ce code sera l'affichage du nombre d'occurrences : 2.

PageDébutAvec

StrDébutAvec(<Строка>, <СтрокаПоиска>) . Vérifie si la chaîne passée dans le premier paramètre commence par la chaîne du deuxième paramètre.

Exemple 20. Déterminez si le NIF de la contrepartie sélectionnée commence par le chiffre 1. Introduisez la variable Contrepartie Contreparties.

TIN = Contrepartie.TIN ; StartsUNits = StrStartsWith(TIN, "1"); Si commence par des unités Alors //Votre code EndIf ;

Fin de page activée

StrEndsWith(<Строка>, <СтрокаПоиска>) . Vérifie si la chaîne passée dans le premier paramètre se termine par la chaîne du deuxième paramètre.

Exemple 21. Déterminer si le NIF de la contrepartie sélectionnée se termine par le chiffre 2. Introduire la variable Contrepartie une référence à un élément de répertoire est stockée Contreparties.

TIN = Contrepartie.TIN ; EndsWithTwo = StrEndsWith(TIN, "2"); If EndsInTwo Then //Votre code EndIf;

Fractionnement de page

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Divise une chaîne en parties à l'aide des caractères délimiteurs spécifiés et écrit les chaînes résultantes dans un tableau. Le premier paramètre stocke la chaîne source, le second contient la chaîne contenant le délimiteur et le troisième indique si les chaînes vides doivent être écrites dans le tableau (par défaut Vrai).

Exemple 22. Ayons une chaîne contenant des nombres séparés par le symbole « ; », récupérons un tableau de nombres à partir de la chaîne.

Chaîne = "1 ; 2 ; 3" ; Tableau = StrDivide(Chaîne, ";"); Pour Count = 0 Par Array.Quantity() - 1 tentative de cycle Array[Count] = Number(AbbrLP(Array[Count]));

Tableau d'exceptions [Sch] = 0 ;

EndAttemptsEndCycle ;

À la suite de l'exécution, un tableau avec des nombres de 1 à 3 sera obtenu.<Строки>, <Разделитель>) PageConnecter

Exemple 23. En utilisant le tableau de nombres de l'exemple précédent, récupérez la chaîne d'origine.

Pour Account = 0 By Array.Quantity() - 1 Cycle Array[Act] = String(Array[Act]); Fin du cycle ; Ligne = StrConnect(Array, "; ");

Dans cet article, je vais vous parler de la fonction de recherche rapide de 1C Enterprise 8. Qu'est-ce que la recherche rapide ? Très simple. La recherche rapide est l'un des moyens de parcourir de grandes listes d'enregistrements 1C. Il peut s'agir de listes de documents, de répertoires, de registres - tout ce qui est présenté dans des tableaux.

Qu'est-ce que la recherche rapide ?

La fonction de recherche rapide dans les documents 1C Enterprise est extrêmement pratique et permet de ne pas faire défiler d'énormes quantités de données (par exemple, à l'aide de la barre de défilement), mais d'accéder immédiatement à l'endroit souhaité dans la liste. Malheureusement, les utilisateurs novices de 1C Enterprise 8 (y compris 1C Accounting 8) n'utilisent pas au début les capacités de recherche rapide, préférant faire défiler les listes de documents manuellement (et ils peuvent être Très grand). Cet article vous aidera à comprendre l'utilisation de la recherche rapide dans 1C.

Tout d'abord, il convient de noter que dans les configurations 1C Enterprise 8 construites sur des formulaires gérés, la recherche rapide fonctionne différemment que dans les versions précédentes de 1C. Par conséquent, nous analyserons séparément l'utilisation de la recherche rapide dans les formulaires gérés et dans les formulaires classiques.

Recherche rapide dans 1C Comptabilité 8.2

Dans les versions de 1C Comptabilité de 8.0 à 8.2 Cette fonction est destinée spécifiquement à transitionà la partie souhaitée de la liste. Par exemple, regardez la fenêtre du plan comptable illustrée dans la figure.


Une certaine ligne est mise en surbrillance dans la fenêtre. Faites attention au subtil triangle de rayures, indiqué par la flèche rouge. Comme dans d'autres programmes Windows où il y a des listes (par exemple, dans l'Explorateur), la position de ce marqueur (triangle) détermine le tri de la liste dans son ensemble - Dans quelle colonne le marqueur est placé, la liste entière sera triée selon cette colonne. Dans la figure, le marqueur est dans la colonne Code, donc les comptes du plan comptable seront triés par code.

Le marqueur peut être déplacé d'une colonne à une autre en cliquant sur la colonne souhaitée ( sur la colonne RUBRIQUE!) avec la souris. Si le marqueur est déjà dans la colonne actuelle, cliquer modifiera le sens de tri dans le sens opposé (c'est-à-dire de grand à petit ou vice versa).

Il s'agit d'un comportement standard pour tout programme Windows. Quelle est la particularité de ce marqueur dans 1C Enterprise et quel est son rapport avec la recherche rapide ? Dans ce cas, une recherche rapide dans le plan comptable sera effectuée à l'aide de la colonne Code.

Il y avait une partie importante de l'article, mais sans JavaScript elle n'est pas visible !

Comment utiliser la recherche rapide dans 1C ? Facilement! Commencez simplement à taper ce que vous voulez trouver dans CETTE colonne, c'est-à-dire où se trouve le marqueur. Dans l'exemple de la figure ci-dessus, vous devez saisir le numéro de compte. Par exemple, vous souhaitez rechercher le compte 50 Cash. Dans ce cas, saisissez ( Pas besoin de cliquer n'importe où !) numéro 50 à partir du clavier et s'il y a un compte avec ce numéro dans cette colonne (et, bien sûr, il y en a un), alors la liste défilera jusqu'à cette ligne et la ligne elle-même sera mise en surbrillance. Le résultat est affiché dans la capture d'écran du plan comptable ci-dessous.

site web_

Le texte vers lequel pointe la flèche est pas besoin de se laver après- il disparaîtra tout seul.

Dans l'exemple ci-dessus, si vous commencez à taper le mot « Caissier », le texte en bas de la fenêtre sera saisi puis effacé. Cela se produit parce que dès que commencer la chaîne de recherche rapide saisie ne correspond plus au début d'au moins une ligne de cette colonne, 1C Enterprise conclut que la chaîne recherchée n'a pas été trouvée et l'efface automatiquement. À cause de cela Il y a deux règles à retenir.

Dans 1C Enterprise 8, une recherche rapide est effectuée en début de ligne, c'est-à-dire dans une colonne, on recherche une correspondance du texte saisi avec le début d'une des lignes de cette colonne.
Cela conduit à une recommandation importante : lors de la saisie de données dans des répertoires, nommez les éléments de manière à pouvoir les retrouver facilement à l'aide d'une recherche rapide. Par exemple, il est préférable d'écrire le nom de la contrepartie sous la forme « Nom de la société LLC » plutôt que « Nom LLC de la société ». Et plus encore, vous ne devez pas utiliser de guillemets et autres symboles inutiles dans le nom (nous parlons de remplir le champ Nom dans les formulaires).

Si vous commencez à taper du texte et qu’il s’efface, ce que vous recherchez n’est pas dans cette colonne ! Dans ce cas, vérifiez la langue de saisie, ainsi que la colonne dans laquelle la recherche rapide est effectuée. Une erreur typique est que la mauvaise colonne est sélectionnée. Par exemple, le marqueur est défini dans la colonne Code et la recherche est effectuée par nom de compte.

Recherche rapide dans 1C Comptabilité 8.3

Voyons maintenant en quoi la recherche rapide diffère dans la version 1C Enterprise 8.3. L'utilisation est largement similaire à la version 8.2, mais il y a une différence majeure à retenir.

Dans 1C Comptabilité 8.3, ainsi que dans toute autre configuration sur formulaires gérés (la même nouvelle interface), il fonctionne comme un filtre. En termes simples, grâce à la fonction de recherche rapide, une partie de la liste.

Nous allons maintenant découvrir comment l'utiliser. Tout d'abord, regardez la capture d'écran de la fenêtre du plan comptable 1C Comptabilité 8.3 ci-dessous.

site web_

Comme vous pouvez le constater, le même marqueur se trouve dans l’une des colonnes. La recherche s'effectue également dans la colonne dans laquelle le marqueur est installé. Tout cela reste inchangé. Cependant, si vous commencez à saisir du texte (dans l'exemple, le numéro de compte), ce qui suit se produira.

site web_

Comme vous pouvez le constater, la fenêtre de recherche s'est simplement ouverte automatiquement. Exactement la même fenêtre s'ouvrira si vous cliquez sur le bouton de recherche dans la barre d'outils de la fenêtre (souligné dans la figure). En conséquence, lorsque vous cliquez sur le bouton Rechercher dans la fenêtre de recherche (caché dans l'image derrière le menu déroulant) ou simplement sur Entrée, vous obtenez le résultat suivant.

site web_

De là il ressort clairement que une recherche rapide dans 1C Comptabilité 8.3 laisse simplement visible la partie de la liste qui satisfait aux conditions de recherche. Dans ce cas, le bouton Rechercher disparaît, et à la place une lentille avec une croix apparaît (soulignée sur la figure), lorsqu'on clique dessus, la liste revient à son état d'origine (la ligne trouvée suite à une recherche rapide reste en surbrillance).

Une autre fonctionnalité importante de la recherche rapide dans 1C Comptabilité 8.3— une correspondance n'est pas recherchée au début de la ligne, comme dans la version 8.2, mais une correspondance est recherchée pour une correspondance avec n'importe quelle partie des lignes de la colonne. Ainsi, si vous nommez la contrepartie « Firm Name LLC », et lors de la recherche, commencez à saisir « Firm Name LLC », alors la ligne sera toujours trouvée !

Tirer des conclusions

Ainsi, la recherche rapide dans 1C Comptabilité 8.2 et les versions antérieures est destinée à faire défiler la liste jusqu'à la ligne souhaitée, et dans 1C Comptabilité 8.3, la recherche rapide fonctionne comme un filtre ordinaire, masquant la partie de la liste dont vous n'avez pas besoin.

Notes d’accueil de De l’autre côté du miroir

02/07/2013 Recherche par chaîne

Implémenté dans la version 8.3.3.641.

Nous avons sérieusement amélioré la saisie de ligne. Pour ce faire, nous avons dû implémenter un nouveau mécanisme de recherche puissant dans le champ de saisie. Il peut désormais parcourir rapidement les millions d'enregistrements contenus dans la base de données.

Nous avons analysé les tâches de recherche rencontrées par les utilisateurs. Nous avons réalisé un « audit » des mécanismes disponibles dans la plateforme qui utilisent différents algorithmes de recherche. En conséquence, l'entrée ligne a acquis des capacités complètement nouvelles.

Les utilisateurs peuvent désormais effectuer une recherche n'importe où dans un titre, et non seulement au début de la ligne. Ils peuvent utiliser la recherche en texte intégral et même effectuer des recherches en arrière-plan. Pour garantir que la recherche en texte intégral fonctionne efficacement pour la saisie ligne par ligne, nous avons encore optimisé le moteur de recherche et amélioré ses performances.

Nous avons rassemblé toutes les nouvelles propriétés qui permettent de personnaliser la saisie par ligne sur un onglet séparé de la fenêtre d'édition des objets de configuration :

Par exemple, vous pouvez spécifier que la recherche sera effectuée n'importe où dans la chaîne, pas seulement au début :

Ensuite, l'utilisateur peut saisir n'importe quel fragment de mot, et pas seulement les caractères par lesquels commence la chaîne recherchée :

L'utilisation de la recherche en texte intégral lors de la saisie d'une ligne est activée par une propriété distincte :

Grâce à la recherche en texte intégral, les utilisateurs peuvent trouver rapidement des données pertinentes parmi de grands volumes de données en utilisant l'un des mots contenus, par exemple, dans le nom :

Ils peuvent également effectuer une recherche en utilisant plusieurs mots connus. Les mots inachevés seront automatiquement complétés avec les combinaisons possibles :

Si la quantité de données est importante, dans les deux cas, vous pouvez spécifier que la recherche doit être effectuée à l'aide d'un travail en arrière-plan :

Ensuite, à côté du champ de saisie, une image animée sera affichée pour les utilisateurs, similaire à l'image qui s'affiche lorsque le rapport s'exécute en arrière-plan :

  • si l'objet utilisé dans le champ de saisie ne devrait pas contenir une grande quantité de données, nous vous recommandons d'activer la recherche par chaîne n'importe où ;
  • si une grande quantité de données est prévue dans un objet, alors :
    • Nous vous recommandons d'activer la recherche en texte intégral et en arrière-plan ;
    • en même temps, vous pouvez également utiliser la recherche par chaîne n'importe où, mais en conjonction avec la recherche en arrière-plan et de préférence avec la recherche en texte intégral ; de sorte que la plupart des recherches sont effectuées via une recherche en texte intégral.

Vous pouvez, si nécessaire, redéfinir l'ensemble des propriétés répertoriées lors de l'exécution de la solution applicative.

Sur le client - dans les gestionnaires d'événements du champ de saisie du client Sélection automatique Et EndInputText :

Sur le serveur - dans le module gestionnaire de l'objet dont les données sont recherchées. Dans le gestionnaire d'événements TraitementReceiveSelectionData :

Bien entendu, à cet endroit, sur le serveur, vous ne pouvez pas remplacer la manière dont la recherche est effectuée. "Directement" ou "Travail de fond" . Parce que l'exécution du code a déjà été transférée sur le serveur.

Salut tout le monde
Aujourd'hui, ils m'ont demandé de ne pas afficher le préfixe du document lors de l'impression d'un document d'implémentation, j'ai résolu le problème comme suit.

StrReplace(Nombre, Lev(Nombre, 3), "" );

Quand j'ai regardé l'assistant de syntaxe, je l'ai tellement aimé que j'ai voulu écrire sur travailler avec des chaînes dans 1C:Enterprise.

Une chaîne en 1C fait référence à un type de données primitif.

Si vous regardez l'aide 1C, nous verrons la description suivante du type String :
Les valeurs de ce type contiennent une chaîne Unicode de longueur arbitraire.
Si vous utilisez vos propres mots sur les chaînes, cela fonctionnera. Une chaîne est une constante composée de différents caractères, toujours entourés de guillemets.

Définir une ligne
Salutation = "Bonjour Passager" ;

Les lignes multilignes dans les configurations typiques sont le plus souvent créées à l'aide du séparateur vertical « | » :
Chaîne = "Multiligne
|chaîne
|écrire
|texte";

Un guillemet dans une chaîne est spécifié par des guillemets doubles.
String = ""Texte entre guillemets"";

Il existe de nombreuses opérations sur les chaînes (recherche à l'intérieur de la chaîne, détermination des premières, etc.), il vaut mieux regarder l'Assistant Syntaxe.
Syntax Helper - Description générale du langage intégré -> fonctions intégrées -> fonctions pour travailler avec des chaînes.

Fonctions pour travailler avec des chaînes

Voici un bref résumé des fonctions permettant de travailler avec des chaînes :

VReg<Строка>) — La fonction convertit tous les caractères de la chaîne en majuscules.

SymboleCode(<Строка>, <НомерСимвола>) – La fonction reçoit le code du caractère situé dans la chaîne transmise à la position avec le numéro spécifié.

Lion(<Строка>, <ЧислоСимволов>) – La fonction sélectionne les premiers caractères gauches de la chaîne.

Trouver(<Строка>, <ПодстрокаПоиска>) — La fonction trouve une occurrence de la chaîne de recherche en tant que sous-chaîne dans la chaîne source.

NReg<Строка>) — La fonction convertit tous les caractères de la chaîne en minuscules.

Droite<Строка>, <ЧислоСимволов>) – Cette fonction diffère des fonctions Left en ce sens qu'elle sélectionne les derniers caractères à droite de la chaîne.

Chaîne Vide (<Строка>) — La fonction vérifie la chaîne pour la présence de caractères significatifs.

Symbole(<КодСимвола>) — La fonction convertit le code du caractère en une chaîne contenant le caractère.

Abréviation(<Строка>) — La fonction coupe les caractères insignifiants à gauche du premier caractère significatif de la chaîne.

AbréviationLP(<Строка>) — La fonction supprime les caractères non significatifs à gauche du premier caractère significatif de la ligne et les espaces à droite du dernier caractère significatif de la ligne.

Abréviation (<Строка>) — La fonction coupe les caractères insignifiants à droite du dernier caractère significatif de la chaîne.

Mercredi<Строка>, <НачальныйНомер>, <ЧислоСимволов>) — La fonction sélectionne une chaîne de caractères, en commençant par le caractère<НачальныйНомер>, nombre total<ЧислоСимволов>.

LongueurStre(<Строка>) — La fonction obtient le nombre de caractères dans la ligne.

StrRemplacer(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) — La fonction trouve toutes les occurrences de la sous-chaîne de recherche dans la chaîne source et la remplace par la sous-chaîne de remplacement.

StrGetString(<Строка>, <НомерСтроки>) - La fonction récupère une chaîne multiligne par numéro.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) — La fonction calcule le nombre d'occurrences de la sous-chaîne de recherche dans la chaîne source.

StrNumberRow(<Строка>) — La fonction compte le nombre de lignes dans une chaîne multiligne. Dans une chaîne multiligne, les lignes sont séparées par des nouvelles lignes.

TReg(<Строка>) — La fonction convertit la chaîne en casse du titre. Cela signifie que le premier caractère de chaque mot est converti en casse du titre, ou en majuscule si la casse du titre n'est pas spécifiée pour le caractère. Les caractères restants sont convertis en minuscules.

Conversions de types
Pour la conversion explicite des types de données, il existe des fonctions du même nom avec le type de données vers lequel la conversion a lieu : String(<Значение>)

StringFromNumbers = String(Nombre);

Toutes ces fonctions sont décrites en détail dans l'Assistant Syntaxe ; j'ai décrit comment l'Assistant Syntaxe peut aider un programmeur novice dans l'article.

Exemples pour travailler avec des chaînes

Conversion d'un nombre en chaîne et inversement.

Pour obtenir une représentation sous forme de chaîne de l'année, utilisez la fonction Format.

Année = Format(CurrentDate(), "DF=aaaa") // Année = "2012"

Pour convertir un nombre en chaîne sans insérer de caractère séparateur de groupe (espace insécable), vous devez utiliser la fonction Format avec le paramètre NG=0 :

Nombre = 2012 Ligne = Format(Nombre, "NH=0" );

//Chaîne = "2012"

Chaîne Pas d'espaces.

Il existe peu de mécanismes pour travailler avec des chaînes dans les requêtes 1C. Tout d'abord, les lignes peuvent être ajoutées. Deuxièmement, vous pouvez extraire une sous-chaîne d’une chaîne. Troisièmement, les chaînes peuvent être comparées, y compris par motif. C'est probablement tout ce qu'on peut faire avec des cordes.

Ajout de chaîne

Pour ajouter des lignes dans une requête, l'opération « + » est utilisée. Vous ne pouvez ajouter que des chaînes de longueur limitée.

SELECT "Nom : " + Nom AS Colonne 1 FROM Contreparties AS Contreparties WHERE Lien = &Lien.

Fonction de sous-chaîne<Строка>, <НачальнаяПозиция>, <Длина>)

SOUS-CHAÎNE( <Строки> Un analogue de la fonction Environment() du modèle objet. La fonction Substring() peut être appliquée aux données de chaîne et vous permet de sélectionner un fragment <НачальнаяПозиция> , en commençant par le numéro du caractère <Длина> (les caractères d'une ligne sont numérotés à partir de 1) et longueur <Строка> personnages. Le résultat du calcul de la fonction a un type de chaîne de longueur variable, et la longueur sera considérée comme illimitée si <Длина> a une longueur et des paramètres illimités

n'est pas une constante ou supérieure à 1024.

Si la longueur de la chaîne est inférieure à celle spécifiée dans le deuxième paramètre, la fonction renverra une chaîne vide. Attention!

L'utilisation de la fonction SUBSTRING() pour convertir des chaînes de longueur illimitée en chaînes de longueur limitée n'est pas recommandée. Au lieu de cela, il est préférable d'utiliser l'opérateur de conversion EXPRESS().

Fonction similaire

Si nous devons nous assurer qu'un attribut de chaîne répond à certains critères, nous le comparons :

SELECT Contreparties. Nom AS Colonne 1 FROM Répertoire AS Contreparties OÙ Nom des contreparties = "Gazprom".

Mais que se passe-t-il si vous avez besoin d’une comparaison plus subtile ? Pas seulement l’égalité ou l’inégalité, mais la similitude avec un certain modèle ? C’est exactement pour cela que la fonction SIMILAIRE a été créée.

L'opérateur SIMILAR vous permet de comparer la valeur de l'expression spécifiée à sa gauche avec la chaîne de modèle spécifiée à droite. La valeur de l'expression doit être de type chaîne. Si la valeur de l'expression correspond au modèle, le résultat de l'opérateur sera VRAI, sinon il sera FAUX.

Les caractères suivants dans la chaîne de modèle sont des caractères de service et ont une signification différente de celle du caractère de chaîne :

  • % (pourcentage) : une séquence contenant un nombre quelconque de caractères arbitraires ;
  • _ (trait de soulignement) : un caractère arbitraire ;
  • […] (un ou plusieurs caractères entre crochets) : tout caractère unique répertorié entre crochets. L'énumération peut contenir des plages, par exemple a-z, signifiant un caractère arbitraire inclus dans la plage, y compris les extrémités de la plage ;
  • [^...] (entre crochets un signe de négation suivi d'un ou plusieurs caractères) : tout caractère unique autre que ceux listés après le signe de négation.

Tout autre symbole signifie lui-même et ne comporte aucune charge supplémentaire. Si l'un des caractères répertoriés doit être écrit tel quel, il doit alors être précédé de<Спецсимвол>. Moi-même<Спецсимвол>(tout caractère approprié) est défini dans la même instruction après le mot clé SPECIAL CHARACTER.