Hľadať

Pracujte v systéme

Realizované vo verzii 8.3.6.1977.

Rozšírili sme ponuku funkcií určených pre radovú prevádzku.

Vytvorili sme to, aby sme vám poskytli pokročilejšie nástroje na analýzu údajov reťazca.

Nové funkcie budú manuálne a technologicky pokročilé na analýzu textu.<Шаблон>, <Значение1-Значение10>)

<Шаблон>V údajoch súvisiacich s analýzou textu, ktorý zobrazuje údaje vo formátovanom zobrazení.

<Значение1> , ... <Значение10>To môže zahŕňať analýzu akýchkoľvek súborov, ktoré boli vyňaté z vlastníctva, alebo napríklad analýzu technologického časopisu.

Všetky akcie, ktoré pridávajú nové funkcie, môžu byť pridané predtým.

Pre ďalšiu pomoc existujú zložitejšie algoritmy napísané v rodnom jazyku.

Nové funkcie vám teda neposkytnú žiadne zásadne nové možnosti.

Umožňujú vám však skrátiť kód, vďaka čomu je kód jednoduchší a zrozumiteľnejší.

A smotana tohto smradu vám umožňuje urýchliť vojnu.

Pretože funkcie implementované v platforme fungujú v podstate pod podobným algoritmom pre písanie v rodnom jazyku.

Funkcia formátovania StrTemplate ()

Táto funkcia umiestňuje parametre do riadku.

Potreba takejto transformácie často vzniká napríklad vtedy, keď sú vopred vydané varovania.

Tieto funkcie indikujú, či riadok začína zadanou sekvenciou a riadok končí zadanou sekvenciou.

Algoritmus týchto funkcií je ťažké implementovať v rodnom jazyku, ale ich prehľadnosť vám umožňuje písať čistejší a inteligentnejší kód.

Cítim švédsky smrad.

Napríklad môžu byť manuálne opravené operátorom Yakshcho:

Funkcie na prácu s riadkami StrDivide(), StrConnect()

Tieto funkcie rozdeľujú riadok na časti podľa zadaného oddeľovača.

  • V opačnom prípade skombinujte niekoľko riadkov do jedného a vložte medzi ne rozperku.
  • Sú praktické na vytváranie alebo analýzu denníkov a technologických denníkov.
  • Napríklad záznam technologického denníka môžete jednoducho rozčleniť na časti pre ďalšiu analýzu:

Funkcia robotov s riadkami StrNyti ()

Namiesto starej funkcie Know() sme implementovali novú funkciu, ktorá má ďalšie možnosti:

Poshuk v rôznych smeroch (od začiatku, od konca); Vyhľadajte označenú pozíciu; Vyhľadajte záznam so zadaným číslom (iné, tretie atď.).

V skutočnosti duplikuje schopnosti starej funkcie.

Robí sa to preto, aby sa predišlo zámene s modulmi zostavenými v starších verziách.

Odporúča sa už nepoužívať starú funkciu Know().
Pažba je nasmerovaná nižšie, čo je pre vikoristov nová možnosť vtipu.
Vyhľadávanie v opačnom smere je užitočné, ak potrebujete zostávajúci fragment formalizovaného riadku, napríklad mimo názvu súboru v adrese URL.

A vtip z naznačenej pozície pomáha v týchto situáciách, ak potrebujete vtipkovať v danom fragmente, a nie v celom rade.

Typ „Row“ je bežný vo všetkých jazykových programoch.

Je to zaujímavé a 1C má veľa funkcií na prácu s ním.

Pozrime sa bližšie na tieto štatistiky
Skratka („Budú čistiny vidieť na oboch stranách“) // „Budú čistiny zla“
Skrátené ("Na útočných stranách budú viditeľné paseky") // "Napravo budú viditeľné paseky"

Lev, správne, Sered

Tieto funkcie vám umožňujú orezať časť riadku.

Funkcia „Leo ()“ otočí časť riadku z ľavej strany určenej holubice.
Funkcia „Vpravo ()“ je podobná, ibaže orezanie sa vykonáva sprava.
Funkcia „Sed ()“ vám umožňuje zadať číslo symbolu, z ktorého sa zobrazí riadok a dovzhin.

