Nustatykite reikšmių sąrašo vertės tipą. Į reikšmių sąrašą įveskite apribojimą

Visa sintaksė (spustelėkite norėdami išplėsti)

ListValues

Apibūdinimas:

Vertybių sąrašas yra duomenų bazėje neišsaugomas objektas, leidžiantis kurti dinaminius reikšmių rinkinius sąsajos problemoms spręsti ir jais manipuliuoti (pridėti, redaguoti, ištrinti elementus, rūšiuoti). Jis gali būti užpildytas bet kokio tipo reikšmėmis, t.y. Viename sąraše saugomų verčių tipai gali būti skirtingi. Vienas iš šio objekto naudojimo pavyzdžių yra konkretaus dokumento atrankos organizavimas iš galimų dokumentų sąrašo, sugeneruotų naudojant sudėtingą algoritmą.

Kolekcijos elementai: ValueListElement

Objektas gali apeiti kolekciją naudojant operatorių Kiekvienam... Nuo... Ciklas. Traversal parenkami kolekcijos elementai.

Kolekcijos elementą galima pasiekti naudojant [...] operatorių. Elemento indeksas perduodamas kaip argumentas ( numeracija nuo 0).

Savybės:

Metodai:

Įterpti (indeksas, reikšmė, reprezentacija, etiketė, vaizdas) Į reikšmių sąrašą įterpia naują elementą nurodyto indekso vietoje.SelectElement (pavadinimas, elementas) Iškviečia langą, kuriame interaktyviai galima pasirinkti vieną iš elementų, įtrauktų į reikšmių sąrašą. Elementas- elementas, prie kurio iš pradžių turėtų būti įtrauktas reikšmių sąrašas interaktyvaus pasirinkimo metu. Jei parametro reikšmė nėra reikšmių sąrašo elementas, įtrauktas į nurodytą sąrašą, padėties nustatymas nebus atliekamas.UnloadValues() Sukuria masyvą ir į jį nukopijuoja reikšmių sąrašo elementų reikšmes.Pridėti (vertė, reprezentacija, etiketė, vaizdas) reikšmių sąrašo pabaigoje prideda naują elementą.LoadValues(ArrayValues) Įkelia reikšmių sąrašą su reikšmėmis iš perduoto masyvo. Tokiu atveju visi ankstesni sąrašo elementai ištrinami.Užpildykite pastabas(Pažymėti) Nustato ženklą visiems reikšmių sąrašo elementams.Indeksas (Elementas) Gauna elemento indeksą reikšmių sąraše. Jei nerasta, grąžinamas -1.Count() Gauna elementų skaičių reikšmių sąraše.FindByValue(SearchValue) Ieško elemento vertės reikšmių sąraše. Jei joks elementas nesaugo reikšmės, lygios paieškos reikšmei, vertė grąžinama Neapibrėžtas. Rasti pagal ID(Identifier)Gauna reikšmių sąrašo elementą pagal identifikatorių. Jei elementas nerastas, jis grąžinamas Neapibrėžtas. MarkItems(Antraštė) Nustato arba panaikina žymėjimą (interaktyviai) reikšmių sąrašo elementus. Grąžina Tiesa, jei dialogo lange paspaudžiamas mygtukas „Gerai“, Melas- kitaip.Clear() Išvalo reikšmių sąrašą ir pašalina iš jo visus elementus.ShowElementSelection(DescriptionNotificationsOnClosing, Title, Element) Iškviečia langą, kuriame interaktyviai galima pasirinkti vieną iš elementų, įtrauktų į reikšmių sąrašą.„ShowMark“ elementai(Uždarymo įspėjimų aprašymas, Antraštė) Skirta interaktyviai nustatyti žymų būsenas reikšmių sąrašo elementams.Gauti(Index)Gauna reikšmę pagal indeksą. Veikia panašiai kaip operatorius.Shift (elementas, poslinkis) Perkelia reikšmių sąrašo elementą į priekį arba atgal nurodytu pozicijų skaičiumi.Copy() Sukuria reikšmių sąrašo kopiją.RūšiuotiByValue(Kryptis) Surūšiuoja reikšmių sąrašą elementų saugomų reikšmių didėjimo arba mažėjimo tvarka. Žiūrėkite pavyzdį žemiau.Rūšiuoti pagal vaizdą(Kryptis) Rikiuoja reikšmių sąrašą didėjimo arba mažėjimo tvarka abėcėlės tvarka pagal į reikšmių sąrašą įtrauktų elementų atvaizdavimą. Žiūrėkite pavyzdį žemiau.Pašalinti (Elementas) Pašalina elementą iš reikšmių sąrašo, kur Elementas- elemento, kurį reikia ištrinti, indeksas arba pats elementas.

