რუტინული და ფონური ამოცანები 1s 8.2. რუტინული და ფონური ამოცანები. ჩართეთ ყველა ან რამდენიმე დავალება


1C Enterprise-ს აქვს რუტინული და ფონური ამოცანები თავის კონფიგურაციებში. ეს სამუშაოები შესრულებულია გრაფიკის მიხედვით, თითოეული სამუშაოს განრიგის გათვალისწინებით. ზოგიერთი დავალება თავდაპირველად შესრულებულია ტაიმერზე გარკვეული წამის შემდეგ, რამაც შეიძლება უარყოფითად იმოქმედოს შესრულებაზე და აშკარად შეაფერხოს საინფორმაციო ბაზაში მუშაობაში.

რუტინული და ფონური ამოცანების რედაქტირებისთვის, ადმინისტრაციის ჩანართში აირჩიეთ „რუტინული და ფონური ამოცანები“ მარცხნივ. გამოჩნდება არსებული ამოცანების სია, მათი სტატუსი, განრიგი და სხვა ინფორმაცია.

რომელიმე დავალებაზე რამდენჯერმე დაწკაპუნებით, გაიხსნება ფანჯარა ამ ამოცანის თვისებებით. აქ შეგიძლიათ შეცვალოთ მრავალი პარამეტრი თქვენი გემოვნებით, მათ შორის ამ ამოცანის განრიგი. ამოცანის გამორთვისთვის, ჩამრთველი უნდა წაიშალოს. მაგრამ თუ დავალება უნდა შესრულდეს გრაფიკით, ძალიან მნიშვნელოვანია გამოიყენოთ ცალკე მომხმარებელი სრული უფლებებით ყველა ფონური ამოცანისთვის.

დავალებების დაგეგმვის პარამეტრები ძალიან მოქნილია, მაგრამ მაინც მიზანშეწონილია ყველა დავალების დაყენება ისე, რომ მხოლოდ 1 დავალება შესრულდეს ერთდროულად და სასურველია არასამუშაო საათებში. ერთადერთი გამონაკლისი შეიძლება იყოს რამდენიმე დაკავშირებული ინფორმაციის მონაცემთა ბაზის სინქრონიზაცია, მაგალითად, საწარმოს აღრიცხვა + სახელფასო და პერსონალის მართვა.

ბანკის კლასიფიკატორის ჩატვირთვა - კვირა, 4:30
ვალუტის კურსების ჩატვირთვა - ყოველდღე; 7:00
ტექსტის ამოღება - ყოველდღე; 6:00.
შეტყობინებების გაცვლა დოკუმენტების მართვის ანგარიშებზე - ყოველდღე; ყოველ 10800 წამში.
ერთეულები ახლდება ყოველდღე; 5:00:00 საათიდან დღეში ერთხელ
ბუღალტერის ამოცანების განახლება - ყოველდღე; 6:30:00 საათიდან დღეში ერთხელ
PPD ინდექსის განახლება (სრული ტექსტის ძიება) - ყოველდღე; ყოველ 10800 წამში.
შენობების აღდგენა - ყოველდღე, კვირის დღეებში [შაბათი]; 3:00:00 საათიდან დღეში ერთხელ
ცვლილებების აკრძალვის ფარდობითი თარიღების მიმდინარე მნიშვნელობების ხელახალი გაანგარიშება - ყოველდღე; 7:00:00 საათიდან დღეში ერთხელ
PPD ინდექსის შერწყმა (სრული ტექსტის ძიება) - ყოველდღე; 4:00:00 საათიდან დღეში ერთხელ
არარელევანტური სინქრონიზაციის ინფორმაციის ამოღება - ყოველდღე; 3:30:00 საათიდან დღეში ერთხელ
გამოთვლილი ჯამების პერიოდის დადგენა - ყოველ დღე, თვის 5 რიცხვში; 1:00:00 საათიდან დღეში ერთხელ

1C-ში მუშაობისას არის მრავალი რუტინული ოპერაცია, რომელიც უნდა დაიწყოს ან ჩამოყალიბდეს გრაფიკის მიხედვით, რათა შესრულდეს ერთი ან სხვა მოქმედება, მაგალითად: დოკუმენტების განთავსება ან მონაცემების ჩატვირთვა 1C-ში ვებგვერდიდან.

მე ახლახან გამოვაქვეყნე სტატია: დროა ამის ავტომატიზაცია:

რუტინული და ფონური ამოცანები

სამუშაო ძრავა შექმნილია ნებისმიერი აპლიკაციის ან ფუნქციის შესასრულებლად გრაფიკით ან ასინქრონულად.

დავალების მექანიზმი წყვეტს შემდეგ პრობლემებს:

  • სისტემის კონფიგურაციის ეტაპზე მარეგულირებელი პროცედურების განსაზღვრის უნარი;
  • განსაზღვრული მოქმედებების შესრულება გრაფიკის მიხედვით;
  • მოცემულ პროცედურაზე დარეკვა ან ასინქრონულად ფუნქციონირება, ე.ი. მისი დასრულების მოლოდინის გარეშე;
  • კონკრეტული დავალების პროგრესის თვალყურის დევნება და მისი დასრულების სტატუსის მიღება (მნიშვნელობა, რომელიც მიუთითებს წარმატებული იყო თუ არა);
  • მიმდინარე ამოცანების სიის მიღება;
  • ერთი ან მეტი დავალების დასრულებამდე ლოდინის შესაძლებლობა;
  • სამუშაოს მართვა (გაუქმების შესაძლებლობა, შესრულების დაბლოკვა და ა.შ.).

სამუშაო მექანიზმი შედგება შემდეგი კომპონენტებისგან:

  • რუტინული ამოცანების მეტამონაცემები;
  • რეგულარული დავალებები;
  • ფონური სამუშაოები;
  • დავალების განრიგი.

ფონური სამუშაოები და შექმნილია აპლიკაციის ამოცანების ასინქრონულად შესასრულებლად. ფონის დავალებები ხორციელდება ჩაშენებული ენის გამოყენებით.

დაგეგმილი ამოცანები და შექმნილია აპლიკაციის ამოცანების განრიგში შესასრულებლად. რუტინული ამოცანები ინახება საინფორმაციო ბაზაში და იქმნება კონფიგურაციაში განსაზღვრული მეტამონაცემების საფუძველზე. მარეგულირებელი ამოცანის მეტამონაცემები შეიცავს ინფორმაციას, როგორიცაა სახელი, მეთოდი, გამოყენება და ა.შ.

რუტინულ დავალებას აქვს განრიგი, რომელიც განსაზღვრავს, რა დროს უნდა შესრულდეს რუტინულ ამოცანასთან დაკავშირებული მეთოდი. განრიგი, როგორც წესი, მითითებულია საინფორმაციო ბაზაში, მაგრამ ასევე შეიძლება დაზუსტდეს კონფიგურაციის ეტაპზე (მაგალითად, წინასწარ განსაზღვრული რუტინული ამოცანებისთვის).

დავალების გრაფიკი გამოიყენება რუტინული ამოცანების შესრულების დასაგეგმად. თითოეული დაგეგმილი სამუშაოსთვის, დამგეგმავი პერიოდულად ამოწმებს, შეესაბამება თუ არა მიმდინარე თარიღი და დრო დაგეგმილი სამუშაოს გრაფიკს. თუ ის ემთხვევა, განრიგი ანიჭებს ამ ამოცანას შესრულებას. ამისათვის, ამ დაგეგმილი ამოცანისთვის, დამგეგმავი ქმნის ფონის დავალებას, რომელიც ასრულებს რეალურ დამუშავებას.

ვფიქრობ, ეს საკმარისია აღწერილობით - მოდით გადავიდეთ განხორციელებაზე:

რუტინული დავალების შექმნა

მეთოდის სახელი– გზა პროცედურისკენ, რომელიც შესრულდება ფონურ სამუშაოში მოცემული გრაფიკის მიხედვით. პროცედურა უნდა იყოს საერთო მოდულში. რეკომენდებულია არა სტანდარტული საერთო მოდულების გამოყენება, არამედ საკუთარის შექმნა. არ დაგავიწყდეთ, რომ ფონური სამუშაოები მუშაობს სერვერზე!

გამოყენება- რუტინული დავალების გამოყენების ნიშანი.

წინასწარ განსაზღვრული– მიუთითებს წინასწარ განსაზღვრული თუ არა რუტინული დავალება.

თუ გსურთ, რომ რუტინულმა დავალებამ იმუშაოს მონაცემთა ბაზაში მოთავსებისთანავე, მიუთითეთ ატრიბუტი წინასწარ განსაზღვრული. წინააღმდეგ შემთხვევაში, თქვენ უნდა გამოიყენოთ „სამუშაო კონსოლის“ დამუშავება ან ამოცანის პროგრამულად გაშვება.

განმეორებითი ცდების რაოდენობა, როდესაც სამუშაო არანორმალურად წყდება– რამდენჯერ გადაიტვირთა ფონური სამუშაო, თუ ის შესრულდა შეცდომით.

ხელახლა სცადეთ ინტერვალი, როდესაც სამუშაო არანორმალურად წყდება– რამდენად ხშირად გადაიტვირთება ფონური სამუშაო, თუ ის დასრულებულია შეცდომით.

განრიგის დადგენა

განრიგიდავალების შესრულება:

ყოველ საათში, მხოლოდ ერთ დღესგამეორების დღეების პერიოდი = 0, განმეორებითი დღეების პერიოდი = 3600
ყოველ დღე დღეში ერთხელRepeatDays Period = 1, RepeatDays Period = 0
ერთ დღეს, ერთხელპერიოდის გამეორების დღეები = 0
ყოველ მეორე დღეს დღეში ერთხელპერიოდის გამეორების დღეები = 2
ყოველდღე 01:00 საათიდან 07:00 საათამდეPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

დასრულების დრო = 07.00

ყოველ შაბათს და კვირას 09:00 საათზეგანმეორებითი დღეების პერიოდი = 1 კვირა დღეები = 6, 7 დაწყების დრო = 09.00
ყოველ დღე ერთი კვირის განმავლობაში, გამოტოვეთ კვირაპერიოდის გამეორების დღეები = 1 პერიოდი კვირა = 2
ერთხელ 01:00 საათზედაწყების დრო = 01.00
ყოველი თვის ბოლო დღე 9:00 საათზე.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
ყოველი თვის მეხუთე დღე 9:00 საათზეPeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
ყოველი თვის მეორე ოთხშაბათი 9:00 საათზეPeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

დაწყების დრო = 09.00

ფაილის და კლიენტ-სერვერის ვარიანტებში ფონური სამუშაოების შესრულების მახასიათებლები

ფაილის და კლიენტ-სერვერის ვერსიებში ფონური სამუშაოების შესრულების მექანიზმები განსხვავებულია.

ფაილის ვერსიაშითქვენ უნდა შექმნათ გამოყოფილი კლიენტის პროცესი, რომელიც შეასრულებს ფონურ სამუშაოებს. ამისათვის კლიენტის პროცესმა პერიოდულად უნდა გამოიძახოს გლობალური კონტექსტის ფუნქცია ExecuteJobProcessing. ინფორმაციის ბაზაზე მხოლოდ ერთმა კლიენტის პროცესმა უნდა დაამუშაოს ფონური სამუშაოები (და, შესაბამისად, გამოიძახოს ეს ფუნქცია). თუ კლიენტის პროცესი არ არის შექმნილი ფონური სამუშაოების დასამუშავებლად, მაშინ სამუშაო ძრავზე პროგრამულად წვდომისას გამოჩნდება შეცდომა „სამუშაო მენეჯერი არ არის აქტიური“. არ არის რეკომენდებული კლიენტის პროცესის გამოყენება, რომელიც ამუშავებს ფონის სამუშაოებს სხვა ფუნქციებისთვის.

მას შემდეგ, რაც კლიენტის პროცესის დამუშავების ფონური სამუშაოები დაიწყება, კლიენტის სხვა პროცესებს შეუძლიათ პროგრამულად წვდომა ფონური სამუშაოების ძრავზე, ე.ი. შეუძლია ფონური სამუშაოების გაშვება და მართვა.

კლიენტ-სერვერის ვერსიაშიფონური სამუშაოების შესასრულებლად გამოიყენება დავალების განრიგი, რომელიც ფიზიკურად მდებარეობს კლასტერის მენეჯერში. ყველა რიგში მდგომი ფონური სამუშაოსთვის, განრიგი იღებს ყველაზე ნაკლებად დატვირთულ სამუშაო პროცესს და იყენებს მას შესაბამისი ფონური სამუშაოს გასაშვებად. სამუშაო პროცესი ასრულებს სამუშაოს და აცნობებს განრიგს შესრულების შედეგების შესახებ.

კლიენტ-სერვერის ვერსიაში შესაძლებელია რუტინული ამოცანების შესრულების დაბლოკვა. რუტინული დავალებების შესრულება დაბლოკილია შემდეგ შემთხვევებში:

  • საინფორმაციო ბაზაზე დაინსტალირებულია რუტინული ამოცანების აშკარა დაბლოკვა. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ინფორმაციის ბაზაზე არის კავშირის ბლოკი. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ჩაშენებული ენიდან გამოიძახეს SetExclusiveMode() მეთოდი True პარამეტრით;
  • ზოგიერთ სხვა შემთხვევაში (მაგალითად, მონაცემთა ბაზის კონფიგურაციის განახლებისას).

დაგეგმილი ამოცანების გაშვების დათვალიერების დამუშავებაშეგიძლიათ ჩამოტვირთოთ აქ.

რეგისტრების პერიოდული გასუფთავება (მაგალითად, "ობიექტის ვერსიების" ინფორმაციის რეესტრი SCP კონფიგურაციაში), გამოთვლების შესრულება გრაფიკით, დოკუმენტების დასრულება გარკვეულ დროს - ეს არ არის მოქმედებების სრული სია, რომელიც შეიძლება განხორციელდეს 1C რუტინული ამოცანების გამოყენებით.

შექმენით დავალება

ჩვენი მიზანი არ არის შესრულებადი მოდულის კოდის აღწერა, ჩვენ ვაჩვენებთ მუშაობის ზოგად პრინციპებს და რუტინული დავალების შექმნას.

