Sve o poljem u 1C: što je potrebno i kako raditi s njima

U programu 1C možete stvoriti nizove i koristiti funkcije povezane s njima. Zahvaljujući tome moći ćete naručiti elemente i uputiti ih prema indeksu. Da biste radili s zbirkama vrijednosti, morate razumjeti programiranje. Uostalom, svi će podaci morati unijeti ručno - bez grafičkog sučelja, gumba ili dijaloških okvira. Na primjer, pretvoriti polje u 1C u niz i podijeliti ga u skupinu podnizova, koristite operatore koji su uključeni u komunikacijsku sintaksu. Da biste to učinili, trebate barem opće razumijevanje algoritama.

Korištenje polja u 1C pomaže naručiti elemente koji se koriste u radu.

sadržaj

  • 1 O rasporedima
  • 2 stvaranje
  • 3 funkcije
  • 4 Pretraživanje i poredak
  • 5 Tablice i popisi

O rasporedima

Ovo je programski skup predmeta. Služi za:

  • Odabir vrijednosti.
  • Sortiranje. Svaka pozicija u polju dodjeljuje se indeks. To olakšava pretraživanje. I možete uputiti na objekt pisanjem svog broja.
  • Spajanje i spremanje zapisa.
  • Odvajanje grupa, stvaranje podnizica.
  • Polje je samo objekt. Na njega će biti pridružena varijabla. Možete se uputiti na njegove pojedinačne dijelove ili ih koristiti u cijelosti u postupcima.Na primjer, možete kombinirati skupinu vrijednosti "Zaposlenici odjela N" i upisati im imena zaposlenika.

Neka nacrtimo analogiju. Zamislite ladicu za knjige. Knjige u njoj nalaze se u različitim "ćelijama". Ako vodite evidenciju, znat ćete gdje se nalazi svaki objekt. I jednostavno ga dobijte. Ali ako su knjige, časopisi i novine slučajno raspršene na stolu, traženje potrebne stvari bit će odgođeno. Iako ne odražava sve mogućnosti jedinstvenih zbirki.

stvaranje

Rad s 1C nizovima počinje njihovim stvaranjem. Trebate "mjesto djelovanja" - polje u kojem ćete unijeti kôd.

  1. Otvorite "Konfigurator" ("Konfiguracija").
  2. Pritisnite desnu tipku miša na stavci "Obrada".
  3. Odaberite "Dodaj".
  4. Pojavi se podizbornik "Processing1". Istaknite je. Informacije o njemu prikazuju se u radnom prostoru.
  5. Na kartici "Osnovno" unesite "Naziv". Recite "TestBar".
  6. Otvorite odjeljak "Oblici".
  7. Kliknite ikonu povećala.
  8. Provjerite opciju "Obrada obrasca".
  9. Kliknite na "Završi".
  10. Otvorit će se prozor s tri okvira. U gornjem desnom kutu idite na karticu "Naredbe".
  11. Ikona u obliku plusa za dodavanje pozicije.
  12. Pojavit će se stavka "Team1". Istaknite je.
  13. U polju "Ime" upišite naziv.Na primjer, "Test Values". Kopirajte ga u "Header".
  14. U retku "Akcija" kliknite na povećalo.
  15. Stavka "Stvaranje na klijenta" i "U redu".
  16. Evo modula u kojem možete unijeti kôd.

Da biste prikazali srednji rezultat, stvorite "gumb". Zašto je potrebno u polju - razumjet ćete malo kasnije.

  1. Kliknite karticu "Obrasci". Dolje je.
  2. Desnom tipkom miša kliknite "Command Panel".
  3. "Dodatni gumb".
  4. Dođite s bilo kojim imenom. Ili možete ostaviti zadani.
  5. U polju "Ime tima" kliknite ikonu elipsa.
  6. Odaberite "Test Values". Ako je momčad nazvana drugačije, bit će drugačiji naslov.

Sada možete početi raditi s zbirkama. Ali nemojte misliti da u 1C možete odmah proširiti niz u niz. Bolje je započeti s nečim lakšim. Iako su sve funkcije skup operatora koje trebate upamtiti.

  1. Otvorite karticu "Modul".
  2. Tekst koji dolazi nakon dva kose (dva kose - "//") može se izbrisati. Izgleda nešto poput "// Zalijepi sadržaj rukovatelja". Ovo je objašnjenje. Oni su napisali programeri, kako se ne bi zbunili u kodu.
  3. Upišite tekst između operatora "Procedure" i "EndProcedure".
  4. Sada stvorite skup vrijednosti. Razmislite o varijabli koja će ga uvjetno označiti. Pretpostavimo da je "FirstMass".
  5. Mora biti povezana s objektom. Da biste to učinili, unesite naredbu "FirstMass = New Array ()". Ovo je zbirka u kojoj može biti neograničen broj elemenata. Ako imate fiksnu veličinu, navedite je nakon naredbe u zagradi "Nova polja (5)". Prema tome, dvodimenzionalna zbirka izgledat će kao "Nova polja (7, 5)". Možete stvoriti višedimenzionalne setove.
  6. Dok upisujete, mogu se pojaviti upute koje predlažu odgovarajuće operatore.
  7. Riječi se razlikuju po boji. Varijable imaju jednu boju, funkcije imaju drugu.
  8. Nakon svake naredbe stavite točku sa zarezom ";". I za praktičnost, započnite novim stavkom.
  9. S praznim setom ništa se ne može učiniti. Ni organizirati, niti izlaziti niti proširiti niz u niz u 1C. Stoga je potrebno unijeti elemente u nju.
  10. Unesite "FirstMass Add (Value1);". Zatim "Prva masivna. Dodaj (vrijednost 2)"; i tako dalje.
  11. Objekti su numerirani od nule. To jest, varijable "Value1" dodjeljuje se indeks "0". Sami možete napuniti zbirku s "Value0", kako ne biste zbunili.

Što je sve ovo? I zašto taj tajanstveni "gumb"? Pokušajmo pokrenuti jednostavnu funkciju.

  1. Pod zbirkom napišite naredbu "Izvješće (FirstMass [0]);" U uglatim zagradama je indeks elementa. To je adresa naše "Vrijednost 0".
  2. Oblikujte modul. Ovo je provjera pogrešaka. U velikim blokovima nešto se može učiniti bez nepažnje: ne stavljajte točku, zatvorite nosač, pogrešno napišite varijablu. Prevodilac će ovo ukazati.
  3. Kliknite gumb u obliku znaka Play (trokut u krugu) da biste pokrenuli program koji ste napisali.
  4. Kliknite na "Servis" i odaberite svoj gumb.
  5. Kliknite je.
  6. Pojavi se natpis "Value 0". Ovo je rezultat funkcije.

Prikazana je najjednostavnija operacija tako da razumijete kako polja rade uopće. S njima možete stvoriti složene i višestruke programe. Prikaz objekata, sortiranje, brisanje duplikata, podijeljeno u niz podnizova, spajanje, razdvajanje, traženje informacija. Samo trebate znati operatore.

funkcije

Sve dostupne funkcije nalaze se u programskom direktoriju. Navodimo nekoliko koji pokazuju načelo.

Kako pretvoriti polje 1C u niz:

TestMass = novi raspored (4);
TestMarif [0] = Ovo;
TestMax [1] = Gotovo;
TestMarify [2] = Tako;
StringTest = ValueStringIntern (TestMarray);
Izvješće (StringTest);

Izlaz na "gumb" i dobiti izraz. To može biti dio velikog modula - u ovom slučaju operater "Izvješće" nije potreban.

Za razgradnju niza u 1C nizu podnizova, potreban nam je razdjelnik. Uvjetna oznaka, nakon čega će se tekst podijeliti. Pretpostavimo da postoji riječ "Protokol". I stavili smo separator "O". Unesite naredbu "TestMax = ExpandStringInMarray (Protocol," O ");" Ispada se odvojeno "Pr", "T", "K" i "L". Separator se briše. A riječ je podijeljena na nekoliko podnizica.

Evo kako ga primijeniti u praksi. Imate polje s imenima zaposlenika. A kada odaberete položaje, polja "Prezime", "Ime" i "Srednje ime" automatski se popunjavaju. Jer ovo ime mora biti podijeljeno na tri dijela. Kao razdjelnik koristite "prostor".

Obično se koristi složeni modul: petlja s velikim brojem operatera. Ciklički blokovi sa stanjem su izgrađeni na načelu "Ako (stanje), tada (akcija 1), inače (akcija 2)". Prvo, program provjerava ispunjava li uvjet.Ako je tako, pokreće prvu funkciju. Ako ne - drugi.

Petlja provjerava svaki znak u nizu. Ako nema separatora, nastavlja se. Ako postoji graničnik, dodaje vrijednost skupu podnizova. Tu se mogu koristiti drugi operatori: na primjer, "SkLLP" - kratica određenih znakova desno i lijevo od linije.

Svaki modul mora biti "gotov" kako bi uslužni program prekinula postupak. Na petlji s "Ako" ova izjava je "End If". Na ciklus bez uvjeta - "End Cycle". Svaka funkcija mora biti zasebno izvršena.

Pretraživanje i poredak

Zbirke mogu sadržavati ogromnu količinu podataka. Moramo naučiti pretraživati ​​ih i poredati.

Da biste pokrenuli pretraživanje u polju u 1C, koristite operator "Pronađi". Pronađite željenu vrijednost i može biti vizualno. Ali ako postoje stotine elemenata, bolje je izraditi dodatni modul i pokrenuti potprogram. Pokazat ćemo primjer jednostavne funkcije. Ali prikladan je za sve blokove.

ArrayTest = Novi niz (3);
MassivTest [0] = "Telefon";
MassivTest [1] = "Laptop";
MassivTest [2] = "Računalo";
Indeks = Test mas. Pronađi ("Telefon");
Ako je indeks >> neodređen tada
Izvješće ("Search Completed" + MassivTest [Indeks]);

I ne zaboravite staviti "konačnu izjavu".

Zbirka je podnesena na primjer. Stvorili smo skup od tri vrijednosti. I napravili su mali ciklus. Ako uslužni program ne pronađe odgovarajući element, prikazat će poruku "Nedefinirano". Ako ga pronađe, pokazat će rezultat.

Razvrstavanje polja 1C jednostavno je neophodno kada radite s velikim količinama podataka. Oni također trebaju nekako navigirati. Bolje ih je organizirati u određenom poretku. Pretpostavimo da imate zbirku "YourMash". Staviti ga u red

TestList = Novi popis vrijednosti;
TestList. LoadValues ​​(YourMass);
TestList.SortValue (DirectionSort.Vozr);
YourMassive = TestList.UploadValues ​​();

Umjesto "Vozr" možete staviti "silazno". Također možete prenijeti rezultat u tablicu vrijednosti:

TestTable = Nova tablica vrijednosti;
Tablica ispitivanja. Stupci Dodaj ("Stupac");
Stupac TestTable.Load (YourMassive, "Stupac");
Tablica ispitivanja Sortiranje ("Kolona smanjuje");
YourMassive = Ispitna tablica. Isprazni stupac ("Stupac")

Postoje i složene metode sortiranja: "Bubble", "Fast", "Shaker", "Recursion".Oni imaju više razine i dugačke algoritme.

Tablice i popisi

Informacije se mogu proslijediti između različitih vrsta zbirki. Za prijenos na polje 1C u tablici vrijednosti:

ArrayPhone = Novi niz;
ArrayPhone.Add ("Smartphone");
ArrayPhone.Add ("Tablet");
MassivePhone.Add ("Phone");
Tablica test = Nova tablica vrijednosti;
Tablica Testiranje. Stupci Dodaj ("Mobiles");
Tablični test Dodaj ();
Tablični test Dodaj ();
Tablični test Dodaj ();
Ispitivanje tablice. Preuzmite stupac (Masivni telefon, "Mobitel");
Za svaki redak iz tablice ispitnog ciklusa
Izvješće (Stroka.Mobbiki);

Nemojte zaboraviti staviti petlju završnu izjavu na kraju.

Pretvaranje polja u popis vrijednosti u 1C je vrlo jednostavan. Dovoljno je samo za iskrcaj podataka iz jedne zbirke u drugu.

NewList = Novi popis vrijednosti ();
Novi popis. Vrijednosti učitavanja (vaša misa);

U programiranju, jedan se problem može riješiti na različite načine. I 1C nije iznimka. Linearni algoritmi, ciklusi, ciklusi sa stanjem, ciklusi s brojačem. Postoje mnoge mogućnosti. Za navigaciju u nizu trebamo neke vještine u 1C.