Všetko o poliach v 1C: čo je potrebné a ako s nimi pracovať

V programe 1C môžete vytvárať polia a používať funkcie spojené s nimi. Vďaka tomu budete môcť prvky objednať a odkazovať sa na ne podľa indexu. Ak chcete pracovať s kolekciami hodnôt, musíte pochopiť programovanie. Koniec koncov, všetky údaje budú musieť zadávať ručne - bez grafického rozhrania, tlačidiel alebo dialógových okien. Napríklad, ak chcete konvertovať pole do 1C do reťazca a rozdeliť ho do skupiny substrings, použite operátory, ktoré sú zahrnuté v syntaxe nástrojov. Aby ste to dosiahli, potrebujete aspoň všeobecné pochopenie algoritmov.

Použitie polí v 1C pomáha usporiadať prvky používané v práci.

obsah

  • 1 O poliach
  • 2 stvorenia
  • 3 funkcie
  • 4 Vyhľadávanie a triedenie
  • 5 Tabuľky a zoznamy

O poliach

Toto je programová sada položiek. Slúži na:

  • Výber hodnôt.
  • Triedenie. Každej pozícii v poli je priradený index. To uľahčuje vyhľadávanie. A môžete sa obrátiť na objekt písaním jeho čísla.
  • Zlúčiť a uložiť položky.
  • Oddeľovanie skupín, vytváranie podradení.
  • Pole je samo o sebe objektom. K nemu bude pripojená premenná. Môžete odkázať na jednotlivé časti alebo ho použiť úplne v postupoch.Napríklad môžete kombinovať skupinu hodnôt "Zamestnanci oddelenia N" a zadať tam aj mená zamestnancov.

Vytvorme analógiu. Predstavte si knižnicu. Knihy v nej sú umiestnené v rôznych "bunkách". Ak budete mať záznamy, budete vedieť, kde sa nachádza každý objekt. A ľahko si to. Ak sú však knihy, časopisy a noviny náhodne rozptýlené na stole, vyhľadávanie potrebnej veci sa oneskorí. Hoci to neodráža všetky možnosti jedinečných zbierok.

stvorenia

Práca s polimi 1C začína ich tvorbou. Potrebujete "miesto konania" - pole, do ktorého zadáte kód.

  1. Otvorte "Konfigurátor" ("Konfigurácia").
  2. Kliknite pravým tlačidlom myši na položku "Spracovanie".
  3. Vyberte položku Pridať.
  4. Zobrazí sa podmenu "Processing1". Zvýraznite to. Informácie o nej sú zobrazené v pracovnom priestore.
  5. Na karte Základné zadajte "Názov". Povedzte "TestBar".
  6. Otvorte sekciu "Formuláre".
  7. Kliknite na ikonu lupy.
  8. Skontrolujte možnosť "Spracovanie formulárov".
  9. Kliknite na "Dokončiť".
  10. Otvorí sa okno s tromi rámcami. V pravom hornom rohu prejdite na kartu "Príkazy".
  11. Ikona vo forme plusu pre pridanie pozície.
  12. Zobrazí sa položka "Team1". Zvýraznite to.
  13. Do poľa Názov zadajte názov.Napríklad "Testovacie hodnoty". Skopírujte ho do "hlavičky".
  14. Na riadku "Akcia" kliknite na lupu.
  15. Položka "Vytvoriť na klienta" a "OK".
  16. Tu je modul, v ktorom môžete zadať kód.

Ak chcete zobraziť medziľahlý výsledok, vytvorte "tlačidlo". Prečo je to potrebné v poli - porozumieť o niečo neskôr.

  1. Kliknite na kartu "Formuláre". Je v prízemí.
  2. Kliknite pravým tlačidlom na panel príkazov.
  3. "Pridať - tlačidlo".
  4. Príďte s akýmkoľvek menom. Alebo môžete opustiť predvolenú.
  5. Do poľa "Názov tímu" kliknite na ikonu elipsy.
  6. Zvoľte "Test hodnoty". Ak bol tím volaný inak, bude iný titul.

Teraz môžete začať pracovať so zbierkami. Ale nemyslite si, že v 1C môžete okamžite rozšíriť reťazec do poľa. Je lepšie začať s niečím jednoduchším. Hoci všetky funkcie sú súborom operátorov, ktoré si jednoducho potrebujete pamätať.

  1. Otvorte kartu "Modul".
  2. Text, ktorý príde po dvoch lomkách (dve lomítka - "//"), sa dá vymazať. Vyzerá to niečo ako "/ / Vložiť obsah handler". Toto je vysvetlenie. Napísali ich programátori, aby sa nezneužili v kóde.
  3. Napíšte text medzi operátormi "Postup" a "EndProcedure".
  4. Teraz vytvorte súbor hodnôt. Premýšľajte o premennej, ktorá ju podmienene označuje. Predpokladajme, že "FirstMass".
  5. Musí byť priradený k objektu. Za týmto účelom zadajte príkaz "FirstMass = Nové pole ()". Toto je zbierka, v ktorej môže byť neobmedzený počet prvkov. Ak máte pevnú veľkosť, zadajte ju za príkaz v zátvorkách "Nové pole (5)". Podľa toho bude dvojrozmerná zbierka vyzerať ako "Nové pole (7, 5)". Môžete vytvoriť viacrozmerné súbory.
  6. Pri písaní môžete zobraziť výzvy, ktoré naznačujú vhodných operátorov.
  7. Slová sa líšia farbou. Premenné majú jednu farbu, funkcie majú inú.
  8. Po každom príkaze umiestnite bodkočiarku ";". Pre pohodlie začínajte novým odsekom.
  9. S prázdnou sadu nemôžete urobiť nič. Usporiadanie, výstup ani rozšírenie reťazca do poľa v 1C. Preto je potrebné vložiť prvky do nej.
  10. Zadajte "FirstMass.Add (Value1);". Potom "Prvé masívne pridanie (hodnota 2);" a tak ďalej.
  11. Objekty sú očíslované od nuly. To znamená, že premennej "Value1" bude priradený index "0". Môžete vyplniť zbierku sami "Value0", aby ste nezamieňali.

Prečo je to všetko? A prečo to tajomné "tlačidlo"? Pokúsime sa spustiť jednoduchú funkciu.

  1. V zbierke napíšte príkaz "Report (FirstMass [0]);" V hranatých zátvorkách je index prvku. To je adresa našej "Hodnoty 0".
  2. Formátovanie modulu. Toto je kontrola chýb. Vo veľkých blokoch sa dá niečo urobiť bez neopatrnosti: nedávajte bodkočiarku, zatvorte držiak, nesprávne napíšte premennú. Kompilátor to ukáže.
  3. Kliknutím na tlačidlo vo forme značky Play (trojuholník v kruhu) spustíte program, ktorý ste napísali.
  4. Kliknite na "Servis" a vyberte vaše tlačidlo.
  5. Kliknite na ňu.
  6. Zobrazí sa nápis "Hodnota 0". Toto je výsledok funkcie.

Najjednoduchšia operácia je zobrazená tak, aby ste pochopili, ako sú vôbec práce v poli. Pomocou nich môžete vytvárať komplexné a viacúrovňové programy. Zobraziť objekty, triediť, odstrániť duplicity, rozdeliť do súboru podčiarkov, zlúčiť, rozdeliť, vyhľadať informácie. Potrebujete poznať operátorov.

funkcie

Všetky dostupné funkcie sú v adresári programu. Uvádzame niekoľko z nich, aby sme ukázali princíp.

Ako zmeniť pole 1C do reťazca:

TestMass = Nové pole (4);
TestMarif [0] = Toto;
TestMax [1] = Hotovo;
TestMarify [2] = Takže;
StringTest = ValueStringIntern (TestMarray);
Správa (StringTest);

Výstup do "Tlačidla" a získanie frázy. Toto môže byť súčasťou veľkého modulu - v tomto prípade nie je potrebný operátor "Report".

Ak chcete rozložiť reťazec v poli 1C podradení, potrebujete oddeľovač. Podmienený štítok, po ktorom bude text rozdelený. Predpokladajme, že existuje slovo "Protokol". A dali sme oddeľovač "O". Zadajte príkaz "TestMassive = ExpandStringInMarray (protokol," O ");" Ukazuje sa to oddelene "Pr", "T", "K" a "L". Separátor sa vymaže. A slovo je rozdelené na niekoľko substrings.

Tu je postup, ako ho uplatniť v praxi. Máte pole s menami zamestnancov. A musíte pri výbere pozície automaticky vyplniť polia "Priezvisko", "Krstné meno" a "Stredné meno". Tento názov sa musí rozdeliť na tri zložky. Ako oddeľovač použite "medzeru".

Zvyčajne sa na tento účel používa zložitý modul: slučka s veľkým počtom operátorov. Cyklické bloky s podmienkou sú založené na princípe "Ak (podmienka), potom (akcia 1), inak (akcia 2)". Po prvé program kontroluje, či je splnená podmienka.Ak áno, spustí prvú funkciu. Ak nie, druhý.