რუტინული დავალება შეუცვლელია:

  1. თუ დავალება მოიცავს, როგორც ერთ-ერთ პირობას, გარკვეული ალგორითმის პერიოდულად შესრულების აუცილებლობას;
  2. თუ კოდი უნდა შესრულდეს ოპერატორების და მონაცემთა ბაზის მომხმარებლების ქმედებების მიუხედავად;
  3. თუ შესრულებადი პროცედურის გაშვება არ არის დამოკიდებული ინფობაზის ობიექტებთან მომხდარ გარე მოვლენებზე.

მის შესაქმნელად, თქვენ უნდა გადახვიდეთ საინფორმაციო ბაზაზე "კონფიგურატორის" რეჟიმში. შემდეგი, იპოვეთ კონფიგურაციის ხეში "რუტინული ამოცანების" ფილიალი, ისინი განლაგებულია ჩანართზე "ზოგადი" და დააჭირეთ ღილაკს "დამატება" (ნახ. 1).

მოდით უფრო ახლოს მივხედოთ მისი თვისებების ფანჯარას (ნახ. 2):
ნახ.2

  1. სახელი, სინონიმი და კომენტარი - ამ ველების შევსების წესები და პრინციპები მსგავსია ყველა კონფიგურაციის ობიექტისთვის და არ არის საჭირო მათი ხელახლა აღწერა;
  2. მეთოდის სახელი – ზოგადი მოდულის პროცედურა, რომელიც აღწერს საჭირო ალგორითმს რაც შეიძლება ზუსტად (არჩევის ღილაკზე დაწკაპუნებით იხსნება ხელმისაწვდომი პროცედურები, რომელთა წარმოდგენა შედგება ზოგადი მოდულის სახელისგან და პროცედურის სახელისგან სხვადასხვა სვეტებში. მაგიდის);
  3. გასაღები – განსაზღვრავს არა იმდენად დაგეგმილი დავალების უნიკალურობას, არამედ დავალების საფუძველზე დაწყებული ფონური პროცესის უნიკალურობას; მას აქვს სიგრძის ლიმიტი;
  4. განრიგი – ჩვენი სტატიის ცალკეულ პუნქტს ამ ელემენტის აღწერას მივუძღვნით;
  5. გამოყენება – ამ ველის მონიშვნა განსაზღვრავს დავალების აქტივობას, TRUE ნიშნავს, რომ დავალება ამოქმედდება და შესრულდება გრაფიკის მიხედვით;
  6. წინასწარ განსაზღვრული – თუ ელემენტს აქვს ეს ჩამრთველი, ამ ამოცანების წაშლა შეუძლებელია; ისინი იქმნება ავტომატურად, როდესაც კონფიგურაცია შეინახება მონაცემთა ბაზაში;
  7. გამეორებების რაოდენობა - თუ შესრულების დროს მოხდა გამონაკლისი, ის გადაიტვირთება, რათა არ მოხდეს გაუთავებელი ციკლი, პროგრამა ზღუდავს გადატვირთვების რაოდენობას;
  8. ხელახალი ცდის ინტერვალი – დრო წამებში არანორმალურად დასრულებული ამოცანების გადატვირთვებს შორის.

მოდით უფრო ახლოს მივხედოთ განრიგს.

რუტინული დავალების განრიგი

ნახ.3

უპირველეს ყოვლისა, ყურადღება უნდა მიაქციოთ ფანჯრის ქვედა ნაწილს, სწორედ აქ არის ნაჩვენები დეტალური ინფორმაცია იმის შესახებ, თუ რამდენად ხშირად და რა დროს შესრულდება დავალება.

ჩანართი "ზოგადი":

  • დავალების დაწყების თარიღი;
  • დამუშავების დასრულების თარიღი;
  • დავალების გამეორების სიხშირე.

თუ ამ ჩანართზე არ არის მითითებული თარიღები, მაშინ დავალების ვადა არ დაინიშნება.

ჩანართი „ყოველდღიური“ (ნახ. 4)
ნახ.4

დავალების დაწყებისა და დასრულების დროის შეყვანის ველებისა და დღის განმავლობაში მისი გაშვების სიხშირის გარდა, იგი შეიცავს ცხრილის განყოფილებას შესრულების სიხშირის დეტალური კონფიგურაციისთვის.

„ყოველდღიური“ და „კვირეული“ ჩანართები შეიცავს ინფორმაციას შესაბამისი პერიოდებისთვის.

ოპერაციის მახასიათებლები

სამუშაოს კლიენტ-სერვერის ვერსიაში რუტინული დავალებების შესრულება განისაზღვრება სერვერის ხელსაწყოებით. ადმინისტრაციის კონსოლიდან შეგიძლიათ ჩართოთ ან გამორთოთ ამოცანების გაშვების შესაძლებლობა კონკრეტული მონაცემთა ბაზისთვის.

სიტუაცია ბევრად უფრო რთულია სამუშაოს ფაილური ვერსიით. გარკვეული პლატფორმის გამოშვებამდე, ფონის და რუტინული პროცედურები შესრულდა მხოლოდ იმ შემთხვევაში, თუ ExecuteTaskProcessing() მეთოდი გააქტიურებული იყო, როდესაც სისტემა დაიწყო გარკვეული მომხმარებლის ქვეშ. ამ შემთხვევაში, ალგორითმები პერიოდულად ამოქმედდა, სანამ პროგრამაში იმყოფებოდა მეთოდის ინიციატორი მომხმარებელი.

ამჟამად, სამუშაოს ფაილურ ვერსიაში ფონური სამუშაოების მუშაობა თანაბრად ნაწილდება მონაცემთა ბაზაში ავტორიზებულ მომხმარებლებს შორის; თუ პროგრამა გაშვებულია დამატებითი პარამეტრით AllowExecuteSheduledJobs, სწორედ ეს პროცესი იქნება პასუხისმგებელი რუტინულ შენარჩუნებაზე.

თქვენ შეგიძლიათ მთლიანად გამორთოთ ფონური და რუტინული მუშაობა მონაცემთა ბაზაში, რომელიც მუშაობს ფაილის რეჟიმში, წაშლით ან სახელის გადარქმევით DoNotCopy.txt ფაილს მონაცემთა ბაზის საქაღალდეში. ამ ფაილის არსებობა ეუბნება პლატფორმას, რომ სამუშაო კეთდება ორიგინალში და არა მონაცემთა ბაზის ასლში.

გარდა ამისა, სტანდარტული 1C მიწოდებისას შესაძლებელი გახდა დაგეგმილი სამუშაოს მართვა პირდაპირ პროგრამიდან, "კონფიგურატორში" შესვლის გარეშე. "ZUP" კონფიგურაციაში, ვერსია 3.1.3.223, შეგიძლიათ გახსნათ მართვის ფორმა მენიუდან Administration->Maintenance->Routine Operations->Routine and Backon tasks (ნახ. 5)
ნახ.5

ფორმას, რომელიც იხსნება, აქვს ინტუიციური ინტერფეისი და საშუალებას გაძლევთ:


თქვენ ასევე შეგიძლიათ დაიწყოთ დავალება პირდაპირ ფორმიდან.

