Računala Windows Internet

Postavljena vrijednost 1c popisa za odabir

Puna sintaksa (kliknite za proširenje)

Popis vrijednosti

Opis:

Popis vrijednosti je objekt koji nije spremljen u bazi podataka, što vam omogućuje da izgradite dinamičke skupove vrijednosti za rješavanje problema sučelja i manipulirate njima (dodavanje, uređivanje, brisanje elemenata, sortiranje). Može se ispuniti vrijednostima bilo koje vrste, tj. vrste pohranjenih vrijednosti na istom popisu mogu biti različite. Jedan od primjera korištenja ovog objekta može biti organizacija odabira određenog dokumenta s popisa mogućih dokumenata, generiranog složenim algoritmom.

Stavke kolekcije: ItemListValues

Za objekt je prelazak zbirke dostupan pomoću operatora Za sve ... Od ... Ciklus... Prijelazom se odabiru elementi zbirke.

Moguće je upućivanje na element zbirke pomoću [...] operatora. Indeks elementa se prosljeđuje kao argument ( numeriranje od 0).

Svojstva:

Metode:

Umetanje (indeks, vrijednost, prikaz, oznaka, slika) Umetci nova stvar na popis vrijednosti na poziciji s navedenim indeksom.SelectElement (Naslov, Element) Poziva prozor za interaktivni odabir jednog od elemenata uključenih u popis vrijednosti. Element- element na koji treba početno postaviti popis vrijednosti tijekom interaktivnog odabira. Ako vrijednost parametra nije element popisa vrijednosti uključenih u ovaj popis, pozicioniranje se neće dogoditi.Ispraznite vrijednosti() Kreira niz i u njega kopira vrijednosti elemenata popisa vrijednosti.Dodaj (vrijednost, prikaz, oznaka, slika) Dodaje novu stavku na kraj popisa vrijednosti.LoadValues(Vrijednosti polja) Učitava popis vrijednosti s vrijednostima iz proslijeđenog niza. U tom slučaju brišu se svi prethodni elementi popisa.Ispuniti(Zastavica) Označava sve stavke na popisu vrijednosti.Indeks (stavka) Dobiva indeks stavke na popisu vrijednosti. Ako se ne pronađe, vraća se -1.Count () Dobiva broj elemenata na popisu vrijednosti.FindByValue(LookupValue) Traži vrijednost stavke na popisu vrijednosti. Ako nijedan element ne pohranjuje vrijednost jednaku željenoj, tada se vrijednost vraća Nedefiniran. FindBy ID(ID) Dobiva popis vrijednosti stavke po ID-u. Ako element nije pronađen, onda se vraća Nedefiniran. Provjerite stavke(Naslov) Označava ili poništava (interaktivno) stavke popisa vrijednosti. Vraća Pravi ako se u dijaloškom okviru pritisne gumb "OK", Laž- inače.Clear () Briše popis vrijednosti uklanjanjem svih stavki s njega.ShowSelectItem(DescriptionClose Alerts, Title, Element) Poziva prozor za interaktivni odabir jednog od elemenata uključenih u popis vrijednosti.ShowTelementsLabel(DescriptionClose Alerts, Title) Namijenjen je za interaktivno postavljanje stanja oznaka za elemente liste vrijednosti.Get (Index) Dobiva vrijednost u indeksu. Radi na isti način kao i operater.Shift (Element, Offset) Pomiče element popisa vrijednosti naprijed ili natrag za određeni broj pozicija.Kopiraj () Stvara kopiju popisa vrijednosti.Poredaj po vrijednosti(Smjer) Sortira popis vrijednosti uzlaznim ili silaznim redoslijedom vrijednosti koje su pohranili elementi. Pogledajte primjer u nastavku.Poredaj po prikazu(Smjer) Sortira popis vrijednosti uzlaznim ili silaznim abecednim redom prikaza stavki na popisu vrijednosti. Pogledajte primjer u nastavku.Ukloni (stavka) Uklanja stavku s popisa vrijednosti, gdje Element- indeks elementa koji treba ukloniti ili sam element.

Konstruktori:

