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