Găsiți spații în linia 1c 8. Noi funcții pentru lucrul cu șiruri. Funcții de conversie a cazurilor

Un șir este unul dintre tipurile de date primitive din 1C: Enterprise 8. Variabile cu tipul linia conţin text.

Valori ale variabilelor de tip linia sunt cuprinse între ghilimele duble. Variabile multiple de acest tip poate fi pliat.

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

În cele din urmă Per3 va însemna „ Cuvântul 1 Cuvântul 2 ″.

În plus, sistemele 1C: Enterprise 8 oferă funcții pentru lucrul cu șiruri. Să le luăm în considerare pe cele principale:

Introduceți șirul (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția are scopul de 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, indică lungimea maximă a șirului de intrare. Valoarea implicită este zero, ceea ce înseamnă lungime nelimitată. Parametru <Многострочность> opțional. Determină modul de introducere a textului cu mai multe rânduri: True - introducerea textului cu mai multe linii cu separatoare de linii; False - introducerea unui șir simplu.

Șirul poate fi introdus și poate fi dat codul caracterelor Unicode:

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

Literă = Simbol (1103); // EU SUNT

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

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

Funcții de conversie a cazurilor:

BReg (<Строка>) - convertește toate caracterele din șir în majuscule.

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

Treg (<Строка>) - convertește toate caracterele dintr-un șir în majuscule. 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 ("String", "Oka"); // 4

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

Number4 Apariții = StrFind ( „Capacitate de apărare”, „o”, Direcția de căutare. De la început, 1, 4); // 7

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

StrReplace ("String", "Oka", ""); // Pagina

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

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

StrNumăr de apariții ( „Studiați, studiați și studiați din nou”, "a studia" , "" ) ; // 3

StrPattern (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — înlocuiește parametrii în șir prin număr. Șirul trebuie să conțină markeri de substituție de forma: „% 1 ..% N”. Markerii sunt numerotate începând de la 1. Dacă valoarea parametrului Nedefinit, un șir gol este înlocuit.

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

Funcții de conversie a șirurilor:

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

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

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

AbbrL (<Строка>) taie caractere nesemnificative la stânga primului simbol semnificativ in linie.

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

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

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

Alte functii:

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

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

Compara (<Строка1>, <Строка2> ) - compară două șiruri de caractere, fără distincție între majuscule și minuscule. Funcția funcționează în același mod 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 ("Prima linie", "A doua linie"); // unu

Implementat în versiunea 8.3.6.1977.

Am extins setul de funcții pentru lucrul cu șiruri. Am făcut acest lucru pentru a vă oferi instrumente mai avansate pentru analizarea datelor șirurilor. Noile funcții vor fi convenabile și utile în sarcinile tehnologice de analiză a textului. În sarcinile legate de analizarea textului care conține date formatate. Aceasta poate fi analiza unor fișiere primite de la echipament sau, de exemplu, analiza unui jurnal tehnologic.

Toate acțiunile care îndeplinesc funcții noi, le-ați putea efectua înainte. Cu ajutorul unor algoritmi mai mult sau mai puțin complecși scriși într-un limbaj încorporat. Prin urmare, noile funcții nu vă oferă posibilități fundamental noi. Cu toate acestea, ele pot reduce cantitatea de cod, fac codul mai simplu și mai ușor de înțeles. Și, pe lângă asta, vă permit să accelerați execuția acțiunilor. Pentru că funcțiile implementate în platformă funcționează, desigur, mai rapid decât un algoritm similar scris într-un limbaj încorporat.

Funcția de formatare StrPattern ()

Această funcție înlocuiește parametrii într-un șir. Necesitatea unei astfel de conversii apare adesea, de exemplu, la afișarea mesajelor de avertizare. Sintaxa pentru această funcție este următoarea:

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

<Шаблон>este un șir care înlocuiește reprezentările parametrilor.

<Значение1> , ... <Значение10>- sunt parametri (maximum - zece), ale căror reprezentări trebuie înlocuite în șir.

Pentru a indica un anumit loc din șablon în care doriți să efectuați înlocuirea, trebuie să utilizați jetoane de forma% 1, ...% 10. Numărul de marcatori utilizați în șablon și numărul de parametri care conțin valori trebuie să fie același.

De exemplu, rezultatul executării unei astfel de instrucțiuni:

va fi o linie:

Eroare de date pe linia 2 (Tipul de dată este necesar)

Funcție pentru lucrul cu șiruri de caractere StrCompare ()

Această funcție compară două șiruri de caractere fără a ține seama de majuscule și minuscule. De exemplu, așa:

Ați fi putut efectua aceeași acțiune mai devreme folosind obiectul Comparație valori:

Cu toate acestea, utilizarea noii funcție pare mai simplă. Și pe lângă aceasta, funcționează și funcția, spre deosebire de obiectul Comparație de valori client slab, și în clientul web.

Funcții pentru lucrul cu șiruri RowStart With (), RREnd With ()

Aceste funcții determină dacă un șir începe cu un subșir specificat sau se termină cu un subșir specificat. Algoritmul acestor funcții nu este greu de implementat în limbajul încorporat, dar prezența lor vă permite să scrieți un cod mai curat și mai ușor de înțeles. Și lucrează mai repede.

De exemplu, este convenabil să le folosiți în operator Dacă:

Funcții pentru lucrul cu șiruri de caractere StrSplit (), StrConnect ()

Aceste funcții împart șirul în părți conform delimitatorului specificat. Sau invers, combină mai multe linii într-una singură, inserând între ele separatorul selectat. Sunt convenabile pentru crearea sau analizarea jurnalelor, a jurnalelor tehnologice. De exemplu, puteți dezasambla cu ușurință o înregistrare a unui jurnal tehnologic în părți adecvate pentru analiză ulterioară:

Funcție pentru lucrul cu șiruri StrFind ()

În loc de vechea funcție Find (), am implementat noua functie, care are caracteristici suplimentare:

  • Caută în direcții diferite (de la început, de la sfârșit);
  • Căutați dintr-o poziție specificată;
  • Căutați o apariție cu numărul specificat (a doua, a treia etc.).

De fapt, dublează capacitățile vechii funcție. Acest lucru se face pentru a menține compatibilitatea cu modulele compilate în versiuni mai vechi. Vă recomandăm să nu mai utilizați vechea funcție Find ().

Mai jos este un exemplu de utilizare a noilor capabilități de căutare. Căutarea înapoi este utilă atunci când aveți nevoie de ultima bucată dintr-un șir formalizat, de exemplu Numele complet fișier în url. Și căutarea dintr-o poziție specificată ajută în acele cazuri când trebuie să căutați într-un fragment cunoscut, și nu în întregul șir.

Tipul „Șir” se găsește în toate limbajele de programare. Este primitiv, iar în 1C există multe funcții pentru a lucra cu el. În acest articol, vom arunca o privire mai atentă căi diferite lucrul cu tipuri de șiruri din 1C 8.3 și 8.2 prin exemple.

Linia

Pentru a converti o variabilă de orice tip într-un șir, există o funcție cu același nume „String ()”. Parametrul de intrare va fi variabila însăși, a cărei reprezentare în șir urmează să fie obținută.

Șir (fals) // returnează „Nu”
String (12345) // returnează „12 345”
Șir (CurrentDate ()) // 21/07/2017 11:55:36 ″

Este posibil să convertiți nu numai tipurile primitive într-un șir, ci și altele, de exemplu, elemente de cărți de referință, documente.

SocrLP, SocrL, SocrP

Parametrii de intrare ai acestor funcții sunt o variabilă de tip șir. Funcțiile îndepărtează caracterele nesemnificative (spații, întoarcerea căruciorului și altele): din stânga și din dreapta, doar din stânga și, respectiv, numai din dreapta.

AbbrLP ("Spațiile de pe ambele părți vor fi eliminate") // "Spațiile de pe ambele părți vor fi eliminate"
Abreviat („Spațiile de pe ambele părți vor fi eliminate”) // „Spațiile din stânga vor fi eliminate”
Abreviere („Spațiile de pe ambele părți vor fi eliminate”) // „Spațiile din dreapta vor fi eliminate”

Leu, corect, miercuri

Aceste funcții vă permit să tăiați o parte dintr-un șir. Funcția „Lion ()” va returna partea din șir din partea stângă a lungimii specificate. Funcția „Dreapta ()” este aceeași, dar decuparea se face în dreapta. Funcția „Avg ()” vă permite să specificați numărul caracterului din care va fi selectat șirul și lungimea acestuia.

Lion („variabilă șir”, 4) // returnează „Stro”
Dreapta ("variabilă șir", 7) // returnează "variabilă"
Wed ("variabilă șir", 2, 5) // returnează "troco"

Str Lungime

Funcția determină numărul de caractere care sunt conținute în variabila șir.

StrLength ("Cuvânt") // rezultatul execuției va fi numărul 5

Găsi

Funcția face posibilă căutarea unei părți a unui șir în orice variabilă șir. Valoarea returnată va fi un număr care arată poziția începutului șirului găsit. Dacă nu se găsește nicio potrivire, se returnează zero.

Vă rugăm să rețineți că căutările sunt sensibile la majuscule și minuscule. Dacă șirul original conține mai mult de o apariție a subșirului de căutare, funcția va returna începutul primei apariții.

Găsiți ("unu, doi, unu, doi, trei", "două") // funcția va returna numărul 6

Linie goală

Utilizarea acestei funcții vă permite să determinați dacă un șir este gol. Caracterele nesemnificative, cum ar fi spațiu, întoarcerea căruciorului și altele, sunt ignorate.

EmptyString ("Pukin Vasily Ivanovich") // funcția va returna valoarea False
EmptyString ("") // funcția va returna True

VReg, NReg, Treg

Aceste funcții sunt foarte utile pentru compararea și convertirea variabilelor șir. Breg () va returna șirul original cu majuscule, HPreg () cu litere mici și TRreg () îl va formata astfel încât primul caracter al fiecărui cuvânt individual să fie cu majusculă, și toate cele ulterioare cu una mică.

Vreg („DIRECTOR GENERAL”) // returnează valoarea - „DIRECTOR GENERAL”
НReg ("DIRECTOR GENERAL") // returnează valoarea - "director general"
TREG ("DIRECTOR GENERAL") // returnează valoarea - "Director general"

Înlocuire pagină

Această funcție este analogă cu înlocuirea în editori de text... Vă permite să înlocuiți un caracter sau un set de caractere cu altul în variabilele șir.

StrReplace ("roșu, alb, galben", ",", ";") // va returna "roșu; Alb; galben"

StrNumberStrings

Funcția vă permite să determinați numărul de linii separate prin returnări de transport într-o variabilă text.

Bucla din exemplul de mai jos va trece prin trei cercuri, deoarece funcția RowNumber of Rows va returna o valoare de 3:

Pentru ind = 1 prin StrNumăr de linii ("Șir1" + Simboluri.PS + "Șir2" + Simboluri.PS + "Șir3") Buclă
<тело цикла>
Sfârșitul ciclului;

StrGetString

Această funcție funcționează cu text cu mai multe linii în același mod ca și cea anterioară. Vă permite să obțineți un șir specific dintr-o variabilă text.

StrGetString ("Șir1" + Simboluri.PS + "Șir2" + Simboluri.PS + "Șir3", 2) // va returna „String2”

StrNumăr de apariții

Funcția numără numărul de apariții ale unui caracter sau subșir în șirul de căutare.

Rând de atașamente ("a; b; c; d;", ​​​​";") // funcția va returna numărul 4

Simbol și cod de simbol

Aceste funcții vă permit să obțineți un caracter prin codul său Unicode, precum și să determinați acest cod după caracterul însuși.

SymbolCode ("A") // funcția va returna numărul 1 040
SymbolCode (1040) // funcția va returna „A”

Sarcini frecvente atunci când lucrați cu șiruri

Concatenarea șirurilor

Pentru a concatena mai multe șiruri (pentru a efectua concatenarea), este suficient să folosiți operatorul de adăugare.

„Linia 1 ″ +” Linia 2 ″ // rezultatul adăugării a două linii va fi „Linia 1 Linia 2”

Conversie de tip

Pentru a converti un tip într-un șir, de exemplu, o referință la un articol de dicționar, un număr etc., este suficient să folosiți funcția „String ()”. Funcții precum „Abrevierea ()” vor converti, de asemenea, variabilele într-un șir, dar imediat cu trunchierea caracterelor nesemnificative.

String (1000) // va returna „1000”

Vă rugăm să rețineți că atunci când convertiți un număr într-un șir, programul a adăugat automat un spațiu care separă o mie. Pentru a evita acest lucru, puteți utiliza următoarele construcții:

StrReplace (String (1000), Characters.NPP, "") // va returna "1000"

Șir (Format (1000, „CHG =")) // va returna „1000”

Citate într-un șir

Destul de des, va trebui să vă confruntați cu necesitatea de a specifica ghilimele într-o variabilă șir. Poate fi fie un text de cerere scris în configurator, fie doar o variabilă. Pentru a rezolva această problemă, trebuie doar să setați două ghilimele.

Titlu = String ("Horns and Hooves LLC" - asta suntem noi! ") // returnează" Horns and Hooves LLC - asta suntem noi!"

Rânduri multiple, întrerupere de linie

Pentru a crea text cu mai multe linii, este suficient să adăugați caractere de întrerupere de linie (Symbols.PS).

MultilineText = „Prima linie” + Simboluri.PS + „A doua linie”

Cum să eliminați spațiile

Pentru a elimina spațiile la dreapta sau la stânga, puteți folosi funcția „Abrevierea ()” (precum și „Abrevierea ()” și „Abrevierea ()”):

StringNoSpaces = AbbreviatedLP ("Multe litere") // funcția va returna valoarea "Multe litere"

Dacă, după convertirea unui număr într-un șir, trebuie să eliminați spațiile care nu se rup, utilizați următoarea construcție:

StringNoSpaces = StrReplace (String (99999), Characters.NPP, "") // va returna "99999"

De asemenea, programatorii folosesc adesea următoarea construcție, care vă permite să eliminați sau să înlocuiți toate spațiile unei variabile text cu un alt caracter:

StringNoSpaces = StrReplace ("bun venit", "", "") // returnează "bună ziua"

Compararea șirurilor între ele

Termenii pot fi comparați cu semnul egal obișnuit. Comparația face distincție între majuscule și minuscule.

„Hello” = „bună ziua” // va returna False
„Hello” = „Hello” // va returna True
„Hello” = „La revedere” // va returna False

LA capabilități de bază limbajul de programare este de obicei denumit lucru cu numere și șiruri. De obicei, aceste caracteristici sunt codificate în codul compilatorului (sau sunt implementate clasele „de bază” ale limbajului de programare).

În 1C, capacitatea de a lucra cu șiruri este programată în platforma în sine. Astăzi vom lua în considerare caracteristicile lucrului cu șiruri 1C în programele în limbajul 1C încorporat.

Valoarea liniei 1C

1. Să începem cu cel mai simplu. Crearea unei variabile și atribuirea unei valori constante șirului arată astfel în 1C:

Variabilă = „Bună lume!”;

Dacă trebuie să specificați un caracter de ghilimele într-o valoare constantă a șirului 1C, atunci trebuie să-l dublați „”

Variabilă = „Bună ziua”, „lume” „!”;

2. Ruptura de linie 1C poate fi specificată în două moduri simultan. Primul folosește simbolul |

Variabilă = „Bună ziua,
| pace! ";

Al doilea folosește enumerarea sistemului Symbols. Vă permite să adăugați atât întreruperi de linie 1C, cât și alte caractere neprintabile, cum ar fi TAB.

Variabilă = „Bună ziua” + Simboluri.PS + „lumea!”;

3. Configurațiile în 1C pot fi dezvoltate nu numai pentru o limbă (rusă, engleză sau alta) - ci simultan pentru mai multe limbi. În acest caz, limba utilizată curent este selectată în partea de jos a ferestrei 1C.

Lista limbilor se află în fereastra de configurare din ramura General / Limbi. Fiecare limbă are un identificator scurt, cum ar fi ru sau ing.

Este clar că la programarea unei astfel de configurații, liniile 1C pot fi și multilingve. Pentru a face acest lucru, este posibil să creați o astfel de linie 1C specificând prin; opțiuni după identificatorul de limbă:

Variabilă = "ru =" "Bună, lume!" "; En =" "Bună, lume!" "";

Dacă utilizați linia 1C formată în acest mod ca de obicei, atunci va fi ceea ce este scris în ea. Pentru ca sistemul să îl împartă în două opțiuni și să o folosească pe cea dorită, trebuie să utilizați funcția HStr ():

// corectă pentru configurații bilingve
Raport (НStr (variabilă));

Recuzită cu linie tip 1C

O cerință este un câmp de referință/document 1C. Diferă de o variabilă dintr-un program 1C prin faptul că tipul acesteia (număr, șir 1C etc.) este indicat precis pentru un atribut. Dacă trebuie să perfecționați ce sunt recuzita - urmăriți lecția.

Dacă specificați tipul de atribut - linia 1C, atunci trebuie să specificați suplimentar parametrii.

Șirurile 1C au lungime nelimitată (specificată ca lungime = 0) și lungime limitată, indicând numărul exact de caractere. Liniile 1C de lungime nelimitată sunt stocate separat tabel SQL prin urmare utilizarea lor este mai puțin productivă decât limitată.

De aceea, utilizarea șirurilor 1C de lungime nelimitată are propriile sale limitări - nu este posibil să le folosiți peste tot. De exemplu, nu poate fi folosit ca număr de document, cod de director, dimensiune.

Lucrul cu șiruri 1C

Există mai multe funcții încorporate ale platformei 1C pentru lucrul cu șiruri.

  • SocrLP ("Incredibil, dar adevărat!")
    Îndepărtează de pe linia 1C spatii suplimentare... Poate fi folosit și pentru a converti orice tip în șiruri 1C (de exemplu, numere).
  • Variabilă = "Vasya" + SokrLP ("plus") + "Olya"; // va fi „Vasya plus Olya”
    Un exemplu de însumare a mai multor valori de șir 1C. Rezultatul va fi o linie de 1C.
  • Variabilă = Leu („Muzică”, 2); // va fi "Mu"
    Variabila = miercuri („Muzica”, 2, 2); // va fi „shl”
    Variabilă = Dreapta („Muzică”, 2); // va fi "ka"
    Diverse opțiuni pentru obținerea unui subșir dintr-un șir 1C.
  • Variabilă = Găsiți („Muzică”, „Shl”); // va fi 3
    Căutați un subșir în șirul 1C, începând cu caracterul 1.
  • Variabilă = StrLength („Music”); // va fi 6
    Returnează numărul de caractere din rândul 1C.
  • Raportare („Bună ziua”) // în fereastra de mesaje din partea de jos a ferestrei 1C
    Avertisment ("Bună ziua") // dialog pop-up
    Stare ("Bună ziua") // în linia de afișare a stării din stânga jos
    .

Aruncarea obiectelor pe linia 1C

După cum știți, cel mai popular format pentru schimbul de informații structurate în prezent este XML. Chiar ultima versiune DOMNIȘOARĂ Office Wordși Excel salvează fișierele în acest format (docx și respectiv xlsx, schimbă extensia în zip, deschide în arhivator).

Platforma 1C pentru schimbul de date oferă mai multe opțiuni, dintre care principala este și XML.

1. Cea mai simplă metodă este să folosiți funcția Abreviere () sau String (). În corpul interogării, puteți utiliza funcția REPREZENTARE (). Rezultatul acțiunii lor este același - ei generează o reprezentare șir a oricărui obiect 1C pentru utilizator.

Pentru o carte de referință, acesta va fi numele ei în mod implicit. Pentru un document - numele documentului, numărul și data.

2. Orice obiect 1C (cu restricții) poate fi convertit în XML și invers. Procesul de conversie se numește serializare.

ViewStringXml = XMLString (Valoare); // obțineți XML din valoarea 1C
Value1C = XMLValue (Tip ("ReferenceLink.Nomenclature"), ViewStringXml); // obțineți valoarea 1C din șirul XML, trebuie să specificați tipul 1C care ar trebui să fie primit

3. Există o modalitate a platformei 1C de a converti orice obiect 1C într-un șir. A migrat de la versiunea 1C 7.7. Acest format nu este înțeles de alte programe, dar este înțeles de un alt 1C, ceea ce face ușoară utilizarea lui pentru schimbul între bazele 1C.

String = ValueVSStringInter (Valoare1C); // obțineți linia 1C din valoarea 1C
ValueVFile ("C: \ MyFile.txt", Value1C); // altă opțiune, obținem un fișier cu un șir salvat din valoarea 1C
Value1C = ValueFromStringInternal (Șir); // înapoi de la linia 1C
Value1C = ValueOfFile ("C: \ MyFile.txt"); // înapoi din fișier

Editarea liniilor 1C pe formular

Pe lângă lucrul cu șiruri 1C într-un program 1C, desigur, aș dori ca utilizatorul să le poată edita. Există mai multe posibilități pentru aceasta:

1. Cel mai simplu mod este de a solicita intrarea liniei 1C la cerere. Această metodă este folosită atunci când predați programarea 1C, în viața reală este folosită mult mai rar (dar este folosit!).

Variabila = "";
String = EnterValue (variabilă, „Introduceți numele complet”);

2. Pentru a afișa atributul obiectului 1C (carte de referință / document) sau atributul formularului (vezi), cel mai des este folosit câmpul de introducere. Acesta este cel mai comun instrument din 1C pentru lucrul utilizatorului cu câmpuri de editare.

3. Posibilitățile câmpului de introducere pot fi extinse (vezi proprietățile câmpului de introducere, clic dreapta pe el, pentru mai multe detalii):

  • Bifă Modul de editare pe mai multe linii
  • Casetă de selectare Editare avansată (disponibilă dacă caseta de selectare anterioară este bifată)
  • Casetă de selectare Mod parolă (vezi).

4. Dacă toate posibilitățile câmpului de introducere nu sunt suficiente pentru tine, există un editor încorporat. Pentru a-l adăuga în formular, trebuie să adăugați un câmp în meniul Formular / Inserare control. document text... În proprietățile sale, puteți specifica modul de funcționare a acestuia - proprietatea Extensie.

Un câmp de document text nu poate fi legat direct la date. Este necesar să scrieți o funcție în handlerul de evenimente OnOpening () al formularului (vezi):

FormElements.ElementNameTextDocumentField.SetText (ValueString); // aici ValueString este textul obținut, de exemplu, din elemente de recuzită

Și în gestionarea de salvare - de exemplu, în butonul Salvare - adăugați o salvare:

ValueString = FormElements.ElementNameTextDocumentField.GetText (); // Valoare Șirul aici este recuzita în care stocăm valoarea

5.În versiunea 1C 8.2.11, în formulare gestionate a apărut noua oportunitate reprezentare în linie 1C - Câmp document formatat.


Similar cu câmpul unui document text, este necesar să setați la deschidere și să scrieți atunci când salvați textul dvs. folosind programul.

  • În obiectul 1C, a cărui formă o facem (carte de referință, document, procesare etc.) - adăugați un atribut cu tipul de stocare
  • În funcția ReadOnServer (), setați textul din elemente de recuzită

    // aici Props este proprietatea adăugată a obiectului 1C
    // aici FormattedDocument este numele câmpului din formularul de editat
    &Pe server

    FormattedDocument = CurrentObject.Props.Get ();
    Sfârșitul procedurii

  • În funcția BeforeWriteOnServer () sau prin buton, scrieți textul din câmp

    &Pe server
    Procedura pentru ReadingOnServer (CurrentObject)
    CurrentObject.Props = NewValueStore (FormattedDocument);
    Sfârșitul procedurii