ალბათ ყველა 1C 8.3 პროგრამისტს ადრე თუ გვიან მოუწია გარკვეული დავალებების შესრულება გრაფიკის მიხედვით. ქვემოთ მე მივცემ ამ მექანიზმების დეტალურ აღწერას, ვიმედოვნებ, რომ ეს სასარგებლო ინფორმაცია იქნება დამწყები 1C პროგრამისტებისთვის. ეს ძალიან მოსახერხებელია, რადგან არ საჭიროებს ადამიანის მოქმედებას, რუტინული დავალება ერთხელ არის კონფიგურირებული და მუშაობს თქვენი გრაფიკის მიხედვით.

თქვენ ნახავთ დეტალურ ინსტრუქციებს ქვემოთ მოცემული მაგალითის გამოყენებით.

რა არის რუტინული და ფონური ამოცანები 1C-ში

  • დაგეგმილი დავალებებიარის სპეციალური 1C Enterprise 8.3 მექანიზმი, რომელიც შექმნილია კონკრეტული მოქმედების შესასრულებლად მოცემული გრაფიკის მიხედვით.
  • ფონური სამუშაო- რუტინული დავალების მიერ წარმოქმნილი ობიექტები, რომლებიც უშუალოდ ასრულებენ დანიშნულ მოქმედებას მომხმარებლის ან 1C 8.2 პროგრამისტის მონაწილეობის გარეშე.

დაგეგმილი და ფონური სამუშაოების მექანიზმი მუშაობს კლიენტ-სერვერის რეჟიმში (SQL), DBMS-ის ფუნქციონირების წყალობით. თუ თქვენ გაქვთ ფაილების მონაცემთა ბაზა, მაშინ დავალების კონფიგურაცია ასევე შესაძლებელია, მაგრამ ოდნავ განსხვავებული პრინციპის მიხედვით.

ფონური სამუშაოების დაყენება 1C კლიენტ-სერვერის რეჟიმში

პირველი, მოდით შევქმნათ ახალი მეტამონაცემების ობიექტი - რუტინული დავალება. ჩემს ამოცანას დავარქმევ "ვალუტის განაკვეთების ჩატვირთვა". მოდით შევხედოთ ამ კონფიგურაციის ობიექტის თვისებების პალიტრას:

მიიღეთ 267 ვიდეო გაკვეთილი 1C-ზე უფასოდ:

  • მეთოდის სახელი— გზა პროცედურისკენ, რომელიც შესრულდება ფონურ სამუშაოში მოცემული გრაფიკის მიხედვით. პროცედურა უნდა იყოს საერთო მოდულში. მიზანშეწონილია არ გამოიყენოთ სტანდარტული, არამედ შექმნათ საკუთარი. არ დაგავიწყდეთ, რომ ფონური სამუშაოები მუშაობს სერვერზე!
  • გამოყენება- რუტინული დავალების გამოყენების ნიშანი.
  • წინასწარ განსაზღვრული— მიუთითებს წინასწარ განსაზღვრული თუ არა რუტინული დავალება. თუ გსურთ, რომ რუტინულმა დავალებამ იმუშაოს მონაცემთა ბაზაში მოთავსებისთანავე, მიუთითეთ ეს დროშა. წინააღმდეგ შემთხვევაში, მოგიწევთ Job Console-ის დამუშავების გამოყენება ან სამუშაოს პროგრამულად გაშვება.
  • განმეორებითი ცდების რაოდენობა, როდესაც სამუშაო არანორმალურად წყდება— რამდენჯერ გადაიტვირთა ფონური სამუშაო, თუ შეცდომით შესრულდა.
  • ხელახლა სცადეთ ინტერვალი, როდესაც სამუშაო არანორმალურად წყდება— რამდენჯერ გადაიტვირთება ფონური სამუშაო, თუ ის დასრულებულია შეცდომით.

და ყველაზე საინტერესო პარამეტრია განრიგი:

აქ თქვენ აკონფიგურირებთ პროცედურის გაშვების ინტერვალს, რომელიც მითითებულია "მეთოდის სახელი" ველში. ვთქვათ, მე დავაკონფიგურირე

ყურადღება!არ დაგავიწყდეთ DBMS დონეზე რუტინული და ფონური სამუშაოების შესრულების დაბლოკვის გამორთვა!

ეს შეიძლება გაკეთდეს კლიენტ-სერვერის ვერსიის ადმინისტრაციულ პროგრამაში ან ახალი მონაცემთა ბაზის შექმნისას:

რუტინული ამოცანების დაყენება 1C ფაილის რეჟიმში

ფაილის რეჟიმში, ასეთი სამუშაოების დაყენება გარკვეულწილად უფრო რთულია. ასეთი ამოცანისთვის, 1C პროგრამის ცალკე სესია უნდა დაიწყოს. ეს ხშირად მოგვარებულია „ტექნიკური“ მომხმარებლის შექმნით, რომლის სესია ყოველთვის მუშაობს.

ფაილის რეჟიმში, რუტინული სამუშაოს ინიციალიზაცია ხდება "RunTaskProcessing()" მეთოდის გაშვებისას.

კონკრეტული მომხმარებლისთვის, შეგიძლიათ დააკონფიგურიროთ ეს მეთოდი სხვა მეთოდის გამოყენებით −

ConnectWaitHandler( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • პროცედურის სახელწოდება— პროცედურის დასახელება, რომელიც დაკავშირებულია ლოდინის დამმუშავებლის სახით. მართული აპლიკაციის მოდულის (ჩვეულებრივი განაცხადის მოდული) ან გლობალური გაზიარებული მოდულის ექსპორტირებული პროცედურის სახელი. პროცედურა უნდა განთავსდეს კლიენტზე.
  • ინტერვალი— პერიოდი ოპერაციების შესრულებას შორის წამებში.
  • Ერთხელ- როგორ დავასრულოთ დავალება ერთხელ თუ არა.

ConnectWaitHandler, 3600);

ორწუთიანი ვიდეო, რომელიც აჩვენებს, თუ როგორ უნდა დააყენოთ რუტინული დავალება 1C კონფიგურატორში:

სამუშაო მექანიზმი

სამუშაო ძრავა შექმნილია ნებისმიერი აპლიკაციის ან ფუნქციის შესასრულებლად გრაფიკით ან ასინქრონულად.

დავალების მექანიზმი წყვეტს შემდეგ პრობლემებს:

  • სისტემის კონფიგურაციის ეტაპზე მარეგულირებელი პროცედურების განსაზღვრის უნარი;
  • განსაზღვრული მოქმედებების შესრულება გრაფიკის მიხედვით;
  • მოცემულ პროცედურაზე დარეკვა ან ასინქრონულად ფუნქციონირება, ე.ი. მისი დასრულების მოლოდინის გარეშე;
  • კონკრეტული დავალების პროგრესის თვალყურის დევნება და მისი დასრულების სტატუსის მიღება (მნიშვნელობა, რომელიც მიუთითებს წარმატებული იყო თუ არა);
  • მიმდინარე ამოცანების სიის მიღება;
  • ერთი ან მეტი დავალების დასრულებამდე ლოდინის შესაძლებლობა;
  • სამუშაოს მართვა (გაუქმების შესაძლებლობა, შესრულების დაბლოკვა და ა.შ.).

სამუშაო მექანიზმი შედგება შემდეგი კომპონენტებისგან:

  • რუტინული ამოცანების მეტამონაცემები;
  • რეგულარული დავალებები;
  • ფონური სამუშაოები;
  • დავალების განრიგი.

ფონური სამუშაოები შექმნილია აპლიკაციის ამოცანების ასინქრონულად შესასრულებლად. ფონის დავალებები ხორციელდება ჩაშენებული ენის გამოყენებით.

დაგეგმილი ამოცანები - შექმნილია გამოყენებული ამოცანების განრიგში შესასრულებლად. რუტინული ამოცანები ინახება საინფორმაციო ბაზაში და იქმნება კონფიგურაციაში განსაზღვრული მეტამონაცემების საფუძველზე. მარეგულირებელი ამოცანის მეტამონაცემები შეიცავს ინფორმაციას, როგორიცაა სახელი, მეთოდი, გამოყენება და ა.შ.

რუტინულ დავალებას აქვს განრიგი, რომელიც განსაზღვრავს, რა დროს უნდა შესრულდეს რუტინულ ამოცანასთან დაკავშირებული მეთოდი. განრიგი, როგორც წესი, მითითებულია საინფორმაციო ბაზაში, მაგრამ ასევე შეიძლება დაზუსტდეს კონფიგურაციის ეტაპზე (მაგალითად, წინასწარ განსაზღვრული რუტინული ამოცანებისთვის).

დავალების გრაფიკი გამოიყენება რუტინული ამოცანების შესრულების დასაგეგმად. თითოეული დაგეგმილი სამუშაოსთვის, დამგეგმავი პერიოდულად ამოწმებს, შეესაბამება თუ არა მიმდინარე თარიღი და დრო დაგეგმილი სამუშაოს გრაფიკს. თუ ის ემთხვევა, განრიგი ანიჭებს ამ ამოცანას შესრულებას. ამისათვის, ამ დაგეგმილი ამოცანისთვის, დამგეგმავი ქმნის ფონის დავალებას, რომელიც ასრულებს რეალურ დამუშავებას.

ფონური სამუშაოები

ფონური სამუშაოები მოსახერხებელია რთული გამოთვლების შესასრულებლად, როდესაც გაანგარიშების შედეგის მიღებას შეიძლება დიდი დრო დასჭირდეს. სამუშაო ძრავას აქვს ასეთი გამოთვლების ასინქრონულად შესრულების საშუალება.

ფონურ სამუშაოსთან ასოცირებულია მეთოდი, რომელიც გამოიძახება ფონური სამუშაოს გაშვებისას. ფონური სამუშაო მეთოდი შეიძლება იყოს არაგლობალური საერთო მოდულის ნებისმიერი პროცედურა ან ფუნქცია, რომელიც შეიძლება გამოძახდეს სერვერზე. სამუშაოს ფონური პარამეტრები შეიძლება იყოს ნებისმიერი მნიშვნელობა, რომელიც დაშვებულია სერვერზე გადაცემაში. ფონური სამუშაოს პარამეტრები ზუსტად უნდა ემთხვეოდეს იმ პროცედურის ან ფუნქციის პარამეტრებს, რომელსაც ის იძახებს. თუ ფონური სამუშაოს მეთოდი ფუნქციაა, მისი დაბრუნების მნიშვნელობა იგნორირებულია.

ფონის სამუშაოს შეიძლება ჰქონდეს გასაღები - ნებისმიერი აპლიკაციის მნიშვნელობა. გასაღები შემოაქვს შეზღუდვა ფონური სამუშაოების გაშვებაზე - მხოლოდ ერთი ფონის დავალება შეიძლება შესრულდეს დროის ერთეულზე კონკრეტული გასაღების მნიშვნელობით და მოცემული ფონური სამუშაოს მეთოდის სახელით (მეთოდის სახელი შედგება მოდულის სახელისა და პროცედურის სახელისგან. ან ფუნქცია). გასაღები საშუალებას გაძლევთ დააჯგუფოთ ფონური სამუშაოები, რომლებსაც აქვთ იგივე მეთოდები კონკრეტული აპლიკაციის მახასიათებლის მიხედვით ისე, რომ ერთ ჯგუფში არ შესრულდეს ერთზე მეტი ფონის დავალება.

ფონური სამუშაოები იქმნება და იმართება პროგრამულად ნებისმიერი კავშირიდან. ნებისმიერ მომხმარებელს უფლება აქვს შექმნას ფონური სამუშაო. უფრო მეტიც, ის შესრულებულია მომხმარებლის სახელით, რომელმაც შექმნა იგი. ამოცანების მიღება, ისევე როგორც მათი დასრულების მოლოდინი, ნებადართულია ნებისმიერი კავშირიდან ადმინისტრაციული უფლებების მქონე მომხმარებელთან ან მომხმარებელთან, რომელმაც შექმნა ეს ფონური ამოცანები.

ფონური სამუშაო არის წმინდა სესიის ობიექტი და არ ეკუთვნის არცერთ მომხმარებლის სესიას. თითოეული ამოცანისთვის იქმნება სპეციალური სისტემის სესია, რომელიც მუშაობს იმ მომხმარებლის სახელით, რომელმაც დარეკა. ფონურ სამუშაოებს არ აქვთ მუდმივი მდგომარეობა.

ფონურ სამუშაოს შეუძლია სხვა ფონური სამუშაოების გაჩენა. კლიენტ-სერვერის ვერსიაში, ეს საშუალებას გაძლევთ მოაწყოთ რთული გამოთვლების პარალელიზება კლასტერ მუშაკთა პროცესებში, რამაც შეიძლება მნიშვნელოვნად დააჩქაროს გაანგარიშების პროცესი მთლიანობაში. პარალელიზაცია ხორციელდება რამდენიმე ბავშვის ფონური სამუშაოს წარმოქმნით და თითოეული მათგანის დასრულებას მთავარ ფონურ სამუშაოში.

ფონური სამუშაოები, რომლებიც წარმატებით ან წარუმატებლად დასრულდა, ინახება 24 საათის განმავლობაში და შემდეგ იშლება. თუ დასრულებული ფონური სამუშაოების რაოდენობა აღემატება 1000-ს, ასევე წაიშლება უძველესი სამუშაოები.

დაგეგმილი დავალებები

დაგეგმილი ამოცანები გამოიყენება, როდესაც საჭიროა გარკვეული პერიოდული ან ერთჯერადი მოქმედებების შესრულება გრაფიკის მიხედვით.

დაგეგმილი ამოცანები ინახება საინფორმაციო ბაზაში და იქმნება კონფიგურაციაში განსაზღვრული რუტინული დავალების მეტამონაცემების საფუძველზე. მეტამონაცემები განსაზღვრავს რუტინული ამოცანის ისეთ პარამეტრებს, როგორიცაა: მოწოდებული მეთოდი, სახელი, გასაღები, გამოყენების შესაძლებლობა, წინასწარ განსაზღვრის ნიშანი და ა.შ. რუტინული დავალების შექმნისას შეგიძლიათ დამატებით მიუთითოთ განრიგი (შეიძლება დაზუსტდეს მეტამონაცემებში), მნიშვნელობები . მეთოდის პარამეტრების, მომხმარებლის სახელი, რომლის სახელით ახორციელებს რუტინულ დავალებებს და ა.შ.

დაგეგმილი ამოცანების შექმნა და მართვა ხორციელდება პროგრამულად ნებისმიერი კავშირიდან და ნებადართულია მხოლოდ ადმინისტრაციული უფლებების მქონე მომხმარებლებისთვის.

Შენიშვნა. ფაილის ვერსიაში მუშაობისას შესაძლებელია რუტინული ამოცანების შექმნა და რედაქტირება დავალების გრაფიკის გაშვების გარეშე.

რუტინულ დავალებასთან ასოცირდება მეთოდი, რომელსაც ეწოდება რუტინული დავალების შესრულებისას. რუტინული დავალების მეთოდი შეიძლება იყოს არაგლობალური საერთო მოდულის ნებისმიერი პროცედურა ან ფუნქცია, რომელიც შეიძლება გამოძახდეს სერვერზე. რუტინული დავალების პარამეტრები შეიძლება იყოს ნებისმიერი მნიშვნელობა, რომელიც დაშვებულია სერვერზე გადაცემაში. რუტინული ამოცანის პარამეტრები ზუსტად უნდა ემთხვეოდეს იმ პროცედურის ან ფუნქციის პარამეტრებს, რომელსაც ის იძახებს. თუ რუტინული დავალების მეთოდი ფუნქციაა, მაშინ მისი დაბრუნების მნიშვნელობა იგნორირებულია.

რუტინულ ამოცანას შეიძლება ჰქონდეს გასაღები - ნებისმიერი აპლიკაციის მნიშვნელობა. გასაღები შემოაქვს შეზღუდვას დაგეგმილი ამოცანების გაშვებაზე, რადგან დროის ერთეულზე, რუტინულ ამოცანებს შორის, რომლებიც დაკავშირებულია იმავე მეტამონაცემების ობიექტთან, შეიძლება შესრულდეს მხოლოდ ერთი რუტინული დავალება კონკრეტული გასაღების მნიშვნელობით. გასაღები საშუალებას გაძლევთ დააჯგუფოთ რუტინული ამოცანები, რომლებიც დაკავშირებულია იმავე მეტამონაცემების ობიექტთან კონკრეტული აპლიკაციის მახასიათებლის მიხედვით ისე, რომ ერთ ჯგუფში არ შესრულდეს ერთი რუტინული დავალება.

კონფიგურაციის დროს შეგიძლიათ განსაზღვროთ წინასწარ განსაზღვრული რუტინული ამოცანები. წინასწარ განსაზღვრული რუტინული ამოცანები არაფრით განსხვავდება ჩვეულებრივი რუტინული დავალებისგან, გარდა იმისა, რომ მათი ცალსახად შექმნა ან წაშლა შეუძლებელია. თუ დაგეგმილი ამოცანის მეტამონაცემებში ის დაყენებულია წინასწარ განსაზღვრული რუტინული დავალების ნიშანი, მაშინ ინფორმაციის ბაზაში კონფიგურაციის განახლებისას ავტომატურად შეიქმნება წინასწარ განსაზღვრული რუტინული დავალება. თუ წინასწარ განსაზღვრული დროშა წაიშლება, მაშინ ინფორმაციის ბაზაში კონფიგურაციის განახლებისას, წინასწარ განსაზღვრული რუტინული დავალება ავტომატურად წაიშლება. წინასწარ განსაზღვრული დაგეგმილი ამოცანის (მაგალითად, განრიგის) თვისებების საწყისი მნიშვნელობები მითითებულია მეტამონაცემებში. მომავალში, როდესაც აპლიკაცია მუშაობს, მათი შეცვლა შესაძლებელია. წინასწარ განსაზღვრულ რუტინულ ამოცანებს არ აქვთ პარამეტრები.

რუტინული დავალების განრიგი განსაზღვრავს, თუ რა დროს უნდა შესრულდეს რუტინული დავალება. გრაფიკი საშუალებას გაძლევთ დააყენოთ: დავალების დაწყებისა და დასრულების თარიღი და დრო, შესრულების პერიოდი, კვირის დღეები და თვეები, რომლებშიც უნდა შესრულდეს დაგეგმილი დავალება და ა.შ. (იხ. ენაზე).

რუტინული დავალების განრიგის მაგალითები:

ყოველ საათში, მხოლოდ ერთ დღეს

გამეორების დღეების პერიოდი = 0, განმეორებითი დღეების პერიოდი = 3600

ყოველ დღე დღეში ერთხელ

RepeatDays Period = 1, RepeatDays Period = 0

ერთ დღეს, ერთხელ

პერიოდის გამეორების დღეები = 0

ყოველ მეორე დღეს დღეში ერთხელ

პერიოდის გამეორების დღეები = 2

ყოველდღე 01:00 საათიდან 07:00 საათამდე

პერიოდის გამეორების დღეები = 1

გამეორების პერიოდი დღის განმავლობაში = 3600

დაწყების დრო = 01.00

დასრულების დრო = 07.00

ყოველ შაბათს და კვირას 09:00 საათზე

პერიოდის გამეორების დღეები = 1

კვირის დღეები = 6, 7

დაწყების დრო = 09.00

ყოველ დღე ერთი კვირის განმავლობაში, გამოტოვეთ კვირა

პერიოდის გამეორების დღეები = 1

პერიოდი კვირა = 2

ერთხელ 01:00 საათზე

დაწყების დრო = 01.00

ყოველი თვის ბოლო დღე 9:00 საათზე.

პერიოდის გამეორების დღეები = 1

დღე თვეში = -1

დაწყების დრო = 09.00

ყოველი თვის მეხუთე დღე 9:00 საათზე

პერიოდის გამეორების დღეები = 1

დღე თვეში = 5

დაწყების დრო = 09.00

ყოველი თვის მეორე ოთხშაბათი 9:00 საათზე

პერიოდის გამეორების დღეები = 1

დღე კვირა თვეში = 2

კვირის დღეები = 3

დაწყების დრო = 09.00

შეგიძლიათ შეამოწმოთ არის თუ არა დავალება მოცემული თარიღისთვის (ScheduleTasks ობიექტის RequiredExecution მეთოდი). დაგეგმილი დავალებები ყოველთვის სრულდება კონკრეტული მომხმარებლის სახელით. თუ დაგეგმილი დავალების მომხმარებელი არ არის მითითებული, მაშინ შესრულება ხდება ნაგულისხმევი მომხმარებლის სახელით, რომელსაც აქვს ადმინისტრაციული უფლებები.

რუტინული დავალებები შესრულებულია ფონური ამოცანების გამოყენებით. როდესაც დამგეგმავი განსაზღვრავს, რომ დაგეგმილი დავალება უნდა დაიწყოს, ფონური სამუშაო ავტომატურად იქმნება ამ დაგეგმილი დავალების საფუძველზე, რომელიც ასრულებს ყველა შემდგომ დამუშავებას. თუ ეს რუტინული დავალება უკვე გაშვებულია, ის აღარ განხორციელდება განრიგის მიუხედავად.

