Operații cu șiruri 1c. Funcții noi pentru lucrul cu șiruri. Funcții pentru găsirea și înlocuirea caracterelor dintr-un șir

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

Valorile 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ă luăm în considerare principalele:

Introduceți șirul (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția este destinată afișării unei casete de dialog în care utilizatorul poate specifica valoarea unei variabile de tip Linia... Parametru <Строка> este obligatoriu și conține numele variabilei la 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ă o lungime nelimitată. Parametru <Многострочность> opțional. Determină modul de introducere pentru textul cu mai multe linii: Adevărat - introducerea textului cu mai multe linii cu separatoare de linie; Fals - introducerea unui șir simplu.

Șirul poate fi introdus și poate primi codul de caractere Unicode:

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

Scrisoare = Simbol (1103); // EU SUNT

Există, de asemenea, o funcție inversă care vă permite să aflați codul unui personaj.

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

Funcții de conversie a carcasei:

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

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

Treg (<Строка>) - convertește toate caracterele dintr-un șir în majuscule. Adică, primele litere din toate cuvintele sunt convertite în majuscule, iar restul literelor sunt convertite în minuscule.

Funcții pentru căutarea și înlocuirea caracterelor dintr-un șir:

Găsi(<Строка>, <ПодстрокаПоиска>) - găsește numărul de caractere al apariției șirului de căutare. De exemplu:

Găsiți („Șir”, „Oka”); // 4

Găsi (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - găsește numărul caracterului apariției sub șirului de căutare, numărul apariției este indicat în parametrul corespunzător. În acest caz, căutarea începe cu un caracter 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:

Numărul 4 de apariții = StrFind ( „Capacitate de apărare”, "o", direcția de căutare. De la început, 1, 4); // 7

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

StrReplace ("Șir", "Oka", ""); // Pagină

Linie goală (<Строка>) - verifică șirul pentru caracterele semnificative. Dacă nu există caractere semnificative sau deloc caractere, atunci valoarea este returnată Adevărat... In caz contrar - Minciună.

StrNumber of Occurrences (<Строка>, <ПодстрокаПоиска>) - calculează numărul de apariții al șirului de căutare din șirul original.

StrNumber of Occurrences ( „Studiază, studiază și studiază din nou”, "studiu", ""); // 3

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

PageTemplate ( "Parametrul 1 =% 1, Parametrul 2 =% 2", "1" , "2" ) ; // Parametrul 1 = 1, Parametrul 2 = 2

Funcții de conversie șir:

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 (<Строка>) trunchiază caractere nesemnificative în stânga primului caracter semnificativ din șir.

Abreviere (<Строка>) - taie caractere nesemnificative în dreapta ultimului caracter semnificativ din șir.

SocrLP (<Строка>) - taie caractere nesemnificative la stânga primului personaj semnificativ din linie și la dreapta ultimului personaj semnificativ din linie.

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

Alte funcții:

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

StrNumber of Lines (<Строка>) - 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 de linie nouă.

Comparați (<Строка1>, <Строка2> ) - compară două șiruri, fără sensibilitate la majuscule. Funcția funcționează la fel 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

Compare („Prima linie”, „A doua linie”); // 1

Tipul „String” se găsește în toate limbajele de programare. Este primitiv și în 1C există multe funcții pentru lucrul cu acesta. În acest articol, vom analiza mai îndeaproape căi diferite lucrând cu tipuri de șiruri în 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 „Șir ()”. Parametrul de intrare va fi variabila însăși, a cărei reprezentare a șirului urmează să fie obținută.

Șir (False) // returnează „Nu”
Șir (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 ale cărților de referință, documente.

SocrLP, SocrL, SocrP

Parametrii de intrare pentru aceste funcții sunt o variabilă de tip șir. Funcțiile elimină caractere nesemnificative (spații, retururi de carucioare și altele): din partea stângă și dreapta, numai din partea stângă și, respectiv, numai din dreapta.

AbbrLP („Spațiile vor fi eliminate din ambele părți”) // „Spațiile vor fi eliminate din ambele părți”
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”

Leo, corect, miercuri

Aceste funcții vă permit să tăiați o parte a unui șir. Funcția "Lion ()" va returna partea șirului din partea stângă a lungimii specificate. Funcția „Right ()” este aceeași, dar decuparea se face în dreapta. Funcția „Med ()” 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ă”
Miercuri („Variabilă șir”, 2, 5) // returnează „troco”

Lungimea str

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ă de șir. Valoarea returnată va fi un număr care arată poziția de la începutul șirului găsit. Dacă nu se găsește nicio potrivire, se returnează zero.

Rețineți că căutările sunt sensibile la majuscule și minuscule. Dacă șirul original conține mai multe apariții ale șirului de căutare, funcția va returna începutul primei apariții.

Găsiți („unu, doi, unu, doi, trei”, „doi”) // 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țiul, întoarcerea trăsurii și altele sunt ignorate.

EmptyString („Pupkin Vasily Ivanovich”) // funcția va returna valoarea False
Funcția EmptyString ("") // va reveni True

VReg, NReg, Treg

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

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

Înlocuiți pagina

Această funcție este similară cu înlocuirea din editori de text... Vă permite să înlocuiți un caracter sau un set de caractere cu altul în variabile ș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 căruță într-o variabilă text.

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

Pentru ind = 1 de StrNumberStrings ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3") Buclă
<тело цикла>
Sfârșitul ciclului;

StrGetString

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

StrGetString ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // va returna „String2”

StrNumber of Occurrences

Funcția contorizează numărul de apariții ale unui caracter sau al unui șir din șirul de căutare.

StrNumber of Attachments ("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 după codul său Unicode, precum și să determinați acest cod de către 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ă utilizați operatorul de adăugare.

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

Conversie tip

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

Șirul (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.

Title = String ("LLC" Cornuri și copite "" - suntem noi! ") // returnează" LLC "Cornuri și copite" - suntem noi! "

Linii multiple, întrerupere de linie

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

MultilineText = "Prima linie" + Simboluri.PS + "A doua linie"

Cum să eliminați spațiile

Pentru a elimina spațiile din dreapta sau din stânga, puteți utiliza funcția „Abreviere ()” (precum și „Abreviere ()” și „Abreviere ()”):

StringNoSpaces = abreviatLP ("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ă "salut"

Comparând șiruri între ele

Termenii pot fi comparați cu semnul egal obișnuit. Comparația este sensibilă la majuscule și minuscule.

"Hello" = "hello" // va întoarce False
"Hello" = "Hello" // va reveni True
"Hello" = "Goodbye" // va întoarce False

Însemnări dinspre geam

18.08.2014 Funcții noi pentru lucrul cu șiruri

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 analiza datelor șirului. Noile funcții vor fi convenabile și utile în sarcinile tehnologice de analiză a textului. În sarcinile legate de analiza 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 pe care le-ați fi putut efectua înainte. Cu ajutorul unor algoritmi mai mult sau mai puțin complexi scrise într-un limbaj încorporat. Prin urmare, noile funcții nu vă oferă posibilități fundamental noi. Cu toate acestea, acestea vă permit să reduceți cantitatea de cod, să faceți codul mai simplu și mai ușor de înțeles. Și, în plus, vă permit să accelerați executarea acțiunilor. Deoarece funcțiile implementate în platformă funcționează, desigur, mai repede 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, atunci când se afișează mesaje de avertizare. Sintaxa pentru această funcție este următoarea:

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

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

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

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

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

va exista o linie:

Eroare de date pe linia 2 (se solicită tipul de dată)

Funcție pentru lucrul cu șiruri StrCompare ()

Această funcție compară două șiruri într-un mod insensibil la majuscule. De exemplu, astfel:

Ați fi putut efectua aceeași acțiune înainte de a utiliza obiectul Compararea valorilor:

Cu toate acestea, utilizarea noii funcții pare mai simplă. Și pe lângă asta, o funcție, spre deosebire de un obiect Compararea valorilor, lucrează în 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 șir specificat sau se termină cu un șir specificat. Algoritmul acestor funcții nu este dificil de implementat în limbajul încorporat, dar prezența lor vă permite să scrieți cod mai curat și mai ușor de înțeles. Și lucrează mai repede.

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

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

Aceste funcții împart șirul în părți în funcție de delimitatorul specificat. Sau invers, unesc mai multe linii într-una, inserând separatorul selectat între ele. Acestea sunt convenabile pentru crearea sau analiza jurnale, jurnale tehnologice. De exemplu, puteți dezasambla cu ușurință o înregistrare a unui jurnal tehnologic în piese adecvate pentru analize suplimentare:

Funcție pentru lucrul cu șiruri StrFind ()

În loc de vechea funcție Găsi() am implementat funcție nouă, care are caracteristici suplimentare:

  • Căutați î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 (al doilea, al treilea etc.).

De fapt, duplică capacitățile vechii funcții. Acest lucru se face pentru a menține compatibilitatea cu modulele compilate în versiuni mai vechi. Funcție veche Găsi() este recomandat să nu-l mai folosiți.

Mai jos este un exemplu de utilizare a noilor funcții 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 adresa 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.

LA capabilități de bază limbajul de programare este denumit de obicei lucrul cu numerele și șirurile. 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 platformă. Astăzi vom lua în considerare caracteristicile de lucru cu șiruri 1C în programe în limbajul 1C încorporat.

Valoarea liniei 1C

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

Variabilă = "Bună ziua lume!";

Dacă trebuie să specificați un ghilimel într-o valoare de șir constantă 1C, atunci trebuie să îl dublați ""

Variabilă = "Bună ziua", "lume" "!";

2. Împachetarea liniei 1C poate fi specificată în două moduri simultan. Primul folosește simbolul |

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

Al doilea este utilizarea enumerării sistemului Symbols. Vă permite să adăugați atât pauze de linie 1C, cât și alte caractere neprimabile, cum ar fi TAB.

Variable = "Hello" + Symbols.PS + "world!";

3. Configurările î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ă în prezent 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ă atunci când programăm o astfel de configurație, liniile 1C pot fi, de asemenea, 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ă:

Variable = "ru =" "Hello, world!" "; En =" "Hello, world!" "";

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

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

Accesorii cu linie tip 1C

O recuzită este un câmp al unei referințe / documente 1C. Acesta diferă de o variabilă într-un program 1C prin faptul că tipul său (număr, șir 1C etc.) este indicat cu precizie pentru un atribut. Dacă trebuie să analizăm ce sunt recuzita, consultați lecția.

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

Șirurile 1C au o lungime nelimitată (specificată ca lungime = 0) și o lungime limitată, indicând numărul exact de caractere. Liniile 1C de lungime nelimitată sunt stocate într-un 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 director, dimensiune.

Lucrul cu șiruri 1C

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

  • SocrLP („Incredibil, dar adevărat!”)
    Se elimină din linia 1C spații suplimentare... De asemenea, poate fi folosit pentru a converti orice tip în șir 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”
    Variabilă = miercuri („Muzică”, 2, 2); // va fi „shl”
    Variabilă = Dreapta („Muzică”, 2); // va fi „ka”
    Diverse opțiuni pentru obținerea unui șir dintr-un șir 1C.
  • Variabilă = Găsire („Muzică”, „Shl”); // va fi 3
    Căutați un șir din șirul 1C, începând de la caracterul 1.
  • Variabilă = StrLength („Muzică”); // va fi 6
    Returnează numărul de caractere din linia 1C.
  • Raportați („Bună ziua”) // în fereastra de mesaje din partea de jos a ferestrei 1C
    Avertisment („Bună ziua”) // fereastră pop-up
    State („Bună ziua”) // în linia de stare 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șiere în acest format (docx și, respectiv, xlsx, modifică extensia în zip, deschideți î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 utilizarea funcției Abreviere () sau Șir (). Puteți utiliza funcția REPRESENTARE () în corpul interogării. Rezultatul acțiunii lor este același - generează o reprezentare șir a oricărui obiect 1C pentru utilizator.

Pentru o carte de referință, acesta va fi numele său 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 (Type ("ReferenceLink.Nomenclature"), ViewStringXml); // obțineți valoarea 1C din șirul XML, trebuie să specificați tipul 1C care ar trebui primit

3. Există o modalitate a platformei 1C de a converti orice obiect 1C într-un șir. El 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 facilitează utilizarea acestuia pentru schimbul între bazele 1C.

String = ValueVSStringInter (Value1C); // obține șirul 1C din valoarea 1C
ValueVFile ("C: \ MyFile.txt", Value1C); // o altă opțiune, obținem un fișier cu un șir salvat din valoarea 1C
Value1C = ValueFromStringInternal (String); // î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 în acest sens:

1. Cel mai simplu mod este de a solicita introducerea liniei 1C la cerere. Această metodă este utilizată la predarea programării 1C, în viață este folosită mult mai rar (dar aplicată!).

Variabilă = "";
Șir = EnterValue (Variabilă, "Introduceți numele dvs. complet");

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

3. Posibilitățile câmpului de intrare pot fi extinse (consultați proprietățile câmpului de intrare, faceți clic dreapta pe acesta, pentru mai multe detalii):

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

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

Un câmp de document text nu poate fi legat direct de date. Este necesar să scrieți o funcție în gestionatorul de evenimente OnOpen () al formularului (a se vedea):

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

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

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

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


Similar cu câmpul unui document text, este necesar să setați atunci când deschideți și să scrieți atunci când salvați singur textul utilizând programul.

  • În obiectul 1C, a cărui formă realizăm (carte de referință, document, procesare etc.) - adăugați un atribut cu tipul de stocare
  • În funcția ReadOnServer (), setați textul din 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
    Procedură pentru ReadingOnServer (CurrentObject)
    CurrentObject.Props = NewValueStore (FormattedDocument);
    Sfârșitul procedurii