Găsiți valoarea în rândul 1s. Ce este căutarea rapidă

01.11.2019 Programe

În acest articol vă voi spune despre funcția de căutare rapidă 1C Enterprise 8. Ce s-a întâmplat cautare rapida? Foarte simplu. Căutarea rapidă este una dintre modalitățile de a naviga în liste mari de înregistrări 1C. Acestea pot fi liste de documente, directoare, registre - tot ceea ce este reprezentat prin tabele.

Ce este o căutare rapidă?

Funcția de căutare rapidă în documentele 1C Enterprise este extrem de convenabilă și vă permite să nu defilați prin matrice uriașă de date (de exemplu, folosind bara de defilare), ci să săriți imediat la locul dorit din listă. Din păcate, utilizatorii începători ai 1C Enterprise 8 (inclusiv 1C Accounting 8) nu folosesc la început capacitățile de căutare rapidă, preferând să parcurgă listele de documente manual (și pot fi Foarte mare). Acest articol vă va ajuta să înțelegeți cum să utilizați o căutare rapidă în 1C.

În primul rând, trebuie remarcat faptul că în configurațiile 1C Enterprise 8 construite pe formulare gestionate, căutarea rapidă funcționează diferit decât în Versiuni anterioare 1C. Prin urmare, vom analiza separat utilizarea căutării rapide în formulare gestionate si in mod obisnuit.

Căutare rapidă în 1C Accounting 8.2

În versiunile 1C Accounting de la 8.0 la 8.2 funcția este destinată tranziție la partea dorită a listei. Pentru un exemplu, uitați-vă la fereastra planului de conturi prezentată în figură.


O linie este selectată în fereastră. Observați triunghiul subtil de dungi indicat de săgeata roșie. Ca și în alte programe Windows în care există liste (de exemplu, în Explorer), poziția acestui marcator (triunghi) determină sortarea listei ca întreg - în ce coloană este setat marcatorul, întreaga listă va fi sortată după acea coloană.În figură, marcatorul se află în coloana Cod, deci conturile din planul de conturi vor fi sortate după cod.

Markerul poate fi mutat de la o coloană la alta făcând clic pe coloana dorită ( pe coloana TITURI!) cu mouse-ul. Dacă marcatorul se află deja în coloana curentă, atunci făcând clic se va inversa direcția de sortare (adică de la mai mare la mai mic sau invers). Acesta este un comportament standard pentru oricare programe Windows. Care este particularitatea acestui marker în 1C Enterprise și cum este legat de căutarea rapidă?

O căutare rapidă în listele 1C Enterprise 8 se efectuează în funcție de coloana în care se află marcatorul.În acest caz, se va efectua o căutare rapidă în planul de conturi în coloana Cod.

A fost o parte importantă a articolului, dar fără JavaScript nu este vizibil!

Cum se utilizează căutarea rapidă în 1C? Uşor! Începeți doar să introduceți ceea ce doriți să găsiți în ACEASTA coloană, adică unde este marcatorul. În exemplul din figura de mai sus, trebuie să introduceți numărul contului. De exemplu, doriți să găsiți contul 50 Kassa . În acest caz, introduceți ( Nu trebuie să dai clic nicăieri!) numărul 50 de la tastatură, iar dacă există un cont cu acest număr în această coloană (și, desigur, există unul), atunci lista se va derula la această linie, iar linia în sine va fi evidențiată. Rezultatul este afișat în captura de ecran a planului de conturi de mai jos.

website_

Textul spre care indică săgeata nu este nevoie să te speli după aceea- va dispărea.

Dacă, în exemplul de mai sus, începeți să tastați cuvântul „Casier”, atunci textul din partea de jos a ferestrei va fi introdus și apoi șters. Acest lucru se întâmplă pentru că de îndată ce start din linia de căutare rapidă introdusă nu mai corespunde începutului a cel puțin unui rând din această coloană, 1C Enterprise concluzionează că linia căutată nu a fost găsită și o șterge automat. Din cauza asta două reguli de reținut.