Dizaineriai:

Naujas vertybių sąrašas
&OnClient procedūros vykdymo kodas (komanda) /// Kaip sukurti reikšmių sąrašą 1s 8.3, 8.2 Sąrašas = New ValueList; /// Kaip įtraukti elementą į reikšmių sąrašą 1s 8.3, 8.2 // pridėti metodo parametrus:// - prasmė // - spektaklis // - ženklas (būtina) // - nuotrauka (būtina) Sąrašas. Add (1980, // elemento reikšmė „Vasijos gimimo metai“// spektaklis ) ; Sąrašas. Add(1985, „Julijos gimimo metai“) ; // reikšmės gali būti įvairių tipų Sąrašas. Add("Polina" , "Vaiko vardas" ) ; /// Kaip įterpti elementą į reikšmių sąrašą 1s 8.3, 8.2 // įterpti į vietą Nr. 2 (elementai numeruojami nuo 0) // elementas su reikšme 2010 ir reprezentacija // „Metai, kuriais gimė jų bendra dukra“ Sąrašas. Insert(2, 2010, „Metai, kuriais gimė jų bendra dukra“) ; /// Kaip apeiti reikšmių sąrašo elementus 1s 8.3, 8.2 Kiekvienam elementui iš sąrašo ciklo ataskaitos( Element. Reprezentation + ": " + String(Element. Value) ) ; EndCycle ; /// Kaip išvalyti reikšmių sąrašą 1s 8.3, 8.2 Sąrašas. Išvalyti () ; Sąrašas. Add("pirmadienis"); Sąrašas. Add("antradienis"); Sąrašas. Add("trečiadienis" ); /// Kaip sužinoti reikšmių sąrašo elementų skaičių, taip pat /// gauti sąrašo elementą pagal jo indeksą 1s 8.3, 8.2 // numeravimas nuo nulio Indeksui = 0 pagal sąrašą. Kiekis() - 1 ciklo ataskaita(sąrašas[indeksas]) ; EndCycle ; /// Kaip rasti sąrašo elementą pagal jo reikšmę 1s 8.3, 8.2 ValueTuesday = sąrašas. FindByValue("antradienis"); /// Kaip sužinoti elemento indeksą sąraše 1s 8.3, 8.2 Report(Sąrašas.Indeksas(ValueAntradienis)) ; // 1, nes numeracija prasideda nuo nulio /// Kaip rūšiuoti sąrašą pagal jo reikšmes 1s 8.3, 8.2 // buvo: pirmadienis, antradienis, trečiadienis Sąrašas. RūšiuotiByValue(Rūšiavimo kryptis.Descending) ; // tapo: Trečiadienis, Pirmadienis, Antradienis /// Kaip pašalinti elementą iš reikšmių sąrašo 1s 8.3, 8.2 // pašalinti pirmąjį elementą // parametras: sąrašo elementas // arba elemento indeksas// galite padaryti šį sąrašą. Ištrinti(Sąrašas[ 0 ]) ; // arba taip // Sąrašas.Ištrinti(0); /// Kaip perkelti reikšmių sąrašo elementą per 1s 8.3, 8.2 // perkelkite nulinį elementą viena pozicija į priekį // buvo: pirmadienis antradienis Sąrašas. Perkelti(0, 1); // tapo: antradienis pirmadienis /// Kaip padaryti sąrašo kopiją 1s 8 ListCopy = Sąrašas. Kopijuoti () ; Spalvos = NewValueList; Spalvos. Pridėti("raudona"); Spalvos. Pridėti ("Žalia"); Spalvos. Pridėti ("Mėlyna"); /// Kaip įkelti sąrašo reikšmes į masyvą per 1s 8.3, 8.2 ArrayColors = spalvos. UnloadValues() ; /// Kaip įkelti sąrašo reikšmes iš masyvo per 1s 8.3, 8.2 Spalvos. LoadValues(ArrayColors) ; Procedūros pabaiga /// Kaip pasirinkti bemodelį vertės iš sąrašo /// reikšmės 1s 8.3, 8.2&Apie kliento procedūrą Kaip atlikti nemodalinės vertės pasirinkimą (komandos) Spalvos = naujas vertybių sąrašas; Spalvos. Pridėti("raudona"); Spalvos. Pridėti ("Žalia"); Spalvos. Pridėti ("Mėlyna"); // procedūra AfterSelectingElement yra apibrėžta žemiau AlertAfterElementSelection = Naujas aprašymasAlerts( „AfterElement Selection“, ThisObject ); Spalvos. ShowElementSelection( NotificationAfterElementSelection, "Pasirinkite savo mėgstamą spalvą") ; Procedūros pabaiga & Kliento procedūra Pasirinkus elementą (elementą, parametrus) Eksportuoti, jei elementas<>Neapibrėžta Tada ataskaita(Elementas.Value) ; EndIf ; Procedūros pabaiga /// Kaip iš sąrašo bemodelį reikšmių žymėjimą /// reikšmės 1s 8.3, 8.2&Apie kliento procedūrą Kaip atlikti nemodalinį verčių žymėjimą (komandos) spalvos = naujas vertybių sąrašas; Spalvos. Pridėti("raudona"); Spalvos. Pridėti ("Žalia"); Spalvos. Pridėti ("Mėlyna"); // procedūra AfterMarkingElements yra apibrėžta žemiau AlertAfterMarkingItems = Naujas aprašymasAlerts( "Požymėjimo elementai", ThisObject ); Spalvos. ShowTagItems (AlertAfterTagItems, "Pasirinkite savo mėgstamas spalvas") ; Spalvos. FillNotes(True) ; Procedūros pabaiga & Kliento procedūra pažymėjus elementus (elementus, parametrus) Eksportuoti jei elementus<>Neapibrėžta Tada kiekvienai spalvai iš elementų ciklas Jei spalva. Pažymėti tada ataskaita(Spalva.Vertė) ; EndIf ; EndCycle ; EndIf ; Procedūros pabaiga /// Kaip atlikti modalinį vertės pasirinkimą iš sąrašo 1s 8.3, 8.2&Apie kliento procedūrą Kaip padaryti ModalValueSelection(Command) Colors = New ValueList; Spalvos. Pridėti("raudona"); Spalvos. Pridėti ("Žalia"); Spalvos. Pridėti ("Mėlyna"); SelectColor = spalvos. SelectItem( "Pasirinkite savo mėgstamą spalvą") ; Jei SelectColor<>Neapibrėžta Tada ataskaita(SelectColor.Value) ; EndIf ; Procedūros pabaiga /// Kaip modaliai pažymėti reikšmes iš sąrašo /// reikšmės 1s 8.3, 8.2&Apie kliento procedūrą Kaip sukurti modalinį vertybių ženklą (komandos) spalvos = naujas vertybių sąrašas; Spalvos. Pridėti("raudona"); Spalvos. Pridėti ("Žalia"); Spalvos. Pridėti ("Mėlyna"); Jei Spalvos. MarkItems( "Pasirinkite savo mėgstamas spalvas") Tada kiekvienai spalvai iš spalvų ciklo, jei spalva. Pažymėti tada ataskaita(Spalva.Vertė) ; EndIf ; EndCycle ; EndIf ; // taip galite nustatyti visus ženklus vienu metu // sąrašą iki konkrečios reikšmės Spalvos. FillNotes(True) ; Procedūros pabaiga /// Atsisiųskite ir paleiskite šiuos pavyzdžius savo kompiuteryje

10 VIENETAS. VERČIŲ SĄRAŠAS 1C KALBA (PAvyzdžiais)

Apibūdinimas:

Vertybių sąrašas yra duomenų bazėje neišsaugomas objektas, leidžiantis kurti dinaminius reikšmių rinkinius sąsajos problemoms spręsti ir jais manipuliuoti (pridėti, redaguoti, ištrinti elementus, rūšiuoti). Jis gali būti užpildytas bet kokio tipo reikšmėmis, t.y. Viename sąraše saugomų verčių tipai gali būti skirtingi. Vienas iš šio objekto naudojimo pavyzdžių yra konkretaus dokumento atrankos organizavimas iš galimų dokumentų sąrašo, sugeneruotų naudojant sudėtingą algoritmą.

Kolekcijos elementai: ValueListElement

Objektas gali apeiti kolekciją naudojant operatorių Kiekvienam ... Nuo ... Ciklas. Traversal parenkami kolekcijos elementai.

Prie kolekcijos elemento galima prieiti naudojant [...] operatorių. Elemento indeksas (numeracija nuo 0) perduodamas kaip argumentas.

Savybės:

Galimos vertės

Jis naudojamas tais atvejais, kai reikia apriboti galimybę nustatyti sąrašo elementų reikšmes tam tikram galiojančio tipo reikšmių poaibiui (jei sąrašui nustatytas tipo aprašymas). Neapibrėžtas- nėra jokių apribojimų.

Šios ypatybės nustatymas turi įtakos reikšmių sąrašo redagavimo dialogo lango veikimui, valdikliams „Lentelė“ ir „Įvesties laukas“, susietas su reikšmių sąrašu, taip pat programiniam įtraukimui ir naujo reikšmių sąrašo elemento įterpimui. ir sąrašo elementų verčių nustatymas.

TypeValue

Apibrėžia reikšmių, kurios gali būti saugomos nurodyto reikšmių sąrašo elementuose, tipą.

Įdėti(,)

Į reikšmių sąrašą įterpia naują elementą nurodyto indekso vietoje.

Pasirinkite elementą (,)

Elementas- elementas, prie kurio iš pradžių turėtų būti įtrauktas reikšmių sąrašas interaktyvaus pasirinkimo metu. Jei parametro reikšmė nėra reikšmių sąrašo elementas, įtrauktas į nurodytą sąrašą, padėties nustatymas nebus atliekamas.

UnloadValues ​​()

Sukuria masyvą ir į jį nukopijuoja reikšmių sąrašo elementų reikšmes.

Add(,) Prideda naują elementą reikšmių sąrašo pabaigoje.

Įkėlimo vertės ()

Įkelia reikšmių sąrašą su reikšmėmis iš perduoto masyvo. Tokiu atveju visi ankstesni sąrašo elementai ištrinami.

Užpildykite pastabas ()

Nustato ženklą visiems reikšmių sąrašo elementams. Indeksas (elementas>)

Gauna elemento indeksą reikšmių sąraše. Jei nerasta, grąžinamas -1.

Kiekis ()

Gauna reikšmių sąrašo elementų skaičių.

FindByValue()

Ieško elemento vertės reikšmių sąraše. Jei joks elementas nesaugo reikšmės, lygios paieškos reikšmei, vertė grąžinama Neapibrėžtas.

FindByIdentifier()

Gauna reikšmių sąrašą pagal id. Jei elementas nerastas, jis grąžinamas Neapibrėžtas.

MarkItems ()

Nustato arba panaikina žymėjimą (interaktyviai) reikšmių sąrašo elementus. Grąžina Tiesa, jei dialogo lange paspaudžiamas mygtukas „Gerai“, Melas- kitaip.

Išvalyti ()

Išvalomas reikšmių sąrašas pašalinant iš jo visus elementus.

ShowElementSelection(,)

Iškviečiamas langas, kuriame galima interaktyviai pasirinkti vieną iš elementų, įtrauktų į reikšmių sąrašą.

ShowMark Items(,)

Sukurta interaktyviai nustatyti vertybių sąrašo elementų žymų būsenas.

Gauti ()

Gauna vertę pagal indeksą. Veikia panašiai kaip operatorius);

EndCycle;

III Kaip rasti sąrašo elementą pagal jo vertę 1C

ValueAntradienis = List.FindByValue("Antradienis");

III Kaip sužinoti elemento indeksą sąraše 1C

Report(Sąrašas.Indeksas(ValueAntradienis));

// 1, nes numeracija prasideda nuo nulio

III Kaip rūšiuoti sąrašą pagal jo reikšmes 1C

List.SortByValue

(Rūšiavimo kryptis. Mažėjanti);

III Kaip pašalinti elementą iš 1C verčių sąrašo

// pašalinti pirmąjį sąrašo elementą. Ištrinti(Sąrašas);

// parametras: sąrašo elementas

III Kaip perkelti verčių sąrašo elementą 1C

// perstumti pirmąjį elementą viena pozicija į priekį List.Shift(0, 1);

III Kaip padaryti sąrašo kopiją 1C

ListCopy = List.Copy);

Spalvos = NewValueList();

Spalvos. Pridėti ("raudona");

Spalvos. Pridėti ("žalia");

Spalvos. Pridėti ("mėlyna");

III Kaip iškelti sąrašo reikšmes į masyvą 1C

ArrayColors = spalvos. UnloadValues();

III Kaip įkelti sąrašo reikšmes iš masyvo 1C

Colors.LoadValues(ColorsArray);

III Kaip atlikti modalinį vertės pasirinkimą iš sąrašo 1C

Pasirinkite spalvą =

Colors.SelectItem("Pasirinkite mėgstamą spalvą"); Jei SelectColor neapibrėžta, tada Report(SelectColor.Value);

endIf;

III Kaip padaryti modalinį reikšmių ženklą iš 1C sąrašo

Jei Colors.MarkElements("Pasirinkite mėgstamas spalvas") Tada

Kiekvienai spalvai iš spalvų ciklo, jei spalva. Pažymėti tada ataskaita(Spalva.Vertė);

endIf;

EndCycle;

endIf;

// galite nustatyti visus ženklus iš karto į konkrečią spalvos reikšmę. Užpildykite pastabas (Tiesa);

Dažnai pasitaiko situacijų, kai redaguojant reikšmių sąrašą reikia apriboti galimų pasirinkti duomenų tipus. Jei, atsižvelgiant į problemos sąlygas, žinoma, kad reikšmių sąraše bus tik vieno konkretaus tipo duomenys, prasminga apriboti galimus tipus. Priešingu atveju, redaguodamas, vartotojas yra priverstas savarankiškai pasirinkti tipą iš visų konfigūracijoje esančių, o tai yra nepatogu.

Šiuo tikslu formos atributas su tipu „Verčių sąrašas“ turi ypatybę „Vertės tipas“. Tačiau jei formoje norime rodyti lentelę (arba lauką), susietą su objekto atributu (ne forma), tokia savybė ypatybių paletėje nebus rodoma. Ką daryti?

Panagrinėkime pavyzdį, kuriame norime parodyti ataskaitos parinkties pasirinkimo formą formoje. Turėsime vieną pasirinkimo elementą su palyginimo tipu „Sąraše“, todėl formoje rodyti standartinės duomenų sudėties pasirinkimą yra nepraktiška. Norėdami tai padaryti, sukursime naują ataskaitos atributą su tipu „Verčių sąrašas“, per kurį tvarkysime maketo pasirinkimo reikšmę. Tačiau ataskaitos atributas neturi nuosavybės „Vertės tipas“.

Formoje sukurkime kitą atributą su tipu „Verčių sąrašas“. Ji jau turės šį turtą. Pasirinkime duomenų tipą, kurio mums reikia šioje ypatybėje ir pateiksime šį atributą formoje.

Turite klausimų ar reikia konsultanto pagalbos?

Dabar turime nustatyti formos atributų ir ataskaitos atributų sinchronizavimą. Tokiu atveju formos modulio kodas atrodys maždaug taip:

Norėčiau pažymėti, kad sąrašo elementai po vieną perduodami cikle nebuvo atlikti atsitiktinai. Jei parašysi

ThisForm.SelectionValue = SelectionElement.RightValue;

pagal analogiją su

Report.SelectionValue = SelectionElement.RightValue;

tai neduos reikiamo efekto, nes... šiuo atveju nukopijuojamas visas sąrašas su visomis ypatybėmis, įskaitant ypatybę „Value Type“, kuri nėra užpildyta pasirinkimo elementui.RightValue. Taigi, mūsų nustatytas vertės tipas bus nustatytas iš naujo.