Függvények a karakterláncokkal való munkavégzéshez 1s 8. Új funkciók a karakterláncokkal való munkához

Kevés mechanizmus létezik a karakterláncokkal való munkavégzésre az 1C lekérdezésekben. Először is hozzá lehet adni a sorokat. Másodszor, kivehet egy részkarakterláncot egy karakterláncból. Harmadszor, a karakterláncok összehasonlíthatók, beleértve a mintákat is. Valószínűleg ez minden, amit a húrokkal meg lehet tenni.

Húr kiegészítés

Sorok hozzáadásához a lekérdezéshez a „+” műveletet kell használni. Csak korlátozott hosszúságú karakterláncokat adhat hozzá.

SELECT "Név: " + Partnerek. Név AS 1. oszlop FROM Címtárból. Partnerek AS Partnerek WHERE Partnerek. Link = &Link

Alkarakterlánc funkció

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

Az Environment() függvény analógja az objektummodellből. A Substring() függvény karakterláncadatokra alkalmazható, és lehetővé teszi egy töredék kiválasztását <Строки> , kezdve a karakter számával <НачальнаяПозиция> (a sorban lévő karakterek 1-től kezdődően vannak számozva) és hossza <Длина> karakterek. A függvényszámítás eredménye változó hosszúságú karakterlánc típusú, és a hossza korlátlannak számít, ha <Строка> korlátlan hossza és paramétere van <Длина> nem állandó és nem nagyobb, mint 1024.

Ha a karakterlánc hossza kisebb, mint a második paraméterben megadott, akkor a függvény üres karakterláncot ad vissza.

Figyelem! A SUBSTRING() függvény használata a korlátlan hosszúságú karakterláncok korlátozott hosszúságú karakterláncokká alakításához nem ajánlott. Ehelyett jobb az EXPRESS() cast operátort használni.

Funkció hasonló

Ha meg kell győződnünk arról, hogy egy karakterlánc attribútum megfelel bizonyos feltételeknek, összehasonlítjuk:

SELECT Counterparts. Name AS 1. oszlop FROM Címtár. Partnerek AS Partnerfelek WHERE Partnerek Név = "Gazprom"

De mi van, ha finomabb összehasonlításra van szüksége? Nem csak egyenlőség vagy egyenlőtlenség, hanem egy bizonyos mintához való hasonlóság? A HASONLÓ függvény pontosan erre készült.

LIKE – Operátor egy karakterlánc mintához való hasonlóságának ellenőrzésére. A LIKE analógja SQL-ben.

A HASONLÓ operátor lehetővé teszi a tőle balra megadott kifejezés értékének összehasonlítását a jobb oldalon megadott minta karakterlánccal. A kifejezés értékének string típusúnak kell lennie. Ha a kifejezés értéke megegyezik a mintával, akkor az operátor eredménye TRUE, ellenkező esetben HAMIS.

A sablon karakterláncának következő karakterei szolgáltatáskarakterek, és jelentésük eltér a karakterlánc karakterétől:

  • % (százalék): tetszőleges számú karaktert tartalmazó sorozat;
  • _ (aláhúzás): egy tetszőleges karakter;
  • […] (egy vagy több karakter szögletes zárójelben): bármely, a szögletes zárójelben szereplő karakter. A felsorolás tartalmazhat tartományokat, például a-z, ami egy tetszőleges karaktert jelent a tartományban, beleértve a tartomány végeit is;
  • [^...] (szögletes zárójelben egy tagadójel, amelyet egy vagy több karakter követ): bármely egyedi karakter, kivéve a tagadójel után felsoroltakat.

Minden más szimbólum önmagát jelenti, és nem hordoz semmilyen további terhelést. Ha a felsorolt ​​karakterek közül egyet önmagának kell írni, akkor ezt meg kell előznie<Спецсимвол>. Magamat<Спецсимвол>(bármely megfelelő karakter) ugyanabban az utasításban van definiálva a SPECIAL CHARACTER kulcsszó után.

Megvalósítva a 8.3.6.1977 verzióban.

