Funkcie pre prácu s reťazcami 1s 8. Nové funkcie pre prácu s reťazcami

Existuje niekoľko mechanizmov na prácu s reťazcami v dopytoch 1C. Najprv je možné pridať riadky. Po druhé, môžete vziať podreťazec z reťazca. Po tretie, reťazce možno porovnávať, a to aj podľa vzoru. To je asi všetko, čo sa dá so šnúrkami robiť.

Pridávanie reťazcov

Na pridanie riadkov do dotazu sa používa operácia „+“. Môžete pridať iba reťazce obmedzenej dĺžky.

SELECT "Názov: " + Protistrany Názov AS Stĺpec 1 Z adresára Protistrany AS Protistrany WHERE Protistrany

Funkcia podreťazca

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

Analóg funkcie Environment() z objektového modelu. Funkciu Substring() možno použiť na údaje reťazca a umožňuje vám vybrať fragment <Строки> , začínajúc číslom znaku <НачальнаяПозиция> (znaky v riadku sú číslované od 1) a dĺžku <Длина> postavy. Výsledok výpočtu funkcie má typ reťazca s premenlivou dĺžkou a dĺžka sa bude považovať za neobmedzenú, ak <Строка> má neobmedzenú dĺžku a parametre <Длина> nie je konštantná alebo väčšia ako 1024.

Ak je dĺžka reťazca menšia ako špecifikovaná v druhom parametri, funkcia vráti prázdny reťazec.

Pozor! Použitie funkcie SUBSTRING() na konverziu reťazcov neobmedzenej dĺžky na reťazce obmedzenej dĺžky sa neodporúča. Namiesto toho je lepšie použiť operátor obsadenia EXPRESS().

Funkcia podobná

Ak sa potrebujeme uistiť, že atribút reťazca spĺňa určité kritériá, porovnáme ho:

VYBERTE protistrany Názov AS Stĺpec 1 Z adresára Protistrany AS Protistrany WHERE Protistrany.

Ale čo ak potrebujete jemnejšie porovnanie? Nielen rovnosť alebo nerovnosť, ale podobnosť s určitým vzorom? Presne na to bola vytvorená funkcia PODOBNÉ.

LIKE — Operátor na kontrolu podobnosti reťazca so vzorom. Analóg LIKE v SQL.

Operátor SIMILAR vám umožňuje porovnať hodnotu výrazu zadaného naľavo od neho s reťazcom vzoru zadaným napravo. Hodnota výrazu musí byť typu string. Ak sa hodnota výrazu zhoduje so vzorom, výsledok operátora bude TRUE, inak bude FALSE.

Nasledujúce znaky v reťazci vzoru sú servisné znaky a majú iný význam ako reťazec:

  • % (percentá): sekvencia obsahujúca ľubovoľný počet ľubovoľných znakov;
  • _ (podčiarkovník): jeden ľubovoľný znak;
  • […] (jeden alebo viac znakov v hranatých zátvorkách): akýkoľvek jednotlivý znak uvedený v hranatých zátvorkách. Enumerácia môže obsahovať rozsahy, napríklad a-z, čo znamená ľubovoľný znak zahrnutý v rozsahu, vrátane koncov rozsahu;
  • [^...] (v hranatých zátvorkách znak záporu, za ktorým nasleduje jeden alebo viacero znakov): každý jeden znak okrem tých, ktoré sú uvedené za znakom záporu.

Akýkoľvek iný symbol znamená sám seba a nenesie žiadnu dodatočnú záťaž. Ak jeden z uvedených znakov musí byť napísaný ako samotný, potom mu musí predchádzať<Спецсимвол>. Ja sám<Спецсимвол>(akýkoľvek vhodný znak) je definovaný v rovnakom príkaze za kľúčovým slovom SPECIAL CHARACTER.

Realizované vo verzii 8.3.6.1977.

Rozšírili sme sadu funkcií určených na prácu s reťazcami. Urobili sme to preto, aby sme vám poskytli pokročilejšie nástroje na analýzu údajov reťazca. Nové funkcie budú pohodlné a užitočné pri technologických úlohách analýzy textu. V úlohách súvisiacich s analýzou textu, ktorý obsahuje údaje vo formátovanej forme. Môže to byť analýza niektorých súborov prijatých zo zariadenia, alebo napríklad analýza technologického denníka.

