LA CLOCHE

Il y a ceux qui ont lu cette actualité avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam

Le type "String" se trouve dans tous les langages de programmation. Il est primitif, et dans 1C, il existe de nombreuses fonctions pour l'utiliser. Dans cet article, nous examinerons de plus près différentes façons de travailler avec des types de chaîne dans 1C 8.3 et 8.2 à l'aide d'exemples.

Ligne

Afin de convertir une variable de n'importe quel type en chaîne, il existe une fonction du même nom "String ()". Le paramètre d'entrée sera la variable elle-même, dont la représentation sous forme de chaîne doit être obtenue.

String (False) // renvoie "Non"
Chaîne (12345) // renvoie "12 345"
Chaîne (CurrentDate ()) // 21/07/2017 11:55:36 ″

Il est possible de convertir non seulement des types primitifs en une chaîne, mais également d'autres, par exemple, des éléments de livres de référence, des documents.

SocrLP, SocrL, SocrP

Les paramètres d'entrée de ces fonctions sont une variable de type chaîne. Les fonctions suppriment les caractères insignifiants (espaces, retours chariot, etc.): respectivement des côtés gauche et droit, uniquement du côté gauche et uniquement du côté droit.

AbbrLP ("Les espaces des deux côtés seront supprimés") // "Les espaces des deux côtés seront supprimés"
Abrégé ("Les espaces des deux côtés seront supprimés") // "Les espaces à gauche seront supprimés"
Abréviation ("Les espaces des deux côtés seront supprimés") // "Les espaces à droite seront supprimés"

Leo, droite, mercredi

Ces fonctions vous permettent de couper une partie d'une chaîne. La fonction "Lion ()" retournera la partie de la chaîne de son côté gauche de la longueur spécifiée. La fonction "Right ()" est la même, mais le recadrage est effectué à droite. La fonction "Med ()" vous permet de spécifier le numéro du caractère à partir duquel la chaîne sera sélectionnée et sa longueur.

Lion ("String variable", 4) // renvoie "Stro"
Right ("String variable", 7) // renvoie "variable"
Wed ("String variable", 2, 5) // renvoie "troco"

Longueur Str

La fonction détermine le nombre de caractères contenus dans la variable chaîne.

StrLength ("Word") // le résultat de l'exécution sera le numéro 5

Trouver

La fonction permet de rechercher une partie d'une chaîne dans n'importe quelle variable chaîne. La valeur de retour sera un nombre qui indique la position du début de la chaîne trouvée. Si aucune correspondance n'est trouvée, zéro est renvoyé.

Veuillez noter que les recherches sont sensibles à la casse. Si la chaîne d'origine contient plus d'une occurrence de la sous-chaîne de recherche, la fonction renverra le début de la première occurrence.

Find ("un, deux, un, deux, trois", "deux") // la fonction renverra le nombre 6

Ligne vide

L'utilisation de cette fonction vous permet de déterminer si une chaîne est vide. Les caractères non significatifs tels que l'espace, le retour chariot et autres sont ignorés.

EmptyString ("Pupkin Vasily Ivanovich") // la fonction retournera la valeur False
EmptyString ("") // la fonction retournera True

VReg, HPreg, Treg

Ces fonctions sont très utiles pour comparer et convertir des variables de chaîne. Breg () renverra la chaîne d'origine en majuscules, HPreg () en minuscules et TRreg () la formatera de sorte que le premier caractère de chaque mot individuel soit en majuscule et tous les suivants en minuscules.

Vreg ("GENERAL DIRECTOR") // valeur de retour - "GENERAL DIRECTOR"
NReg ("GENERAL DIRECTOR") // valeur de retour - "general director"
TREG ("GENERAL DIRECTOR") // valeur de retour - "General Director"

PageReplace

Cette fonction est analogue au remplacement dans les éditeurs de texte. Il vous permet de remplacer un caractère ou un jeu de caractères par un autre dans les variables de chaîne.

StrReplace ("rouge, blanc, jaune", ",", ";") // retournera "rouge; blanc; Jaune"

StrNumberStrings

La fonction vous permet de déterminer le nombre de lignes séparées par des retours chariot dans une variable de texte.

La boucle de l'exemple ci-dessous passera par trois cercles car la fonction RowNumber retournera 3:

Pour ind \u003d 1 par StrNumberStrings ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3") Boucle
<тело цикла>
Fin de cycle;

StrGetString

Cette fonction fonctionne avec le texte multiligne de la même manière que la précédente. Il vous permet d'obtenir une chaîne spécifique à partir d'une variable de texte.

StrGetString ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // retournera "String2"

StrNombre d'occurrences

La fonction compte le nombre d'occurrences d'un caractère ou d'une sous-chaîne dans la chaîne de recherche.

Rangée de pièces jointes ("a; b; c; d;", \u200b\u200b";") // la fonction renverra le nombre 4

Symbole et SymbolCode

Ces fonctions vous permettent d'obtenir un caractère par son code Unicode, ainsi que de déterminer ce code par le caractère lui-même.

SymbolCode ("A") // la fonction renverra le nombre 1 040
SymbolCode (1040) // la fonction retournera "A"

Tâches fréquentes lorsque vous travaillez avec des chaînes

Concaténation de chaînes

Pour concaténer plusieurs chaînes (pour effectuer la concaténation), il suffit d'utiliser l'opérateur d'addition.

"Ligne 1" + "Ligne 2" // le résultat de l'ajout de deux chaînes sera "Ligne 1 Ligne 2"

Conversion de type

Pour convertir un type en chaîne, par exemple, une référence à un élément du dictionnaire, un nombre, etc., il suffit d'utiliser la fonction "String ()". Des fonctions comme "Abbreviation ()" convertiront également les variables en une chaîne, mais immédiatement avec la troncature des caractères insignifiants.

String (1000) // renverra "1000"

Veuillez noter que lors de la conversion d'un nombre en chaîne, le programme a automatiquement ajouté un espace séparant un millier. Pour éviter cela, vous pouvez utiliser les constructions suivantes:

StrReplace (String (1000), Characters.NPP, "") // renverra "1000"

String (Format (1000, "CHG \u003d")) // renverra "1000"

Citations dans une chaîne

Assez souvent, vous devrez gérer la nécessité de spécifier des guillemets dans une variable chaîne. Il peut s'agir soit d'un texte de requête écrit dans le configurateur, soit simplement d'une variable. Pour résoudre ce problème, il vous suffit de définir deux guillemets.

Title \u003d String ("Horns and Hooves LLC" - c'est nous! ") // renvoie" Horns and Hoofs LLC - c'est nous! "

Plusieurs lignes, saut de ligne

Pour créer un texte multiligne, il suffit d'y ajouter des sauts de ligne (Symbols.PS).

MultilineText \u003d "Première ligne" + Symbols.PS + "Deuxième ligne"

Comment supprimer des espaces

Pour supprimer les espaces à droite ou à gauche, vous pouvez utiliser la fonction "Abréviation ()" (ainsi que "Abréviation ()" et "Abréviation ()"):

StringNoSpaces \u003d AbbreviatedLP ("Many letters") // la fonction retournera la valeur "Many letters"

Si, après avoir converti un nombre en chaîne, vous devez supprimer des espaces insécables, utilisez la construction suivante:

StringNoSpaces \u003d StrReplace (String (99999), Characters.NPP, "") // renverra "99999"

En outre, les programmeurs utilisent souvent la construction suivante, qui vous permet de supprimer ou de remplacer tous les espaces d'une variable de texte par un autre caractère:

StringNoSpaces \u003d StrReplace ("welcome", "", "") // renvoie "hello"

Comparer des chaînes entre elles

Les termes peuvent être comparés au signe égal habituel. La comparaison est sensible à la casse.

"Hello" \u003d "bonjour" // renvoie False
"Hello" \u003d "Hello" // retournera True
"Hello" \u003d "Goodbye" // retournera False

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 prendre 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 que vous pouvez faire avec des chaînes.

Concaténer les chaînes

Pour ajouter des chaînes dans une requête, l'opération "+" est utilisée. Seules des lignes de longueur limitée peuvent être ajoutées.

SELECT "Nom:" + Contreparties. Nom AS Colonne1 FROM Répertoire. Sous-traitants AS Contreparties WHERE Contreparties. Link \u003d & Link

Fonction de sous-chaîne

SUBSTRAT (<Строка>, <НачальнаяПозиция>, <Длина>)

Analogue de la fonction Environment () du modèle objet. La fonction Substring () peut être appliquée à des données de type chaîne et vous permet de sélectionner un fragment <Строки> commençant par le numéro du caractère <НачальнаяПозиция> (les caractères de la chaîne sont numérotés à partir de 1) et leur 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 un paramètre illimités <Длина> n'est pas constant ou dépasse 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. Il est préférable d'utiliser l'opération de conversion EXPRESS () à la place.

Fonction comme

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

SELECT Contreparties. Nom AS Colonne1 FROM Répertoire. Contreparties AS Contreparties WHERE Contreparties. Nom \u003d "Gazprom"

Mais que faire si vous voulez une comparaison plus délicate? Pas seulement l'égalité ou l'inégalité, mais comme un certain modèle? C'est exactement ce pour quoi la fonction LIKE a été créée.

LIKE - Opérateur pour vérifier une chaîne comme un motif. Analogue de LIKE dans SQL.

L'opérateur LIKE vous permet de comparer la valeur de l'expression spécifiée à gauche de celle-ci 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, l'opérateur renverra TRUE, sinon ce sera FALSE.

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 figurant entre crochets. L'énumération peut contenir des plages, par exemple, a-z, ce qui signifie 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 n'a aucune signification supplémentaire. S'il est nécessaire d'écrire l'un des caractères listés comme soi-même, alors il doit être précédé de<Спецсимвол>... Lui-même<Спецсимвол> (tout caractère approprié) est défini dans la même instruction après le mot clé SPECIAL CHARACTER.

Notes du miroir

18/08/2014 Nouvelles fonctions pour travailler avec des chaînes

Implémenté dans la version 8.3.6.1977.

Nous avons élargi l'ensemble des fonctions permettant de travailler avec des chaînes. Nous l'avons fait afin de vous donner des outils plus avancés pour analyser les données de chaîne. Les nouvelles fonctions seront pratiques et utiles dans les tâches technologiques d'analyse de texte. Dans les tâches liées à l'analyse de texte contenant des données formatées. Cela peut être l'analyse de certains fichiers reçus de l'équipement ou, par exemple, l'analyse d'un journal technologique.

Toutes les actions qui exécutent de nouvelles fonctions que vous auriez pu effectuer auparavant. A l'aide d'algorithmes plus ou moins complexes écrits dans un langage embarqué. Par conséquent, les nouvelles fonctions ne vous offrent aucune possibilité fondamentalement nouvelle. Cependant, ils peuvent réduire la quantité de code, rendre le code plus simple et plus facile à comprendre. Et en plus de cela, ils vous permettent d'accélérer l'exécution des actions. Parce que les fonctions implémentées dans la plateforme fonctionnent, bien entendu, plus rapidement qu'un algorithme similaire écrit dans un langage embarqué.

Fonction de formatage StrPattern ()

Cette fonction remplace les paramètres dans une chaîne. La nécessité d'une telle conversion apparaît souvent, par exemple, lors de l'affichage de messages d'avertissement. La syntaxe de cette fonction est la suivante:

PageTemplate (<Шаблон>, <Значение1-Значение10>)

<Шаблон> est une chaîne à remplacer pour les représentations de paramètres.

<Значение1> , ... <Значение10> - ce sont des paramètres (maximum - dix), dont les représentations doivent être substituées dans la chaîne.

Pour indiquer un emplacement spécifique dans le modèle où vous souhaitez effectuer la substitution, vous devez utiliser des marqueurs tels que% 1, ...% 10. Le nombre de marqueurs utilisés dans le modèle et le nombre de paramètres contenant des valeurs doivent correspondre.

Par exemple, le résultat de l'exécution d'une telle instruction:

il y aura une ligne:

Erreur de données sur la ligne 2 (type de date requis)

Fonction pour travailler avec des chaînes StrCompare ()

Cette fonction compare deux chaînes de manière insensible à la casse. Par exemple, comme ceci:

Vous auriez pu effectuer la même action avant d'utiliser l'objet Comparaison des valeurs:

Cependant, l'utilisation de la nouvelle fonction semble plus simple. Et en plus de cela, la fonction, contrairement à l'objet Comparaison des valeurs, fonctionne à la fois dans le client léger et le client Web.

Fonctions pour travailler avec les chaînes RowStart With (), RREnd With ()

Ces fonctions déterminent si une chaîne commence par une sous-chaîne spécifiée ou se termine par une sous-chaîne spécifiée. L'algorithme de ces fonctions n'est pas difficile à implémenter dans le langage embarqué, mais leur présence permet d'écrire un code plus propre et plus compréhensible. Et ils fonctionnent plus vite.

Par exemple, il est pratique de les utiliser dans l'opérateur Si un:

Fonctions pour travailler avec des chaînes StrSplit (), StrConnect ()

Ces fonctions divisent la chaîne en parties selon le délimiteur spécifié. Ou vice versa, ils combinent plusieurs lignes en une seule, en insérant le séparateur sélectionné entre elles. Ils sont pratiques pour créer ou analyser des journaux, un journal technologique. Par exemple, vous pouvez facilement désassembler un enregistrement d'un journal technologique en parties adaptées à une analyse plus approfondie:

Fonction pour travailler avec des chaînes StrFind ()

Au lieu de l'ancienne fonction Trouver() nous avons implémenté une nouvelle fonctionnalité dotée de capacités supplémentaires:

  • Rechercher dans différentes directions (du début, de la fin);
  • Recherche à partir d'une position spécifiée;
  • Recherchez une occurrence avec le numéro spécifié (deuxième, troisième, etc.).

En fait, il duplique les capacités de l'ancienne fonction. Ceci est fait afin de maintenir la compatibilité avec les modules compilés dans les anciennes versions. Ancienne fonction Trouver() pas recommandé d'utiliser à nouveau.

Voici un exemple utilisant les nouvelles fonctionnalités de recherche. Les recherches en arrière sont utiles lorsque vous avez besoin du dernier élément d'une chaîne formalisée, comme le nom de fichier complet dans une URL. Et la recherche à partir d'une position spécifiée aide dans les cas où vous devez rechercher dans un fragment connu, et non dans la chaîne entière.

Les fonctionnalités de base d'un langage de programmation incluent généralement le travail avec des nombres et des chaînes. Habituellement, ces fonctionnalités sont codées en dur dans le code du compilateur (ou les classes «de base» du langage de programmation sont implémentées).

Dans 1C, la capacité à travailler avec des chaînes est programmée dans la plate-forme elle-même. Aujourd'hui, nous examinerons les fonctionnalités de travail avec des chaînes 1C dans des programmes dans le langage 1C intégré.

Valeur ligne 1C

1. Commençons par le plus simple. Créer une variable et lui attribuer une valeur de chaîne constante ressemble à ceci dans 1C:

Variable \u003d "Bonjour tout le monde!";

Si vous devez spécifier un guillemet dans une valeur de chaîne constante 1C, vous devez le doubler ""

Variable \u003d "Bonjour", "monde" "!";

2. Le saut de ligne 1C peut être spécifié de deux manières à la fois. Le premier utilise le symbole |

Variable \u003d "Bonjour,
| monde! ";

La seconde utilise l'énumération du système Symbols. Il vous permet d'ajouter à la fois des sauts de ligne 1C et d'autres caractères non imprimables, par exemple TAB.

Variable \u003d "Bonjour" + Symbols.PS + "monde!";

3. Les configurations dans 1C peuvent être développées non seulement pour une langue (russe, anglais ou autre) - mais simultanément pour plusieurs langues. Dans ce cas, la langue actuellement utilisée est sélectionnée en bas de la fenêtre 1C.

La liste des langues se trouve dans la fenêtre de configuration de la branche Général / Langues. Chaque langue a un identifiant court tel que ru ou fra.

Il est clair que lors de la programmation d'une telle configuration, les chaînes 1C peuvent également être multilingues. Pour ce faire, il est possible de créer une telle ligne 1C en spécifiant through; options par identifiant de langue:

Variable \u003d "ru \u003d" "Bonjour le monde!" "; En \u003d" "Bonjour le monde!" "";

Si vous utilisez la ligne 1C formée de cette manière comme d'habitude, alors ce sera ce qui y est écrit. Pour que le système le divise en deux options et utilise celle souhaitée, vous devez utiliser la fonction HStr ():

// correct pour les configurations bilingues
Rapport (НStr (Variable));

Accessoires avec type de ligne 1C

Une condition requise est un champ de référence / document 1C. Elle diffère d'une variable dans un programme 1C en ce que son type (nombre, chaîne 1C, etc.) est précisément indiqué pour un attribut. Si vous avez besoin de revoir ce qu'est un accessoire, consultez la leçon.

Si vous spécifiez le type d'attribut - ligne 1C, vous devez en outre spécifier les paramètres.

Les chaînes 1C ont une longueur illimitée (spécifiée comme length \u003d 0) et une longueur limitée, indiquant le nombre exact de caractères. Les lignes 1C de longueur illimitée sont stockées dans une table SQL séparée, leur utilisation est donc moins productive que limitée.

C'est pourquoi l'utilisation de chaînes 1C de longueur illimitée a ses limites - il n'est pas possible de les utiliser partout. Par exemple, il ne peut pas être utilisé comme numéro de document, code répertoire, dimension.

Travailler avec des chaînes 1C

Il existe plusieurs fonctions intégrées de la plate-forme 1C pour travailler avec des chaînes.

  • SocrLP ("Incroyable, mais vrai!")
    Supprime les espaces supplémentaires de la ligne 1C. Il peut également être utilisé pour convertir n'importe quel type en chaîne 1C (par exemple, des nombres).
  • Variable \u003d "Vasya" + SokrLP ("plus") + "Olya"; // sera "Vasya plus Olya"
    Un exemple de sommation de plusieurs valeurs de chaîne 1C. Le résultat sera une ligne de 1C.
  • Variable \u003d Leo ("Musique", 2); // sera "Mu"
    Variable \u003d mercredi ("Musique", 2, 2); // sera "shl"
    Variable \u003d Droite ("Musique", 2); // sera "ka"
    Diverses options pour obtenir une sous-chaîne à partir d'une chaîne 1C.
  • Variable \u003d Find ("Musique", "Shl"); // sera 3
    Recherchez une sous-chaîne dans la chaîne 1C, à partir du caractère 1.
  • Variable \u003d StrLength ("Musique"); // sera 6
    Renvoie le nombre de caractères de la ligne 1C.
  • Report ("Hello") // dans la fenêtre de message en bas de la fenêtre 1C
    Avertissement ("Hello") // boîte de dialogue contextuelle
    State ("Hello") // dans la ligne d'état en bas à gauche
    .

Lancer des objets sur la ligne 1C

Comme vous le savez, le format le plus populaire pour l'échange d'informations structurées à l'heure actuelle est XML. Même la dernière version de MS Office Word et Excel enregistre les fichiers dans ce format (docx et xlsx, respectivement, changez l'extension en zip, ouvrez dans l'archiveur).

La plate-forme 1C pour l'échange de données propose plusieurs options, dont la principale est également XML.

1. La méthode la plus simple consiste à utiliser la fonction AbscrLP () ou String (). Vous pouvez utiliser la fonction REPRESENTATION () dans le corps de la requête. Le résultat de leur action est le même - ils génèrent une représentation sous forme de chaîne de tout objet 1C pour l'utilisateur.

Pour un ouvrage de référence, ce sera son nom par défaut. Pour un document - le nom du document, le numéro et la date.

2. Tout objet 1C (avec des restrictions) peut être converti en XML et vice versa. Le processus de conversion s'appelle la sérialisation.

ViewStringXml \u003d XMLString (valeur); // obtenir du XML à partir de la valeur 1C
Value1C \u003d XMLValue (Type ("ReferenceLink.Nomenclature"), ViewStringXml); // récupère la valeur 1C de la chaîne XML, vous devez spécifier le type 1C qui doit être reçu

3. Il existe un moyen de la plate-forme 1C pour convertir n'importe quel objet 1C en une chaîne. Il a migré de la version 1C 7.7. Ce format n'est pas compris par les autres programmes, mais il est compris par un autre 1C, ce qui facilite son utilisation pour l'échange entre les bases 1C.

String \u003d ValueVSStringInter (Value1C); // récupère la ligne 1C à partir de la valeur 1C
ValueVFile ("C: \\ MyFile.txt", Value1C); // une autre option, nous obtenons un fichier avec une chaîne enregistrée à partir de la valeur 1C
Value1C \u003d ValueFromStringInternal (chaîne); // retour de la ligne 1C
Value1C \u003d ValueOfFile ("C: \\ MyFile.txt"); // retour du fichier

Modification des lignes 1C sur le formulaire

En plus de travailler avec des chaînes 1C dans un programme 1C, j'aimerais bien sûr que l'utilisateur puisse les modifier. Il existe plusieurs possibilités pour cela:

1. Le moyen le plus simple est de demander l'entrée de la ligne 1C à la demande. Cette méthode est utilisée lors de l'enseignement de la programmation 1C, dans la vraie vie, elle est beaucoup moins utilisée (mais elle est utilisée!).

Variable \u003d "";
String \u003d EnterValue (Variable, "Entrez votre nom complet");

2. Pour afficher l'attribut de l'objet 1C (livre / document de référence) ou l'attribut du formulaire (voir), le champ de saisie est le plus souvent utilisé. Il s'agit de l'outil le plus courant dans 1C pour le travail des utilisateurs avec des champs d'édition.

3. Les possibilités du champ de saisie peuvent être étendues (voir les propriétés du champ de saisie, faire un clic droit dessus, pour plus de détails):

  • Coche Mode d'édition multiligne
  • Case à cocher Modification avancée (disponible si la case précédente est cochée)
  • Case à cocher Mode mot de passe (voir).

4. Si vous ne disposez pas de toutes les fonctionnalités du champ de saisie, il existe un éditeur intégré. Pour l'ajouter au formulaire, ajoutez un champ de document texte dans le menu Formulaire / Insérer un contrôle. Dans ses propriétés, vous pouvez spécifier le mode de son fonctionnement - la propriété Extension.

Un champ de document texte ne peut pas être lié directement aux données. Il est nécessaire d'écrire une fonction dans le gestionnaire d'événements OnOpen () de la forme (voir):

Éléments de formulaire.ElementNameTextDocumentField.SetText (ValueString); // ici ValueString est le texte obtenu, par exemple, à partir des accessoires

Et dans le gestionnaire de sauvegarde - par exemple, dans le bouton Enregistrer - ajoutez une sauvegarde:

ValueString \u003d FormElements.ElementNameTextDocumentField.GetText (); // Valeur La chaîne ici est les accessoires où nous stockons la valeur

5. Dans la version 8.2.11 de 1C, dans les formulaires gérés, il existe une nouvelle possibilité de représenter la ligne 1C - le champ Document mis en forme.


Semblable au champ d'un document texte, il est nécessaire de définir lors de l'ouverture et d'écrire lors de l'enregistrement du texte vous-même à l'aide du programme.

  • Dans l'objet 1C, dont nous faisons la forme (livre de référence, document, traitement, etc.) - ajoutez un attribut avec le type de stockage
  • Dans la fonction ReadOnServer (), définissez le texte des accessoires

    // here Props est la propriété ajoutée de l'objet 1C
    // ici FormattedDocument est le nom du champ du formulaire à modifier
    & Sur le serveur

    FormattedDocument \u003d CurrentObject.Props.Get ();
    Fin de la procédure

  • Dans la fonction BeforeWriteOnServer () ou par le bouton, écrivez le texte du champ

    & Sur le serveur
    Procédure pour ReadingOnServer (CurrentObject)
    CurrentObject.Props \u003d NewValueStore (FormattedDocument);
    Fin de la procédure

Une chaîne est l'un des types de données primitifs dans 1C: Enterprise 8. Variables avec le type ligne contiennent du texte.

Valeurs des variables de type lignesont entre guillemets. Plusieurs variables de ce type peuvent être ajoutées.

Per1 \u003d "Mot 1";
Per2 \u003d "Mot 2";
Per3 \u003d Per1 + "" + Per2;

Finalement Per3 signifiera " Mot 1 Mot 2 ″.

De plus, les systèmes 1C: Enterprise 8 fournissent des fonctions permettant de travailler avec des chaînes. Considérons les principaux:

Introduire String (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — la fonction est conçue pour afficher une boîte de dialogue dans laquelle l'utilisateur peut spécifier la valeur d'une variable de type Ligne... Paramètre <Строка> est obligatoire et contient le nom de la variable dans laquelle la chaîne saisie sera écrite. Paramètre <Подсказка> facultatif est le titre de la boîte de dialogue. Paramètre <Длина> facultatif, indique la longueur maximale de la chaîne d'entrée. La valeur par défaut est zéro, ce qui signifie une longueur illimitée. Paramètre <Многострочность> optionnel. Détermine le mode de saisie du texte multiligne: True - saisie de texte multiligne avec séparateurs de ligne; False - entrée de chaîne simple.

La chaîne peut être saisie et recevoir le code de caractère Unicode:

Symbole(<КодСимвола>) — le code est saisi sous forme de nombre.

Lettre \u003d Symbole (1103); // JE SUIS

Il existe également une fonction inverse qui permet de connaître le code d'un caractère.

SymbolCode (<Строка>, <НомерСимвола>) — renvoie le numéro du caractère Unicode spécifié sous forme de nombre.

Fonctions de conversion de cas:

BReg (<Строка>) - convertit tous les caractères de la chaîne en majuscules.

HReg (<Строка>) - convertit tous les caractères de la chaîne en minuscules.

Treg (<Строка>) - convertit tous les caractères d'une chaîne en majuscules. Autrement dit, les premières lettres de tous les mots sont converties en majuscules et les lettres restantes sont converties en minuscules.

Fonctions de recherche et de remplacement de caractères dans une chaîne:

Trouver(<Строка>, <ПодстрокаПоиска>) - trouve le numéro de caractère de l'occurrence de la sous-chaîne de recherche. Par exemple:

Find ("String", "Oka"); // 4

Chercher (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - trouve le numéro de caractère de l'occurrence de la sous-chaîne de recherche, le numéro d'occurrence est indiqué dans le paramètre correspondant. Dans ce cas, la recherche commence par un caractère dont le numéro est spécifié dans le paramètre Position initiale.La recherche est possible depuis le début ou depuis la fin de la chaîne. Par exemple:

Nombre4 occurrences \u003d StrFind ( "Capacité de défense", "o", Direction de la recherche. Depuis le début, 1, 4); // 7

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

StrReplace ("Chaîne", "Oka", ""); // Page

Ligne vide (<Строка>) - vérifie la chaîne pour les caractères significatifs. S'il n'y a pas de caractères significatifs ou s'il n'y a aucun caractère, la valeur est renvoyée Vrai... Autrement - Faux.

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

StrNombre d'occurrences ( "Etudiez, étudiez et étudiez à nouveau", "étude" , "" ) ; // 3

PageTemplate (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — remplace les paramètres dans la chaîne par un nombre. La chaîne doit contenir des marqueurs de substitution de la forme: "% 1 ..% N". Les marqueurs sont numérotés à partir de 1. Si la valeur du paramètre Indéfini, une chaîne vide est remplacée.

PageTemplate ( "Paramètre 1 \u003d% 1, Paramètre 2 \u003d% 2", "1" , "2" ) ; // Paramètre 1 \u003d 1, paramètre 2 \u003d 2

Fonctions de conversion de chaîne:

Un lion(<Строка>, <ЧислоСимволов>) - renvoie d'abord les premiers caractères de la chaîne.

Droite (<Строка>, <ЧислоСимволов>) - renvoie les derniers caractères de la chaîne.

Mercredi (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - renvoie une chaîne de longueur<ЧислоСимволов>en commençant par le personnage<НачальныйНомер>.

AbbrL (<Строка>) tronque les caractères non significatifs à gauche du premier caractère significatif de la chaîne.

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

SocrLP (<Строка>) - coupe les caractères non significatifs à gauche du premier caractère significatif de la ligne et à droite du dernier caractère significatif de la ligne.

StrGetString (<Строка>, <НомерСтроки>) - obtient une chaîne multiligne par numéro.

Autres fonctions:

StrLength (<Строка>) - renvoie le nombre de caractères dans une chaîne.

RowNumber (<Строка>) - renvoie le nombre de lignes dans une chaîne multiligne. Une ligne est considérée comme nouvelle si elle est séparée de la ligne précédente par un caractère de nouvelle ligne.

Comparez (<Строка1>, <Строка2> ) - compare deux chaînes, insensible à la casse. La fonction fonctionne de la même manière qu'un objet Comparaison des valeurs... Retour:

  • 1 - si la première ligne est supérieure à la seconde
  • -1 - si la deuxième ligne est supérieure à la première
  • 0 - si les chaînes sont égales

Compare ("Première ligne", "Deuxième ligne"); // 1

LA CLOCHE

Il y a ceux qui ont lu cette actualité avant vous.
Abonnez-vous pour recevoir les derniers articles.
Email
Nom
Nom de famille
Comment voulez-vous lire The Bell
Pas de spam