Bővítettük a karakterláncokkal való együttműködésre tervezett függvények körét. Ezt annak érdekében tettük, hogy fejlettebb eszközöket biztosítsunk a karakterlánc-adatok elemzéséhez. Az új funkciók kényelmesek és hasznosak lesznek a szövegelemzés technológiai feladataiban. A formázott formában adatokat tartalmazó szöveg elemzésével kapcsolatos feladatokban. Ez lehet a berendezéstől kapott egyes fájlok elemzése, vagy például egy technológiai napló elemzése.

Minden olyan műveletet végrehajthat, amely korábban új funkciókat hajt végre. Beépített nyelven írt többé-kevésbé bonyolult algoritmusok használata. Ezért az új funkciók nem adnak alapvetően új képességeket. Lehetővé teszik azonban a kód mennyiségének csökkentését, valamint a kód egyszerűbbé és érthetőbbé tételét. Ezenkívül lehetővé teszik a műveletek végrehajtásának felgyorsítását. Mert a platformban megvalósított funkciók természetesen gyorsabban működnek, mint egy hasonló, beépített nyelven írt algoritmus.

Formázási függvény StrTemplate()

Ez a függvény a paramétereket karakterláncba helyettesíti. Ilyen átalakítás szükségessége gyakran felmerül, például figyelmeztető üzenetek megjelenítésekor. Ennek a függvénynek a szintaxisa a következő:

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

<Шаблон>- ez az a karakterlánc, amelybe be kell cserélni a paraméterreprezentációkat.

<Значение1> , ... <Значение10>- ezek olyan paraméterek (maximum tíz), amelyek reprezentációit be kell cserélni a karakterláncba.

Ahhoz, hogy a sablonban egy adott helyet jelezzen, ahol a helyettesítést el kívánja végezni, olyan jelölőket kell használnia, mint a %1, ... %10. A sablonban szereplő markerek számának és az értékeket tartalmazó paraméterek számának meg kell egyeznie.

Például egy ilyen operátor végrehajtásának eredménye:

lesz egy sor:

Adathiba a 2. sorban (dátumtípus szükséges)

StrCompare() karakterláncokkal való munkavégzésre szolgáló függvény

Ez a függvény két karakterláncot hasonlít össze a kis- és nagybetűk megkülönböztetése nélkül. Például így:

Ugyanezt a műveletet korábban is végrehajthatja az Érték-összehasonlítás objektum használatával:

Az új funkció használata azonban egyszerűbbnek tűnik. Ezen túlmenően a funkció az Érték-összehasonlítás objektumtól eltérően vékony kliensben és webes kliensben is működik.

Függvények a StrStartsWith(), StrEndsAt() karakterláncokkal való munkához

Ezek a függvények határozzák meg, hogy egy karakterlánc egy megadott részkarakterlánccal kezdődik-e, vagy egy karakterlánc egy megadott részkarakterlánccal végződjön. Ezeknek a függvényeknek az algoritmusát nem nehéz beágyazott nyelven megvalósítani, de jelenlétük lehetővé teszi, hogy tisztább és érthetőbb kódokat írjunk. És gyorsabban dolgoznak.

Például kényelmesen használhatók az If utasításban:

StrDivide(), StrConnect() karakterláncokkal végzett munka függvényei

Ezek a függvények egy karakterláncot részekre osztanak egy meghatározott határoló használatával. Vagy fordítva, több sort egyesítenek egybe, beillesztve közéjük a kiválasztott elválasztót. Kényelmesek naplók és technológiai naplók létrehozásához vagy elemzéséhez. Például egy technológiai naplóbejegyzést egyszerűen elemezhet további elemzésre alkalmas részekre:

StrFind() karakterláncokkal való munkavégzésre szolgáló függvény

A régi Find() függvény helyett egy új függvényt implementáltunk, amely további képességekkel rendelkezik:

  • Keresés különböző irányokba (az elejétől, a végétől);
  • Keresés egy megadott pozícióból;
  • Meghatározott számú előfordulás keresése (második, harmadik stb.).

Valójában megkettőzi a régi funkció képességeit. Ez a régebbi verziókban lefordított modulokkal való kompatibilitás fenntartása érdekében történik. Javasoljuk, hogy többé ne használja a régi Find() függvényt.

Az alábbiakban egy példa látható az új keresési lehetőségek használatára. A fordított keresés akkor hasznos, ha szüksége van egy formalizált karakterlánc utolsó részére, például a teljes fájlnévre az URL-ben. És a megadott pozícióból történő keresés segít azokban az esetekben, amikor egy ismert töredékben kell keresni, és nem a teljes sorban.

A karakterlánc az egyik primitív adattípus az 1C:Enterprise 8 rendszerekben. A típussal rendelkező változók vonal szöveget tartalmaznak.

Írja be a változó értékeket vonal idézőjelek közé vannak zárva. Több ilyen típusú változó is hozzáadható.

Per1 = "1. szó" ;
Per2 = "2. szó" ;
Per3 = Per1 + " " + Per2;

Végül is Per3 azt fogja jelenteni " Szó 1 Szó 2″.

Ezenkívül az 1C:Enterprise 8 rendszerek funkciókat biztosítanak a karakterláncokkal való munkavégzéshez. Nézzük a főbbeket:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — a függvény egy párbeszédpanel megjelenítésére szolgál, amelyben a felhasználó megadhatja egy típusú változó értékét Vonal. Paraméter <Строка> kötelező, és tartalmazza annak a változónak a nevét, amelybe a beírt karakterláncot írjuk. Paraméter <Подсказка> opcionális – ez a párbeszédpanel címe. Paraméter <Длина> opcionális, a bemeneti karakterlánc maximális hosszát mutatja. Alapértelmezés szerint nulla, ami korlátlan hosszúságot jelent. Paraméter <Многострочность> választható. Meghatározza a többsoros szövegbeviteli módot: True – többsoros szövegbevitel sorelválasztókkal; False – írjon be egy egyszerű karakterláncot.

Megadhat egy karakterláncot, ha ismeri a karakterkódot a Unicode-ban:

Szimbólum(<КодСимвола>) — a kód számként kerül beírásra.

Letter= Symbol(1103) ; // I

Van egy inverz függvény is, amely lehetővé teszi egy szimbólum kódjának kiderítését.

SymbolCode(<Строка>, <НомерСимвола>) — a megadott karakter Unicode-számát adja vissza számként.

Kis- és nagybetűk átalakító funkciói:

VReg(<Строка>) — A karakterlánc összes karakterét nagybetűvé alakítja.

NReg(<Строка>) — A karakterlánc összes karakterét kisbetűvé alakítja.

Treg(<Строка>) — a karakterlánc összes karakterét nagybetűvé alakítja. Ez azt jelenti, hogy az összes szó első betűi nagybetűvé, a fennmaradó betűk pedig kisbetűvé alakulnak.

Karakterek keresésének és cseréjének függvényei egy karakterláncban:

Megtalálja(<Строка>, <ПодстрокаПоиска>) — megkeresi a keresési részstring előfordulásának karakterszámát. Például:

Find ("String" , "oké" ) ; 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — megkeresi a keresési részstring előfordulásának karakterszámát, az előfordulási számot a megfelelő paraméter jelzi. Ebben az esetben a keresés azzal a karakterrel kezdődik, amelynek száma a paraméterben van megadva Kezdő pozíció. A keresés a karakterlánc elejétől vagy végétől lehetséges. Például:

4. számú előfordulások = Str Find ( "védekezés", "körülbelül" ,Keresési irány. Kezdettől, 1, 4); 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) – megkeresi a keresési részkarakterlánc összes előfordulását a forráskarakterláncban, és lecseréli a helyettesítő karakterláncra.

StrReplace ("Karakterlánc" , "oké" , "" ) ; // Oldal

Üres sor (<Строка>) – ellenőrzi, hogy a karakterláncban vannak-e jelentős karakterek. Ha nincsenek jelentős karakterek, vagy egyáltalán nincsenek karakterek, akkor a rendszer az értéket adja vissza Igaz. Másképp - Fekszik.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – Kiszámítja a keresési részkarakterlánc előfordulásának számát a forráskarakterláncban.

