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

Chrome ห้ามใช้หน้าต่างโมดอลในโหมดนี้ จะทำอย่างไรถ้า "ห้ามใช้หน้าต่างโมดอลในโหมดนี้" การแก้ปัญหาที่ถูกต้อง

Syntax Helper สำหรับคำสั่งเหล่านี้บ่งชี้ว่าหากคุณสมบัติคอนฟิกูเรชัน โหมดการใช้งานติดตั้งใน ไม่ได้ใช้จากนั้นคุณควรใช้คำสั่งอื่นในรหัสโปรแกรมเช่น แสดงคำถาม (), แสดงคำเตือน (), ShowEnterNumbers ():

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

นี่คือการมองปัญหา "จากภายใน" สำหรับผู้ที่ต้องการจัดการกับต้นเหตุ ส่วนใหญ่สำหรับโปรแกรมเมอร์ 1C ในสถานการณ์เช่นนี้ ผู้ใช้ทั่วไปสามารถแก้ไขข้อผิดพลาดได้อย่างไรโดยไม่ต้องอธิบายเพิ่มเติม รหัสโปรแกรม? มีวิธีการที่ง่ายมาก

คำแนะนำในการแก้ไขข้อผิดพลาดสำหรับผู้ใช้ทั่วไป

ขั้นตอนที่ 1 ทำงานให้เสร็จ:

ขั้นตอนที่ 2 กลับไปที่เมนูเริ่มต้นเพื่อเปิดการกำหนดค่า เราเลือกรายการเมนู "การกำหนดค่า":

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

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

ขั้นตอนที่ 5. เปิดแบบฟอร์ม "คุณสมบัติ":

ขั้นตอนที่ 6 ค้นหาบรรทัด "โหมดการใช้กิริยา" (ที่ด้านล่างของรายการ):

ตามค่าเริ่มต้น โปรแกรม 1C 8.3 จะถูกตั้งค่าเป็น "ห้ามใช้" เราแปลค่า "ห้ามใช้" เป็นค่า "ใช้":

ผลลัพธ์:

หากข้อผิดพลาด "ห้ามใช้หน้าต่างโมดอลในโหมดนี้" ใน 1C 8.3 หายไป คุณสามารถทำงานต่อไปได้ มักจะเป็นสิ่งที่เกิดขึ้น

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

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

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


ให้คะแนนบทความนี้:

หากในระหว่างการเรียนจบบทเรียนคุณมีข้อผิดพลาดดังกล่าว การแก้ไขนั้นง่ายมาก

กลับไปที่ตัวกำหนดค่าและเลือกรายการเมนู "การกำหนดค่า" -> "เปิดการกำหนดค่า":

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

หน้าต่างที่มีคุณสมบัติการกำหนดค่าจะเปิดขึ้น (ทางด้านขวา):

เลื่อนไปที่ด้านล่างสุดแล้วค้นหารายการ "โหมดการใช้กิริยาช่วย" ที่นั่น:

ตั้งค่าเป็น "ใช้":

ความสนใจ!โปรดทราบว่าหากคุณใช้แพลตฟอร์ม 1C ที่แตกต่างจากที่เราดาวน์โหลดในบทเรียนแรก (เวอร์ชันที่ใหม่กว่า) คุณจะมีฟิลด์ "โหมดการใช้การโทรแบบซิงโครนัส ... " ต้องตั้งค่าเป็น "ใช้" ด้วย

สุดท้าย เลือกรายการเมนู "การกำหนดค่า" -> "บันทึกการกำหนดค่า":

พร้อม! ตอนนี้ข้อผิดพลาดจะไม่เกิดขึ้นอีกต่อไป

คำอธิบายด้านล่างนี้มีไว้สำหรับผู้ที่มีความสนใจในสิ่งที่เราได้ทำไปแล้ว

เราได้เปิดใช้งานโหมดการใช้กิริยาในการกำหนดค่าของเรา โดยค่าเริ่มต้น โหมดนี้จะถูกปิดใช้งานและไม่อนุญาตให้เราใช้คำสั่งเช่น EnterNumber, EnterString, EnterDate, OpenValue

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

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

เราสามารถรวมไว้ได้อย่างปลอดภัย เนื่องจากเราเขียนตัวอย่างการศึกษาที่ไม่ได้ออกแบบมาสำหรับการทำงานบนอินเทอร์เน็ต

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

การบังคับใช้

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

การปฏิเสธที่จะใช้หน้าต่างโมดอลในแพลตฟอร์ม 1C: Enterprise 8.3

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

ตัวอย่างเช่น เมื่อคลิกที่ปุ่มเพื่อกรอกข้อมูลในส่วนตาราง ควรถามผู้ใช้ว่าจำเป็นต้องล้างส่วนตารางหรือไม่เพื่อไม่ให้ข้อมูลที่ป้อนก่อนหน้านี้สูญหาย

ลักษณะการทำงานนี้สามารถระบุได้ ตัวอย่างเช่น โดยใช้รหัสต่อไปนี้:

& OnClient
ขั้นตอน เติมสินค้า(สั่งการ )
คำตอบ = คำถาม (“ส่วนตารางจะถูกล้าง ดำเนินการต่อหรือไม่”, คำถามในโหมดสนทนา ใช่ ไม่ใช่);
ถ้าตอบ = Dialog Return Code.ใช่แล้ว
// เติมอัลกอริทึม
จบถ้า;
สิ้นสุดขั้นตอน

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

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

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

ป๊อปอัปบนอินเทอร์เน็ตมักใช้เพื่อแจกจ่ายโฆษณาที่ไม่ต้องการโดยประสงค์ร้าย ซึ่งเป็นสาเหตุที่เบราว์เซอร์มีคุณลักษณะการบล็อกป๊อปอัป

ในกรณีนี้ ในการทำงานกับการกำหนดค่า 1C: Enterprise 8 ผ่านเบราว์เซอร์ จำเป็นต้องปิดการบล็อกหน้าต่างป๊อปอัป

ปัญหายังเกิดขึ้นขณะทำงาน อุปกรณ์มือถือ... ตัวอย่างเช่น ไม่รองรับโมดอลบน iPad

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

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

ดังนั้นหน้าต่างป๊อปอัปในเบราว์เซอร์จะไม่เปิดขึ้นและทำงานผ่านเว็บไคลเอ็นต์บนอุปกรณ์มือถือได้

องค์ประกอบการกำหนดค่ารูทมีคุณสมบัติ “โหมดการใช้โมดอล” ซึ่งกำหนดว่าจะสามารถเปิดหน้าต่างโมดอลในการกำหนดค่าได้หรือไม่

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

ด้วยค่านี้ของคุณสมบัติ "Modality use mode" อนุญาตให้บล็อกเฉพาะหน้าต่างเท่านั้น

หากเลือกตัวเลือก "ใช้กับคำเตือน" เมื่อเปิดหน้าต่างโมดอล ข้อความต่อไปนี้จะแสดงในหน้าต่างข้อความ:

การทำงานของตัวแปรนี้สามารถใช้เป็นตัวกลางเมื่อทำการกำหนดค่าใหม่เพื่อปฏิเสธการใช้หน้าต่างโมดอล

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

ดังนั้นนักพัฒนาจะต้องเขียนโค้ดใหม่โดยใช้ modals โดยคำนึงถึงคุณลักษณะนี้

รหัสจะต้องแบ่งออกเป็นสองส่วน:

  • เปิดหน้าต่างบล็อก
  • การจัดการการเลือกผู้ใช้

ข้อมูลโค้ดที่ตอนต้นของบทความจะต้องเขียนใหม่ดังนี้:

& OnClient
ขั้นตอน เติมสินค้า(สั่งการ )
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน(, วัตถุนี้);

คำถามในโหมดสนทนา ใช่ ไม่ใช่);
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน (ผลลัพธ์, ตัวเลือกเสริม) ส่งออก
ถ้าผลลัพธ์ = Dialog Return Code.ใช่แล้ว
// เติมอัลกอริทึม
จบถ้า;
สิ้นสุดขั้นตอน

หลังจากดำเนินการตามขั้นตอน ShowQuestion () แล้ว ระบบจะไม่หยุด รอให้ผู้ใช้ตอบกลับ โค้ดจะดำเนินการต่อไป

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

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

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

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

จากนั้นตัวจัดการคำสั่งเติมจะมีลักษณะดังนี้:

& OnClient
ขั้นตอน เติมสินค้า(สั่งการ )
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("กรอกผลิตภัณฑ์คำถามจบ",
กำลังประมวลผลการแจ้งเตือน);
QuestionText = “ส่วนตารางจะถูกล้าง ดำเนินการ?" ;
แสดงคำถาม (แจ้งเตือน, ข้อความคำถาม, คำถามในโหมดสนทนา ใช่ ไม่ใช่);
สิ้นสุดขั้นตอน

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

ในการถ่ายโอนบริบท (ข้อมูลเสริม พารามิเตอร์บางตัว ค่าตัวแปร) จากโพรซีเดอร์ที่เปิดหน้าต่างโมดอลไปยังโพรซีเดอร์ที่ถูกเรียกเมื่อปิด จะมีพารามิเตอร์ทางเลือกที่สามของตัวสร้างอ็อบเจ็กต์ DescriptionNotifications - AdditionalParameters

ออบเจ็กต์นี้ (ประเภทใดก็ได้) จะถูกส่งต่อไปยังขั้นตอนที่อธิบายไว้ใน AlertDescription เป็นพารามิเตอร์สุดท้าย

โดยใช้ตัวอย่างของส่วนโค้ดด้านบนนี้ สามารถทำได้ดังนี้:

& OnClient
ขั้นตอน เติมสินค้า(สั่งการ )
พารามิเตอร์1 = 0;
พารามิเตอร์2 = 0;
รายการพารามิเตอร์= โครงสร้างใหม่ (“Parameter1, Parameter2″, Parameter1, Parameter2);
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("กรอกผลิตภัณฑ์คำถามจบ", วัตถุนี้,
รายการพารามิเตอร์);
ShowQuestion (การแจ้งเตือน “ส่วนตารางจะถูกล้าง ดำเนินการต่อหรือไม่”,
คำถามในโหมดสนทนา ใช่ ไม่ใช่);
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน กรอกผลิตภัณฑ์คำถามจบ(ผลลัพธ์ , ตัวเลือกเสริม) ส่งออก
ถ้าผลลัพธ์ = Dialog Return Code.ใช่แล้ว
// parse พารามิเตอร์เพิ่มเติม.Parameter1
// parse พารามิเตอร์เพิ่มเติม.Parameter2
จบถ้า;
สิ้นสุดขั้นตอน

หากคุณต้องการส่งผ่านเพียงค่าเดียว โครงสร้างจะไม่สามารถใช้ได้ แต่กำหนดค่านี้ให้กับพารามิเตอร์ AdditionalParameters ของตัวสร้างอ็อบเจ็กต์ DescriptionAlerts

มาดูตัวอย่างการทำงานกับการบล็อกหน้าต่างกัน

ภารกิจที่ 1. การเปิดแบบฟอร์มอื่น

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

สร้างแบบฟอร์มทั่วไป "แบบฟอร์มพารามิเตอร์" ซึ่งเราวางพารามิเตอร์ Parameter1 และ Parameter2 รวมถึงคำสั่ง CloseForm:

ตัวจัดการคำสั่งมีลักษณะดังนี้:

ตัวจัดการคำสั่งมีลักษณะดังนี้: & OnClient
ขั้นตอน CloseForm (คำสั่ง)
รายการพารามิเตอร์= โครงสร้างใหม่ ( "พารามิเตอร์ 1 พารามิเตอร์ 2", พารามิเตอร์1, พารามิเตอร์2);
ปิด I ( รายการพารามิเตอร์); สิ้นสุดขั้นตอน

สำหรับแบบฟอร์ม ตั้งค่าคุณสมบัติ WindowOpening Mode เป็น "ล็อคอินเทอร์เฟซทั้งหมด":

บนแบบฟอร์มเอกสาร ให้วางคำสั่ง OpenParameters ซึ่งตัวจัดการอธิบายไว้ดังนี้:

& OnClient
ขั้นตอน OpenParameters(สั่งการ )
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("OpenParameters เสร็จสิ้น", วัตถุนี้);
โอเพ่นฟอร์ม ( "แบบฟอร์มทั่วไป.พารามิเตอร์แบบฟอร์ม",,,,,,, ประกาศ);
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน OpenParametersCompletion(ผลลัพธ์ , ตัวเลือกเสริม) ส่งออก
ถ้า TypeZnch (ผลลัพธ์) = Type ("โครงสร้าง") แล้ว
สำหรับแต่ละค่าคีย์จากรอบผลลัพธ์
ข้อความ = ใหม่ ข้อความถึงผู้ใช้;
Message.Text = “คีย์:“ ” "+ KeyValue.Key +" "", ค่า = "
+ ค่าคีย์ ค่า;
Message.Inform();
สิ้นสุดรอบ;
จบถ้า;
สิ้นสุดขั้นตอน

ในโหมดผู้ใช้ การรันการกำหนดค่าภายใต้เว็บไคลเอ็นต์ เราได้ผลลัพธ์การทำงานดังต่อไปนี้:

คลิกที่ภาพเพื่อขยาย

โหมดการเปิดหน้าต่างยังสามารถระบุได้ในพารามิเตอร์สุดท้ายของขั้นตอน OpenForm

& OnClient
ขั้นตอน OpenParameters(สั่งการ )
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("OpenParameters เสร็จสิ้น", วัตถุนี้);
โอเพ่นฟอร์ม ( "แบบฟอร์มทั่วไป.พารามิเตอร์แบบฟอร์ม",,,,,, เตือน,
ModeOpenWindowForms.LockAllInterface
);
สิ้นสุดขั้นตอน

ภารกิจที่ 2 คำถามเมื่อปิดแบบฟอร์ม

เมื่อปิดหน้าต่างการประมวลผล ให้ถามผู้ใช้ว่าต้องการปิดหน้าต่างนี้จริงๆ หรือไม่

งานนี้สามารถแก้ไขได้โดยใช้รหัสต่อไปนี้ที่อยู่ในโมดูลแบบฟอร์มการประมวลผล:

& OnClient
เปลี่ยน NeedCloseForm;
& OnClient
ก่อนปิดขั้นตอน (ข้อจำกัดความรับผิดชอบ, การประมวลผลมาตรฐาน)
ถ้าไม่ NeedCloseForm= จริงแล้ว
ปฏิเสธ = จริง;
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน(“ก่อนปิดเสร็จ”, วัตถุนี้);
ShowQuestion (การแจ้งเตือน “คุณแน่ใจหรือไม่ว่าต้องการปิดหน้าต่างนี้”,
คำถามในโหมดสนทนา ใช่ ไม่ใช่
);
จบถ้า;
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน ก่อนปิดเสร็จ(ผลลัพธ์ , ตัวเลือกเสริม) ส่งออก
ถ้าผลลัพธ์ = Dialog Return Code.ใช่แล้ว
NeedCloseForm= จริง;
ปิด I ();
มิฉะนั้น
NeedCloseForm= ไม่ได้กำหนด;
จบถ้า;
สิ้นสุดขั้นตอน

ในขั้นตอนก่อนปิดแบบฟอร์ม ผู้ใช้จะถูกถามคำถาม แฟล็กปฏิเสธถูกตั้งค่าเป็น True และแบบฟอร์มจะปิด

หลังจากคำตอบยืนยันสำหรับคำถาม ตัวแปร MustCloseForm จะถูกตั้งค่าเป็น True แบบฟอร์มจะปิดอีกครั้ง

ภารกิจที่ 3 การป้อนค่าตัวเลข

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

ในการดำเนินการนี้ ให้ใช้เมธอด ShowNumberEnter () แทน NumberEnter () ซึ่งจะเปิดหน้าต่างการบล็อกแทนที่จะเป็นโมดอล

& OnClient
ขั้นตอนการป้อนหมายเลข (คำสั่ง)
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("ป้อนหมายเลขเสร็จสมบูรณ์", วัตถุนี้);
ShowEnterNumbers(ประกาศ 0, “ป้อนจำนวนเงิน”, 15, 3);
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน EnterNumbersCompletion(ผลลัพธ์ , ตัวเลือกเสริม) ส่งออก

ข้อความ = ใหม่ ข้อความถึงผู้ใช้;
Message.Text = “คุณป้อนจำนวนแล้ว” + ผลลัพธ์;
Message.Inform();
จบถ้า;
สิ้นสุดขั้นตอน

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

ภารกิจที่ 4. การเลือกสี

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

เพิ่มคำสั่ง SelectColor ให้กับฟอร์มด้วยตัวจัดการต่อไปนี้:

& OnClient
ขั้นตอนการเลือกสี (คำสั่ง)
DialogueSelectColors= ใหม่ DialogueSelectColors;
การแจ้งเตือน = ใหม่ คำอธิบายการแจ้งเตือน("เลือกสีเสร็จสิ้น", วัตถุนี้);
บทสนทนา เลือกสีแสดง (การแจ้งเตือน);
สิ้นสุดขั้นตอน
& OnClient
ขั้นตอน ChoiceColorsCompletion(ผลลัพธ์ , ตัวเลือกเสริม) ส่งออก
ถ้าไม่ได้ผล = ไม่ได้กำหนดแล้ว
Elements.Color.ColorBackground= ผลลัพธ์;
จบถ้า;
สิ้นสุดขั้นตอน

สำหรับออบเจ็กต์ ColorSelectDialogue (เช่นเดียวกับ StandardPeriodEdit Dialogue, FormatString Constructor, RegularJobScheduleDialogue, FontSelection Dialogue) วิธี Show () จะเปิดหน้าต่างการบล็อก

หลังจากปิดหน้าต่าง โพรซีเดอร์จะถูกเรียก พารามิเตอร์แรกจะถูกส่งผ่านค่าที่เลือก (สี ฟอนต์ ฯลฯ) หรือค่า Undefined หากผู้ใช้ยกเลิกการเลือก

โปรดทราบว่าอ็อบเจ็กต์ FileSelectDialog ไม่มีเมธอด Show () ซึ่งแตกต่างจากไดอะล็อกการเลือกสีหรือฟอนต์ เนื่องจากการใช้งานไดอะล็อกเหล่านี้แตกต่างกันอย่างมาก

หากต้องการใช้ไดอะล็อกการเลือกไฟล์บนเว็บไคลเอ็นต์ คุณต้องเชื่อมต่อนามสกุลไฟล์ก่อน

ไดอะล็อกที่ดำเนินการผ่านนามสกุลไฟล์จะไม่สร้างปัญหาในการใช้งาน เช่น หน้าต่างโมดอลของเบราว์เซอร์ ดังนั้นจึงไม่ได้ใช้งานการเปิดหน้าต่างการบล็อกสำหรับอ็อบเจ็กต์ FileChoiceDialog

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

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

และคุณมีเพียงสองวิธีในการแก้ปัญหาที่อธิบายไว้ข้างต้น:

  1. อัปเกรดแพลตฟอร์มเป็นรุ่น 8.3.10+ (8.3.11) ตั้งค่าคุณสมบัติการกำหนดค่า "โหมดความเข้ากันได้" เป็น "ห้ามใช้" และเขียนส่วนย่อยของโค้ดที่ใช้เมธอดโมดอลใหม่เป็นโมเดลอะซิงโครนัสสำหรับการสร้างตรรกะทางธุรกิจ
  2. แนะนำให้ลูกค้าของคุณใช้เบราว์เซอร์ที่ล้าสมัยซึ่งยังคงรองรับการเรียกโมดอล ( Mozilla Firefoxเวอร์ชัน 37 และต่ำกว่า Chrome ต่ำกว่าเวอร์ชัน 37 เป็นต้น)

อีกอย่าง เริ่มตั้งแต่รุ่น 8.3.11 เว็บเบราว์เซอร์ของ Microsoft ไม่ได้รับการสนับสนุนอีกต่อไป Internet Explorerรุ่น 8 และ 9

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

เริ่มต้นจากเวอร์ชัน 8.3.5 คุณสมบัติ "โหมดการใช้งาน Modality" ในไคลเอ็นต์แบบบางและแบบหนาจะถูกนำมาพิจารณาเฉพาะเมื่อมีการระบุพารามิเตอร์บรรทัดคำสั่ง / EnableCheckModal พารามิเตอร์นี้จะถูกแทนที่โดยอัตโนมัติเป็น บรรทัดคำสั่งเฉพาะเมื่อเริ่มต้นแอปพลิเคชันจากตัวกำหนดค่า หากไม่ได้ระบุพารามิเตอร์นี้ จะไม่มีการสร้างข้อยกเว้นและคำเตือนที่เกี่ยวข้องจะไม่แสดงขึ้น เหล่านั้น. ในทางปฏิบัติ ในกรณีของการใช้ไคลเอ็นต์แบบหนาและแบบบาง จะไม่พบการเปลี่ยนแปลงที่รุนแรงในการทำงานเมื่อใช้โหมดโมดอล - การเรียกแบบโมดอลจะทำงานแบบเดียวกับที่เคยทำมา โดยไม่มีคำเตือนใดๆ เช่นเดียวกับในเว็บไคลเอ็นต์

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

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

เพื่อนร่วมงาน มีสองสิ่งที่สามารถอ่านได้ไม่รู้จบ: ฟีด VKontakte และรายการการเปลี่ยนแปลงในแพลตฟอร์มรุ่นถัดไป เรามาสรุปกัน;)

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

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

แทนที่จะได้ข้อสรุป

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

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

14
ในการบังคับให้องค์กรเริ่มทำงานในแอปพลิเคชันปกติหรือที่มีการจัดการ มีการใช้คีย์ต่อไปนี้: / RunModeOrdinaryApplication เริ่มไคลเอนต์แบบหนาในโหมดปกติ แม้จะมีการตั้งค่าการกำหนดค่าและ ... 3
จำเป็นที่ผู้ใช้ไม่สามารถเปลี่ยนอินเทอร์เฟซที่กำหนดค่าไว้ได้! วิธีแก้ไข: หากต้องการปิดใช้งาน คุณต้องลบ "บันทึกข้อมูลผู้ใช้" ในสิทธิ์การเข้าถึงขององค์ประกอบการกำหนดค่ารูท ... 2
ในงานปัจจุบัน ผู้ใช้มักจะเปิดหลายอ็อบเจ็กต์ อาจเป็นเอกสาร หนังสืออ้างอิง รายงาน ฯลฯ ในอินเทอร์เฟซก่อนหน้า ไม่มีปัญหาในการค้นหาวัตถุที่เปิดอยู่อย่างรวดเร็วและอัปเดตสำหรับ ... 2
ในบทความที่แล้ว: การติดตั้งตัวแยกประเภทที่อยู่ (KLADR) ใน 1C ฉันได้บอกคุณว่า Kladr คืออะไรและจะโหลดลงในแบบฟอร์มปกติ 1C ได้อย่างไร (8.0-8.2) ในบทความนี้ผมจะแสดงวิธีการโหลด Address Classifier (KLADR) ใน ... 2
บ่อยครั้งเมื่อพัฒนาการกำหนดค่าบางอย่าง ผู้ใช้ต้องการแนบรูปถ่ายกับรายการไดเร็กทอรีและจัดเก็บไว้ในฐานข้อมูล ในบทความนี้ฉันจะบอกคุณถึงวิธีเชื่อมต่อวัตถุก่อสร้างกับหนังสืออ้างอิง ...

ในแพลตฟอร์ม 1C เวอร์ชัน 8.3 ปรากฏขึ้น ระบอบการปกครองใหม่การทำงานของโปรแกรม - โดยไม่ต้องใช้กิริยาช่วย แม่นยำยิ่งขึ้น 2 โหมดใหม่ปรากฏขึ้น: ไม่ใช้กิริยาและการใช้กิริยา แต่มีคำเตือน และโหมดการทำงานแบบเก่าจะแสดงวิธีการใช้กิริยา

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

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

& OnClient

StandardProcessing = เท็จ;




ถ้า Dialog.Edit () จากนั้น // เรียกแบบฟอร์มโมดอล ความต่อเนื่องของการใช้รหัสจะเกิดขึ้นหลังจากปิดแบบฟอร์มเท่านั้น
Elements.Services.CurrentData.StartDate = Dialog.Period.StartDate;
Elements.Services.CurrentData.EndDate = Dialogue.Period.EndDate;
จบถ้า;

สิ้นสุดขั้นตอน


ดังที่เราเห็น ขั้นตอนเดียวก็เพียงพอแล้วในการประมวลผลการเรียกหน้าต่างโมดอลเพื่อเลือกช่วงเวลา

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

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

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

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

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

& OnClient
ขั้นตอนการบริการStartDateSelectionStart (รายการ, SelectionData, StandardProcessing)

StandardProcessing = เท็จ;

กล่องโต้ตอบ = กล่องโต้ตอบ EditStandardPeriod ใหม่ ();
StandardPeriod = StandardPeriod ใหม่ ();

StartDate = Items.Services.CurrentData.StartDate;
EndDate = Items.Services.CurrentData.EndDate;

StandardPeriod.StartDate = วันที่เริ่มต้น;
StandardPeriod.EndDate = วันที่สิ้นสุด;
Dialogue.Period = ระยะเวลามาตรฐาน;

AlertDescription = AlertDescription ใหม่ ("PeriodSelectionProcessing", ThisForm);

Dialogue.Show (คำอธิบายการแจ้งเตือน)

สิ้นสุดขั้นตอน

& OnClient
ขั้นตอนการประมวลผลการเลือกระยะเวลา (ระยะเวลา, พารามิเตอร์) การส่งออก

ถ้าประจำเดือน<>ไม่ได้กำหนดแล้ว

Items.Services.CurrentData.StartDate = Period.StartDate;
Items.Services.CurrentData.EndDate = Period.EndDate;

จบถ้า;

สิ้นสุดขั้นตอน


อย่างที่เราเห็น แทนที่จะเป็น Edit () เรียกว่า Show () และการประมวลผลของเหตุการณ์การคัดเลือกอยู่ในขั้นตอนอื่นแล้ว

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

เราละทิ้งกิริยาและเชี่ยวชาญเทคโนโลยีใหม่สำหรับ 1C ทำงานในเบราว์เซอร์และคอมพิวเตอร์มือถือ