Pronađite razmake u retku 1c 8. Nove funkcije za rad sa nizovima. Funkcije pretvaranja slučajeva

Niz je jedan od primitivnih tipova podataka u 1C: Enterprise 8. Varijable s tipom crta sadrže tekst.

Vrijednosti varijabli tipa crta su zatvoreni u dvostrukim navodnicima. Više varijabli ovog tipa može se sklopiti.

Per1 = "Riječ 1";
Per2 = "Riječ 2";
Per3 = Per1 + "" + Per2;

Naposljetku Po 3će značiti " Riječ 1 Riječ 2 ″.

Osim toga, sustavi 1C: Enterprise 8 pružaju funkcije za rad sa nizovima. Razmotrimo glavne:

Unesite niz (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funkcija ima za cilj prikazati dijaloški okvir u kojem korisnik može odrediti vrijednost varijable tipa Crta... Parametar <Строка> je obavezan i sadrži naziv varijable u koju će se unijeti unijeti niz. Parametar <Подсказка> izborni je naslov dijaloškog okvira. Parametar <Длина> izborno, označava najveću duljinu ulaznog niza. Zadana vrijednost je nula, što znači neograničena duljina. Parametar <Многострочность> izborno. Određuje način unosa za više redaka teksta: True-unos teksta u više redaka s razdjelnicima redaka; Netačno - unos jednostavnog niza.

Niz se može unijeti i dati kod znaka Unicode:

Simbol(<КодСимвола>) — kôd se unosi kao broj.

Slovo = simbol (1103); // JA SAM

Postoji i inverzna funkcija koja vam omogućuje da saznate kôd znaka.

SymbolCode (<Строка>, <НомерСимвола>) — vraća navedeni broj znakova Unicode kao broj.

Funkcije pretvaranja kućišta:

BReg (<Строка>) - pretvara sve znakove u nizu u velika slova.

HPreg (<Строка>) - pretvara sve znakove u nizu u mala slova.

Treg (<Строка>) - pretvara sve znakove u nizu u velika slova. Odnosno, prva slova u svim riječima pretvaraju se u velika, a ostala slova u mala.

Funkcije za pretraživanje i zamjenu znakova u nizu:

Pronaći(<Строка>, <ПодстрокаПоиска>) - pronalazi broj znaka pojavljivanja podniza za pretraživanje. Na primjer:

Find ("String", "Oka"); // 4

Pronaći (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - pronalazi broj znaka pojavljivanja podniza pretraživanja, broj pojavljivanja je naznačen u odgovarajućem parametru. U tom slučaju pretraživanje počinje znakom čiji je broj naveden u parametru Početni položaj. Pretraživanje je moguće s početka ili s kraja niza. Na primjer:

Broj 4 Pojave = StrFind ( "Obrambene sposobnosti", "o", Smjer pretraživanja. Od početka, 1, 4); // 7

Zamjena stranice (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - pronalazi sve pojave podniza za pretraživanje u izvornom nizu i zamjenjuje ga zamjenskim podnizom.

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

Prazna linija (<Строка>) - provjerava niz za značajne znakove. Ako nema značajnih znakova ili ih uopće nema, tada se vraća vrijednost Pravi... Inače - Laž.

StrBroj događaja (<Строка>, <ПодстрокаПоиска>) - izračunava broj pojavljivanja podniza za pretraživanje u izvornom nizu.

StrBroj događaja ( "Uči, uči i ponovo uči", "studij", ""); // 3

Predložak stranice (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — zamjenjuje parametre u nizu brojevima. Niz mora sadržavati oznake zamjene oblika: "% 1 ..% N". Oznake su numerirane počevši od 1. Ako je vrijednost parametra Nedefiniran, zamjenjuje se prazan niz.

Predložak stranice ( "Parametar 1 =% 1, parametar 2 =% 2", "1" , "2" ) ; // Parametar 1 = 1, Parametar 2 = 2

Funkcije pretvaranja nizova:

Lav(<Строка>, <ЧислоСимволов>) - prvo vraća prve znakove niza.

Desno (<Строка>, <ЧислоСимволов>) - vraća posljednje znakove niza.

Srijeda (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - vraća niz duljine<ЧислоСимволов>počevši od lika<НачальныйНомер>.

Skraćenica (<Строка>) skraćuje beznačajne znakove lijevo od prvog značajnog znaka u nizu.

Skraćenica (<Строка>) - odsijeca beznačajne znakove desno od posljednjeg značajnog znaka u nizu.

SocrLP (<Строка>) - odsiječe beznačajne znakove lijevo od prvog značajnog znaka u retku i desno od posljednjeg značajnog znaka u retku.

StrGetString (<Строка>, <НомерСтроки>) - dobiva niz višerednog niza po broju.

Ostale funkcije:

StrLength (<Строка>) - vraća broj znakova u nizu.

StrBroj redova (<Строка>) - vraća broj redaka u višerednom nizu. Red se smatra novim ako je odvojen od prethodnog retka znakom novog retka.

Usporedi (<Строка1>, <Строка2> ) - uspoređuje dva niza, velika i mala slova. Funkcija radi na isti način kao i objekt Usporedba vrijednosti... Povrat:

  • 1 - ako je prvi redak veći od drugog
  • -1 - ako je drugi redak veći od prvog
  • 0 - ako su nizovi jednaki

StrCompare ("Prva linija", "Druga linija"); // 1

Implementirano u verziji 8.3.6.1977.

Proširili smo skup funkcija za rad sa nizovima. To smo učinili kako bismo vam dali naprednije alate za raščlanjivanje podataka niza. Nove funkcije bit će prikladne i korisne u tehnološkim zadacima analize teksta. U zadacima vezanim za raščlanjivanje teksta koji sadrži oblikovane podatke. To može biti analiza nekih datoteka primljenih s opreme ili, na primjer, analiza tehnološkog dnevnika.

Sve radnje koje obavljaju nove funkcije mogle ste izvršiti i prije. Uz pomoć manje ili više složenih algoritama napisanih na ugrađenom jeziku. Stoga vam nove funkcije ne daju nikakve temeljno nove mogućnosti. Međutim, omogućuju vam smanjenje količine koda, čine ga jednostavnijim i razumljivijim. Osim toga, omogućuju vam ubrzanje izvršavanja radnji. Budući da su funkcije implementirane u platformi, naravno, brže od sličnog algoritma napisanog na ugrađenom jeziku.

Funkcija oblikovanja PpTemplate ()

Ova funkcija zamjenjuje parametre u niz. Potreba za takvom pretvorbom često se javlja, na primjer, pri prikazivanju poruka upozorenja. Sintaksa ove funkcije je sljedeća:

Predložak stranice (<Шаблон>, <Значение1-Значение10>)

<Шаблон>je niz koji zamjenjuje reprezentacije parametara.

<Значение1> , ... <Значение10>- to su parametri (maksimalno - deset) čiji se prikazi moraju zamijeniti nizom.

Da biste naznačili određeno mjesto u predlošku na kojem želite izvršiti zamjenu, morate koristiti tokene oblika% 1, ...% 10. Broj oznaka korištenih u predlošku i broj parametara koji sadrže vrijednosti moraju biti isti.

Na primjer, rezultat izvršavanja takve izjave:

bit će redak:

Pogreška podataka u retku 2 (potrebna je vrsta datuma)

Funkcija za rad sa nizovima StrCompare ()

Ova funkcija uspoređuje dva niza na mala i velika slova. Na primjer, ovako:

Istu ste radnju mogli izvršiti ranije pomoću objekta ValueComparison:

Međutim, korištenje nove funkcije izgleda jednostavnije. Osim toga, funkcija, za razliku od objekta Usporedba vrijednosti, također radi u tanak klijent, i u web klijentu.

Funkcije za rad sa nizovima RowStart With (), RREnd With ()

Ove funkcije određuju počinje li niz s navedenim podnizom ili završava s određenim podnizom. Algoritam ovih funkcija nije teško implementirati na ugrađenom jeziku, ali njihova prisutnost omogućuje vam pisanje čistijeg i razumljivijeg koda. I brže rade.

Na primjer, prikladno ih je koristiti u If:

Funkcije za rad sa nizovima StrSplit (), StrConnect ()

Ove funkcije dijele niz na dijelove prema navedenom razdjelniku. Ili obrnuto, spajaju nekoliko redaka u jedan, ubacujući između njih odabrani razdjelnik. Pogodni su za izradu ili analizu dnevnika, tehnoloških dnevnika. Na primjer, zapis tehnološkog dnevnika možete jednostavno rastaviti na dijelove prikladne za daljnju analizu:

Funkcija za rad sa nizovima StrFind ()

Umjesto stare funkcije Find (), implementirali smo nova funkcija, koji ima dodatne značajke:

  • Pretražujte u različitim smjerovima (od početka, od kraja);
  • Pretražujte s određene pozicije;
  • Potražite pojavu s navedenim brojem (drugi, treći itd.).

Zapravo, on duplicira mogućnosti stare funkcije. To se radi kako bi se održala kompatibilnost s modulima sastavljenim u starijim verzijama. Preporučuje se da više ne koristite staru funkciju Find ().

Ispod je primjer korištenja novih mogućnosti pretraživanja. Pretraživanje unatrag korisno je kada vam je potreban zadnji dio formaliziranog niza, na primjer puno ime datoteka u url. A pretraživanje s određene pozicije pomaže u slučajevima kada trebate tražiti u poznatom fragmentu, a ne u cijelom nizu.

Vrsta "String" nalazi se u svim programskim jezicima. Primitivan je, a u 1C -u postoji mnogo funkcija za rad s njim. U ovom ćemo članku detaljnije pogledati različiti putevi rad s vrstama nizova u 1C 8.3 i 8.2 na primjerima.

Crta

Kako bi se varijabla bilo koje vrste pretvorila u niz, postoji funkcija istog naziva "String ()". Ulazni parametar bit će sama varijabla čiji se niz nizova treba dobiti.

String (False) // vraća "Ne"
String (12345) // vraća "12 345"
Niz (CurrentDate ()) // 21.7.2017. 11:55:36 ″

Moguće je pretvoriti ne samo primitivne vrste u niz, već i druge, na primjer, elemente priručnika, dokumente.

SocrLP, SocrL, SocrP

Ulazni parametri ovih funkcija varijabla su nizova. Funkcije uklanjaju beznačajne znakove (razmake, vraćanje nosača itd.): S lijeve i desne strane, samo s lijeve strane, odnosno samo s desne strane.

AbbrLP ("Razmaci s obje strane bit će uklonjeni") // "Razmaci s obje strane bit će uklonjeni"
Skraćeno ("Razmaci s obje strane bit će uklonjeni") // "Razmaci s lijeve strane bit će uklonjeni"
Kratica ("Razmaci s obje strane bit će uklonjeni") // "Razmaci s desne strane bit će uklonjeni"

Leo, točno, srijeda

Ove vam funkcije omogućuju obrezivanje dijela žice. Funkcija "Lion ()" vratit će dio niza s njegove lijeve strane navedene duljine. Funkcija "Desno ()" je ista, ali obrezivanje se vrši s desne strane. Funkcija "Med ()" omogućuje vam da odredite broj znaka iz kojeg će se niz odabrati i njegovu duljinu.

Lion ("Varijabla niza", 4) // vraća "Stro"
Desno ("Varijabla niza", 7) // vraća "varijablu"
Sri ("String varijabla", 2, 5) // vraća "troco"

Dužina str

Funkcija određuje broj znakova koji su sadržani u varijabli niza.

StrLength ("Word") // rezultat izvršenja bit će broj 5

Pronaći

Ova funkcija omogućuje traženje dijela niza u bilo kojoj varijabli niza. Povratna vrijednost bit će broj koji prikazuje položaj početka pronađenog niza. Ako nema podudaranja, vraća se nula.

Napominjemo da su pretraživanja osjetljiva na velika i mala slova. Ako izvorni niz sadrži više od jednog pojavljivanja podniza za pretraživanje, funkcija će vratiti početak prvog pojavljivanja.

Find ("jedan, dva, jedan, dva, tri", "dva") // funkcija će vratiti broj 6

Prazna linija

Korištenje ove funkcije omogućuje vam da utvrdite je li niz prazan. Zanemaruju se beznačajni znakovi poput razmaka, povratka nosača i drugih.

EmptyString ("Pupkin Vasily Ivanovich") // funkcija će vratiti vrijednost False
EmptyString ("") // funkcija će vratiti True

VReg, NReg, Treg

Ove su funkcije vrlo korisne za usporedbu i pretvaranje varijabli niza. "Breg ()" vratit će izvorni niz velikim slovima, "HPreg ()" malim slovima, a "TReg ()" će ga oblikovati tako da prvi znak svake pojedinačne riječi bude s veliko slovo, a svi sljedeći s malim.

Vreg ("GENERAL DIRECTOR") // povratna vrijednost - "GENERAL DIRECTOR"
NReg ("OPĆI DIREKTOR") // povratna vrijednost - "generalni direktor"
TREG ("OPĆI DIREKTOR") // povratna vrijednost - "Glavni direktor"

PageReplace

Ova je funkcija analogna zamjeni u uređivači teksta... Omogućuje vam zamjenu jednog znaka ili skupa znakova drugim u nizovima varijabli.

StrReplace ("crveno, bijelo, žuto", ",", ";") // vratit će "crveno; Bijela; žuta boja"

StrNumberStrings

Ova funkcija vam omogućuje da odredite broj redaka odvojenih povratima u tekstualnoj varijabli.

Petlja u donjem primjeru proći će kroz tri kruga jer će funkcija RowNumber vratiti 3:

Za ind = 1 po StrNumber of Lines ("String1" + Symbols.PS + "String2" + Symbols.PS + "String3") Petlja
<тело цикла>
Kraj ciklusa;

StrGetString

Ova funkcija radi s višelinijskim tekstom na isti način kao i prethodna. Omogućuje vam da dobijete određeni niz iz tekstualne varijable.

StrGetString ("String1" + Simboli.PS + "Niz2" + Simboli.PS + "Niz3", 2) // vratit će "String2"

StrBroj pojava

Funkcija broji broj pojavljivanja znaka ili podniz u nizu za pretraživanje.

StrNumber of Attachments ("a; b; c; d;", ​​";") // funkcija će vratiti broj 4

Simbol i kod simbola

Ove vam funkcije omogućuju dobivanje znaka prema Unicode kodu, kao i određivanje ovog koda prema samom znaku.

SymbolCode ("A") // funkcija će vratiti broj 1 040
SymbolCode (1040) // funkcija će vratiti "A"

Česti zadaci pri radu sa nizovima

Spojne žice

Za spajanje više nizova (za izvršavanje spajanja) dovoljno je koristiti operator zbrajanja.

"Red 1 ″ +" Red 2 ″ // rezultat dodavanja dva retka bit će "Red 1 Red 2"

Pretvorba vrsta

Za pretvaranje vrste u niz, na primjer, referencu na stavku iz rječnika, broj itd., Dovoljno je koristiti funkciju "String ()". Funkcije poput "Skraćenica ()" također će pretvoriti varijable u niz, ali odmah sa skraćivanjem beznačajnih znakova.

String (1000) // vratit će "1000"

Imajte na umu da je program prilikom pretvaranja broja u niz automatski dodao razmak koji razdvaja tisuću. Da biste to izbjegli, možete koristiti sljedeće konstrukcije:

StrReplace (String (1000), Characters.NPP, "") // vratit će "1000"

String (Format (1000, "CHG =")) // vratit će "1000"

Navodi u nizu

Vrlo često ćete se morati nositi s potrebom navođenja navodnika u string varijabli. To može biti ili tekst zahtjeva napisan u konfiguratoru, ili samo varijabla. Da biste riješili ovaj problem, samo trebate postaviti dva navodnika.

Naslov = String ("LLC" Rogovi i kopita "" - to smo mi! ") // vraća" LLC "Rogovi i kopita" - to smo mi! "

Više redaka, prijelom retka

Da biste stvorili više redak teksta, dovoljno je da mu dodate znakove prijeloma retka (Symbols.PS).

MultilineText = "Prvi red" + Simboli.PS + "Drugi red"

Kako ukloniti razmake

Da biste uklonili razmake desno ili lijevo, možete koristiti funkciju "Skraćenica ()" (kao i "Skraćenica ()" i "Skraćenica ()"):

StringNoSpaces = SkraćenoLP ("Mnogo slova") // funkcija će vratiti vrijednost "Mnogo slova"

Ako nakon pretvaranja broja u niz trebate ukloniti neprekinute razmake, upotrijebite sljedeću konstrukciju:

StringNoSpaces = StrReplace (String (99999), Characters.NPP, "") // vratit će "99999"

Također, programeri često koriste sljedeću konstrukciju koja vam omogućuje uklanjanje ili zamjenu svih razmaka tekstualne varijable drugim znakom:

StringNoSpaces = StrReplace ("dobrodošli", "", "") // vraća "zdravo"

Usporedba žica međusobno

Pojmovi se mogu usporediti s uobičajenim predznakom jednakosti. Usporedba razlikuje velika i mala slova.

"Hello" = "hello" // vratit će False
"Hello" = "Hello" // vratit će True
"Hello" = "Zbogom" // vratit će se False

DO osnovne sposobnosti programski jezik obično se naziva rad s brojevima i nizovima. Obično se te značajke tvrdo kodiraju u kod prevoditelja (ili se implementiraju "osnovne" klase programskog jezika).

U 1C -u sposobnost rada sa nizovima programirana je u samoj platformi. Danas ćemo razmotriti značajke rada s 1C nizovima u programima na ugrađenom 1C jeziku.

Vrijednost retka 1C

1. Počnimo s najjednostavnijim. Stvaranje varijable i dodjeljivanje konstantne vrijednosti niza izgleda ovako u 1C:

Variable = "Zdravo svijete!";

Ako trebate navesti navodnik u konstantnoj vrijednosti niza 1C, morate ga udvostručiti ""

Variable = "Zdravo," "svijet" "!";

2. Omotavanje linija 1C može se navesti na dva načina odjednom. Prvi koristi simbol |

Variable = "Pozdrav,
| mir! ";

Drugi je korištenje popisivanja sustava Symbols. Omogućuje vam dodavanje 1C prijeloma retka i drugih znakova koji se ne mogu ispisati, poput TAB-a.

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

3. Konfiguracije u 1C mogu se razvijati ne samo za jedan jezik (ruski, engleski ili drugi) - već istovremeno za više jezika. U tom slučaju, jezik koji se trenutno koristi odabire se pri dnu prozora 1C.

Popis jezika nalazi se u konfiguracijskom prozoru u grani Općenito / Jezici. Svaki jezik ima kratki identifikator, npr ru ili eng.

Jasno je da pri programiranju takve konfiguracije 1C nizovi mogu biti i višejezični. Da biste to učinili, moguće je stvoriti takvu liniju 1C navođenjem kroz; opcije prema identifikatoru jezika:

Variable = "ru =" "Zdravo, svijete!" "; En =" "Zdravo, svijete!" "";

Ako koristite ovako formirani niz 1C kao i obično, to će biti ono što je napisano u njemu. Da bi sustav podijelio u dvije opcije i koristio željenu, morate koristiti funkciju HStr ():

// ispravno za dvojezične konfiguracije
Izvješće (NStr (varijabla));

Rekviziti s linijom tipa 1C

Rekviziti su polje 1C reference / dokumenta. Razlikuje se od varijable u programu 1C po tome što je njezin tip (broj, niz 1C itd.) Točno naznačen za rekvizite. Ako trebate pojasniti što su rekviziti, pogledajte lekciju o tome.

Ako navedete vrstu atributa - redak 1C, tada morate dodatno navesti parametre.

1C nizovi su neograničene duljine (navedene kao dužina = 0) i ograničene duljine, što ukazuje na točan broj znakova. 1C linije neograničene duljine pohranjene su u zasebnom SQL tablica stoga je njihova uporaba manje produktivna nego ograničena.

Zato uporaba 1C nizova neograničene duljine ima svoja ograničenja - nije ih moguće koristiti svugdje. Na primjer, ne može se koristiti kao broj dokumenta, kôd direktorija, dimenzija.

Rad s 1C žicama

Postoji nekoliko ugrađenih funkcija 1C platforme za rad sa nizovima.

  • SocrLP ("Nevjerojatno, ali istinito!")
    Uklanja se iz retka 1C dodatni prostori... Također se može koristiti za pretvaranje bilo koje vrste u niz 1C (na primjer, brojeve).
  • Varijabla = "Vasya" + SokrLP ("plus") + "Olya"; // bit će "Vasya plus Olya"
    Primjer zbrajanja nekoliko vrijednosti niza 1C. Rezultat će biti jedan redak od 1C.
  • Varijabla = Lav ("Glazba", 2); // bit će "Mu"
    Varijabla = srijeda ("Glazba", 2, 2); // bit će "shl"
    Varijabla = Desno ("Glazba", 2); // bit će "ka"
    Razne mogućnosti za dobivanje podniz iz niza 1C.
  • Varijabla = Nađi ("Glazba", "Shl"); // bit će 3
    Potražite podniz u nizu 1C, počevši od znaka 1.
  • Varijabla = StrLength ("Glazba"); // bit će 6
    Vraća broj znakova u retku 1C.
  • Izvješće ("Pozdrav") // u prozoru za poruku pri dnu prozora 1C
    Upozorenje ("Hello") // skočni dijalog
    Stanje ("Zdravo") // u statusnoj liniji dolje lijevo
    .

Lijevanje objekata u redak 1C

Kao što znate, trenutno je najpopularniji format za razmjenu strukturiranih informacija XML. Čak Najnovija verzija MS Office Word i Excel spremaju datoteke u ovom formatu (docx i xlsx, respektivno, promijenite proširenje u zip, otvorite u arhivatoru).

1C platforma za razmjenu podataka nudi nekoliko mogućnosti, od kojih je glavna također XML.

1. Najjednostavnija metoda je korištenje funkcije Abbreviation () ili String (). Možete koristiti funkciju REPRESENTATION () u tijelu upita. Rezultat njihove radnje je isti - oni generiraju nizovski prikaz bilo kojeg 1C objekta za korisnika.

Za referentnu knjigu to će prema zadanim postavkama biti njegovo ime. Za dokument - naziv dokumenta, broj i datum.

2. Svaki 1C objekt (s ograničenjima) može se pretvoriti u XML i obrnuto. Proces pretvorbe naziva se serijalizacija.

ViewStringXml = XMLString (vrijednost); // dobivamo XML iz 1C vrijednosti
Value1C = XMLValue (Vrsta ("ReferenceLink.Nomenklatura"), ViewStringXml); // dobivamo vrijednost 1C iz XML niza, morate navesti vrstu 1C koju treba primiti

3. Postoji način 1C platforme pretvoriti bilo koji 1C objekt u niz. Migrirao je s verzije 1C 7.7. Drugi programi ne razumiju ovaj format, ali ga razumije drugi 1C, što ga čini lakim za razmjenu između 1C baza.

String = ValueVSStringInter (Value1C); // dobijemo redak 1C od vrijednosti 1C
ValueVFile ("C: \ MyFile.txt", Value1C); // druga mogućnost, dobivamo datoteku sa spremljenim nizom iz vrijednosti 1C
Value1C = ValueFromStringInternal (String); // povratak s retka 1C
Value1C = ValueOfFile ("C: \ MyFile.txt"); // povratak iz datoteke

Uređivanje 1C redaka na obrascu

Osim rada s 1C nizovima u 1C programu, naravno, želio bih da ih korisnik može uređivati. Za to postoji nekoliko mogućnosti:

1. Najlakši način je zatražiti unos 1C linije na zahtjev. Ova se metoda koristi pri poučavanju 1C programiranja, u životu se koristi mnogo rjeđe (ali primijenjeno!).

Varijabla = "";
String = EnterValue (Varijabla, "Unesite svoje puno ime");

2. Za prikaz atributa 1C objekta (referentna knjiga / dokument) ili atributa obrasca (vidi), najčešće se koristi polje za unos. Ovo je najčešći alat u 1C za rad korisnika s poljima za uređivanje.

3. Mogućnosti polja za unos se mogu proširiti (pogledajte svojstva polja za unos, desnom tipkom miša kliknite na njega, za više pojedinosti):

  • Kvačica Način uređivanja u više redaka
  • Potvrdni okvir Napredno uređivanje (dostupno ako je potvrđen prethodni potvrdni okvir)
  • Potvrdni okvir Način lozinke (vidi).

4. Ako vam sve mogućnosti polja za unos nisu dovoljne, postoji ugrađeni uređivač. Da biste ga dodali u obrazac, morate dodati polje u izbornik Kontrola obrasca / Umetanje. tekstualni dokument... U svojim svojstvima možete odrediti način njegova rada - svojstvo Extension.

Polje tekstualnog dokumenta ne može se izravno povezati s podacima. Potrebno je napisati funkciju u rukovatelju događaja OnOpening () oblika (vidi):

FormElements.ElementNameTextDocumentField.SetText (ValueString); // ovdje ValueString je tekst dobiven, na primjer, iz rekvizita

A u rukovatelju spremanja - na primjer, u gumb Spremi - dodajte spremanje:

ValueString = FormElements.ElementNameTextDocumentField.GetText (); // Vrijednost Ovdje je niz rekvizita u koje pohranjujemo vrijednost

5. U 1C verziji 8.2.11, u upravljani oblici pojavio nova prilika linijski prikaz 1C - Formatirano polje dokumenta.


Slično polju tekstualnog dokumenta, morate ga postaviti pri otvaranju i pisati kada sami spremate tekst pomoću programa.

  • U objekt 1C, čiji oblik izrađujemo (priručnik, dokument, obrada itd.) - dodajte atribut s tipom StorageValues
  • U funkciji ReadOnServer () postavite tekst iz rekvizita

    // ovdje Rekviziti su dodano svojstvo 1C objekta
    // ovdje FormattedDocument je naziv polja na obrascu za uređivanje
    & Na poslužitelju

    FormattedDocument = CurrentObject.Props.Get ();
    Kraj postupka

  • U funkciji BeforeWriteOnServer () ili pomoću gumba upišite tekst iz polja

    & Na poslužitelju
    Postupak za ReadingOnServer (CurrentObject)
    CurrentObject.Props = NewValueStore (FormattedDocument);
    Kraj postupka