Novi popis vrijednosti
& OnClient Procedure ExecuteCode (naredba) /// Kako napraviti popis vrijednosti u 1c 8.3, 8.2 Popis = Novi popis vrijednosti; /// Kako dodati stavku na popis vrijednosti u 1s 8.3, 8.2 // dodaj parametre metode:// - značenje // - izvođenje // - oznaka (neobavezno) // - slika (neobavezno) Popis. Dodaj (1980., // vrijednost elementa "Vasjina godina rođenja"// izvođenje ) ; Popis. Dodaj (1985., "Julijina godina rođenja") ; // vrijednosti mogu biti različiti tipovi Popis. Dodaj ("Polina", "Ime djeteta"); /// Kako umetnuti element u listu vrijednosti u 1s 8.3, 8.2 // umetnuti na poziciju #2 (elementi su numerirani počevši od 0) // element s vrijednošću 2010 i prikazom // "Godina rođenja njihove zajedničke kćeri" Popis. Zalijepi (2, 2010., "Godina rođenja njihove zajedničke kćeri") ; /// Kako zaobići elemente liste vrijednosti u 1c 8.3, 8.2 Za svaki element iz izvješća o ciklusu popisa (Element. Reprezentacija + ":" + String (Element. Vrijednost)); Kraj ciklusa; /// Kako izbrisati popis vrijednosti u 1s 8.3, 8.2 Popis. Čisto (); Popis. Dodaj ("ponedjeljak"); Popis. Dodaj ("utorak"); Popis. Dodaj ("srijeda"); /// Kako saznati i broj elemenata popisa vrijednosti /// dohvati element liste po njegovom indeksu u 1s 8.3, 8.2 // numeriranje od nule Za Indeks = 0 Po popisu. Količina () - 1 izvješće ciklusa (Popis [Indeks]); Kraj ciklusa; /// Kako pronaći stavku popisa po njezinoj vrijednosti u 1c 8.3, 8.2 ValueTuesday = Popis. FindByValue ("utorak"); /// Kako saznati indeks elementa na listi u 1c 8.3, 8.2 Izvješće (List. Indeks (Značajni utorak)); // 1, budući da je numeriranje od nule /// Kako sortirati popis po vrijednostima u 1c 8.3, 8.2 // bio je: ponedjeljak, utorak, srijeda Popis. Poredaj po vrijednosti (Smjer sortiranja. Silazno); // sada: srijeda, ponedjeljak, utorak /// Kako ukloniti element s popisa vrijednosti u 1c 8.3, 8.2 // ukloniti prvu stavku // parametar: stavka popisa // ili indeks elementa// možete napraviti ovaj popis. Izbriši (Popis [0]); // ili tako // Popis Izbriši (0); /// Kako pomaknuti element liste vrijednosti u 1s 8.3, 8.2 // pomičemo nulti element naprijed za jednu poziciju // bio je: ponedjeljak utorak Popis. Shift (0, 1); // postao: utorak ponedjeljak /// Kako napraviti kopiju liste za 1s 8 Kopija popisa = Popis. Kopiraj (); Boje = Novi popis vrijednosti; Boje. Dodaj ("Crveno"); Boje. Dodaj ("Zeleno"); Boje. Dodaj ("Plavo"); /// Kako učitati vrijednosti liste u niz u 1c 8.3, 8.2 Niz boja = Boje. UnloadValues ​​(); /// Kako učitati vrijednosti liste iz niza u 1c 8.3, 8.2 Boje. LoadValues ​​(arrayColors); Završetak postupka /// Kako napraviti nemoderan odabir vrijednosti s popisa /// vrijednosti u 1s 8.3, 8.2& OnClient postupak Kako napraviti nemodalnu vrijednost odabira (naredbe) boje = Novi popis vrijednosti; Boje. Dodaj ("Crveno"); Boje. Dodaj ("Zeleno"); Boje. Dodaj ("Plavo"); // procedura AfterSelectionElement definirana je odmah ispod AlertAfterItemSelection = Novi opis upozorenja ( "Nakon odabira predmeta", ThisObject); Boje. PrikažiItemSelect (AlertAfterItemSelection, "Odaberi svoju omiljenu boju"); EndProcedure & OnClient Procedure AfterElementSelection (Item, Parameters) Export If Item<>Nedefinirano Zatim izvješće (Element. Vrijednost); Završi ako; Završetak postupka /// Kako bezmodno označiti vrijednosti s popisa /// vrijednosti u 1s 8.3, 8.2& OnClient postupak Kako napraviti non-ModalValuesClicker (Command) boje = NewList; Boje. Dodaj ("Crveno"); Boje. Dodaj ("Zeleno"); Boje. Dodaj ("Plavo"); // procedura AfterSelectElements definirana je odmah ispod AlertAfterElementsClicker = Opis novog upozorenja ( "AfterCelementElements", ThisObject); Boje. ShowElementClick "Odaberi svoje omiljene boje"); Boje. FillRemarks (True); EndProcedure & OnClient Procedure nakon provjere stavki (stavki, parametri) Izvoz ako stavke<>Nedefinirano Tada za svaku boju From Elements Loop If Color. Označite zatim izvješće (Boja. Vrijednost); Završi ako; Kraj ciklusa; Završi ako; Završetak postupka /// Kako napraviti modalni odabir vrijednosti s popisa u 1c 8.3, 8.2& OnClient postupak Kako doModalValueSelection (naredba) Boje = Novi popis vrijednosti; Boje. Dodaj ("Crveno"); Boje. Dodaj ("Zeleno"); Boje. Dodaj ("Plavo"); Odaberite Boja = Boje. Odaberi stavku ( "Odaberi svoju omiljenu boju"); Ako VybColor<>Nedefinirano Zatim izvješće (Odaberi boju. Vrijednost); Završi ako; Završetak postupka /// Kako napraviti modalnu oznaku vrijednosti iz liste /// vrijednosti u 1s 8.3, 8.2& OnClient postupak Kako napraviti ModalValuesList (Command) Boje = NewList ofValues; Boje. Dodaj ("Crveno"); Boje. Dodaj ("Zeleno"); Boje. Dodaj ("Plavo"); Ako Boje. Provjerite stavke ( "Odaberi svoje omiljene boje") Zatim za svaku boju iz petlje boje ako je boja. Označite zatim izvješće (Boja. Vrijednost); Završi ako; Kraj ciklusa; Završi ako; // ali ovako možete postaviti sve oznake odjednom // popis na određenu vrijednost Boje. FillRemarks (True); Završetak postupka /// Preuzmite i pokrenite ove primjere na svom računalu