StrNumberOccurrences ( "Tanulj, tanulj és tanulj újra", "tanulmány" , "" ) ; 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — a paramétereket egy karakterláncba szám szerint helyettesíti. A sorban a következő formájú helyettesítési jelzőket kell tartalmaznia: „%1..%N”. A jelölők számozása 1-től kezdődik. Ha a paraméter értéke Határozatlan, egy üres karakterlánc kerül behelyettesítésre.

StrTemplate ( "1. paraméter = %1, 2. paraméter = %2", "1" , "2" ) ; // 1. paraméter = 1, 2. paraméter = 2

String konverziós függvények:

Egy oroszlán(<Строка>, <ЧислоСимволов>) – egy karakterlánc első karaktereit adja vissza.

Jobb(<Строка>, <ЧислоСимволов>) – egy karakterlánc utolsó karaktereit adja vissza.

Szerda(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) – egy hosszúságú karakterláncot ad vissza<ЧислоСимволов>szimbólumtól kezdve<НачальныйНомер>.

AbbrL(<Строка>) levágja a nem szignifikáns karaktereket a karakterlánc első jelentős karakterétől balra.

Rövidítés(<Строка>) — levágja a jelentéktelen karaktereket a sor utolsó jelentős karakterétől jobbra.

AbbrLP(<Строка>) – levágja a jelentéktelen karaktereket a sor első jelentős karakterétől balra és a sor utolsó jelentős karakterétől jobbra.

StrGetString(<Строка>, <НомерСтроки>) – Többsoros karakterláncot kap szám szerint.

Más funkciók:

Erősség(<Строка>) – a karakterláncban lévő karakterek számát adja vissza.

StrNumberRow(<Строка>) – egy többsoros karakterlánc sorainak számát adja vissza. Egy sor akkor tekinthető újnak, ha újsor karakter választja el az előzőtől.

StrCompare(<Строка1>, <Строка2> ) – a kis- és nagybetűket figyelmen kívül hagyva hasonlít össze két karakterláncot. Egy függvény hasonlóan működik, mint egy objektum Értékek összehasonlítása. Visszaküldések:

  • 1 - ha az első sor nagyobb, mint a második
  • -1 - ha a második sor nagyobb, mint az első
  • 0 - ha a karakterláncok egyenlőek

StrCompare("Első sor" , "Második sor" ) ; 1

Példaként arra, hogyan működnek az 1C karakterláncokkal való munkavégzés funkciói, szeretnénk létrehozni egy automatikus szövegelemzést. A szöveget a fájlból fogjuk kivenni. Az elemzés eredménye bármilyen formában megjelenik a felhasználó számára.

Létre kell hoznunk egy külső kezelőt, amivel kiválaszthatunk egy szöveges fájlt és futtathatjuk az elemzőt.

Szövegelemzés 1C - űrlap és gombok

Tehát hozzunk létre külső feldolgozást: Konfigurátor/Fájl/Új/Külső feldolgozás.

Űrlap hozzáadása. Az űrlapon el kell helyeznünk egy szöveges fájl kijelölő mezőt és egy elemző gombot.

Szövegelemzés 1C - vastag kliens

Helyezzen el egy szabályos szövegmezőt az űrlapon. A sor hossza korlátlan, mert a fájl elérési útja (könyvtárnevek) jelentős lehet.

Hogy a felhasználónak ne kelljen beírnia a fájlnevet, hanem ki tudja választani, a mezőben engedélyezünk egy kiválasztó gombot.

A mező nevét „FileName”-re változtatjuk, a kapcsolódó űrlapattribútum neve automatikusan ugyanerre változik.

Gombként a platform által automatikusan hozzáadott „Futtatás” gombot fogjuk használni (és már van hozzá csatlakoztatva kezelő – kényelmes).

Szövegelemzés 1C - vékony kliens

A vékony kliensben önállóan hozzuk létre a „Fájlnév” űrlapattribútumot. Húzzuk rá a kellékeket az űrlapra. Az űrlapelem tulajdonságainál engedélyezzük a kiválasztó gombot is.

