Contacte

1c Funcții pentru lucrul cu rânduri. Noi caracteristici care lucrează cu rânduri. Cum să eliminați lacunele

Implementat în versiunea 8.3.6.1977.

Am extins un set de funcții concepute pentru a lucra cu rânduri. Am făcut-o pentru a vă oferi instrumente mai avansate pentru parsarea datelor de șir. Noi caracteristici vor fi convenabile și utile în sarcinile tehnologice pentru analizarea textului. În sarcinile asociate analizei text, care conține date într-o formă formatată. Aceasta poate fi analiza unor fișiere primite de la echipament sau, de exemplu, o analiză a jurnalului tehnologic.

Toate acțiunile care efectuează noi caracteristici pe care le puteți efectua înainte. Cu mai mult sau mai puțin algoritm complexscrise în limba încorporată. Prin urmare, noile caracteristici nu vă oferă câteva oportunități fundamentale noi. Cu toate acestea, vă permit să reduceți numărul de cod, să faceți codul mai ușor și de înțeles. Și, în plus, vă permit să accelerați implementarea acțiunilor. Deoarece caracteristicile implementate în platforma funcționează, desigur, mai repede decât un algoritm similar scris în limba încorporată.

Funcția de formatare a starului ()

Această caracteristică înlocuiește parametrii din șir. Necesitatea unei astfel de transformări apare adesea, de exemplu, atunci când afișează mesaje de avertizare. Sintaxa acestei caracteristici este după cum urmează:

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

<Шаблон> - Acesta este un șir în care doriți să înlocuiți reprezentarea parametrilor.

<Значение1> , ... <Значение10> - Aceștia sunt parametrii (maximizați zece), care trebuie înlocuiți în șir.

Pentru a specifica un loc specific în șablonul în care trebuie să se efectueze substituția, trebuie să utilizați marcatorii de vizualizare% 1, ...% 10. Numărul de markeri implicați în șablon și numărul de parametri care conțin valori trebuie să se potrivească.

De exemplu, rezultatul executării unui astfel de operator:

va fi un șir:

Eroare în datele din linia 2 (tipul necesar)

Funcția de lucru cu șiruri de string ()

Această caracteristică compară două linii fără înregistrare. De exemplu, deci:

Aceeași acțiune pe care ați putea-o realiza înainte de a utiliza obiectul comparanului:

Cu toate acestea, utilizarea unei noi funcții pare mai simplă. Și în afară de aceasta, funcția, în contrast cu obiectul comparanezei, funcționează în client fin și în clientul web.

Funcțiile de lucru cu rânduri sunt rutare (), stronckant ()

Aceste funcții sunt determinate dacă șirul începe cu substringul specificat, dacă șirul substratului specificat se termină. Algoritmul acestor funcții este ușor de implementat în limba încorporată, dar prezența lor vă permite să scrieți un cod mai curat și înțeles. Și lucrează mai repede.

De exemplu, este convenabil să le utilizați în instrucțiune dacă:

Funcții de lucru cu șiruri de caractere (), plug ()

Aceste funcții separă șirul de pe partea în funcție de separatorul specificat. Sau, dimpotrivă, conectați mai multe rânduri într-una, inserarea separatorului selectat între ele. Acestea sunt convenabile de a crea sau analiza jurnalele, revista tehnologică. De exemplu, înregistrarea unui jurnal tehnologic pe care îl puteți dezasambla cu ușurință pe părți adecvate pentru analiza ulterioară:

Funcția de lucru cu Stront String ()

În loc de cea veche funcție, găsiți () am implementat optiune nouacare are caracteristici suplimentare:

  • Căutați în direcții diferite (de la început, de la sfârșit);
  • Căutați din poziția specificată;
  • Căutați înregistrarea cu numărul specificat (al doilea, al treilea etc.).

De fapt, duplică capacitățile vechiului funcției. Deci, pentru a menține compatibilitatea cu modulele compilate în versiunile mai vechi. O funcție veche de găsit () este recomandată nu mai utilizează.

