งานประจำ 1s 8.2 ไม่ทำงาน งานประจำและเบื้องหลัง (1Cv8) การสร้างข้อมูลเมตาสำหรับงานประจำ
กลไกงานเป็นหนึ่งในเครื่องมือการดูแลระบบ 1C ประกอบด้วย:
- งานประจำเป็นวัตถุการกำหนดค่าทั่วไปที่จำเป็นในการระบุว่าต้องทำอะไรและความถี่ใด
- และงานพื้นหลังเป็นออบเจ็กต์ภาษาในตัวที่สร้างโดยงานประจำ
คำถาม 09.59 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม สำเนาของงานประจำ:
- สามารถสร้างโดยทางโปรแกรมได้
- สามารถสร้างได้ในรูปแบบของรายการสามารถเข้าถึงได้ผ่านคำสั่งเมนูหลักของโปรแกรม ("การทำงาน/งานประจำ")
- มีเพียงอินสแตนซ์เดียวเท่านั้นที่ถูกสร้างขึ้นเสมอ (เมื่อมีการสร้างออบเจ็กต์การกำหนดค่าที่เกี่ยวข้อง)
- กำหนดเฉพาะในโหมดการกำหนดค่าบนแท็บอื่น ๆ โดยใช้ปุ่ม "องค์ประกอบ"
- คำตอบที่ 1 และ 2 ถูกต้อง
คำถาม 09.60 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม จำนวนงานรูทีนที่ทำงานพร้อมกันสามารถเป็นได้:
- ใครก็ได้โดยไม่มีข้อจำกัด
- หมายเลขใดๆ ก็ตาม แต่สองงานที่มีคีย์และชื่อเมธอดเดียวกันจะไม่ถูกดำเนินการ
- ปริมาณใดๆ ก็ตาม แต่งานสองงานที่มีคีย์และชื่อเดียวกันจะไม่ถูกดำเนินการ
- ตัวเลขใดๆ ก็ได้ แต่จะไม่ดำเนินการสองงานด้วยคีย์เดียวกันและเชื่อมโยงกับออบเจ็กต์ข้อมูลเมตาเดียวกัน
คำถาม 09.62 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม ในฐานะที่เป็นวิธีการมอบหมายงานประจำ สามารถใช้ขั้นตอนต่อไปนี้ได้:
- ไม่ควรมีพารามิเตอร์
- สามารถมีได้เพียงพารามิเตอร์เดียวเท่านั้น (รายการค่า)
- สามารถมีได้เพียงพารามิเตอร์เดียวเท่านั้น (โครงสร้าง)
- สามารถมีได้เพียงพารามิเตอร์เดียวเท่านั้น (อาร์เรย์)
- สามารถมีพารามิเตอร์จำนวนเท่าใดก็ได้
คำถาม 09.63 ของการสอบ 1C: Platform Professional ในการสร้างงานประจำ ผู้ใช้จะต้องมี:
- สิทธิ์ของผู้ดูแลระบบ
- สิทธิในการใช้ ของวัตถุชิ้นนี้การกำหนดค่า (กำหนดได้ในบทบาท)
- สิทธิ์ในการสร้างอินสแตนซ์ใหม่ของออบเจ็กต์การกำหนดค่านี้ (กำหนดค่าได้ในบทบาท)
- สิทธิ์ใด ๆ วิธีการงานประจำจะถูกดำเนินการในโหมดสิทธิพิเศษ
คำถาม 09.64 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม หากมีการกำหนดงานประจำในตัวกำหนดค่า (ในออบเจ็กต์การกำหนดค่าที่เกี่ยวข้อง) ตามที่กำหนดไว้ล่วงหน้า ก็เป็นเรื่องปกติสำหรับงานนั้น (เลือกคำตอบที่สมบูรณ์ที่สุด):
- เป็นไปไม่ได้ที่จะสร้างอินสแตนซ์ที่ไม่ได้กำหนดไว้ล่วงหน้าของงานรูทีนโดยเชื่อมโยงกับออบเจ็กต์ข้อมูลเมตาของงานรูทีนที่กำหนดไว้ล่วงหน้า
- อินสแตนซ์ที่กำหนดไว้ล่วงหน้าของงานที่กำหนดเวลาไว้ไม่สามารถทำเครื่องหมายเพื่อลบและลบได้
- เฉพาะอินสแตนซ์ของงานประจำที่กำหนดไว้ล่วงหน้าเท่านั้นที่จะถูกเก็บไว้ในฐานข้อมูล อินสแตนซ์ที่ไม่ได้กำหนดไว้ล่วงหน้าเป็นอ็อบเจ็กต์เซสชันและไม่ได้จัดเก็บไว้ในฐานข้อมูล
- คำตอบที่ 1 และ 2 ถูกต้อง
- คำตอบที่ 2 และ 3 ถูกต้อง
- คำตอบที่ถูกต้อง 1, 2, 3
คำถาม 09.67 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม หากใช้ฟังก์ชันเป็นวิธีงานประจำ ดังนั้น:
- ค่าที่ส่งคืนของฟังก์ชันจะถูกละเว้น
- มีข้อผิดพลาดเกิดขึ้นเมื่อพยายามดำเนินงาน
- ระบบจะรอการดำเนินการของงานนี้ (การดำเนินการจะไม่เกิดขึ้นแบบอะซิงโครนัส)
- ค่าจะถูกส่งกลับไปยังพารามิเตอร์ที่เกี่ยวข้องของงานที่กำหนดเวลาไว้
คำถาม 09.61 ของการสอบ 1C: Platform Professional งานประจำและงานเบื้องหลังจะเกี่ยวข้องกันได้อย่างไร?
- งานที่กำหนดเวลาไว้สามารถสร้างงานเบื้องหลังได้
- งานประจำจำเป็นต้องสร้างงานเบื้องหลัง
- งานเบื้องหลังจำเป็นต้องสร้างงานที่กำหนดเวลาไว้
- ไม่มีการเชื่อมต่อ
คำถาม 09.65 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม เพื่อให้มั่นใจถึงการดำเนินงานของงานประจำและงานเบื้องหลัง คุณต้อง:
- ความพร้อมใช้งานของ 1C:Enterprise เปิดตัวด้วยการตั้งค่าสถานะ "Scheduler" เมื่อเริ่มต้น
- ความพร้อมใช้งานของ 1C: การเปิดตัว Enterprise ด้วยวิธีระบบที่เกี่ยวข้องซึ่งดำเนินการเป็นระยะ
- การมีอยู่ของการเปิดตัว 1C: Enterprise ด้วยวิธีการของระบบที่เกี่ยวข้องซึ่งดำเนินการเป็นระยะ ๆ (แต่เฉพาะในเวอร์ชันไฟล์ของการดำเนินการระบบ)
- ในทั้งเวอร์ชันไฟล์และไคลเอ็นต์-เซิร์ฟเวอร์ ไม่จำเป็นต้องเปิดใช้อินสแตนซ์ 1C:Enterprise
ตามคำตอบ คำตอบที่ถูกต้องคือที่สี่
คำถาม 09.57 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม งานพื้นหลังช่วยให้คุณ:
- ดำเนินการตามขั้นตอนตามกำหนดเวลา
- ดำเนินการตามขั้นตอนแบบอะซิงโครนัส
- รีสตาร์ทในกรณีที่มีการยุติที่ผิดปกติ
- คำตอบที่ 1 และ 2 ถูกต้อง
- คำตอบที่ 2 และ 3 ถูกต้อง
- คำตอบที่ถูกต้อง 1, 2, 3
คำถาม 09.58 ของการสอบ 1C: ผู้เชี่ยวชาญด้านแพลตฟอร์ม จำนวนงานพื้นหลังที่ทำงานพร้อมกันอาจเป็น:
- ใครก็ได้โดยไม่มีข้อจำกัด
- เพียงหนึ่งงานต่อฐานข้อมูล
- เพียงหนึ่งงานต่อเซสชันผู้ใช้
- ตัวเลขใดๆ ก็ได้ แต่คุณไม่สามารถรันสองงานด้วยชื่อคีย์และเมธอดเดียวกันได้
- ปริมาณเท่าใดก็ได้ แต่คุณไม่สามารถรันสองงานด้วยคีย์และชื่อเดียวกันได้
- ตัวเลขใดๆ ก็ได้ แต่คุณไม่สามารถรันสองงานด้วยคีย์เดียวกันและเชื่อมโยงกับออบเจ็กต์ข้อมูลเมตาเดียวกันได้
คำถาม 09.66 ของการสอบ 1C: Platform Professional งานพื้นหลังที่เสร็จสมบูรณ์:
- บันทึกไว้ในฐานข้อมูล
- เป็นวัตถุเซสชันที่เก็บไว้เป็นระยะเวลาหนึ่ง (ไม่ได้บันทึกไว้ในฐานข้อมูล)
- จะไม่ถูกจัดเก็บในรูปแบบใดๆ
การจัดการงานประจำของฐานข้อมูล 1C จากตัวอัพเดต
2018-11-20T15:18:30+00:00ในบันทึกนี้ เราจะพูดถึงความสามารถของตัวอัปเดตในการจัดการงานประจำในฐานข้อมูล
ก่อนอื่น ในรายการ "เพิ่มเติม" -> "จัดการงานประจำ...":
ในเมนูบริบทของฐานข้อมูลที่เลือก (หรือกลุ่มฐานข้อมูล):
และสุดท้ายในเทมเพลตสำหรับสคริปต์แบบแบตช์ (ซึ่งช่วยให้คุณสามารถดำเนินการกับงานประจำจากสคริปต์ตามกำหนดเวลา):
นี่คือลักษณะกล่องโต้ตอบสำหรับจัดการงานประจำในฐานข้อมูล:
มันช่วยแก้ปัญหาอะไรได้บ้าง กลุ่มที่ถูกต้องฐาน (หรือฐานเดียว)?
การเลือกงานประจำ
โปรดทราบว่าคุณสามารถเลือกรายการงานประจำในการดำเนินการหลายอย่างด้านล่าง:
แต่ในกล่องโต้ตอบการเลือกอาจไม่มีงานประจำสำหรับฐานข้อมูลของคุณโดยเฉพาะ:
ในกรณีนี้ คุณสามารถระบุชื่อของงานที่กำหนดเวลาไว้ที่คุณต้องการได้ในส่วน "งานของคุณ..." เช่นนี้
ชื่อสำหรับงานประจำดังกล่าวสามารถนำมาจากรายงานงานประจำทั้งหมดได้โดยตรง (จะมีการกล่าวถึงในส่วนนี้)
แสดงสถานะปัจจุบันของงาน
ในการดำเนินการนี้ ไปที่แท็บ "ถอนเงิน" และคลิกปุ่ม "ถอนเงิน...":
ในผลลัพธ์เราจะเห็น:
- การเปิดตัวงานที่กำหนดเวลาไว้ใหม่บนเซิร์ฟเวอร์ 1C ถูกเปิดหรือปิดใช้งาน
- รายการงานประจำในฐานข้อมูล
- กำหนดการของพวกเขา
- งานถูกเปิดใช้งานหรือปิดใช้งาน
- หากการทำงานครั้งล่าสุดมีข้อผิดพลาด ข้อผิดพลาดนี้จะแสดงเป็นสีแดงถัดจากงาน
หากจำเป็น ในการตั้งค่าคุณลักษณะ เราสามารถจำกัดรายการงานที่กำหนดเวลาไว้ได้ และยังแสดงเฉพาะงานที่เปิดใช้งานเท่านั้น:
ปิดงานทั้งหมดหรือบางส่วน
โดยไปที่แท็บ "ปิด":
สำหรับงานตามกำหนดเวลาทั้งหมดหรือที่เลือกไว้ ช่องทำเครื่องหมาย "ใช้" จะถูกล้าง
นี่คือผลลัพธ์สำหรับหนึ่งฐาน (คลิกเพื่อขยาย)
รวมงานทั้งหมดหรือบางส่วน
โดยไปที่แท็บ "เปิดใช้งาน":
สำหรับงานตามกำหนดเวลาทั้งหมดหรือที่เลือกไว้ ช่องทำเครื่องหมาย "ใช้" จะถูกเลือก
โปรดทราบว่าธง "Make" มีอยู่ในแท็บนี้ สำเนาสำรองฐาน" ที่มุมซ้ายล่าง
นี่คือผลลัพธ์สำหรับหนึ่งฐาน (คลิกเพื่อขยาย)
เราจัดการการเปิดตัวงานที่กำหนดเวลาไว้บนเซิร์ฟเวอร์ 1C
โดยไปที่แท็บ "เซิร์ฟเวอร์ 1C":
เลือก "บล็อก" หรือ "เลิกบล็อก" แล้วคลิกปุ่ม "เรียกใช้"
การตั้งค่าตารางงาน
แต่จะเป็นอย่างไรหากเราต้องจัดตารางเวลาในการเริ่มงาน (หรือกลุ่มงาน) ในฐานข้อมูลจำนวนมากพร้อมกัน
โดยไปที่แท็บ "ตั้งค่ากำหนดการ":
เราตั้งค่ากำหนดการ (บทสนทนาและความสามารถของมันตรงกับกำหนดการมาตรฐานใน 1C อย่างสมบูรณ์) และคลิก "ปรับแต่ง..."
เราเปิดตัวงานเพื่อดำเนินการ
โดยไปที่แท็บ "เรียกใช้":
เลือกงานที่ต้องการแล้วคลิกปุ่ม "เรียกใช้":
บันทึกการตั้งค่างานลงในไฟล์ภายนอก
สมมติว่าเราได้กำหนดค่างานประจำไว้ในฐานข้อมูลใดฐานข้อมูลหนึ่งอย่างเหมาะสมแล้ว และต้องการถ่ายโอนการตั้งค่าเหล่านี้ไปยังฐานข้อมูลอื่นทั้งหมด
ในการดำเนินการนี้ ขั้นแรกเราจะอัปโหลดการตั้งค่างานทั้งหมดในฐานข้อมูลที่เหมาะสมที่สุดไปยังไฟล์ภายนอก:
การคืนค่าการตั้งค่างานจากไฟล์ภายนอก
จากนั้นเราจะโหลดไฟล์นี้พร้อมการตั้งค่างานลงในฐานข้อมูลอื่นทั้งหมด:
โปรดทราบว่าสำหรับงานนี้ (การถ่ายโอนการตั้งค่างานจากฐานข้อมูลหนึ่งไปยังอีกฐานข้อมูลหนึ่ง) ฉันเลือกวิธีการจับคู่ตามชื่องาน ไม่ใช่ตามตัวระบุภายใน
คำพรากจากกัน
โดยทั่วไปนั่นคือทั้งหมดที่ฉันอยากจะบอกคุณ ตัวฉันเองเห็นสถานการณ์ต่างๆ มากมายสำหรับการใช้คุณสมบัติใหม่ แต่ที่นี่ฉันแค่อ่านประเด็นหลักคร่าวๆ เท่านั้น
การทำความสะอาดทะเบียนเป็นระยะ (เช่น ทะเบียนข้อมูล "เวอร์ชันของวัตถุ" ในการกำหนดค่า SCP) ดำเนินการคำนวณตามกำหนดการ จัดทำเอกสารให้ครบถ้วน เวลาที่แน่นอน- ไม่ไกล รายการทั้งหมดการดำเนินการที่สามารถดำเนินการได้โดยใช้งานด้านกฎระเบียบ 1C
สร้างงาน
เราไม่ได้ตั้งใจที่จะอธิบายโค้ดของโมดูลปฏิบัติการ แต่เราจะแสดง หลักการทั่วไปการทำงานและการสร้างงานด้านกฎระเบียบ
งานประจำไม่สามารถถูกแทนที่ได้:
- หากงานที่ทำอยู่รวมถึงความจำเป็นในการดำเนินการอัลกอริธึมบางอย่างเป็นระยะ ๆ ตามเงื่อนไขข้อใดข้อหนึ่ง
- หากต้องดำเนินการรหัสโดยไม่คำนึงถึงการกระทำของผู้ปฏิบัติงานและผู้ใช้ฐานข้อมูล
- หากการเรียกใช้โพรซีเดอร์ปฏิบัติการไม่ได้ขึ้นอยู่กับเหตุการณ์ภายนอกที่เกิดขึ้นกับออบเจ็กต์ฐานข้อมูล
หากต้องการสร้างคุณต้องไปที่ฐานข้อมูลในโหมด "Configurator" จากนั้นค้นหาสาขา "งานประจำ" ในแผนผังการกำหนดค่าซึ่งอยู่ที่แท็บ "ทั่วไป" และคลิกปุ่ม "เพิ่ม" (รูปที่ 1)
มาดูหน้าต่างคุณสมบัติของมันกันดีกว่า (รูปที่ 2):
รูปที่ 2
- ชื่อ คำพ้องความหมาย และความคิดเห็น - กฎและหลักการในการกรอกข้อมูลในฟิลด์เหล่านี้จะคล้ายกันสำหรับออบเจ็กต์การกำหนดค่าทั้งหมด และไม่จำเป็นต้องอธิบายอีกครั้ง
- ชื่อวิธีการ – ขั้นตอนของโมดูลทั่วไปที่อธิบายอัลกอริทึมที่ต้องการอย่างถูกต้องที่สุด (การคลิกที่ปุ่มเลือกจะเปิดขั้นตอนที่มีอยู่ ซึ่งการแสดงประกอบด้วยชื่อของโมดูลทั่วไปและชื่อของขั้นตอนในคอลัมน์ต่างๆ ของโต๊ะ);
- คีย์ - กำหนดความเป็นเอกลักษณ์ของงานที่กำหนดเวลาไว้ไม่มากนัก แต่กำหนดความเป็นเอกลักษณ์ของกระบวนการพื้นหลังที่เปิดใช้ตามงาน มีการจำกัดความยาว
- กำหนดการ – เราจะอุทิศย่อหน้าแยกต่างหากของบทความของเราเพื่ออธิบายองค์ประกอบนี้
- การใช้งาน – การทำเครื่องหมายที่ช่องนี้จะกำหนดกิจกรรมของงาน TRUE หมายความว่างานจะเริ่มและดำเนินการตามกำหนดเวลา
- กำหนดไว้ล่วงหน้า - หากองค์ประกอบมีช่องทำเครื่องหมายนี้ งานเหล่านี้จะไม่สามารถลบได้ งานเหล่านี้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อมีการบันทึกการกำหนดค่าลงในฐานข้อมูล
- จำนวนการทำซ้ำ - หากมีข้อยกเว้นเกิดขึ้นระหว่างการดำเนินการ จะมีการรีสตาร์ท เพื่อไม่ให้เกิดการวนซ้ำไม่รู้จบ โปรแกรมจะจำกัดจำนวนการรีสตาร์ท
- ช่วงเวลาลองใหม่ - เวลาเป็นวินาทีระหว่างการรีสตาร์ทงานที่เสร็จสมบูรณ์อย่างผิดปกติ
มาดูกำหนดการกันดีกว่า
กำหนดการงานประจำ
รูปที่ 3
ก่อนอื่นคุณควรใส่ใจกับ ส่วนล่าง windows นั่นคือที่ที่มันแสดง รายละเอียดข้อมูลโดยแจกแจงความถี่และเวลาที่จะดำเนินการ
แท็บ "ทั่วไป":
- วันที่เริ่มงาน;
- วันที่สิ้นสุดการประมวลผล
- ความถี่ของการทำซ้ำงาน
หากไม่มีการระบุวันที่บนแท็บนี้ จะไม่มีการกำหนดกำหนดเวลาสำหรับงาน
แท็บ “รายวัน” (รูปที่ 4)
รูปที่ 4
นอกเหนือจากช่องป้อนข้อมูลสำหรับเวลาเริ่มต้นและสิ้นสุดของงานและความถี่ของการเปิดตัวในระหว่างวันแล้ว ยังมีอีกด้วย ส่วนที่เป็นตารางสำหรับ การตั้งค่าโดยละเอียดความถี่ของการดำเนินการ
แท็บ "รายวัน" และ "รายสัปดาห์" มีข้อมูลสำหรับช่วงเวลาที่เกี่ยวข้อง
คุณสมบัติของการดำเนินงาน
ในการทำงานเวอร์ชันไคลเอ็นต์-เซิร์ฟเวอร์ การดำเนินงานของงานรูทีนจะถูกกำหนดโดยเครื่องมือเซิร์ฟเวอร์ จากคอนโซลการดูแลระบบ คุณสามารถเปิดหรือปิดใช้งานความสามารถในการรันงานสำหรับฐานข้อมูลเฉพาะได้
สถานการณ์มีความซับซ้อนมากขึ้นกับเวอร์ชันไฟล์ของงาน ก่อนการเปิดตัวแพลตฟอร์มบางรุ่น ขั้นตอนเบื้องหลังและขั้นตอนประจำจะถูกดำเนินการเฉพาะเมื่อมีการเปิดใช้งานเมธอด ExecuteTaskProcessing() เมื่อระบบเริ่มทำงานภายใต้ผู้ใช้บางรายเท่านั้น ในกรณีนี้ อัลกอริธึมจะเปิดตัวเป็นระยะๆ ตราบเท่าที่ผู้ใช้ที่เริ่มวิธีการนั้นอยู่ในโปรแกรม
ปัจจุบันงานของงานพื้นหลังในเวอร์ชันไฟล์ของงานมีการกระจายอย่างเท่าเทียมกันระหว่างผู้ใช้ที่ได้รับอนุญาตในฐานข้อมูล หากโปรแกรมเปิดตัวด้วยพารามิเตอร์เพิ่มเติม AllowExecuteSheduledJobs กระบวนการนี้จะต้องรับผิดชอบในการบำรุงรักษาตามปกติ
คุณสามารถปิดการใช้งานพื้นหลังและงานประจำในฐานข้อมูลที่ทำงานในโหมดไฟล์ได้อย่างสมบูรณ์โดยการลบหรือเปลี่ยนชื่อไฟล์ DoNotCopy.txt ในโฟลเดอร์ที่มีฐานข้อมูล การมีอยู่ของไฟล์นี้จะบอกแพลตฟอร์มว่างานกำลังดำเนินการในต้นฉบับ และไม่ได้อยู่ในสำเนาของฐานข้อมูล
นอกจากนี้ ในการส่งมอบ 1C มาตรฐาน ยังเป็นไปได้ที่จะจัดการงานที่กำหนดเวลาไว้ได้โดยตรงจากโปรแกรม โดยไม่ต้องไปที่ "Configurator" ในการกำหนดค่า “ZUP” เวอร์ชัน 3.1.3.223 คุณสามารถเปิดแบบฟอร์มการจัดการได้จากเมนู การดูแลระบบ -> การบำรุงรักษา -> การดำเนินงานประจำ -> งานประจำและพื้นหลัง (รูปที่ 5)
รูปที่ 5
แบบฟอร์มที่เปิดขึ้นมีอินเทอร์เฟซที่ใช้งานง่ายและช่วยให้คุณ:
คุณยังสามารถเริ่มงานได้โดยตรงจากแบบฟอร์ม
การสร้างงานประจำ
มาสร้างงานประจำ “ดำเนินการประมวลผล” กันดีกว่า
มาปิดการใช้งานงานที่กำหนดเวลาไว้เพื่อที่เมื่ออัปเดตการกำหนดค่าจะไม่ทำงานโดยอัตโนมัติ
มากำหนดขั้นตอนที่จะถูกทริกเกอร์เมื่อมีการเปิดตัวงานประจำ:โมดูลของ RoutineTasks.RoutineTaskExecutionProcessing.
ขั้นตอนนั้นดูเหมือนว่า:
ขั้นตอนการส่งออก RoutineTaskExecutionProcessing (คีย์)
พารามิเตอร์ของ RoutineTasks.PerformProcessingWithParameters (คีย์);
สิ้นสุดขั้นตอน
เราสร้างหนังสืออ้างอิงสำหรับงานประจำ
งานประจำของเราสามารถสร้างกระบวนการเบื้องหลังได้มากมาย - หนึ่งกระบวนการสำหรับการประมวลผลแต่ละครั้ง แต่ละงานในแพลตฟอร์ม 1C8 มีกุญแจ แต่วิธีงานที่กำหนดเวลาไว้จะไม่ทราบคีย์งานพื้นหลัง ดังนั้นคุณจึงจำเป็นต้องใช้พารามิเตอร์งานพื้นหลัง ด้วยเหตุนี้ เราจึงสามารถดูงานพื้นหลังในคอนโซลงานได้ แต่เราไม่สามารถสร้างงานพื้นหลังจากคอนโซลนี้ได้ด้วยตนเอง เนื่องจาก งานที่มีพารามิเตอร์จะไม่ถูกสร้างด้วยตนเอง
หนังสืออ้างอิง “พารามิเตอร์ของงานที่กำหนดเวลาไว้” :
ข้อกำหนด :
· รหัสก่อนเปิดตัว- สตริงไม่จำกัด - โค้ดในภาษา 1C ที่ต้องดำเนินการก่อนเปิดตัว
· กำลังประมวลผลจากการกำหนดค่า - บรรทัด (100) - ตัวระบุการประมวลผลจากการกำหนดค่า
· กำลังประมวลผลจากไดเร็กทอรี - บรรทัด (100) - ลิงก์ไปยังองค์ประกอบไดเร็กทอรี "การประมวลผลภายนอก" หากมีอยู่ในการกำหนดค่า
· ดำเนินการผ่านแอปพลิเคชัน 1C - บูลีน - แอปพลิเคชัน 1C แยกต่างหากจะถูกสร้างขึ้นและงานประจำจะเปิดตัวในนั้น สร้างขึ้นสำหรับ 8.1 โดยที่วิธีการสมัครบางวิธีอาจไม่พร้อมใช้งานบนเซิร์ฟเวอร์ที่งานตามกำหนดการกำลังทำงานอยู่
· เปิดตัวรหัส- - รหัสไม่จำกัดบรรทัดในภาษา 1C ที่จะดำเนินการเมื่อมีการเปิดตัวงานที่กำหนดเวลาไว้
มาสร้างรูปร่างขององค์ประกอบกัน :
โดยคลิกที่ “สร้าง Reg. งาน" งานประจำที่มีรหัสคีย์ถูกสร้างขึ้นโดยทางโปรแกรม:
ขั้นตอน BasicActionsFormCreateReglTask (ปุ่ม)
งานตัวแปร
คีย์ = AbbrLP (รหัส);
งาน = RoutineTasks.CreateRoutineTask ("PerformProcessing");
Task.Name = คีย์;
Task.Key = คีย์;
พารามิเตอร์ = อาร์เรย์ใหม่ ();
พารามิเตอร์เพิ่ม (คีย์);
Task.Parameters = พารามิเตอร์;
งาน.เขียน();
สิ้นสุดขั้นตอน
กำลังเริ่มงานที่กำหนดเวลาไว้
งานประจำแต่ละงานที่เราสร้างมีคีย์:
คีย์นี้สอดคล้องกับรหัสในไดเร็กทอรี "พารามิเตอร์ของงานประจำ" ซึ่งใช้เพื่อค้นหาเมื่อเริ่มงาน หากไม่พบรายการไดเร็กทอรี งานจะไม่ถูกดำเนินการ
ต่อไปถ้าได้รับรหัสแล้วรหัสก่อนเปิดตัวจากนั้นโค้ดนี้จะถูกดำเนินการ ต่อไปถ้าเป็นตัวแปร เติมเต็มประเมินเป็นเท็จ งานจะไม่เสร็จสมบูรณ์ มีตัวแปรสำหรับการวิเคราะห์ ตัวเลือกโดยที่ลิงก์ไปยังองค์ประกอบไดเร็กทอรีที่พบ "พารามิเตอร์ของงานประจำ" จะถูกจัดเก็บไว้
ขึ้นอยู่กับค่าที่เลือกของรายละเอียด รหัสในภาษา 1C จะทำงานหรือการประมวลผลจากการกำหนดค่าจะเริ่มขึ้น หรือการประมวลผลจากหนังสืออ้างอิง "การประมวลผลภายนอก" มาตรฐานจะเริ่มขึ้น
สำหรับ 1C81 การดำเนินการจะมีให้ในแอปพลิเคชันใหม่ เพื่อให้คุณสามารถใช้โค้ดที่มีเฉพาะบนไคลเอนต์เท่านั้น รวมถึงการใช้งาน การรักษาภายนอก. ในการดำเนินการนี้ คุณต้องทำเครื่องหมายที่ช่อง "เรียกใช้ผ่านแอปพลิเคชัน 1C" มิฉะนั้น งานที่กำหนดเวลาไว้จะถูกดำเนินการบนเซิร์ฟเวอร์
ฉันแนะนำให้ตั้งค่าผู้ใช้ในช่อง "ผู้ใช้" สำหรับงานประจำที่สร้างขึ้นใหม่ เพื่อให้งานได้รับการดำเนินการภายใต้สิทธิ์บางประการ ฉันแนะนำให้ให้สิทธิ์แก่ผู้ใช้ดังกล่าวอย่างเต็มที่ ฉันใช้ผู้ใช้ "หุ่นยนต์».
กำหนดการงานประจำถูกสร้างขึ้นโดยใช้ไฮเปอร์ลิงก์ "กำหนดการ" จากแบบฟอร์มงานประจำ คุณสามารถใช้การประมวลผล "คอนโซลงานประจำ"
งานบางอย่างในการจัดการเอกสารและการบัญชีอาจจำเป็นต้องดำเนินการเป็นระยะ ตัวอย่างเช่นในวันที่ยี่สิบ หรือรายวัน
โดยทั่วไป บริษัทจะพยายามสร้างกฎสำหรับการปฏิบัติงานดังกล่าว ใคร เมื่อไร และอย่างไรควรทำงานให้เสร็จสิ้น ใครควรควบคุมงานดังกล่าว
งานดังกล่าวเรียกว่าการควบคุมซึ่งก็คือดำเนินการตามข้อบังคับ
ในด้านไอที การตรวจสอบมักดำเนินการในลักษณะที่ได้รับการควบคุม
มันคุ้นเคย ผู้ดูแลระบบ- มี โปรแกรมพิเศษซึ่งจะตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์และโครงสร้างพื้นฐานเครือข่ายเป็นระยะๆ และรายงาน SMS หรือ โดยอีเมลผู้ดูแลระบบ
มีสิ่งที่คล้ายกันสำหรับผู้ดูแลเว็บ - เพื่อตรวจสอบความพร้อมใช้งานของเว็บไซต์ในระหว่างวัน
ใน 1C งานการตรวจสอบและงานเป็นระยะอื่น ๆ ที่ควรดำเนินการโดยอัตโนมัติตามกำหนดเวลาจะดำเนินการโดยใช้กลไกงานที่กำหนดเวลาไว้ของ 1C
วันนี้เราจะมาพูดถึงพวกเขากัน
งานที่กำหนดเวลาไว้ 1C
งานที่กำหนดเวลาไว้ 1C คืองานที่อนุญาตให้คุณดำเนินการตามที่ทำ แต่เป็นไปตามกำหนดเวลา
งานรูทีน 1C ในตัวปรับแต่งเป็นวิธีระบุการตั้งค่าและกำหนดเวลา อย่างไรก็ตาม กำหนดการสามารถเปลี่ยนแปลงได้แบบไดนามิกในภายหลังในโหมด 1C Enterprise
งานพื้นหลังสามารถสร้างได้จากข้อความของโปรแกรมในภาษา 1C โดยพลการโดยไม่ต้องมีงาน 1C ที่กำหนดไว้ - สำหรับการคำนวณแบบขนานบนเซิร์ฟเวอร์
การดำเนินการตามภารกิจ 1C ตามปกติสามารถปิดใช้งานได้ชั่วคราว - เข้า
การเพิ่มงานประจำ 1C
งานประจำ 1C จะอยู่ในการกำหนดค่าในสาขางานทั่วไป/งานประจำ 1C มาเพิ่มงานด้านกฎระเบียบ 1C ใหม่และระบุชื่อ
ในคุณสมบัติของงานรูทีน 1C ชื่อวิธีการจะถูกระบุเช่นเดียวกับใน ฟังก์ชันจะอยู่ในโมดูลทั่วไปโดยทำเครื่องหมายที่ช่องเซิร์ฟเวอร์ในคุณสมบัติ กล่าวคือ ต้องเพิ่มโมดูลล่วงหน้า
คุณสมบัติงานที่กำหนดเวลาไว้ 1C - ชื่องาน - กำหนดชื่อที่งานจะปรากฏในเครื่องมือการจัดการงาน
คุณสมบัติงานประจำ 1C - คีย์ - ช่วยให้คุณสามารถจัดกลุ่มงานประจำ 1C ที่แตกต่างกันได้หลายงาน สามารถเริ่มงานที่มีค่าคีย์เดียวกันได้ครั้งละหนึ่งงานเท่านั้น ค่านั้นสามารถกำหนดเองได้ ค่าว่างจะไม่ถูกนำมาพิจารณาระหว่างการควบคุม (นั่นคือ ถือว่าว่างเปล่า)
คุณสมบัติของงานประจำ 1C - กำหนดไว้ล่วงหน้า - กำหนดว่าเมื่อเปิดตัว 1C Enterprise งานดังกล่าวจะถูกสร้างขึ้นในสำเนาเดียวพร้อมกำหนดเวลาที่ระบุในตัวกำหนดค่า งานที่ไม่ได้กำหนดไว้ล่วงหน้าจะปรากฏโดยทางโปรแกรม ณ เวลาที่กำหนด
ใน การกำหนดค่าทั่วไปตัวอย่างเช่น การบัญชีรุ่น 2.0 งานประจำ 1C เช่นการอัปเดตการกำหนดค่าและการคำนวณผลรวมใหม่ถูกกำหนดไว้ล่วงหน้า แต่เช่นการแลกเปลี่ยนข้อมูลหรือการเคลื่อนไหวที่เลื่อนออกไปไม่ได้ถูกกำหนดไว้ล่วงหน้า
การใช้งาน – เปิดใช้งานงาน (นั่นคือ จะถูกดำเนินการก็ต่อเมื่อมีการเลือกช่องทำเครื่องหมาย การใช้งาน เท่านั้น)
ลองอีกครั้งในการยุติที่ผิดปกติ - ตามที่คุณอาจเดาได้ หมายถึงการเริ่มงานใหม่หากไม่สามารถดำเนินการได้สำเร็จในครั้งแรก - คุณสามารถระบุจำนวนครั้งที่จะรีสตาร์ทและระยะเวลาหลังจากการสิ้นสุดแบบผิดปกติ
การจัดการและการตรวจสอบงานประจำ 1C
ในการจัดการงาน 1C ตามปกติ จะมีคอนโซลงานการประมวลผลมาตรฐานพิเศษ นอกจากนี้ยังสามารถพบได้ที่
การประมวลผลนี้เป็นของสิ่งที่เรียกว่าการประมวลผล 1C มาตรฐานภายนอกสากลซึ่งมักจะไม่รวมอยู่ในการกำหนดค่า แต่จะแจกจ่ายแยกต่างหากเช่นบนดิสก์ ITS
การใช้การประมวลผลคอนโซลงานคุณสามารถ:
- เปิด/ปิดการทำงานของงาน 1C ตามปกติ
- กำหนด/เปลี่ยนแปลงกำหนดการของงาน 1C ที่กำหนดเวลาไว้ (และพารามิเตอร์อื่นๆ)
- ระบุผู้ใช้ 1C ที่จะดำเนินงานประจำ 1C แทน
- ดูว่างานใดเสร็จสมบูรณ์เมื่อใดและด้วยผลลัพธ์ใด ข้อผิดพลาดในการทำงาน 1C ให้เสร็จสิ้น
- ปฏิบัติงาน
สำเนาฐานข้อมูลและงานประจำ 1C
หากคุณใช้เซิร์ฟเวอร์ 1C สถานการณ์ต่อไปนี้จะเกิดขึ้น:
- เพื่อวัตถุประสงค์ของคุณเอง (เช่น สำหรับการเขียนโปรแกรม) จะมีการจัดทำสำเนาฐานข้อมูลการทำงาน
- การทำงาน การทดสอบ ฯลฯ ในสำเนาของฐานข้อมูล
- คุณลืมปิดงาน 1C ประจำในฐานข้อมูลทดสอบดังกล่าว
ในขณะที่งานประจำของ 1C ดำเนินงานที่เกี่ยวข้องกับฐานข้อมูลเท่านั้น แต่ก็ไม่มีอะไรอยู่ในนั้น
อย่างไรก็ตาม งานประจำของ 1C มักจะสามารถบันทึกไฟล์ ข้อมูลใดๆ ไปยังฐานข้อมูลอื่น ทำการแลกเปลี่ยน และส่งอีเมลได้
ในกรณีนี้ คุณอาจได้รับส่วนผสมที่น่าสนใจระหว่างผลลัพธ์ของการปฏิบัติงาน 1C ตามปกติในฐานข้อมูลการทำงานและสำเนา
งานประจำ 1C สำหรับสำเนาของฐานข้อมูลการทำงานจะต้องปิดการใช้งานใน.
การปฏิบัติตามและการไม่ปฏิบัติตามงานด้านกฎระเบียบ 1C
เมื่อสร้างงาน 1C ประจำคุณต้องจำไว้ว่า:
- งานจะดำเนินการด้วยตัวเอง - จำเป็นต้องได้รับการตรวจสอบ
- งานจะดำเนินการในโมดูลบนเซิร์ฟเวอร์
- งานจะดำเนินการภายใต้ผู้ใช้ Windows อื่นโดยมีสิทธิ์ต่างกัน
ขั้นแรก คุณต้องตรวจสอบว่างานกำลังดำเนินการอยู่และสามารถทำให้เสร็จเป็นงาน 1C ประจำได้
ประการที่สอง โมดูลเซิร์ฟเวอร์หมายความว่าหลายสิ่งที่มีอยู่ในไคลเอนต์ไม่พร้อมใช้งาน ตัวอย่างเช่น บางครั้ง เอกสารบางฉบับไม่สามารถโพสต์ได้เฉพาะบนเซิร์ฟเวอร์เท่านั้น เนื่องจากอัลกอริทึมอาจระบุให้ผู้ใช้เริ่มต้นการโพสต์ด้วยตนเอง และฟังก์ชันที่ไม่ใช่เซิร์ฟเวอร์สามารถใช้ได้ เช่น
คำเตือน ("สวัสดี!")
ประการที่สาม หากงานเกี่ยวข้องกับบางสิ่งที่อยู่นอกฐานข้อมูล 1C สิทธิ์ก็มีความสำคัญ ผู้ใช้วินโดวส์ซึ่งงานจะถูกดำเนินการ
ประเด็นที่สามมีความสำคัญอย่างยิ่งในการพัฒนา หากไม่สามารถดำเนินการโมดูลบนเซิร์ฟเวอร์ งานจะไม่ถูกดำเนินการเลย ในการตรวจสอบ คุณต้องรันงานอย่างน้อยหนึ่งครั้งและดูผลลัพธ์ “งานเสร็จสมบูรณ์” ในการประมวลผลคอนโซลงาน