งานตามกำหนดการและพื้นหลัง (การสร้างการกำหนดค่าการเปิดตัว) งานที่จัดกำหนดการและพื้นหลัง (การสร้างการกำหนดค่าการเรียกใช้งาน) 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:

 

อาจเป็นประโยชน์ในการอ่าน: