รายการเลือก 1c ตั้งค่า
ไวยากรณ์แบบเต็ม (คลิกเพื่อขยาย)
รายการค่า
คำอธิบาย:
รายการค่าเป็นอ็อบเจ็กต์ที่ไม่ได้บันทึกไว้ในฐานข้อมูล ซึ่งช่วยให้คุณสามารถสร้างชุดค่าไดนามิกสำหรับการแก้ปัญหาอินเทอร์เฟซและจัดการ (เพิ่ม แก้ไข ลบองค์ประกอบ เรียงลำดับ) สามารถเติมค่าได้ทุกประเภทเช่น ประเภทของค่าที่เก็บไว้ในรายการเดียวกันอาจแตกต่างกัน ตัวอย่างหนึ่งของการใช้วัตถุนี้สามารถจัดองค์กรของการเลือกเอกสารเฉพาะจากรายการของเอกสารที่เป็นไปได้ซึ่งสร้างโดยอัลกอริธึมที่ซับซ้อน
รายการสะสม: รายการค่า
สำหรับอ็อบเจ็กต์ การข้ามผ่านของคอลเลกชั่นสามารถใช้ได้โดยใช้ตัวดำเนินการ สำหรับทุกคน ... จาก ... Cycle... การข้ามผ่านจะเลือกองค์ประกอบของคอลเล็กชัน
เป็นไปได้ที่จะอ้างถึงองค์ประกอบคอลเลกชันโดยใช้ตัวดำเนินการ [...] ดัชนีขององค์ประกอบถูกส่งผ่านเป็นอาร์กิวเมนต์ ( นับจาก 0).
คุณสมบัติ:
วิธีการ:
ตัวสร้าง:
& ขั้นตอน OnClient ExecuteCode (คำสั่ง) /// วิธีสร้างรายการค่าใน 1c 8.3, 8.2รายการ = รายการค่าใหม่; /// วิธีเพิ่มรายการในรายการค่าใน 1s 8.3, 8.2 // เพิ่มพารามิเตอร์วิธีการ:// - ความหมาย // - ประสิทธิภาพ // - เครื่องหมาย (ไม่บังคับ) // - รูปภาพ (ไม่บังคับ)รายการ. เพิ่ม (1980, // ค่าองค์ประกอบ "ปีเกิดของ Vasya"// ประสิทธิภาพ ) ; รายการ. เพิ่ม (1985, "ปีเกิดของยูเลีย") ; // ค่าสามารถเป็น ประเภทต่างๆ รายการ. เพิ่ม ("Polina", "ชื่อเด็ก"); /// วิธีแทรกองค์ประกอบในรายการค่าใน 1s 8.3, 8.2 // แทรกที่ตำแหน่ง # 2 (องค์ประกอบมีหมายเลขเริ่มต้นจาก 0) // องค์ประกอบที่มีค่า 2010 และดู // "ปีเกิดของลูกสาวร่วม"รายการ. แปะ (2, 2010, "ปีเกิดของลูกสาวร่วม") ; /// วิธีเลี่ยงผ่านองค์ประกอบของรายการค่าใน 1c 8.3, 8.2สำหรับแต่ละองค์ประกอบจากรายงานรอบรายการ (องค์ประกอบ การแทน + ":" + สตริง (องค์ประกอบ ค่า)); สิ้นสุดรอบ; /// วิธีล้างรายการค่าใน 1s 8.3, 8.2รายการ. ชัดเจน (); รายการ. เพิ่ม ("วันจันทร์"); รายการ. เพิ่ม ("วันอังคาร"); รายการ. เพิ่ม ("วันพุธ"); /// วิธีค้นหาจำนวนองค์ประกอบของรายการค่าด้วย /// รับองค์ประกอบของรายการตามดัชนีใน 1 วินาที 8.3, 8.2 // การนับจากศูนย์สำหรับดัชนี = 0 ตามรายการ ปริมาณ () - 1 รายงานรอบ (รายการ [ดัชนี]); สิ้นสุดรอบ; /// วิธีค้นหารายการตามค่าใน 1c 8.3, 8.2 ValueTuesday = รายการ FindByValue ("วันอังคาร"); /// วิธีค้นหาดัชนีขององค์ประกอบในรายการใน 1c 8.3, 8.2รายงาน (รายการ ดัชนี (SignificantTuesday)); // 1 เนื่องจากการนับเลขมาจากศูนย์ /// วิธีจัดเรียงรายการตามค่าใน 1c 8.3, 8.2 // คือ: จันทร์ อังคาร พุธรายการ. เรียงตามค่า (เรียงลำดับทิศทางจากมากไปน้อย); // ขณะนี้: วันพุธ วันจันทร์ วันอังคาร /// วิธีลบองค์ประกอบออกจากรายการค่าใน 1c 8.3, 8.2 // ลบรายการแรก // พารามิเตอร์: รายการรายการ // หรือดัชนีองค์ประกอบ// คุณสามารถทำรายการนี้ ลบ (รายการ [0]); // หรือไม่ก็ // รายการ ลบ (0); /// วิธีเปลี่ยนองค์ประกอบของรายการค่าใน 1 วินาที 8.3, 8.2 // ย้ายองค์ประกอบศูนย์ไปข้างหน้าหนึ่งตำแหน่ง // คือ: จันทร์ อังคารรายการ. กะ (0, 1); // กลายเป็น: วันอังคาร วันจันทร์ /// วิธีคัดลอกรายการใน 1 วินาที 8สำเนารายการ = รายการ คัดลอก (); สี = รายการค่าใหม่; สี เพิ่ม ("สีแดง"); สี เพิ่ม ("สีเขียว"); สี เพิ่ม ("สีน้ำเงิน"); /// วิธียกเลิกการโหลดค่าของรายการลงในอาร์เรย์ใน 1c 8.3, 8.2อาร์เรย์ของสี = สี UnloadValues (); /// วิธีโหลดค่ารายการจากอาร์เรย์ใน 1c 8.3, 8.2สี LoadValues (ArrayColors); สิ้นสุดขั้นตอน /// วิธีเลือกค่าจากรายการแบบไม่ใช้โมเดล /// ค่าใน 1 วินาที 8.3, 8.2& ขั้นตอน OnClient วิธีการสร้างNonmodalValueSelection (คำสั่ง) สี = NewList ofValues; สี เพิ่ม ("สีแดง"); สี เพิ่ม ("สีเขียว"); สี เพิ่ม ("สีน้ำเงิน"); // ขั้นตอน AfterSelectionElement ถูกกำหนดไว้ด้านล่าง AlertAfterItemSelection = คำอธิบายการแจ้งเตือนใหม่ ( "หลังการเลือกรายการ", วัตถุนี้); สี ShowItemSelect (AlertAfterItemSelection, "เลือกสีที่ชอบ"); EndProcedure & OnClient Procedure AfterElementSelection (รายการ พารามิเตอร์) ส่งออกหากรายการ<>รายงานที่ไม่ได้กำหนดแล้ว (องค์ประกอบ ค่า); จบถ้า; สิ้นสุดขั้นตอน /// วิธีทำเครื่องหมายค่าจากรายการแบบไม่มีโหมด /// ค่าใน 1 วินาที 8.3, 8.2& ขั้นตอน OnClient วิธีการสร้างสี Non-ModalValuesClicker (คำสั่ง) = NewList; สี เพิ่ม ("สีแดง"); สี เพิ่ม ("สีเขียว"); สี เพิ่ม ("สีน้ำเงิน"); // ขั้นตอน AfterSelectElements ถูกกำหนดไว้ด้านล่าง AlertAfterElementsClicker = คำอธิบายการแจ้งเตือนใหม่ ( " AfterCelementElements ", วัตถุนี้); สี แสดงองค์ประกอบคลิก "เลือกสีที่ชอบ"); สี FillRemarks (จริง); ขั้นตอน EndProcedure & OnClient หลังจากตรวจสอบรายการ (รายการ, พารามิเตอร์) ส่งออกหากรายการ<>ไม่ได้กำหนดแล้วสำหรับแต่ละสีจากองค์ประกอบวนซ้ำถ้าสี เครื่องหมายถูกแล้วรายงาน (ค่าสี); จบถ้า; สิ้นสุดรอบ; จบถ้า; สิ้นสุดขั้นตอน /// วิธีเลือกค่าโมดอลจากรายการใน 1c 8.3, 8.2& ขั้นตอน OnClient วิธี toModalValueSelection (คำสั่ง) สี = รายการใหม่ของค่า; สี เพิ่ม ("สีแดง"); สี เพิ่ม ("สีเขียว"); สี เพิ่ม ("สีน้ำเงิน"); SelectColor = สี เลือกรายการ ( "เลือกสีที่ชอบ"); ถ้า VybColor<>รายงานที่ไม่ได้กำหนดแล้ว (SelectColor. Value); จบถ้า; สิ้นสุดขั้นตอน /// วิธีสร้างเครื่องหมายโมดอลของค่าจากรายการ /// ค่าใน 1 วินาที 8.3, 8.2& ขั้นตอน OnClient วิธีการ MakeModalValuesList (คำสั่ง) สี = NewList ofValues; สี เพิ่ม ("สีแดง"); สี เพิ่ม ("สีเขียว"); สี เพิ่ม ("สีน้ำเงิน"); ถ้าสี. ตรวจสอบรายการ ( "เลือกสีที่ชอบ") จากนั้นสำหรับแต่ละสีจาก Color Loop ถ้า Color เครื่องหมายถูกแล้วรายงาน (ค่าสี); จบถ้า; สิ้นสุดรอบ; จบถ้า; // แต่นี่เป็นวิธีที่คุณสามารถกำหนดเครื่องหมายทั้งหมดได้ในครั้งเดียว // แสดงรายการเป็นค่าเฉพาะสี FillRemarks (จริง); สิ้นสุดขั้นตอน /// ดาวน์โหลดและเรียกใช้ตัวอย่างเหล่านี้บนคอมพิวเตอร์ของคุณ |
ถึง เปิดแบบฟอร์มการเลือกพร้อมการเลือกใน 1 วินาที 8.2(แบบฟอร์มปกติ) เราจำเป็นต้องดำเนินการบางอย่าง เราจะได้มันก่อน หลังจากนั้น เราจะตั้งค่าการเลือกและเปิดโดยทางโปรแกรม นี่คือตัวอย่างของรหัส:
การเลือกแบบฟอร์มในช่องใส่ 1C 8.2 มีหลายค่า
ในตัวอย่างข้างต้น เราดูที่ วิธีการตั้งค่าการเลือกในแบบฟอร์มการเลือกสำหรับค่าเฉพาะ ตอนนี้ มาพิจารณาสถานการณ์เมื่อคุณต้องแทนที่ค่าหลายค่า เช่น อาจเป็นทั้งอาร์เรย์และการยกเลิกการโหลดจากผลลัพธ์ของคิวรี นี่คือการเลือกในช่องป้อนข้อมูล 1cที่มีหลายความหมาย
ในการเริ่มต้นเราได้รับแบบฟอร์มการเลือกในพารามิเตอร์ที่เราส่งผ่าน "องค์ประกอบ" (เจ้าของ) ตั้งค่าสถานะโหมดการเลือก จากนั้นเราสร้างรายการค่าและอาร์เรย์ โปรดทราบว่าเมื่อมีการเลือกประเภทการเปรียบเทียบในรายการวัตถุจะมีได้เฉพาะกับประเภทเท่านั้น รายการค่า... เราเพิ่มองค์ประกอบลงในอาร์เรย์ จากนั้นโหลดอาร์เรย์นี้ลงในรายการค่า ซึ่งเราตั้งค่าในภายหลังในการเลือก นอกจากนี้ อย่าลืมเปิดใช้งานแฟล็กสำหรับการใช้การเลือกนี้ และตั้งค่ามุมมองการเปรียบเทียบ
การตั้งค่าการเลือกในช่องป้อนข้อมูลในแบบฟอร์มใน 1C 8.3 เหตุการณ์ StartSelection
ตอนนี้พิจารณา การเลือกในช่องป้อนข้อมูลในรูปแบบควบคุมใน 1C 8.3... มาหาองค์ประกอบที่เราสนใจในแบบฟอร์มซึ่งเราจะตั้งค่าการเลือกในกรณีของเราคือฟิลด์ "องค์กร" เราพบเหตุการณ์ "Select Start" คลิกที่แว่นขยายและพบว่าตัวเองอยู่ในขั้นตอน เราเห็นพารามิเตอร์ ChoiceData พารามิเตอร์นี้เป็นประเภท ValuesList เพื่อจำกัดการเลือกเฉพาะองค์ประกอบที่จำเป็น เราต้องกรอกรายการค่า เราสามารถเลือกองค์ประกอบได้เฉพาะบนเซิร์ฟเวอร์ ดังนั้นเราจึงสร้างขั้นตอนด้วยคำสั่งการรวบรวม & OnServer ในขั้นตอนนี้ เรากรอกข้อมูลการเลือก
บ่อยครั้งที่มีความจำเป็นในแบบฟอร์มเพื่อให้ผู้ใช้เลือกการตั้งค่าในแบบฟอร์ม (ก่อนที่จะกดปุ่ม "ดำเนินการทั้งหมด") เมื่อคุณต้องการเลือกค่าหนึ่งค่าจากค่าที่กำหนดไว้ล่วงหน้าหลายค่า มักจะใช้รายการแบบหล่นลงของค่า 1C ในแบบฟอร์ม
รายการแบบหล่นลงของค่า 1C บนแบบฟอร์ม - เพิ่มฟิลด์การเลือกลงในแบบฟอร์มไคลเอนต์แบบหนา ระบุชื่อ เพื่อป้องกันไม่ให้ผู้ใช้เปลี่ยนรายการ - ยกเลิกการเลือกช่องทำเครื่องหมาย "แก้ไขข้อความ" ในคุณสมบัติของฟิลด์การเลือก
รายการการเลือกจะถูกเพิ่มโดยทางโปรแกรมในตัวจัดการแบบฟอร์ม "OnOpening" ฟิลด์ที่เลือกมีรายการย่อยของ valuesFormElements.ChoiceFieldName.ChoiceList และเพื่อตั้งค่าเริ่มต้น และเพื่อกำหนด valueFormElements.ChoiceFieldName.Value ที่เลือก:
ขั้นตอนการเปิด ()
FormElements.ValueSelection.ChoiceList.Clear (); แบบฟอร์มองค์ประกอบ.
แบบฟอร์ม Elements.ValueSelection.ChoiceList.Add (0, "เอกสารใหม่");
แบบฟอร์ม Elements.ValueSelection.ChoiceList.Add (1, "เปลี่ยนเอกสาร");
แบบฟอร์ม Elements.ValueSelection.ChoiceList.Add (2, "ลบเอกสาร");
แบบฟอร์ม Elements.SelectValues.Value = 0;
สิ้นสุดขั้นตอน
รายการแบบหล่นลงของค่า 1C บนแบบฟอร์ม - ในไคลเอ็นต์แบบบางบนแบบฟอร์ม คุณต้องสร้างแอตทริบิวต์ของแบบฟอร์มที่เราจะเก็บผลลัพธ์ไว้ เช่น ด้วยประเภทสตริง ลากไปบนรูปร่าง
รายการแบบหล่นลงของค่า 1C บนแบบฟอร์ม - ตัวเลือก 1)
- เปิดปุ่มเลือกรายการ
- ในคุณสมบัติ "รายการเลือก" คลิก "..." และป้อนตัวเลือก
- ผลการเลือกจะถูกบันทึกไว้ในแอตทริบิวต์ที่เลือก
รายการแบบหล่นลงของค่า 1C บนแบบฟอร์ม - ตัวเลือก 2)
- เปิดปุ่มเลือกรายการ
- เพิ่มตัวจัดการ "StartSelectionFromList"
& OnClient
ขั้นตอน SelectedValueStartSelectFromList (รายการ, การประมวลผลมาตรฐาน)
Elements.SelectedValue.ChoiceList.Add ("เพิ่มเอกสาร");
Elements.SelectedValue.ChoiceList.Add ("แก้ไขเอกสาร");
Elements.SelectedValue.ChoiceList.Add ("ลบเอกสาร");
สิ้นสุดขั้นตอน
ผลลัพธ์ก็คล้ายกัน จำเป็นหากต้องการเติมรายการด้วยลิงก์ไปยังไดเร็กทอรี / เอกสารที่ไม่ได้กำหนดไว้ล่วงหน้า
รายการแบบหล่นลงของค่า 1C บนแบบฟอร์ม - ตัวเลือก 3)
ตัวเลือกนี้ทำงานในลักษณะเดียวกัน แต่อินเทอร์เฟซดูแตกต่างออกไป