Gombként létrehozzuk a „Futtatás” parancsot, hozzárendeljük a feldolgozást, és ráhúzzuk az űrlapra.

Szövegelemzés 1C - programozás

Az első dolog, amit meg kell tennünk, hogy feldolgozzuk a kiválasztó gomb kattintását – kattintáskor mutassuk meg a fájlkiválasztó párbeszédablakot.

Menjünk az űrlapon a szövegmezőnk tulajdonságaira (vastag kliensben - bal egérgombbal közvetlenül a mezőre, vékony kliensben - a mező nevére a listában), és adjuk meg az eseménykezelőt a „Kiválasztás kezdete” esemény.

A kezelő függvényen belül, amelyet az 1C hozzárendeléskor létrehoz, írunk néhány egyszerű kódot:

Most már van egy fájlnév. „Meg kell kapnunk” a tartalmát, és meg kell hívnunk a szövegelemzést.

A Futtatás gombhoz már van kezelőnk. A vastag kliensben a gombot és kezelőjét az 1C konfigurátora automatikusan létrehozta. A vékony kliensben manuálisan adtuk hozzá.

Adjunk hozzá kódot a kezelőhöz, amely a fájlt karakterláncba olvassa be:

A fájl kódolásával kapcsolatban. Ha egy TextReading() objektumot hoz létre a kódolást jelző paraméter nélkül, az 1C megpróbálja önállóan meghatározni a kódolást (a Byte Order Mark - BOM aláírással, vagy figyelembe veszi annak ANSI kódolását).

Közvetlenül megadhatja a kívánt kódolást, például így:
Fájl = Új Olvasott szöveg(Fájlnév, "UTF-8"); //helyettesíti a kívánt kódolási nevet

Tehát ennek eredményeként a következőket kaptuk:

  • Szövegkarakterlánc beolvasott fájlból a "Szöveg" változóban
  • Egy eljárás, amelyben a „TextAnalysis()” nevű változóból származó karakterláncot elemezzük az 1C karakterlánc-függvények segítségével

A programozási nyelvek alapvető képességei általában a számokkal és karakterláncokkal való munkavégzést foglalják magukban. Általában ezek a szolgáltatások a fordítókódba vannak bekódolva (vagy a programozási nyelv „alap” osztályai vannak megvalósítva).

Az 1C-ben magában a platformban van programozva a karakterláncokkal való munka képessége. Ma megvizsgáljuk az 1C karakterláncokkal való munkavégzés jellemzőit a programokban a beépített 1C nyelven.

Vonalérték 1C

1. Kezdjük a legegyszerűbbel. Változó létrehozása és állandó karakterlánc-érték hozzárendelése így néz ki az 1C-ben:

Változó = "Szia, világ!";

Ha egy idézőjel karaktert kell megadnia egy állandó 1C karakterlánc értékben, akkor meg kell dupláznia ""

Változó = "Szia, világ"!;

2. Az 1C sortörés egyszerre kétféleképpen adható meg. Az első a | szimbólum használata

Változó = "Szia!
| világ! ";

A második a Symbols rendszer felsorolását használja. Lehetővé teszi 1C sortörések és egyéb nem nyomtatható karakterek, például TAB hozzáadását.

Változó = "Hello" + Symbols.PS + "béke!";

3. Az 1C konfigurációi nem csak egy nyelvre (orosz, angol vagy másik) fejleszthetők, hanem egyidejűleg több nyelvre is. Ebben az esetben az 1C ablak alján az aktuálisan használt nyelv kerül kiválasztásra.

A nyelvek listája az Általános/Nyelvek ág konfigurációs ablakában található. Minden nyelvnek van egy rövid azonosítója, mint pl ru vagy eng.

Nyilvánvaló, hogy egy ilyen konfiguráció programozásakor az 1C vonalak többnyelvűek is lehetnek. Ehhez létre lehet hozni egy ilyen 1C sort az átmenő megadásával; lehetőségek nyelvi azonosító szerint:

Változó = "ru=""Szia világ! ""; hu=""Szia világ! """;

Ha az így kialakított 1C sort szokás szerint használod, akkor az lesz ami benne van írva. Ahhoz, hogy a rendszer két lehetőségre bontsa, és a kívántat használja, az НStr() függvényt kell használnia:

//kétnyelvű konfigurációk esetén helyes
Jelentés(NStr(Változó));

1C vonaltípusú kellékek

Az attribútum egy mező az 1C könyvtárban/dokumentumban. Az 1C nyelvű programban lévő változóktól abban különbözik, hogy az attribútumhoz pontosan meg van adva a típusa (szám, 1C karakterlánc stb.). Ha fel kell frissítenie az emlékezetét a kellékről, nézze meg a leckét.

Ha megadja az attribútum típusát - 1C sor, akkor ezenkívül meg kell adnia a paramétereket.

Az 1C sorok korlátlan hosszúságúak (hosszúság = 0) és korlátozott hosszúságúak, jelezve a karakterek pontos számát. A korlátlan hosszúságú 1C sorok külön SQL táblában vannak tárolva, így használatuk kevésbé produktív, mint a korlátozottak.

Éppen ezért a korlátlan hosszúságú 1C húrok használatának megvannak a maga korlátai - nem lehet mindenhol használni őket. Például nem megengedett dokumentumszámként, hivatkozási kódként vagy mérésként.

Munka 1C húrokkal

Az 1C platform számos beépített funkcióval rendelkezik a húrokkal való munkavégzéshez.

  • AbbrLP ("Hihetetlen, de igaz!")
    Eltávolítja a felesleges szóközöket az 1C sorból. Bármilyen típus 1C karakterláncsá alakítására is használható (például számok).
  • Változó = "Vasya" + AbbrLP(" plusz") + "Olya"; //lesz "Vasya plus Olya"
    Példa több 1C karakterlánc érték összegzésére. Az eredmény egy sor 1C lesz.
  • Változó = Lev("Zene", 2); //"Mu" lesz
    Változó = Közepes("Zene", 2, 2); //lesz "fenyegetés"
    Változó = Jogok("Zene", 2); //lesz "ka"
    Különféle lehetőségek egy részkarakterlánc 1C karakterláncból való beszerzésére.
  • Változó = Find("Zene", "zy"); //3 lesz
    Keressen egy részkarakterláncot az 1C karakterláncban, az 1. karakterrel kezdve.
  • Változó = StrLength("Zene"); //6 lesz
    Az 1C sorban lévő karakterek számát adja vissza.
  • Report("Hello") //az 1C ablak alján lévő üzenetablakban
    Alert("Hello") //felugró párbeszédpanel
    Status("Hello") //az állapotkijelző sorban a bal alsó sarokban
    .

Tárgyak bevitele az 1C sorba

Mint tudják, a strukturált információk cseréjének legnépszerűbb formátuma jelenleg az XML. Még az MS Office Word és Excel legújabb verziója is ebbe a formátumba menti a fájlokat (docx és xlsx, módosítsa a kiterjesztést zip-re, megnyitja archiválóban).

Az 1C adatcserére szolgáló platform számos lehetőséget kínál, amelyek közül a fő szintén az XML.

1. A legegyszerűbb módszer az Abreviation() vagy String() függvény használata. Használhatja a REPRESENTATION() függvényt a kérés törzsében. Műveletük eredménye ugyanaz - bármilyen 1C objektum karakterlánc reprezentációját generálják a felhasználó számára.

Egy könyvtár esetében alapértelmezés szerint ez lesz a neve. Dokumentum esetén – a dokumentum neve, száma és dátuma.

2. Bármely 1C objektum (korlátozásokkal) konvertálható XML-be és fordítva. Az átalakítási folyamatot szerializálásnak nevezik.

StringViewXml = XMLString(Érték); //XML lekérése 1C értékből
Value1C = XMLVérték(Típus("Könyvtárlink.Nómenklatúra"),TípusStringXml); //az 1C értéket az XML karakterláncból kapja meg, meg kell adnia a fogadni kívánt 1C típust