Lev („Strokova zminna“, 4) // sa zmení na „Stro“

Prav („Strokova zminna“, 7) // sa zmení na „eremennaya“

Seredovishch („Strokova Zminna“, 2, 5) // sa zmení na „Troki“

Dĺžka čiary

Funkcia určuje počet znakov, ktoré sa zmestia do premennej reťazca.

StrLength ("Word") // výsledkom bude číslo 5

vedieť

Táto funkcia vám umožňuje žartovať v ľubovoľnej časti reťazca.

Ako sa číslo otáča, ukazuje polohu nájdeného riadku.

Ak sa nezistia žiadne úniky, nula sa otočí.
Upozorňujeme, že vyhľadávanie musí byť vykonané v súlade s registrom.

Ak je viac ako jeden vstup v rade v rade klasov, funkciou je otočiť ucho prvého vstupu.

Know ("jeden, dva, jeden, dva, tri", "dva") // funkcia otočiť číslo 6 Prázdny steh Táto funkcia vám neumožňuje určiť, či je riadok prázdny.

Menšie znaky, ako sú medzery, pohyby vozíka atď., nie sú zahrnuté.
EmptyString ("Pupkin Vasil Ivanovič") // funkcia spätnej hodnoty Nezmysel
EmptyString (»«) // funkcia na otočenie hodnoty True

VReg, NReg, Treg

Tieto funkcie sú ešte horšie pri aktualizácii a preskupovaní zmien reťazcov. „Reg ()“ otočí riadok výstupu veľkými písmenami, „Reg ()“ bude malými písmenami a „Treg ()“ ich naformátuje tak, že prvý znak vzhľadu zlé slovo

bude veľká éra a všetky nadchádzajúce dni budú malé.

VReg ("generálny riaditeľ") // otočí hodnotu - "GENERAL DIRECTOR"

NReg ("generálny riaditeľ") // obráti význam - "generálny riaditeľ"

Treg („generálny riaditeľ“) // otočí hodnotu – „generálny riaditeľ“

Pre ind = 1 podľa LineNumber of Lines ("riadok1" + Symboly.PS + "riadok2" + Symboly.PS + "Riadok3")
<тело цикла>
EndCycle;

StrGetString

Táto funkcia pracuje s textom vyššieho rádu rovnakým spôsobom ako predchádzajúca.

To vám umožní vybrať riadok skladby z textového riadku. StrGetString ("riadok1" + Symboly.PS + "riadok2" + Symboly.PS + "Riadok3", 2)

// otočte „riadok2“

StranaPočet výskytov

Funkcia vypočíta počet záznamov v symbole alebo poradí vo vybranom riadku.

StrNumber of Attachments ("a, b; c; d;", ​​​​";") // otočenie funkcie číslo 4

Symbol a kód symbolu

Tieto funkcie vám umožňujú vybrať znak podľa jeho kódu v kódovej základni Unicode a tiež určiť kód podľa samotného znaku.
Symbol Kód ("A") // číslo otočenia funkcie 1 040

Kód symbolu (1040) // funkcia otočte „A“

Časti rastliny pri práci s riadkami

kombinovanie riadkov

Ak chcete skombinovať niekoľko riadkov (na vytvorenie zreťazenia), použite operátor pripojenia.

„Row 1“ + „Row 2“ // výsledkom pridania dvoch riadkov bude „Row 1 Row 2“

opätovné vytváranie typov

Ak chcete transformovať typ na riadok, napríklad správu odoslanú prvku indikátora, číslu alebo inému, použite funkciu „Row ()“.

Funkcie ako „Scratch ()“ automaticky preusporiadajú znaky v rade, ako aj v rade nedôležitých znakov.

Riadok (1 000) // otočenie „1 000“

Upozorňujeme, že keď vložíte čísla do radu, program automaticky pridá medzeru, ktorá dáva dohromady tisíc.

Na dosiahnutie tejto jedinečnosti môžete rýchlo použiť útočné štruktúry:

StrReplace (Row (1000), Symbols.NPP, "") // otočiť "1000"

Riadok (Formát (1000, "CHG =")) // otočenie "1000"

Labky v rade

