งานตามกำหนดการและพื้นหลัง (การสร้างการกำหนดค่าการเปิดตัว) งานที่จัดกำหนดการและพื้นหลัง (การสร้างการกำหนดค่าการเรียกใช้งาน) 1c 8.3 รูปแบบการจัดการคอนโซลงานตามกำหนดการ
อาจไม่ใช่การกำหนดค่าที่จริงจังเพียงครั้งเดียวบน 1C 8.3 หรือ 8.2 ที่สามารถทำได้โดยไม่ต้องใช้งานตามกำหนดเวลาและงานเบื้องหลัง สะดวกมากเนื่องจากจะดำเนินการตามกำหนดเวลาที่กำหนดไว้อย่างชัดเจนโดยไม่มีการแทรกแซงของผู้ใช้หรือโปรแกรมเมอร์
ตัวอย่างเช่นคุณต้องแลกเปลี่ยนข้อมูลกับโปรแกรมอื่นวันละครั้ง การใช้งานตามกำหนดเวลาและงานเบื้องหลัง 1C จะสามารถดำเนินการเหล่านี้ได้ด้วยตัวเองเช่นนอกเวลาทำงาน วิธีนี้จะไม่ส่งผลกระทบต่อประสบการณ์ของผู้ใช้ แต่อย่างใดและจะช่วยประหยัดเวลา
ก่อนอื่นมาดูกันว่าความหมายคืออะไรและความแตกต่างคืออะไร:
- งานประจำ ช่วยให้คุณสามารถดำเนินการใด ๆ ตามกำหนดเวลาที่กำหนดไว้ล่วงหน้า
- งานเบื้องหลัง เป็นวัตถุที่มีการดำเนินการที่จะดำเนินการ
สมมติว่า บริษัท ของเราขายสินค้าและมีเว็บไซต์ของตัวเองพร้อมราคา เราต้องการยกเลิกการโหลดวันละครั้งเพื่อรักษาความเกี่ยวข้อง
เปิดการกำหนดค่าและเพิ่มงานตามกำหนดเวลา
คุณสมบัติการตั้งค่า
ลองพิจารณาพารามิเตอร์ที่สำคัญที่สุดที่ต้องกรอกในคุณสมบัติ
- ในสนาม " ชื่อวิธีการ»ขั้นตอนของโมดูลทั่วไปถูกเลือกซึ่งจะดำเนินการโดยตรง จะระบุการดำเนินการทั้งหมดเพื่ออัปโหลดราคาไปยังไซต์ของเรา โปรดทราบว่าการดำเนินการจะเกิดขึ้นบนเซิร์ฟเวอร์ นี่เป็นตรรกะเนื่องจากการดำเนินการตามปกติดำเนินการโดยไม่มีการแทรกแซงของผู้ใช้
- งานที่กำหนดเวลาไว้สามารถปิดใช้งานหรือเปิดใช้งานได้ตามต้องการ คุณไม่จำเป็นต้องเปลี่ยนตารางเวลาของเขาทุกครั้ง ในการดำเนินการนี้ในจานคุณสมบัติให้ตั้งค่าหรือยกเลิกการเลือก " การใช้».
- การตั้งค่าที่สำคัญอีกประการหนึ่งคืองานที่กำหนดเวลาไว้นี้จะเป็นหรือไม่ กำหนดไว้ล่วงหน้า, หรือไม่. งานตามกำหนดการที่กำหนดไว้ล่วงหน้าจะเริ่มโดยอัตโนมัติ หากไม่ได้ตั้งค่าเครื่องหมายนี้คุณจะต้องเรียกใช้โดยใช้โปรแกรมหรือใช้การประมวลผล "Console of jobs" จาก ITS
- คุณยังสามารถระบุ จำนวนการทำซ้ำและช่วงเวลาระหว่างกัน เกี่ยวกับการยุติที่ผิดปกติ การยุติที่ผิดปกติหมายถึงสถานการณ์เหล่านั้นเมื่องานไม่ทำงานเนื่องจากข้อผิดพลาด
ตั้งเวลา
ในขั้นตอนสุดท้ายเราจะตั้งค่ากำหนดการสำหรับการอัปโหลดไปยังไซต์โดยใช้ไฮเปอร์ลิงก์ที่เกี่ยวข้องในจานคุณสมบัติ
คุณจะเห็นการตั้งค่ากำหนดการโดยทั่วไปใน 1C 8.3 ที่นี่ไม่มีอะไรยาก จากตัวอย่างนี้เราได้ตั้งค่าการเปิดตัวการยกเลิกการโหลดราคาสำหรับไซต์ทุกวันตั้งแต่ตีห้าถึงเจ็ดโมงเช้า ในกรณีที่งานที่กำหนดไว้ไม่มีเวลาให้เสร็จก่อน 7:00 น. งานจะเสร็จสิ้นในวันถัดไป
การบล็อกงานที่กำหนดเวลาไว้
รันยูทิลิตี้มาตรฐาน "Administration of 1C Enterprise servers" และเปิดคุณสมบัติของ infobase ที่คุณสร้างงานตามกำหนดการ (สำหรับไคลเอ็นต์เซิร์ฟเวอร์เวอร์ชัน 1C)
ในหน้าต่างที่เปิดขึ้น (หลังจากป้อนการเข้าสู่ระบบและรหัสผ่านสำหรับการเข้าถึง IB) ให้ตรวจสอบว่าไม่ได้ตั้งค่าสถานะบนรายการ "การปิดกั้นงานตามกำหนดเวลาถูกเปิดใช้งาน" หากคุณกำลังเผชิญกับสถานการณ์ที่งานไม่สำเร็จให้ตรวจสอบการตั้งค่านี้ก่อน
ในทำนองเดียวกันคุณสามารถปิดใช้งานงานตามกำหนดเวลาได้อย่างสมบูรณ์ใน 1C 8.3 หากต้องการปิดใช้งานงานเบื้องหลังบางอย่างคุณสามารถใช้การประมวลผล "Background Job Console" ที่มีอยู่ในรุ่นล่าสุด
งานเบื้องหลังและงานตามกำหนดเวลาในโหมดไฟล์
ในโหมดนี้การตั้งค่าและเรียกใช้งานเหล่านี้จะจัดระเบียบได้ยากกว่ามาก ส่วนใหญ่จะมีการสร้างบัญชีเพิ่มเติมซึ่งเซสชันจะเปิดอยู่เสมอ
ในกรณีนี้งานตามกำหนดเวลาจะเปิดใช้งานโดยใช้เมธอด "RunJobProcessing ()"
คุณยังสามารถใช้โครงสร้างต่อไปนี้:
ในฐานะชื่อของโพรซีเดอร์คุณต้องระบุชื่อของโพรซีเดอร์ไคลเอ็นต์ที่จะดำเนินการ ช่วงเวลาแสดงให้เห็นว่าการดำเนินการจะใช้เวลากี่วินาที พารามิเตอร์ "Once" เป็นทางเลือก สะท้อนให้เห็นว่าขั้นตอนนี้จะดำเนินการครั้งเดียวหรือหลายครั้ง
การติดตามข้อผิดพลาดในงานเบื้องหลัง
คุณสามารถดูความคืบหน้าของงานเบื้องหลังตลอดจนข้อผิดพลาดที่อาจเกิดขึ้นได้ในบันทึก ในตัวกรองตั้งค่าตัวกรองเป็นแอปพลิเคชัน "งานพื้นหลัง" และหากจำเป็นให้เลือกความสำคัญที่สนใจเช่นเฉพาะ "ข้อผิดพลาด"
บันทึกจะแสดงรายการทั้งหมดที่ตรงกับการเลือกของคุณพร้อมความคิดเห็นที่ระบุสาเหตุของข้อผิดพลาด
แพลตฟอร์ม: 1C: Enterprise 8.3, 1C: Enterprise 8.2, 1C: Enterprise 8.1
การกำหนดค่า: การกำหนดค่าทั้งหมด
2012-11-13
53852
มีงานในเวิร์กโฟลว์ที่ต้องมีการดำเนินการเป็นระยะตัวอย่างเช่นในวันที่ยี่สิบหรือรายวัน ตามกฎแล้วใน บริษัท เฉพาะสำหรับสิ่งนี้กฎบางอย่างจะถูกสร้างขึ้นเพื่อระบุเวลาและวิธีการทำงานที่จำเป็นและใครควรเป็นผู้ควบคุมกระบวนการ งานดังกล่าวดำเนินการตามระเบียบและเรียกว่า - ควบคุม
บ่อยครั้งในด้านไอทีมีการปฏิบัติตามกฎระเบียบการตรวจสอบ วิธีนี้เป็นวิธีที่คุ้นเคยสำหรับผู้ดูแลระบบเนื่องจากมีโปรแกรมพิเศษที่ใช้ในการตรวจสอบความสมบูรณ์ของโครงสร้างพื้นฐานเครือข่ายและเซิร์ฟเวอร์เป็นระยะ พวกเขาแจ้งผู้ดูแลระบบเกี่ยวกับปัญหาที่ตรวจพบโดยใช้ SMS หรืออีเมล
ระบบที่คล้ายกันนี้ใช้ได้กับผู้ดูแลเว็บในขณะที่มีการตรวจสอบความพร้อมของไซต์ในระหว่างวัน ด้วยความช่วยเหลือของกลไก "งานตามกำหนดการ" ใน 1C งานการตรวจสอบจะดำเนินการเช่นเดียวกับงานตามระยะเวลาที่ดำเนินการตามกำหนดเวลาในโหมดอัตโนมัติใน 1C ลองพิจารณาหัวข้อนี้โดยละเอียด
งานตามกำหนดการ 1C
วัตถุ 1C ซึ่งเรียกว่า "งานตามกำหนดเวลา" ทำให้สามารถประมวลผลข้อมูลได้ไม่ใช่หลังจากเกิดปัญหาขึ้น แต่เป็นไปตามกำหนดเวลา ในตัวกำหนดค่างานที่จัดกำหนดการเป็นวิธีกำหนดการตั้งค่าและกำหนดตารางเวลา นอกจากนี้ยังสามารถเปลี่ยนกำหนดการในโหมด 1C Enterprise ได้ในภายหลัง
เมื่อใช้ฐานข้อมูลไฟล์งานจะไม่ถูกดำเนินการโดยอัตโนมัติ ในการเริ่มต้นกระบวนการจำเป็นต้องเริ่มเซสชัน 1C ในโหมด 1C Enterprise และเริ่มดำเนินการตามกำหนดเวลาแล้ว
การกำหนดค่าทั่วไปทั้งหมดมีการตั้งค่าผู้ใช้ซึ่งทำให้สามารถชี้แจงได้ว่าเมื่อ 1C ทำงานอยู่งานที่กำหนดเวลาไว้จะดำเนินการโดยอัตโนมัติ
การใช้ 1C เวอร์ชันไคลเอนต์เซิร์ฟเวอร์ทำให้สามารถดำเนินงานบนเซิร์ฟเวอร์ได้โดยอัตโนมัติ ในเวลาที่กำหนด - งานเบื้องหลังจะเปิดขึ้นซึ่งจะดำเนินการที่จำเป็น สำหรับการประมวลผลแบบขนานบนเซิร์ฟเวอร์สามารถสร้างงานพื้นหลังจากข้อความโปรแกรมโดยใช้ภาษา 1C โดยไม่ต้องใช้งานตามกำหนดการ 1C การดำเนินการของงานตามกำหนดการสามารถปิดใช้งานชั่วคราวโดยใช้คอนโซลการจัดการเซิร์ฟเวอร์ 1C
การเพิ่มงานตามกำหนดเวลา
งานตามกำหนดการจะอยู่ใน - Configurator - General - งานตามกำหนดการ เพิ่ม "งาน" ใหม่และระบุชื่อ ถัดไปคุณต้องไปที่คุณสมบัติ "งาน" และเลือกชื่อวิธีการ ที่นี่คุณต้องระบุฟังก์ชันตัวจัดการเช่นเดียวกับที่เกิดขึ้นในการสมัครสมาชิกเหตุการณ์ ฟังก์ชันนี้จะอยู่ในโมดูลทั่วไปและระบุโดยกล่องกาเครื่องหมายเซิร์ฟเวอร์ในคุณสมบัติ ซึ่งหมายความว่าจะต้องเพิ่มโมดูลที่ต้องการล่วงหน้า
ชื่อของงานในคุณสมบัติของงานตามกำหนดเวลาช่วยให้คุณกำหนดชื่องานซึ่งจะปรากฏในเครื่องมือการจัดการงาน ฟังก์ชันคุณสมบัติของงานตามกำหนดการเป็นคีย์ที่ช่วยให้คุณสามารถจัดกลุ่มงานตามกำหนดการต่างๆได้ ในกรณีนี้สามารถเริ่มงานที่มีค่าคีย์เดียวกันได้ทีละงานเท่านั้น ที่นี่ค่าสามารถกำหนดเองได้ แต่จำเป็นต้องเติมเนื่องจากระบบไม่นำค่าว่างมาพิจารณา
ในการปรับปรุงแก้ไขบัญชี 2.0 ซึ่งเป็นการกำหนดค่าโดยทั่วไปงานที่กำหนดเวลาไว้เช่น "การคำนวณผลรวมใหม่" และ "การอัปเดตการกำหนดค่า" จะถูกกำหนดไว้ล่วงหน้า แต่เช่น "การเคลื่อนย้ายรอตัดบัญชี" และ "การแลกเปลี่ยนข้อมูล" จะไม่ได้กำหนดไว้ล่วงหน้า
ลองเลิกใช้งานที่ผิดปกติอีกครั้ง - รีสตาร์ทงานที่กำลังดำเนินอยู่ สำหรับการเปิดตัวที่ไม่ประสบความสำเร็จในครั้งแรก ในที่นี้จะระบุจำนวนครั้งที่คุณสามารถรีสตาร์ทได้และระยะเวลาหลังจากการยุติที่ผิดปกติ
เครื่องมือตรวจสอบและจัดการสำหรับงานตามกำหนดการ 1C
สำหรับการจัดการงานตามกำหนดเวลาการประมวลผล "Job Console" โดยทั่วไปซึ่งสามารถพบได้ในดิสก์ ITS เป็นผู้รับผิดชอบ การรักษานี้เป็นการรักษาโดยทั่วไปภายนอกของ 1C ตามกฎแล้วจะไม่รวมอยู่ในการกำหนดค่า แต่ซื้อแยกต่างหาก
ด้วยความช่วยเหลือคุณสามารถดำเนินการต่อไปนี้:
เปิดและปิดงานตามกำหนดเวลา
กำหนดและเปลี่ยนแปลงกำหนดการ
กำหนดชื่อของผู้ใช้ที่จะดำเนินการตามกำหนดการ
ดูงานที่เสร็จสมบูรณ์ (เมื่อใดและผลเป็นอย่างไร) ตลอดจนข้อผิดพลาดของงาน
จัดกำหนดการสำเนางานและฐานข้อมูล
เมื่อใช้เซิร์ฟเวอร์ 1C ช่วงเวลาต่อไปนี้อาจเกิดขึ้น:
สำหรับการเขียนโปรแกรมคุณต้องทำสำเนาฐานการทำงาน
ความจำเป็นในการทำงานกับสำเนาของฐานข้อมูล (การทดสอบ);
ด้วยเหตุผลบางประการงานที่กำหนดเวลาไว้จะไม่รวมอยู่ในฐานข้อมูลการทดสอบ
หากสถานการณ์ใดสถานการณ์หนึ่งเกิดขึ้นระหว่างการดำเนินการตามภารกิจที่กำหนดเวลาไว้ซึ่งเชื่อมโยงกับฐานข้อมูลของตัวเองเท่านั้นสิ่งนี้จะไม่ส่งผลเชิงลบ แต่บ่อยครั้งงานประจำสามารถบันทึกไฟล์หรือข้อมูลอื่น ๆ ส่งอีเมลและแลกเปลี่ยน ในกรณีนี้อาจมีความสับสนระหว่างผลลัพธ์ของ "งาน" และสำเนา เพื่อป้องกันไม่ให้สิ่งนี้เกิดขึ้นคุณต้องปิด "งาน" ในคอนโซลการจัดการเซิร์ฟเวอร์
งานประจำที่เสร็จสมบูรณ์และไม่เสร็จสมบูรณ์
เมื่อสร้างงานตามกำหนดเวลาสิ่งสำคัญคือต้องตรวจสอบว่างานนั้นสามารถดำเนินการตามกำหนดการได้หรือไม่ สิ่งสำคัญคือต้องทราบว่าโมดูลเซิร์ฟเวอร์ไม่ได้ให้หลายสิ่งที่เป็นไปได้บนไคลเอนต์ นอกจากนี้งานที่เกี่ยวข้องกับสิ่งที่อยู่นอกฐาน - บทบาทสำคัญในเรื่องนี้จะถูกเล่นโดยสิทธิ์ของผู้ใช้ Windows ซึ่งงานนี้กำลังดำเนินการอยู่
ปัจจัยสุดท้ายมีความสำคัญอย่างยิ่งเนื่องจากหากไม่ได้ดำเนินการโมดูลบนเซิร์ฟเวอร์งานนั้นจะไม่สามารถดำเนินการให้เสร็จสมบูรณ์ได้ตามหลักการ ในการตรวจสอบคุณต้องรันหนึ่งงานและประเมินผลลัพธ์
เมื่อทำงานใน 1C มีการดำเนินการตามปกติจำนวนมากที่ต้องเริ่มต้นหรือสร้างขึ้นตามกำหนดเวลาโดยการดำเนินการนี้หรือการกระทำนั้นตัวอย่างเช่นการถือเอกสารหรือดาวน์โหลดข้อมูลไปยัง 1C จากไซต์
ฉันเพิ่งโพสต์บทความ: ถึงเวลาที่จะทำให้สิ่งนี้เป็นอัตโนมัติ:
งานตามกำหนดการและเบื้องหลัง
เครื่องมืองานได้รับการออกแบบมาเพื่อเรียกใช้แอปพลิเคชันหรือฟังก์ชันบางอย่างตามกำหนดเวลาหรือแบบอะซิงโครนัส
กลไกงานแก้งานต่อไปนี้:
- ความสามารถในการกำหนดขั้นตอนประจำในขั้นตอนของการกำหนดค่าระบบ
- การดำเนินการตามกำหนดเวลา
- การเรียกใช้โพรซีเดอร์หรือฟังก์ชันที่กำหนดเป็นแบบอะซิงโครนัสนั่นคือ โดยไม่ต้องรอให้เสร็จสิ้น
- การติดตามความคืบหน้าของงานที่เฉพาะเจาะจงและการรับสถานะความสมบูรณ์ (ค่าที่บ่งบอกถึงความสำเร็จหรือความล้มเหลวของความสำเร็จ)
- รับรายการงานปัจจุบัน
- ความสามารถในการรอให้งานหนึ่งหรือหลายงานเสร็จสิ้น
- การจัดการงาน (ความสามารถในการยกเลิกบล็อกการดำเนินการ ฯลฯ )
เครื่องมืองานประกอบด้วยส่วนประกอบต่อไปนี้:
- ข้อมูลเมตาของงานตามกำหนดเวลา
- งานประจำ;
- งานเบื้องหลัง;
- ตัวกำหนดเวลางาน
& งานเบื้องหลังได้รับการออกแบบมาเพื่อเรียกใช้งานแอปพลิเคชันแบบอะซิงโครนัส งานเบื้องหลังถูกนำไปใช้โดยใช้ภาษาในตัว
งานตามกำหนดการและได้รับการออกแบบมาเพื่อดำเนินการแอปพลิเคชันตามกำหนด งานที่กำหนดเวลาไว้จะถูกเก็บไว้ในฐานข้อมูลและสร้างขึ้นตามข้อมูลเมตาที่กำหนดไว้ในการกำหนดค่า ข้อมูลเมตาของงานที่กำหนดเวลาไว้ประกอบด้วยข้อมูลเช่นชื่อวิธีการใช้งาน ฯลฯ
งานที่จัดกำหนดการมีตารางเวลาที่กำหนดเวลาที่วิธีการที่เกี่ยวข้องกับงานตามกำหนดเวลาควรจะดำเนินการ ตามกฎแล้วจะระบุไว้ในฐานข้อมูล แต่ยังสามารถระบุได้ในขั้นตอนการกำหนดค่า (ตัวอย่างเช่นสำหรับงานตามกำหนดการที่กำหนดไว้ล่วงหน้า)
ตัวกำหนดตารางเวลางานใช้เพื่อกำหนดเวลาการดำเนินงานตามกำหนดการ สำหรับงานที่จัดกำหนดการแต่ละงานตัวกำหนดตารางเวลาจะตรวจสอบเป็นระยะ ๆ ว่าวันที่และเวลาปัจจุบันอยู่ในกำหนดการของงานที่จัดกำหนดการ ถ้าเป็นเช่นนั้นตัวกำหนดตารางเวลาจะกำหนดงานดังกล่าวที่จะดำเนินการ เมื่อต้องการทำสิ่งนี้สำหรับงานที่กำหนดตารางเวลานี้ตัวกำหนดตารางเวลาจะสร้างงานพื้นหลังที่ดำเนินการประมวลผลจริง
ด้วยคำอธิบายฉันคิดว่าเพียงพอแล้ว - มาเริ่มต้นใช้งานกัน:
การสร้างงานตามกำหนดการ
ชื่อวิธีการ - เส้นทางไปยังขั้นตอนที่จะดำเนินการในงานเบื้องหลังตามกำหนดเวลาที่ระบุ ขั้นตอนควรอยู่ในโมดูลทั่วไป ขอแนะนำว่าอย่าใช้โมดูลทั่วไปทั่วไป แต่ให้สร้างขึ้นเอง อย่าลืมว่างานเบื้องหลังทำงานบนเซิร์ฟเวอร์!
การใช้ - สัญลักษณ์ของการใช้งานตามกำหนดเวลา
กำหนดไว้ล่วงหน้า- ระบุว่างานตามกำหนดเวลาถูกกำหนดไว้ล่วงหน้าหรือไม่
หากคุณต้องการให้งานที่กำหนดเวลาไว้ทำงานทันทีหลังจากวางลงในฐานข้อมูลให้ระบุเครื่องหมาย กำหนดไว้ล่วงหน้า... มิฉะนั้นคุณจะต้องใช้การประมวลผล "Job Console" หรือเรียกใช้การเรียกใช้งานโดยใช้โปรแกรม
จำนวนการลองซ้ำในกรณีที่ทำผิดปกติ - กี่ครั้งที่งานพื้นหลังถูกเริ่มต้นใหม่หากเสร็จสิ้นโดยมีข้อผิดพลาด
ลองช่วงเวลาใหม่สำหรับการเลิกจ้างงานที่ผิดปกติ - งานพื้นหลังจะเริ่มต้นใหม่บ่อยเพียงใดหากมีข้อผิดพลาด
ตั้งเวลา
ตารางเวลา เสร็จสิ้นงาน:
ทุกชั่วโมงเพียงวันเดียว | RepeatDays Period \u003d 0, RepeatPeriodD during a Day \u003d 3600 |
ทุกวันวันละครั้ง | RepeatPeriodDays \u003d 1, RepeatPeriodOverDay \u003d 0 |
หนึ่งวันหนึ่งครั้ง | ระยะเวลา RepeatDays \u003d 0 |
วันเว้นวันวันละครั้ง | ทำซ้ำ PeriodDays \u003d 2 |
ทุกวันเวลา 01.00 - 07.00 น | DayRepeat Period \u003d 1RepeatPeriod ระหว่างวัน \u003d 3600 เวลาเริ่มต้น \u003d 01.00 น เวลาสิ้นสุด \u003d 07.00 น |
ทุกวันเสาร์และอาทิตย์เวลา 09.00 น | RepeatDays Period \u003d 1DaysWeeks \u003d 6, 7Start Time \u003d 09.00 น |
ทุกวันหนึ่งสัปดาห์ผ่านไปหนึ่งสัปดาห์ | Recurrence PeriodDays \u003d 1PeriodWeeks \u003d 2 |
เวลา 01.00 น | เวลาเริ่มต้น \u003d 01.00 น |
วันสุดท้ายของทุกเดือนเวลา 09:00 น. | RepeatDays Period \u003d 1DayInMonth \u003d -1Start Time \u003d 09.00 น |
วันที่ 5 ของทุกเดือนเวลา 9.00 น | RepeatDays Period \u003d 1DayInMonth \u003d 5Start Time \u003d 09.00 น |
วันพุธที่สองของทุกเดือนเวลา 09:00 น | ทำซ้ำ PeriodDays \u003d 1DayWeekInMonth \u003d 2DaysWeeks \u003d 3 เวลาเริ่มต้น \u003d 09.00 น |
ข้อมูลจำเพาะของการเรียกใช้งานพื้นหลังในเวอร์ชันไฟล์และไคลเอนต์เซิร์ฟเวอร์
กลไกในการเรียกใช้งานพื้นหลังในไฟล์และเวอร์ชันไคลเอนต์เซิร์ฟเวอร์แตกต่างกัน
ในเวอร์ชันไฟล์ คุณต้องสร้างกระบวนการไคลเอ็นต์เฉพาะที่จะจัดการงานเบื้องหลัง ในการทำเช่นนี้กระบวนการไคลเอ็นต์ต้องเรียกใช้ฟังก์ชันบริบท ExecuteJobProcessingGlobal เป็นระยะ กระบวนการไคลเอ็นต์เพียงหนึ่งกระบวนการต่อ infobase ควรประมวลผลงานเบื้องหลัง (ดังนั้นจึงเรียกฟังก์ชันนี้) หากยังไม่ได้สร้างกระบวนการไคลเอ็นต์สำหรับการประมวลผลงานพื้นหลังเมื่อเข้าถึงโปรแกรมงานโดยใช้โปรแกรมข้อผิดพลาด "Job manager is not active" จะปรากฏขึ้น ไม่แนะนำให้ใช้กระบวนการไคลเอ็นต์ที่กำลังประมวลผลงานพื้นหลังสำหรับฟังก์ชันอื่น ๆ
หลังจากที่กระบวนการไคลเอ็นต์ที่ดำเนินการประมวลผลงานพื้นหลังเริ่มต้นขึ้นกระบวนการไคลเอ็นต์อื่น ๆ จะสามารถเข้าถึงกลไกงานพื้นหลังโดยทางโปรแกรมได้เช่น สามารถเรียกใช้และจัดการงานเบื้องหลัง
ในเวอร์ชันไคลเอนต์เซิร์ฟเวอร์ ในการดำเนินงานเบื้องหลังจะใช้ตัวกำหนดตารางเวลางานซึ่งตั้งอยู่ในตัวจัดการคลัสเตอร์ ตัวกำหนดตารางเวลาสำหรับงานเบื้องหลังที่อยู่ในคิวทั้งหมดได้รับเวิร์กโฟลว์ที่ยุ่งน้อยที่สุดและใช้เพื่อดำเนินการงานเบื้องหลังที่เกี่ยวข้อง เวิร์กโฟลว์จะรันงานและแจ้งผู้จัดตารางเวลาถึงผลลัพธ์ของการดำเนินการ
ในเวอร์ชันไคลเอนต์เซิร์ฟเวอร์สามารถบล็อกการดำเนินงานตามกำหนดการได้ การบล็อกการดำเนินการของงานตามกำหนดเวลาเกิดขึ้นในกรณีต่อไปนี้:
- มีการติดตั้งการบล็อกงานที่กำหนดเวลาไว้อย่างชัดเจนบนฐานข้อมูล สามารถตั้งค่าการล็อกผ่านคอนโซลคลัสเตอร์
- มีการติดตั้งการปิดกั้นการเชื่อมต่อบนฐานข้อมูล สามารถตั้งค่าการล็อกผ่านคอนโซลคลัสเตอร์
- เมธอด SetExclusiveMode () ถูกเรียกจากภาษาฝังตัวด้วยพารามิเตอร์ True
- ในบางกรณี (ตัวอย่างเช่นเมื่ออัปเดตการกำหนดค่าฐานข้อมูล)
การประมวลผลการเปิดตัวและการดูงานตามกำหนดเวลา คุณสามารถดาวน์โหลดได้ที่นี่
อาจเป็นไปได้ว่าโปรแกรมเมอร์ 1C 8.3 ทุกคนไม่ช้าก็เร็วต้องกำหนดค่าการทำงานบางอย่างตามกำหนดเวลา ด้านล่างนี้ฉันจะให้คำอธิบายโดยละเอียดเกี่ยวกับกลไกเหล่านี้ฉันหวังว่านี่จะเป็นข้อมูลที่เป็นประโยชน์สำหรับโปรแกรมเมอร์มือใหม่ 1C สะดวกมากเพราะไม่ต้องการการดำเนินการใด ๆ จากบุคคลงานที่กำหนดเวลาไว้จะถูกกำหนด 1 ครั้งและทำงานตามกำหนดเวลาของคุณ
คุณจะพบคำแนะนำโดยละเอียดเกี่ยวกับตัวอย่างด้านล่าง
งานที่กำหนดเวลาไว้และงานเบื้องหลังใน 1C คืออะไร
- งานตามกำหนดเวลา เป็นกลไกพิเศษ 1C Enterprise 8.3 ที่ออกแบบมาเพื่อดำเนินการเฉพาะตามกำหนดเวลาที่กำหนด
- งานเบื้องหลัง - อ็อบเจ็กต์ที่สร้างขึ้นโดยงานตามกำหนดเวลาซึ่งดำเนินการตามที่ได้รับมอบหมายโดยตรงโดยไม่ต้องมีส่วนร่วมของผู้ใช้หรือโปรแกรมเมอร์ 1C 8.2
กลไกของงานตามกำหนดเวลาและงานเบื้องหลังทำงานในโหมดไคลเอนต์เซิร์ฟเวอร์ของการดำเนินการ (SQL) ด้วยฟังก์ชันการทำงานของ DBMS หากคุณมีฐานข้อมูลไฟล์คุณสามารถกำหนดค่างานได้เช่นกัน แต่จะแตกต่างกันเล็กน้อย
การตั้งค่างานพื้นหลังในโหมดไคลเอนต์เซิร์ฟเวอร์ 1C
ขั้นแรกให้สร้างออบเจ็กต์ข้อมูลเมตาใหม่ - งานที่กำหนดเวลาไว้ ฉันจะเรียกงานของฉันว่า "Currency Currency Loading" พิจารณาจานสีคุณสมบัติของวัตถุการกำหนดค่านี้:
รับ 267 1C วิดีโอสอนฟรี:
- ชื่อวิธีการ - เส้นทางไปยังขั้นตอนที่จะดำเนินการในงานเบื้องหลังตามกำหนดเวลาที่กำหนด ขั้นตอนควรอยู่ในโมดูลทั่วไป ไม่แนะนำให้ใช้แบบมาตรฐาน แต่ให้สร้างขึ้นเอง อย่าลืมว่างานเบื้องหลังทำงานบนเซิร์ฟเวอร์!
- การใช้ - สัญลักษณ์ของการใช้งานตามกำหนดเวลา
- กำหนดไว้ล่วงหน้า - ระบุว่างานตามกำหนดเวลาถูกกำหนดไว้ล่วงหน้าหรือไม่ หากคุณต้องการให้งานที่กำหนดเวลาไว้เริ่มทำงานทันทีหลังจากวางลงในฐานข้อมูลให้ระบุเครื่องหมายนี้ มิฉะนั้นคุณจะต้องใช้การประมวลผล Job Console หรือเรียกใช้การเปิดตัวงานโดยใช้โปรแกรม
- จำนวนการลองซ้ำในกรณีที่ทำผิดปกติ - กี่ครั้งที่งานพื้นหลังถูกเริ่มต้นใหม่หากเสร็จสิ้นโดยมีข้อผิดพลาด
- ลองช่วงเวลาใหม่สำหรับการเลิกจ้างงานที่ผิดปกติ - งานพื้นหลังจะเริ่มทำงานใหม่บ่อยเพียงใดหากมีข้อผิดพลาด
และการตั้งค่าที่น่าสนใจที่สุดคือ ตารางเวลา:
นี่คือช่วงเวลาสำหรับการเริ่มต้นกระบวนการที่ระบุในฟิลด์ "ชื่อวิธีการ" ถูกกำหนดค่า สมมติว่าฉันกำหนดค่า
โปรดทราบ!อย่าลืมปิดการบล็อกของงานตามกำหนดเวลาและงานเบื้องหลังที่ระดับ DBMS!
สิ่งนี้สามารถทำได้ในยูทิลิตี้การดูแลระบบไคลเอนต์เซิร์ฟเวอร์หรือเมื่อสร้างฐานข้อมูลใหม่:
การตั้งค่างานตามกำหนดเวลาในโหมดไฟล์ 1C
ในโหมดไฟล์การตั้งค่างานดังกล่าวค่อนข้างยากกว่า สำหรับงานดังกล่าวต้องเปิดเซสชันแยกต่างหากของโปรแกรม 1C สิ่งนี้มักจะได้รับการจัดการโดยสถาบันของผู้ใช้ "ทางเทคนิค" ซึ่งมีเซสชันทำงานอยู่ตลอดเวลา
ในโหมดไฟล์งานตามกำหนดการจะเริ่มต้นเมื่อเมธอด "RunJobProcessing ()" เริ่มทำงาน
สำหรับผู้ใช้เฉพาะคุณสามารถกำหนดค่าวิธีการนี้ให้ทำงานโดยใช้วิธีอื่น -
ConnectWaitingHandler ( <ИмяПроцедуры>, <Интервал>, <Однократно>).
- ชื่อกระบวนงาน - ชื่อของขั้นตอนที่เชื่อมต่อเป็นตัวจัดการการรอ ชื่อของโพรซีเดอร์ที่เอ็กซ์พอร์ตของโมดูลแอ็พพลิเคชันที่มีการจัดการ (โมดูลแอ็พพลิเคชันทั่วไป) หรือโมดูลที่แชร์ร่วมกัน ขั้นตอนต้องอยู่บนไคลเอนต์.
- ช่วงเวลา - ระยะเวลาระหว่างการดำเนินการในหน่วยวินาที
- ครั้งเดียว - วิธีการทำงานให้เสร็จภายในครั้งเดียวหรือไม่
ConnectWaitingHandler, 3600);
วิดีโอความยาว 2 นาทีแสดงวิธีตั้งค่างานตามกำหนดการในตัวกำหนดค่า 1C:
อาจเป็นประโยชน์ในการอ่าน:
- ทำไมนกพิราบจึงเคาะหน้าต่างตามสัญญาณ;
- โฆษณาโซเชียลที่ทำให้คุณคิดถึงโลกรอบตัวคุณ;
- นิตยสารการท่องเที่ยวและอื่น ๆ;
- ผู้จัดการเงินสด: เครื่องมือจัดการการเงินส่วนบุคคลที่มีประสิทธิภาพผู้จัดการการเงินส่วนบุคคล;
- จากปิรามิดไปจนถึงป่าไม้: ภาพถ่ายที่ลึกลับที่สุดของดาวอังคาร;
- ภาพถ่ายประวัติศาสตร์หายากภาพถ่ายประวัติศาสตร์;
- ร้านค้าส่งสินค้าจีนออนไลน์;
- แฟลชไดรฟ์สวย ๆ ให้เป็นของขวัญ;