ข้อความป๊อปอัป 1s 8.3 ถึงผู้ใช้ การแจ้งเตือนสถานะกระบวนการ

ในโปรแกรมบนแพลตฟอร์ม 1C:Enterprise ข้อความสามารถแสดงให้ผู้ใช้เห็นได้หลายวิธี

1. วิธีการ แสดงคำเตือน.

แสดงคำเตือน(< ОписаниеОповещенияОЗавершении> , < ТекстПредупреждения> , < Таймаут> , < Заголовок> )

เมื่อใช้การออกแบบนี้ หน้าต่างคำเตือนจะปรากฏขึ้นที่กึ่งกลางของอินเทอร์เฟซโปรแกรม

ตัวเลือก:

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

ข้อความเตือน(ที่จำเป็น)
ประเภท: สตริง; FormattedString. ข้อความเตือน.

หมดเวลา (ไม่บังคับ)
ประเภท: หมายเลข. ช่วงเวลาเป็นวินาทีที่ระบบจะรอการตอบกลับจากผู้ใช้ เมื่อช่วงเวลาดังกล่าวหมดลง หน้าต่างคำเตือนจะถูกปิด หากไม่ได้ระบุพารามิเตอร์ ระยะเวลารอจะไม่จำกัด ถ้าพารามิเตอร์เป็นลบ ข้อยกเว้นจะถูกส่งออกไป ค่าเริ่มต้น: 0

ชื่อเรื่อง (ไม่บังคับ)
ประเภท: สตริง. ประกอบด้วยชื่อเรื่องของหน้าต่างคำเตือน คำอธิบาย: แสดงหน้าต่างคำเตือนแต่ไม่รอให้ปิด

ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ไคลเอ็นต์แบบหนา, แอปพลิเคชันมือถือ (ไคลเอนต์)

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

2. คำเตือนวิธีการ

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

ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ลูกค้ามือถือ, ไคลเอนต์หนา, แอปพลิเคชันมือถือ (ไคลเอนต์)

3. วิธีการ แสดงการแจ้งเตือนผู้ใช้.

แสดงการแจ้งเตือนผู้ใช้(< Текст> , < ДействиеПриНажатии> , < Пояснение> , < Картинка> , < СтатусОповещенияПользователя> , < КлючУникальности> )

เมื่อใช้วิธีการนี้ ข้อความจะปรากฏขึ้นที่มุมขวาล่างของอินเทอร์เฟซ

ความพร้อมใช้งาน: ไคลเอ็นต์แบบบาง, เว็บไคลเอ็นต์, ไคลเอ็นต์แบบหนา

4. วิธีการรายงาน

เพื่อรายงาน(< ТекстСообщения> , < Статус> )

ความพร้อมใช้งาน: ธินไคลเอ็นต์, เว็บไคลเอ็นต์, ไคลเอนต์มือถือ, เซิร์ฟเวอร์, ไคลเอนต์หนา, การเชื่อมต่อภายนอก, แอปพลิเคชันมือถือ (ไคลเอนต์), แอปพลิเคชันมือถือ (เซิร์ฟเวอร์)

5. วัตถุ ข้อความถึงผู้ใช้.

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

คุณสมบัติ: รหัสปลายทาง(รหัสเป้าหมาย); ข้อมูลคีย์; สนาม; เส้นทางข้อมูล(DataPath); ข้อความ.

วิธีการ: ข้อความ; ตั้งค่าข้อมูล(เซ็ตดาต้า).

ข้อความจะปรากฏที่ด้านล่างของอินเทอร์เฟซเป็นบรรทัด

ข้อความ = ข้อความใหม่ถึงผู้ใช้(); ข้อความ. ข้อความ = “การตั้งชื่อไม่เพียงพอ”; ข้อความ. สนาม = “ระบบการตั้งชื่อ ปริมาณ”; ข้อความ. SetData(วัตถุข้อมูล); ข้อความ. เพื่อรายงาน() ;

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

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

แอปพลิเคชันที่มีการจัดการ

การสมัครปกติ

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

แอปพลิเคชันที่มีการจัดการ

การสมัครปกติ

รายการลงทะเบียน

ในรายการการแจ้งเตือน คุณสามารถดูได้ว่าใครได้รับการแจ้งเตือนและใครอ่านบ้าง

แอปพลิเคชันที่มีการจัดการ

การสมัครปกติ

หากต้องการใช้การพัฒนาในการกำหนดค่าของคุณ คุณต้อง:

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

    รายการโมดูลแอปพลิเคชันปกติหรือที่ได้รับการจัดการแตกต่าง:

    แอปพลิเคชันที่มีการจัดการ

ขั้นตอนที่เมื่อระบบเริ่มทำงาน() // การแก้ไขการกำหนดค่ามาตรฐานเพื่อแจ้งเตือนผู้ใช้โปรแกรม (ส่งข้อความถึงผู้ใช้คนใดคนหนึ่ง) // เหมาะสำหรับการกำหนดค่าทั้งหมด ConnectWaitingHandler("modNotificationProcessingHandler", 60); สิ้นสุดขั้นตอน // เมื่อระบบเริ่มทำงาน () // การปรับเปลี่ยนการกำหนดค่ามาตรฐานเพื่อแจ้งเตือนผู้ใช้โปรแกรม (ส่งข้อความถึงผู้ใช้คนใดคนหนึ่ง) // เหมาะสำหรับการกำหนดค่าทั้งหมด // การเรียกตัวจัดการรอจะดำเนินต่อไปจนกว่าแบบฟอร์มจะปิด // หรือจนกว่าเมธอดของฟอร์มจะเรียกว่า Procedure modNotificationProcessingHandler( ) ส่งออกข้อความไปยังผู้ใช้ = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); ถ้าไม่ใช่ MessageToUser = ไม่ได้กำหนด ดังนั้น Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); ถ้าไม่ใช่ Form.Open() ให้ FillPropertyValues(Form,MessageToUser,"ViewOnly"); แบบฟอร์มเปิด(); อื่น ๆ Form.Activate(); สิ้นสุดถ้า; สิ้นสุดถ้า; สิ้นสุดขั้นตอน ขั้นตอนการสมัครปกติเมื่อระบบเริ่มทำงาน() //การปรับเปลี่ยนการกำหนดค่ามาตรฐานสำหรับการแจ้งเตือนผู้ใช้โปรแกรม (ส่งข้อความถึงผู้ใช้) //เหมาะสำหรับการกำหนดค่าทั้งหมด ConnectWaitingHandler("modNotificationProcessingHandler", 60); สิ้นสุดขั้นตอน // เมื่อระบบเริ่มทำงาน () // การปรับเปลี่ยนการกำหนดค่ามาตรฐานเพื่อแจ้งเตือนผู้ใช้โปรแกรม (ส่งข้อความถึงผู้ใช้คนใดคนหนึ่ง) // เหมาะสำหรับการกำหนดค่าทั้งหมด // การเรียกตัวจัดการรอจะดำเนินต่อไปจนกว่าแบบฟอร์มจะปิด // หรือจนกว่าเมธอดของฟอร์มจะเรียกว่า Procedure modNotificationProcessingHandler( ) ส่งออกข้อความไปยัง User = Information Registers.User Alerts.GetNotificationProcessingMessages(); ถ้าไม่ใช่ MessageToUser = ไม่ได้กำหนด ดังนั้น Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); ถ้าไม่ใช่ Form.Open() ให้ FillPropertyValues(Form,MessageToUser,"ViewOnly"); แบบฟอร์ม OpenModal(); อื่น ๆ Form.Activate(); สิ้นสุดถ้า; สิ้นสุดถ้า; สิ้นสุดขั้นตอน

การดำเนินการพัฒนานั้นฟรีและเสร็จสิ้นภายใน 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 จึงสามารถดำเนินการได้ทั้งบนฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์

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

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

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

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

ณ จุดนี้ระบบจะขอข้อมูลจากบัฟเฟอร์และแสดงบนหน้าจอ

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

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

จำเป็นต้องมีกลไกการแจ้งเตือนเพื่อแจ้งให้ผู้ใช้ทราบว่ามี “บางสิ่ง” เกิดขึ้นในระบบ และ “บางสิ่ง” ต้องการความสนใจจากผู้ใช้ การแจ้งเตือนถูกสร้างขึ้นจากสองสถานการณ์:

  1. โดยแพลตฟอร์มเองเมื่อมีการบันทึกหรือเปลี่ยนแปลงวัตถุแบบโต้ตอบ
  2. โดยผู้พัฒนาเมื่อเรียกใช้เมธอดในโค้ด .

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

นอกจากนี้ยังสามารถเข้าถึงการแจ้งเตือนได้ในพื้นที่ที่เกี่ยวข้องของแผงข้อมูล (ปุ่ม "ประวัติ" ที่ด้านล่างซ้ายของแบบฟอร์มใบสมัครในตัวเลือกอินเทอร์เฟซ "เวอร์ชัน 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 ได้ในบทความสุดท้ายของซีรีส์ และเราก็เดินหน้าต่อไปและในที่สุดก็เริ่มศึกษาอินเทอร์เฟซแท็กซี่ที่รอคอยมานานซึ่งได้รับการกล่าวถึงแล้วมากกว่าหนึ่งครั้งในเอกสารของเรา