การเปลี่ยนวงจร 1 วินาทีเป็นการวนซ้ำครั้งถัดไป การหยุดชะงักของวงจร เงื่อนไขการรวม ปุ่มลัด: การจัดการแบบฟอร์ม

วันที่ 12 ธันวาคม 2557 เวลา 13:13 น

รอบไหนเร็วกว่ากัน? การทดสอบ 1C

  • ประสิทธิภาพสูง ,
  • การเขียนโปรแกรมผิดปกติ
  • การเขียนโปรแกรม

ฉันเขียนโปรแกรม 1C มาหลายปีแล้ว แล้วความคิดก็เข้ามาหาฉัน - “ฉันควรเข้ารับการฝึกอบรมอะไรสักอย่างไหม ถ้าความรู้ของฉันมีช่องว่างบางอย่างที่ฉันไม่เคยสงสัยมาก่อนล่ะ”พูดไม่ทันทำเลย ฉันกำลังนั่งฟังหลักสูตร ฉันไปถึงตัวดำเนินการแบบวนรอบแล้วความคิดที่สอง (ใช่ พวกเขาไม่ได้มาหาฉันบ่อย ๆ ) - “รอบไหนเร็วกว่า”?เราควรตรวจสอบมัน.
ฉันจึงพบ ห้าวิธีคุณจะจัดระเบียบวงจรโดยใช้ 1C ได้อย่างไร

วงจรประเภทแรกเรียกมันว่าแบบมีเงื่อนไข "ฟอร์โป"ดูเหมือนว่า:

สำหรับ n = 0 ตามจำนวนรอบการวนซ้ำ SomeActions(); สิ้นสุดรอบ;
ประเภทที่สอง "แต่ละ":

สำหรับแต่ละองค์ประกอบคอลเลกชันจากรอบการรวบรวม SomeActions(); สิ้นสุดรอบ;
ที่สาม "ลาก่อน":

ลาก่อน<>จำนวนรอบการวนซ้ำ SomeActions(); n = n + 1; สิ้นสุดรอบ;
จากนั้นฉันก็นึกถึงวัยเยาว์ของนักประกอบของฉัน - วงจร "ถ้า":

~เริ่มรอบ: ถ้า n<>จำนวนการวนซ้ำแล้ว SomeActions(); n = n + 1; ไป ~StartCycle; สิ้นสุดถ้า;
และในที่สุดก็ "การเรียกซ้ำ"

ขั้นตอน RecursiveLoop (n, จำนวนการวนซ้ำ) SomeActions (); ถ้าไม่มี<>NumberIterations จากนั้น RecursiveLoop (n + 1, NumberIterations); สิ้นสุดถ้า; สิ้นสุดขั้นตอน
โดยปกติแล้ว การจัดประเภทการเรียกซ้ำเป็นการวนซ้ำนั้นไม่ถูกต้องทั้งหมด แต่อย่างไรก็ตาม ด้วยความช่วยเหลือนี้ คุณจึงสามารถบรรลุผลลัพธ์ที่คล้ายกันได้ ฉันขอจองทันทีว่าการเรียกซ้ำไม่เกี่ยวข้องกับการทดสอบเพิ่มเติม ประการแรก การทดสอบทั้งหมดดำเนินการด้วยการวนซ้ำ 1,000,000 ครั้ง และการเรียกซ้ำเกิดขึ้นแล้วที่ 2,000 ครั้ง ประการที่สอง ความเร็วของการเรียกซ้ำจะน้อยกว่าความเร็วของลูปอื่นๆ หลายสิบเท่า

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

ไปกันเลย เนื้อความของลูปกำลังอ่านจากอาร์เรย์ที่เติมไว้ล่วงหน้า


หรือเมื่อใช้ลูป “ForEach”

TestValueReceiver = องค์ประกอบ;
การทดสอบดำเนินการบนแพลตฟอร์ม 8.3.5.1231 สำหรับอินเทอร์เฟซสามประเภท ( การสมัครปกติ, Managed Application และ Taxi)
ตัวเลขคือเวลาเป็นมิลลิวินาทีที่ได้รับโดยใช้ฟังก์ชัน CurrentUniversalDateInMilliseconds()ซึ่งผมเรียกว่าก่อนวนซ้ำและหลังเสร็จ ตัวเลขนั้นเป็นเศษส่วนเพราะฉันใช้ค่าเฉลี่ยเลขคณิตของการวัดห้าครั้ง เหตุใดฉันจึงไม่ใช้การวัดประสิทธิภาพ ฉันไม่มีเป้าหมายที่จะวัดความเร็วของโค้ดแต่ละบรรทัด มีเพียงความเร็วของรอบที่มีผลลัพธ์เหมือนกัน

ดูเหมือนว่านั่นคือทั้งหมด แต่ - ทดสอบ, ทดสอบ!
ผลลัพธ์สำหรับแพลตฟอร์ม 8.2.19.106
โดยเฉลี่ยแล้ว แพลตฟอร์ม 8.2 จะเร็วกว่า 8.3 ถึง 25% ฉันไม่ได้คาดหวังถึงความแตกต่างเช่นนี้และตัดสินใจทดสอบกับเครื่องอื่น ฉันจะไม่ให้ผลลัพธ์ แต่คุณสามารถสร้างมันเองได้โดยใช้การกำหนดค่านี้ ฉันจะบอกว่า 8.2 เร็วขึ้น 20 เปอร์เซ็นต์

ทำไม ฉันไม่รู้ การแยกส่วนเคอร์เนลไม่ได้เป็นส่วนหนึ่งของแผนของฉัน แต่ฉันยังคงดูการวัดประสิทธิภาพอยู่ ปรากฎว่าการดำเนินการแบบวนรอบนั้นค่อนข้างเร็วกว่าใน 8.3 มากกว่าใน 8.2 แต่อยู่แถวนั้น.
TestValueReceiver = TestArray.Get (n);
นั่นคือมีประสิทธิภาพที่สำคัญเมื่ออ่านองค์ประกอบคอลเลกชันลงในตัวแปร

ในท้ายที่สุด:
ทั้งหมดนี้เพื่ออะไร? ฉันได้ข้อสรุปหลายประการสำหรับตัวเอง:

1. หากเป็นไปได้ที่จะใช้วงจรพิเศษ - "สำหรับทุกคน" ก็ควรใช้มันจะดีกว่า อย่างไรก็ตาม ตัวมันเองใช้เวลาดำเนินการนานกว่าลูปอื่น ๆ แต่ความเร็วในการเข้าถึงองค์ประกอบคอลเลกชันนั้นสูงกว่ามาก
2. หากคุณทราบจำนวนการวนซ้ำล่วงหน้า ให้ใช้ "ForPo" “สำหรับตอนนี้” จะทำงานช้าลง
3. หากคุณใช้ลูป "If" โปรแกรมเมอร์คนอื่นจะไม่เข้าใจคุณอย่างชัดเจน

21
//ฟังก์ชันสร้างการแสดงค่าที่อ่านง่าย // ตัวอย่างการจัดรูปแบบตัวเลข ValueFormat = Format(123456.789, " NRT=10; NRT=2"); //ValueFormat = "123,456.79"ValueFormat = รูปแบบ(123456.789, "HH=0; NHV=2"); //ค่า 16
ค้นหาข้อความแบบเต็ม - จะช่วยให้คุณค้นหาได้ ข้อมูลข้อความวางเกือบทุกที่ในการกำหนดค่าที่ใช้ ในกรณีนี้ คุณสามารถค้นหาข้อมูลที่จำเป็นได้ตลอดทั้งการกำหนดค่าโดยรวมหรือโดยการจำกัดให้แคบลง... 8
"จุดเวลา" เป็นสนามเสมือนที่ไม่ได้จัดเก็บไว้ในฐานข้อมูล ประกอบด้วยวัตถุ Point in Time (ซึ่งรวมถึงวันที่และ LINK TO A DOCUMENT) ใน 7.7 มีแนวคิดของ Document Position และใน 8.x Point in Time To get... 6
สำหรับ 8.x FindByLinks (FindDataByRef) ไวยากรณ์: FindByLinks (รายการลิงก์) พารามิเตอร์: รายการลิงก์ ประเภทที่ต้องการ: อาร์เรย์ อาร์เรย์ที่มีรายการลิงก์ไปยังออบเจ็กต์ที่ต้องการค้นหาลิงก์ ...

ในบทความนี้เราจะพิจารณาการสร้างภาษาโปรแกรม 1C เช่น รอบ.

มีสามวิธีในการจัดระเบียบลูป

  1. วนซ้ำโดยใช้นิพจน์เชิงตรรกะ (ดำเนินการจนกระทั่ง การแสดงออกทางตรรกะจริง)
  2. วนซ้ำผ่านคอลเลกชัน

ลองดูแต่ละวิธีเหล่านี้

วนซ้ำโดยใช้ตัวแปรตัวนับวนซ้ำ

ไวยากรณ์:

สำหรับ< Переменная> = < НачальноеЗначение>โดย< КонечноеЗначение>วงจรEndCycle;

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

ในการวนซ้ำแต่ละครั้ง ค่าตัวนับจะเพิ่มขึ้นทีละหนึ่ง นี่คือตัวอย่างพื้นฐานที่สุดของการวนซ้ำ:

สำหรับตัวนับ = 0 ถึง 1,000 รอบการสิ้นสุดรอบ;

ต่างจากภาษาการเขียนโปรแกรมอื่น ๆ 1C ไม่มีความสามารถในการระบุขั้นตอนในรอบ หากจำเป็น สามารถทำได้โดยเพิ่มค่าที่ต้องการให้กับตัวนับภายในลูป

สำหรับตัวนับ = 0 ถึง 1,000 รอบ ตัวนับ = ตัวนับ + 10 ; เอ็นด์ไซเคิล ;

วนซ้ำโดยใช้นิพจน์บูลีน

ไวยากรณ์:

ลาก่อน< ЛогическоеВыражение>วงจรEndCycle;

ปฏิเสธ = เท็จ ; GeneratorRandom = NewRandomNumberGenerator(1) ; จนกระทั่งรอบความล้มเหลว RandomNumber = GeneratorRank สุ่มตัวเลข(0, 10); ถ้า RandomNumber > 5 ความล้มเหลว = True ; สิ้นสุดถ้า ; เอ็นด์ไซเคิล ;

นั่นคือการวนซ้ำจะทำงานจนกว่าจะสร้างตัวเลขสุ่มที่มากกว่าห้า

วนซ้ำผ่านคอลเลกชัน

ในภาษาการเขียนโปรแกรม 1C มีสิ่งดังกล่าวเป็นคอลเลกชัน เป็นชุดขององค์ประกอบที่อยู่ภายในวัตถุ

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

แต่ละ< ЭлементКоллекции>จาก< Коллекция>วงจรEndCycle;

ที่นี่ <ЭлементКоллекции> เป็นตัวแปรที่องค์ประกอบจากคอลเลกชันถูกวางตามลำดับ และภายในลูปก็จะถูกประมวลผลตามนั้น
ตามตัวอย่าง ฉันจะให้คุณวนซ้ำในแถวของตารางค่า ให้มันเรียกว่า ตารางผลิตภัณฑ์และมีลักษณะดังนี้:

มาดูตารางนี้แบบวนซ้ำแล้วสำหรับแต่ละแถวเราจะแสดงข้อความพร้อมชื่อและราคาของผลิตภัณฑ์:

สำหรับแต่ละแถวของตารางจากชื่อวงจรผลิตภัณฑ์ตาราง = แถวของตาราง ชื่อ; ราคา = แถวตาราง ราคา; ข้อความ = MessageToUser ใหม่; ข้อความ. ข้อความ = "ชื่อผลิตภัณฑ์:"

ในความเป็นจริงสิ่งเดียวกันนี้สามารถทำได้โดยใช้ตัวเลือกแรกนั่นคือในการวนซ้ำโดยใช้ตัวนับ:

จำนวนแถว = TableProducts ปริมาณ() ; สำหรับตัวนับ = 0 ตามจำนวนแถว - 1 รอบตาราง แถว = TableProducts[ ตัวนับ] ; ชื่อ = แถวของตาราง ชื่อ; ราคา = แถวตาราง ราคา; ข้อความ = MessageToUser ใหม่; ข้อความ. ข้อความ = "ชื่อผลิตภัณฑ์:"+ ชื่อ + "; ราคา: " + ราคา; ข้อความ. เพื่อรายงาน() ; เอ็นด์ไซเคิล ;

แต่อย่างที่เราเห็น การใช้การข้ามองค์ประกอบคอลเลกชันนั้นง่ายกว่าและสะดวกกว่ามาก

ผู้ประกอบการเสริม

มักจะมีสถานการณ์ที่จำเป็นต้องขัดจังหวะการดำเนินการของลูปหรือดำเนินการต่อไปจากการวนซ้ำครั้งถัดไป ขึ้นอยู่กับบางสิ่งบางอย่าง

การหยุดชะงักจะดำเนินการโดยใช้ตัวดำเนินการ ยกเลิก. ในกรณีนี้ การดำเนินการของลูปถูกขัดจังหวะ และการควบคุมจะถูกถ่ายโอนไปยังโครงสร้างภาษาที่ตามหลังลูป หากคุณต้องการย้ายไปยังการวนซ้ำครั้งถัดไป คุณต้องใช้โอเปอเรเตอร์ ดำเนินการต่อ. จากนั้นการควบคุมจะถูกถ่ายโอนไปยังจุดเริ่มต้นของลูป เรามาอธิบายด้วยตัวอย่างเล็กๆ น้อยๆ:

สำหรับตัวนับ = 0 ถึง 100 รอบ ถ้าตัวนับ = 0 ให้ดำเนินการต่อ; สิ้นสุดถ้า ; หากตัวนับ = 4 ให้ยกเลิก ; สิ้นสุดถ้า ; ผลลัพธ์ = 1 / ตัวนับ; ข้อความ = MessageToUser ใหม่; ข้อความ. ข้อความ = สตริง (ผลลัพธ์) ; ข้อความ. เพื่อรายงาน() ; เอ็นด์ไซเคิล ;

เราข้ามศูนย์เพราะว่า คุณไม่สามารถหารด้วยศูนย์ได้ และการวนซ้ำจะถูกดำเนินการทั้งหมดห้าครั้งสำหรับค่าของตัวแปร เคาน์เตอร์จาก 0 ถึง 4

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

ตารางที่ 1

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

สร้าง เอกสารใหม่

เปิดเอกสารที่มีอยู่

เปิดเครื่องคิดเลข

เปิดเครื่องคิดเลข

แสดงคุณสมบัติ

Alt+ป้อน
Ctrl+E

เปิดหน้าต่างข้อความ

ปิดหน้าต่างข้อความ

Ctrl + Shift + Z

เปิดกระดานคะแนน

เปิดกระดานคะแนน

เปิดความช่วยเหลือ

เปิดความช่วยเหลือ

เรียกดัชนีความช่วยเหลือ

Shift + Alt + F1

เรียกดัชนีความช่วยเหลือ

ปุ่มลัด: การกระทำระดับโลก

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

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

ตารางที่ 1

ปุ่มลัดสำหรับการดำเนินการทั่วโลก

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

สร้างเอกสารใหม่

เปิดหน้าต่างที่คุณจะถูกขอให้เลือกประเภทของเอกสารใหม่ที่จะสร้าง รูปแบบต่างๆ- ตัวอย่างเช่น ในข้อความ ตาราง หรือ HTML

เปิดเอกสารที่มีอยู่

เปิดกล่องโต้ตอบ "เปิด" มาตรฐาน ซึ่งสามารถเข้าถึงได้ผ่านเมนู "ไฟล์/เปิด…"

การเปิดใช้งานช่องค้นหาในแถบคำสั่ง

วางเคอร์เซอร์ในช่องนี้

เปิดเครื่องคิดเลข

เปิดเครื่องคิดเลข

แสดงคุณสมบัติ

Alt+ป้อน
Ctrl+E

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

เปิดหน้าต่างข้อความ

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

ปิดหน้าต่างข้อความ

Ctrl + Shift + Z

ปิดหน้าต่างข้อความเมื่อไม่ต้องการอีกต่อไป โปรดทราบ: เลือกชุดค่าผสมเพื่อให้สามารถกดได้ง่ายด้วยมือเดียว

เปิดกระดานคะแนน

เปิดกระดานคะแนน

เปิดความช่วยเหลือ

เปิดความช่วยเหลือ

เรียกดัชนีความช่วยเหลือ

Shift + Alt + F1

เรียกดัชนีความช่วยเหลือ

ปุ่มลัด: การดำเนินการทั่วไป

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

ตารางที่ 2

ปุ่มลัดสำหรับการดำเนินการทั่วไป

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

ลบองค์ประกอบใต้เคอร์เซอร์ (องค์ประกอบปัจจุบัน) หรือกลุ่มองค์ประกอบที่เลือก

เพิ่ม

ช่วยให้คุณเพิ่มองค์ประกอบใหม่

บันทึกเอกสารที่ใช้งานอยู่

พิมพ์เอกสารที่ใช้งานอยู่

เรียกกล่องโต้ตอบการพิมพ์สำหรับเอกสารที่ใช้งานอยู่

การพิมพ์ไปยังเครื่องพิมพ์ปัจจุบัน

Ctrl + Shift + P

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

คัดลอกไปยังคลิปบอร์ด

Ctrl+C
Ctrl + อิน

คัดลอกองค์ประกอบที่ต้องการหรือกลุ่มองค์ประกอบที่เลือกไปยังคลิปบอร์ดของ Windows

ตัดไปที่คลิปบอร์ด

Ctrl+X
กะ + เดล

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

วางจากคลิปบอร์ด

Ctrl+V
Shift + Ins

วางข้อมูลที่มีอยู่จากคลิปบอร์ดของ Windows ลงในตำแหน่งที่เคอร์เซอร์ทำเครื่องหมายไว้

เพิ่มลงในคลิปบอร์ดเป็นตัวเลข

Shift + หมายเลข + (*)

ใช้สำหรับค่าตัวเลข

เพิ่มลงในคลิปบอร์ด

Shift + หมายเลข + (+)

ใช้สำหรับค่าตัวเลข การดำเนินการเพิ่มเติมด้วยข้อมูลบนคลิปบอร์ด

ลบออกจากคลิปบอร์ด

Shift + หมายเลข + (-)

ใช้สำหรับค่าตัวเลข การดำเนินการลบด้วยข้อมูลบนคลิปบอร์ด

เลือกทั้งหมด

ยกเลิก การกระทำครั้งสุดท้าย

Ctrl+Z
Alt+BackSpace

ย้อนกลับการกระทำที่เลิกทำ

Ctrl+Y
Shift + Alt + BackSpace

ค้นหาต่อไป

ค้นหาถัดไปที่ไฮไลต์

ค้นหาก่อนหน้า

ค้นหาตัวเลือกก่อนหน้า

Ctrl + Shift + F3

แทนที่

Ctrl + หมายเลข + (-)

เลือกทั้งหมด

เลือกองค์ประกอบทั้งหมดที่มีอยู่ในเอกสารที่ใช้งานอยู่

เลิกทำการกระทำล่าสุด

Ctrl+Z
Alt+BackSpace

เลิกทำการดำเนินการล่าสุด

ย้อนกลับการกระทำที่เลิกทำ

Ctrl+Y
Shift + Alt + BackSpace

ช่วยให้คุณเลิกทำ "Ctrl + Z" หรืออีกนัยหนึ่ง - เพื่อคืนสิ่งที่คุณทำก่อนที่จะกดเลิกทำการกระทำล่าสุด

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

ค้นหาต่อไป

ค้นหาองค์ประกอบถัดไปที่ตรงกับพารามิเตอร์ที่ระบุในการตั้งค่าการค้นหา

ค้นหาถัดไปที่ไฮไลต์

ค้นหาองค์ประกอบถัดไปที่ตรงกับองค์ประกอบที่คุณเลือก (เช่น ตำแหน่งที่เคอร์เซอร์วางอยู่)

ค้นหาก่อนหน้า

ค้นหาองค์ประกอบก่อนหน้าที่ตรงกับพารามิเตอร์ที่ระบุในการตั้งค่าการค้นหา

ค้นหาตัวเลือกก่อนหน้า

Ctrl + Shift + F3

ค้นหาองค์ประกอบก่อนหน้าที่ตรงกับองค์ประกอบที่คุณเลือก

แทนที่

เปิดกล่องโต้ตอบค้นหาและแทนที่ค่า (หากอนุญาต)

ยุบ (โหนดต้นไม้ กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล)

Ctrl + หมายเลข + (-)

ใช้เมื่อมีโหนดต้นไม้ที่มีเครื่องหมาย "+" หรือ "-"

ยุบ (โหนดทรี กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) และผู้ใต้บังคับบัญชาทั้งหมด

Ctrl + Alt + หมายเลข + (-)

ยุบ (โหนดต้นไม้ทั้งหมด กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล)

Ctrl + Shift + หมายเลข + (-)

ขยาย (โหนดต้นไม้ กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล)

Ctrl + หมายเลข + (+)

ขยาย (โหนดทรี กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) และผู้ใต้บังคับบัญชาทั้งหมด

Ctrl + Alt + หมายเลข + (+)

ขยาย (โหนดต้นไม้ทั้งหมด กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล)

Ctrl + Shift + หมายเลข + (+)

หน้าต่อไป

Ctrl + เลื่อนหน้าลง
Ctrl + Alt + F

เลื่อนดูเอกสารที่ใช้งานอยู่อย่างรวดเร็ว

หน้าก่อน

Ctrl + เลื่อนหน้าขึ้น
Ctrl + Alt + B

เปิด/ปิดเนื้อหาไขมัน

ใช้ในกรณีที่รองรับการจัดรูปแบบข้อความและเป็นไปได้

เปิด/ปิดตัวเอียง

เปิด/ปิดการขีดเส้นใต้

ไปที่หน้าเว็บก่อนหน้า/บทความช่วยเหลือ

ใช้ในเอกสาร HTML

ไปที่หน้าเว็บถัดไป/บทความช่วยเหลือ

ยกเลิกการดำเนินการรายงานระบบการจัดองค์ประกอบข้อมูล

ปุ่มลัด: การจัดการหน้าต่าง

ส่วนนี้จะรวมปุ่มลัดที่ใช้ร่วมกันกับทุกหน้าต่างและรูปแบบของแพลตฟอร์ม 1C:Enterprise

ตารางที่ 3

ปุ่มลัดสำหรับจัดการหน้าต่าง

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

ปิดหน้าต่าง กล่องโต้ตอบโมดอล หรือแอปพลิเคชันที่ใช้งานฟรี

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

ปิดหน้าต่างปกติที่ใช้งานอยู่

ปิดหน้าต่างปกติปัจจุบัน

ปิด หน้าต่างที่ใช้งานอยู่

ปิดหน้าต่างที่ใช้งานอยู่ในปัจจุบัน

เปิดใช้งานหน้าต่างปกติถัดไป

Ctrl+แท็บ
Ctrl+F6

ช่วยให้คุณสามารถเปิดใช้งานหน้าต่างต่อไปนี้ระหว่างหน้าต่างที่เปิดอยู่ภายในการกำหนดค่า การกดเป็นรอบในขณะที่กดปุ่ม Ctrl ค้างไว้จะทำให้คุณสามารถเลื่อนดูหน้าต่างที่เปิดอยู่ "ไปข้างหน้า"

เปิดใช้งานหน้าต่างปกติก่อนหน้า

Ctrl + Shift + แท็บ
Ctrl + Shift + F6

ช่วยให้คุณสามารถเปิดใช้งานหน้าต่างก่อนหน้าระหว่างหน้าต่างที่เปิดอยู่ภายในการกำหนดค่า การกดเป็นรอบในขณะที่กดปุ่ม Ctrl ค้างไว้จะทำให้คุณสามารถเลื่อนดูหน้าต่างที่เปิดอยู่ "ย้อนกลับ"

เปิดใช้งานส่วนถัดไปของหน้าต่าง

เปิดใช้งานส่วนถัดไปของหน้าต่างปัจจุบัน

เปิดใช้งานส่วนหน้าต่างก่อนหน้า

เปิดใช้งานส่วนก่อนหน้าของหน้าต่างปัจจุบัน

เรียกเมนูระบบของแอปพลิเคชันหรือกล่องโต้ตอบโมดอล

ช่วยให้คุณเห็นเมนูระบบการทำงาน (ย่อเล็กสุด ย้าย ปิด ฯลฯ) เหนือหน้าต่างโปรแกรมหรือเปิดกล่องโต้ตอบโมดอล

เรียกเมนูระบบหน้าต่าง (ยกเว้นกล่องโต้ตอบโมดอล)

Alt + ยัติภังค์ + (-)
Alt + หมายเลข + (-)

ช่วยให้คุณเห็นเมนูระบบการทำงาน (ย่อเล็กสุด ย้าย ปิด ฯลฯ) เหนือหน้าต่างที่ใช้งานอยู่

โทรเมนูหลัก

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

เมนูบริบทการโทร

แสดงเมนูบริบทเหนือองค์ประกอบที่ใช้งานอยู่ในปัจจุบัน เช่นเดียวกับการกด ปุ่มขวาเมาส์บนมัน

คืนกิจกรรมกลับสู่หน้าต่างปกติ

คืนกิจกรรมกลับสู่หน้าต่างปกติหลังจากทำงานกับเมนูบริบท ความสนใจ! ในกรณีอื่น Esc จะเริ่มการปิดหน้าต่างที่ใช้งานอยู่

ปุ่มลัด: การจัดการแบบฟอร์ม

ต่อไปนี้เป็นการรวบรวมคีย์ "ฮอต" ที่ทำให้การทำงานง่ายขึ้นและเร็วขึ้นด้วยรูปแบบต่างๆ ที่สร้างขึ้นในการกำหนดค่าที่เขียนบนแพลตฟอร์ม 1C:Enterprise

ตารางที่ 4

ปุ่มลัดสำหรับจัดการแบบฟอร์ม

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

ย้ายไปที่ปุ่มควบคุม/เริ่มต้นการโทรถัดไป

ย้ายไปมาระหว่างตัวควบคุมบนแบบฟอร์ม "ไปข้างหน้า" (ดูแท็บ)

เรียกปุ่มเริ่มต้น

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

ย้ายไปยังการควบคุมถัดไป

นำทางระหว่างตัวควบคุมบนฟอร์มไปข้างหน้า

ไปที่การควบคุมก่อนหน้า

การย้ายระหว่างตัวควบคุมในรูปแบบ "ย้อนกลับ"

เปิดใช้งานแถบคำสั่งที่เกี่ยวข้องกับการควบคุม/แบบฟอร์มที่ใช้งานอยู่

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

นำทางผ่านการควบคุมที่จัดกลุ่มไว้ด้วยกัน

ขึ้น
ลง
ซ้าย
ขวา

การใช้ปุ่มเคอร์เซอร์ทำให้คุณสามารถย้ายไปมาระหว่างการควบคุมที่จัดกลุ่มได้อย่างรวดเร็ว

ปิดแบบฟอร์ม

ปิดหน้าต่างแบบฟอร์มปัจจุบัน

คืนค่าตำแหน่งหน้าต่าง

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

ปุ่มลัด: การทำงานกับรายการและแผนผัง

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

ตารางที่ 5

ปุ่มลัดสำหรับการทำงานกับรายการและแผนผัง

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

เปิดองค์ประกอบที่วางเคอร์เซอร์ไว้เพื่อแก้ไข คีย์จะคล้ายกับการดำเนินการ "แก้ไข" บนแถบปุ่มแบบฟอร์มมาตรฐาน

อัปเดต

Ctrl + Shift + R
F5

อัปเดตข้อมูลในรายการหรือแผนผัง นี่เป็นเรื่องจริงโดยเฉพาะอย่างยิ่งสำหรับรายการไดนามิก (เช่น รายการเอกสาร) เมื่อไม่ได้เปิดใช้งานการอัปเดตอัตโนมัติสำหรับรายการเหล่านั้น

สำเนา

สร้างรายการใหม่โดยใช้รายการปัจจุบันเป็นเทมเพลต คล้ายกับปุ่ม "เพิ่มโดยการคัดลอก"

กลุ่มใหม่

สร้าง กลุ่มใหม่. คล้ายกับปุ่ม "เพิ่มกลุ่ม"

ลบบรรทัด

ลบองค์ประกอบปัจจุบันโดยตรง ความสนใจ! ใช้ชุดค่าผสมนี้ด้วยความระมัดระวังอย่างยิ่ง รายการแบบไดนามิกเนื่องจากการลบไม่สามารถยกเลิกได้

ย้ายแถวขึ้น

Ctrl + Shift + ขึ้น

ในรายการที่อนุญาตให้เรียงลำดับบรรทัด ช่วยให้คุณสามารถย้ายบรรทัดปัจจุบันขึ้นได้ คล้ายกับปุ่ม "เลื่อนขึ้น"

เลื่อนบรรทัดลง

Ctrl + Shift + ลง

ในรายการที่อนุญาตให้เรียงลำดับบรรทัด ให้คุณย้ายบรรทัดปัจจุบันลงได้ คล้ายกับปุ่ม "ย้ายลง"

ย้ายองค์ประกอบไปยังกลุ่มอื่น

Ctrl + Shift + M
Ctrl+F5

ช่วยให้คุณย้ายองค์ประกอบปัจจุบัน (เช่น ไดเร็กทอรี) ไปยังกลุ่มอื่นได้อย่างรวดเร็ว

ลงไปหนึ่งระดับพร้อมกับขยายกลุ่มไปพร้อมๆ กัน

ย้ายภายในโฟลเดอร์ที่วางเคอร์เซอร์ไว้

ขึ้นไปหนึ่งระดับ (ถึง "ผู้ปกครอง")

ไปที่ด้านบนของโฟลเดอร์ที่คุณอยู่

แก้ไขให้เสร็จสิ้น

เสร็จสิ้นการแก้ไขรายการและบันทึกการเปลี่ยนแปลง

หยุดค้นหา

ยกเลิกการค้นหา

ขยายโหนดต้นไม้

ใช้เมื่อมีโหนดต้นไม้ที่มีเครื่องหมาย "+" หรือ "-"

ปิดโหนดแผนผัง

ขยายโหนดต้นไม้ทั้งหมด

การเปลี่ยนช่องทำเครื่องหมาย

แปลงค่าของช่องทำเครื่องหมายขององค์ประกอบปัจจุบัน (เปิดหรือปิด)

ปุ่มลัด: ช่องป้อนข้อมูล

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

ตารางที่ 6

ปุ่มลัดสำหรับช่องป้อนข้อมูล

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

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

ปุ่มเลือก

การเลือกวัตถุที่เหมาะสมที่เกี่ยวข้องกับช่องป้อนข้อมูล (เช่น การเลือกเอกสารที่ต้องการจากรายการ) คล้ายกับปุ่มช่องป้อนข้อมูล "เลือก"

ปุ่มเปิด

Ctrl + Shift + F4

เปิดรูปแบบของวัตถุที่เลือกในช่องป้อนข้อมูลปัจจุบัน เช่นเดียวกับการคลิกปุ่มช่องป้อนข้อมูล "เปิด"

ล้างข้อมูลในช่อง

ล้างช่องป้อนข้อมูลออกจากค่าปัจจุบัน

การทำงานกับข้อความที่พิมพ์ในช่องป้อนข้อมูล

Ctrl + BackSpace

ไปที่จุดเริ่มต้นของบรรทัด

ไปที่ท้ายบรรทัด

การคลิกตัวชี้เมาส์บนปุ่มขึ้นสำหรับปุ่มปรับ

ใช้การปรับหากเปิดใช้งานในช่องป้อนข้อมูล เช่น การเปลี่ยนวันที่ ตัวนับ ฯลฯ คล้ายกับการกดปุ่ม "ขึ้น" ของตัวควบคุมช่องอินพุต

คลิกตัวชี้เมาส์ลงบนปุ่มปรับ

ใช้การปรับหากเปิดใช้งานในช่องป้อนข้อมูล เช่น การเปลี่ยนวันที่ ตัวนับ ฯลฯ คล้ายกับการกดปุ่ม "ลง" ของตัวควบคุมช่องป้อนข้อมูล

ปุ่มลัด: ฟิลด์รูปภาพ

ฟิลด์รูปภาพ- นี่คือองค์ประกอบมาตรฐานของแพลตฟอร์ม 1C:Enterprise 8 สำหรับการแสดง ภาพกราฟิก. ปุ่มลัดจะช่วยให้ดูภาพที่อยู่ในช่องรูปภาพได้อย่างสะดวกสบาย

ตารางที่ 7

ปุ่มลัดสำหรับช่องรูปภาพ

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

ขยายเข้า

ปรับขนาดภาพ

ซูมออก

เลื่อน

ขึ้น
ลง
ซ้าย
ขวา

เลื่อนไปมาตามภาพ

เลื่อนขนาดหน้าต่างขึ้น

เลื่อนขนาดหน้าต่างลง

เลื่อนขนาดหน้าต่างไปทางซ้าย

เลื่อนขนาดหน้าต่างไปทางขวาหนึ่งขนาด

ปุ่มลัด: เครื่องมือแก้ไขเอกสารสเปรดชีต

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

ตารางที่ 8

ปุ่มลัดสำหรับเครื่องมือแก้ไขสเปรดชีต

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

ไปที่เซลล์

เปิดกล่องโต้ตอบเพื่อย้ายไปยังเซลล์ที่มีพิกัดของคอลัมน์/แถว

เคลื่อนที่ผ่านเซลล์

ขึ้น
ลง
ซ้าย
ขวา

เลื่อนเคอร์เซอร์ผ่านเซลล์ตาราง

เลื่อนผ่านเซลล์ไปยังเซลล์ถัดไปที่เต็มหรือว่าง

Ctrl + (ขึ้น, ลง, ซ้าย, ขวา)

เลื่อนเคอร์เซอร์ผ่านเซลล์ตารางที่เติมสี

การเลือกเซลล์

Shift + (ขึ้น, ลง, ซ้าย, ขวา)

เลือกพื้นที่ของเซลล์โดยเริ่มจากเซลล์ปัจจุบัน

เลื่อนหน้าขึ้น

พลิกดูเอกสารสเปรดชีต

เลื่อนหน้าลง

เลื่อนไปทางซ้ายหนึ่งหน้า

เลื่อนไปทางขวาหนึ่งหน้า

ไปที่การแก้ไขเนื้อหาของเซลล์

เปิดใช้งานโหมดแก้ไขเนื้อหาเซลล์

การสลับโหมดแก้ไข/ป้อนข้อมูลในเซลล์

ไปที่จุดเริ่มต้นของบรรทัด

เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัด

ไปที่ท้ายบรรทัด

เลื่อนเคอร์เซอร์ไปที่ท้ายบรรทัด

ไปที่จุดเริ่มต้นของข้อความ

ไปที่ท้ายข้อความ

การตั้งชื่อพื้นที่ปัจจุบัน

Ctrl + Shift + N

ตั้งชื่อพื้นที่เซลล์ปัจจุบัน

ปุ่มลัด: โปรแกรมแก้ไขเอกสารข้อความ

ปุ่มลัดเมื่อแก้ไขข้อความในพื้นที่ข้อความและเอกสารสามารถเร่งความเร็วและลดความซับซ้อนของกระบวนการได้อย่างมาก

ตารางที่ 9

ปุ่มลัดสำหรับตัวแก้ไข เอกสารข้อความ

การกระทำ

แป้นพิมพ์ลัด

โปรแกรมทำงานอย่างไร

สลับโหมดแทรก/แทนที่

อนุญาตให้คุณเพิ่มอักขระใหม่ให้กับตัวเก่าเมื่อเข้ามาหรือเขียนทับตัวเก่าด้วยตัวใหม่

ไปที่จุดเริ่มต้นของบรรทัด

เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัดปัจจุบัน

ไปที่ท้ายบรรทัด

เลื่อนเคอร์เซอร์ไปที่ท้ายบรรทัดปัจจุบัน

เลือกเพื่อเริ่มต้นบรรทัด

เลือกข้อความที่จุดเริ่มต้นของบรรทัด

เลือกไปที่ท้ายบรรทัด

เลือกข้อความที่ท้ายบรรทัด

ไปที่จุดเริ่มต้นของข้อความ

เลื่อนเคอร์เซอร์ไปที่จุดเริ่มต้นของข้อความ

ไปที่ท้ายข้อความ

เลื่อนเคอร์เซอร์ไปที่ท้ายข้อความ

เลือกเพื่อเริ่มข้อความ

Ctrl + Shift + โฮม

เลือกจากเคอร์เซอร์จนถึงจุดเริ่มต้นของข้อความ

เลือกเพื่อสิ้นสุดข้อความ

Ctrl + Shift + สิ้นสุด

เลือกจากเคอร์เซอร์จนถึงท้ายข้อความ

เลื่อนขึ้นหนึ่งบรรทัด

การพลิกดูเอกสารข้อความ

เลื่อนลงมาหนึ่งบรรทัด

ไปที่จุดเริ่มต้นของคำก่อนหน้า

ไปที่จุดเริ่มต้นของคำถัดไป

เลือกคำก่อนหน้า

Ctrl + Shift + ซ้าย

การเลือกอย่างรวดเร็วคำ (อักขระคั่นด้วยช่องว่าง)

เลือกคำถัดไป

Ctrl + Shift + ขวา

เลื่อนหน้าขึ้น

การพลิกดูเอกสารข้อความ

เลื่อนหน้าลง

เลือกหน้าก่อนหน้าของข้อความ

ไฮไลท์ข้อความทีละหน้า

เลือกหน้าถัดไปของข้อความ

Shift + เลื่อนหน้าลง

ลบการเลือก

ลบการเลือก

ไปที่บรรทัด

เลื่อนเคอร์เซอร์ไปที่หมายเลขบรรทัด

ลบอักขระทางด้านซ้ายของเคอร์เซอร์

ลบอักขระทางด้านซ้ายของเคอร์เซอร์

ลบอักขระทางด้านขวาของเคอร์เซอร์

ลบอักขระทางด้านขวาของเคอร์เซอร์

ลบคำทางด้านซ้ายของเคอร์เซอร์

Ctrl + BackSpace

ลบคำทางด้านซ้ายของเคอร์เซอร์

ลบคำทางด้านขวาของเคอร์เซอร์

ลบคำทางด้านขวาของเคอร์เซอร์

ตั้งค่า/ลบบุ๊คมาร์ค

ทำเครื่องหมายบรรทัดที่คุณต้องการ

บุ๊กมาร์กถัดไป

ย้ายเคอร์เซอร์ระหว่างบรรทัดที่บุ๊กมาร์กไว้

บุ๊กมาร์กก่อนหน้า

ลบบรรทัดปัจจุบัน

ลบบรรทัดปัจจุบัน

ย้ายบล็อกไปทางขวา

ย้ายบล็อกข้อความที่เลือกไปทางขวา

ย้ายบล็อกไปทางซ้าย

ย้ายบล็อกข้อความที่เลือกไปทางซ้าย

คุณสามารถออกจากลูปและถ่ายโอนการควบคุมไปยังคำสั่งปฏิบัติการแรกที่ตามหลังลูปได้โดยใช้ตัวดำเนินการยกเลิก หากต้องการข้ามคำสั่งลูปบางส่วนและไปยังคำสั่งวนซ้ำครั้งถัดไป ให้ใช้คำสั่ง Continue ในกรณีนี้ การควบคุมจะถูกถ่ายโอนไปยังผู้ปฏิบัติงานที่จุดเริ่มต้นของลูป ไปยังผู้ปฏิบัติงาน For หรือ While ตัวดำเนินการยกเลิกและดำเนินการต่อไม่ได้ใช้แยกกัน แต่ถูกสร้างไว้ในโครงสร้าง "if"

ตัวอย่าง.รายงานค่าของค่าคงที่ที่ไม่ใช่คาบแรก ประเภทตัวเลข.

// ขั้นตอนที่พิมพ์ค่าของค่าคงที่ที่ไม่ใช่คาบแรกของประเภทตัวเลข

// รันจากการประมวลผล ตัวอย่างโพรซีเดอร์ Execute()

// ธงเอาท์พุท

TotalConstant = ข้อมูลเมตา.คงที่(); สำหรับ in = 1 สำหรับการวนซ้ำคงที่ทั้งหมด

ถ้า Metadata.Constant(in).Periodic = 1 แล้ว

ดำเนินการต่อ; // ถ่ายโอนการควบคุมไปยังตัวดำเนินการ For endIf;

ถ้า Metadata.Constant(in).Type = "Number" แล้ว

แนวคิด = Metadata.Constant(in).Identifier;

รายงาน (iden +" " + Constant.GetAttribute (iden)); // ยอดคงเหลือของวันที่ 1 แฟล็กเอาท์พุต = 1;

ขัดจังหวะ; // ออกจากวงก่อนเวลาสำหรับ

สิ้นสุดถ้า; สิ้นสุดรอบ; // สำหรับ

ถ้าธงเอาท์พุต = 0 แล้ว

endProcedure // ดำเนินการ

ความคิดเห็น บางครั้งโปรแกรมเมอร์ใน For loop แทนที่จะใช้ตัวดำเนินการ Abort หันไปเปลี่ยนค่าของตัวแปร loop ใน.ดังนั้น ในกรณีของเรา ตัวดำเนินการยกเลิกสามารถถูกแทนที่ด้วยตัวดำเนินการ

ใน = รวม Const;

อย่างไรก็ตาม การกระทำดังกล่าวจัดว่าเป็นรูปแบบการเขียนโปรแกรมที่ไม่ดี

โปรแกรมเมอร์บางคนเชื่อว่าตัวดำเนินการขัดจังหวะแบบวนซ้ำ (ใน 1C คือ Continue และ Abort) ทำให้โครงสร้างของโปรแกรมแย่ลง ดังนั้นเมื่อใดก็ตามที่เป็นไปได้ จงปฏิเสธที่จะใช้พวกมัน มันถูกใช้แทน เงื่อนไขการรวม

ให้เราปฏิบัติตามหลักการด้วย การเขียนโปรแกรมแบบมีโครงสร้างโดยการเขียนโค้ดที่แก้ปัญหาข้างต้นโดยใช้การรวมกันของเงื่อนไข ในโค้ดนี้ เราจะต้องละทิ้ง For loop โดยแทนที่ด้วย While loop

// กระบวนการที่ใช้การรวมกันของเงื่อนไขและพิมพ์ค่าของเงื่อนไขแรก

// ค่าคงที่ที่ไม่ใช่คาบของประเภทตัวเลข รันจากการประมวลผล ขั้นตอนตัวอย่าง Execute()

ตัวแปร allConstants, แฟล็กเอาท์พุต, ใน, แนวคิด; ClearMessageWindow();

// ธงเอาท์พุทจะใช้ค่า 1 หากตรวจพบ

// ค่าคงที่ที่ไม่ใช่คาบของประเภทตัวเลข แฟล็กเอาท์พุต = 0;

TotalConstant = ข้อมูลเมตา.คงที่();

ใน = 1; // จำนวนคงที่สำหรับตอนนี้ (ใน<= всегоКонстант) и (флагВывода = 0) цикл

ถ้า (Metadata.Constant(in).Periodic = 0) และ (Metadata.Constant(in).Type = "Number") แล้ว

แนวคิด = Metadata.Constant(in).Identifier; รายงาน (iden + " " + Constant.GetAttribute (iden)); แฟล็กเอาท์พุต = 1;

สิ้นสุดถ้า;

ใน = ใน + 1; // อย่าลืมเลื่อนไปยังจุดสิ้นสุดคงที่ถัดไปของ Loop // สำหรับ

ถ้าธงเอาท์พุต = 0 แล้ว

รายงาน ("ไม่มีค่าคงที่ประเภทตัวเลขที่ไม่เป็นระยะในตัวกำหนดค่า"); สิ้นสุดถ้า;

endProcedure // ดำเนินการ

ในโค้ดข้างต้น การรวมกันของเงื่อนไขจะใช้เมื่อเขียน LP สองครั้ง: (in<= всегоКонстант) и (флагВывода = 0)

(Metadata.Constant(in).Periodic = 0) และ (Metadata.Constant(in).Type = "Number") ซึ่งช่วยให้เราสามารถแยกตัวดำเนินการดำเนินการต่อและยกเลิกออกจากขั้นตอนได้