คอมพิวเตอร์ Windows อินเทอร์เน็ต

รายการเลือก 1c ตั้งค่า

ไวยากรณ์แบบเต็ม (คลิกเพื่อขยาย)

รายการค่า

คำอธิบาย:

รายการค่าเป็นอ็อบเจ็กต์ที่ไม่ได้บันทึกไว้ในฐานข้อมูล ซึ่งช่วยให้คุณสามารถสร้างชุดค่าไดนามิกสำหรับการแก้ปัญหาอินเทอร์เฟซและจัดการ (เพิ่ม แก้ไข ลบองค์ประกอบ เรียงลำดับ) สามารถเติมค่าได้ทุกประเภทเช่น ประเภทของค่าที่เก็บไว้ในรายการเดียวกันอาจแตกต่างกัน ตัวอย่างหนึ่งของการใช้วัตถุนี้สามารถจัดองค์กรของการเลือกเอกสารเฉพาะจากรายการของเอกสารที่เป็นไปได้ซึ่งสร้างโดยอัลกอริธึมที่ซับซ้อน

รายการสะสม: รายการค่า

สำหรับอ็อบเจ็กต์ การข้ามผ่านของคอลเลกชั่นสามารถใช้ได้โดยใช้ตัวดำเนินการ สำหรับทุกคน ... จาก ... Cycle... การข้ามผ่านจะเลือกองค์ประกอบของคอลเล็กชัน

เป็นไปได้ที่จะอ้างถึงองค์ประกอบคอลเลกชันโดยใช้ตัวดำเนินการ [...] ดัชนีขององค์ประกอบถูกส่งผ่านเป็นอาร์กิวเมนต์ ( นับจาก 0).

คุณสมบัติ:

วิธีการ:

แทรก (ดัชนี, ค่า, ดู, มาร์กอัป, รูปภาพ) แทรก ไอเท็มใหม่ไปที่รายการค่าในตำแหน่งที่มีดัชนีที่ระบุSelectElement (Title, Element) เรียกหน้าต่างสำหรับการเลือกแบบโต้ตอบของหนึ่งในองค์ประกอบที่รวมอยู่ในรายการของค่า ธาตุ- องค์ประกอบที่ควรวางรายการค่าไว้ในตอนแรกระหว่างการเลือกแบบโต้ตอบ หากค่าพารามิเตอร์ไม่ใช่องค์ประกอบของรายการค่าที่รวมอยู่ในรายการนี้ ตำแหน่งจะไม่เกิดขึ้นยกเลิกการโหลดค่า() สร้างอาร์เรย์และคัดลอกค่าขององค์ประกอบของรายการค่าลงในอาร์เรย์เพิ่ม (Value, View, Markup, Image) เพิ่มรายการใหม่ต่อท้ายรายการค่าLoadValues(ArrayValues) โหลดรายการค่าพร้อมค่าจากอาร์เรย์ที่ส่งผ่าน ในกรณีนี้ องค์ประกอบก่อนหน้าทั้งหมดของรายการจะถูกลบออกกรอกข้อมูล(แฟล็ก) ทำเครื่องหมายรายการทั้งหมดในรายการค่าดัชนี (รายการ) รับดัชนีของรายการในรายการค่า หากไม่พบ -1 จะถูกส่งคืนCount () รับจำนวนองค์ประกอบในรายการค่าFindByValue(LookupValue) ค้นหาค่าของรายการในรายการค่า หากไม่มีองค์ประกอบใดเก็บค่าเท่ากับค่าที่ต้องการ ค่าจะถูกส่งคืน ไม่ได้กำหนด. ค้นหาโดย ID(ID) รับรายการค่าตาม ID หากไม่พบองค์ประกอบก็จะส่งคืน ไม่ได้กำหนด. ตรวจสอบรายการ(ชื่อเรื่อง) ทำเครื่องหมายหรือยกเลิกการเลือก (แบบโต้ตอบ) รายการของค่า คืนสินค้า จริงหากกดปุ่ม "ตกลง" ในกล่องโต้ตอบ โกหก- มิฉะนั้น.ล้าง () ล้างรายการค่าโดยลบรายการทั้งหมดออกจากมันShowSelectItem(คำอธิบายปิดการแจ้งเตือน ชื่อเรื่อง องค์ประกอบ) เรียกหน้าต่างเพื่อเลือกองค์ประกอบแบบโต้ตอบที่รวมอยู่ในรายการค่าShowTelementsLabel(DescriptionClose Alerts, Title) มีไว้สำหรับการตั้งค่าแบบโต้ตอบของสถานะของการทำเครื่องหมายสำหรับองค์ประกอบของรายการค่าGet (ดัชนี) รับค่าที่ดัชนี ทำงานในลักษณะเดียวกับโอเปอเรเตอร์Shift (องค์ประกอบ, ออฟเซ็ต) เลื่อนองค์ประกอบของรายการค่าไปข้างหน้าหรือข้างหลังตามจำนวนตำแหน่งที่ระบุCopy () สร้างสำเนาของรายการค่าเรียงตามมูลค่า(ทิศทาง) เรียงลำดับรายการค่าจากน้อยไปมากหรือมากไปหาน้อยของค่าที่จัดเก็บโดยองค์ประกอบ ดูตัวอย่างด้านล่างเรียงตามการดู(ทิศทาง) เรียงลำดับรายการค่าตามลำดับตัวอักษรจากน้อยไปมากหรือมากไปหาน้อยของการแสดงรายการในรายการค่า ดูตัวอย่างด้านล่างลบ (รายการ) ลบรายการออกจากรายการค่าโดยที่ ธาตุ- ดัชนีขององค์ประกอบที่จะลบหรือองค์ประกอบนั้นเอง

ตัวสร้าง:

รายการค่านิยมใหม่
& ขั้นตอน 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)

ตัวเลือกนี้ทำงานในลักษณะเดียวกัน แต่อินเทอร์เฟซดูแตกต่างออกไป