Kôd znaka na kartici za 1s. Nove string funkcije

Posebni znakovi u 1C 8.3 - skup posebnih znakova za nizove podataka tipa.

Razmotrimo svaki od njih detaljnije.

Posebni znakovi u 1C: VK, VTab, NPP, PS, PF, Tab

Zovu se posebni znakovi pomoću globalnog svojstva „Symbols“, na primjer:

Text \u003d "Tekst prije tabulacije" + Simboli. Tab + "Tekst nakon tabulacije";

Besplatno preuzmite 267 video lekcija:

  • VK (CR) - povratak kočije. U stara vremena, na matričnim ili matričnim pisačima, ovaj se kod znakova koristio kao naredba koja je glavu za ispis vratila na početak retka.
  • NPP (NBSp) - neraskidivi prostor (često ga se može vidjeti u linijama numeričkog oblika, na primjer: 1 000).
  • PS (LF) - Uvlačenje linija (LF - linefeed) - pomičite bubanj jednom linijom prema dolje, glava za ispis na istom mjestu.
  • PF (FF) - prijevod formata. List se izbacuje iz pisača, ispis počinje s novim listom.
  • Tab je znak tab. Vodoravni jezičak način je za ispis na najbliži stupac koji je višestruki broj (na primjer, 8, 16, 24 ...).
  • VTab (VTab) - vertikalni jezičak. Slično je sa horizontalnim, samo je postavljen na liniji. To izaziva neko pomicanje bubnja pisača (glava za ispis ostaje u istom položaju (stupac)!)

PS + VK je kombinacija koja obavlja dvije operacije: pomiče bubanj jednom linijom prema dolje i vraća nosač ispisa na početak linije, što odgovara onome što korisnik očekuje da primi pritiskom na Enter.