Mai jos este un exemplu utilizând noi capabilități de căutare. Căutarea în direcția opusă este convenabilă atunci când aveți nevoie de ultimul fragment al șirului formalizat, de exemplu, numele complet al fișierului în adresa URL. Și căutarea din poziția specificată ajută la cazurile în care aveți nevoie pentru a căuta într-un fragment bine-cunoscut și nu pe tot parcursul rândului.

Linii în 1c 8.3 în limba încorporată 1C sunt valori de tip primitiv Linia. Valori acest tip Conține un șir în format Unicode de lungime arbitrară. Variabilele de șir sunt un set de caractere închise în citate.

Exemplul 1. Creați o variabilă de șir cu text.

Row-Free \u003d "Bună ziua World!";

Funcții de lucru cu linii în 1c 8.3

Această secțiune va conține funcții de bază care vă permit să schimbați liniile în 1c sau să analizați informațiile conținute în ele.

Strotina.

STRDLIN (<Строка>) . Returnează numărul de caractere conținute în șirul transmis în parametru.

Exemplul 2. Calculați numărul de caractere din șirul "Hello World!".

Rând \u003d "Bună ziua în lume!"; Martensums \u003d Sondin (șir); Raport (citație);

Rezultatul executării acestui cod va afișa numărul de caractere ale șirului: 11.

Sokrel.

Sokrel (<Строка>) . Se taie din caractere nesemnificative în partea stângă a primului simbol de semnificație din rând.
Simboluri neinformate:

  • spaţiu;
  • spațiu fără scutire;
  • tabulare;
  • Întoarcerea transportului;
  • traducere de linie;
  • traducere de formular (pagini).

Exemplul 3. Îndepărtați toate spațiile din partea stângă a liniei "Lumea!" Și atașați-o la linia "Bună ziua".

Linia \u003d sokrel ("pace!"); Rând \u003d "salut" + linie; Raport (șir);

Rezultatul executării acestui cod va fi emis pe ecranul "Bună Mir!".

Socrp.

Copp (<Строка>) . Tăiați din caractere nesemnificative în partea dreaptă a primului simbol de semnificație din rând.

Exemplul 4. Pentru a forma din rândul "Hi" și "Pace!" Expresie "Bună ziua!"

Row \u003d Cropp ("Hi") + "" + Sokrel ("pace!"); Raport (șir);

Sokrlp.

Sokrlp (<Строка>) . Tăiește de caractere nesemnificative în partea dreaptă a primului simbol de semnificație din rând, se taie, de asemenea, din caractere nesemnificative la stânga primului caracter semnificativ din rând. Această caracteristică Este folosit mai des decât cele două, deoarece este mai universală.

Exemplul 5. Îndepărtați caracterele nesemnificative care stau în stânga și la dreapta în numele contrapartidei.

Contrapartidă \u003d referințe. Protects. Enti-mișcare ("Inn", "0777121211"); Contrapartidă \u003d contrapartidă. Obiect de preparat (); Contrapartidă. Nume \u003d Coolp (contrapartidă. Nume); Contrapartidă. Pentru a recruta ();

un leu

Un leu(<Строка>, <ЧислоСимволов>) . Obține primele caractere șir, numărul de caractere este indicat în parametru Slovesmiths.

Exemplul 6. Lăsați în structură Angajat Conține numele, prenumele și numele intermediar al angajatului. Obțineți un șir cu numele și inițialele.

Date inițiale \u003d leu (angajat. Adică, 1); Inițialitate \u003d leu (angajat. Delicatesa, 1); Îndepliniți \u003d angajat.familia + "" + inițial și "." " + Inițialitate + "";

Dreapta

Drepturi (<Строка>, <ЧислоСимволов>) . Primește cele mai recente simboluri de șir, numărul de caractere este indicat în parametru Slovesmiths. Dacă numărul specificat de caractere depășește lungimea liniei, atunci întregul șir este returnat.

Exemplul 7. Lăsați data în formatul "GGHHMDD" la sfârșitul variabilei de șir, pentru a obține o linie cu data și a le converti la tip Data.

Șir \u003d " Data curentă.: 20170910 "; stricată \u003d drepturi (șir, 8); data \u003d data (StrFewar);

Mass-media

Medii (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) . Devine un substring din rândul transmis în parametru Liniaîncepând cu numărul de caractere care este specificat în parametru Lansare și lungimea transmisă la parametru Slovesmiths.Numerotarea caracterelor în șir începe cu 1. Dacă în parametru Lansare Valoarea este mai mică sau egală cu zero, parametrul ia valoarea 1. Dacă parametrul Nizalimvol. Nu este specificat, atunci simbolurile sunt selectate până la sfârșitul liniei.

Exemplul 8. Să presupunem că, în variabila de șir, pornind de la poziția a nouă, conține codul regiunii, trebuie să-l obțineți și să îl scrieți într-un șir separat.

Linia \u003d "Regiunea: 99 Moscova"; Regiune \u003d Media (șir, 9, 2);

STRNET.

STRNET.<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) . Căutări pentru substringul specificat în șir, returnează numărul de poziție al primului personaj găsit Substring găsit. Luați în considerare parametrii acestei caracteristici:

  • Linia. Linia sursă;
  • Substream. Substring dorit;
  • Direcţie. Specifică direcția de a căuta substringul în rând. Pot lua valori:
    • Direcţie;
    • Direcţie;
  • Stagnare. Specifică poziția în șirul de la care începe căutarea;
  • Părere. Indică numărul de intrare al substringului dorit în linia sursă.

Exemplul 9. În linia "Bună ziua Lumea!" Determinați poziția ultimei introducere a simbolului "și".

Drize \u003d strnet ("salut mir!", "Și", direcție de la .Conssion); Raport (alimentator);

Rezultatul executării acestui cod va fi emis la numărul de ecran al ultimei introducere a simbolului "și": 9.

Ușoară

VREGA (<Строка>) . Convertește toate caracterele șirului specificat în 1C 8 în registrul de sus.

Exemplul 10. Transformați linia "Hello Mir!" În registrul de sus.

Gamad \u003d LAG ("Bună ziua!"); Raport (canal);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Hello Peace!"

Nreg.

NREGA (<Строка>) . Convertește toate caracterele șirului specificat în 1c 8 la registrul inferior.

Exemplul 11. Transformați un șir "Hello Mir!" la registrul inferior.

Strochanneg \u003d Nreg ("Bună ziua pipi!"); Raport (canal);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Hello Peace!"

Treg.

Trega (<Строка>) . Convertește un șir după cum urmează: Primul simbol al fiecărui cuvânt este tradus în majuscule, cuvintele rămase ale cuvântului sunt traduse în registrul inferior.

Exemplul 12. Faceți capetele primelor litere de cuvinte din linia "Bună ziua în lume!".

STINKATEG \u003d TREG ("HELLO PEACE!"); Raport (Stinkateg);

Rezultatul executării acestui cod va fi emis pe ecranul liniei "Bună ziua Lumea!"

Simbol

Simbol(<КодСимвола>) . Primește un simbol pe codul său în codarea Unicod.

Exemplul 13. Adăugați la stânga și spre dreapta la linia "Bună ziua!" Simbol ★.

String Pasaje \u003d Simbol ("9733") + "Bună ziua World!" + Simbol ("9733"); Raport (pasaje de șir);

Rezultatul executării acestui cod va fi afișat pe ecranul șirului "★ HI PEACE! ★"

Kodsimvol.

Codeimvol (<Строка>, <НомерСимвола>) . Obține un cod de simbol în UniCode Codificarea de la un șir de unghi specificat în primul parametru situat în poziția specificată în cel de-al doilea parametru.

Exemplul 14. Aflați codul ultimului simbol din linia "Hi World!".

Rând \u003d "Bună ziua în lume!"; CodeImpol \u003d CodeImpol (șir, Ștergere (șir)); Raport (CodeImpol);

Rezultatul executării acestui cod va fi emis la codul de simbol "!" - 33.

Linia goală

Linia goală (<Строка>) . Verifică dacă șirul este numai de la personaje nesemnificative, adică dacă este gol.

Exemplul 15. Verificați dacă șirul gol este alcătuit din trei spații.

Goală \u003d mutată (""); Raport (gol);

Rezultatul executării acestui cod va fi emis pe ecranul "Da" (expresia șirului de valoare logică Adevărat).

Strună

Strună (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) . Se găsește în linia originală toate intrările de substring de căutare și îl înlocuiește cu substituția de substituție.

Exemplul 16. În linia "Bună ziua Lumea!" Înlocuiți cuvântul "lume" pe cuvântul "prieteni".

Row \u003d Rust ("Hello Mir!", "MIR", "Prieteni"); Raport (șir);

Rezultatul executării acestui cod va fi transmis pe ecranul "Bună prieteni!"

Strostroke.ro

Strokelost (<Строка>) . Vă permite să calculați numărul de rânduri dintr-un șir multi-linie. Pentru tranziția la Șir nou 1c 8 utilizează un simbol PS. (simbolul de traducere șir).

Exemplul 17. Determinați numărul de rânduri din text:
"Prima linie
Al doilea șir
A treia linie »

Numărul \u003d coșul Subut (primul rând "+ simboluri. PC +" A doua linie "+ caractere. PC +" al treilea șir "); Raport (număr);

Rezultatul executării acestui cod va fi emis la numărul de rânduri din text: 3

Plugulastrik.

Plotchikstka (<Строка>, <НомерСтроки>) . Primește un șir într-un șir multi-linie după numărul său. Numărul de numere a rândului începe cu 1.

Exemplul 18. Obțineți ultimul șir în text:
"Prima linie
Al doilea șir
A treia linie »

Text \u003d "Prima linie" + caractere. PC + "A doua linie" + caractere. FS + "al treilea rând"; Lastastargh \u003d Plisproktriktkkkkk (text, stroking (text)); Raport (ultima dată);

Rezultatul executării acestui cod va fi emis la ecranul liniei "al treilea rând".

Strirling.

Strirling (<Строка>, <ПодстрокаПоиска>) . Returnează numărul de intrări ale substringului specificat în șir. Funcția este sensibilă la registru.

Exemplul 19. Determinați de câte ori intră în șirul din 1c 8.3 și 8.2. Scrisoarea "C", indiferent de registrul său.

Rând \u003d "rânduri în 1c 8.3 și 8.2"; Numere \u003d etichetă (Lag (șir), "C"); Raport (cifre);

Rezultatul executării acestui cod va emite numărul de intrări: 2.

Programată

Rone (<Строка>, <СтрокаПоиска>) . Verifică dacă șirul a trecut în primul parametru, de la rândul din al doilea parametru.

Exemplul 20. Determinați dacă hanul omologului selectat este pornit cu numărul 1. Lăsați în variabila Contrapartidă Contrapartide.

Inn \u003d contrapartită.inn; Începe împreună \u003d rriniat (Inn, "1"); Dacă începe la atunci // sa încheiat codul;

Strazanacivna.

(<Строка>, <СтрокаПоиска>) . Verifică dacă șirul sa încheiat în primul parametru, pe linia din al doilea parametru.

Exemplul 21. Determinați dacă hanul omologului selectat se termină cu figura 2. Lăsați în variabila Contrapartidălink stocat la elementul director Contrapartide.

Inn \u003d contrapartită.inn; Supapele Sfarete \u003d Strasting (Inn, "2"); Dacă îl terminați atunci // codul dvs. sa încheiat;

Curea

Încordare<Строка>, <Разделитель>, <ВключатьПустые>) . Puneți șirul de pe partea în funcție de simbolurile separator specificate și înregistrează corzile rezultate într-o matrice. În primul parametru, linia sursă este stocată, în a doua linie care conține separatorul, în a treia este indicat dacă să înregistreze linii goale la matrice (în mod implicit Adevărat).

