1s izberite vrednost seznama
Celotna sintaksa (kliknite za razširitev)
Seznam vrednot
Opis:
Seznam vrednosti je predmet, ki ni shranjen v bazi podatkov, ki vam omogoča gradnjo dinamičnih nizov vrednosti za reševanje težav z vmesnikom in njihovo manipulacijo (dodajanje, urejanje, brisanje elementov, razvrščanje). Lahko se napolni z vrednostmi katere koli vrste, t.j. na enem seznamu so lahko vrste shranjenih vrednosti različne. Eden od primerov uporabe tega predmeta je organiziranje izbire določenega dokumenta s seznama možnih dokumentov, ki jih ustvari zapleten algoritem.
Elementi zbirke: ItemListValues
Z operaterjem je mogoče prečkati zbirko za objekt Za vsako ... Od ... Cikel. Prehod izbere elemente zbirke.
Do elementa zbirke je mogoče dostopati z operaterjem [...]. Indeks elementa se posreduje kot argument ( številčenje od 0).
Lastnosti:
Metode:
Konstruktorji:
&Procedura OnClient ExecuteCode (ukaz) /// Kako ustvariti seznam vrednosti v 1s 8.3, 8.2 Seznam = Nov seznam vrednosti; /// Kako dodati element na seznam vrednosti v 1s 8.3, 8.2 // dodaj parametre metode:// - pomen // - zastopanje // - označi (neobvezno) // - slika (obvezno) Seznam. Dodaj (1980, // vrednost elementa "Leto Vasjinega rojstva"// zastopanje ) ; Seznam. Dodaj (1985, "Julijin rojstni dan") ; // vrednosti so lahko različni tipi Seznam. Dodaj("Polina" , "Ime otroka" ) ; /// Kako vstaviti element na seznam vrednosti v 1s 8.3, 8.2 // vstavi na položaj #2 (elementi so oštevilčeni od 0) // element z vrednostjo 2010 in predstavitvijo // "Leto rojstva njune skupne hčerke" Seznam. Prilepi (2, 2010, "Leto rojstva njune skupne hčerke") ; /// Kako zaobiti elemente seznama vrednosti v 1s 8.3, 8.2 Za vsak element poročilo o zanki seznama( Element. Pogled + ": " + String(Element. Vrednost) ) ; EndCycle ; /// Kako počistiti seznam vrednosti v 1s 8.3, 8.2 Seznam. Počisti() ; Seznam. Dodaj ("ponedeljek"); Seznam. Dodaj ("torek"); Seznam. Dodaj ("sreda"); /// Kako ugotoviti število elementov seznama vrednosti in tudi /// dobimo element seznama po njegovem indeksu v 1s 8.3, 8.2 // oštevilčenje od nič Za Indeks = 0 Po seznamu. Količina() - 1 poročilo zanke (seznam[indeks]); EndCycle ; /// Kako najti element seznama po njegovi vrednosti v 1s 8.3, 8.2 ValueTuesday = Seznam. FindByValue("torek"); /// Kako najti indeks elementa na seznamu v 1s 8.3, 8.2 Poročilo(Indeks seznama(ValueTuesday) ) ; // 1, saj je oštevilčenje od nič /// Kako razvrstiti seznam po njegovih vrednostih v 1s 8.3, 8.2 // je bilo: ponedeljek, torek, sreda Seznam. SortByValue(SortingDirection. Padajoče) ; // postal: sreda, ponedeljek, torek /// Kako odstraniti element s seznama vrednosti v 1s 8.3, 8.2 // odstranimo prvi element // parameter: element seznama // ali indeks elementa// lahko naredite ta seznam. Izbriši (Seznam[0]) ; // ali tako // Seznam.Delete(0); /// Kako premakniti element seznama vrednosti v 1s 8.3, 8.2 // premaknite ničelni element za eno pozicijo naprej // je bilo: ponedeljek torek Seznam. Premakni (0, 1); // postal: torek ponedeljek /// Kako narediti kopijo seznama v 1s 8 ListCopy = Seznam. Kopirati() ; Barve = Nov seznam vrednosti; Barve. Dodaj ("Rdeča"); Barve. Dodaj ("Zelena"); Barve. Dodaj ("Modra"); /// Kako razložiti vrednosti seznama v matriko v 1 s 8.3, 8.2 ArrayColors = Barve. UnloadValues() ; /// Kako naložiti vrednosti seznama iz matrike v 1s 8.3, 8.2 Barve. LoadValues (ArrayColors) ; Končni postopek /// Kako narediti brezmoden izbor vrednosti s seznama /// vrednosti v 1s 8.3, 8.2&OnClient postopek Kako narediti barve ModalSelectValue(Command) = Nov seznam vrednosti; Barve. Dodaj ("Rdeča"); Barve. Dodaj ("Zelena"); Barve. Dodaj ("Modra"); // postopek AfterItemSelect je definiran tik spodaj AlertAfterItemSelection = Nov opis opozorila( "AfterElementSelection", Ta predmet ) ; Barve. PokažiItemChoice( AlertAfterItemChoice, "Izberi svojo najljubšo barvo") ; EndProcedure &AtClient Procedure AfterElementSelection(Element, Parameters) Export If Element<>Nedefinirano Nato poročilo (Postavka. Vrednost) ; EndIf ; Končni postopek /// Kako narediti nemodalno oznako vrednosti s seznama /// vrednosti v 1s 8.3, 8.2&Postopek na odjemalcu Kako narediti barve modalne oznake vrednosti (ukaz) = Nov seznam vrednosti; Barve. Dodaj ("Rdeča"); Barve. Dodaj ("Zelena"); Barve. Dodaj ("Modra"); // postopek AfterMarkingItems je definiran tik spodaj AlertAfterMarkItems = Nov opis opozorila( "Po označevanju elementov", Ta predmet ) ; Barve. PokažiItemMark (ObvestiloAfterItemMark, "Izberi svoje najljubše barve") ; Barve. FillRemarks(True) ; EndProcedure &OnClient Procedure AfterMarkingElements(Elements, Parameters) Export If Elements<>Nedefinirano Potem Za vsako barvo iz elementov Zanka, če barva. Označi in nato poroča (barva. vrednost) ; EndIf ; EndCycle ; EndIf ; Končni postopek /// Kako narediti modalni izbor vrednosti s seznama v 1s 8.3, 8.2&Pri postopku odjemalca Kako narediti barve ModalSelectValue(Command) = Nov seznam vrednosti; Barve. Dodaj ("Rdeča"); Barve. Dodaj ("Zelena"); Barve. Dodaj ("Modra"); Izberite Barva = Barve. Izberi predmet( "Izberi svojo najljubšo barvo") ; Če izberete barvo<>Nedefinirano Nato poročilo (Izberi barvo. Vrednost) ; EndIf ; Končni postopek /// Kako narediti modalno oznako vrednosti s seznama /// vrednosti v 1s 8.3, 8.2&Postopek na odjemalcu Kako narediti barve modalne oznake vrednosti (ukaz) = Nov seznam vrednosti; Barve. Dodaj ("Rdeča"); Barve. Dodaj ("Zelena"); Barve. Dodaj ("Modra"); Če barve. Označi predmete ( "Izberi svoje najljubše barve") Nato za vsako barvo iz barvnega cikla, če je barva. Označi in nato poroča (barva. vrednost) ; EndIf ; EndCycle ; EndIf ; // in tako lahko nastavite vse oznake naenkrat // seznam na določeno vrednost Barve. FillRemarks(True) ; Končni postopek /// Prenesite in zaženite te primere v računalniku |
Da bi odprite izbirni obrazec z izbiro v 1 s 8.2(redne oblike), moramo izvesti nekaj dejanj. Najprej ga dobimo. Po tem bomo nastavili izbor in ga programsko odprli, tukaj je primer kode:
Izbira na obrazcu v vnosnem polju 1C 8.2 z več vrednostmi
V zgornjem primeru smo upoštevali kako nastaviti izbor na izbirnem obrazcu po določeni vrednosti. Zdaj pa razmislimo o situaciji, ko morate zamenjati več vrednosti, na primer, lahko je tako matrika kot razkladanje iz rezultata poizvedbe. To je izbor v vnosnem polju 1s z več pomeni.
Najprej dobimo izbirni obrazec, v parametrih prenesemo "Element" (lastnik), nastavimo zastavico izbirnega načina. Nato ustvarimo seznam vrednosti in matriko, pri čemer opazimo, da je kot izbor, ko je nastavljena vrsta primerjave na seznamu, lahko samo predmet z vrsto Seznam vrednot. V matriko dodamo elemente, nato pa to matriko naložimo v Seznam vrednosti, ki jih posledično nastavimo v izboru. Prav tako ne pozabite omogočiti zastave za uporabo te izbire in nastaviti vrsto primerjave.
Nastavitev izbire v vnosnem polju na obrazcu v 1C 8.3, dogodek StartChoice
Zdaj razmislite izbor v vnosnem polju na upravljanem obrazcu v 1C 8.3. Na obrazcu poiščemo element, ki nas zanima, v katerem bomo postavili izbor, v našem primeru je to polje "Organizacija". Najdemo dogodek »StartChoice«, kliknemo na povečevalno steklo in se znajdemo v postopku. Vidimo parameter ChoiceData, ta parameter je tipa ValueList. Da omejimo izbor na potrebne elemente, moramo izpolniti Seznam vrednosti. Elemente lahko izberemo samo na strežniku, zato ustvarimo proceduro z direktivo za prevajanje &AtServer. V tem postopku izpolnimo izbirne podatke.
Zelo pogosto je treba na obrazcu omogočiti uporabniku, da izbere nastavitve na obrazcu (preden klikne gumb "Zaženi vse"). Ko morate izbrati eno vrednost med več vnaprej določenimi, se pogosto uporablja spustni seznam vrednosti 1C na obrazcu.
Spustni seznam vrednosti 1C na obrazcu - dodajte izbirno polje debelemu odjemalskemu obrazcu, navedite njegovo ime. Če želite preprečiti uporabniku, da bi spreminjal seznam, počistite polje »Urejanje besedila« v lastnostih izbirnega polja.
Sam izborni seznam bomo dodali programsko v upravljalnik obrazca "Ob odprtju". Izbirno polje ima podseznam vrednosti FormElements.SelectionFieldName.SelectionList in za nastavitev privzete vrednosti ter za določitev izbrane vrednosti FormElements.SelectionFieldName.Value:
Postopek OnOpen()
FormElements.ChoiceValues.ChoiceList.Clear();
FormElements.ChoiceValues.ChoiceList.Add(0, "Ustvari dokument");
FormElements.ChoiceValues.ChoiceList.Add(1, "Spremeni dokument");
FormElements.ChoiceValues.ChoiceList.Add(2, "Izbriši dokument");
FormElements.SelectValues.Value = 0;
Končni postopek
Spustni seznam vrednosti 1C na obrazcu - v tankem odjemalcu na obrazcu morate ustvariti atribut obrazca, v katerega bomo shranili rezultat, na primer z vrsto niza. Povlecite ga na obrazec.
Spustni seznam vrednosti 1C na obrazcu - možnost 1)
- Omogoči gumb za izbiro seznama
- V lastnosti "Seznam izbire" kliknite "..." in vnesite možnosti
- Rezultat izbire se shrani v izbrani atribut
Spustni seznam vrednosti 1C na obrazcu - možnost 2)
- Omogoči gumb za izbiro seznama
- Dodaj upravljalnik "Začetek SelectionFromList"
&AtClient
Postopek SelectedValueStartSelectionFromList(Element, StandardProcessing)
Elements.SelectedValue.SelectionList.Add("Dodaj dokument");
Elements.SelectedValue.SelectionList.Add("Uredi dokument");
Elements.SelectedValue.SelectionList.Add("Izbriši dokument");
Končni postopek
Rezultat je podoben. Obvezno, če je treba seznam napolniti s sklici na imenike/dokumente, ki niso vnaprej določeni.
Spustni seznam vrednosti 1C na obrazcu - možnost 3)
Ta možnost deluje podobno, vendar je vmesnik videti drugače.