Do otvori obrazac za odabir s odabirom u 1s 8.2(regularni oblici), moramo izvršiti neke radnje. Prvo ćemo ga dobiti. Nakon toga ćemo postaviti odabir i programski ga otvoriti, evo primjera koda:

Izbor na obrascu u polju za unos 1C 8.2 s nekoliko vrijednosti

U gornjem primjeru, pogledali smo kako postaviti odabir na obrascu za odabir za određenu vrijednost. Sada razmotrimo situaciju kada trebate zamijeniti nekoliko vrijednosti, to može biti, na primjer, i niz i istovar iz rezultata upita. Ovo je odabir u polju za unos 1c s višestrukim značenjima.

Za početak dobivamo obrazac za odabir, u parametrima prosljeđujemo "Element" (vlasnik), postavljamo oznaku načina odabira. Zatim kreiramo popis vrijednosti i niz, imajte na umu da kao odabir, kada je tip usporedbe postavljen na popisu, objekt može biti prisutan samo s vrstom Popis vrijednosti... Dodamo elemente u niz, a zatim učitavamo ovaj niz u Popis vrijednosti, koji smo naknadno postavili u odabiru. Također, ne zaboravite omogućiti oznaku za korištenje ovog odabira i postaviti prikaz usporedbe.

Postavljanje odabira u polje za unos na obrascu u 1C 8.3, događaj StartSelection

Sada razmislite odabir u polju za unos na kontroliranom obrascu u 1C 8.3... Pronađimo na obrascu element koji nas zanima, u kojem ćemo postaviti odabir, u našem slučaju to je polje "Organizacija". Pronađemo događaj "Odaberi početak", kliknemo na povećalo i nađemo se u proceduri. Vidimo parametar ChoiceData, ovaj parametar je tipa ValuesList. Kako bismo ograničili odabir na tražene elemente, moramo ispuniti Popis vrijednosti. Elemente možemo odabrati samo na poslužitelju, tako da kreiramo proceduru s & OnServer direktivom kompilacije. U ovom postupku popunjavamo podatke o odabiru.

Vrlo često je potrebno na obrascu omogućiti korisniku odabir postavki na obrascu (prije pritiska na gumb "Izvrši sve"). Kada trebate odabrati jednu vrijednost od nekoliko unaprijed definiranih, često se koristi padajući popis 1C vrijednosti na obrascu.

Padajući popis 1C vrijednosti na obrascu - dodajte polje za odabir u debeli obrazac klijenta, navedite njegovo ime. Kako biste spriječili korisnika da mijenja popis - poništite potvrdni okvir "Uredi tekst" u svojstvima polja za odabir.

Sam popis odabira bit će dodan programski u obrascu "OnOpening". Polje za odabir ima podređeni popis valueFormElements.ChoiceFieldName.ChoiceList i za postavljanje zadane vrijednosti i za definiranje odabrane valueFormElements.ChoiceFieldName.Value:
Otvoreni postupak ()

FormElements.ValueSelection.ChoiceList.Clear ();
Elementi obrasca.ValueSelection.ChoiceList.Add (0, "Novi dokument");
Elementi obrasca.ValueSelection.ChoiceList.Add (1, "Promijeni dokument");
Elementi obrasca.ValueSelection.ChoiceList.Add (2, "Izbriši dokument");
Elementi obrasca.SelectValues.Value = 0;

Završetak postupka

Padajući popis 1C vrijednosti na obrascu - u tankom klijentu na obrascu morate stvoriti atribut obrasca u koji ćemo pohraniti rezultat, na primjer, s vrstom niza. Povucite ga na oblik.
Padajući popis 1C vrijednosti na obrascu - opcija 1)

  • Uključite gumb za odabir popisa
  • U svojstvu "Popis za odabir" kliknite "..." i unesite opcije
  • Rezultat odabira bit će spremljen u odabrani atribut


Padajući popis 1C vrijednosti na obrascu - opcija 2)

  • Uključite gumb za odabir popisa
  • Dodajte rukovalac "StartSelectionFromList".

& OnClient
Postupak SelectedValueStartSelectFromList (stavka, standardna obrada)

Elements.SelectedValue.ChoiceList.Add ("Dodaj dokument");
Elements.SelectedValue.ChoiceList.Add ("Uredi dokument");
Elements.SelectedValue.ChoiceList.Add ("Izbriši dokument");

Završetak postupka

Rezultat je sličan. Obavezno ako se popis treba ispuniti vezama na imenike/dokumente koji nisu unaprijed definirani.

Padajući popis 1C vrijednosti na obrascu - opcija 3)

Ova opcija radi na sličan način, ali sučelje izgleda drugačije.