สวิตช์ แอปพลิเคชันทั่วไป แบบฟอร์มที่ได้รับการจัดการ การเพิ่มและการเปลี่ยนแปลงองค์ประกอบของแบบฟอร์มที่ได้รับการจัดการโดยทางโปรแกรม สลับในรูปแบบที่ได้รับการจัดการใน 1 วินาที 8.3

Klyuev V.V.

http://prof1c.kklab.ru

การทำงานกับสวิตช์

โปรดคำนึงถึงผู้ใช้บริการเว็บไซต์ทุกคน - ฉันโพสต์เนื้อหาในส่วนผู้เริ่มต้น!!!

8.2 แบบฟอร์มที่ได้รับการจัดการ

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

ดังนั้น เรามาสร้างการกำหนดค่าว่างเพื่อทำความเข้าใจคำถาม หรือเลือกการกำหนดค่าทั่วไป
ไปที่กลุ่มที่มีไดเร็กทอรี และเพิ่มไดเร็กทอรีใหม่เพื่อทำการทดลอง ฉันต้องการทราบว่าการกำหนดค่าจะต้องมีโหมดการเปิดใช้หลัก - แอปพลิเคชันที่ได้รับการจัดการ

เรามาสร้างไดเร็กทอรีใหม่และเพิ่มแอตทริบิวต์ "Property1" เป็นประเภท "Boolean"

ตอนนี้ไปที่แท็บแบบฟอร์มและเพิ่มแบบฟอร์มใหม่

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

แล้วเราทำอะไรผิดล่ะ?
ลองดูคุณสมบัติของอุปกรณ์ประกอบฉากเพื่อดูว่ามีการสลับไปยังประเภทของการควบคุมหรือไม่
และเราเห็นว่าสนาม Switch ไม่อยู่ที่นี่! (เราผิดพลาดตรงไหน?

เห็นได้ชัดว่าประเภทของการควบคุมบนแบบฟอร์มนั้นขึ้นอยู่กับประเภทข้อมูล กลับไปที่คุณสมบัติของแบบฟอร์มกัน นั่นคือแท็บรายละเอียด และเปลี่ยนคุณสมบัติของรายละเอียดของเรา - กล่าวคือประเภท "บูลีน" เป็นประเภท "ตัวเลข"

ตอนนี้กลับไปที่คุณสมบัติของตัวควบคุมและตรวจสอบว่าได้เพิ่มมุมมองของตัวควบคุมให้กับคุณสมบัติแล้วหรือไม่ - - - และไชโย เราเห็นมุมมองที่นั่น - Switch Field

ตอนนี้ดูฟอร์มสิ่งที่เราเห็น:

เราเห็น - ค่าเริ่มต้น 3 ค่า, สวิตช์ 3 ตัว แต่เราต้องการสองค่า ไปที่คุณสมบัติของแอตทริบิวต์อีกครั้งแล้วดูคุณสมบัติ "จำนวนคอลัมน์" ที่นั่น

สำหรับ 2 - ตั้งค่าจำนวนคอลัมน์ - 2

นี่อาจจะหยุดโปรแกรมเมอร์ที่เหนื่อยล้าได้นิดหน่อย)) แต่ตอนนี้ทั้งเขาและเรารู้แล้ว!

8.2 แบบฟอร์มปกติ

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

ลองมาดูตัวอย่างกัน มีเอกสารสำหรับการปรับใบเสร็จรับเงินใน 1C UPP - มันมีอยู่แน่นอน ครั้งหนึ่งเราจำเป็นต้องเพิ่มสวิตช์เพื่อให้รายการบัญชีที่แตกต่างกันเล็กน้อยถูกดึงออกมา ปัญหาอะไรดูเหมือนเราต้องต้องทำเราจะทำ แต่แบบฟอร์มนี้มีปุ่มตัวเลือกอยู่แล้ว 2 ปุ่ม