Často sa ocitnete pri potrebe použiť lisovacie podložky.

Dá sa to urobiť tak, ako je zadaný text, zapísaný v konfigurátore alebo jednoducho zmenený.

Na dokončenie tejto úlohy musíte vložiť dva symboly labiek.

Téma = Row ("TOV" "Rogi i kopita" - tse mi!") // alebo skôr "TOV "Rogi i kopita" - tse mi!"

Bagatoryadkova, prenesený rad

Ak chcete vytvoriť viacriadkový text, pridajte do riadkov nové symboly (Symbols.PS).

LineWithoutSpaces = StrReplace (Row (99999), Characters.NPP, "") // otočiť "99999"

Programy teda často používajú nasledujúcu konštrukciu, ktorá vám umožňuje vymazať alebo nahradiť iným znakom všetky medzery v textovej premennej:

StringWithoutSpaces = StrReplace("p a v e t", "", "") // obrat "ahoj"

Zarovnanie riadkov medzi sebou

Pojmy možno prirovnať k základnému znaku rovnosti.

Pri aktualizácii je register poistený.
“Ahoj” = “ahoj” // otočiť Nezmysel
„Ahoj“ = „Ahoj“ // vlastne pravda

“Ahoj” = “Do dňa” // otočiť Nezmysel V skutočnosti duplikuje schopnosti starej funkcie. Riadky v 1C 8.3 v novovytvorenom 1C predstavujú hodnoty primitívneho typu . význam

tento typ

Nahradiť riadok formátom Unicode na dlhú dobu.

Premenné typu string sú súborom symbolov na umiestnenie do nôh.

Príklad 1. Vytvorte zmenu riadku s textom.

Lev („Strokova zminna“, 4) // sa zmení na „Stro“

StringVariable = "Ahoj svetlo!";<Строка>) Funkcie robotov s riadkami v 1s 8.3

Táto časť poskytuje základné funkcie, ktoré vám umožňujú meniť riadky v priebehu 1 s alebo analyzovať informácie, ktoré sa do nich zmestia.

StrLength (

.

Otočí počet znakov tak, aby sa zmestili do riadka odovzdaného parametrom.

Príklad 2. Spočítame počet symbolov v riadku „Ahoj, svet!“<Строка>) Riadok = "Ahoj svet!";
Počet znakov = StrLength (Riadok);

  • Show (Počet znakov);
  • Keď napíšete tento kód, na obrazovke sa zobrazí počet symbolov v rade: 11.
  • AbbrL
  • AbbrL (
  • .
  • Existujú nedôležité symboly, ktoré stoja vedľa prvého významného symbolu v rade.

Vedľajšie postavy:

prestávka;

nerozbitná diera;

tabelácia;

otáčanie vozíka;<Строка>) posun riadkov;

preklad formulára (vedľajší príbeh).

Zadok 3. Vyčistite všetky čistinky z ľavej strany radu „svetlo!“.

A pridajte k nemu riadok „Ahoj“.

Riadok = AbbrL("svetlo!");<Строка>) Riadok = "Ahoj" + riadok;

Zobraziť (riadok);

Protistrana = Adresáre. Nájsť podľa požiadavky ("IPN", "0777121211");

CounterpartyObject = Protistrana.GetObject();

CounterpartyObject.Name = Skratka.LP (CounterpartyObject.Name);<Строка>, <ЧислоСимволов>) CounterpartyObject.Write(); Lev

Lev ( . Vyberie prvé znaky riadku, počet znakov je zadaný v parametri

Počet znakov.

Príklad 6. Zostaňte v štruktúre

spivrobitnik<Строка>, <ЧислоСимволов>) Meno je podľa prezývky a podľa zimných športov môjho otca. Lev Vyberte riadok s menom a iniciálami.

Počiatočné meno = Leo(meno zamestnanca, 1); Patronymická iniciálka = Lev(Zamestnanec.Patronym, 1);.

Celé meno = Zamestnanec. Priezvisko + "" + Pôvodné meno + "."

+ Patronymická iniciála + ".";