დაგეგმილი დავალებების გადატვირთვა შესაძლებელია. ეს განსაკუთრებით ეხება, როდესაც რუტინული დავალების მეთოდი გარანტირებული უნდა იყოს შესრულებული. რუტინული დავალება გადაიტვირთება, როდესაც ის არანორმალურად მთავრდება, ან როდესაც სამუშაო პროცესი (კლიენტ-სერვერის ვერსიაში) ან კლიენტის პროცესი (ფაილის ვერსიაში), რომელზეც რუტინული დავალება იყო შესრულებული, არანორმალურად წყდება. დაგეგმილ ამოცანაში შეგიძლიათ მიუთითოთ რამდენჯერ სჭირდება მისი გადატვირთვა, ასევე გადატვირთვებს შორის ინტერვალი. გადატვირთვადი რუტინული დავალების მეთოდის განხორციელებისას უნდა გაითვალისწინოთ, რომ გადატვირთვისას მისი შესრულება დაიწყება თავიდან და არ გაგრძელდება არანორმალური შეწყვეტის მომენტიდან.

მნიშვნელოვანია გვახსოვდეს ეს Დროის დასასრულიარ დაასრულებს ფონურ სამუშაოს მითითებულ დროს. ზოგიერთი განცხადება:

* ფონურ სამუშაოს შეუძლია უგულებელყოს მისი ავტომატური გაუქმება, თუ ის არ არის გაყინული, მაგრამ განაგრძობს მუშაობას, რადგან პლატფორმის ყველა ოპერაციის გაუქმება შეუძლებელია. თუ ჩაშენებული ენის ციკლური კოდი შესრულებულია, მაშინ სამუშაო შეიძლება გაუქმდეს, წინააღმდეგ შემთხვევაში არა. ეს ყველაფერი დამოკიდებულია იმაზე, თუ რას აკეთებს სამუშაო. * დასრულების დრო - ზღვარი, რომლის ფარგლებშიც ამოცანა შეიძლება დაიწყოს და არა დასრულება? * ამოცანის იძულებითი შეწყვეტა აბრუნებს ტრანზაქციის დაწყებამდე განხორციელებულ ცვლილებებს?

ფაილის და კლიენტ-სერვერის ვარიანტებში ფონური სამუშაოების შესრულების მახასიათებლები

ფაილის და კლიენტ-სერვერის ვერსიებში ფონური სამუშაოების შესრულების მექანიზმები განსხვავებულია.

  • ფაილის ვერსიაში, თქვენ უნდა შექმნათ გამოყოფილი კლიენტის პროცესი, რომელიც შეასრულებს ფონურ სამუშაოებს. ამისათვის კლიენტის პროცესმა პერიოდულად უნდა გამოიძახოს გლობალური კონტექსტის ფუნქცია ExecuteJobProcessing. ინფორმაციის ბაზაზე მხოლოდ ერთმა კლიენტის პროცესმა უნდა დაამუშაოს ფონური სამუშაოები (და, შესაბამისად, გამოიძახოს ეს ფუნქცია). თუ კლიენტის პროცესი არ არის შექმნილი ფონური სამუშაოების დასამუშავებლად, მაშინ სამუშაო ძრავზე პროგრამულად წვდომისას გამოჩნდება შეცდომა „სამუშაო მენეჯერი არ არის აქტიური“. არ არის რეკომენდებული კლიენტის პროცესის გამოყენება, რომელიც ამუშავებს ფონის სამუშაოებს სხვა ფუნქციებისთვის.

მას შემდეგ, რაც კლიენტის პროცესის დამუშავების ფონური სამუშაოები დაიწყება, კლიენტის სხვა პროცესებს შეუძლიათ პროგრამულად წვდომა ფონური სამუშაოების ძრავზე, ე.ი. შეუძლია ფონური სამუშაოების გაშვება და მართვა.

კლიენტ-სერვერის ვერსიაში, ამოცანების გრაფიკი გამოიყენება ფონური სამუშაოების შესასრულებლად, რომელიც ფიზიკურად მდებარეობს კლასტერის მენეჯერში. ყველა რიგში მდგომი ფონური სამუშაოსთვის, განრიგი იღებს ყველაზე ნაკლებად დატვირთულ სამუშაო პროცესს და იყენებს მას შესაბამისი ფონური სამუშაოს გასაშვებად. სამუშაო პროცესი ასრულებს სამუშაოს და აცნობებს განრიგს შესრულების შედეგების შესახებ.

კლიენტ-სერვერის ვერსიაში შესაძლებელია რუტინული ამოცანების შესრულების დაბლოკვა. რუტინული დავალებების შესრულება დაბლოკილია შემდეგ შემთხვევებში:

  • საინფორმაციო ბაზაზე დაინსტალირებულია რუტინული ამოცანების აშკარა დაბლოკვა. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ინფორმაციის ბაზაზე არის კავშირის ბლოკი. საკეტის დაყენება შესაძლებელია კასეტური კონსოლის მეშვეობით;
  • ჩაშენებული ენიდან გამოიძახეს SetExclusiveMode() მეთოდი True პარამეტრით;
  • ზოგიერთ სხვა შემთხვევაში (მაგალითად, მონაცემთა ბაზის კონფიგურაციის განახლებისას).

რუტინული დავალების მეტამონაცემების შექმნა

სანამ პროგრამულად შექმნით რუტინულ ამოცანას ინფო ბაზაში, თქვენ უნდა შექმნათ მისთვის მეტამონაცემების ობიექტი.

რუტინული დავალების მეტამონაცემების ობიექტის შესაქმნელად კონფიგურაციის ხეში "ზოგადი" ფილიალში "რუტინული ამოცანები" ფილიალისთვის, შეასრულეთ ბრძანება "დამატება" და შეავსეთ რუტინული დავალების შემდეგი თვისებები თვისებების პალიტრაში:

მეთოდის სახელი - მიუთითეთ რუტინული დავალების მეთოდის სახელი.

გასაღები - მიუთითეთ თვითნებური სტრიქონის მნიშვნელობა, რომელიც გამოყენებული იქნება დაგეგმილი ამოცანის გასაღებად.

განრიგი - მიუთითებს რუტინული დავალების განრიგს. განრიგის შესაქმნელად დააწკაპუნეთ ბმულზე „გახსნა“ და განრიგის ფორმაში, რომელიც იხსნება, დააყენეთ საჭირო მნიშვნელობები.

"ზოგადი" ჩანართზე მითითებულია დავალების დაწყების და დასრულების თარიღები და განმეორების რეჟიმი.

"ყოველდღიური" ჩანართზე მითითებულია დავალების ყოველდღიური განრიგი.

მიუთითეთ განრიგი:

  • დავალების დაწყების და დასრულების დრო;
  • დავალების შესრულების დრო, რის შემდეგაც იგი იძულებით შეწყდება;
  • დავალების გამეორების პერიოდი;
  • გამეორებებს შორის პაუზის ხანგრძლივობა;
  • შესრულების ხანგრძლივობა.

დასაშვებია პირობების თვითნებური კომბინაციის დაზუსტება.

"კვირის" ჩანართზე მითითებულია დავალების ყოველკვირეული განრიგი.

