การเปลี่ยนวงจร 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 เช่น รอบ.
มีสามวิธีในการจัดระเบียบลูป
- วนซ้ำโดยใช้นิพจน์เชิงตรรกะ (ดำเนินการจนกระทั่ง การแสดงออกทางตรรกะจริง)
- วนซ้ำผ่านคอลเลกชัน
ลองดูแต่ละวิธีเหล่านี้
วนซ้ำโดยใช้ตัวแปรตัวนับวนซ้ำ
ไวยากรณ์:
สำหรับ< Переменная> = < НачальноеЗначение>โดย< КонечноеЗначение>วงจร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 + Shift + Z |
|
เปิดกระดานคะแนน |
เปิดกระดานคะแนน |
|
เปิดความช่วยเหลือ |
เปิดความช่วยเหลือ |
|
เรียกดัชนีความช่วยเหลือ |
Shift + Alt + F1 |
เรียกดัชนีความช่วยเหลือ |
ปุ่มลัด: การกระทำระดับโลก
การดำเนินการส่วนกลางคือการดำเนินการที่คุณสามารถทำได้ในสถานะของโปรแกรมใดก็ได้ มันไม่สำคัญว่าอะไร ช่วงเวลานี้เปิดใน 1C: องค์กร สิ่งสำคัญคือแอปพลิเคชันไม่ยุ่งกับการทำงานใดๆ
การดำเนินการทั่วโลกคือการดำเนินการที่สามารถเรียกได้ทุกที่ในแพลตฟอร์ม 1C:Enterprise 8 ที่ทำงานอยู่ ไม่ว่าจะเกิดอะไรขึ้นกันแน่ก็ตาม การกำหนดค่าที่ทำงานอยู่ความหมายของการดำเนินการส่วนกลางจะไม่เปลี่ยนแปลง (เช่น การกด Ctrl+N จะแสดงกล่องโต้ตอบสำหรับการสร้างเอกสารใหม่เสมอ)
ตารางที่ 1
ปุ่มลัดสำหรับการดำเนินการทั่วโลก
การกระทำ |
แป้นพิมพ์ลัด |
โปรแกรมทำงานอย่างไร |
สร้างเอกสารใหม่ |
เปิดหน้าต่างที่คุณจะถูกขอให้เลือกประเภทของเอกสารใหม่ที่จะสร้าง รูปแบบต่างๆ- ตัวอย่างเช่น ในข้อความ ตาราง หรือ HTML |
|
เปิดเอกสารที่มีอยู่ |
เปิดกล่องโต้ตอบ "เปิด" มาตรฐาน ซึ่งสามารถเข้าถึงได้ผ่านเมนู "ไฟล์/เปิด…" |
|
การเปิดใช้งานช่องค้นหาในแถบคำสั่ง |
วางเคอร์เซอร์ในช่องนี้ |
|
เปิดเครื่องคิดเลข |
เปิดเครื่องคิดเลข |
|
แสดงคุณสมบัติ |
Alt+ป้อน |
ขึ้นอยู่กับว่าเคอร์เซอร์วางอยู่บนอะไร โดยจะเปิดพาเล็ตคุณสมบัติที่สอดคล้องกันสำหรับออบเจ็กต์หรือองค์ประกอบนี้ มีประโยชน์เมื่อทำงานกับตาราง ข้อความ HTML ฯลฯ |
เปิดหน้าต่างข้อความ |
ช่วยให้คุณสามารถเปิดหน้าต่างข้อความที่ปิดไว้ก่อนหน้านี้ มักจะมีประโยชน์เมื่อหน้าต่างถูกปิดโดยไม่ตั้งใจ และคุณต้องการข้อความจากหน้าต่างนั้น โปรดทราบ: ตราบใดที่ระบบไม่ได้ป้อนอะไรลงในหน้าต่างข้อความอีกครั้ง ข้อความเก่าจะยังคงอยู่แม้ว่าหน้าต่างจะปิดแล้วก็ตาม |
|
ปิดหน้าต่างข้อความ |
Ctrl + Shift + Z |
ปิดหน้าต่างข้อความเมื่อไม่ต้องการอีกต่อไป โปรดทราบ: เลือกชุดค่าผสมเพื่อให้สามารถกดได้ง่ายด้วยมือเดียว |
เปิดกระดานคะแนน |
เปิดกระดานคะแนน |
|
เปิดความช่วยเหลือ |
เปิดความช่วยเหลือ |
|
เรียกดัชนีความช่วยเหลือ |
Shift + Alt + F1 |
เรียกดัชนีความช่วยเหลือ |
ปุ่มลัด: การดำเนินการทั่วไป
การดำเนินการทั่วไป- การกระทำที่มีความหมายเหมือนกันในออบเจ็กต์การกำหนดค่าที่แตกต่างกัน แต่พฤติกรรมของแพลตฟอร์ม 1C:Enterprise 8 จะเปลี่ยนไปขึ้นอยู่กับว่าคุณใช้การกระทำนี้หรือการกระทำทั่วไปที่ใด ตัวอย่างเช่น การกดปุ่ม "Del" จะทำเครื่องหมายองค์ประกอบไดเร็กทอรีปัจจุบันสำหรับการลบ หากคุณอยู่ในรายการหน้าต่างองค์ประกอบไดเร็กทอรี หรือลบเนื้อหาของเซลล์ปัจจุบันของเอกสารสเปรดชีตหากคุณกำลังแก้ไข
ตารางที่ 2
ปุ่มลัดสำหรับการดำเนินการทั่วไป
การกระทำ |
แป้นพิมพ์ลัด |
โปรแกรมทำงานอย่างไร |
ลบองค์ประกอบใต้เคอร์เซอร์ (องค์ประกอบปัจจุบัน) หรือกลุ่มองค์ประกอบที่เลือก |
||
เพิ่ม |
ช่วยให้คุณเพิ่มองค์ประกอบใหม่ |
|
บันทึกเอกสารที่ใช้งานอยู่ |
||
พิมพ์เอกสารที่ใช้งานอยู่ |
เรียกกล่องโต้ตอบการพิมพ์สำหรับเอกสารที่ใช้งานอยู่ |
|
การพิมพ์ไปยังเครื่องพิมพ์ปัจจุบัน |
Ctrl + Shift + P |
เริ่มต้นการพิมพ์โดยตรงของเอกสารที่ใช้งานอยู่ไปยังเครื่องพิมพ์เริ่มต้นที่กำหนดในระบบ (โดยไม่ต้องเปิดกล่องโต้ตอบการพิมพ์) |
คัดลอกไปยังคลิปบอร์ด |
Ctrl+C |
คัดลอกองค์ประกอบที่ต้องการหรือกลุ่มองค์ประกอบที่เลือกไปยังคลิปบอร์ดของ Windows |
ตัดไปที่คลิปบอร์ด |
Ctrl+X |
ตัดองค์ประกอบที่ต้องการหรือกลุ่มองค์ประกอบที่เลือกไปยังคลิปบอร์ดของ Windows แตกต่างจากการคัดลอกตรงที่องค์ประกอบหรือกลุ่มที่คัดลอกจะถูกลบหลังจากเข้าสู่บัฟเฟอร์ |
วางจากคลิปบอร์ด |
Ctrl+V |
วางข้อมูลที่มีอยู่จากคลิปบอร์ดของ Windows ลงในตำแหน่งที่เคอร์เซอร์ทำเครื่องหมายไว้ |
เพิ่มลงในคลิปบอร์ดเป็นตัวเลข |
Shift + หมายเลข + (*) |
ใช้สำหรับค่าตัวเลข |
เพิ่มลงในคลิปบอร์ด |
Shift + หมายเลข + (+) |
ใช้สำหรับค่าตัวเลข การดำเนินการเพิ่มเติมด้วยข้อมูลบนคลิปบอร์ด |
ลบออกจากคลิปบอร์ด |
Shift + หมายเลข + (-) |
ใช้สำหรับค่าตัวเลข การดำเนินการลบด้วยข้อมูลบนคลิปบอร์ด |
เลือกทั้งหมด |
||
ยกเลิก การกระทำครั้งสุดท้าย |
Ctrl+Z |
|
ย้อนกลับการกระทำที่เลิกทำ |
Ctrl+Y |
|
ค้นหาต่อไป |
||
ค้นหาถัดไปที่ไฮไลต์ |
||
ค้นหาก่อนหน้า |
||
ค้นหาตัวเลือกก่อนหน้า |
Ctrl + Shift + F3 |
|
แทนที่ |
||
Ctrl + หมายเลข + (-) |
||
เลือกทั้งหมด |
เลือกองค์ประกอบทั้งหมดที่มีอยู่ในเอกสารที่ใช้งานอยู่ |
|
เลิกทำการกระทำล่าสุด |
Ctrl+Z |
เลิกทำการดำเนินการล่าสุด |
ย้อนกลับการกระทำที่เลิกทำ |
Ctrl+Y |
ช่วยให้คุณเลิกทำ "Ctrl + Z" หรืออีกนัยหนึ่ง - เพื่อคืนสิ่งที่คุณทำก่อนที่จะกดเลิกทำการกระทำล่าสุด |
เปิดกล่องโต้ตอบสำหรับการตั้งค่าพารามิเตอร์การค้นหาในออบเจ็กต์การกำหนดค่าที่ใช้งานอยู่และดำเนินการค้นหานี้ |
||
ค้นหาต่อไป |
ค้นหาองค์ประกอบถัดไปที่ตรงกับพารามิเตอร์ที่ระบุในการตั้งค่าการค้นหา |
|
ค้นหาถัดไปที่ไฮไลต์ |
ค้นหาองค์ประกอบถัดไปที่ตรงกับองค์ประกอบที่คุณเลือก (เช่น ตำแหน่งที่เคอร์เซอร์วางอยู่) |
|
ค้นหาก่อนหน้า |
ค้นหาองค์ประกอบก่อนหน้าที่ตรงกับพารามิเตอร์ที่ระบุในการตั้งค่าการค้นหา |
|
ค้นหาตัวเลือกก่อนหน้า |
Ctrl + Shift + F3 |
ค้นหาองค์ประกอบก่อนหน้าที่ตรงกับองค์ประกอบที่คุณเลือก |
แทนที่ |
เปิดกล่องโต้ตอบค้นหาและแทนที่ค่า (หากอนุญาต) |
|
ยุบ (โหนดต้นไม้ กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) |
Ctrl + หมายเลข + (-) |
ใช้เมื่อมีโหนดต้นไม้ที่มีเครื่องหมาย "+" หรือ "-" |
ยุบ (โหนดทรี กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) และผู้ใต้บังคับบัญชาทั้งหมด |
Ctrl + Alt + หมายเลข + (-) |
|
ยุบ (โหนดต้นไม้ทั้งหมด กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) |
Ctrl + Shift + หมายเลข + (-) |
|
ขยาย (โหนดต้นไม้ กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) |
Ctrl + หมายเลข + (+) |
|
ขยาย (โหนดทรี กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) และผู้ใต้บังคับบัญชาทั้งหมด |
Ctrl + Alt + หมายเลข + (+) |
|
ขยาย (โหนดต้นไม้ทั้งหมด กลุ่มเอกสารสเปรดชีต การจัดกลุ่มโมดูล) |
Ctrl + Shift + หมายเลข + (+) |
|
หน้าต่อไป |
Ctrl + เลื่อนหน้าลง |
เลื่อนดูเอกสารที่ใช้งานอยู่อย่างรวดเร็ว |
หน้าก่อน |
Ctrl + เลื่อนหน้าขึ้น |
|
เปิด/ปิดเนื้อหาไขมัน |
ใช้ในกรณีที่รองรับการจัดรูปแบบข้อความและเป็นไปได้ |
|
เปิด/ปิดตัวเอียง |
||
เปิด/ปิดการขีดเส้นใต้ |
||
ไปที่หน้าเว็บก่อนหน้า/บทความช่วยเหลือ |
ใช้ในเอกสาร HTML |
|
ไปที่หน้าเว็บถัดไป/บทความช่วยเหลือ |
||
ยกเลิกการดำเนินการรายงานระบบการจัดองค์ประกอบข้อมูล |
ปุ่มลัด: การจัดการหน้าต่าง
ส่วนนี้จะรวมปุ่มลัดที่ใช้ร่วมกันกับทุกหน้าต่างและรูปแบบของแพลตฟอร์ม 1C:Enterprise
ตารางที่ 3
ปุ่มลัดสำหรับจัดการหน้าต่าง
การกระทำ |
แป้นพิมพ์ลัด |
โปรแกรมทำงานอย่างไร |
ปิดหน้าต่าง กล่องโต้ตอบโมดอล หรือแอปพลิเคชันที่ใช้งานฟรี |
การรวมกันนี้สามารถทำให้การกำหนดค่าทั้งหมดบนแพลตฟอร์ม 1C:Enterprise เสร็จสมบูรณ์ได้อย่างรวดเร็ว ดังนั้นควรใช้อย่างระมัดระวัง |
|
ปิดหน้าต่างปกติที่ใช้งานอยู่ |
ปิดหน้าต่างปกติปัจจุบัน |
|
ปิดหน้าต่างที่ใช้งานอยู่ในปัจจุบัน |
||
เปิดใช้งานหน้าต่างปกติถัดไป |
Ctrl+แท็บ |
ช่วยให้คุณสามารถเปิดใช้งานหน้าต่างต่อไปนี้ระหว่างหน้าต่างที่เปิดอยู่ภายในการกำหนดค่า การกดเป็นรอบในขณะที่กดปุ่ม Ctrl ค้างไว้จะทำให้คุณสามารถเลื่อนดูหน้าต่างที่เปิดอยู่ "ไปข้างหน้า" |
เปิดใช้งานหน้าต่างปกติก่อนหน้า |
Ctrl + Shift + แท็บ |
ช่วยให้คุณสามารถเปิดใช้งานหน้าต่างก่อนหน้าระหว่างหน้าต่างที่เปิดอยู่ภายในการกำหนดค่า การกดเป็นรอบในขณะที่กดปุ่ม Ctrl ค้างไว้จะทำให้คุณสามารถเลื่อนดูหน้าต่างที่เปิดอยู่ "ย้อนกลับ" |
เปิดใช้งานส่วนถัดไปของหน้าต่าง |
เปิดใช้งานส่วนถัดไปของหน้าต่างปัจจุบัน |
|
เปิดใช้งานส่วนหน้าต่างก่อนหน้า |
เปิดใช้งานส่วนก่อนหน้าของหน้าต่างปัจจุบัน |
|
เรียกเมนูระบบของแอปพลิเคชันหรือกล่องโต้ตอบโมดอล |
ช่วยให้คุณเห็นเมนูระบบการทำงาน (ย่อเล็กสุด ย้าย ปิด ฯลฯ) เหนือหน้าต่างโปรแกรมหรือเปิดกล่องโต้ตอบโมดอล |
|
เรียกเมนูระบบหน้าต่าง (ยกเว้นกล่องโต้ตอบโมดอล) |
Alt + ยัติภังค์ + (-) |
ช่วยให้คุณเห็นเมนูระบบการทำงาน (ย่อเล็กสุด ย้าย ปิด ฯลฯ) เหนือหน้าต่างที่ใช้งานอยู่ |
โทรเมนูหลัก |
เปิดใช้งานแผงควบคุมหลักด้วยปุ่มสำหรับหน้าต่างปัจจุบัน วิธีนี้ทำให้คุณสามารถเลือกการกระทำได้โดยไม่ต้องใช้เมาส์ |
|
เมนูบริบทการโทร |
แสดงเมนูบริบทเหนือองค์ประกอบที่ใช้งานอยู่ในปัจจุบัน เช่นเดียวกับการกด ปุ่มขวาเมาส์บนมัน |
|
คืนกิจกรรมกลับสู่หน้าต่างปกติ |
คืนกิจกรรมกลับสู่หน้าต่างปกติหลังจากทำงานกับเมนูบริบท ความสนใจ! ในกรณีอื่น Esc จะเริ่มการปิดหน้าต่างที่ใช้งานอยู่ |
ปุ่มลัด: การจัดการแบบฟอร์ม
ต่อไปนี้เป็นการรวบรวมคีย์ "ฮอต" ที่ทำให้การทำงานง่ายขึ้นและเร็วขึ้นด้วยรูปแบบต่างๆ ที่สร้างขึ้นในการกำหนดค่าที่เขียนบนแพลตฟอร์ม 1C:Enterprise
ตารางที่ 4
ปุ่มลัดสำหรับจัดการแบบฟอร์ม
การกระทำ |
แป้นพิมพ์ลัด |
โปรแกรมทำงานอย่างไร |
ย้ายไปที่ปุ่มควบคุม/เริ่มต้นการโทรถัดไป |
ย้ายไปมาระหว่างตัวควบคุมบนแบบฟอร์ม "ไปข้างหน้า" (ดูแท็บ) |
|
เรียกปุ่มเริ่มต้น |
ตามกฎแล้ว แบบฟอร์มที่แตกต่างกันจะมีปุ่มเริ่มต้นกำหนดไว้ (แตกต่างจากรูปแบบอื่นๆ - เช่น เน้นด้วยตัวหนา) การใช้คีย์ผสมนี้ช่วยให้คุณได้ แบบฟอร์มเปิดเปิดใช้งานปุ่มเริ่มต้น |
|
ย้ายไปยังการควบคุมถัดไป |
นำทางระหว่างตัวควบคุมบนฟอร์มไปข้างหน้า |
|
ไปที่การควบคุมก่อนหน้า |
การย้ายระหว่างตัวควบคุมในรูปแบบ "ย้อนกลับ" |
|
เปิดใช้งานแถบคำสั่งที่เกี่ยวข้องกับการควบคุม/แบบฟอร์มที่ใช้งานอยู่ |
เปิดใช้งานแผงหลักด้วยปุ่มสำหรับแบบฟอร์มปัจจุบัน วิธีนี้ทำให้คุณสามารถเลือกการกระทำได้โดยไม่ต้องใช้เมาส์ |
|
นำทางผ่านการควบคุมที่จัดกลุ่มไว้ด้วยกัน |
ขึ้น |
การใช้ปุ่มเคอร์เซอร์ทำให้คุณสามารถย้ายไปมาระหว่างการควบคุมที่จัดกลุ่มได้อย่างรวดเร็ว |
ปิดแบบฟอร์ม |
ปิดหน้าต่างแบบฟอร์มปัจจุบัน |
|
คืนค่าตำแหน่งหน้าต่าง |
หากพารามิเตอร์หน้าต่างฟอร์มบางตัวหายไป การรวมกันนี้จะทำให้คุณสามารถส่งคืนทุกสิ่งกลับคืนมาได้ |
ปุ่มลัด: การทำงานกับรายการและแผนผัง
ปุ่มลัดในส่วนนี้จะช่วยให้คุณทำงานได้อย่างมีประสิทธิภาพโดยไม่ต้องใช้เมาส์ในรายการและแผนผังจำนวนมากที่ใช้งานอยู่ในออบเจ็กต์การกำหนดค่าต่างๆ บนแพลตฟอร์ม 1C:Enterprise 8
ตารางที่ 5
ปุ่มลัดสำหรับการทำงานกับรายการและแผนผัง
การกระทำ |
แป้นพิมพ์ลัด |
โปรแกรมทำงานอย่างไร |
เปิดองค์ประกอบที่วางเคอร์เซอร์ไว้เพื่อแก้ไข คีย์จะคล้ายกับการดำเนินการ "แก้ไข" บนแถบปุ่มแบบฟอร์มมาตรฐาน |
||
อัปเดต |
Ctrl + Shift + R |
อัปเดตข้อมูลในรายการหรือแผนผัง นี่เป็นเรื่องจริงโดยเฉพาะอย่างยิ่งสำหรับรายการไดนามิก (เช่น รายการเอกสาร) เมื่อไม่ได้เปิดใช้งานการอัปเดตอัตโนมัติสำหรับรายการเหล่านั้น |
สำเนา |
สร้างรายการใหม่โดยใช้รายการปัจจุบันเป็นเทมเพลต คล้ายกับปุ่ม "เพิ่มโดยการคัดลอก" |
|
กลุ่มใหม่ |
สร้าง กลุ่มใหม่. คล้ายกับปุ่ม "เพิ่มกลุ่ม" |
|
ลบบรรทัด |
ลบองค์ประกอบปัจจุบันโดยตรง ความสนใจ! ใช้ชุดค่าผสมนี้ด้วยความระมัดระวังอย่างยิ่ง รายการแบบไดนามิกเนื่องจากการลบไม่สามารถยกเลิกได้ |
|
ย้ายแถวขึ้น |
Ctrl + Shift + ขึ้น |
ในรายการที่อนุญาตให้เรียงลำดับบรรทัด ช่วยให้คุณสามารถย้ายบรรทัดปัจจุบันขึ้นได้ คล้ายกับปุ่ม "เลื่อนขึ้น" |
เลื่อนบรรทัดลง |
Ctrl + Shift + ลง |
ในรายการที่อนุญาตให้เรียงลำดับบรรทัด ให้คุณย้ายบรรทัดปัจจุบันลงได้ คล้ายกับปุ่ม "ย้ายลง" |
ย้ายองค์ประกอบไปยังกลุ่มอื่น |
Ctrl + Shift + M |
ช่วยให้คุณย้ายองค์ประกอบปัจจุบัน (เช่น ไดเร็กทอรี) ไปยังกลุ่มอื่นได้อย่างรวดเร็ว |
ลงไปหนึ่งระดับพร้อมกับขยายกลุ่มไปพร้อมๆ กัน |
ย้ายภายในโฟลเดอร์ที่วางเคอร์เซอร์ไว้ |
|
ขึ้นไปหนึ่งระดับ (ถึง "ผู้ปกครอง") |
ไปที่ด้านบนของโฟลเดอร์ที่คุณอยู่ |
|
แก้ไขให้เสร็จสิ้น |
เสร็จสิ้นการแก้ไขรายการและบันทึกการเปลี่ยนแปลง |
|
หยุดค้นหา |
ยกเลิกการค้นหา |
|
ขยายโหนดต้นไม้ |
ใช้เมื่อมีโหนดต้นไม้ที่มีเครื่องหมาย "+" หรือ "-" |
|
ปิดโหนดแผนผัง |
||
ขยายโหนดต้นไม้ทั้งหมด |
||
การเปลี่ยนช่องทำเครื่องหมาย |
แปลงค่าของช่องทำเครื่องหมายขององค์ประกอบปัจจุบัน (เปิดหรือปิด) |
ปุ่มลัด: ช่องป้อนข้อมูล
ช่องรายการ- องค์ประกอบการควบคุมที่ใช้งานอยู่ในหลาย ๆ ที่ในรูปแบบการกำหนดค่า ปุ่มลัดสำหรับช่องป้อนข้อมูลช่วยให้คุณสามารถดำเนินการที่ใช้บ่อยกับช่องดังกล่าวได้อย่างรวดเร็ว การใช้คีย์เหล่านี้มีประโยชน์อย่างยิ่งในกรณีที่ผู้พัฒนาการกำหนดค่าไม่ได้จัดเตรียมปุ่มควบคุมฟิลด์อินพุตที่คุณต้องการ
ตารางที่ 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") ซึ่งช่วยให้เราสามารถแยกตัวดำเนินการดำเนินการต่อและยกเลิกออกจากขั้นตอนได้