práva<Строка>, <НачальныйНомер>, <ЧислоСимволов>) práva ( V skutočnosti duplikuje schopnosti starej funkcie.. Vyberie zostávajúce symboly riadku, počet symbolov je zadaný v parametri Ak zadaný počet symbolov posunie spodok riadku, celý riadok sa otočí. Lev Príklad 7. Ak je na konci zmeny riadku dátum napísaný vo formáte „RRRRMMDD“, odstráňte riadok s dátumom a zmeňte ho na typ Vyberie zostávajúce symboly riadku, počet symbolov je zadaný v parametri Dátum Riadok = "Dátum riadku: 20170910"; StringDate = Right(Row, 8);

Date = Date(StringDate);

krupica

stredy (

.<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) Načíta podreťazec objednávky odovzdanej v parametri

  • V skutočnosti duplikuje schopnosti starej funkcie., Počnúc symbolom, číslom ľubovoľnej indikácie v parametri
  • InitialNumber a potom prešiel do parametra
  • Číslovanie znakov v riadku začína od 1. V parametri Ak je zadaná hodnota menšia alebo rovná nule, potom parameter nadobudne hodnotu 1. Ako parameter
    • Počet znakov;
    • nie je zadané, potom sa symboly vyberajú až do konca riadku.;
  • Príklad 8. Do zmeny reťazca, začínajúc od deviatej pozície, umiestnite kód regiónu, potom ho odstráňte a zapíšte ho do ďalšieho riadku. Riadok = "Región: 99 m Moskva";
  • Oblasť = Sered(Riadok, 9, 2); PageFind

PageFind (

.

Toto vyhľadá zadaný príkaz v rade a zmení číslo pozície prvého symbolu nájdeného príkazu.

Poďme sa pozrieť na parametre tejto funkcie:

.<Строка>) Výstupný riadok;

Príklad 10. Obráťte riadok „ahoj svetlo!“

na veľké písmená.

StringVreg = VRreg("ahoj svetlo!");

Povidomita(StringVreg);

Keď pridáte tento kód, na obrazovke sa zobrazí riadok „HELLO LONG!“.<Строка>) NReg

NReg (

.

Skonvertuje všetky znaky určeného riadku v 1 s 8 na malé písmená.

Príklad 11. Obráťte riadok „HELLO SWIT!“

na malé písmená.<Строка>) StringNreg = NReg("AHOJ SWIT!");

Povidomita(StringVreg);

Keď pridáte tento kód, na obrazovke sa zobrazí riadok „ahoj svetlo!“.

Treg

Treg (

.<КодСимвола>) Transformuje riadok takto: prvý znak slova skinu sa prenesie na veľké písmeno, ostatné znaky slova sa prenesú na malé písmeno.

Príklad 12. Urobiť skvelé prvé písmená v riadku „ahoj svetlo!“

StringTreg = Treg("ahoj svetlo!");

Show(StringTreg);

Keď pridáte tento kód, na obrazovke sa zobrazí riadok „Ahoj svet!“.

symbol<Строка>, <НомерСимвола>) symbol (

.

Načíta znak podľa jeho kódu v Unicode.

Príklad 13. Pridajte zlo a napravo v riadku „Ahoj Svet!“

Táto funkcia vám umožňuje žartovať v ľubovoľnej časti reťazca.

symbol ★<Строка>) StringWithStars = Symbol ("9733") + "Ahoj svet!" + Symbol("9733");

Zobraziť (StringWithStars);

Keď pridáte tento kód, objaví sa na obrazovke v riadku „★ Hello World! ★"

Kód symbolu Kód symbolu ().

VReg, NReg, Treg

.<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Načíta kód pre znak v kódovaní Unicode v poradí špecifikovanom v prvom parametri, rozbalený na pozícii špecifikovanej v inom parametri.

Príklad 14. Zistite kód pre zostávajúci symbol v riadku „Ahoj svet!“.

Riadok = "Ahoj Svet!";

Kód symbolu = Kód symbolu (Riadok, Dĺžka riadku (Riadok));

VReg ("generálny riaditeľ") // otočí hodnotu - "GENERAL DIRECTOR"