Exemplul 22. Să avem un șir care conține numerele separate de simbolul "", să obțină o serie de numere din șir.

Rând \u003d "1; 2; 3"; Array \u003d curea (șir, ";"); Pentru SCH \u003d 0 printr-o matrice. Număr () - 1 încercare de ciclu [SCH] \u003d Număr (Crolp (Array [SCH])); Excepție matrice [SCH] \u003d 0; Endrequency endropset;

Ca rezultat al executării, se va obține o matrice cu numere de la 1 la 3.

Accident vascular cerebral

Stroen.<Строки>, <Разделитель>) . Convertește o serie de rânduri de la primul parametru la șirul care conține toate elementele matricei prin separatorul specificat în al doilea parametru.

Exemplul 23. Folosind o serie de numere din exemplul anterior, pentru a obține șirul original.

Pentru SCH \u003d 0 printr-o matrice. Număr () - 1 Ciclu Array [SCH] \u003d șir (matrice [SCH]); Endcycle; Linia \u003d cursa (matrice, ";");

Șirul este unul dintre tipurile de date primitive în sistemele 1C: Enterprise 8. Variabile cu tip linia conțin text.

Valori ale variabilelor de tip liniaÎnchise în citate duble. Mai multe variabile de acest tip pot fi pliate.

Per1 \u003d "cuvânt 1";
Per2 \u003d "cuvânt 2";
Per3 \u003d per1 + "" + per2;

În cele din urmă Per3. va fi important Cuvânt 1 cuvânt 2 ".

În plus, în sisteme 1C: Enterprise 8 oferă funcții pentru lucrul cu linii. Luați în considerare principalul:

Intră (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funcția este concepută pentru a emite o casetă de dialog în care utilizatorul poate specifica valoarea tipul variabil Linia. Parametru <Строка> este obligatoriu și conține numele variabilei în care va fi înregistrat șirul introdus. Parametru <Подсказка> opțional este caseta de dialog Titlu. Parametru <Длина> opțional, spectacole lungime maxima Au intrat în liniile. Implicit este zero, ceea ce înseamnă o lungime nelimitată. Parametru <Многострочность> Opțional. Specifică modul de introducere a textului multi-linie: Adevărul - introduceți textul multi-line cu separatoare de rând; Lie - Introduceți o linie simplă.

Șirul poate fi introdus și, cunoscând codul de simbol în enicode codificarea:

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

Litera \u003d simbol (1103); // I.

Există, de asemenea, o funcție inversă care vă permite să aflați codul oricărui simbol.

Codeimvol (<Строка>, <НомерСимвола>) — returnează numărul simbolului specificat în codarea Unicode sub forma unui număr.

Funcțiile de conversie a înregistrării textului:

VREGA (<Строка>) - Convertește toate caracterele șirului în registrul de sus.

NREGA (<Строка>) - Convertește toate caracterele șirului la literele mici.

Trega (<Строка>) - Convertește toate simbolurile șirului în registrul titlului. Adică primele litere din toate cuvintele sunt convertite în majuscule, iar literele rămase din cea inferioară.

Căutați și înlocuiți caracterele din șir:

A găsi(<Строка>, <ПодстрокаПоиска>) - Găsiți numărul de caractere al căutării unui substring de căutare. De exemplu:

Găsiți ("șir", "Oka"); // patru.

STRNET.<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - Găsirea numărului de caractere al căutării substringului de căutare, numărul de intrare este indicat în parametrul corespunzător. În acest caz, căutarea începe cu un simbol al cărui număr este specificat în parametru Instalare.Căutarea este posibilă de la început sau de la sfârșitul liniei. De exemplu:

Număr de intrare \u003d STRNET ( "Moarte", "O", direcție. În primul rând, 1, 4); // 7.

Strună (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - găsește în linia originală toate intrările de substring de căutare și îl înlocuiește cu înlocuirea înlocuirii.

RUST ("String", "Oka", ""); // Pagina.

Linia goală (<Строка>) - verifică șirul pentru prezența unor caractere semnificative. Dacă nu există caractere semnificative sau nu există caractere, atunci valoarea este returnată Adevărat. In caz contrar - Fals.

Strirling (<Строка>, <ПодстрокаПоиска>) - Calculează numărul de apariții ale subsolitului de căutare în linia sursă.

Strirling ( "Studiați, studiați și studiați din nou", "a studia" , "" ) ; // 3.

Strarb (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — solicită parametrii din șir. Șirul trebuie să conțină forme de substituție: "% 1 ..% n". Markerii de numerotare începe cu 1. Dacă valoarea parametrului Nedefinit, Stringul gol este substituit.

Strarb ( "Parametrul 1 \u003d% 1, parametrul 2 \u003d% 2", "1" , "2" ) ; // parametrul 1 \u003d 1, parametrul 2 \u003d 2

Funcții de conversie a rândului:

Un leu(<Строка>, <ЧислоСимволов>) - Returnează primele personaje de primă șir.

Drepturi (<Строка>, <ЧислоСимволов>) - Returnează cele mai recente caractere de șir.

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

Sokrel (<Строка>) Se taie din caractere nesemnificative în partea stângă a primului simbol de semnificație din rând.

Copp (<Строка>) - taie din caractere nesemnificative în partea dreaptă a ultimului simbol semnificativ din șir.

Sokrlp (<Строка>) - taie din caractere nesemnificative în partea stângă a primului simbol de semnificație din rând și la dreapta ultimului simbol semnificativ din rând.

Plotchikstka (<Строка>, <НомерСтроки>) - obține un șir de un șir multi-linie după număr.

Alte caracteristici:

STRDLIN (<Строка>) - Returnează numărul de caractere din șir.

Strokelost (<Строка>) - Returnează numărul de rânduri într-un șir multi-linie. Șirul este considerat nou dacă este separat de simbolul de traducere a rândului anterior.

Stresh (<Строка1>, <Строка2> ) - Compară două linii fără a se înregistra. Funcția funcționează în mod similar cu obiectul Comparaţie. Se intoarce:

  • 1 - Dacă prima linie este mai mare decât cea de-a doua
  • -1 - dacă a doua linie este mai mare decât prima
  • 0 - Dacă rândurile sunt egale

Grevă ("primul rând", "al doilea șir"); // unu

Caracteristicile de bază ale limbajului de programare includ, de obicei, lucrările cu numere și linii. De obicei, aceste posibilități sunt cusute în codul compilatorului (sau sunt implementate clasele de limbi de programare "de bază").

În caracteristicile 1c cu rânduri sunt programate în platforma în sine. Astăzi vom lua în considerare caracteristicile de lucru cu șirurile 1C în programe în 1c încorporate.

Valoarea liniilor 1s

1. Să începem cu cele mai simple. Crearea unei variabile și atribuirea unei valori constante a șirului arată în 1C ca aceasta:

Variabil \u003d "hi, lume!";

Dacă este necesar în valoarea constantă a șirului 1c, specificați simbolul de cotare, atunci trebuie să ascundeți ""

Variabil \u003d "hi", "lume" "!";

2. Transferul șirului 1C poate fi specificat în două moduri în două moduri. Primul - Utilizarea simbolului |

Variabil \u003d "salut
| pace! ";

Al doilea - folosind caracterele de afișare a sistemului. Acesta vă permite să adăugați atât un transfer de rânduri 1C cât și alte ne-imprimate, cum ar fi fila.

Variabil \u003d "salut" + simboluri. PS + "Lumea!";

3. Configurațiile din 1C pot fi dezvoltate nu numai pentru o singură limbă (rusă, engleză sau altele) - dar în același timp pentru mai multe limbi. În acest caz, în prezent limba este selectată în partea de jos a ferestrei 1C.

Lista de limbă este localizată în fereastra Common / Limba de configurare. Fiecare limbă are un identificator scurt, cum ar fi rU. sau eng..

Este clar că atunci când programarea unei astfel de configurații a șirului 1C poate fi, de asemenea, multilingv. Pentru a face acest lucru, este posibil să se creeze o astfel de linie 1c, indicând prin; Opțiuni pentru identificatorul lingvistic:

Variabil \u003d "Ru \u003d" "Bună, lume!" "; En \u003d" "Bună ziua, lumea!" "";

Dacă utilizați astfel linia 1C formată ca de obicei - atunci va fi ceea ce este scris în ea. Pentru ca sistemul să o spargă în două opțiuni și a folosit cea dorită - este necesar să se utilizeze funcția NTD ():

// Dreptul pentru configurații bilingve
Raport (NSTR (variabil));

Recuzită cu tipul liniei 1c

Requisites - Acesta este un câmp de carte de referință / document 1c. Acesta diferă de variabila din program în 1c, faptul că tipul său (număr, linia 1c etc.) este indicat cu precizie pentru recuzită. Dacă trebuie să reîmprospătați în memorie ceea ce este necesar - uitați-vă la lecția dedicată.

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

Rândurile 1c sunt o lungime nelimitată (indicată ca lungime \u003d 0) și o lungime limitată, indicând numărul exact de caractere. Linii 1c Lungimea nelimitată sunt stocate într-o masă SQL separată, astfel încât utilizarea lor este mai puțin productiv decât limitată.

Acesta este motivul pentru care utilizarea liniilor 1c nelimitată are limitările sale - nu este posibil să le folosiți peste tot. De exemplu, este imposibil ca un număr de document, cod de referință, măsurare.

Lucrați cu șiruri de caractere

Pentru a lucra cu linii există mai multe caracteristici încorporate ale platformei 1C.

  • Sokrlp ("Incredibil, dar Faptul!")
    Îndepărtează semnele de 1s de la linia 1c. De asemenea, puteți utiliza pentru a converti orice tip la șirul 1C (de exemplu, numere).
  • Variabil \u003d "vasya" + coolp ("plus") + "Olya"; // va "Vasya plus Olya"
    Un exemplu de sumare a mai multor valori de șir de 1c. Rezultatul este o linie 1c.
  • Variabilă \u003d leu ("muzică", 2); // va Mu.
    Variabilă \u003d suport ("muzică", 2, 2); // va fi "PS"
    Variabilă \u003d drepturi ("muzică", 2); // va fi "ka"
    Diferite opțiuni pentru obținerea unui substring de la rândul 1C.
  • Variabilă \u003d găsi ("muzică", "ps"); // va fi 3.
    Căutați substanting în linie 1c, începând cu un simbol 1.
  • Variabil \u003d Sondin ("Muzică"); // va 6.
    Returnează numărul de caractere din șirul 1C.
  • Raport ("hi") // în fereastra de mesaj din partea de jos a ferestrei 1c
    AVERTISMENT (caseta de dialog pop-up "" hi ") //
    Stare ("hi") // în linia de afișare a stării din stânga jos
    .

Aduceți obiecte la linia 1c

După cum se știe, formatul cel mai popular pentru partajarea informațiilor structurate este în prezent XML. Chiar ultima versiune DOMNIȘOARĂ. Cuvânt de birou. Și Excel Store Fișiere în acest format (Docx și XLSX, schimbați extensia ZIP, deschisă în arhivă).

Platforma 1C pentru schimbul de date oferă mai multe opțiuni, din care este, de asemenea, XML.

1. Cea mai ușoară metodă este utilizarea funcției COPLP () sau a șirului (). În textul interogării, puteți utiliza funcția de reprezentare (). Rezultatul acțiunii lor este același - generează o reprezentare a șirului oricărui obiect 1C pentru utilizator.

Pentru cartea de referință implicită, acesta va fi numele său. Pentru un document - numele documentului, numărul și data.

2. Orice obiect 1c (cu limitări) poate fi convertit în XML și înapoi. Procesul de conversie se numește serializare.

Strontiumxml \u003d xml (valoare); // obțineți XML de la valoarea 1c
Valoare 0C \u003d Xmlding (tip ("Directorul de alunecare. Namerenclatură"), stronavidaml); // obțineți valoarea 1c de la șirul XML, trebuie să specificați tipul 1C, care trebuie recepționat

3. Există propria metodă de platformă 1c pentru a converti orice obiect 1c la șir. El a migrat din versiunea 1c 7.7. Acest format nu înțelege alte programe, dar înțelege celelalte 1C, ceea ce îl face ușor să îl utilizați pentru schimbul între bazele de date 1C.

Rând \u003d valoarea valorii (valoarea 0c); // primiți șirul 1C de la 1c
Valoare și fișier ("C: \\ myfile.txt", valoare 100); // altă opțiune, obținem un fișier cu un șir stocat din valoarea 1c
Valoarea 0c \u003d valoare); // înapoi de la rândul 1c
Valoare 0c \u003d Infilii de valoare ("C: \\ myfile.txt"); // Înapoi din fișier

Editarea corzilor 1C pe formular

În plus față de lucrul cu liniile 1c în program în 1c, desigur, aș dori ca utilizatorul să le editeze. Există mai multe posibilități pentru acest lucru:

1. Cea mai ușoară modalitate este de a solicita intrarea liniei 1C la cerere. Această metodă este utilizată în instruirea programului 1C, în viață, este aplicată mult mai puțin (dar aplicată!).

Variabil \u003d "";
Rând \u003d introducere (variabilă, "introduceți numele complet");

2. Pentru a afișa recuzele obiectului 1C (director / document) sau de recuzită (vezi), câmpul de introducere este cel mai des folosit. Acesta este cel mai frecvent instrument pentru a opera utilizatorul cu câmpuri de editare.

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

  • Bifați modul de editare mai mare
  • Tick \u200b\u200bEditare extinsă (disponibilă dacă marcajul anterior este instalat)
  • Bifați modul de parolă (consultați).

4. Dacă nu aveți toate caracteristicile câmpului de intrare - există un editor încorporat. Pentru a le adăuga la formular, trebuie să adăugați un câmp de document text în meniul FORM / INSERT. În proprietățile sale, puteți specifica modul de funcționare a acestuia - proprietatea extensiei.

Câmpul de document text nu poate fi asociat direct cu datele. Este necesar în formularele de manipulare a evenimentelor miniere (vezi) pentru a înregistra funcția:

Elemente de elemente. Roata-elementpolektechovka. Montarea setterest (valori); // AICI ESTE NECESARĂ - Acest text obținut, de exemplu, de la necesitate

Și în manipulatorul de salvare - de exemplu, în butonul de salvare - Adăugați Salvare:

ValoareNester \u003d Elementsforms. Eale elementpolekstovka. // ValueSesturete aici - Aceasta este recuzită unde salvăm valoarea

5. În versiunea 1C 8.2.11, în gestionat Formas., a apărut o nouă oportunitate Reprezentări ale documentului formatat de linii 1C.


Similar cu câmpul de documente text, trebuie să instalați la deschidere și înregistrați când textul este salvat cu dvs. utilizând programul.

  • În obiectul 1c, forma pe care o facem (carte de referință, document, prelucrare etc.) - Adăugați recuzită cu tipul de depozitare
  • În funcția Primer () () vom instala textul de la necesitate

    // AICI REQUIRESITE PĂRȚILE ADĂUGATE ALEGELOR 1C
    // aici formatateDocument este numele câmpului pentru editare
    & Pe server

    Formatateddocument \u003d manualul curent. Cerut. Se toarnă ();
    Extradreses.

  • În cadrul serverului () sau al butonului, scrieți text din câmp

    & Pe server
    Procedura de precizie (obiect curent)
    Obiect curent.revizit \u003d Depozitare nouă (formatateddocument);
    Extradreses.



Ți-a plăcut articolul? Împărtășește-l