Predtým ste mohli vykonávať všetky akcie, ktoré vykonávajú nové funkcie. Používanie viac či menej zložitých algoritmov napísaných v zabudovanom jazyku. Nové funkcie vám preto nedávajú zásadne nové schopnosti. Umožňujú vám však znížiť množstvo kódu a urobiť kód jednoduchším a zrozumiteľnejším. Okrem toho vám umožňujú urýchliť vykonávanie akcií. Pretože funkcie implementované v platforme fungujú, samozrejme, rýchlejšie ako podobný algoritmus napísaný vo vstavanom jazyku.

Funkcia formátovania StrTemplate()

Táto funkcia nahrádza parametre do reťazca. Potreba takejto konverzie často vzniká napríklad pri zobrazovaní varovných správ. Syntax tejto funkcie je nasledovná:

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

<Шаблон>- toto je reťazec, do ktorého musíte nahradiť reprezentácie parametrov.

<Значение1> , ... <Значение10>- ide o parametre (maximálne desať), ktorých reprezentácie musia byť dosadené do reťazca.

Na označenie konkrétneho miesta v šablóne, kde chcete vykonať nahradenie, musíte použiť značky ako %1, ... %10. Počet značiek zahrnutých v šablóne a počet parametrov obsahujúcich hodnoty sa musia zhodovať.

Napríklad výsledok vykonania takéhoto operátora:

bude tam riadok:

Chyba údajov na riadku 2 (vyžaduje sa typ dátumu)

Funkcia na prácu s reťazcami StrCompare()

Táto funkcia porovnáva dva reťazce bez ohľadu na veľkosť písmen. Napríklad takto:

Rovnakú akciu môžete vykonať skôr pomocou objektu Porovnanie hodnôt:

Používanie novej funkcie však vyzerá jednoduchšie. A okrem toho funkcia na rozdiel od objektu Value Comparison funguje v tenkom aj webovom klientovi.

Funkcie na prácu s reťazcami StrStartsWith(), StrEndsAt()

Tieto funkcie určujú, či reťazec začína určeným podreťazcom alebo či reťazec končí určeným podreťazcom. Algoritmus pre tieto funkcie nie je ťažké implementovať vo vstavanom jazyku, ale ich prítomnosť vám umožňuje písať čistejší a zrozumiteľnejší kód. A pracujú rýchlejšie.

Napríklad je vhodné ich použiť v príkaze If:

Funkcie na prácu s reťazcami StrDivide(), StrConnect()

Tieto funkcie rozdeľujú reťazec na časti pomocou určeného oddeľovača. Alebo naopak, spoja niekoľko riadkov do jedného, ​​pričom medzi ne vložia vybraný oddeľovač. Sú vhodné na vytváranie alebo analýzu denníkov a technologických denníkov. Napríklad môžete jednoducho analyzovať záznam technologického denníka na časti vhodné na ďalšiu analýzu:

Funkcia na prácu s reťazcami StrFind()

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

  • Hľadať v rôznych smeroch (od začiatku, od konca);
  • vyhľadávanie zo zadanej pozície;
  • Vyhľadajte výskyt so zadaným číslom (druhý, tretí atď.).

V skutočnosti duplikuje schopnosti starej funkcie. Deje sa tak s cieľom zachovať kompatibilitu s modulmi zostavenými v starších verziách. Odporúča sa, aby ste už nepoužívali starú funkciu Find().

Nižšie je uvedený príklad použitia nových možností vyhľadávania. Spätné vyhľadávanie je užitočné, keď potrebujete poslednú časť formalizovaného reťazca, ako je napríklad úplný názov súboru v adrese URL. A vyhľadávanie zo zadanej pozície pomáha v prípadoch, keď potrebujete hľadať v známom fragmente, a nie v celom riadku.

Reťazec je jedným z primitívnych dátových typov v systémoch 1C:Enterprise 8 s premennými riadok obsahovať text.

Zadajte hodnoty premenných riadok sú uvedené v úvodzovkách. Je možné pridať niekoľko premenných tohto typu.

Per1 = "Slovo 1" ;
Per2 = "Slovo 2" ;
Per3 = Per1 + " " + Per2;

Nakoniec Per3 bude znamenať" Slovo 1 Slovo 2″.