Ako počnete učiti 1C programiranje, preporučujemo naš besplatni tečaj (ne zaboravite

Linije u 1C 8.3 na ugrađenom jeziku 1c su vrijednosti primitivnog tipa Gudački. Vrijednosti ove vrste sadrže niz u Unicode formatu proizvoljne dužine. Promjenjive vrste stringova su skup znakova zatvorenih u navodnicima.

Primjer 1. Napravite varijablu niza s tekstom.

StringVariable \u003d "Pozdrav svijetu!";

Funkcije za rad sa žicama u 1s 8.3

U ovom ćemo dijelu dati glavne funkcije koje vam omogućuju promjenu linija u 1s ili analizu informacija sadržanih u njima.

StrLength

StrLength (<Строка>) . Vraća broj znakova sadržanih u nizu koji je poslan u parametru.

Primjer 2. Prebrojite broj znakova u nizu "Pozdrav svijetu!".

String \u003d "Zdravo svijetu!"; Broj znakova \u003d StrLength (žica); Izveštaj (Broj znakova);

Rezultat izvršavanja ovog koda biće prikaz broja znakova u nizu: 11.

SocrL

SocrL (<Строка>) . Isječe beznačajne znakove lijevo od prvog značajnog znaka u nizu.
  Beznačajni karakteri:

  • razmaknica
  • neraskidivi prostor;
  • tabela
  • povratak kočije;
  • linijski feed;
  • prijevod obrasca (stranice).

Primjer 3. Uklonite sve razmake na lijevoj strani retka "svijet!" I na njega pričvrstite liniju "Pozdrav".

String \u003d SokrL ("mir!"); String \u003d "Zdravo" + string; Izvještaj (žica);

Rezultat izvršavanja ovog koda biće prikaz niza "Hello world!"

SocrP

SocrP (<Строка>) . Skraćuje beznačajne znakove desno od prvog značajnog znaka u nizu.

Primjer 4. Iz reda "Hello" i "Peace!" Formirati frazu "Zdravo svijetu!"

String \u003d SokrP ("Zdravo") + "" + SokrL ("mir!"); Izvještaj (žica);

SocrLP

SocrLP (<Строка>) . Skraćuje beznačajne znakove desno od prvog značajnog znaka u liniji, takođe skraćuje beznačajne znakove s lijeve strane prvog značajnog znaka u liniji. Ova se funkcija koristi češće od prethodne dvije jer je univerzalnija.

Primjer 5. U ime druge strane uklonite beznačajne znakove lijevo i desno.

Counterparty \u003d Katalozi. Counterparties. Pronađi prema obavezama ("TIN", "0777121211"); CounterpartyObject \u003d Counterparty.GetObject (); Naziv objekta protustrane \u003d SokrLP (Ime kontrapartyra); Obratni ugovor.Record ();

Lav

Leo (<Строка>, <ЧислоСимволов>) . Dobiva prve znakove niza, broj znakova je naveden u parametru Broj znakova.

Primjer 6. Uključite u strukturu Zaposleni  sadrže ime, prezime i ime, ime i prezime zaposlenog. Nabavite niz s prezimenom i inicijalama.

InitialName \u003d Leo (Employee.Name, 1); Početni patronimik \u003d Lav (zaposleni. Patronim, 1); Puno ime \u003d zaposleni. Prezime + "" + inicijalno ime + ". + Početno Otadžbina + ".";

Tačno

Desno (<Строка>, <ЧислоСимволов>) . Dobiva posljednje znakove niza, broj znakova naveden je u parametru Broj znakova.  Ako navedeni broj znakova prelazi dužinu niza, tada se vraća cijeli niz.

Primjer 7. Na kraju varijable niza napisati datum u formatu „yyyymmdd“, nabaviti niz s datumom i pretvoriti ga u tip Datum.

String \u003d "Trenutni datum: 20170910"; StringDate \u003d Prava (String, 8); Datum \u003d Datum (StringDate);

Srijeda

Srijeda (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Dobiva podstranu iz niza poslanog u parametru Gudačkipočevši od znaka čiji je broj naveden u parametru Početni broj  i duljina prešla na parametar Broj znakova.Numeriranje znakova u retku počinje s 1. Ako je u parametru Početni broj  određuje se vrijednost manja ili jednaka nuli, tada parametar uzima vrijednost 1. Ako je parametar Broj znakova  nije određeno, tada se biraju znakovi na kraju retka.

Primjer 8. Neka se varijabla regije nalazi u varijabli niza polazeći od devete pozicije, trebate je dobiti i upisati je u zasebni redak.

String \u003d "Regija: 99 Moskva"; Region \u003d Med (String, 9, 2);

PageFind

Pronađi stranicu (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Pretražuje specificiranu podstring u nizu, vraća broj položaja prvog znaka pronađene podstrine. Razmotrite parametre ove funkcije:

  • Gudački. Izvorni niz;
  • Pretraživanje podvrsta. Traženi podstici;
  • Smjer pretraživanja. Određuje smjer u kojem se podstlak traži u nizu. Mogu uzeti sljedeće vrijednosti:
    • Smjer pretraživanja.;
    • Smjer pretraživanja. Kraj;
  • Početni položaj. Označava poziciju u liniji iz koje započinje pretraživanje;
  • Broj unosa. Označava broj pojava željene podstime u izvornom nizu.

Primjer 9. U retku "Pozdrav svijetu!" Odredite položaj zadnje pojave simbola "i".

Broj pozicije \u003d PageFind ("Pozdrav svijetu!", "I", smjer pretraživanja. Kraj); Izvještaj (broj pozicije);

Rezultat izvršenja ovog koda biće prikaz broja zadnje pojave simbola „i“: 9.

VREG

VREG (<Строка>) . Pretvara sve znakove navedenog niza u 1s 8 u velika slova.

Primjer 10. Pretvorite niz "zdravo svijetu!" U velika slova.

StringVreg \u003d VReg ("zdravo svijetu!"); Izvještaj (StringVreg);

Rezultat izvođenja ovog koda biće prikaz niza "HELLO PEACE!"

Nreg

NReg (<Строка>) . Pretvara sve znakove navedenog niza u 1s 8 u mala slova.

Primjer 11. Pretvorite niz „HELLO PEACE!“ U mala slova.

StringNreg \u003d Nreg ("ZELO MIR!"); Izvještaj (StringVreg);

Rezultat ovog koda bit će izlaz niza "zdravo svijetu!"

TREG

TREG (<Строка>) . Pretvara niz na sljedeći način: prvi znak svake riječi pretvara se u velika slova, a preostali znakovi riječi pretvaraju se u mala slova.

Primjer 12. Velika slova velikih slova u retku "zdravo svijetu!".

StringTreg \u003d TREG ("zdravo svijetu!"); Izvještaj (StringTreg);

Rezultat ovog koda bit će izlaz niza "Hello World!"

Simbol

Simbol (<КодСимвола>) . Dobiva znak pomoću svog šifriranog koda Unicod.

Primjer 13. Dodajte znak ★ lijevo i desno u redak "Hello World!"

String WithStars \u003d Symbol ("9733") + "Hello World!" + Symbol ("9733"); Izvještaj (žica sa zvijezdama);

Rezultat izvođenja ovog koda biće prikaz niza "★ Hello World! ★"

Kôd simbola

Kôd simbola (<Строка>, <НомерСимвола>) . Dobiva kôd znaka kodiranog Unicode iz niza navedenog u prvom parametru, smještenog na poziciji određenoj u drugom parametru.

Primjer 14. Saznajte kod zadnjeg znaka u retku "Hello World!".

String \u003d "Zdravo, svet!"; Kôd znaka \u003d Kôd znaka (string, dužina žice (string)); Izvještaj (šifra simbola);

Rezultat izvršenja ovog koda biće prikaz simbola koda „!” - 33.

Prazan niz

Prazan niz (<Строка>) . Provjerava sadrži li niz samo beznačajne znakove, tj. Je li prazan.

Primjer 15. Provjerite da li se prazan niz sastoji od tri razmaka.

Empty \u003d EmptyString (""); Izveštaj (prazno);

Rezultat ovog koda bit će prikaz riječi "Da" (string izraz logičke vrijednosti Istina).

Stranica Zamijenite

Stranica Zamijeni (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Pronalazi sve pojave podstrane pretraživanja u izvornom nizu i zamjenjuje je zamjenskom podstranom.

Primjer 16. U retku „Pozdrav svijetu!“ Zamijenite riječ „Mir“ riječju „Prijatelji“.

String \u003d StrChange ("Pozdrav svijetu!", "Svijet", "Prijatelji"); Izvještaj (žica);

Rezultat izvođenja ovog koda biće prikaz niza "Zdravo prijatelji!"

PageNumberString

PageNumberString (<Строка>) . Omogućuje vam da brojite redove u višedijelnoj liniji. Da biste prešli na novi red u slovima 8, upotrijebite znak PS  (znak unosa linije).

Primjer 17. Odredite broj redaka u tekstu:
  "Prvi red
  Druga linija
  Treća linija

Number \u003d StrNumberString ("Prvi red" + Simboli. PS + "Drugi red" + Simboli. PS + "Treća linija"); Izvještaj (broj);

Rezultat izvršenja ovog koda biće prikaz broja redaka u tekstu: 3

PageGetString

PageGetString (<Строка>, <НомерСтроки>) . Dobiva niz u višerednom nizu po svom broju. Numeriranje linija počinje sa 1.

Primjer 18. Nabavite zadnji redak u tekstu:
  "Prvi red
  Druga linija
  Treća linija

Text \u003d "Prvi red" + Simboli. PS + "Drugi red" + Simboli. PS + "Treći red"; LastString \u003d StringGetString (Tekst, StringNumberString (Tekst)); Izvještaj (zadnji redak);

Rezultat izvršavanja ovog koda biće prikaz niza "Treći redak".

Broj zapisa

Broj unosa (<Строка>, <ПодстрокаПоиска>) . Vraća broj pojava navedenog podstrana u nizu. Ova funkcija razlikuje velika i mala slova.

Primjer 19. Odredite koliko je puta slovo „c“ uključeno u red „Linije u točkama 8.3 i 8.2“, bez obzira na njihov slučaj.

String \u003d "Linije u točkama 8,3 i 8,2"; Broj unosa \u003d String Broj unosa (Wreg (string), "C"); Izvještaj (Broj unosa);

Rezultat izvođenja ovog koda biće prikaz broja pojava: 2.

Stranica započinje sa

Stranica počinje sa (<Строка>, <СтрокаПоиска>) . Provjerava započinje li niz proslijeđen u prvom parametru nizom u drugom parametru.

Primjer 20. Odredite da li TIN izabrane druge ugovorne strane počinje s brojem 1. Unesite varijablu Counterparty Protivnici.

TIN \u003d TIN druge strane; Pokreće jedinice \u003d Stranica započinje od (TIN, "1"); Ako jedinice počinju tada // Vaš kod završava If;

Stranica se završava

Stranica se završava na (<Строка>, <СтрокаПоиска>) . Provjerava da li se niz proteklog u prvom parametru završava nizom u drugom parametru.

Primjer 21. Odredite da li se TIN odabrane druge strane završava brojem 2. Unesite varijablu Counterpartyreferentni element je pohranjen Protivnici.

TIN \u003d TIN druge strane; Završava s dvojkom \u003d Str završava s (TIN, "2"); Ako se završi za dva onda // Vaš se kod završava If;

Stranica odvojeno

Stranica odvojeno (<Строка>, <Разделитель>, <ВключатьПустые>) . Podijeli niz na dijelove prema navedenim znakovima razgraničenja i rezultirajući nizovi upišu u niz. Prvi parametar pohranjuje izvorni niz, drugi sadrži razdjelnik, treći označava treba li prazne retke pisati u niz (zadano) Istina).

Primjer 22. Pretpostavimo da imamo niz koji sadrži brojeve odvojene simbolom „;“, dobijemo niz brojeva iz niza.

String \u003d "1; 2; 3"; Array \u003d Str odvojen (string, ";"); Za MF \u003d 0 Nizom broja () - 1 ciklus pokušaja pokušaja [MF] \u003d Broj (SokrLP (Array [Mf])); Niz izuzetka [MF] \u003d 0; End Attempts End Cycle;

Kao rezultat izvršenja, dobit će se niz s brojevima od 1 do 3.

PageConnect

Povezivanje stranice (<Строки>, <Разделитель>) . Pretvara niz stringova iz prvog parametra u niz koji sadrži sve elemente matrice kroz separator naveden u drugom parametru.

Primjer 23. Koristeći niz brojeva iz prethodnog primjera, nabavite izvorni niz.

Za sredinu \u003d 0 prema nizu. Broj () - 1 petlja Array [Mid] \u003d string (Array [Mid]); Kraj ciklusa String \u003d StringConnect (niz, ";");

Vrsta "String" nalazi se u svim programskim jezicima. Ono je primitivno, i u 1C postoji mnogo funkcija za rad s njim. U ovom ćemo članku detaljno razmotriti različite načine rada sa vrstama niza u 1C 8.3 i 8.2 koristeći primjere.

Gudački

Da bi se varijabla bilo koje vrste pretvorila u niz, postoji funkcija istog naziva "String ()". Ulazni parametar bit će sama varijabla, čiji se nizi moraju prikazati.

String (lažno) // vraća "Ne"
  String (12345) // vraća "12 345"
  String (CurrentDate ()) //\u003e 21.07.2017 11:55:36

Moguće je pretvoriti u niz ne samo primitivne vrste, već i ostale, na primjer, elemente direktorija, dokumenata.

SocrLP, SocrL, SocrP

Ulazni parametri ovih funkcija su varijable tipa niza. Funkcije brišu beznačajne znakove (razmake, transfere prijevoza, itd.): S lijeve i desne strane, samo s lijeve strane, i samo s desne strane.

SocrLP ("praznine s obje strane bit će uklonjene") // "praznine s obje strane bit će izbrisane"
  SokrL ("Prostori sa obje strane bit će obrisani") // "Prostori na lijevoj strani bit će izbrisani"
  SokrP ("Prostori sa obje strane bit će izbrisani") // "Prostori sa desne strane biće izbrisani"

Lav, točno, Med

Ove funkcije omogućuju vam da izrežete dio niza. Lion () funkcija vraća dio niza na lijevoj strani određene dužine. Funkcija "Prava ()" je slična, ali obrezivanje se vrši na desnoj strani. Funkcija "Medium ()" omogućava vam odrediti broj znaka iz kojeg će se odabrati niz i njegovu dužinu.

Leo ("String varijabla", 4) // vraća "Straw"
  Prava („String varijabla“, 7) // vraća „varijablu“
  Med („String varijabla“, 2, 5) // vraća „troko“

StrLength

Funkcija određuje broj znakova koji se nalaze u varijabli niza.

StrLength ("Word") // rezultat izvršenja biće broj 5

Da pronađem

Funkcija omogućava pretraživanje dijela niza u varijabli niza. Povratna vrijednost bit će broj koji ukazuje na položaj početka pronađenog niza. Ako se ne pronađu podudaranja, vraća se nula.

Imajte na umu da pretraga razlikuje velika i mala slova. Ako će u izvornom nizu biti više pojavnih potpona za pretraživanje, funkcija će vratiti početak prve pojave.

Nađi ("jedan, dva, jedan, dva, tri", "dva") // funkcija će vratiti broj 6

Prazan niz

Upotreba ove funkcije omogućuje vam da odredite je li niz prazan. Beznačajni znakovi, na primer, prostor, povratak kočije i drugi, se ne uzimaju u obzir.

EmptyString ("Pupkin Vasily Ivanovich") // funkcija će vratiti vrijednost False
  EmptyString ("") // funkcija će vratiti True

VREG, Nreg, TREG

Ove su funkcije vrlo korisne za usporedbu i pretvaranje varijabli niza. "Vreg ()" će vratiti izvorni niz u malim slovima, "Nreg ()" u donjem sloju, a "Treg ()" će ga formatirati tako da se prvi znak svake pojedine riječi s velikim slovom, a svi naredni s malim.

Vreg ("GENERAL DIRECTOR") // povratna vrijednost - "GENERAL DIRECTOR"
  NReg ("GENERAL DIRECTOR") // povratna vrijednost - "General Director"
  TREG ("GENERAL DIRECTOR") // povratna vrijednost - "General Director"

Stranica Zamijenite

Ova je funkcija analogna zamjeni u uređivačima teksta. Omogućuje vam zamjenu jednog znaka ili skupa znakova drugim u nizu varijabli.

PageReplace („crveno, bijelo, žuto“, „,“, „;“) // će se vratiti „crveno; bela žuta "

PageNumberString

Funkcija vam omogućuje da odredite broj linija odvojenih povratkom nosača u tekstualnoj varijabli.

Petlja, u primjeru u nastavku, proći će kroz tri kruga, jer će funkcija StringNumber vratiti vrijednost 3:

Za ind \u003d 1 od StringNumberStrings ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3") ciklus
<тело цикла>
  Kraj ciklusa

PageGetString

Ova funkcija funkcionira sa višelinijskim tekstom na isti način kao i prethodna. Omogućuje vam dobivanje određenog niza iz tekstualne varijable.

StrGetString ("String1" + Simboli. PS + "String2" + Simboli. PS + "String3", 2)   // će se vratiti "String2"

Broj zapisa

Funkcija broji broj pojava znaka ili podvrsta u nizu za pretraživanje.

Broj privitaka ("a; b; c; d;", \u200b\u200b";") // funkcija će vratiti broj 4

Simbol i šifra simbola

Ove funkcije omogućuju vam primanje znaka pomoću njegovog Unicode koda, kao i određivanje ovog koda po samom znaku.

Kôd simbola ("A") // funkcija će vratiti broj 1 040
  Kôd simbola (1040) // funkcija će vratiti "A"

Uobičajeni nizovi zadataka

Spajanje linija

Za kombiniranje nekoliko linija (spajanje) dovoljno je koristiti operatora dodavanja.

„Linija 1 ″ +“ Linija 2 ″ // rezultat dodavanja dva reda biće „Linija 1 Redak 2“

Konverzija tipa

Da biste pretvorili tip u niz, na primjer, vezu do stavke direktorija, broja itd., Dovoljno je upotrijebiti funkciju "String ()". Funkcije poput "SokrLP ()" također će pretvoriti varijable u niz, ali odmah obrezivanjem beznačajnih znakova.

String (1000) // vraća "1000"

Imajte na umu da je prilikom pretvorbe broja u niz program automatski dodao razmak koji razdvaja tisuću. Da biste to izbjegli, možete koristiti sljedeće konstrukcije:

StrChange (string (1000), Symbols. NPP, "") // vraća "1000"

String (Format (1000, "ČG \u003d")) // vraća "1000"

Navodnici u nizu

Često ćete se morati suočiti s potrebom da odredite navodnike u varijabli niza. To može biti ili tekst upita napisan u konfiguratoru ili samo varijabla. Da biste riješili taj problem, samo morate postaviti dva navodnika.

Title \u003d string („LLC“ Rogovi i kopita “su mi!“) // će se vratiti „LLC„ Rogovi i kopita - jesmo! “

Multiline, prekid linija

Da biste stvorili tekst sa više linija, dovoljno je da joj dodate znakove prijeloma redaka (Symbols.PS).

Multiline Text \u003d "Prvi red" + karakteri. PS + "Drugi red"

Kako ukloniti razmake

Da biste uklonili razmake s desne ili lijeve strane, možete koristiti funkciju "SokrLP ()" (kao i "SokrLP ()" i "SokrLP ()":

StringWithout Spaces \u003d SokrLP ("Mnogo slova") // funkcija će vratiti vrijednost "Mnoga slova"

Ako ste, nakon pretvaranja broja u niz, trebali ukloniti neraskidive prostore, upotrijebite sljedeću konstrukciju:

StringWithout Spaces \u003d StringReplace (String (99999), Symbols. NPP, "") // će vratiti "99999"

Također, programeri često koriste sljedeću konstrukciju, koja vam omogućuje uklanjanje ili zamjenu svih prostora tekstualne varijable drugim znakom:

StringWithout Spaces \u003d StringReplace ("primi", "", "") // će se vratiti "zdravo"

Upoređujući žice među sobom

Možete uporediti izraze sa uobičajenim znakom jednakosti. Poređenje je razlikuje velika i mala slova.

"Zdravo" \u003d "zdravo" // će se vratiti Lažno
  "Hello" \u003d "Hello" // će vratiti Istinu
  “Hello” \u003d “Zbogom” // vraća False

Podaci u 1C mogu biti predstavljeni: direktorij, dokument, registar ...

No, u konačnoj analizi svi se ti objekti sastoje od polja i polja jednostavnih tipova - broja, niza, datuma. A uvijek je više informacija u obliku linija. Zbog toga morate češće raditi sa žicama.

Sada ćemo analizirati kako možete raditi sa žicama iz 1C jezika. Paralelno s tim, isprobaćemo različite opcije za automatsku analizu teksta.

Pogled na red

Linije mogu biti ograničene dužine ili neograničene dužine. Ako je vrijednost niza preuzeta iz atributa, tada je ovo ograničenje naznačeno u vrsti atributa.

Ako je korisnik unosio liniju u obrazac, tada element forme može imati kvačice “Multiline mode” i “Advanced editing”. Prvi znači da linija može sadržavati znakove "Prekid linije 1C (Enter)". Drugi je da niz može sadržavati druge znakove usluge 1C, na primjer TAB.

Ako je iz datoteke uzeta linija, na primjer, pomoću ReadText (), onda kodiranje postaje važno - kada čitate datoteku, morate navesti kodiranje (UTF-8, KOI8 itd.).

Znakovi usluge 1C

Za rad sa posebnim znakovima koristi se nabrajanje Symbols 1C.

Na primjer, dvostruka vrijednost niza:
   TextString \u003d "Prvi red" + karakteri. PS + "Drugi red";

Na primjer, riječ o pretraživanju 1C u tekstu:
   Pozicija \u003d Nađi (TextString, Symbols.PS);

Možete raditi sa sledećim posebnim likovima:

  • CR i LF
      Srednja linija 1C. Često se nalazi u tekstualnim datotekama.
      Kôd znaka u ASCII je 0x0D i 0x0A, u Unicodeu je U + 000D i U + 000A.

    U jeziku 1C izgledaju kao Simboli, CR i Simboli, LF, ili u ruskom Simboli. VK i Simboli. PS. Za prijenos retka 1C kada se kreira u kodu 1C, dovoljno je koristiti PS.

Ostali znakovi 1C

Linije u 1C "fizički" se koriste u Unicode formatu (Unicode, http://ru.wikipedia.org/wiki/%DE%ED%E8%EA%EE%E4).

Ako se ranije niste susreli sa "kodiranjem" znakova, kratko napišite:

  • Pri radu sa žicama računar koristi brojeve slova, a ne sama slova
  • Budući da postoji puno "ljudskih" abeceda (engleski, ruski, grčki, kineski, itd., A postoje i servisni i "neispisljivi" znakovi 1C), postoji nekoliko opcija za računarske abecede, od kojih je jedna Unicode, koja uključuje 1C znakove svi jezici
  • Abeceda Unicode izgleda ovako:
      o Uobičajeni znakovi usluga "neispisati" 1C
      o Znakovi poslovanja i matematike
      o brojevi
      o Engleski alfabet
      o Dodaj. 1C znakovi engleskog pisma koji se koriste u evropskim jezicima (na primjer, na njemačkom)
      o grčka abeceda
      o Ruska abeceda
      o ...

Ako je potrebno, u linijama 1C moguće je koristiti sve 1C znakove dostupne u Unicode.

Prvo ih možete otkucati sa tastature, ako imate raspored instaliran u Windows-u (prema zadanom su u Rusiji engleski i ruski obično instalirani).

Drugo, možete birati sledeću tehniku:

Treće, možete raditi s programskim kodom. Funkcija Symbol (Digit) vraća simbol s navedenim brojem, a funkcija Symbol Code (String) vraća broj prvog slova u nizu. Ako vam treba drugo slovo u nizu, tada ćete označiti simbol (niz, niz slova).

Na primjer, dodajte simbol Ž u sljedeći redak:
   TextString \u003d "Dobro pivo u gradu" + znak (381) + "drobinek";
  // Rezultat: "Dobro pivo u robdrobineku"

Malo je mehanizama za rad sa žicama u 1C upitima. Prije svega, mogu se dodati linije. Drugo, možete uzeti podstranu iz niza. Treće, nizovi se mogu uporediti, uključujući i obrazac. To je vjerovatno sve što se može učiniti s žicama.

Dodatak linija

Za dodavanje linija u zahtjev koristi se operacija "+". Možete dodati samo linije ograničene dužine.

ODABERITE "Ime:" + druge ugovorne strane. Naziv AS Stupac1 IZ Imenika. Protivnici KAKO IZVRŠITELJI GDJE IZVRŠITELJI. Link \u003d & Link

Funkcija podvrsta

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

Analog funkcije okruženja () iz objektnog modela. Funkcija Subline () može se primijeniti na podatke tipa stringova i omogućava vam odabir fragmenta <Строки> počevši s brojem znakova <НачальнаяПозиция>   (znakovi u retku su numerirani sa 1) i dužina <Длина>   karaktera. Rezultat izračuna funkcije ima vrstu niza promjenjive dužine, a dužina će se smatrati neograničenom ako <Строка>   ima neograničenu dužinu i parametar <Длина>   nije konstanta ili veća od 1024.

Ako je duljina niza manja od navedene u drugom parametru, funkcija će vratiti prazan niz.

Pažnja!  Upotreba funkcije SUBSTRATE () za izbacivanje žica neograničene dužine u žice ograničene dužine nije preporučljiva. Umjesto toga, bolje je koristiti operaciju lijevanja tipa EXPRESS ().

Funkcija Like

Ako trebate provjeriti ispunjava li atribut stringova određene kriterije, uspoređujemo ga:

ODABIR Protivnici, Naziv KAO Stupac1 OD Imenika .Kontepe AS KAO Naručitelji GDJE Izvođači. Name \u003d "Gazprom"

Ali što ako vam je potrebna kompaktnija usporedba? Ne samo jednakost ili nejednakost, već sličnost određenom obrascu? Upravo za ovo je kreirana SIMILAR funkcija.

SIMILAR - Operator provjere niza radi sličnosti uzorka. Analog LIKE u SQL-u.

Operator LIKE omogućuje vam da usporedite vrijednost izraza koji je naveden s njegove lijeve strane s linijom obrasca naznačenom s desne strane. Vrijednost izraza mora biti tipa niza. Ako vrijednost izraza zadovoljava obrazac, rezultat operatora bit će TRUE, u suprotnom - FALSE.

Sljedeći znakovi u nizu uzoraka su uslužni znakovi i imaju različito značenje od znaka niza:

  • % (postotak): niz koji sadrži bilo koji broj proizvoljnih znakova;
  • _ (podvlaka): jedan proizvoljni znak;
  • [...] (jedan ili više znakova u uglatim zagradama): bilo koji pojedinačni znak naveden u kvadratnim zagradama. U nabrajanju se mogu naći rasponi, na primjer, a-z, što znači proizvoljni znak unutar raspona, uključujući krajeve raspona;
  • [^ ...] (u uglatim zagradama, ikona negacije, a zatim jedan ili više znakova): bilo koji pojedinačni znak, osim onih koji su navedeni nakon ikone negacije.

Bilo koji drugi simbol znači sam sebe i ne nosi dodatno opterećenje. Ako jedan od navedenih znakova trebate zapisati kao sebe, onda mu morate prethoditi<Спецсимвол>. Sebe<Спецсимвол>  (bilo koji odgovarajući znak) definiran je u istoj izjavi nakon ključne riječi SPECIJALNI SIMBOL.

Podijeli ovo