1s 8 მნიშვნელობების სია სიიდან
ძალიან ხშირად საჭიროა, რომ მომხმარებელს მიეცეს საშუალება აირჩიოს პარამეტრები ფორმაში (სანამ დააწკაპუნებთ ღილაკზე „ყველას გაშვება“). როდესაც თქვენ გჭირდებათ ერთი მნიშვნელობის არჩევა რამდენიმე წინასწარ განსაზღვრულიდან, ხშირად გამოიყენება 1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე.
1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე - დაამატეთ შერჩევის ველი სქელი კლიენტის ფორმაში, მიუთითეთ მისი სახელი. იმისათვის, რომ მომხმარებელმა არ შეცვალოს სია, მოხსენით მონიშვნა „ტექსტის რედაქტირება“ შერჩევის ველის თვისებებში.
ჩვენ დავამატებთ თავად შერჩევის სიას პროგრამულად "გახსნის" ფორმის დამმუშავებელში. შერჩევის ველს აქვს მნიშვნელობების დაქვემდებარებული სია FormItems.SelectionFieldName.ChoiceList და ნაგულისხმევი მნიშვნელობის დასაყენებლად და არჩეული მნიშვნელობის განსაზღვრისთვის FormItems.SelectionFieldName.Value:
პროცედურა OnOpen()
FormElements.ValueSelection.SelectionList.Clear();
Form Elements.Value Selection.Selection List.Add(0, "Create Document");
Form Elements.Value Selection.Selection List.Add(1, "Edit Document");
Form Elements.Value Selection.Selection List.Add(2, "Delete Document");
FormElements.ValueSelection.Value = 0;
პროცედურის დასასრული
1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე - in თხელი კლიენტიფორმაზე უნდა შევქმნათ ფორმის ატრიბუტი, რომელშიც შევინახავთ შედეგს, მაგალითად string ტიპის. გადაიტანეთ იგი ფორმაზე.
1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე - ვარიანტი 1)
- ჩართეთ სიის შერჩევის ღილაკი
- Select List თვისებაში დააწკაპუნეთ "..." და შეიყვანეთ პარამეტრები
- შერჩევის შედეგი შეინახება არჩეულ ატრიბუტში
1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე - ვარიანტი 2)
- ჩართეთ სიის შერჩევის ღილაკი
- მოდით დავამატოთ დამმუშავებელი „სიიდან შერჩევის დაწყება“
&OnClient
პროცედურა SelectedValueStartSelectionFromList(ელემენტი, სტანდარტული დამუშავება)
Items.SelectedValue.SelectionList.Add("დოკუმენტის დამატება");
Items.SelectedValue.SelectionList.Add("დოკუმენტის რედაქტირება");
Items.SelectedValue.SelectionList.Add("დოკუმენტის წაშლა");
პროცედურის დასასრული
შედეგი მსგავსია. აუცილებელია, თუ სია უნდა შეივსოს საცნობარო წიგნების/დოკუმენტების მითითებით, რომლებიც წინასწარ არ არის განსაზღვრული.
1C მნიშვნელობების ჩამოსაშლელი სია ფორმაზე - ვარიანტი 3)
ეს ვარიანტი მუშაობს ანალოგიურად, მაგრამ ინტერფეისი განსხვავებულია.
Იმისათვის, რომ გახსენით შერჩევის ფორმა შერჩევით 1-ში 8.2(ჩვეულებრივი ფორმები), ჩვენ გვჭირდება გარკვეული მოქმედებების შესრულება. ჯერ მივიღებთ. ამის შემდეგ, ჩვენ დავაყენებთ არჩევანს და გავხსნით მას პროგრამულად, აქ არის კოდის მაგალითი:
ფორმაზე შერჩევა 1C 8.2 შეყვანის ველში რამდენიმე მნიშვნელობით
ზემოთ მოცემულ მაგალითში ჩვენ შევხედეთ როგორ დავაყენოთ შერჩევა შერჩევის ფორმაზეკონკრეტული ღირებულებით. ახლა მოდით შევხედოთ სიტუაციას, როდესაც თქვენ უნდა შეცვალოთ რამდენიმე მნიშვნელობა, ეს შეიძლება იყოს, მაგალითად, მასივი ან გადმოტვირთვა შეკითხვის შედეგიდან. ეს არის არჩევანი 1c შეყვანის ველშიმრავალი მნიშვნელობით.
პირველ რიგში, ჩვენ ვიღებთ შერჩევის ფორმას, გადავცემთ "ელემენტს" (მფლობელს) პარამეტრებში, ვაყენებთ შერჩევის რეჟიმის დროშას. შემდეგ ჩვენ ვქმნით მნიშვნელობების და მასივის ჩამონათვალს, აღვნიშნავთ, რომ როგორც შერჩევა სიაში შედარების ტიპის დაყენებისას, ობიექტი შეიძლება იყოს მხოლოდ ტიპით. ListValues. ჩვენ ვამატებთ ელემენტებს მასივში, შემდეგ ვტვირთავთ ამ მასივს მნიშვნელობების სიაში, რომელიც შემდგომ დავაყენეთ შერჩევაში. ასევე, არ დაგავიწყდეთ ამ შერჩევის გამოყენების დროშის ჩართვა და შედარების ტიპის დაყენება.
შერჩევის დაყენება შეყვანის ველში ფორმაში 1C 8.3, Start of Selection ღონისძიება
ახლა განვიხილოთ შერჩევა შეყვანის ველში ჩართულია მართვადი ფორმით 1C-ში 8.3. მოდი ვიპოვოთ ფორმაზე ჩვენთვის საინტერესო ელემენტი, რომელშიც დავაყენებთ არჩევანს, ჩვენს შემთხვევაში ეს არის ველი "ორგანიზაცია". ჩვენ ვპოულობთ ღონისძიებას „შერჩევის დაწყება“, ვაწკაპუნებთ გამადიდებელ შუშაზე და აღმოვჩნდებით პროცედურაში. ჩვენ ვხედავთ Selection Data პარამეტრს; ეს პარამეტრი არის ValueList ტიპის. იმისათვის, რომ არჩევანი შევზღუდოთ საჭირო ელემენტებით, უნდა შეავსოთ ღირებულებების სია. ჩვენ შეგვიძლია შევარჩიოთ ელემენტები მხოლოდ სერვერზე, ამიტომ ვქმნით პროცედურას &OnServer კომპილაციის დირექტივით. ამ პროცედურაში შეავსეთ შერჩევის მონაცემები.
სრული სინტაქსი (დააწკაპუნეთ გასაშლელად)
ListValues
აღწერა:
მნიშვნელობების სია არის ობიექტი, რომელიც არ არის შენახული მონაცემთა ბაზაში, რომელიც საშუალებას გაძლევთ შექმნათ ინტერფეისის პრობლემების გადასაჭრელად დინამიური ნაკრებიმნიშვნელობები და მათი მანიპულირება (ელემენტების დამატება, რედაქტირება, წაშლა, დახარისხება). ის შეიძლება შეივსოს ნებისმიერი ტიპის მნიშვნელობებით, ე.ი. ერთ სიაში, შენახული მნიშვნელობების ტიპები შეიძლება განსხვავებული იყოს. ამ ობიექტის გამოყენების ერთ-ერთი მაგალითია კონკრეტული დოკუმენტის შერჩევის ორგანიზება რთული ალგორითმის გამოყენებით გენერირებული შესაძლო დოკუმენტების სიიდან.
კოლექციის ნივთები: ValueListElement
შესაძლებელია ობიექტის მიერ კოლექციის გვერდის ავლით ოპერატორის გამოყენებით თითოეული... ციკლიდან. ტრავერსი ირჩევს კოლექციის ელემენტებს.
შესაძლებელია შეგროვების ელემენტზე წვდომა [...] ოპერატორის გამოყენებით. ელემენტის ინდექსი გადაეცემა არგუმენტად ( ნუმერაცია 0-დან).
Თვისებები:
მეთოდები:
დიზაინერები:
&OnClient-ის პროცედურის შესრულების კოდი (ბრძანება) /// როგორ შევქმნათ მნიშვნელობების სია 1s 8.3, 8.2სია = New ValueList; /// როგორ დავამატო ელემენტი მნიშვნელობების სიაში 1s 8.3, 8.2 // მეთოდის პარამეტრების დამატება:// - მნიშვნელობა // - შესრულება // - ნიშანი (აუცილებელია) // - სურათი (აუცილებელია)სია. დამატება (1980, // ელემენტის მნიშვნელობა "ვასიას დაბადების წელი"// შესრულება ) ; სია. დამატება(1985, "იულიას დაბადების წელი") ; // მნიშვნელობები შეიძლება იყოს განსხვავებული ტიპები სია. დამატება("პოლინა" , "ბავშვის სახელი" ); /// როგორ ჩავსვათ ელემენტი მნიშვნელობების სიაში 1s 8.3, 8.2 // ჩასმა მე-2 პოზიციაში (ელემენტები დანომრილია 0-დან) // ელემენტი მნიშვნელობით 2010 და წარმომადგენლობით // "წელი მათი ერთობლივი ქალიშვილი დაიბადა"სია. Insert(2, 2010, "წელი მათი ერთობლივი ქალიშვილი დაიბადა") ; /// როგორ გადავლახოთ მნიშვნელობების სიის ელემენტები 1s 8.3, 8.2-შისიიდან მარყუჟის ანგარიშის თითოეული ელემენტისთვის( ელემენტი. წარმოდგენა + ": " + სტრიქონი(ელემენტი. მნიშვნელობა) ); ბოლო ციკლი ; /// როგორ გავასუფთავოთ მნიშვნელობების სია 1s 8.3, 8.2სია. Clear() ; სია. დამატება ("ორშაბათი"); სია. დამატება ("სამშაბათი"); სია. დამატება("ოთხშაბათი" ); /// როგორ გავარკვიოთ მნიშვნელობების სიის ელემენტების რაოდენობა, ასევე /// მიიღეთ სიის ელემენტი მისი ინდექსით 1s 8.3, 8.2 // ნულიდან ნუმერაციაინდექსისთვის = 0 სიის მიხედვით. რაოდენობა() - 1 ციკლის ანგარიში( სია[ინდექსი]) ; ბოლო ციკლი ; /// როგორ მოვძებნოთ სიის ელემენტი მისი მნიშვნელობით 1s 8.3, 8.2 ValueTuesday = სია. FindByValue ("სამშაბათი"); /// როგორ გავარკვიოთ ელემენტის ინდექსი სიაში 1s 8.3, 8.2ანგარიში(List.Index(ValueTuesday)) ; // 1, ვინაიდან ნუმერაცია იწყება ნულიდან /// როგორ დავახარისხოთ სია მისი მნიშვნელობებით 1s 8.3, 8.2 // იყო: ორშაბათი, სამშაბათი, ოთხშაბათისია. SortByValue(SortDirection.Descending) ; // გახდა: ოთხშაბათი, ორშაბათი, სამშაბათი /// როგორ ამოიღოთ ელემენტი მნიშვნელობების სიიდან 1s 8.3, 8.2-ში // ამოიღეთ პირველი ელემენტი // პარამეტრი: სიის ელემენტი // ან ელემენტის ინდექსი// შეგიძლიათ გააკეთოთ ეს სია. წაშლა(სია[ 0 ]) ; // ან ასე // List.Delete(0); /// როგორ გადავიტანოთ მნიშვნელობების სიის ელემენტი 1s 8.3, 8.2-ში // ნულოვანი ელემენტის გადატანა ერთი პოზიციით წინ // იყო: ორშაბათი სამშაბათისია. გადაადგილება (0, 1); // გახდა: სამშაბათი ორშაბათი /// როგორ გავაკეთოთ სიის ასლი 1s 8-ში ListCopy = სია. კოპირება() ; ფერები = NewValueList; Ფერები. დამატება("წითელი"); Ფერები. დამატება("მწვანე"); Ფერები. დამატება("ლურჯი"); /// როგორ ატვირთოთ სიის მნიშვნელობები მასივში 1s 8.3, 8.2 ArrayColors = ფერები. UnloadValues() ; /// როგორ ჩატვირთოთ სიის მნიშვნელობები მასივიდან 1s 8.3, 8.2-შიᲤერები. LoadValues (ArrayColors) ; პროცედურის დასასრული /// როგორ გავაკეთოთ სიიდან მნიშვნელობის უმოდელო შერჩევა /// მნიშვნელობები 1-ში 8.3, 8.2&კლიენტის პროცედურის შესახებ როგორ შევქმნათ Non-ModalValueSelection(Command) Colors = New ValueList; Ფერები. დამატება("წითელი"); Ფერები. დამატება("მწვანე"); Ფერები. დამატება("ლურჯი"); // პროცედურა AfterSelectingElement განისაზღვრება ქვემოთ AlertAfterElementSelection = ახალი აღწერა Alerts( "ელემენტების შერჩევის შემდეგ", ეს ობიექტი ) ; Ფერები. ShowElementSelection( NotificationAfterElementSelection, "აირჩიე შენი საყვარელი ფერი") ; პროცედურის დასრულება და კლიენტის პროცედურა ელემენტის არჩევის შემდეგ (ელემენტი, პარამეტრები) თუ ელემენტის ექსპორტი<>განუსაზღვრელი შემდეგ მოხსენება (Element.Value) ; Დაასრულე თუ ; პროცედურის დასასრული /// როგორ გავაკეთოთ სიიდან მნიშვნელობების უმოდური მარკირება /// მნიშვნელობები 1-ში 8.3, 8.2&კლიენტის პროცედურის შესახებ როგორ გავაკეთოთ მნიშვნელობების არამოდალური მარკირება (ბრძანება) ფერები = მნიშვნელობების ახალი სია; Ფერები. დამატება("წითელი"); Ფერები. დამატება ("მწვანე" ); Ფერები. დამატება("ლურჯი"); // პროცედურა AfterMarkingElements განისაზღვრება ქვემოთ AlertAfterMarkingItems = ახალი აღწერა Alerts( "AfterMarking Items", ეს ობიექტი ) ; Ფერები. ShowTagItems( AlertAfterTagItems, "აირჩიე შენი საყვარელი ფერები") ; Ფერები. FillNotes (True) ; პროცედურის დასრულება და კლიენტის პროცედურა ელემენტების მარკირების შემდეგ (ელემენტები, პარამეტრები) ექსპორტი თუ ელემენტები<>განუსაზღვრელი შემდეგ თითოეული ფერისთვის ელემენტებიდან ციკლი თუ ფერი. მონიშნე შემდეგ მოხსენება (ფერი.მნიშვნელობა) ; Დაასრულე თუ ; ბოლო ციკლი ; Დაასრულე თუ ; პროცედურის დასასრული /// როგორ გავაკეთოთ მნიშვნელობის მოდალური შერჩევა სიიდან 1s 8.3, 8.2&კლიენტის პროცედურის შესახებ როგორ შევქმნათ ModalValueSelection(Command) Colors = New ValueList; Ფერები. დამატება("წითელი"); Ფერები. დამატება ("მწვანე" ); Ფერები. დამატება("ლურჯი"); აირჩიეთ ფერი = ფერები. აირჩიეთ ნივთი ( "აირჩიე შენი საყვარელი ფერი") ; თუ აირჩიეთ ფერი<>განუსაზღვრელი შემდეგ მოხსენება (SelectColor.Value) ; Დაასრულე თუ ; პროცედურის დასასრული /// როგორ მოდიალურად მონიშნოთ მნიშვნელობები სიიდან /// მნიშვნელობები 1-ში 8.3, 8.2&კლიენტის პროცედურის შესახებ როგორ გავაკეთოთ მნიშვნელობების მოდალური ნიშანი (ბრძანება) ფერები = ღირებულებების ახალი სია; Ფერები. დამატება("წითელი"); Ფერები. დამატება ("მწვანე" ); Ფერები. დამატება("ლურჯი"); თუ ფერები. MarkItems( "აირჩიე შენი საყვარელი ფერები") შემდეგ თითოეული ფერისთვის ფერის ციკლიდან თუ ფერი. მონიშნე შემდეგ მოხსენება (ფერი.მნიშვნელობა) ; Დაასრულე თუ ; ბოლო ციკლი ; Დაასრულე თუ ; // ასე შეგიძლიათ დააყენოთ ყველა ნიშანი ერთდროულად // სიაში კონკრეტული მნიშვნელობაᲤერები. FillNotes (True) ; პროცედურის დასასრული /// ჩამოტვირთეთ და გაუშვით ეს მაგალითები თქვენს კომპიუტერში |