3. Az 1C platform saját módszere van arra, hogy bármilyen 1C objektumot karaktersorozattá alakítson. Az 1C 7.7-es verzióról költözött. Ezt a formátumot más programok nem értik, de más 1C megérti, ami megkönnyíti az 1C adatbázisok közötti cserét.

Sor = ValueInRowInt(Érték1C); //lekéri az 1C karakterláncot az 1C értékből
ValueVFile("C:\Sajátfájl.txt", Érték1C); //egy másik lehetőség, az 1C értékből kapunk egy fájlt egy mentett karakterlánccal
Érték1C = ValueFromStringInt(String); //vissza az 1C sorból
Érték1C = ÉrtékFájl("C:\Sajátfájl.txt"); //vissza a fájlból

1C sorok szerkesztése az űrlapon

Amellett, hogy 1C nyelvű programban 1C karakterláncokkal dolgozom, természetesen szeretném, ha a felhasználó szerkeszthetné azokat. Erre több lehetőség is kínálkozik:

1. A legegyszerűbb módja egy 1C vonal beléptetésének kérése. Ezt a módszert az 1C programozás tanításakor használják; az életben sokkal ritkábban használják (de használják!).

Változó = "";
Row = EnterValue(Változó, "Írja be a teljes nevet");

2. Egy 1C objektum (könyvtár/dokumentum) vagy űrlap részleteinek (lásd) megjelenítéséhez leggyakrabban egy beviteli mezőt használnak. Ez a leggyakoribb eszköz az 1C-ben a felhasználó számára a szerkesztőmezők kezeléséhez.

3. A beviteli mező lehetőségei bővíthetők (lásd a beviteli mező tulajdonságait, kattintson rá jobb gombbal, további részletek):

  • Jelölőnégyzet Többsoros szerkesztési mód
  • Speciális szerkesztés jelölőnégyzet (akkor érhető el, ha az előző jelölőnégyzet be van jelölve)
  • Jelszó mód jelölőnégyzet (lásd).

4. Ha a beviteli mező összes képessége nem elég Önnek, van beépített szerkesztő. Az űrlaphoz való hozzáadásához hozzá kell adni egy Szöveges dokumentum mezőt az Űrlap/Beszúrás vezérlője menühöz. Tulajdonságaiban megadhatja annak működési módját – az Extension tulajdonságot.

Szöveges dokumentummező nem társítható közvetlenül adatokhoz. Az űrlap OnOpen() eseménykezelőjébe függvényt kell írni (lásd:

Űrlapelemek.ElemNévSzövegDokumentumField.SetText(StringValue); //itt a ValueString az a szöveg, amelyet például az attribútumból kapunk

És a mentéskezelőben - például a Mentés gombban - adjon hozzá egy mentést:

ValueString = FormElements.ElementNameTextDocumentField.GetText(); //ÉrtékAz itt található sor az az attribútum, ahová az értéket mentjük

5. Az 1C 8.2.11-es verziójában a felügyelt űrlapokon egy új lehetőség jelent meg az 1C vonal megjelenítésére - a Formátumozott dokumentum mező.


Hasonlóan a szöveges dokumentum mezőjéhez, ezt megnyitáskor be kell állítani, és a program segítségével saját kezűleg menteni kell.

  • Abban az 1C objektumban, amelynek formáját hozzuk létre (könyvtár, dokumentum, feldolgozás stb.) - adjon hozzá egy attribútumot Value Storage típussal
  • Az OnReadOnServer() függvényben az attribútumból állítjuk be a szöveget

    //itt az Attribútum az 1C objektum hozzáadott attribútuma
    //itt a FormattedDocument a szerkesztendő űrlap mezőjének neve
    &A szerveren

    FormattedDocument = CurrentObject.Attributes.Get();
    Az eljárás vége

  • A BeforeWritingOnServer() függvényben vagy a gomb segítségével írjuk ki a szöveget a mezőből

    &A szerveren
    Eljárás ReadingOnServer(CurrentObject) során
    CurrentObject.Props = NewValueStorage(FormattedDocument);
    Az eljárás vége