În 1C Enterprise 8, o căutare rapidă este efectuată la începutul liniei, adică în coloană, se caută potrivirea textului introdus cu începutul uneia dintre rândurile acestei coloane.
Acest lucru duce la o recomandare importantă: atunci când introduceți date în directoare, numiți elementele astfel încât să fie convenabil să le căutați folosind o căutare rapidă. De exemplu, este mai bine să scrieți numele contrapărții ca „Nume Companie LLC” decât „Nume Companie LLC”. Și cu atât mai mult, nu trebuie să folosiți ghilimele și alte caractere inutile în nume (vorbim despre completarea câmpului Nume din formulare).

Dacă începi să tastezi text și acesta este șters, ceea ce cauți nu se află în această coloană!În acest caz, verificați limba de introducere, precum și coloana în care se efectuează căutarea rapidă. Greseala comuna- Coloană greșită selectată. De exemplu, marcatorul este setat în coloana Cod, iar căutarea este efectuată după numele contului.

Căutare rapidă în 1C Accounting 8.3

Acum să vedem cât de mult diferă căutarea rapidă în versiunea 1C Enterprise 8.3. Utilizarea este foarte asemănătoare cu versiunea 8.2, dar există o diferență majoră de reținut.

În 1C Accounting 8.3, precum și în orice alte configurații pe formulare gestionate (același noua interfata) funcționează ca un filtru. Pur și simplu, ca rezultat al funcției de căutare rapidă, o parte a listei ascunzându-se.

Cum să-l folosim, vom afla acum. Pentru a începe, priviți captura de ecran a ferestrei planului de conturi 1C Contabilitate 8.3 de mai jos.

website_

După cum puteți vedea, același marcator se află într-una dintre coloane. Căutarea este efectuată și de coloana în care este setat markerul. Toate acestea au rămas neschimbate. Cu toate acestea, dacă începeți să introduceți text (în exemplu, numărul contului), se va întâmpla următoarele.

website_

După cum puteți vedea, caseta de căutare s-a deschis automat. Exact aceeași fereastră se va deschide dacă faceți clic pe butonul de căutare din bara de instrumente a ferestrei (subliniat în figură). Drept urmare, când faceți clic pe butonul Găsiți din fereastra de căutare (ascuns în spatele meniului derulant din imagine) sau pur și simplu pe Enter, veți obține următorul rezultat.

website_

De aici este clar că o căutare rapidă în 1C Accounting 8.3 lasă pur și simplu vizibilă partea din listă care îndeplinește condițiile de căutare.În acest caz, butonul Găsiți dispare, iar în loc de acesta apare o lentilă cu cruce (subliniată în figură), când este apăsat, lista revine la starea initiala(în timp ce linia găsită ca urmare a unei căutări rapide rămâne selectată).

O altă caracteristică importantă a unei căutări rapide în 1C Accounting 8.3- nu se caută o potrivire la începutul liniei, ca în versiunea 8.2, dar se caută o potrivire cu orice parte a liniilor din coloană. Astfel, dacă contrapartea se numește „Company Name LLC”, iar la căutare, începeți să introduceți „Company Name LLC”, atunci linia va fi în continuare găsită!

Tragerea concluziilor

Astfel, căutarea rapidă în 1C Accounting 8.2 și versiunile anterioare are scopul de a derula lista la linia dorită, iar în 1C Accounting 8.3, căutarea rapidă funcționează ca un filtru obișnuit, ascunzând partea din listă de care nu aveți nevoie.

Șirurile din 1C 8.3 în limbajul încorporat 1c sunt valori de tip primitiv Linia. Valori de acest tip conține un șir Unicode de lungime arbitrară. Variabilele de tip șir sunt un set de caractere cuprinse între ghilimele.

Exemplul 1. Să creăm o variabilă șir cu text.

StringVariable = „Bună lume!”;

Funcții pentru lucrul cu șiruri în 1s 8.3

ÎN aceasta sectiune vor fi date principalele funcții care vă permit să schimbați liniile în 1s, sau să analizați informațiile conținute în acestea.

StrLength

StrLength(<Строка>) . Returnează numărul de caractere conținut în șirul transmis în parametru.

Exemplul 2. Să numărăm numărul de caractere din șirul „Hello world!”.

String = „Bună lume!”; Număr de caractere = StrLength(String); Raport (număr de caractere);

Rezultatul executării acestui cod va fi afișarea numărului de caractere din șir: 11.

Abreviat

Abr(<Строка>) . Decupează caracterele nesemnificative la stânga primului caracter semnificativ dintr-un șir.
Personaje nesemnificative:

  • spaţiu;
  • spatiu nerupere;
  • intabulare;
  • retur transport;
  • traducere de linie;
  • traducerea formularului (pagina).

Exemplul 3. Eliminați toate spațiile din partea stângă a șirului „pace!” și adăugați șirul „Bună ziua”.

String = abbr("lume!"); String = „Bună”+String; Notifică (Șir);

Rezultatul executării acestui cod va fi afișarea șirului „Hello world!”.

Abreviere

abreviat(<Строка>) . Decupează caracterele nesemnificative la dreapta primului caracter semnificativ dintr-un șir.

Exemplul 4. Formă din șirurile „Hello” și „world!” fraza „Bună lume!”

String = abbr("Bună")+" "+abbr("lume!"); Notifică (Șir);

LP prescurtat

Abbrl(<Строка>) . Decupează caracterele nesemnificative la dreapta primului caracter semnificativ din șir, de asemenea, decupează caracterele nesemnificative la stânga primului caracter semnificativ din șir. Această funcție folosit mai des decât precedentele două, deoarece este mai versatil.

Exemplul 5. Eliminați caracterele nesemnificative din stânga și dreapta din numele contrapărții.

Contractor = Directories.Contractors.FindBy Details("TIN", "0777121211"); ContractorObject = Contractor.GetObject(); ContractorObject.Description = LP abreviat(ContractorObject.Description); ContractorObject.Write();

un leu

Un leu(<Строка>, <ЧислоСимволов>) . Obține primele caractere ale unui șir, numărul de caractere este specificat în parametru Numărul de caractere.

Exemplul 6. Fie structura Angajat conțin numele, prenumele și patronimul salariatului. Obțineți șir cu numele de familie și inițialele.

InitialName = Lion(Employee.Name, 1); Patronimic Initial = Leu(Angajat.Patronimic, 1); FullName = Employee.LastName + " " + FirstName Initial + "." + Inițiala patronimică + ".";

Drepturi

Dreapta(<Строка>, <ЧислоСимволов>) . Obține ultimele caractere ale unui șir, numărul de caractere este specificat în parametru Numărul de caractere. Dacă numărul specificat de caractere depășește lungimea șirului, atunci întregul șir este returnat.

Exemplul 7. Să fie scrisă o dată la sfârșitul unei variabile șir în formatul „aaaammzz”, obțineți un șir cu o dată și convertiți-l în tip Data.

String = " Data curentă: 20170910"; StringDate = Drepturi (String, 8); Data = Data (StringDate);

miercuri

Miercuri(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Obține un subșir din șirul transmis în parametru Linia, începând de la caracterul al cărui număr este specificat în parametru InitialNumber iar lungimea trecută la parametru Numărul de caractere. Numerotarea caracterelor dintr-un şir începe de la 1. Dacă parametrul InitialNumber este specificată o valoare mai mică sau egală cu zero, atunci parametrul ia valoarea 1. Dacă parametrul Numărul de caractere nu este specificat, sunt selectate caractere până la sfârșitul șirului.

Exemplul 8. Lăsați variabila șir să conțină codul de regiune începând de la a noua poziție, ar trebui să îl obțineți și să îl scrieți într-o linie separată.

String = „Regiune: 99 Moscova”; Regiune = Avg(Rând, 9, 2);

PageFind

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Caută subșirul specificat într-un șir, returnează numărul de poziție al primului caracter al subșirului găsit. Luați în considerare parametrii acestei funcții:

  • Linia. șir sursă;
  • SubstringSearch. Subșirul dorit;
  • DirectionSearch. Specifică direcția de căutare a unui subșir într-un șir. Poate lua valori:
    • Direcția de căutare. De la început;
    • Căutați direcția. De la sfârșit;
  • StartPosition. Specifică poziția din șir de la care se începe căutarea;
  • Numărul de intrare. Specifică numărul de apariții ale subșirului căutat în șirul sursă.

Exemplul 9. În rândul „Bună lume!” determinați poziția ultimei apariții a caracterului „și”.

PositionNumber = StrFind("Bună lume!", "și", SearchDirection.From End); Notify(PositionNumber);

Rezultatul executării acestui cod va fi afișarea numărului ultimei apariții a simbolului „și” pe ecran: 9.

VReg

VReg(<Строка>) . Convertește toate caracterele șirului specificat în 1s 8 în majuscule.

Exemplul 10. Convertiți șirul „hello world!” la majuscule.

StringVreg = Vreg("bună lume!"); Raport (StringVreg);

Rezultatul executării acestui cod va fi afișarea șirului „HELLO WORLD!”

HReg

HReg(<Строка>) . Convertește toate caracterele șirului specificat în 1s 8 în minuscule.

Exemplul 11. Convertiți șirul „HELLO WORLD!” la litere mici.

StringNreg = NReg("HELLO WORLD!"); Raport (StringVreg);

Rezultatul executării acestui cod va fi afișarea șirului „hello world!”

TReg

TReg(<Строка>) . Convertește un șir după cum urmează: primul caracter al fiecărui cuvânt este convertit în majuscule, caracterele rămase ale cuvântului sunt convertite în minuscule.

Exemplul 12. Faceți capitalul în primul rând literele cuvintelor din șirul „hello world!”.

StringTreg = TReg("bună lume!"); Raport (StringTreg);

Rezultatul executării acestui cod va fi afișarea șirului „Hello World!”

Simbol

Simbol(<КодСимвола>) . Obține un caracter prin codul său Unicode.

Exemplul 13. Adăugați stânga și dreapta la linia „Hello World!” simbol ★

StringWithStars = Personaj("9733")+"Bună lume!"+Personaj ("9733"); Raport (StringWithStars);

Rezultatul executării acestui cod va fi afișarea șirului „★Hello World!”

SymbolCode

CodSimbol(<Строка>, <НомерСимвола>) . Obține codul caracterului Unicode din șirul specificat în primul parametru, situat în poziția specificată în al doilea parametru.

Exemplul 14. Aflați codul ultimului caracter din șirul „Hello World!”.

String = „Bună lume!”; CharacterCode =CharacterCode(String, StrLength(String)); Notify(CharacterCode);

Rezultatul executării acestui cod va fi afișarea codului simbolului "!" — 33.

Linie goală

Linie goală (<Строка>) . Verifică dacă șirul este format doar din caractere nesemnificative, adică dacă este gol.

Exemplul 15. Verificați dacă șirul este gol și este format din trei spații.

Gol = EmptyString(" "); Raport (Gol);

Rezultatul executării acestui cod va fi afișarea cuvântului „Da” (expresie șir a unei valori booleene Adevărat).

StrReplace

StrInlocuire(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Găsește toate aparițiile subșirului de căutare în șirul sursă și îl înlocuiește cu subșirul de înlocuire.

Exemplul 16. În rândul „Hello World!” înlocuiți cuvântul „Lumea” cu cuvântul „Prieteni”.

String = StrReplace("Bună lume!", "Lumea", "Prieteni"); Notifică (Șir);

Rezultatul executării acestui cod va fi afișarea șirului „Bună ziua, Prieteni!”

StrNumberRows

StrNumăr de linii(<Строка>) . Vă permite să numărați numărul de linii dintr-un șir cu mai multe linii. Pentru a comuta la linie nouăîn 1s 8 se foloseşte simbolul PS(caracter de avans de linie).

Exemplul 17. Determinați numărul de rânduri din text:
"Prima linie
A doua linie
A treia linie"

Number = StrNumber of Lines ("Prima linie"+Simboluri.PS +"A doua linie"+Simboluri.PS +"A treia linie"); Raport (Număr);

Rezultatul executării acestui cod va fi afișarea numărului de linii din text: 3

StrGetString

StrGetString(<Строка>, <НомерСтроки>) . Obține un șir într-un șir cu mai multe linii după numărul său. Numerotarea liniilor începe de la 1.

Exemplul 18. Obțineți ultima linie din text:
"Prima linie
A doua linie
A treia linie"

Text = "Prima linie"+Caractere.PS +"A doua linie"+Caractere.PS +"A treia linie"; LastLine = StrGetLine(Text, StrNumber of Lines(Text)); Notifică (Ultima linie);

Rezultatul executării acestui cod va fi afișarea liniei „A treia linie”.

StrNumberOccurrences

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) . Returnează numărul de apariții ale subșirului specificat într-un șir. Funcția este sensibilă la majuscule și minuscule.

Exemplul 19. Determinați de câte ori litera „c” intră pe linia „Linii în 1s 8.3 și 8.2”, indiferent de cazul ei.

String = „Linii în 1s 8.3 și 8.2”; Number of Occurrences = StrNumber of Occurrences(Vreg(String), "C"); raport (număr de apariții);

Rezultatul executării acestui cod va afișa numărul de apariții pe ecran: 2.

Pagina începe de la

StrBeginsFrom(<Строка>, <СтрокаПоиска>) . Verifică dacă șirul dat în primul parametru începe cu șirul din al doilea parametru.

Exemplul 20. Determinați dacă TIN-ul contrapărții selectate începe cu numărul 1. Fie variabila contraparte Contrapartide.

TIN = Contractor.TIN; StartsCUnits = StrStartsC(TIN, "1"); If StartsFROM1 Then //Codul dvs. EndIf;

Pagina se termină pe

StrEndsOn(<Строка>, <СтрокаПоиска>) . Verifică dacă șirul trecut în primul parametru se termină cu șirul din al doilea parametru.

Exemplul 21. Determinați dacă TIN-ul contrapărții selectate se termină cu numărul 2. Fie variabila contraparte linkul către elementul director este stocat Contrapartide.

TIN = Contractor.TIN; Se termină cu doi = Str se termină cu (TIN, „2”); Dacă se termină cu doi, atunci //Codul dvs. EndIf;

PageSplit

StrDivide(<Строка>, <Разделитель>, <ВключатьПустые>) . Împarte un șir în părți după caracterele delimitatoare specificate și scrie șirurile rezultate într-o matrice. Primul parametru stochează șirul original, al doilea parametru conține șirul care conține delimitatorul, al treilea parametru indică dacă șirurile goale trebuie scrise în matrice (în mod implicit Adevărat).

Exemplul 22. Să presupunem că avem un șir care conține numere separate prin simbolul „;”, obținem o matrice de numere din șir.

String = "1; 2; 3"; Array = StrSplit(String, ";"); Pentru Count = 0 By Array.Quantity() - 1 Loop Attempt Array[Count] = Number(Ablp(Array[Count])); Exception Array[W] = 0; EndTry EndCycle;

Ca rezultat al execuției, se va obține o matrice cu numere de la 1 la 3.

StrConnect

StrConnect(<Строки>, <Разделитель>) . Convertește o matrice de șiruri din primul parametru într-un șir care conține toate elementele matricei folosind delimitatorul specificat în al doilea parametru.

Exemplul 23. Folosind tabloul de numere din exemplul anterior, obțineți șirul original.

Pentru Count = 0 By Array.Quantity() - 1 Loop Array[Count] = String(Array[Count]); EndCycle; String = StrConnect(Matrice, "; ");

Acasă Note din oglindă

02/07/2013 Căutare după șir

Implementat în versiunea 8.3.3.641.

Am îmbunătățit serios intrarea în linie. Pentru a face acest lucru, a trebuit să implementăm un nou mecanism de căutare puternic în câmpul de introducere. Acum poate lucra rapid pe milioanele de înregistrări conținute în baza de date.

Am analizat sarcinile de căutare pe care le au utilizatorii. Am efectuat o „revizuire” a mecanismelor disponibile în platformă care utilizează diverși algoritmi de căutare. Ca rezultat, intrarea pe linie a dobândit caracteristici noi calitativ.

Utilizatorii pot căuta acum oriunde în titlu, nu doar la începutul rândului. Ei pot utiliza căutarea text integral pentru aceasta și chiar pot căuta cu un job de fundal. Pentru ca căutarea cu text integral să funcționeze eficient atunci când introduceți un șir, am optimizat și mai mult acest motor de căutare și am crescut performanța acestuia.

Am colectat toate proprietățile noi care vă permit să personalizați intrarea pe linie, într-o filă separată a ferestrei de editare a obiectului de configurare:

De exemplu, puteți specifica că căutarea va fi efectuată oriunde în șir, și nu doar la începutul acestuia:

Apoi utilizatorul poate introduce orice fragment de cuvinte și nu doar acele caractere cu care începe șirul de căutare:

Utilizarea căutării full-text la introducerea prin șir este activată de o proprietate separată:

Cu ajutorul căutării full-text, utilizatorii pot găsi rapid date relevante printre cantități mari de date prin oricare dintre cuvintele conținute, de exemplu, în nume:

De asemenea, pot căuta mai multe cuvinte cunoscute. Cuvintele incomplete vor fi completate automat cu posibile combinații:

Dacă cantitatea de date este mare, atunci în ambele cazuri puteți specifica că căutarea trebuie efectuată folosind un job de fundal:

Apoi, lângă câmpul de introducere, utilizatorii vor vedea o imagine animată similară cu imaginea care este afișată atunci când raportul rulează în fundal:

  • dacă nu se așteaptă o cantitate mare de date în obiectul care este utilizat în câmpul de intrare, atunci vă sfătuim să activați căutarea unui șir oriunde;
  • dacă în obiect este planificată o cantitate mare de date, atunci:
    • vă recomandăm să activați căutările de text complet și de fundal;
    • în același timp, puteți utiliza și căutarea de șiruri oriunde, dar împreună cu căutarea în fundal și, de preferință, cu căutarea text integral; astfel încât majoritatea căutărilor sunt efectuate prin căutare full-text.

Puteți suprascrie toate proprietățile enumerate, dacă este necesar, în timpul execuției soluției aplicate.

Pe client - în tratatorii de evenimente de intrare client Selectare automată Și EndInputText :

Pe server - în modulul manager al obiectului ale cărui date sunt căutate. În handler de evenimente ProcessingChoiceDataReceive :

Desigur, în acest loc, pe server, nu poți trece peste modul în care se efectuează căutarea "Direct" sau "sarcina de fundal" . Pentru că execuția codului a fost deja transferată pe server.

Salutare tuturor
Astăzi mi-au cerut să nu afișez prefixul documentului la tipărirea documentului de implementare, problema a fost rezolvată astfel.

StrInlocuire(Număr, Leu(Număr, 3), "");

Când m-am uitat la asistentul de sintaxă, mi-a plăcut atât de mult încât am vrut să scriu despre el lucrul cu șiruri în 1C:Enterprise.

Un șir în 1C se referă la un tip de date primitiv.

Dacă te uiți în ajutorul 1C, vei vedea următoarea descriere a tipului String (String)
Valorile de acest tip conțin un șir Unicode de lungime arbitrară.
Dacă în propriile cuvinte despre șiruri, atunci va funcționa. Un șir este o constantă formată din diferite caractere, întotdeauna înconjurate de ghilimele.

Specificația șirului
Titlu = „Salut pasager”;

Șirurile cu mai multe linii în configurații tipice sunt cel mai adesea create folosind separatorul vertical „|”:
String = „Multilinie
|șir
| scrie
|text";

Un ghilimele dintr-un șir este specificat prin ghilimele duble.
String = ""Text între ghilimele"";

Există multe operații pe șiruri (căutare în interiorul unui șir, determinarea primelor etc.), este mai bine să te uiți la Syntax Helper.
Asistent de sintaxă - descriere generala limbaj încorporat-> funcții încorporate-> funcții de manipulare a șirurilor.

Funcții pentru lucrul cu șiruri

Aici, într-o formă scurtă, voi da funcțiile pentru lucrul cu șiruri de caractere:

VReg(<Строка>) - Funcția convertește toate caracterele șirului în majuscule.

CodSimbol(<Строка>, <НомерСимвола>) – Funcția primește codul caracterului aflat în șirul transmis la poziția cu numărul specificat.

Un leu(<Строка>, <ЧислоСимволов>) – Funcția selectează primele caractere din stânga șirului.

Găsi(<Строка>, <ПодстрокаПоиска>) — Funcția găsește apariția șirului căutat ca subșir în șirul original.

HReg(<Строка>) — Funcția convertește toate caracterele șirului în minuscule.

Dreapta(<Строка>, <ЧислоСимволов>) – Această funcție diferă de funcțiile Left prin faptul că selectează ultimele caractere din dreapta șirului.

Linie goală (<Строка>) — Funcția verifică șirul pentru prezența caracterelor semnificative.

Simbol(<КодСимвола>) — Funcția convertește codul caracterului într-un șir care conține caracterul.

Abr(<Строка>) — Funcția decupează caracterele nesemnificative din stânga primului caracter semnificativ din șir.

Abbrl(<Строка>) — Funcția decupează caracterele nesemnificative din stânga primului caracter semnificativ din șir și spațiile la dreapta ultimului caracter semnificativ din șir.

abreviat(<Строка>) — Funcția decupează caracterele nesemnificative din dreapta ultimului caracter semnificativ din șir.

Miercuri(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - Funcția selectează un șir de caractere, începând cu caracterul<НачальныйНомер>, total<ЧислоСимволов>.

StrLength(<Строка>) — Funcția primește numărul de caractere din șir.

StrInlocuire(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) — Funcția găsește toate aparițiile subșirului de căutare în șirul sursă și îl înlocuiește cu subșirul de înlocuire.

StrGetString(<Строка>, <НомерСтроки>) — Funcția primește șirul unui șir cu mai multe linii după număr.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) — Funcția calculează numărul de apariții ale subșirului de căutare în șirul sursă.

StrNumăr de linii(<Строка>) — Funcția numără numărul de linii dintr-un șir cu mai multe linii. Într-un șir cu mai multe linii, liniile sunt separate prin caractere newline.

TReg(<Строка>) — Funcția convertește șirul în majuscule de titlu. Aceasta înseamnă că pentru fiecare cuvânt, primul caracter este convertit în majuscule sau în majuscule dacă nu este specificată nicio literă de titlu pentru caracter. Restul caracterelor sunt convertite în litere mici.

Conversii de tip
Pentru conversia explicită a tipului de date, există funcții cu același nume ca tipul de date la care are loc conversia: String(<Значение>)

StringFromNumbers= String(Număr);

Toate aceste funcții sunt descrise în detaliu în Syntax Assistant, cum poate ajuta Syntax Assistant un programator începător, am descris în articol.

Exemple de șiruri

Convertiți numărul în șir și înapoi.

Pentru a obține o reprezentare în șir a anului, utilizați funcția Format.

An = Format(CurrentDate(), "DF=aaaa" ) // An = "2012"

Pentru a converti un număr într-un șir fără a introduce un caracter separator de grup ( spatiu de nerupere), este necesar să se aplice funcția Format cu parametrul FH=0:

Number = 2012 String = Format(Number, "NW=0" ); //Șir = „2012”

String Fără spații.

String este unul dintre tipurile de date primitive din sistemele 1C:Enterprise 8. Variabile cu tip linia conțin text.

Tastați Valori variabile linia sunt în ghilimele duble. Se pot adăuga mai multe variabile de acest tip.

Per1 = „Cuvântul 1” ;
Per2 = „Cuvântul 2” ;
Per3 = Per1 + " " + Per2 ;

În cele din urmă Per3 va conta" Cuvântul 1 Cuvântul 2″.

În plus, sistemele 1C:Enterprise 8 oferă funcții pentru lucrul cu șiruri. Luați în considerare cele principale:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția este concepută pentru a afișa o casetă de dialog în care utilizatorul poate specifica valoarea unei variabile de tip Linia. Parametru <Строка> este obligatoriu și conține numele variabilei în care va fi scris șirul introdus. Parametru <Подсказка> opțional este titlul casetei de dialog. Parametru <Длина> opțional, arată lungime maximașir de intrare. Valoarea implicită este zero, ceea ce înseamnă lungime nelimitată. Parametru <Многострочность> opțional. Specifică modul de introducere a textului pe mai multe linii: Adevărat — introducerea textului pe mai multe linii cu separatoare de linii; False - Introduceți un șir simplu.

Se poate introduce un șir și, cunoscând codul caracterelor în Unicode:

Simbol(<КодСимвола>) — Codul este introdus ca număr.

Literă= Simbol(1103 ); // eu

Există și o funcție inversă care vă permite să aflați codul unui personaj.

CodSimbol(<Строка>, <НомерСимвола>) — Returnează numărul Unicode al caracterului specificat ca număr.

Funcții de conversie a majusculei textului:

VReg(<Строка>) - Convertește toate caracterele dintr-un șir în majuscule.

HReg(<Строка>) - Convertește toate caracterele dintr-un șir în minuscule.

TReg(<Строка>) - convertește toate caracterele șirului în majuscule pentru titlu. Adică, primele litere din toate cuvintele sunt convertite în majuscule, iar literele rămase sunt convertite în minuscule.

Funcții pentru căutarea și înlocuirea caracterelor dintr-un șir:

Găsi(<Строка>, <ПодстрокаПоиска>) - găsește numărul de caracter al apariției subșirului de căutare. De exemplu:

Găsiți („Șnur”, „ochi”); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — găsește numărul de caracter al apariției subșirului de căutare, numărul apariției este specificat în parametrul corespunzător. În acest caz, căutarea începe de la caracterul, al cărui număr este specificat în parametru StartPosition. Căutarea este posibilă de la începutul sau de la sfârșitul șirului. De exemplu:

Număr4 intrare= StrFind( "Defensivitate", „o” , Direcția de căutare. În primul rând, 1, 4); // 7

StrInlocuire(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Găsește toate aparițiile subșirului de căutare în șirul sursă și îl înlocuiește cu subșirul de înlocuire.

StrReplace("Șir", "ochi", "" ); // Pagina

Linie goală (<Строка>) - verifică șirul de caractere semnificative. Dacă nu există caractere semnificative sau nici un caracter, atunci valoarea este returnată Adevărat. In caz contrar - Minciună.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – calculează numărul de apariții ale subșirului de căutare în șirul sursă.

StrNumberOccurrences ( „Studiați, studiați și studiați din nou”, "studiu" , "" ); // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — înlocuiește parametrii în șir după număr. Șirul trebuie să conțină marcatori de substituție de forma: „%1..%N”. Numerotarea markerilor începe de la 1. Dacă valoarea parametrului Nedefinit, șirul gol este înlocuit.

StrPattern ( „Opțiunea 1 = %1, Opțiunea 2 = %2”, "1" , "2" ) ; // Parametrul 1= 1, Parametrul 2 = 2

Funcții de conversie a șirurilor de caractere:

Un leu(<Строка>, <ЧислоСимволов>) returnează primele caractere ale șirului.

Dreapta(<Строка>, <ЧислоСимволов>) - returnează ultimele caractere ale șirului.

Miercuri(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - returnează un șir de lungime<ЧислоСимволов>, începând cu un personaj<НачальныйНомер>.

Abr(<Строка>) trunchiază caracterele nesemnificative la stânga primului caracter semnificativ din șir.

abreviat(<Строка>) - decupează caracterele nesemnificative din dreapta ultimului caracter semnificativ din șir.

Abbrl(<Строка>) - decupează caracterele nesemnificative din stânga primului caracter semnificativ din șir și din dreapta ultimului caracter semnificativ din șir.

StrGetString(<Строка>, <НомерСтроки>) – primește șirul unui șir cu mai multe linii după număr.

Alte caracteristici:

StrLength(<Строка>) - returnează numărul de caractere dintr-un șir.

StrNumăr de linii(<Строка>) - returnează numărul de rânduri dintr-un șir cu mai multe linii. O linie este considerată nouă dacă este separată de linia anterioară printr-un caracter newline.

StrCompare(<Строка1>, <Строка2> ) - compară două șiruri fără a ține seama de majuscule și minuscule. Funcția funcționează ca un obiect Compararea Valorilor. Se intoarce:

  • 1 - dacă prima linie este mai mare decât a doua
  • -1 - dacă a doua linie este mai mare decât prima
  • 0 - dacă șirurile sunt egale

StrCompare(„Primul rând” , „Al doilea rând” ); // 1