Systémy 1C:Enterprise 8 navyše poskytujú funkcie pre prácu s reťazcami. Pozrime sa na tie hlavné:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funkcia je navrhnutá tak, aby zobrazila dialógové okno, v ktorom môže používateľ zadať hodnotu premennej typu Linka. Parameter <Строка> je povinný a obsahuje názov premennej, do ktorej sa zadaný reťazec zapíše. Parameter <Подсказка> voliteľné – toto je názov dialógového okna. Parameter <Длина> voliteľné, zobrazuje maximálnu dĺžku vstupného reťazca. Predvolená hodnota je nula, čo znamená neobmedzenú dĺžku. Parameter <Многострочность> voliteľné. Definuje režim viacriadkového zadávania textu: True—viacriadkový textový vstup s oddeľovačmi riadkov; False - zadajte jednoduchý reťazec.

Ak poznáte kód znaku v Unicode, môžete zadať reťazec:

Symbol(<КодСимвола>) — kód sa zadáva ako číslo.

Letter= Symbol(1103) ;

// Ja

Existuje aj inverzná funkcia, ktorá vám umožní zistiť kód symbolu.<Строка>, <НомерСимвола>) — Kód symbolu(

vráti číslo Unicode zadaného znaku ako číslo.

Funkcie prevodu malých a veľkých písmen:<Строка>) VReg(

— Prevedie všetky znaky v reťazci na veľké písmená.<Строка>) NReg(

— Prevedie všetky znaky v reťazci na malé písmená.<Строка>) TReg(

— prevedie všetky znaky v reťazci na veľké a malé písmená. To znamená, že prvé písmená všetkých slov sa skonvertujú na veľké písmená a zvyšné písmená sa skonvertujú na malé.

Funkcie na vyhľadávanie a nahradenie znakov v reťazci:<Строка>, <ПодстрокаПоиска>) Nájsť(

— nájde číslo znaku výskytu hľadaného podreťazca. Napríklad:

Nájsť ("String" , "oka" ) ;<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) // 4 StrFind(— nájde číslo znaku výskytu hľadaného podreťazca, číslo výskytu je uvedené v príslušnom parametri. V tomto prípade vyhľadávanie začína znakom, ktorého číslo je uvedené v parametri

Počiatočná poloha. Vyhľadávanie je možné od začiatku alebo od konca reťazca. Napríklad: Počet4 výskytov = Str Nájsť (

"obrana"<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) , "o" ,Smer hľadania. Od začiatku, 1, 4);

// 7

StrReplace(<Строка>) – nájde všetky výskyty hľadaného podreťazca v zdrojovom reťazci a nahradí ho náhradným podreťazcom. StrReplace ("String" , "oka" , "" );// Stránka Prázdny riadok (.

– skontroluje, či reťazec neobsahuje významné znaky. Ak neexistujú žiadne alebo žiadne významné znaky, vráti sa hodnota<Строка>, <ПодстрокаПоиска>) Pravda

. Inak - Klamať StrNumberOccurrences(

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — – Vypočíta počet výskytov hľadaného podreťazca v zdrojovom reťazci. StrNumberOccurrences ("Študovať, študovať a ešte raz študovať"

, "študovať" , "" ); // 3 nahradí parametre do reťazca číslom. Riadok musí obsahovať substitučné značky v tvare: “%1..%N”. Číslovanie značiek začína od 1. Ak je hodnota parametra, "1" , "2" ) ; Nedefinované

Funkcie konverzie reťazcov:

Lev(<Строка>, <ЧислоСимволов>) – vráti prvé znaky reťazca.

Správny(<Строка>, <ЧислоСимволов>) – vráti posledné znaky reťazca.

streda(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – vráti reťazec dĺžky<ЧислоСимволов>, počnúc symbolom<НачальныйНомер>.

AbbrL(<Строка>) orezáva nevýznamné znaky vľavo od prvého významného znaku v reťazci.

Abbr(<Строка>) — odreže nepodstatné znaky napravo od posledného významného znaku v riadku.

AbbrLP(<Строка>) – odreže nepodstatné znaky naľavo od prvého významného znaku v riadku a napravo od posledného významného znaku v riadku.

StrGetString(<Строка>, <НомерСтроки>) – Získa viacriadkový reťazec podľa čísla.

Ďalšie vlastnosti:

StrLength(<Строка>) – vráti počet znakov v reťazci.

StrNumberRow(<Строка>) – vráti počet riadkov vo viacriadkovom reťazci. Riadok sa považuje za nový, ak je od predchádzajúceho oddelený znakom nového riadku.

StrCompare(<Строка1>, <Строка2> ) – porovnáva dva reťazce bez ohľadu na veľkosť písmen. Funkcia funguje ako objekt Porovnanie hodnôt. Vrátenie:

  • 1 - ak je prvý riadok väčší ako druhý
  • -1 - ak je druhý riadok väčší ako prvý
  • 0 - ak sú reťazce rovnaké

StrCompare("Prvý riadok" , "Druhý riadok" ) ;

// 1

Ako príklad fungovania funkcií pre prácu s 1C reťazcami by sme chceli vytvoriť automatickú analýzu textu. Preberieme text zo súboru. Výsledok analýzy sa používateľovi zobrazí v akejkoľvek forme.

Musíme vytvoriť externý obslužný program, ktorý nám umožní vybrať textový súbor a spustiť analyzátor.

Analýza textu 1C - formulár a tlačidlá

Vytvorme teda externé spracovanie: Konfigurátor/Súbor/Nový/Externé spracovanie.

Pridanie formulára. Na formulári musíme umiestniť pole výberu textového súboru a tlačidlo analýzy.

Analýza textu 1C - hrubý klient

Umiestnime na formulár bežné textové pole. Dĺžka riadku je neobmedzená, pretože cesta k súboru (názvy adresárov) môže byť významná.

Aby používateľ nemusel zadávať názov súboru, ale mohol si ho vybrať, povolíme v poli výberové tlačidlo.

Zmeňme názov poľa na „FileName“, názov priradeného atribútu formulára sa automaticky zmení na rovnaký.

Ako tlačidlo použijeme tlačidlo „Spustiť“ automaticky pridané platformou (a už má pripojenú obsluhu - pohodlné).

Analýza textu 1C - tenký klient

V tenkom klientovi nezávisle vytvoríme atribút formulára „FileName“. Pretiahneme rekvizity na formu. Vo vlastnostiach elementu formulára povolíme aj tlačidlo výberu.

Ako tlačidlo vytvoríme príkaz „Spustiť“, priradíme mu spracovanie a pretiahneme ho do formulára.

Prvá vec, ktorú musíme urobiť, je spracovať kliknutie na tlačidlo výberu - po kliknutí zobraziť dialógové okno výberu súboru.

Poďme na vlastnosti nášho textového poľa na formulári (v hrubom klientovi - ľavým tlačidlom myši priamo na poli, v tenkom klientovi - na názov poľa v zozname) a špecifikujeme obsluhu udalosti pre udalosť „Začiatok výberu“.

Vo vnútri funkcie handlera, ktorú 1C vytvorí pri priradení, napíšeme jednoduchý kód:

Teraz máme názov súboru. Musíme „získať“ jeho obsah a zavolať analýzu textu.

Už máme handler pre tlačidlo Run. V hrubom klientovi boli tlačidlo a jeho handler vytvorené automaticky konfigurátorom 1C. V tenkom klientovi sme ho pridali ručne.

Pridajme kód do handlera, ktorý načíta súbor do reťazca:

Čo sa týka kódovania súboru. Ak vytvoríte objekt TextReading() bez parametra označujúceho kódovanie, 1C sa pokúsi nezávisle určiť kódovanie (pomocou podpisu značky poradia bajtov - kusovník, alebo zváži jeho kódovanie ANSI).

Požadované kódovanie môžete zadať priamo, napríklad takto:
File = New ReadText(FileName, "UTF-8"); //nahradiť požadovaný názov kódovania

Takže ako výsledok sme dostali:

  • Textový reťazec načítaný zo súboru v premennej "Text"
  • Postup, v ktorom budeme analyzovať výsledný reťazec z premennej s názvom „TextAnalysis()“ pomocou funkcií reťazca 1C

Medzi základné možnosti programovacieho jazyka zvyčajne patrí práca s číslami a reťazcami. Zvyčajne sú tieto schopnosti pevne zakódované do kódu kompilátora (alebo sú implementované „základné“ triedy programovacieho jazyka).

V 1C je možnosť práce s reťazcami naprogramovaná v samotnej platforme. Dnes sa pozrieme na funkcie práce s 1C reťazcami v programoch vo vstavanom jazyku 1C.

Hodnota riadku 1C

1. Začnime tým najjednoduchším. Vytvorenie premennej a priradenie konštantnej hodnoty reťazca v 1C vyzerá takto:

Premenná = "Ahoj, svet!";

Ak potrebujete zadať znak úvodzovky v konštantnej hodnote reťazca 1C, musíte ho zdvojnásobiť „“

Premenná = "Ahoj, svet"!;

2. Zalomenie riadku 1C môže byť špecifikované dvoma spôsobmi naraz. Prvým je použitie symbolu |

Premenná = "Dobrý deň,
| svet! ";

Druhým je použitie systémovej enumerácie Symbols. Umožňuje vám pridať zalomenia riadkov 1C a ďalšie netlačiteľné znaky, ako napríklad TAB.

Premenná = "Ahoj" + Symboly.PS + "mier!";

3. Konfigurácie v 1C môžu byť vyvinuté nielen pre jeden jazyk (ruština, angličtina alebo iný) - ale súčasne pre niekoľko jazykov. V tomto prípade sa aktuálne používaný jazyk vyberie v spodnej časti okna 1C.

Zoznam jazykov sa nachádza v konfiguračnom okne vo vetve Všeobecné/Jazyky. Každý jazyk má krátky identifikátor ako napr ru alebo Ing.

Je jasné, že pri programovaní takejto konfigurácie môžu byť linky 1C aj viacjazyčné. Na tento účel je možné vytvoriť takýto riadok 1C zadaním cez; možnosti podľa identifikátora jazyka:

Premenná = "ru=""Ahoj svet! ""; en=""Ahoj svet! """;

Ak použijete čiaru 1C vytvorenú týmto spôsobom ako zvyčajne, bude to, čo je v nej napísané. Aby ho systém rozdelil na dve možnosti a použil požadovanú, musíte použiť funkciu НStr():

//správne pre dvojjazyčné konfigurácie
Správa(NStr(Premenná));

Rekvizity s typom vedenia 1C

Atribút je pole v adresári/dokumente 1C. Od premennej v programe v jazyku 1C sa líši tým, že pre atribút je presne uvedený jej typ (číslo, reťazec 1C atď.). Ak si potrebujete osviežiť pamäť, čo je to rekvizita, pozrite si lekciu ďalej.

Ak zadáte typ atribútu - riadok 1C, musíte dodatočne zadať parametre.

1C riadky majú neobmedzenú dĺžku (označuje sa ako dĺžka = 0) a obmedzenú dĺžku s uvedením presného počtu znakov. 1C riadky neobmedzenej dĺžky sú uložené v samostatnej SQL tabuľke, takže ich použitie je menej produktívne ako obmedzené.

Preto má použitie 1C strún neobmedzenej dĺžky svoje obmedzenia - nie je možné ich použiť všade. Nie je napríklad povolené ako číslo dokumentu, referenčný kód alebo meranie.

Práca so strunami 1C

Pre prácu so strunami je v platforme 1C zabudovaných niekoľko funkcií.

  • AbbrLP („Neuveriteľné, ale pravdivé!“)
    Odstraňuje nadbytočné medzery z riadku 1C. Môže sa tiež použiť na konverziu akýchkoľvek typov na reťazec 1C (napríklad čísla).
  • Premenná = "Vasya" + AbbrLP(" plus") + "Olya"; //bude "Vasya plus Olya"
    Príklad sčítania niekoľkých hodnôt reťazca 1C. Výsledkom bude jeden riadok 1C.
  • Premenná = Lev("Hudba", 2); //bude "Mu"
    Premenná = Medium("Hudba", 2, 2); //bude tam "hrozba"
    Premenná = Práva("Hudba", 2); //bude "ka"
    Rôzne možnosti získania podreťazca z reťazca 1C.
  • Premenná = Nájsť ("Hudba", "zy"); //budú 3
    Vyhľadajte podreťazec v reťazci 1C, začínajúci znakom 1.
  • Premenná = StrLength("Hudba"); //bude ich 6
    Vráti počet znakov v riadku 1C.
  • Report("Ahoj") //v okne správy v spodnej časti okna 1C
    Alert("Ahoj") //vyskakovacie dialógové okno
    Status("Ahoj") //v riadku zobrazenia stavu vľavo dole
    .

Prineste predmety na riadok 1C

Ako viete, v súčasnosti je najpopulárnejším formátom na výmenu štruktúrovaných informácií XML. Dokonca aj najnovšia verzia MS Office Word a Excel ukladá súbory v tomto formáte (docx a xlsx zmenia príponu na zip, otvoria v archivátore).

Platforma 1C na výmenu údajov poskytuje niekoľko možností, z ktorých hlavnou je tiež XML.

1. Najjednoduchšou metódou je použitie funkcie Abbreviation() alebo String(). V tele žiadosti môžete použiť funkciu REPRESENTATION(). Výsledok ich akcie je rovnaký – používateľovi vygenerujú reťazcovú reprezentáciu ľubovoľného objektu 1C.

V prípade adresára to bude štandardne jeho názov. Pre dokument - názov dokumentu, číslo a dátum.

2. Akýkoľvek objekt 1C (s obmedzeniami) je možné previesť do XML a naopak. Proces konverzie sa nazýva serializácia.

StringViewXml = XMLString(Hodnota); //získanie XML z hodnoty 1C
Value1C = XMLValue(Type("DirectoryLink.Nomenclature"),TypStringXml); //získajte hodnotu 1C z reťazca XML, musíte zadať typ 1C, ktorý sa má prijať

3. Existuje vlastný spôsob platformy 1C, ako previesť akýkoľvek objekt 1C na reťazec. Prešiel z verzie 1C 7.7. Tomuto formátu iné programy nerozumejú, ale iné 1C mu rozumejú, čo uľahčuje jeho používanie na výmenu medzi databázami 1C.

Riadok = ValueInRowInt(Value1C); //získame reťazec 1C z hodnoty 1C
ValueVFile("C:\MyFile.txt", Hodnota1C); //ďalšia možnosť, z hodnoty 1C dostaneme súbor s uloženým reťazcom
Hodnota1C = ValueFromStringInt(String); //späť z riadku 1C
Hodnota1C = ValueFile("C:\MyFile.txt"); //späť zo súboru

Úprava riadkov 1C vo formulári

Okrem práce s 1C reťazcami v programe v jazyku 1C by som bol samozrejme rád, keby ich používateľ mohol upravovať. Existuje na to niekoľko možností:

1. Najjednoduchším spôsobom je požiadať o vstup linky 1C na požiadanie. Táto metóda sa používa pri výučbe programovania 1C v živote sa používa oveľa menej často (ale používa sa!).

Premenná = "";
Riadok = EnterValue(Premenná, "Zadajte celé meno");

2. Na zobrazenie detailov objektu 1C (adresár/dokument) alebo detailov formulára (pozri) sa najčastejšie používa vstupné pole. Toto je najbežnejší nástroj v 1C pre používateľa na prácu s poľami úprav.

3. Možnosti vstupného poľa je možné rozšíriť (pozrite si vlastnosti vstupného poľa, kliknite naň pravým tlačidlom myši, ďalšie podrobnosti):

  • Začiarkavacie políčko Režim úpravy viacerých riadkov
  • Začiarkavacie políčko Rozšírené úpravy (dostupné, ak je začiarknuté predchádzajúce políčko)
  • Zaškrtávacie políčko Režim hesla (pozri).

4. Ak by vám nestačili všetky možnosti vstupného poľa, je tu zabudovaný editor. Ak ho chcete pridať do formulára, musíte pridať pole textového dokumentu do ponuky Ovládanie formulára/vložiť. V jeho vlastnostiach môžete určiť jeho prevádzkový režim – vlastnosť Rozšírenie.

Pole textového dokumentu nemožno priamo priradiť k údajom. Je potrebné napísať funkciu do obsluhy udalosti OnOpen() formulára (pozri):

Form Elements.ElementNameTextDocumentField.SetText(StringValue); //tu ValueString je text prijatý napríklad z atribútu

A v obslužnom programe uloženia - napríklad v tlačidle Uložiť - pridajte uloženie:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //HodnotaRiadok je atribút, do ktorého uložíme hodnotu

5. Vo verzii 1C 8.2.11 sa v spravovaných formulároch objavila nová možnosť reprezentácie riadku 1C - pole Formátovaný dokument.


Podobne ako pole textového dokumentu si ho musíte nastaviť pri jeho otváraní a zapísať si ho pri ukladaní sami pomocou programu.

  • V objekte 1C, ktorého formulár vytvárame (adresár, dokument, spracovanie atď.) - pridajte atribút s typom Uloženie hodnoty
  • Vo funkcii OnReadOnServer() nastavíme text z atribútu

    //tu Atribút je pridaný atribút objektu 1C
    //tu FormattedDocument je názov poľa vo formulári na úpravu
    &Na serveri

    FormattedDocument = CurrentObject.Attributes.Get();
    EndProcedure

  • Vo funkcii BeforeWritingOnServer() alebo pomocou tlačidla napíšeme text z poľa

    &Na serveri
    Postup pri ReadingOnServer(CurrentObject)
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    EndProcedure