นี่คือลักษณะที่เราต้องเพิ่มสวิตช์เพิ่มเติม


บนแท็บขั้นสูง เราต้องการวางปุ่มตัวเลือกอีกสองปุ่ม ขั้นตอนแรกคือการเพิ่มองค์ประกอบการควบคุมใหม่ในตำแหน่งที่เราต้องการแทรกอย่างกล้าหาญ

ดูเหมือนว่าทุกอย่างจะง่าย เราสร้างแอตทริบิวต์ใหม่ด้วยประเภท "หมายเลข" และใส่สวิตช์ 2 ตัวซึ่งหนึ่งในนั้นจะสามารถเขียนข้อมูลไปยังแอตทริบิวต์ได้และอีกอันจะไม่สามารถเขียนได้

เพิ่มองค์ประกอบการควบคุมใหม่ - สวิตช์ เพิ่ม Switch2 ในตารางพร้อมหมายเลขและคำอธิบายของสวิตช์ ตั้งค่า Switch1 ก่อนในกลุ่มแล้วกดตกลง วางตัวควบคุมที่สร้างขึ้นบนแบบฟอร์ม เราอัปเดตการกำหนดค่าฐานข้อมูล (F7) และเรียกใช้เพื่อการดีบัก

เมื่อดำเนินการ (เมื่อสร้างเอกสารใหม่ในโหมด 1C:Enterprise) เราจะเห็นว่าไม่ว่าเราจะพยายามคลิกที่ Switch2 หนักแค่ไหนก็ไม่มีอะไรเกิดขึ้น องค์ประกอบไม่ทำงานเท่าที่ควร มีเคล็ดลับอย่างหนึ่งที่นี่
กลับไปที่ตัวกำหนดค่า เลือกรายการเมนู แบบฟอร์ม -> ตั้งค่าลำดับการแวะ... (สิ่งสำคัญคือต้องเปิดแบบฟอร์มบนหน้าจอ)


เพื่อให้สวิตช์ของเราทำงานได้ คุณต้องทำลายคำสั่งอัตโนมัติและยอมรับคำสั่งแบบแมนนวล และวางไว้ในรูปแบบเพื่อให้สวิตช์ของเราเรียงกันตามลำดับ

ตกลง. อัปเดตการกำหนดค่าแล้วลองเรียกใช้
ยอดเยี่ยม. ทุกอย่างทำงานได้

นอกจากนี้ - วิดีโอ (ไม่มีเสียง ดังนั้นทุกอย่างชัดเจน)


แพลตฟอร์ม 1C:Enterprise ช่วยให้คุณสามารถเพิ่มและเปลี่ยนแปลงองค์ประกอบของแบบฟอร์มที่ได้รับการจัดการโดยทางโปรแกรม ลองหาสาเหตุว่าทำไมสิ่งนี้ถึงจำเป็น

อาจต้องมีการแก้ไขซอฟต์แวร์ของแบบฟอร์มในหลายกรณี:

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

ในแบบฟอร์มที่มีการจัดการ คุณสามารถเพิ่ม เปลี่ยนแปลง และลบโดยทางโปรแกรม:

  • รายละเอียด;
  • ทีมท้องถิ่น
  • องค์ประกอบ

การดำเนินการทั้งหมดนี้ทำได้บนเซิร์ฟเวอร์เท่านั้น

การปรับรูปร่างแบบเป็นโปรแกรมมีข้อจำกัด:

  • คุณสามารถลบได้เฉพาะรายละเอียด/คำสั่ง/องค์ประกอบที่เพิ่มโดยทางโปรแกรมเท่านั้น คุณไม่สามารถลบวัตถุที่สร้างในตัวกำหนดค่าโดยทางโปรแกรมได้
  • คุณไม่สามารถกำหนดแอตทริบิวต์เป็นแอตทริบิวต์หลักได้

คำสั่งเปลี่ยนรูปแบบ

เพื่อจัดการองค์ประกอบของคำสั่งสำหรับวัตถุ แบบฟอร์มที่ได้รับการจัดการมีของสะสม ทีม

    เพิ่ม (< ИмяКоманды >)

    ปริมาณ ()

    หา (< ИмяКоманды >)

    ลบ (< Команда >)

คอลเลกชัน Teams พร้อมใช้งานทั้งบนไคลเอ็นต์และเซิร์ฟเวอร์ คุณสามารถเปลี่ยนคอลเลกชัน (วิธี Add() และ Delete()) ได้บนเซิร์ฟเวอร์เท่านั้น คุณสามารถค้นหาและรับจำนวนองค์ประกอบ (วิธี Find () และ Count ()) ทั้งบนไคลเอนต์และบนเซิร์ฟเวอร์

ตัวอย่างของการทำงานกับคำสั่งแบบฟอร์ม เรามาสร้างคำสั่ง ChangeHistory ใหม่โดยมีหัวข้อ “ChangeHistory...” ซึ่งจะเรียกตัวจัดการ ประวัติการแสดงผล- การสร้างเกิดขึ้นเมื่อเปิดแบบฟอร์ม

&บนเซิร์ฟเวอร์
ขั้นตอน WhenCreatingOnServer (ความล้มเหลว, การประมวลผลมาตรฐาน)
ทีม = ทีม เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง");
ทีม - การกระทำ = ;
ทีม - ชื่อเรื่อง = "ประวัติศาสตร์การเปลี่ยนแปลง...";
สิ้นสุดขั้นตอน
&บนไคลเอนต์
ขั้นตอน Connectable_DisplayHistory (Command)
// การดำเนินการคำสั่ง
สิ้นสุดขั้นตอน

ตัวจัดการคำสั่งจะต้องอยู่ในแบบฟอร์มและมีคำสั่งการคอมไพล์ &OnClient

การเปลี่ยนแปลงรายละเอียดแบบฟอร์ม

การอ่านองค์ประกอบของรายละเอียดแบบฟอร์มจะดำเนินการโดยฟังก์ชัน รับรายละเอียด(< Путь >) ส่งคืนอาร์เรย์ประเภท FormAttributes พารามิเตอร์ฟังก์ชันระบุเส้นทางไปยังแอตทริบิวต์พาเรนต์ (เป็นสตริง) หากละเว้นพารามิเตอร์หรือระบุสตริงว่าง รายละเอียดระดับบนสุดจะถูกส่งกลับ

การเปลี่ยนแปลงรายละเอียดทำได้โดยใช้วิธีการ รายละเอียดการเปลี่ยนแปลง(<รายละเอียดเพิ่มเติม>, <รายละเอียดที่ถอดออกได้>) วัตถุ แบบฟอร์มที่ได้รับการจัดการ- ไปที่พารามิเตอร์ รายละเอียดเพิ่มเติมและ รายละเอียดที่ถอดออกได้อาร์เรย์ที่มีองค์ประกอบของประเภทแอตทริบิวต์แบบฟอร์มจะถูกส่งไป

ความสนใจ!

กระบวนการเปลี่ยนองค์ประกอบของรายละเอียดค่อนข้างใช้ทรัพยากรมาก แบบฟอร์มกำลังถูกสร้างขึ้นใหม่จริงๆ ในเรื่องนี้การทำงานกับรายละเอียดแบบฟอร์มจะดำเนินการในโหมดแบทช์

มาสร้างแอตทริบิวต์แบบฟอร์มใหม่ด้วยชื่อผู้ซื้อ:


AddedDetails = อาร์เรย์ใหม่;
รายละเอียดที่เพิ่มเข้ามา เพิ่ม (คุณสมบัติแบบฟอร์มใหม่(“ผู้ซื้อ”, คำอธิบายประเภทใหม่ (“DirectoryLink. Counterparties”), “ลูกค้า”));

// การเปลี่ยนแปลงองค์ประกอบของรายละเอียด
);

การเปลี่ยนองค์ประกอบแบบฟอร์ม

เพื่อควบคุมองค์ประกอบขององค์ประกอบของวัตถุ แบบฟอร์มที่ได้รับการจัดการมีของสะสม องค์ประกอบ- การรวบรวมมีหลายวิธี:

    แทรก (< Имя>, < ТипЭлемента>, < Родитель>, < Элемент >)

    เพิ่ม (< Имя>, < ТипЭлемента>, < Родитель >)

    ปริมาณ ()

    หา (< Имя >)

    เคลื่อนไหว(< Элемент>, < Родитель>, < МестоРасположения >)

    ลบ (< Элемент >)

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

  • กลุ่มแบบฟอร์ม;
  • ตารางฟอร์ม;
  • ฟอร์มฟิลด์;
  • ปุ่มแบบฟอร์ม

คุณสามารถกำหนดตัวจัดการเหตุการณ์ให้กับองค์ประกอบแบบฟอร์มโดยทางโปรแกรมได้ วิธีการนี้มีวัตถุประสงค์เพื่อวัตถุประสงค์เหล่านี้ เซ็ตแอคชั่น(< ИмяСобытия>, < Действие >) .

มาดูตัวอย่างทั่วไปบางส่วนของการทำงานกับคำสั่ง รายละเอียด และองค์ประกอบของฟอร์ม

การเพิ่มคำสั่งและปุ่มที่เกี่ยวข้อง:

// สร้างคำสั่ง
ทีม = ทีม เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง");
ทีม - การกระทำ = "ปลั๊กอิน_ประวัติการแสดงผล"; // แบบฟอร์มจะต้องมีขั้นตอนที่มีชื่อที่ระบุ
ทีม - หัวเรื่อง = "ประวัติศาสตร์การเปลี่ยนแปลง...";
// สร้างปุ่มและเชื่อมโยงกับคำสั่ง
องค์ประกอบ = รายการ เพิ่ม( "ประวัติศาสตร์การเปลี่ยนแปลง", พิมพ์("ปุ่มแบบฟอร์ม" ));
Element.CommandName = "ประวัติศาสตร์การเปลี่ยนแปลง";

การเพิ่มแอตทริบิวต์และช่องป้อนข้อมูลที่เกี่ยวข้อง:

// คำอธิบายรายละเอียดเพิ่มเติม
AddedDetails = อาร์เรย์ใหม่;
รายละเอียดที่เพิ่มเข้ามา เพิ่ม(แอตทริบิวต์แบบฟอร์มใหม่ (“ผู้ซื้อ” คำอธิบายประเภทใหม่ ( “DirectoryLink. คู่สัญญา”), "ลูกค้า" ));
// การเปลี่ยนองค์ประกอบของรายละเอียด
ChangeDetails (รายละเอียดเพิ่มเติม);
// การสร้างช่องป้อนข้อมูลและเชื่อมต่อกับแอตทริบิวต์
องค์ประกอบ = รายการ เพิ่ม("ผู้ซื้อ" , ประเภท("FormField" ));
องค์ประกอบ - มุมมอง = FormFieldView ช่องป้อนข้อมูล;
องค์ประกอบ - เส้นทางสู่ข้อมูล= "ผู้ซื้อ" ;

การกำหนดตัวจัดการเหตุการณ์ให้กับองค์ประกอบแบบฟอร์ม:

รายการลูกค้า. เซ็ตแอคชั่น(“เมื่อมีการเปลี่ยนแปลง”, "เชื่อมต่อ_ผู้ซื้อเมื่อเปลี่ยนแปลง");

&บนไคลเอนต์
ขั้นตอน Connected_BuyerOnChange(องค์ประกอบ)
// การกระทำของเหตุการณ์
สิ้นสุดขั้นตอน

ความสนใจ!

ขั้นตอนที่ถูกกำหนดให้เป็นตัวจัดการเหตุการณ์จากโค้ดโดยใช้วิธีการ เซ็ตแอคชั่น()ขอแนะนำให้ตั้งค่าคำนำหน้า Connectable_

ความสนใจ!

คุณสามารถดาวน์โหลดการประมวลผลพร้อมตัวอย่างการค้นหาทางโปรแกรมและการเปลี่ยนแปลงรายละเอียด คำสั่ง และองค์ประกอบของแบบฟอร์มที่ได้รับการจัดการ

ฉันอ่านฟอรัมหลายแห่ง และไม่มีที่ไหนเลยที่ฉันเห็นคำอธิบายที่เข้าใจได้ของการทำงานกับ "สวิตช์" ฉันจึงตัดสินใจเขียนมันเอง

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

1. สร้างปุ่มตัวเลือกสามปุ่มบนแบบฟอร์ม เพื่อความสะดวกเราจะไม่เปลี่ยนชื่อ
2. สวิตช์ไฮไลท์1. ในคุณสมบัติในส่วน "พื้นฐาน" ให้เลือกช่องแรกในกลุ่ม “ประเภทค่า” เลือกตัวเลข (ต่อไปเราจะมาดูว่าทำไมถึงเป็นตัวเลขที่แน่นอน) คุณสามารถตั้งค่าความยาวเป็นความยาวเดียวได้ แต่ไม่มีฟังก์ชันพิเศษใดๆ
3. เลือก “Switch2” ในคอลัมน์ “ค่าที่เลือก” และใส่ 1
4. เลือก "Switch3" ในคอลัมน์ "ค่าที่เลือก" และใส่ 2
โดยพื้นฐานแล้ว ด้วยการกระทำที่ 3 และ 4 คุณจะตั้งค่าสถานะที่จะเปลี่ยนแปลงเมื่อคุณเลือก "สวิตช์" ที่เกี่ยวข้อง ใน "Switch1" ค่าเริ่มต้น "ค่าที่เลือก" จะเป็นศูนย์
5. ตรวจสอบว่าสวิตช์อยู่ใน "WALKING ORDER" ตามลำดับหรือไม่ (ตัวอย่าง: 13,14,15)(รูปที่ 1) จำเป็นต้องมีลำดับการเคลื่อนที่อย่างต่อเนื่องด้วยสวิตช์ เปิดใช้งานการบายพาสการสั่งซื้ออัตโนมัติ (ตำแหน่งหมายเลข 13, 15, 20) (รูปที่ 2) ในกรณีนี้สวิตช์ที่อยู่ด้านล่างจะไม่ทำงาน คุณควรลบการใช้การสั่งซื้ออัตโนมัติออกจากแบบฟอร์มและหากจำเป็น ระบุคำสั่งซื้อด้วยตนเอง

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

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

6. เลือก “Switch1” และเขียนขั้นตอนที่เราต้องการ
ตัวอย่างเช่น:

EF=องค์ประกอบรูปแบบ; หาก Switch1=0 ดังนั้น EF.Payment Status.Value = "Unpaid"; มิฉะนั้นหาก Switch1=1 ดังนั้น EF.Payment Status.Value = "ชำระแล้วบางส่วน"; มิฉะนั้นถ้า Switch1=2 ดังนั้น EF.Payment Status.Value = "Paid"; สิ้นสุดถ้า;

7. กด F7 กด F5 มาดูกันว่าทุกอย่างได้ผล เราทำได้ดีมาก และบอสใหญ่ก็ให้โบนัสแก่เรา

คำอธิบายสำหรับรหัส

เหตุใดจึงมี "Switch1" ทุกที่ เนื่องจากได้มีการกล่าวไปแล้ว โปรแกรมจึงรับรู้ทั้งสามองค์ประกอบเป็นหนึ่งเดียว และเนื่องจาก "Switch1" เป็นองค์ประกอบแรกในกลุ่ม โปรแกรมจึงรับรู้ว่าเป็นองค์ประกอบทั้งหมด หากคุณทำให้ "Switch2" เป็นองค์ประกอบหลักในกลุ่ม จากนั้นจะต้องดำเนินการตรวจสอบความถูกต้องตาม "Switch2"
แล้ว “0”, “1”, “2” มาจากไหน? เราตั้งค่าเหล่านั้นที่วัตถุใช้เมื่อเปลี่ยน "สวิตช์" ในย่อหน้าที่ 3 และ 4

ภายหลัง:

รหัสนี้เป็นตัวอย่างของการทำงานกับสวิตช์ ในความคิดของฉันสิ่งนี้ชัดเจนและเข้าใจได้มากกว่า แต่เป็นที่น่าสังเกตว่าใน "ประเภทค่า" คุณสามารถเลือกสิ่งที่คุณต้องการได้ทันที - ค่าที่กำหนดไว้ล่วงหน้าจากไดเร็กทอรี การแจงนับ เป็นต้น หรือค่าสตริง นั่นคือในตัวอย่างข้างต้น คุณสามารถกำหนดสวิตช์เป็นค่าที่ไม่ใช่ 0,1,2 ได้ทันที แต่ทันที "ค้างชำระ", "ชำระบางส่วน", "ชำระแล้ว" จากนั้นโค้ดจะลดลงเหลือหนึ่งบรรทัด:

องค์ประกอบของฟอร์ม สถานะการชำระเงิน ค่า = Switch1;

ผลลัพธ์จะเหมือนกัน

//////////////////////////////////////////////////////////////////////////////////////////

สวิตช์ในรูปแบบควบคุม (UF) ได้รับการปรับปรุงให้ใช้งานง่ายยิ่งขึ้น

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

จากนั้นลากและวางแอตทริบิวต์ที่เราต้องการลงในองค์ประกอบแบบฟอร์ม เมื่อสร้างองค์ประกอบแบบฟอร์ม องค์ประกอบในคุณสมบัติ "มุมมอง" จะมีประเภทเป็น "ช่องป้อนข้อมูล" เลือก "สวิตช์ฟิลด์" จากรายการ ผลลัพธ์ที่ได้คือจะได้แบบฟอร์มดังนี้:


เรากรอกชื่อองค์ประกอบแบบฟอร์ม สี แบบอักษร สถานที่ และความสวยงามอื่นๆ ตามที่คุณต้องการ
มีรายการอยู่ในคุณสมบัติขององค์ประกอบแบบฟอร์ม “ รายการการเลือก” - คุณป้อนค่าที่สวิตช์ของคุณจะใช้เมื่อเลือกรายการหนึ่งหรือรายการอื่น ในตัวอย่างของฉัน ฉันเพิ่มบรรทัดที่มีค่า "บันทึก", "ยกเลิกโพสต์", "โพสต์"

หลังจากนี้ สวิตช์ของคุณก็พร้อมใช้งานแล้ว

ขึ้นอยู่กับว่าสวิตช์ของคุณเป็นแอตทริบิวต์ Object หรือแอตทริบิวต์ Form คุณใช้โค้ดต่อไปนี้เพื่อรับค่าที่เก็บไว้ในนั้น:

SwitchFormElementFormElement // เข้าถึงโดยตรงหากนี่เป็นแอตทริบิวต์ของ Object form.SwitchInsideDB // เข้าถึงผ่านองค์ประกอบ Object เพื่อรายละเอียดของคุณ

1C ถูกสร้างขึ้นโดยอัตโนมัติโดยระบบเมื่อใช้โซลูชันแอปพลิเคชัน เป็นพื้นฐานสำหรับการนำเสนอ (แสดง) ข้อมูลในระบบ 1C:Enterprise

โครงสร้างของแบบฟอร์ม 1C

แบบฟอร์ม B เป็นคำอธิบายเชิงตรรกะขององค์ประกอบของแบบฟอร์ม องค์ประกอบจะอธิบายว่าแบบฟอร์มจะมีลักษณะอย่างไร การวางตำแหน่งขององค์ประกอบของฟอร์มจะดำเนินการโดยอัตโนมัติโดยระบบเมื่อมีการแสดง

ส่วนที่แสดงของแบบฟอร์ม (ผู้ใช้มองเห็นได้) อธิบายว่าเป็นแผนผังที่มีองค์ประกอบของแบบฟอร์ม (ดูรูปด้านล่าง ฟิลด์ "องค์ประกอบของแบบฟอร์ม"):

  • กลุ่มรวมทั้งองค์ประกอบอื่นๆ
  • ช่องป้อนข้อมูล,
  • ช่องทำเครื่องหมาย
  • สวิตช์,
  • ปุ่ม,
  • ตารางที่มีองค์ประกอบคอลัมน์ ฯลฯ

"องค์ประกอบของรูปแบบ 1C"

[ทรุด]

กลุ่มขององค์ประกอบแบบฟอร์มสามารถแสดงเป็น

  1. แผงพร้อมกรอบ,
  2. แผงพร้อมหน้า (บุ๊กมาร์ก)
  3. หน้าเพจนั้นเอง
  4. แผงคำสั่ง

ฟังก์ชันการทำงานทั้งหมดของแบบฟอร์มอธิบายไว้ดังนี้:

  • รายละเอียด (ข้อมูลที่ใช้ในแบบฟอร์ม);
  • คำสั่ง (การดำเนินการที่ทำ)

การปรับแต่งรูปลักษณ์ของแบบฟอร์มที่ได้รับการจัดการ

การปรับแต่งรูปลักษณ์ของแบบฟอร์มที่ได้รับการจัดการโดยผู้ใช้

รูปลักษณ์ของแบบฟอร์มที่ได้รับการจัดการสามารถปรับแต่งได้ในระดับผู้ใช้ สำหรับคุณลักษณะนี้ ในการดำเนินการกับแบบฟอร์ม จะมีคำสั่ง "เพิ่มเติม" - "เปลี่ยนแบบฟอร์ม" (จัดการเฉพาะองค์ประกอบของแบบฟอร์มที่กำหนดไว้ในขั้นตอนการพัฒนาหรือตามกฎมาตรฐานสำหรับการสร้างแบบฟอร์มอัตโนมัติ)

"เพิ่มเติม" - "เปลี่ยนรูปร่าง"

คำสั่ง "เพิ่มเติม" - "เปลี่ยนรูปร่าง":

หลังจากคลิก "เปลี่ยนแบบฟอร์ม" หน้าต่างการตั้งค่าแบบฟอร์ม 1C จะปรากฏขึ้น:

[ทรุด]

นอกจากนี้ ในโหมดผู้ใช้ ยังสามารถ:


  • เปลี่ยนลำดับของแบบฟอร์มย้ายจากคอลัมน์หนึ่งไปอีกคอลัมน์หนึ่ง (หากเดสก์ท็อปจัดเป็นสองคอลัมน์) แต่คุณไม่สามารถเปลี่ยนจำนวนคอลัมน์บนเดสก์ท็อปได้
  • แสดงข้อมูลในรูปแบบของหน้าต่างแยก (เมื่อเรียกใช้คำสั่งการนำทางคุณต้องกดปุ่ม Shift ค้างไว้)

หากมีการใช้ส่วนต่างๆ เมื่อคุณเรียกใช้คำสั่งในแผงการนำทาง รายการที่เกี่ยวข้องจะแสดงในพื้นที่ทำงาน โดยแทนที่เนื้อหาก่อนหน้าของพื้นที่ทำงาน

การปรับแต่งรูปลักษณ์ของแบบฟอร์มที่ได้รับการจัดการโดยนักพัฒนา

นักพัฒนาสามารถมีอิทธิพลต่อการจัดเรียงองค์ประกอบด้วยการตั้งค่าต่างๆ สามารถกำหนดลำดับขององค์ประกอบ ระบุความกว้างและความสูง และยังใช้:

  • คำสั่งของแบบฟอร์มนั้นเอง
  • คำสั่งส่วนกลางที่ใช้ตลอดการกำหนดค่า
  • คำสั่งที่สามารถกำหนดพารามิเตอร์ได้ซึ่งจะเปิดแบบฟอร์มอื่นตามข้อมูลเฉพาะของแบบฟอร์มปัจจุบัน

รูป (การเปลี่ยนแปลงแบบฟอร์ม 1C โดยนักพัฒนา)

[ทรุด]

เมื่อพัฒนาแบบฟอร์ม 1C คุณต้อง:

  1. ในตัวแก้ไขแบบฟอร์ม ให้ระบุรายละเอียดและคำสั่งที่จำเป็นในแบบฟอร์ม
  2. สร้างองค์ประกอบของแบบฟอร์มที่แสดงกำหนดลำดับขององค์ประกอบระบุความกว้างและความสูง (ถ้าจำเป็น)
  3. จัดเรียงองค์ประกอบออกเป็นกลุ่ม (ถ้าจำเป็น)
  1. ใช้การตั้งค่าการมองเห็นตามบทบาทในองค์ประกอบของแบบฟอร์ม (การดูและแก้ไขรายละเอียดโดย การมองเห็นฟิลด์แบบฟอร์มแบบกำหนดเองตามบทบาท การใช้คำสั่งตามบทบาท) ในกรณีที่มีบทบาทจำนวนมากในการกำหนดค่า (จากหลายสิบ) ควรปฏิบัติตามแนวทางต่อไปนี้แทน:
    • เมื่อมีความแตกต่างอย่างมากในลักษณะและฟังก์ชันการทำงานของแบบฟอร์ม ขึ้นอยู่กับการมีบทบาทบางอย่างสำหรับผู้ใช้ – พัฒนารูปแบบที่แยกจากกันพิเศษสำหรับชุดสิทธิ์ผู้ใช้เฉพาะ
    • มีความแตกต่างเล็กน้อย - ดำเนินการตรวจสอบสิทธิ์ในรหัส- โปรดทราบว่าการควบคุมการมองเห็นโดยโปรแกรมสามารถลดความเร็วในการเปิดแบบฟอร์มซึ่งจะต้องนำมาพิจารณาเมื่อเลือกระหว่างแนวทางที่เสนอ
  2. ใช้การตั้งค่าการมองเห็นตามบทบาทในอินเทอร์เฟซคำสั่งการกำหนดค่า อินเทอร์เฟซคำสั่งส่วนหลัก และพื้นที่ทำงานของหน้าเริ่มต้น คุณควรตั้งค่าสิทธิ์ในส่วนของอินเทอร์เฟซคำสั่งและออบเจ็กต์ที่รวมอยู่ในอินเทอร์เฟซคำสั่งหรือพื้นที่ทำงานแทน สิ่งนี้ทำให้พฤติกรรมของอินเทอร์เฟซที่ได้รับการจัดการสามารถคาดเดาได้มากขึ้นสำหรับผู้ใช้ และยังทำให้ตรวจสอบข้อผิดพลาดได้ง่ายขึ้นอีกด้วย

สำหรับข้อมูลโดยละเอียดเพิ่มเติมเกี่ยวกับการทำงานกับแบบฟอร์ม โปรดดูหลักสูตร “การทำงานกับแบบฟอร์มใน 1C:Enterprise 8.3”, http://www.1c.ru/rus/partners/training/uc1/course.jsp?id=161



2024 wisemotors.ru. วิธีนี้ทำงานอย่างไร. เหล็ก. การทำเหมืองแร่ สกุลเงินดิจิทัล