Zobraziť (SymbolCode);<Строка>) Keď pridáte tento kód, na obrazovke sa zobrazí symbol kódu „!“. - 33. Prázdny steh ( . Riadok skontroluje a nahradí iba nepodstatnými symbolmi, pričom ho ponechá prázdny.

Príklad 15. Skontrolujte, či prázdny riadok pozostáva z troch zúčtovaní.
Empty = EmptyString("");
Ďalší riadok
Tretí riadok »

Číslo = StrNumberStrow("Prvý riadok" + Symboly.PS + "Ďalší riadok" + Symboly.PS + "Tretí riadok");

Zobraziť (číslo);

StrGetString

Ak zadáte tento kód, zobrazí sa počet riadkov v texte na obrazovke: 3<Строка>, <НомерСтроки>) StrGetString (

. Vyberie riadok vo viacriadkovom riadku podľa jeho čísla.Číslovanie riadkov začína od 1.
Empty = EmptyString("");
Ďalší riadok
Tretí riadok »

Zadok 18. Otrimati

zostávajúci riadok

// otočte „riadok2“

v texte:<Строка>, <ПодстрокаПоиска>) Text = "Prvý riadok" + Symboly.PS + "Ďalší riadok" + Symboly.PS + "Tretí riadok";

LastRow = StrGetRow(Text, StrNumberofLines(Text));

Zobraziť(PoslednýRiadok);

Tento kód sa pridá do riadku „Tretí riadok“ na obrazovke.

StrPočet výskytov (

.<Строка>, <СтрокаПоиска>) Otočí počet vstupov určeného riadku do riadku.

Funkcia je citlivá na registre. Príklad 19. Spočítajte, koľkokrát sa písmeno „c“ objaví v riadku „Riadky v 1c 8.3 a 8.2“, bez ohľadu na veľkosť písmen. Riadok = "Riadky v 1c 8.3 a 8.2";.

NumberOccurrences = StrNumberOccurrences(Vreg(Row), "C");

Správa (počet záznamov);

Okrem tohto kódu bude počet vstupov na obrazovke: 2.<Строка>, <СтрокаПоиска>) PageStartsWith

Stránka sa začína na ( Príklad 19. Spočítajte, koľkokrát sa písmeno „c“ objaví v riadku „Riadky v 1c 8.3 a 8.2“, bez ohľadu na veľkosť písmen.. Riadok = "Riadky v 1c 8.3 a 8.2";.

Kontroluje, či riadok odovzdaný v prvom parametri začína a riadok v druhom parametri.

Príklad 20. Je príznačné, že IPN vybranej protistrany začína číslom 1. Zmeňme ho

protistrana<Строка>, <Разделитель>, <ВключатьПустые>) protistrany Kód symbolu ().

IPN = Counterparty.INN;

BeginsSedinits = StrBeginsWith (IPN, "1");

Keď jednotka začína // Váš kód EndIf;

PageConnect

StrConnect (<Строки>, <Разделитель>) .

Skonvertuje pole riadkov z prvého parametra na riadok, aby sa všetky prvky poľa umiestnili cez znamienko delenia určené v inom parametri.

Zadok 23. Vikoristovo pole čísel z predného zadku, odrežte výstupný rad.

Pre účet = 0 Pre pole. Množstvo () - 1 cyklus Pole [Počet] = Riadok (Pole [Počet]);

EndCycle;

Riadok = StrConnect(Pole, ";");

Existuje niekoľko mechanizmov na prácu s riadkami v napájacích zdrojoch 1C.

V prvom rade sa dajú rady zložiť.

Iným spôsobom môžete vziať podreťazec z radu.<Строка>, <НачальнаяПозиция>, <Длина>)