Slučka kontroluje každú znakovú hodnotu v reťazci. Ak nie je oddeľovač, pokračuje ďalej. Ak je oddeľovač, pridáva hodnotu do množiny podčiest. Môžu sa použiť aj ďalší operátori: napríklad "SkLLP" - skratka určitých znakov vpravo a vľavo od riadku.

Každý modul musí byť "dokončený", aby nástroj ukončil postup. Na slučke s príkazom "Ak" je toto vyhlásenie "End If". Na cyklus bez podmienok - "Koniec cyklu". Každá funkcia musí byť samostatne dokončená.

Vyhľadávanie a triedenie

Zbierky môžu obsahovať obrovské množstvo údajov. Musíme sa naučiť ich vyhľadávať a triediť.

Ak chcete spustiť vyhľadávanie v poli v 1C, použite operátor "Nájsť". Nájdite požadovanú hodnotu a môžete ju zobraziť vizuálne. Ale ak existujú stovky prvkov, je lepšie vytvoriť ďalší modul a spustiť podprogram. Ukážme príklad jednoduchých funkcií. Ale je vhodný pre všetky bloky.

ArrayTest = Nové pole (3);
MassivTest [0] = "Telefón";
MassivTest [1] = "Laptop";
MassivTest [2] = "Počítač";
Index = Test hmotnosti. Nájsť ("Telefón");
Ak je index >> neurčitý potom
Správa ("Vyplnené vyhľadávanie" + MassivTest [Index]);

A nezabudnite uviesť "záverečné vyhlásenie".

Kolekcia sa podáva napríklad. Vytvorili sme súbor troch hodnôt. A urobili malý cyklus. Ak pomôcka nenašiel vhodný prvok, zobrazí sa správa "Undefined". Ak to zistí, zobrazí výsledok.

Triedenie poľa 1C je jednoducho nepostrádateľné pri práci s veľkým množstvom údajov. Tiež potrebujú nejako navigovať. Je lepšie ich usporiadať v určitom poradí. Predpokladajme, že máte zbierku "YourMash". Aby to bolo v poriadku

TestList = Nový zoznam hodnôt;
Zoznam testov LoadValues ​​(YourMass);
TestList.SortValue (DirectionSort.Vozr);
YourMassive = TestList.UploadValues ​​();

Namiesto výrazu "Vozr" môžete zadať "Descending". Výsledky môžete tiež nahrať do tabuľky hodnôt:

TestTable = Nová tabuľka hodnôt;
Skúšobná tabuľka: Stĺpce Pridať ("Stĺpec");
TestTable.Load stĺpec (YourMassive, "Stĺpec");
Skúšobná tabuľka. Zoradiť ("Column Descending");
YourMassive = Skúšobná tabuľka. Vybrať stĺpec ("Stĺpec")

Existujú tiež zložité metódy triedenia: "Bubble", "Fast", "Shaker", "Recursion".Majú viacúrovňové a dlhé algoritmy.

Tabuľky a zoznamy

Informácie môžu byť odoslané medzi rôznymi typmi zbierok. Prevod do poľa 1C v tabuľke hodnôt:

ArrayPhone = Nové pole;
ArrayPhone.Add ("Smartphone");
ArrayPhone.Add ("Tablet");
MassivePhone.Add ("Telefón");
Test tabuľky = Tabuľka nových hodnôt;
Tabuľkové testy, Stĺpce, Pridať ("Mobily");
Tabuľka Test Add ();
Tabuľka Test Add ();
Tabuľka Test Add ();
Testovanie tabuliek Stiahnite si stĺpec (masívny telefón, "mobilný");
Pre každý riadok z tabuľky testovací cyklus
Správa (Stroka.Mobbiki);

Nezabudnite na konci skonštatovať koniec cyklu.

Premeniť pole na zoznam hodnôt v 1C je veľmi jednoduché. Stačí iba na uvoľnenie údajov z jednej zbierky do druhej.

NewList = Nový zoznam hodnôt ();
Nový zoznam: načítať hodnoty (vaša hmotnosť);

Pri programovaní môže byť jeden problém vyriešený rôznymi spôsobmi. A 1C nie je výnimkou. Lineárne algoritmy, cykly, cykly so stavom, cykly s počítadlom. Existuje veľa možností. Ak chcete navigovať v poli, potrebujeme určité zručnosti v 1C.