1c nastavená hodnota výběrového seznamu
Úplná syntaxe (kliknutím rozbalíte)
Seznam hodnot
Popis:
Seznam hodnot je objekt, který se neukládá do databáze, což vám umožňuje vytvářet dynamické sady hodnot pro řešení problémů s rozhraním a manipulovat s nimi (přidávat, upravovat, mazat prvky, třídit). Může být naplněn hodnotami libovolného typu, tzn. typy uložených hodnot ve stejném seznamu se mohou lišit. Jedním z příkladů použití tohoto objektu může být organizace výběru konkrétního dokumentu ze seznamu možných dokumentů generovaného složitým algoritmem.
Sbírkové předměty: ItemListValues
Pro objekt je k dispozici procházení kolekce pomocí operátoru Pro každého... Od... Cyklus... Procházení vybere prvky kolekce.
Na prvek kolekce je možné odkazovat pomocí operátoru [...]. Index prvku je předán jako argument ( číslování od 0).
Vlastnosti:
Metody:
Konstruktéři:
& OnClient Procedure ExecuteCode (příkaz) /// Jak vytvořit seznam hodnot v 1c 8.3, 8.2 Seznam = Nový seznam hodnot; /// Jak přidat položku do seznamu hodnot v 1c 8.3, 8.2 // přidat parametry metody:// - význam // - výkon // - značka (volitelné) // - obrázek (volitelné) Seznam. Přidat (1980, // hodnota prvku "Vasya rok narození"// výkon); Seznam. Přidat (1985, "Yuliin rok narození") ; // hodnoty mohou být odlišné typy Seznam. Přidat ("Polina", "Jméno dítěte"); /// Jak vložit prvek do seznamu hodnot v 1s 8.3, 8.2 // vložte na pozici # 2 (prvky jsou číslovány od 0) // prvek s hodnotou 2010 a zobrazení // "Rok narození jejich společné dcery" Seznam. Vložit (2, 2010, „Rok narození jejich společné dcery“) ; /// Jak obejít prvky seznamu hodnot v 1c 8.3, 8.2 Pro každý prvek ze seznamu sestava cyklu (reprezentace prvku + ":" + řetězec (hodnota prvku)); Konec cyklu; /// Jak vymazat seznam hodnot v 1s 8.3, 8.2 Seznam. Průhledná (); Seznam. Přidat ("pondělí"); Seznam. Přidat ("úterý"); Seznam. Přidat ("středa"); /// Jak zjistit také počet prvků seznamu hodnot /// získá prvek seznamu podle jeho indexu v 1s 8.3, 8.2 // číslování od nuly Pro Index = 0 Podle seznamu. Množství () - 1 Zpráva o cyklu (Seznam [Index]); Konec cyklu; /// Jak najít položku seznamu podle její hodnoty v 1c 8.3, 8.2 ValueTuesday = Seznam. FindByValue ("úterý"); /// Jak zjistit index prvku v seznamu v 1s 8.3, 8.2 Zpráva (List. Index (Významné úterý)); // 1, protože číslování je od nuly /// Jak seřadit seznam podle jeho hodnot v 1c 8.3, 8.2 // bylo: pondělí, úterý, středa Seznam. Seřadit podle hodnoty (Směr řazení. Sestupně); // nyní: středa, pondělí, úterý /// Jak odstranit prvek ze seznamu hodnot v 1c 8.3, 8.2 // odstranění první položky // parametr: položka seznamu // nebo index prvku// můžete udělat tento seznam. Smazat (Seznam [0]); // nebo tak // Seznam. Smazat (0); /// Jak posunout prvek seznamu hodnot v 1s 8.3, 8.2 // posun nulového prvku o jednu pozici dopředu // bylo: pondělí úterý Seznam. Shift (0, 1); // stalo se: úterý pondělí /// Jak vytvořit kopii seznamu za 1s 8 Kopie seznamu = seznam. Kopírovat (); Barvy = nový seznam hodnot; Barvy. Přidat ("Červená"); Barvy. Přidat ("Zelená"); Barvy. Přidat ("Modrá"); /// Jak uvolnit hodnoty seznamu do pole v 1c 8.3, 8.2 Pole barev = barvy. UnloadValues (); /// Jak načíst hodnoty seznamu z pole v 1c 8.3, 8.2 Barvy. LoadValues (ArrayColors); Konec procedury /// Jak provést nemodální výběr hodnoty ze seznamu /// hodnoty v 1s 8,3, 8,2& Postup OnClient How toMakeNonmodalValueSelection (Command) Colors = NewList ofValues; Barvy. Přidat ("Červená"); Barvy. Přidat ("Zelená"); Barvy. Přidat ("Modrá"); // postup AfterSelectionElement je definován níže AlertAfterItemSelection = Nový popis upozornění ( "Po výběru položky", ThisObject); Barvy. ShowItemSelect (AlertAfterItemSelection, "Vyberte si svou oblíbenou barvu"); EndProcedure & OnClient Procedure AfterElementSelection (položka, parametry) Export If Item<>Undefined Then Report (Element. Value); EndIf; Konec procedury /// Jak nemodálně označit hodnoty ze seznamu /// hodnoty v 1s 8,3, 8,2& Postup OnClient Jak vytvořit nemodální hodnotyClicker (příkaz) barvy = NewList; Barvy. Přidat ("Červená"); Barvy. Přidat ("Zelená"); Barvy. Přidat ("Modrá"); // postup AfterSelectElements je definován níže AlertAfterElementsClicker = Nový popis upozornění ( "AfterCelementElements", ThisObject); Barvy. ShowElementClick "Vyberte si své oblíbené barvy"); Barvy. FillRemarks (pravda); EndProcedure & OnClient Postup po kontrole položek (položky, parametry) Export If položek<>Nedefinováno Pak pro každou barvu Z prvků Smyčka Pokud Barva. Zaškrtnout a poté nahlásit (hodnota barvy); EndIf; Konec cyklu; EndIf; Konec procedury /// Jak provést modální výběr hodnoty ze seznamu v 1c 8.3, 8.2& Postup OnClient How toModalValueSelection (Command) Barvy = Nový seznam hodnot; Barvy. Přidat ("Červená"); Barvy. Přidat ("Zelená"); Barvy. Přidat ("Modrá"); SelectColor = Barvy. Vybrat předmět ( "Vyberte si svou oblíbenou barvu"); Pokud VybColor<>Undefined Then Report (SelectColor. Value); EndIf; Konec procedury /// Jak vytvořit modální značku hodnot ze seznamu /// hodnoty v 1s 8,3, 8,2& OnClient Postup Jak vytvořitModalValuesList (příkaz) Barvy = NewList ofValues; Barvy. Přidat ("Červená"); Barvy. Přidat ("Zelená"); Barvy. Přidat ("Modrá"); Pokud Barvy. Zkontrolujte položky ( "Vyberte si své oblíbené barvy") Potom pro každou barvu z barevné smyčky, pokud barva. Zaškrtnout a poté nahlásit (hodnota barvy); EndIf; Konec cyklu; EndIf; // ale takto můžete nastavit všechny značky najednou // seznam na konkrétní hodnotu Barvy. FillRemarks (pravda); Konec procedury /// Stáhněte a spusťte tyto příklady na svém počítači |
Na otevřít výběrový formulář s výběrem v 1s 8.2(běžné formy), musíme provést nějaké akce. Dostaneme to jako první. Poté nastavíme výběr a otevřeme jej programově, zde je příklad kódu:
Výběr na formuláři ve vstupním poli 1C 8.2 s několika hodnotami
Ve výše uvedeném příkladu jsme se podívali na jak nastavit výběr na výběrovém formuláři za konkrétní hodnotu. Nyní uvažujme situaci, kdy potřebujete dosadit několik hodnot, může to být například jak pole, tak vyložení z výsledku dotazu. Toto je výběr ve vstupním poli 1c s více významy.
Pro začátek dostaneme formulář výběru, v parametrech předáme "Prvek" (vlastník), nastavíme příznak režimu výběru. Poté vytvoříme seznam hodnot a pole, všimněte si, že jako výběr, když je v seznamu nastaven typ srovnání, může být objekt přítomen pouze s typem Seznam hodnot... Do pole přidáme prvky, toto pole pak načteme do Seznamu hodnot, který následně nastavíme ve výběru. Nezapomeňte také povolit příznak pro použití tohoto výběru a nastavit Porovnávací pohled.
Nastavení výběru ve vstupním poli na formuláři v 1C 8.3, událost StartSelection
Nyní zvažte výběr ve vstupním poli na řízeném formuláři v 1C 8.3... Najdeme ve formuláři prvek, který nás zajímá, ve kterém nastavíme výběr, v našem případě je to pole "Organizace". Najdeme událost „Select Start“, klikneme na lupu a ocitneme se v postupu. Vidíme parametr ChoiceData, tento parametr je typu ValuesList. Abychom výběr omezili na požadované prvky, musíme vyplnit Seznam hodnot. Prvky můžeme vybírat pouze na serveru, proto vytvoříme proceduru s direktivou kompilace & OnServer. V tomto postupu vyplníme Údaje o výběru.
Velmi často je potřeba na formuláři umožnit uživateli vybrat nastavení na formuláři (před stisknutím tlačítka "Spustit vše"). Když potřebujete vybrat jednu hodnotu z několika předdefinovaných, často se používá rozevírací seznam hodnot 1C ve formuláři.
Rozbalovací seznam hodnot 1C ve formuláři - přidejte pole výběru do tlustého formuláře klienta, zadejte jeho název. Chcete-li uživateli zabránit ve změně seznamu - zrušte zaškrtnutí políčka "Upravit text" ve vlastnostech pole výběru.
Samotný výběrový seznam bude přidán programově v obslužné rutině formuláře "OnOpening". Pole select má podřízený seznam valuesFormElements.ChoiceFieldName.ChoiceList a pro nastavení výchozí hodnoty a pro definování vybrané hodnotyFormElements.ChoiceFieldName.Value:
Otevřená procedura ()
FormElements.ValueSelection.ChoiceList.Clear ();
Form Elements.ValueSelection.ChoiceList.Add (0, "Nový dokument");
Form Elements.ValueSelection.ChoiceList.Add (1, "Změnit dokument");
Form Elements.ValueSelection.ChoiceList.Add (2, "Smazat dokument");
Form Elements.SelectValues.Value = 0;
Konec procedury
Rozbalovací seznam hodnot 1C na formuláři - v tenkém klientovi na formuláři je třeba vytvořit atribut formuláře, do kterého uložíme výsledek, například s typem řetězce. Přetáhněte jej na tvar.
Rozbalovací seznam hodnot 1C ve formuláři - Možnost 1)
- Zapněte tlačítko pro výběr seznamu
- Ve Vlastnost "Picklist" klikněte na "..." a zadejte možnosti
- Výsledek výběru se uloží do vybraného atributu
Rozbalovací seznam hodnot 1C ve formuláři - Možnost 2)
- Zapněte tlačítko pro výběr seznamu
- Přidejte obslužnou rutinu "StartSelectionFromList".
& OnClient
Postup SelectedValueStartSelectFromList (položka, standardní zpracování)
Elements.SelectedValue.ChoiceList.Add ("Přidat dokument");
Elements.SelectedValue.ChoiceList.Add ("Upravit dokument");
Elements.SelectedValue.ChoiceList.Add ("Smazat dokument");
Konec procedury
Výsledek je podobný. Povinné, pokud má být seznam naplněn odkazy na adresáře / dokumenty, které nejsou předdefinovány.
Rozbalovací seznam hodnot 1C ve formuláři - Možnost 3)
Tato možnost funguje podobným způsobem, ale rozhraní vypadá jinak.