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:
Konstruktori:
& 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.