აირჩიეთ ველები კვირის დღეებისთვის, რომლებზეც დავალება შესრულდება. თუ გსურთ დავალების გამეორება, მიუთითეთ გამეორების ინტერვალი კვირებში. მაგალითად, დავალება შესრულებულია 2 კვირაში, განმეორებითი მნიშვნელობა არის 2.

"თვიური" ჩანართზე მითითებულია დავალების ყოველთვიური განრიგი.

აირჩიეთ ველები იმ თვეებისთვის, რომლებშიც დავალება შესრულდება. საჭიროების შემთხვევაში, შეგიძლიათ მიუთითოთ შესრულების კონკრეტული დღე (თვე ან კვირა) თვის/კვირის დასაწყისიდან ან ბოლოდან.

გამოყენება - დაყენების შემთხვევაში დავალება განრიგის მიხედვით შესრულდება.

წინასწარ განსაზღვრული - თუ დაყენებულია, ამოცანა არის წინასწარ განსაზღვრული ამოცანა.

განმეორებითი ცდების რაოდენობა არანორმალური შეწყვეტის შემთხვევაში - მიუთითებს გამეორებების რაოდენობას არანორმალური შეწყვეტის შემთხვევაში.

განმეორებითი ცდის ინტერვალი არანორმალურ შეწყვეტაზე - განსაზღვრავს ხელახალი ცდის ინტერვალს არანორმალურ შეწყვეტაზე. მაგალითები

ფონური სამუშაოს შექმნა „სრული ტექსტის საძიებო ინდექსის განახლება“:

BackgroundTasks.Run("UpdatingFullTextSearchIndex");

რუტინული დავალების შექმნა "მიმდევრობების აღდგენა":

განრიგი = New ScheduleTask; განრიგი.PeriodRepeatDays = 1; განრიგი.განმეორებითი პერიოდი დღის განმავლობაში = 0;

Task = RoutineTasks.CreateRoutineTask("მიმდევრობების აღდგენა"); Job.Schedule = განრიგი; დავალება.Write();

სამუშაო კონსოლი

ITS-ით დამუშავება, მართავს რუტინულ ამოცანებს:

რუტინულ ამოცანებთან მუშაობა

სამუშაო ობიექტები

სამუშაო ობიექტები არ არის მითითებული, მაგრამ ინახება მონაცემთა ბაზაში სპეციალურ საცავში.

თუ მეტამონაცემებში ჩართულია "წინასწარ განსაზღვრული" დროშა, მაშინ ასეთი ობიექტი ავტომატურად იქმნება, როდესაც 1C:Enterprise გაშვებულია და ყოველთვის არსებობს ზუსტად ერთ ინსტანციაში. ასეთი ობიექტის წაშლა შეუძლებელია.

თუ "წინასწარ განსაზღვრული" დროშა არ არის დაყენებული, მაშინ ასეთი ამოცანის ობიექტები იქმნება და იშლება პროგრამულად, განრიგის და პარამეტრების მითითებით.

ამოცანების სიის მიღება

ამოცანების ჩამონათვალის მიღება შესაძლებელია მეთოდის გამოყენებით მიიღეთ RoutineTasksგლობალური სამუშაო მენეჯერი RoutineTasks

ScheduledJobsManager

მიიღეთ ScheduledJobs (GetScheduledJobs)

Სინტაქსი:

მიიღეთ რუტინული ამოცანები (<Отбор>)

Პარამეტრები:

<Отбор>(სურვილისამებრ)

ტიპი: სტრუქტურა. შერჩევის განმსაზღვრელი სტრუქტურა. სტრუქტურის მნიშვნელობები შეიძლება იყოს: UniqueIdentifier, Key, Metadata, Predefined, Usage, Name. თუ შერჩევა არ არის მითითებული, ყველა რუტინული დავალება მიიღება.

თუ თქვენ ფილტრავთ მეტამონაცემების მიხედვით, მაშინ მეტამონაცემების მნიშვნელობად შეგიძლიათ მიუთითოთ რუტინული ამოცანის მეტამონაცემების ობიექტი ან მისი სახელი.

დაბრუნების ღირებულება:

ტიპი: მასივი.

აღწერა:

იღებს რუტინულ დავალებებს მოცემული შერჩევისთვის. დაგეგმილი ამოცანების მიღება შესაძლებელია მხოლოდ ადმინისტრატორისთვის.

ხელმისაწვდომობა:

Routine = RoutineTasks.GetRoutineTasks(Selection);

რუტინული ციკლის თითოეული რუტინისთვის NewLine = RoutineTasks-ების სია.Add(); NewRow.Metadata = Regular.Metadata.View(); NewLine.Name = Regular.Name; NewString.Key = Regular.Key; NewLine.Schedule = Schedule.Schedule; NewLine.User = Regular.UserName; NewString.Predefined = Regular.Predefined; NewString.Use = Regular.Use; NewString.Identifier = Regular.UniqueIdentifier;

LastTask = Regular.LastTask; თუ LastTask<>Undefined then NewRow.Running = LastTask.Start; NewRow.State = LastTask.State; დაასრულე თუ; საბოლოო ციკლი;

შემოქმედება

შექმნილია Create RoutineTask მეთოდით რუტინული ამოცანების მენეჯერისთვის:

RoutineTask = RoutineTasks.CreateRoutineTask(MetadataSelection);

RegularTask.Name = სახელი; RegularTask.Key = Key; RegularTask.Use = გამოყენება; RoutineTask.UserName = UsersChoice; RoutineTask.Number of RepetitionsAtEmergencyCompletion =NumberofRepetitionsAtEmergencyCompletion; ScheduledTask.RepeatIntervalAtEmergencyCompletion = RetryIntervalAtEmergencyCompletion; ScheduleTask.Schedule = განრიგი; RegularTask.Record();

TaskObject = RoutineTasks.CreateRoutineTask("ExchangeExchange");

TaskObject.Name = სახელი; JobObject.Use = True;

ამოცანის ობიექტს აქვს "პარამეტრების" ველი, რომელშიც მითითებულია მეთოდის პარამეტრები:

დაგეგმილი სამუშაო

Პარამეტრები(Პარამეტრები)

გამოყენება:

Წაიკითხე და დაწერე.

აღწერა:

ტიპი: მასივი. პარამეტრების მასივი დაგეგმილი ამოცანისთვის. პარამეტრების რაოდენობა და შემადგენლობა უნდა შეესაბამებოდეს რუტინული დავალების მეთოდის პარამეტრებს.

ხელმისაწვდომობა:

სერვერი, სქელი კლიენტი, გარე კავშირი.

Შენიშვნა:

წაკითხვისა და ჩაწერის შესაძლებლობები ხელმისაწვდომია მხოლოდ ადმინისტრატორისთვის.

მოცილება

წაშლილია ამოცანის ობიექტის Delete() მეთოდის გამოყენებით:

ScheduledTask.Delete();

სამუშაო ობიექტის მიღება

  • სია GetRoutineTasks მეთოდით:

Routine = RoutineTasks.GetRoutineTasks(Selection);

  • დავალების მენეჯერის მეთოდის FindByUniqueIdentifier-ის მეშვეობით:

ამოცანა = ScheduledTasks.FindByUniqueIdentifier(UID);