Po tretie, riadky môžu byť zarovnané, a to aj za šablónou. Os môže byť a všetko, čo sa dá spracovať v radoch. pridávanie riadkov <Строки> Na pridanie riadkov v riadku sa používa operácia „+“. <НачальнаяПозиция> Skladať sa dajú len rady podšitých riadkov. <Длина> VIBRATION "Meno:" + Protistrany.Nazov YAK Stĺpec 1 3 Adresár.Protistrany YAK Protistrany DE Protistrany.Link = & Uverejnené <Строка> funkcia Následná <Длина> zmluvy (

Analóg funkcie Sered () z

objektový model.

Funkcia Order () môže byť obmedzená na údaje typu string a umožňuje vám vidieť fragment

, Čo sa začína číslom symbolu

(Symboly v rade sú očíslované 1) a posledný

postavy.

Výsledkom výpočtu funkcie je typ reťazca meniteľného dovzhin a dovzhin sa bude brať do úvahy bez výmeny, pretože

Existuje neohraničený dowzhin a parameter

nie je konštanta, ale pohybuje sa na 1024.

  • % (Voltok): sekvencia na umiestnenie čo najväčšieho počtu znakov;
  • _ (adresa): jeden dodatočný symbol;
  • [...] (V hranaté ramená jeden alebo viacero symbolov): akýkoľvek jednotlivý symbol so štvorcovými ramenami prekrytými v strede.
  • Nové usporiadanie môže mať užšie rozsahy, napríklad a-z, čo znamená ďalší symbol, ktorý má byť zahrnutý v rozsahu, vrátane koncov rozsahu;

[^ ...] (v hranatých ramenách je symbol, za ktorým nasleduje jeden alebo viacero symbolov): akýkoľvek jednotlivý znak okrem tých, za ktorými nasleduje symbol.<Спецсимвол>Akýkoľvek iný symbol znamená sám seba a nemá žiadny ďalší význam.<Спецсимвол>Ak si potrebujete zapísať jeden z nadmerne nafúknutých symbolov vo svojom vlastnom účte, musíte prefúknuť . ja

(Bez ohľadu na symbol) je uvedené v ktorom operátore za

kľúčové slovo

Hľadať

Pracujte v systéme

Realizované vo verzii 8.3.6.1977.

Rozšírili sme ponuku funkcií určených pre radovú prevádzku.

Vytvorili sme to, aby sme vám poskytli pokročilejšie nástroje na analýzu údajov reťazca.

Nové funkcie budú manuálne a technologicky pokročilé na analýzu textu.<Шаблон>, <Значение1-Значение10>)

<Шаблон>V údajoch súvisiacich s analýzou textu, ktorý zobrazuje údaje vo formátovanom zobrazení.

<Значение1> , ... <Значение10>To môže zahŕňať analýzu akýchkoľvek súborov, ktoré boli vyňaté z vlastníctva, alebo napríklad analýzu technologického časopisu.

Všetky akcie, ktoré pridávajú nové funkcie, môžu byť pridané predtým.

Pre ďalšiu pomoc existujú zložitejšie algoritmy napísané v rodnom jazyku.

Nové funkcie vám teda neposkytnú žiadne zásadne nové možnosti.

Umožňujú vám však skrátiť kód, vďaka čomu je kód jednoduchší a zrozumiteľnejší.

A smotana tohto smradu vám umožňuje urýchliť vojnu.

Pretože funkcie implementované v platforme fungujú v podstate pod podobným algoritmom pre písanie v rodnom jazyku.

Špeciálne znaky. Noty z albumu Behind the Looking Glass:

18.08.2014 Nové funkcie robotov v radoch Noty z albumu Behind the Looking Glass Mohli ste skončiť skôr pre iný objekt

Potreba takejto transformácie často vzniká napríklad vtedy, keď sú vopred vydané varovania.

Tieto funkcie indikujú, či riadok začína zadanou sekvenciou a riadok končí zadanou sekvenciou.

Porovnanie hodnôt Zavedenie novej funkcie sa však zdá jednoduchšie.:

Cítim švédsky smrad.

Napríklad môžu byť manuálne opravené operátorom Yakshcho:

Funkcie na prácu s riadkami StrDivide(), StrConnect()

Túto funkciu je navyše možné meniť podľa objektu , Funguje v tenkom aj webovom klientovi. Napríklad môžu byť ľahko vikorizované v operátorovi

  • V opačnom prípade skombinujte niekoľko riadkov do jedného a vložte medzi ne rozperku.
  • Sú praktické na vytváranie alebo analýzu denníkov a technologických denníkov.
  • Napríklad záznam technologického denníka môžete jednoducho rozčleniť na časti pre ďalšiu analýzu:

yakscho , Funguje v tenkom aj webovom klientovi. Výmena starej funkcie

Namiesto starej funkcie Know() sme implementovali novú funkciu, ktorá má ďalšie možnosti: