Linia 1c

Continuăm revizuirea limbii încorporate 1C începută cu o descriere generală a limbii 1C și lucrul cu valorile din 1C.

Capacitățile de bază ale unui limbaj de programare sunt de obicei denumite "lucrul cu numere și șiruri". De obicei, aceste caracteristici sunt cablate în codul compilatorului (sau sunt implementate clase de "bază" ale limbajului de programare).







În 1C, abilitatea de a lucra cu șiruri este programată în platforma însăși. Astăzi vom lua în considerare caracteristicile de lucru cu linii 1C în programe în limbajul încorporat 1C.

Valoarea liniei 1C

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

Variabila = "Buna ziua!";

Dacă este necesar să specificați un caracter de cotă la valoarea constantă a șirului 1C, atunci trebuie să fie ""

Variabila = "Bună ziua", "lumea" "!";

2. Transferul liniei 1C poate fi specificat în două moduri. Primul - folosind simbolul |

Variable = "Bună ziua,
| | lumea! „;

Cel de-al doilea utilizează simbolurile enumerare a sistemului. Acesta vă permite să adăugați atât transferul liniei 1C, cât și alte caractere care nu se pot imprima, de exemplu TAB.

Variabila = "Bună ziua" + Caractere. PC + "lume!";

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

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

Este clar că atunci când se programează o astfel de configurație, liniile 1C pot fi, de asemenea, multilingve. Pentru a face acest lucru, este posibil să creați un astfel de șir 1C, specificând prin; variante după identificatorul de limbă:


Variable = "en =" "Buna ziua!" "; En =" "Bună ziua, lume!" ";

Dacă utilizați linia generată 1C ca de obicei - atunci va fi ceea ce este scris în ea. Pentru ca sistemul să o împartă în două variante și să utilizeze modelul dorit, este necesar să folosim funcția HCP ():

// corect pentru configurații bilingve
Raport (NC (variabil));

Props cu linia de tip 1C

Props este domeniul directorului / documentului 1C. Diferă de variabila din program în limba 1C, deoarece tipul exact este specificat pentru recuzită (număr, linia 1C, etc.). Dacă aveți nevoie să reîmprospătați memoria a ceea ce o recuzită - uitați-vă la lecția detaliilor 1C.

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

Linile 1C au o lungime nelimitată (indicată ca lungime = 0) și o lungime limitată, specificând numărul exact de caractere. Liniile de lungime nelimitată 1C sunt stocate într-un tabel SQL separat, astfel încât utilizarea lor este mai puțin productivă decât limitată.

De aceea utilizarea liniilor de 1C cu lungime nelimitată are limitările sale - nu este posibil să le folosim oriunde. De exemplu, este imposibil ca numărul documentului, codul de referință, măsurarea.

Lucrul cu liniile 1C

Pentru a lucra cu șiruri de caractere, există câteva funcții încorporate ale platformei 1C.

  • SokrLP ("Incredibil, dar adevărat!")
    Îndepărtează spațiile inutile din linia 1C. De asemenea, puteți utiliza pentru a converti orice tip la linia 1C (de exemplu, un număr).
  • Variabila = "Vasya" + SokrLP ("plus") + "Olya"; // va fi "Vasya Plus Olya"
    Un exemplu de sumare a mai multor valori ale șirului 1C. Rezultatul este o linie de 1C.
  • Variable = Leo ("Muzică", 2); // va fi "Mu"
    Variabila = Medie ("Muzică", 2, 2); // va fi "shl"
    Variabila = dreapta ("Muzică", 2); // va fi "ka"
    Sunt diferite opțiuni pentru obținerea substringului de la linia 1C.
  • Variable = Find ("Muzică", "Shl"); // va fi 3
    Găsiți subcadrul în rândul 1C, începând cu 1.
  • Variabila = Lungime șir ("Muzică"); // va fi 6
    Returnează numărul de caractere în rândul 1C.
  • Raportați ("Bună ziua") // în fereastra de mesaje din partea de jos a ferestrei 1C
    Avertizare ("Hello") // fereastră de dialog pop-up
    Stare ("Hello") // în linia de afișare a stării din partea stângă jos
    Diferite opțiuni pentru mesaj către utilizator.






Aduce obiecte la linia 1C

După cum știți, cel mai popular format pentru schimbul de informații structurate în prezent este XML. Chiar și cea mai recentă versiune de MS Office Word și Excel salvează fișiere în acest format (docx și xlsx respectiv, modificați extensia la zip, deschideți-o în arhivator).

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

1. Metoda cea mai simplă este folosirea funcției ScrlL () sau String (). În textul interogării, puteți utiliza funcția REPRESENTARE (). Rezultatul acțiunii lor este același - generează o reprezentare de șir a oricărui obiect 1C pentru utilizator.

3. Există o modalitate proprie a platformei 1C de a converti la șir orice obiect 1C. A migrat din versiunea 1C 7.7. Acest format nu este înțeles de alte programe, dar un alt 1C înțelege, ceea ce îl face ușor să îl folosească pentru schimbul între bazele de date 1C.

Linie = ValueInternalVir (Value1C); // obțineți linia 1C din 1C
Valoare în fișier ("C: \ MyFile.txt", Value1C); // altă variantă, primim un fișier cu linia salvată de la valoarea 1С
Valoare1C = ValueInstringInterface (String); // înapoi de la linia 1C
Value1C = ValueIfFile ("C: \ MyFile.txt"); // înapoi de la dosar

Editați linii 1C pe formular

În plus față de lucrul cu linii 1C într-un program în 1C, desigur, aș dori ca utilizatorul să le editeze. Există mai multe posibilități pentru aceasta:

1. Cea mai ușoară cale este să solicitați intrarea liniei 1C la cerere. Această metodă este folosită în predarea programării 1C, în viață este folosită mult mai rar (dar aplicată!).

Variabila = "";
Linia = Introduceți valoarea (variabilă, "Introduceți numele");

Linia 1c

2. Pentru a afișa cerința obiectului 1C (director / document) sau formularul necesar (vezi lecția prin formulare), câmpul de introducere este cel mai des utilizat. Acesta este instrumentul cel mai comun în 1C pentru lucrul cu câmpurile de editare a utilizatorilor.

Linia 1c

3. Posibilitățile câmpului de introducere pot fi extinse (vedeți proprietățile câmpului de introducere, faceți clic dreapta pe el, mai multe despre formular):

  • Mod de editare Modul de editare multi-linie
  • Editare avansată (disponibilă dacă este bifată bifa anterioară)
  • Modul parolă (consultați lecția de parolă).

Linia 1c

Linia 1c

Câmpul unui document text nu poate fi legat direct de date. Este necesar să scrieți funcția în procesul de procesare a evenimentului de deschidere () al formularului (vezi lecția despre evenimente):

Elemente Formulare: Denumirea elementului Câmpul Documentului Text Set Text (ValueString); // aici ValueString este textul primit, de exemplu din recuzită

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

String de valori = Elemente de formă. Numele elementului în câmpul Document text. GetText (); // valueString aici este recuzita la care stocam valoarea

5. În versiunea 1C 8.2.11, în formulare gestionate, există o nouă posibilitate de a reprezenta linia 1C - câmpul Document formatat.

  • Adăugați formularul de recuzită (consultați lecția despre formularele gestionate 1C), specificați tipul de recuzită - document formatat, bifați caseta Salvați datele
Linia 1c
  • Trageți recuzele în formular - va fi afișat ca câmp pentru editarea documentului de test
  • Adăugați un nou element al Formularului gestionat "Grup - Panou de comandă", în proprietățile acestuia, setați proprietatea Source Command la numele documentului formatat adăugat.

    Linia 1c
  • Similar cu câmpul unui document text, este necesar să îl instalați atunci când deschideți și salvați singur textul folosind programul.

    • În obiectul 1C, forma pe care o facem (director, document, procesare etc.) - adăugați elemente de recuzită cu tipul de valoare de stocare
    • În funcția Privilegiul serverului (), setați textul din recuzită

    // aici Este necesară recuzarea obiectelor 1C adăugate
    // aici FormattedDocument este numele câmpului din formularul de editare
    Pe server
    Procedura de accesare a serverului (CurrentObject)
    FormattedDocument = CurrentObject Requisite.Get ();
    Sfârșitul procedurii
  • În funcția Înainte de înregistrare pe server () sau pe buton vom scrie textul din câmp

    Pe server
    Procedura de accesare a serverului (CurrentObject)
    CurrentObject Requisite = Valoare nouă ValueValue (FormattedDocument);
    Sfârșitul procedurii

  • Votați pentru acest post:







    Articole similare

    Trimiteți-le prietenilor: