ข้อความป๊อปอัป 1s 8.3 ถึงผู้ใช้ การแจ้งเตือนสถานะกระบวนการ
ในโปรแกรมบนแพลตฟอร์ม 1C:Enterprise ข้อความสามารถแสดงให้ผู้ใช้เห็นได้หลายวิธี
1. วิธีการ แสดงคำเตือน.
แสดงคำเตือน(< ОписаниеОповещенияОЗавершении> , < ТекстПредупреждения> , < Таймаут> , < Заголовок> )
เมื่อใช้การออกแบบนี้ หน้าต่างคำเตือนจะปรากฏขึ้นที่กึ่งกลางของอินเทอร์เฟซโปรแกรม
ตัวเลือก:
คำอธิบายการแจ้งเตือนที่สมบูรณ์(ไม่จำเป็น)
ประเภท: คำอธิบายการแจ้งเตือน ประกอบด้วยคำอธิบายของขั้นตอนที่จะถูกเรียกหลังจากปิดหน้าต่างการแจ้งเตือนด้วยพารามิเตอร์ต่อไปนี้: พารามิเตอร์เพิ่มเติม - ค่าที่ระบุเมื่อสร้างออบเจ็กต์คำอธิบายการแจ้งเตือน หากไม่ได้ระบุพารามิเตอร์ เมื่อเสร็จสิ้นแล้วจะไม่มีการเรียกขั้นตอนใดๆ
ข้อความเตือน(ที่จำเป็น)
ประเภท: สตริง; FormattedString. ข้อความเตือน.
หมดเวลา (ไม่บังคับ)
ประเภท: หมายเลข. ช่วงเวลาเป็นวินาทีที่ระบบจะรอการตอบกลับจากผู้ใช้ เมื่อช่วงเวลาดังกล่าวหมดลง หน้าต่างคำเตือนจะถูกปิด หากไม่ได้ระบุพารามิเตอร์ ระยะเวลารอจะไม่จำกัด ถ้าพารามิเตอร์เป็นลบ ข้อยกเว้นจะถูกส่งออกไป ค่าเริ่มต้น: 0
ชื่อเรื่อง (ไม่บังคับ)
ประเภท: สตริง. ประกอบด้วยชื่อเรื่องของหน้าต่างคำเตือน คำอธิบาย: แสดงหน้าต่างคำเตือนแต่ไม่รอให้ปิด
ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ไคลเอ็นต์แบบหนา, แอปพลิเคชันมือถือ (ไคลเอนต์)
หมายเหตุ: หากต้องดำเนินการโค้ดใดๆ หลังจากที่ผู้ใช้ปิดหน้าต่างคำเตือน จะต้องวางโค้ดนั้นไว้ในขั้นตอนโมดูลแยกต่างหากและอธิบายไว้ในพารามิเตอร์
2. คำเตือนวิธีการ
หน้าต่างคำเตือนจะปรากฏขึ้นที่กึ่งกลางของอินเทอร์เฟซโปรแกรม อย่างไรก็ตามหากคุณสมบัติการกำหนดค่า โหมดการใช้งานรูปแบบต่างๆถูกตั้งค่าเป็น Do Not Use แสดงว่าวิธีนี้ใช้ไม่ได้
ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ลูกค้ามือถือ, ไคลเอนต์หนา, แอปพลิเคชันมือถือ (ไคลเอนต์)
3. วิธีการ แสดงการแจ้งเตือนผู้ใช้.
แสดงการแจ้งเตือนผู้ใช้(< Текст> , < ДействиеПриНажатии> , < Пояснение> , < Картинка> , < СтатусОповещенияПользователя> , < КлючУникальности> )
เมื่อใช้วิธีการนี้ ข้อความจะปรากฏขึ้นที่มุมขวาล่างของอินเทอร์เฟซ
ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ไคลเอ็นต์แบบหนา
4. วิธีการรายงาน
เพื่อรายงาน(< ТекстСообщения> , < Статус> )
ความพร้อมใช้งาน: ธินไคลเอ็นต์, เว็บไคลเอ็นต์, ไคลเอนต์มือถือ, เซิร์ฟเวอร์, ไคลเอนต์หนา, การเชื่อมต่อภายนอก, แอปพลิเคชันมือถือ (ไคลเอนต์), แอปพลิเคชันมือถือ (เซิร์ฟเวอร์)
5. วัตถุ ข้อความถึงผู้ใช้.
ออกแบบมาเพื่อจัดเก็บพารามิเตอร์ข้อความที่ต้องแสดงต่อผู้ใช้ หากข้อความยังไม่แสดงให้ผู้ใช้เห็น (อาจเกิดขึ้นเมื่อทำงานบนฝั่งเซิร์ฟเวอร์ค่ะ) งานเบื้องหลังการเชื่อมต่อภายนอกหรือบริการบนเว็บ) คุณสามารถรับข้อความที่สะสมได้โดยใช้วิธีการ รับข้อความถึงผู้ใช้.
คุณสมบัติ: รหัสปลายทาง(รหัสเป้าหมาย); ข้อมูลคีย์; สนาม; เส้นทางข้อมูล(DataPath); ข้อความ.
วิธีการ: ข้อความ; ตั้งค่าข้อมูล(เซ็ตดาต้า).
ข้อความจะปรากฏที่ด้านล่างของอินเทอร์เฟซเป็นบรรทัด
ข้อความ = ข้อความใหม่ถึงผู้ใช้(); ข้อความ. ข้อความ = “การตั้งชื่อไม่เพียงพอ”; ข้อความ. สนาม = “ระบบการตั้งชื่อ ปริมาณ”; ข้อความ. SetData(วัตถุข้อมูล); ข้อความ. เพื่อรายงาน() ;
การพัฒนาได้รับการออกแบบมาเพื่อแจ้งเตือนผู้ใช้ทั้งแบบเลือกและทั้งหมด คุณยังสามารถเขียนข้อความหรือโต้ตอบระหว่างผู้ใช้ได้อย่างง่ายดาย
การพัฒนาคือการลงทะเบียนข้อมูลและการเปลี่ยนแปลงในโมดูลของแอปพลิเคชันที่ได้รับการจัดการหรือปกติ
หากต้องการทริกเกอร์การแจ้งเตือน คุณต้องเพิ่มรายการในการลงทะเบียนข้อมูล ผู้ใช้จะได้รับการแจ้งเตือนในช่วงเวลาที่กำหนดระหว่างเริ่มต้นและสิ้นสุดเวลาการแจ้งเตือน.
แอปพลิเคชันที่มีการจัดการ
การสมัครปกติ
หน้าต่างแจ้งเตือนที่แสดง ในโปรแกรมผู้ใช้จะบล็อกอินเทอร์เฟซทั้งหมด และผู้ใช้ที่ทำงานใน ช่วงเวลานี้โปรแกรมจะไม่พลาดการแจ้งเตือนและจะอ่านตามนั้น
แอปพลิเคชันที่มีการจัดการ
การสมัครปกติ
รายการลงทะเบียน
ในรายการการแจ้งเตือน คุณสามารถดูได้ว่าใครได้รับการแจ้งเตือนและใครอ่านบ้าง
แอปพลิเคชันที่มีการจัดการ
การสมัครปกติ
หากต้องการใช้การพัฒนาในการกำหนดค่าของคุณ คุณต้อง:
- กำหนดความสามารถในการแก้ไขการกำหนดค่า
- เปรียบเทียบกับการกำหนดค่าที่ให้มาในเอกสารนี้ การลงทะเบียนข้อมูล "การแจ้งเตือนผู้ใช้" จะถูกเพิ่มและรายการในโมดูลแอปพลิเคชันปกติหรือที่มีการจัดการ ขึ้นอยู่กับโหมดการเปิดตัวหลักของแอปพลิเคชัน
รายการโมดูลแอปพลิเคชันปกติหรือที่ได้รับการจัดการแตกต่าง:
แอปพลิเคชันที่มีการจัดการ
การดำเนินการพัฒนานั้นฟรีและเสร็จสิ้นภายใน 10 นาที
การสนับสนุนทางเทคนิคฟรีเป็นเวลา 30 วัน
ใน
การพัฒนานี้มีไว้สำหรับแพลตฟอร์ม 8.3 การกำหนดค่ามาตรฐานและไม่ได้มาตรฐานต่างๆ ในโหมดไคลเอ็นต์แบบ Thin, Thick และเว็บไคลเอ็นต์
สามารถแก้ไขได้โดยอิสระ รหัสเปิดให้แก้ไขได้
เหตุผลที่จะซื้อ
ตัวเลือกที่สะดวกมากสำหรับการแจ้งเตือนแจ้งเตือนผู้ใช้ 1C งานด้านเทคนิคการปรับเปลี่ยนการกำหนดค่าการอัปเดตความสามารถในการตอบสนองระหว่างผู้ใช้ 1C ภายในกรอบการทำงานของโปรแกรมที่ 1
ข้อดี
1) ส่งการแจ้งเตือนถึงผู้ใช้ทุกคน 100% ไม่เหมือนแอนะล็อก
2) ความสามารถในการส่งรูปภาพ
3) ดูกิจกรรมของผู้ใช้ในรายการข้อความ (ใครถูกส่ง ใครอ่าน)
4) ความสามารถในการเขียนตอบกลับบุคคลที่ส่งการแจ้งเตือน
5) ไม่ส่งผลกระทบต่อออบเจ็กต์อื่นเมื่ออัปเดตการกำหนดค่าโดยติดตั้งตัวเลือกการแก้ไขไว้
รับประกันคืนเงิน
Infostart LLC รับประกันคืนเงิน 100% หากโปรแกรมไม่สอดคล้องกับฟังก์ชันที่ประกาศไว้ในคำอธิบาย คุณสามารถคืนเงินเต็มจำนวนได้หากคุณร้องขอภายใน 14 วันนับจากวันที่ได้รับเงินในบัญชีของเรา
โปรแกรมนี้ได้รับการพิสูจน์แล้วว่าได้ผลจนเราสามารถรับประกันได้อย่างมั่นใจ เราต้องการให้ลูกค้าของเราทุกคนพอใจกับการซื้อของพวกเขา
ในระหว่างบทเรียน เรา: สร้างฐาน สร้างการประมวลผล สร้างแบบฟอร์ม
ตอนนี้เราจะบอกคุณ 5 วิธีในการส่งข้อความจาก 1C "สวัสดีชาวโลก!"
ไม่ใช่ทุกคนที่รู้อย่างน้อยสองวิธี :)
จะเขียนข้อความโปรแกรมอย่างไรและที่ไหน?
สลับไปที่แท็บของหน้าต่างด้วยแบบฟอร์ม "โมดูล" คุณจะต้องแน่ใจว่าคุณมีข้อความอยู่แล้ว (“ขั้นตอน…”)
หากไม่มีข้อความ ให้ทำดังนี้:
- ในไคลเอ็นต์แบบหนา คุณเพิ่มแบบฟอร์มเพื่อประมวลผลไม่ถูกต้อง ให้ทำซ้ำตั้งแต่ต้น
- ใน ไคลเอนต์แบบบางคุณลืมเพิ่มปุ่ม ลองอีกครั้งตั้งแต่ต้น
ภายในข้อความมีบรรทัดว่า
// ใส่เนื้อหาของตัวจัดการ
งานของคุณคือลบบรรทัดนี้และป้อนข้อความของโปรแกรมแทน หลังจากนั้น ให้บันทึกการประมวลผลและเปิดในโหมดองค์กร
เมื่อคุณคลิกดำเนินการ การดำเนินการที่คุณป้อนจะถูกดำเนินการ
ตอนนี้เรามาดูวิธีการกันดีกว่า!
ข้อความใน 1C วิธีที่ 1 - วิธีที่ง่ายที่สุด
ดังนั้นคุณควรแทนที่จะใช้ข้อความ “// แทรกเนื้อหาของตัวจัดการ” เขียนข้อความโปรแกรม
รายงาน("สวัสดีชาวโลก!");
จริงๆแล้วนั่นคือทั้งหมด :)
ข้อความในโหมดองค์กรในไคลเอนต์แบบหนาจะอยู่ที่ด้านล่างของหน้าต่าง 1C ในไคลเอนต์แบบบาง - ทางด้านขวาในหน้าต่างการประมวลผล
นี่เป็นวิธีที่ง่ายที่สุดซึ่งโปรแกรมเมอร์ใช้กันอย่างแพร่หลาย
ข้อความใน 1C วิธีที่ 2 - ง่ายเช่นกัน
การแจ้งเตือน("สวัสดีชาวโลก!");
จริงๆแล้วนั่นคือทั้งหมด :)
ข้อความในโหมดองค์กรในตัวเลือกไคลเอนต์ทั้งสองจะอยู่ในหน้าต่างป๊อปอัป
ข้อความใน 1C วิธีที่ 3 - ปรากฏใน 1C เวอร์ชัน 8.2 เท่านั้น
ShowUserAlert("สวัสดีชาวโลก!");
วิธีการนี้ปรากฏใน 1C เวอร์ชัน 8.2 เท่านั้น นี่คือหน้าต่างป๊อปอัปที่มุมขวาล่างของหน้าจอที่หายไปเมื่อเวลาผ่านไป
ข้อความใน 1C วิธีที่ 4 - โปรแกรมเมอร์
โยนข้อยกเว้น "สวัสดีชาวโลก!";
อาจมีข้อผิดพลาดเมื่อรันโปรแกรมใด ๆ บางครั้งข้อผิดพลาดนี้สามารถคำนวณล่วงหน้าได้ (เช่น คุณต้องคำนวณ a = b/c และในขณะที่ดำเนินการโปรแกรม จะทราบว่า c เท่ากับ 0)
ในกรณีนี้มีวิธีรายงานข้อผิดพลาดด้วยวิธีนี้
ข้อความใน 1C วิธีที่ 5 - เทคโนโลยีขั้นสูงสำหรับการกำหนดค่ามาตรฐานเท่านั้น
วัตถุประสงค์ทั่วไป ReportError ("สวัสดีชาวโลก!");
โปรแกรมเมอร์ 1C จะต้องรู้ไม่เพียงแต่วิธีการเขียนโปรแกรมที่อยู่ในแพลตฟอร์ม 1C เท่านั้น แต่ยังต้องรู้วิธีการเขียนโปรแกรมที่อยู่ในแพลตฟอร์ม 1C ด้วย การกำหนดค่าทั่วไป.
ผู้เริ่มต้นเมื่อพยายามเพิ่มการกำหนดค่ามาตรฐาน ให้เริ่มประดิษฐ์วงล้อใหม่
นี่เป็นตัวอย่างที่สมบูรณ์แบบ คุณลักษณะนี้มีอยู่ในการกำหนดค่ามาตรฐานหลายรูปแบบ (ไคลเอ็นต์แบบหนาเท่านั้น!) ดูเหมือนว่าผลลัพธ์จะเท่ากับการกระทำของวิธีที่ 1
อย่างไรก็ตาม ไม่ ในบางการกำหนดค่า (เช่น ชุดซอฟต์สตาร์ท) ข้อความแสดงข้อผิดพลาดจะถูกทำซ้ำในบันทึก เมื่อไหร่ด้วย การตั้งค่าเพิ่มเติมข้อความดูแตกต่างไปจากเดิมอย่างสิ้นเชิง
ตอนนี้คุณสามารถรู้สึกเหมือนเป็นโปรแกรมเมอร์ตัวจริงได้แล้ว!
นี่คือสิ่งที่การเขียนโปรแกรม 1C คืออะไร แน่นอนว่าการเขียนโปรแกรมจริงนั้นซับซ้อนกว่ามากและต้องใช้ความรู้มากมาย แต่ตอนนี้คุณมีแนวคิดทั่วไปแล้ว
ขอให้โชคดี!
ป.ล. ใน เวอร์ชัน PDFบทเรียนประกอบด้วยภาพหน้าจอเพื่อให้ง่ายต่อการสร้างประสบการณ์ของคุณ
พี.พี.เอส. บทเรียนประกอบด้วยวิดีโอ 5 รายการพร้อมตัวอย่างการสร้างฐานสำหรับการเขียนโปรแกรม การสร้างการประมวลผล การเขียนโปรแกรมในไคลเอ็นต์แบบ Thick และ Thin
ใช้งานในเวอร์ชัน 8.3.10.2168
เราได้ปรับปรุงกลไกการแจ้งเตือนผู้ใช้ ตอนนี้การใช้งานทั้งในไคลเอ็นต์แบบบางและเว็บไคลเอ็นต์ก็สะดวกพอ ๆ กัน เราเปลี่ยนไป รูปร่างการแจ้งเตือนและเพิ่มคุณสมบัติใหม่มากมายให้กับพวกเขา
แสดงการแจ้งเตือนหลายรายการ
ในการใช้งานแบบเก่า มีเพียงการแจ้งเตือนเดียวเท่านั้นที่แสดงบนหน้าจอในแต่ละครั้ง การแจ้งเตือนใหม่ซ้อนทับกับการแจ้งเตือนก่อนหน้า ดังนั้น หากมีการแสดงการแจ้งเตือนหลายรายการติดต่อกัน มีความเป็นไปได้สูงที่ผู้ใช้จะไม่มีเวลาอ่านการแจ้งเตือนก่อนหน้านี้ เนื่องจากการแจ้งเตือนถัดไปจะครอบคลุมอยู่
ในกรณีส่วนใหญ่ สามารถแสดงการแจ้งเตือนพร้อมกันได้สูงสุดสามรายการ:
นี่เป็นเรื่องจริงสำหรับไคลเอ็นต์แบบบาง ไคลเอ็นต์แบบหนา และเว็บไคลเอ็นต์ที่ทำงานในเบราว์เซอร์ อินเทอร์เน็ตเอ็กซ์พลอเรอร์ และ Google Chrome . เบราว์เซอร์ ซาฟารีและ มอซซิลา ไฟร์ฟอกซ์ ช่วยให้คุณสามารถแสดงการแจ้งเตือนได้ไม่จำกัดจำนวนและเบราว์เซอร์ ไมโครซอฟต์ เอดจ์ แสดงการแจ้งเตือนครั้งสุดท้าย แต่ประกอบด้วย ศูนย์ปฏิบัติการซึ่งการแจ้งเตือนทั้งหมดจะถูกทำซ้ำ
การแสดงการแจ้งเตือนเมื่อหน้าต่างแอปพลิเคชันไม่ทำงาน
ก่อนหน้านี้ ในเว็บไคลเอ็นต์ การแจ้งเตือนจะแสดงเฉพาะในหน้าต่างเบราว์เซอร์ที่ใช้งานอยู่เท่านั้น หากผู้ใช้เปลี่ยนไปใช้หน้าต่างอื่นหรือแอปพลิเคชันอื่น เขาไม่เห็นการแจ้งเตือน ขณะนี้ เมื่อใช้เว็บไคลเอ็นต์ การแจ้งเตือนจะแสดงบนหน้าจอแม้ว่าหน้าต่างแอปพลิเคชันจะย่อเล็กสุดหรือไม่ได้ใช้งานก็ตาม
เมื่อเรียกใช้เมธอดเป็นครั้งแรก แสดงการแจ้งเตือนผู้ใช้()ในเว็บไคลเอ็นต์ Google Chrome, มอซซิลา ไฟร์ฟอกซ์และ ซาฟารีเบราว์เซอร์จะขออนุญาตจากผู้ใช้เพื่อใช้การแจ้งเตือน ผู้ใช้สามารถอนุญาตให้ส่งออกได้ แอปพลิเคชันนี้หรือห้าม.
หากผู้ใช้ปิดใช้งานการแสดงการแจ้งเตือน การแจ้งเตือนประเภทใหม่จะถูกนำมาใช้ แต่จะแสดงผลภายในหน้าต่างเบราว์เซอร์
ศูนย์แจ้งเตือน
เพื่อป้องกันไม่ให้การแจ้งเตือนหายไปตลอดกาล เราได้ดำเนินการแล้ว ศูนย์แจ้งเตือน. และสำหรับการแจ้งเตือน เราได้ใช้คุณสมบัติใหม่ - สถานะการแจ้งเตือนผู้ใช้. อาจมีความหมายได้สองความหมาย: ข้อมูลและ สำคัญ.
การแจ้งเตือนพร้อมสถานะ ข้อมูลจะแสดงบนหน้าจอและหายไปหลังจากผ่านไป 10 วินาที (ในเบราว์เซอร์ ไมโครซอฟต์ เอดจ์– หลังจาก 4 วินาที) การแจ้งเตือนพร้อมสถานะ สำคัญมีพฤติกรรมเหมือนกันทุกประการ แต่จะถูกบันทึกไว้ในศูนย์แจ้งเตือน
คุณสามารถเข้าถึงศูนย์แจ้งเตือนได้จากแถบเครื่องมือ ความจริงที่ว่ามีการแจ้งเตือนที่สำคัญใหม่จะแสดงด้วยจุดสีส้มถัดจากไอคอน
ศูนย์แจ้งเตือนจะแสดงการแจ้งเตือนที่สำคัญที่ผู้ใช้ยังไม่ได้ตอบกลับโดยการปิดหรือดำเนินการที่เกี่ยวข้องกับการแจ้งเตือน การแจ้งเตือนจะแสดงตามลำดับที่ปรากฏ โดยการแจ้งเตือนล่าสุดจะอยู่ด้านบน ด้วยวิธีนี้ แม้ว่าผู้ใช้จะออกจากคอมพิวเตอร์ เขาจะไม่พลาดการแจ้งเตือนที่สำคัญ
การแจ้งเตือนสามารถลบออกจากรายการได้โดยใช้ปุ่มล้าง หากมีการกระทำบางอย่างที่เกี่ยวข้องกับการแจ้งเตือน หลังจากคลิกที่ข้อความแจ้งเตือน ข้อความนั้นก็จะหายไปเช่นกัน ทีม ล้างการแจ้งเตือนลบการแจ้งเตือนทั้งหมดออกจากรายการ อย่างไรก็ตาม หากการดำเนินการเชื่อมโยงกับการแจ้งเตือน การดำเนินการเหล่านั้นจะไม่ได้รับการดำเนินการ
ดำเนินการเมื่อกด
ในการใช้งานแบบเก่า การดำเนินการเดียวที่คุณสามารถทำได้เมื่อคุณคลิกการแจ้งเตือนคือการคลิกลิงก์การนำทาง มันถูกส่งผ่านไปยังเมธอดเป็นพารามิเตอร์ตัวที่สอง
<Текст>, <НавигационнаяСсылка>, …
ตอนนี้เราได้ขยายขีดความสามารถของการแจ้งเตือนแล้ว และในพารามิเตอร์ที่สอง คุณสามารถส่งผ่านได้ไม่เพียงแค่สตริงที่มีลิงก์การนำทาง แต่ยังรวมถึงคำอธิบายของการแจ้งเตือนด้วย
แสดงการแจ้งเตือนผู้ใช้(<Текст>, <ДействиеПриНажатии>, …
คำอธิบายการแจ้งเตือนระบุขั้นตอนที่ควรดำเนินการเมื่อมีการคลิกการแจ้งเตือน
รูปร่าง
ในไคลเอ็นต์แบบบางในตัวเลือกอินเทอร์เฟซ แท็กซี่รูปแบบการแจ้งเตือนจะใกล้เคียงกับรูปแบบการแจ้งเตือนของเบราว์เซอร์มากที่สุด Google Chromeโดยใช้ API การแจ้งเตือน.
หากใช้ตัวเลือกอินเทอร์เฟซ เวอร์ชัน 8.2จากนั้นรูปแบบการแจ้งเตือนและพฤติกรรมจะยังคงเหมือนเดิม
ในเว็บไคลเอ็นต์ ลักษณะที่ปรากฏของการแจ้งเตือนจะถูกกำหนดโดยเบราว์เซอร์ที่ใช้ โดยทั่วไปแล้ว การแจ้งเตือนจะมีลักษณะเหมือนกับในไคลเอ็นต์แบบบาง แต่แต่ละเบราว์เซอร์จะมีลักษณะเฉพาะของตัวเอง ตัวอย่างเช่น คุณสามารถเปรียบเทียบว่าการแจ้งเตือนเดียวกันจะแสดงอย่างไร อินเทอร์เน็ตเอ็กซ์พลอเรอร์และ มอซซิลา ไฟร์ฟอกซ์.
นอกจากนี้ยังมีคุณสมบัติอื่น ๆ ตัวอย่างเช่นในเบราว์เซอร์ อินเทอร์เน็ตเอ็กซ์พลอเรอร์รองรับเฉพาะการแจ้งเตือนที่แสดงภายในหน้าต่างแอปพลิเคชันเท่านั้น และในเบราว์เซอร์ ซาฟารีพารามิเตอร์ รูปภาพไม่รองรับและการแจ้งเตือนจะแสดงที่ด้านบนของหน้าจอ
บทความนี้ยังคงดำเนินต่อไปในบทความชุด "ขั้นตอนแรกในการพัฒนา 1C"
ในนั้นเราจะดูวิธีการแจ้งผู้ใช้ที่มีอยู่ในแพลตฟอร์ม 1C: Enterprise 8 และยังเน้นความสนใจของคุณไปที่คุณสมบัติบางอย่างของการทำงานของกลไกเหล่านี้ คุณสมบัติเหล่านี้เกี่ยวข้องกับโหมดการใช้งานของ modality .
การบังคับใช้
บทความนี้กล่าวถึงฟังก์ชันการทำงาน:
- อินเทอร์เฟซในเวอร์ชัน “เวอร์ชัน 8.2” สำหรับการกำหนดค่าที่พัฒนาบนแพลตฟอร์ม 1C:Enterprise 8.2.19.130
- อินเทอร์เฟซ Taxi สำหรับการกำหนดค่าที่พัฒนาบนแพลตฟอร์ม 1C:Enterprise 8.3.4.496 ถึง 8.3.9+
- อินเทอร์เฟซแท็กซี่สำหรับการกำหนดค่าที่พัฒนาบนแพลตฟอร์ม 1C:Enterprise 8.3.10-8.3.11
วิธีแสดงข้อความถึงผู้ใช้ใน 1C
การแสดงข้อความในโหมดผู้ใช้ช่วยแก้ปัญหาหลายประการ:
- การสะท้อนความคืบหน้าของกระบวนการปัจจุบัน (แสดงขั้นตอนการดำเนินการของกระบวนการ; แสดงค่าที่คำนวณได้ที่ได้รับระหว่างการทำงานของอัลกอริทึม)
- แสดงข้อผิดพลาดแก่ผู้ใช้เพื่อการแก้ไขที่เป็นไปได้
- การออกคำแนะนำ
ประเภทข้อความ:
- เทอร์มิเนเตอร์ ซึ่งหยุดการทำงานของโปรแกรมและไม่อนุญาตให้ดำเนินการต่อจนกว่าผู้ใช้จะอ่านข้อความนี้และดำเนินการบางอย่าง ตัวอย่างเช่น ผู้ใช้จะพบกับคำถามบนหน้าจอที่จะต้องตอบว่าใช่หรือไม่ใช่ โปรแกรมจะไม่ทำงานจนกว่าผู้ใช้จะตอบสนอง การดำเนินการเพิ่มเติม;
- ข้อความแนะนำที่แสดงต่อผู้ใช้และอนุญาตให้ทำงานต่อไปได้ (เช่น ใช้ในโหมดแจ้งเตือน)
ข้อความการสิ้นสุดควรเป็นข้อความแสดงข้อผิดพลาดและข้อความแนะนำ: คำแนะนำ ข้อความเกี่ยวกับขั้นตอนปัจจุบันของกระบวนการและการแสดงค่าที่คำนวณได้ (การพิมพ์การแก้ไขข้อบกพร่อง)
ข้อความแนะนำมีวัตถุประสงค์เพื่อให้ข้อมูลบางอย่างแก่ผู้ใช้
จำเป็นที่ผู้ใช้จะต้องทำความคุ้นเคยกับมัน และอาจดำเนินการบางอย่างตามที่อธิบายไว้ในข้อความนี้
เป็นสิ่งสำคัญมากที่ผู้ใช้จะต้องอ่านข้อความเหล่านี้จริงๆ ดังนั้นจึงควรมีเฉพาะข้อมูลที่สำคัญเท่านั้น
ไม่ควรส่งข้อความทดสอบและดีบักให้กับผู้ใช้เพราะว่า ไม่ช้าก็เร็วเขาจะเริ่มเพิกเฉยต่อข้อความทั้งหมดอย่างแน่นอน
ในแนวคิดของอินเทอร์เฟซที่ได้รับการจัดการ วิธีการออกข้อความมีการเปลี่ยนแปลงไปบ้าง ตอนนี้มันเชื่อมโยงกับรูปแบบที่มันเกิดขึ้น ไม่สามารถปิดได้อีกต่อไปเพื่อให้มองไม่เห็นข้อความโดยสมบูรณ์
คุณไม่สามารถเลิกปักหมุดกล่องข้อความจากแบบฟอร์มได้
ไวยากรณ์ของฟังก์ชัน:
เพื่อรายงาน (<Текст сообщения>, <Статус>)
เหล่านั้น. พารามิเตอร์แรกคือตัวข้อความเอง
พารามิเตอร์ที่สอง (สถานะข้อความ) เป็นทางเลือก คุณสามารถระบุค่าสำหรับสถานะ: ปกติ, สำคัญ, สำคัญมากฯลฯ
จาก มูลค่าที่กำหนดขึ้นอยู่กับว่าไอคอนใดจะอยู่ถัดจากข้อความ อย่างไรก็ตาม วิธีนี้ใช้ได้เฉพาะในอินเทอร์เฟซปกติเท่านั้น
ในแนวคิดอินเทอร์เฟซที่ได้รับการจัดการ ไอคอนจะอยู่ในรูปแบบเสมอ เครื่องหมายอัศเจรีย์มันไม่สามารถกำหนดใหม่ได้
ความจริงก็คือว่าหากมีการสร้างข้อความในขณะที่เขียนองค์ประกอบไดเร็กทอรี สถานการณ์ต่อไปนี้อาจเกิดขึ้นได้
ผู้ใช้คลิกที่ปุ่ม บันทึกและปิดในกรณีนี้ข้อความจะแสดงในหน้าต่างที่เกี่ยวข้อง (ทางด้านขวาของแบบฟอร์ม)
แต่แบบฟอร์มจะปิดทันทีและผู้ใช้จะไม่เห็นว่ามีข้อมูลใดแสดงให้เขาเห็น
ดังนั้น ในแนวคิดของแอปพลิเคชันที่ได้รับการจัดการ ขอแนะนำให้แสดงข้อความแนะนำโดยใช้สิ่งที่เรียกว่าการแจ้งเตือน ตัวอย่างการใช้ฟังก์ชันที่ไม่ถูกต้อง เพื่อรายงานนำเสนอในรูป
อย่างไรก็ตามฟังก์ชั่น เพื่อรายงานสามารถใช้แสดงข้อมูลเกี่ยวกับข้อผิดพลาดบางอย่างได้ เช่น ในขณะที่ทำการผ่านรายการเอกสาร
ในกรณีนี้ระบบสามารถแจ้งได้ว่าไม่จำเป็นต้องปิดแบบฟอร์มและแสดงให้ผู้ใช้ทราบว่ามีข้อผิดพลาดเกิดขึ้นอย่างไรเมื่อผ่านรายการเอกสาร
การทำงาน เพื่อรายงานรองรับแพลตฟอร์ม 8.3 อย่างสมบูรณ์ สามารถใช้ได้และจะทำงานได้ (ทั้งในเวอร์ชันไฟล์และเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์)
แต่ควรสังเกตด้วยว่าฟังก์ชั่น เพื่อรายงานมีการพัฒนาเพิ่มเติม - นี่คือคลาสข้อความสำหรับผู้ใช้ซึ่งอนุญาตให้นอกเหนือจากการแสดงข้อความเพื่อผูกตามบริบทกับองค์ประกอบของแบบฟอร์มใด ๆ
ตัวอย่างเช่น ข้อความแสดงข้อผิดพลาดสามารถเชื่อมโยงกับองค์ประกอบของแบบฟอร์ม ซึ่งผู้ใช้จะเข้าใจได้ชัดเจนมาก เราจะกลับมาพิจารณาปัญหานี้อีกครั้งในภายหลัง การทำงาน เพื่อรายงานมีคุณสมบัติที่น่าสนใจ
ดังนั้นโค้ดโปรแกรมในแพลตฟอร์ม 8.3 จึงสามารถดำเนินการได้ทั้งบนฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์
ในกรณีนี้ รหัสโปรแกรมไคลเอนต์มีหน้าที่รับผิดชอบในการโต้ตอบกับผู้ใช้ เช่น ทางฝั่งไคลเอ็นต์ แบบฟอร์มจะถูกเปิดและแสดงรายงาน
เอกสารโต้ตอบต่างๆ จะแสดงเฉพาะบนไคลเอนต์เท่านั้น ไม่สามารถดำเนินการได้บนเซิร์ฟเวอร์เนื่องจากเซิร์ฟเวอร์ไม่มีความสามารถในการโต้ตอบกับผู้ใช้
แต่ฟังก์ชั่น เพื่อรายงานสามารถดำเนินการได้ทั้งบนฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์ ในกรณีนี้ให้ใช้วิธี เพื่อรายงานบนเซิร์ฟเวอร์ไม่ได้หมายความว่าข้อความจะปรากฏบนเซิร์ฟเวอร์เลย ไม่มีที่ใดที่จะแสดงได้
ซึ่งหมายความว่าหากเราแสดงข้อความในขั้นตอนเซิร์ฟเวอร์โดยใช้วิธีนี้ ข้อความเหล่านั้นจะสะสมอยู่ในบัฟเฟอร์บางส่วนและจะแสดงบนหน้าจอเฉพาะเมื่อขั้นตอนเซิร์ฟเวอร์สิ้นสุดลงและส่งคืนไปยังไคลเอนต์เท่านั้น
ณ จุดนี้ระบบจะขอข้อมูลจากบัฟเฟอร์และแสดงบนหน้าจอ
คุณลักษณะเดียวกันนี้ใช้กับชั้นเรียน ข้อความถึงผู้ใช้. รูปแสดงตัวอย่างการใช้วิธีนี้ เพื่อรายงานทางฝั่งเซิร์ฟเวอร์
อันเป็นผลจากการใช้วิธีการ เพื่อรายงานทางฝั่งเซิร์ฟเวอร์ ข้อความก็แสดงบนหน้าจอฝั่งไคลเอนต์
จำเป็นต้องมีกลไกการแจ้งเตือนเพื่อแจ้งให้ผู้ใช้ทราบว่ามี “บางสิ่ง” เกิดขึ้นในระบบ และ “บางสิ่ง” ต้องการความสนใจจากผู้ใช้ การแจ้งเตือนถูกสร้างขึ้นจากสองสถานการณ์:
- โดยแพลตฟอร์มเองเมื่อมีการบันทึกหรือเปลี่ยนแปลงวัตถุแบบโต้ตอบ
- โดยผู้พัฒนาเมื่อเรียกใช้เมธอดในโค้ด .
การแจ้งเตือนนั้นเป็นหน้าต่างเล็ก ๆ ที่ปรากฏขึ้นตามกฎที่มุมขวาล่างและแจ้งเกี่ยวกับการดำเนินการที่เสร็จสมบูรณ์ ภายในไม่กี่วินาที มันก็จะค่อยๆ จางลงและหายไป ในเวลาเดียวกัน หากคุณวางเคอร์เซอร์ไว้เหนือการแจ้งเตือน การแจ้งเตือนนั้นจะไม่หายไปและคุณสามารถอ่านได้อย่างละเอียด
นอกจากนี้ยังสามารถเข้าถึงการแจ้งเตือนได้ในพื้นที่ที่เกี่ยวข้องของแผงข้อมูล (ปุ่ม "ประวัติ" ที่ด้านล่างซ้ายของแบบฟอร์มใบสมัครในตัวเลือกอินเทอร์เฟซ "เวอร์ชัน 8.2")
หากต้องการสร้างการแจ้งเตือนของคุณเอง คุณต้องใช้วิธีการตามบริบทสากล แสดงการแจ้งเตือนผู้ใช้(). ไวยากรณ์ก่อนเวอร์ชัน 8.3.10 มีดังต่อไปนี้:
แสดงการแจ้งเตือนผู้ใช้ (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)
พารามิเตอร์แรกประกอบด้วยข้อความที่จะแสดงในการแจ้งเตือน
จากนั้น ในฐานะพารามิเตอร์ตัวที่สอง คุณสามารถส่งลิงก์การนำทางไปยังองค์ประกอบได้ ฐานข้อมูล(องค์ประกอบที่สอดคล้องกับข้อความในข้อความของเรา) เมื่อผู้ใช้คลิกที่การแจ้งเตือน ลิงก์จะถูกตามมา
เมื่อใช้พารามิเตอร์ที่สาม คุณสามารถส่งคำอธิบายสำหรับข้อความได้ เช่น คำอธิบายเพิ่มเติมบางส่วน
คุณยังสามารถกำหนดรูปภาพที่แสดงสถานะการแจ้งเตือนได้
ควรสังเกตว่าพารามิเตอร์เหล่านี้ทั้งหมดเป็นทางเลือก ด้านล่างนี้เป็นตัวอย่างการใช้งาน วิธีนี้(ในตัวกำหนดค่าและในโหมดผู้ใช้ในตัวเลือกอินเทอร์เฟซ "เวอร์ชัน 8.2")
ในเวอร์ชันของแพลตฟอร์ม 8.3.10.216 สำหรับอินเทอร์เฟซ “Taxi” กลไกการแจ้งเตือนได้รับการปรับปรุงอย่างมีนัยสำคัญเพื่อปรับปรุงการใช้งานของทั้งไคลเอ็นต์แบบบางและแบบเว็บ ด้วยเหตุนี้ พารามิเตอร์ที่ส่งไปยังเมธอดจึงมีการเปลี่ยนแปลงเช่นกัน แสดงการแจ้งเตือนผู้ใช้(). ตอนนี้ไวยากรณ์มีลักษณะดังนี้:
แสดงการแจ้งเตือนผู้ใช้(<Текст>, <ДействиеПриНажатии>, <Пояснение>, <Картинка>, <СтатусОповещенияПользователя>, <КлючУникальности>)
จะเห็นได้ว่าพารามิเตอร์ตัวที่ 2 เดิมเรียกว่า ลิงค์การนำทาง, ได้ชื่อใหม่แล้ว การดำเนินการเมื่อคลิก. เนื่องจากขณะนี้สามารถส่งได้ไม่เพียงแต่สตริงที่มีลิงก์การนำทางเท่านั้น แต่ยังรวมถึงคำอธิบายของการแจ้งเตือนด้วย นี่แสดงไว้ในภาพหน้าจอด้านล่าง:
ดังที่เห็นได้จากตัวอย่าง ขณะนี้เรามีความสามารถในการประมวลผลการคลิกบนหน้าต่างการแจ้งเตือนโดยทางโปรแกรมตามตรรกะที่จำเป็น
พารามิเตอร์ถัดไป สถานะการแจ้งเตือนผู้ใช้ปรากฏเป็นครั้งแรก ระบุสถานะการแจ้งเตือน (ข้อมูลหรือสำคัญ)
ในกรณีของตัวเลือกสำคัญหากผู้ใช้ไม่ตอบกลับข้อความ หลังจากซ่อนจากหน้าจอแล้วก็สามารถอ่านได้ผ่านศูนย์การแจ้งเตือน (ข้อมูลเพิ่มเติมด้านล่าง) ในกรณีของตัวเลือกข้อมูล การแจ้งเตือนจะถูกลบโดยไม่จัดเก็บไว้ในศูนย์นี้ มาเขียนโค้ดใหม่จากตัวอย่างของเราดังนี้:
หลังจากดำเนินการคำสั่ง เราจะได้มุมมองของหน้าต่างแอปพลิเคชันโดยประมาณนี้:
ปุ่มที่มีไอคอนระฆังปรากฏขึ้นในแถบเครื่องมือซึ่งเรียกศูนย์การแจ้งเตือนที่กล่าวถึงข้างต้น มันรวบรวมการแจ้งเตือนสำคัญใหม่ที่ผู้ใช้ยังไม่ได้ตอบสนอง
หากมีการแจ้งเตือนใดๆ ในศูนย์ จุดสีส้มเล็กๆ จะปรากฏขึ้นข้างๆ เพื่อดึงดูดความสนใจของผู้ใช้ ผู้ใช้สามารถเปิดศูนย์การแจ้งเตือน อ่านข้อความ และดำเนินการบางอย่างหากจำเป็น
จากศูนย์กลาง การแจ้งเตือนจะถูกล้างโดยการคลิกที่ปุ่มล้าง แต่หากมีการดำเนินการบางอย่างที่เกี่ยวข้องกับการแจ้งเตือน ทันทีที่ผู้ใช้คลิกที่ข้อความ ข้อความก็จะหายไปเช่นกัน
และสุดท้ายพารามิเตอร์สุดท้ายที่เพิ่มคือ กุญแจแห่งความเป็นเอกลักษณ์. คุณสามารถใช้เพื่อค้นหาการแจ้งเตือนที่แสดงบนหน้าจอและเปลี่ยนแปลงได้ หากไม่มีการแจ้งเตือนด้วยพารามิเตอร์นี้ การแจ้งเตือนใหม่จะปรากฏขึ้น
อย่างที่คุณเห็น ความเป็นไปได้ที่ได้รับจากวิธีการที่เกี่ยวข้องนั้นมีมากยิ่งขึ้น! แต่สิ่งเหล่านี้ไม่ใช่การเปลี่ยนแปลงทั้งหมดในกลไกการแจ้งเตือน
ดังที่คุณอาจสังเกตเห็นแล้วว่ารูปลักษณ์ของพวกเขาเปลี่ยนไป ขณะนี้การแจ้งเตือนดูทันสมัยและถูกหลักสรีรศาสตร์มากขึ้น แต่ไม่สามารถย้ายไปรอบๆ หน้าจอหรือปรับขนาดได้ โปรดทราบว่าในตัวอย่างของเรา ข้อความแจ้งเตือนไม่พอดีกับหน้าต่างทั้งหมด และผู้ใช้จะสามารถอ่านข้อความทั้งหมดได้โดยการเปิดศูนย์การแจ้งเตือนเท่านั้น ดังนั้นคุณจึงไม่ควรเขียนข้อความจำนวนมากในข้อความแจ้งเตือน
คุณสมบัติใหม่ยังรวมถึงการแสดงการแจ้งเตือนพร้อมกันสูงสุดสามรายการบนหน้าจอ
นี่เป็นการสรุปความคุ้นเคยของเรากับการสร้างการแจ้งเตือนของซอฟต์แวร์ อย่างไรก็ตาม โปรดจำไว้ว่าการแจ้งเตือนไม่เพียงแต่สร้างขึ้นโดยนักพัฒนาโดยทางโปรแกรมเท่านั้น แต่ยังสร้างโดยแพลตฟอร์มเอง ณ เวลาที่บันทึกแบบโต้ตอบหรือเปลี่ยนแปลงออบเจ็กต์ด้วย และบ่อยครั้งข้อเท็จจริงนี้ทำให้เกิดความเข้าใจผิดในหมู่ผู้ใช้มือใหม่เป็นหลัก: เหตุใดจึงจำเป็นต้องมีการแจ้งเตือนบริการเหล่านี้ซึ่งไม่สามารถปิดได้
ลองจินตนาการถึงสถานการณ์ง่ายๆ นี้: ผู้ใช้ได้ตั้งค่าตัวกรองในบางรายการเพื่อความสะดวก สมมติว่าเขาทำสิ่งนี้ในรูปแบบของรายการในไดเร็กทอรี Nomenclature หลังจากนั้นสักพักฉันก็ตัดสินใจแนะนำตัว องค์ประกอบใหม่ด้วยชื่อ “เก้าอี้” ซึ่งไม่ตรงกับตัวกรองที่ติดตั้งไว้ก่อนหน้านี้ เข้ามาเขียนลงไปและ...? และเขาไม่เห็นมันในรายการ ผู้ใช้ทั่วไปจะทำอะไร? แน่นอนว่าเขาจะเข้าไปเป็นครั้งที่สองแต่จะไม่เห็นมันอีก อาจจะตามมาด้วยครั้งที่สาม สี่ ห้า เมื่อเขาเบื่อที่ต้องเจอเรื่องเดิมๆ ซ้ำแล้วซ้ำเล่า ในที่สุดเขาก็จะถามคุณว่าทุกอย่างไปไหนหมด?
นี่คือสาเหตุที่แพลตฟอร์มแสดงการแจ้งเตือนบริการเหล่านี้อย่างชัดเจน โดยแจ้งให้ผู้ใช้ทราบว่าการดำเนินการของพวกเขาเสร็จสิ้นแล้ว ในตัวอย่างของเรา ในขณะที่บันทึกแบบโต้ตอบ ผู้ใช้จะเห็นการแจ้งเตือนต่อไปนี้:
ข้อความการสิ้นสุด
ข้อความการสิ้นสุดคือข้อความที่จะไม่อนุญาตให้ทำงานจนกว่าผู้ใช้จะดำเนินการบางอย่าง เช่น จนกว่าจะประมวลผลข้อความ
เราจะพูดถึงความเป็นไปได้ในการใช้ข้อความการยุติในแพลตฟอร์ม 8.3 ในภายหลัง (ใน เมื่อเร็วๆ นี้พวกเขาพยายามที่จะไม่ใช้มัน ดังนั้นตัวอย่างที่พิจารณาจึงมีความเกี่ยวข้องกับแพลตฟอร์ม 8.2 มากกว่า)
มีสองวิธีในการออกข้อความการสิ้นสุด คำเตือนและ คำถาม. คำเตือนแตกต่างจาก คำถามเพราะมีปุ่มเดียว ตกลง.
คำถามอาจระบุชุดตัวเลือกคำตอบที่แตกต่างกัน ( ไม่เชิง, ใช่ไม่ใช่ยกเลิก, ตกลง, ตกลงยกเลิก, ทำซ้ำยกเลิก, ยกเลิกการทำซ้ำข้าม) ซึ่งระบุโดยใช้พารามิเตอร์
มาแสดงคำเตือนโดยใช้บรรทัด (เช่น ในโมดูลแอปพลิเคชันที่ได้รับการจัดการ):
คำเตือน("ฐานจะเปิดแล้ว");
หากต้องการเปิดโมดูลแอปพลิเคชันที่ได้รับการจัดการ ให้เลือกออบเจ็กต์ในแผนผังการกำหนดค่า การกำหนดค่าเรียกเมนูบริบทและเลือกรายการ เปิดโมดูลแอปพลิเคชันที่ได้รับการจัดการ.
ในกรณีนี้ เมื่อเปิดแอปพลิเคชัน หน้าต่างจะแสดงขึ้นในรูปแบบโมดอล หน้าต่างโมดอลซ้อนทับหน้าต่างทั้งหมดที่มีอยู่ในแอปพลิเคชัน จนกว่าเราจะประมวลผลหน้าต่างนี้ คุณจะไม่สามารถดำเนินการใดๆ เพิ่มเติมได้
ฟังก์ชั่นนี้ทำงานในลักษณะเดียวกัน คำถาม.
ไวยากรณ์:
คำถาม(<ТекстВопроса>,<Кнопки>,<Таймаут>,<КнопкаПоУмолчанию>,<Заголовок>,
<КнопкаТаймаута>);
ต้องใช้พารามิเตอร์สองตัวแรกเท่านั้น สำหรับพารามิเตอร์ตัวที่สอง ชนิดข้อมูลเป็นแบบรวม ( คำถามโหมดบทสนทนาหรือ รายการค่า). พารามิเตอร์ที่สาม ( <Таймаут> ) กำหนดลักษณะช่วงเวลาเป็นวินาทีซึ่งระบบจะรอการตอบกลับจากผู้ใช้
เมื่อช่วงเวลาหมดลง หน้าต่างคำถามจะถูกปิด พารามิเตอร์ที่คล้ายกัน ( <Таймаут> ) ก็สามารถใช้ได้สำหรับฟังก์ชันนี้เช่นกัน คำเตือน.
เป็นตัวอย่างการใช้งานฟังก์ชัน คำถามคุณสามารถใช้โค้ดต่อไปนี้ ซึ่งเขียนในโมดูลแอปพลิเคชันที่ได้รับการจัดการ:
โปรดทราบว่าวิธีการเหล่านี้ ( คำเตือนและ คำถาม) ไม่สามารถใช้งานได้บนเซิร์ฟเวอร์ และนี่เป็นตรรกะ เนื่องจากวิธีการอินเทอร์เฟซไม่สามารถดำเนินการบนเซิร์ฟเวอร์ที่ไม่มีผู้ใช้ได้
คุณสมบัติการใช้งาน หน้าต่างโมดอลในแพลตฟอร์ม 8.3
ในแพลตฟอร์ม 8.3 มีโหมดการทำงานทั้งแบบมีและไม่มีโหมด การตั้งค่าเริ่มต้นคือ ห้ามใช้โหมดกิริยา
ในกรณีนี้ ไม่สามารถใช้ข้อความแจ้งการยุติได้ หากจำเป็นต้องใช้ข้อความการสิ้นสุด (functions คำเตือนและ คำถาม) คุณควรเปลี่ยนค่าของคุณสมบัติการกำหนดค่า บน ใช้.
หน้าต่างโมดอลจะแสดงที่ด้านบนสุดและบล็อกการทำงานกับหน้าต่างอื่นจนกว่าการดำเนินการกับหน้าต่างโมดอลจะเสร็จสิ้น นอกจากนี้ การดำเนินการจะหยุดลง รหัสโปรแกรมณ ที่ซึ่งเรียกว่าหน้าต่างนี้ การเรียกใช้โค้ดจะดำเนินต่อไปหลังจากปิดหน้าต่างโมดอลแล้วเท่านั้น
ประการแรก ปัญหาในการใช้หน้าต่างโมดอลเกิดขึ้น แอปพลิเคชันมือถือ. ประการที่สอง ในเบราว์เซอร์ จะใช้รูปแบบหน้าต่างโดยใช้หน้าต่างป๊อปอัปแยกต่างหาก
หน้าต่างป๊อปอัปมักถูกปิดใช้งานโดยการตั้งค่าเบราว์เซอร์เริ่มต้น ผู้ใช้จะต้องถูกบังคับให้ตั้งค่าการอนุญาตสำหรับหน้าต่างเหล่านี้
เบราว์เซอร์สำหรับ คอมพิวเตอร์แท็บเล็ตและสำหรับโทรศัพท์ส่วนใหญ่แล้วจะไม่รองรับป๊อปอัปเลย
เพื่อแทนที่ฟังก์ชั่น คำถามและ คำเตือนมีการพัฒนาวิธีการใหม่: แสดงคำถาม, แสดงคำเตือน.
วิธีการเหล่านี้ช่วยให้คุณสามารถเรียกหน้าต่างได้ แต่อย่าหยุดการทำงานของโค้ดโปรแกรม ในทางเทคนิคแล้ว สามารถทำได้โดยการสร้างหน้าต่างเทียมภายในหน้าต่างหลัก หน้าต่างหลอกไม่ทับซ้อนกับหน้าต่างหลัก หลังจากเปิดหน้าต่างดังกล่าว โค้ดยังคงทำงานต่อไป
การรับและการประมวลผลค่าที่ผู้ใช้ป้อนจะดำเนินการในขั้นตอนแยกต่างหากซึ่งเรียกว่าเมื่อปิดกล่องโต้ตอบ
ไวยากรณ์ของฟังก์ชัน แสดงคำเตือน:
แสดงคำเตือน(<ОписаниеОповещенияОЗавершении>, <ТекстПредупреждения>, <Таймаут>, <Заголовок>)
พารามิเตอร์ <ОписаниеОповещенияОЗавершении> (ไม่จำเป็น)
ประเภทข้อมูล: คำอธิบาย การแจ้งเตือน.
ประกอบด้วยคำอธิบายของขั้นตอนที่จะถูกเรียกหลังจากปิดหน้าต่างคำเตือน
ไวยากรณ์ของฟังก์ชัน แสดงคำถาม:
แสดงคำถาม(<ОписаниеОповещенияОЗавершении>, <ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)
จำเป็นต้องมีพารามิเตอร์สามตัวแรก
ด้านล่างนี้เป็นตัวอย่างการใช้ฟังก์ชัน
ข้อความคลาสถึงผู้ใช้
ความสะดวกขั้นพื้นฐานของคลาสข้อความ ข้อความถึงผู้ใช้คือว่านี่คือข้อความตามบริบท (ไม่เหมือนกับวิธีการ คำเตือนและ คำถาม).
ข้อความสามารถเชื่อมโยงกับองค์ประกอบหน้าจอเฉพาะได้ วัตถุนี้ยังพร้อมใช้งานบนเซิร์ฟเวอร์
ควรสังเกตว่าประการแรก วัตถุนี้จำเป็นต้องสร้าง ตัวอย่างเช่น: ข้อความ = MessageToUser ใหม่;
ดังนั้นเราจึงสร้างอินสแตนซ์ของวัตถุนี้
ประการที่สอง คุณต้องระบุข้อความในคุณสมบัติแยกต่างหาก
ประการที่สามในทรัพย์สิน สนามคุณสามารถระบุองค์ประกอบแบบฟอร์มได้ ข้อความนี้จะต้องผูกไว้
ความสนใจ! หากต้องการผูกเข้ากับฟิลด์แบบฟอร์มที่ต้องการ ให้ใส่ใจกับการเริ่มต้นคุณสมบัติ เส้นทางสู่ข้อมูลและ คีย์ข้อมูล. สำหรับเอกสาร เมื่อวางโค้ดในโมดูลอ็อบเจ็กต์ คุณสามารถเขียนได้:
Message.DataPath = “วัตถุ”;
Message.DataKey = ThisObject.Link;
หากต้องการเปิดโมดูลเอกสาร ในหน้าต่างแก้ไขวัตถุ (เอกสาร) ให้ไปที่แท็บ อื่นกดปุ่ม โมดูลวัตถุ.
สำหรับการทดลอง เราจะวางโค้ดไว้ในโมดูลออบเจ็กต์ของเอกสาร
ด้านล่างนี้คือผลลัพธ์ที่ได้รับในโหมดผู้ใช้สำหรับแพลตฟอร์ม 8.3
ควรสังเกตว่าข้อความที่ส่งออกโดยใช้วัตถุระบบใหม่ ข้อความถึงผู้ใช้ในกรณีทั่วไป จะไม่มีการยกเลิก เหล่านั้น. ระบบจะอนุญาตให้ผู้ใช้ดำเนินการต่อไปโดยไม่ต้องตอบสนองต่อข้อความที่แสดง
แต่ประการแรก ข้อความเหล่านี้ค่อนข้างชัดเจน ประการที่สอง โดยปกติข้อความจะแสดงต่อผู้ใช้ ณ เวลาที่บันทึกองค์ประกอบของไดเร็กทอรีหรือการโพสต์เอกสาร เช่น เมื่อมีการตรวจสอบบางอย่าง และหากตรวจพบข้อผิดพลาดผู้ใช้จะเห็นข้อความเดียวกันนี้
ดังนั้น เมื่อตรวจพบข้อผิดพลาด ธุรกรรมจะถูกยกเลิก เช่น ห้ามเขียนองค์ประกอบไดเรกทอรีหรือห้ามโพสต์เอกสาร
ดังนั้นการจำลองข้อความการสิ้นสุดจึงเกิดขึ้น เนื่องจากการดำเนินการจะถูกยกเลิกจนกว่าผู้ใช้จะตอบสนองต่อข้อความที่ป้อน จึงเป็นไปไม่ได้ที่จะดำเนินการให้เสร็จสิ้น เช่น การโพสต์เอกสาร
แต่ในทางกลับกัน คุณสามารถปิดเอกสารได้โดยไม่ต้องดำเนินการใดๆ โดยไม่โต้ตอบกับข้อความแต่อย่างใด ดังนั้น ข้อความเหล่านี้ที่ส่งถึงผู้ใช้จึงไม่สิ้นสุด
การแจ้งเตือนสถานะกระบวนการ
มีฟังก์ชันพิเศษที่คุณสามารถแสดงความคืบหน้าโดยประมาณของกระบวนการได้
ไวยากรณ์: สถานะ(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
ตัวเลือก:<ТекстСообщения>และ<Пояснение>– ตัวเลือก, ประเภท – เส้น.
ข้อความจะปรากฏบนแถบสถานะพิเศษ
<Прогресс>พารามิเตอร์ยังเป็นทางเลือก แต่เป็นภาพ
พิมพ์: ตัวเลข. ค่าตัวบ่งชี้ความคืบหน้า (ตั้งแต่ 1 ถึง 100)
<Картинка>ยังเป็นพารามิเตอร์ทางเลือกอีกด้วย
เมื่อประมวลผลเหตุการณ์ใด ๆ การเรียกใช้ฟังก์ชันเป็นระยะ ๆ เช่น:
ในกรณีนี้ป้ายกำกับอาจเปลี่ยนแปลงและค่าของพารามิเตอร์ความคืบหน้าอาจเปลี่ยนแปลงได้
สามารถเรียกใช้ฟังก์ชันจากขั้นตอนเดียว (ฟังก์ชัน) หรือจากหลายขั้นตอนก็ได้ วิธีนี้ทำให้คุณสามารถติดตามสถานะการดำเนินการของกระบวนการได้
หากคุณต้องการดูกลไกการแจ้งเตือนให้ละเอียดยิ่งขึ้น หยุดเดี๋ยวนี้และอ่านบทความใหม่ของเรา การแสดงความคืบหน้าของการดำเนินการระยะยาวใน 8.3.10 มันอธิบายรายละเอียดปลีกย่อยและข้อผิดพลาดทั้งหมดของการทำงานของกลไกนี้ซึ่งไม่ได้อยู่ในระดับเริ่มต้นอีกต่อไป
เรากำลังเสร็จสิ้นการแนะนำวิธีการแจ้งให้ผู้ใช้ทราบแล้ว เราหวังว่าคุณจะเข้าใจว่าในสถานการณ์ใดควรใช้วิธีใดวิธีหนึ่ง
ฉันอยากจะดึงความสนใจของคุณอีกครั้งว่าหากการกำหนดค่าของคุณ (เวอร์ชัน 8.3.3+) เกี่ยวข้องกับการทำงานโดยใช้เว็บไคลเอ็นต์ ดังนั้น:
- ที่ระดับการกำหนดค่า การตั้งค่าโหมดกิริยาจะต้องตั้งค่าเป็น "ห้ามใช้"
- รหัสต้องใช้วิธีการของรูปแบบการโต้ตอบผู้ใช้แบบอะซิงโครนัส วิธีการดังกล่าวขึ้นต้นด้วยคำว่า แสดงหรือ เริ่ม.
คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการปฏิเสธที่จะใช้หน้าต่างโมดอลในแพลตฟอร์ม 1C:Enterprise 8.3 ได้ในบทความสุดท้ายของซีรีส์ และเราก็เดินหน้าต่อไปและในที่สุดก็เริ่มศึกษาอินเทอร์เฟซแท็กซี่ที่รอคอยมานานซึ่งได้รับการกล่าวถึงแล้วมากกว่าหนึ่งครั้งในเอกสารของเรา