Гэр / Интернет / 1-р арын даалгавар ажиллаж байгаа хэрэглэгчийн доор. Програмчлалын дагуу суурь ажлыг эхлүүлэх. Төлөвлөсөн болон үндсэн ажил

1-р арын даалгавар ажиллаж байгаа хэрэглэгчийн доор. Програмчлалын дагуу суурь ажлыг эхлүүлэх. Төлөвлөсөн болон үндсэн ажил

Шинэчлэгчээс 1С мэдээллийн сангийн хуваарьт ажлуудыг удирдах

2018-11-20T15:18:30+00:00

Энэ тэмдэглэлд мэдээллийн сан дахь хуваарьт ажлуудыг удирдах шинэчлэгчийн чадварыг харцгаая.

Юуны өмнө "Илүү" -> "Хуваарьт ажлуудыг удирдах ..." хэсэгт:

AT контекст цэстусгай суурь (эсвэл суурь бүлэг):

Эцэст нь, багц скриптүүдийн загваруудад (энэ нь хуваарийн дагуу скриптээс хуваарьт ажлуудыг гүйцэтгэх боломжийг танд олгоно):

Өгөгдлийн сан дахь хуваарьт ажлуудыг удирдах харилцах цонх дараах байдалтай байна.

Хүссэн бүлэгт (эсвэл нэг суурь) ямар даалгавруудыг шийдвэрлэх боломжийг танд олгодог вэ?

Төлөвлөсөн ажлуудыг сонгох

Доорх олон үйлдлээс төлөвлөсөн ажлуудын жагсаалтыг сонгох чадварт анхаарлаа хандуулаарай.

Гэхдээ сонгох харилцах цонхонд таны үндсэн дээр тусгайлан төлөвлөсөн ажлууд байхгүй байж болно:

Энэ тохиолдолд та "Өөрийн даалгаврууд ..." хэсэгт шаардлагатай хуваарьт ажлуудын нэрийг зааж өгч болно, жишээлбэл:

Ийм хуваарьт ажлуудын нэрийг бүх хуваарьт ажлын тайлангаас шууд авч болно (үүнийг тайлбарласан болно).

Ажлын байрны одоогийн байдлыг харуулж байна

Үүнийг хийхийн тулд "Татгалзах" таб руу очоод "Татах..." товчийг дарна уу.

Үр дүнгээс бид харж болно:

  1. 1С сервер дээр шинэ хуваарьт ажлуудыг эхлүүлэхийг идэвхжүүлсэн эсвэл идэвхгүй болгосон.
  2. Мэдээллийн сан дахь төлөвлөсөн ажлуудын жагсаалт.
  3. Тэдний хуваарь.
  4. Ажлыг идэвхжүүлсэн эсвэл идэвхгүй болгосон.
  5. Хэрэв даалгаврын сүүлчийн ажил алдаатай байсан бол энэ алдаа нь даалгаврын хажууд улаанаар харагдана.

Шаардлагатай бол функцийн тохиргоонд бид төлөвлөсөн ажлуудын жагсаалтыг нарийсгахаас гадна зөвхөн идэвхжүүлсэн ажлуудыг харуулах боломжтой.

Бүх эсвэл зарим ажлыг унтраа

Үүнийг хийхийн тулд "Унтраах" таб руу очно уу:

Бүх эсвэл сонгосон хуваарьтай ажлууд "Ашиглах" нүдийг арилгана.

Энд нэг суурийн үр дүн байна (дэлгэрүүлэхийн тулд товшино уу)

Бүх юм уу зарим ажлыг оруул

Үүнийг хийхийн тулд "Идэвхжүүлэх" таб руу очно уу:

Бүх эсвэл сонгосон хуваарьт ажлуудыг ашиглахыг сонгох нүдийг сонгоно.

Энэ таб дээр "Make нөөцлөхсуурь" зүүн доод буланд.

Энд нэг суурийн үр дүн байна (дэлгэрүүлэхийн тулд товшино уу)

Бид 1С сервер дээр төлөвлөсөн ажлуудыг эхлүүлэх ажлыг удирддаг

Үүнийг хийхийн тулд "Server 1C" таб руу очно уу.

"Блок" эсвэл "Блоклох" гэснийг сонгоод "Ажиллуулах" товчийг дарна уу.

Ажлын хуваарийг тохируулах

Гэхдээ бид олон мэдээллийн санд нэгэн зэрэг даалгаврыг (эсвэл бүлэг ажлыг) эхлүүлэх хуваарь гаргах шаардлагатай бол яах вэ?

Үүнийг хийхийн тулд "Хуваарь тохируулах" таб руу очно уу.

Бид хуваарийг тохируулсан (харилцах цонх болон түүний боломжууд нь 1С-ийн ердийнхтэй бүрэн адилхан) "Тохиргоо ..." дээр дарна уу.

Гүйцэтгэх ажлуудыг эхлүүлж байна

Үүнийг хийхийн тулд "Эхлүүлэх" таб руу очно уу:

Хүссэн ажлуудаа сонгоод "Эхлүүлэх" товчийг дарна уу:

Ажлын тохиргоог гадаад файлд хадгалж байна

Бид өгөгдлийн сангийн аль нэгэнд хуваарьт даалгавруудыг хамгийн сайн тохируулсан бөгөөд эдгээр тохиргоог бусад бүх мэдээллийн сан руу шилжүүлэхийг хүсч байна гэж бодъё.

Үүнийг хийхийн тулд бид эхлээд хамгийн тохиромжтой мэдээллийн сан дахь ажлын бүх тохиргоог гадаад файл руу байршуулна.

Ажлын тохиргоог гадаад файлаас сэргээж байна

Тэгээд бид ажлын тохиргоотой энэ файлыг бусад бүх мэдээллийн санд ачаална.

Энэ даалгаврын хувьд (ажлын тохиргоог нэг мэдээллийн сангаас бусад руу шилжүүлэх) би дотоод таниулбараар бус ажлын нэрээр тохирох аргыг сонгосон гэдгийг анхаарна уу.

салах үг

Ерөнхийдөө энэ бол миний хэлэхийг хүссэн зүйл юм. Би өөрөө шинэ боломжуудыг ашиглах олон хувилбаруудыг харж байгаа боловч энд би зүгээр л гол санаануудыг тоймлон үзсэн.

Платформууд: 1С: Аж ахуйн нэгж 8.3, 1С: Аж ахуйн нэгж 8.2, 1С: Аж ахуйн нэгж 8.1
Тохиргоо: Бүх тохиргоо

2012-11-13
53989

Ажлын урсгалд үе үе гүйцэтгэх шаардлагатай ажлууд байдаг - жишээлбэл, хорьдугаар өдөр эсвэл өдөр бүр. Дүрмээр бол компаниудад тусгайлан шаардлагатай ажлыг хэзээ, хэрхэн гүйцэтгэх, үйл явцыг хэн хянах ёстойг харуулсан тодорхой дүрмийг бий болгодог. Ийм ажлуудыг журмын дагуу гүйцэтгэдэг бөгөөд зохицуулалттай гэж нэрлэдэг.

Ихэнх тохиолдолд МТ нь хяналтын дүрмийг дагаж мөрддөг. Энэ аргыг администраторууд сайн мэддэг, учир нь байдаг тусгай хөтөлбөрүүдсүлжээний дэд бүтэц, серверийн эрүүл мэндийг үе үе шалгахад ашигладаг. Тэд илэрсэн асуудлын талаар администраторт SMS эсвэл цахим шуудангаар мэдэгдэнэ.

Үүнтэй төстэй систем нь вэбмастеруудад зориулагдсан бөгөөд сайтын бэлэн байдлыг 24 цагийн дотор шалгадаг. 1С дахь "Тогтмол ажил" механизмыг ашиглан хяналтын даалгаврууд, түүнчлэн хуваарьт заасан үечилсэн ажлуудыг гүйцэтгэдэг. автомат горим 1С-д. Энэ сэдвийг илүү нарийвчлан авч үзье.

Төлөвлөсөн даалгавар 1С

"Тогтмол ажлууд" гэж нэрлэгддэг объект 1С нь мэдээллийг асуудал гарсны дараа биш харин хуваарийн дагуу боловсруулах боломжийг олгодог. Тохируулагчид ердийн даалгаварсонголт хийх, хуваарь гаргах арга юм. Нэмж дурдахад 1С Enterprise горимд хуваарийг дараа нь өөрчлөх боломжтой.

Файлын мэдээллийн санг ашиглах үед ажлууд автоматаар гүйцэтгэгдэхгүй. Процессыг эхлүүлэхийн тулд та 1С Enterprise горимд 1С сессийг эхлүүлж, хуваарьт даалгавраа гүйцэтгэж эхлэх хэрэгтэй.

Бүх ердийн тохиргоонууд нь 1С ажиллаж байх үед ердийн ажлууд автоматаар хийгдэх болно гэдгийг тодруулах боломжийг олгодог хэрэглэгчийн тохиргоотой байдаг.

1С-ийн клиент-сервер хувилбарыг ашиглах нь сервер дээрх ажлыг автоматаар гүйцэтгэх боломжтой болгодог. Төлөвлөсөн цагт шаардлагатай үйлдлүүдийг гүйцэтгэдэг суурь даалгаврыг эхлүүлнэ. Сервер дээр зэрэгцээ тооцоолохын тулд төлөвлөсөн 1С даалгаврыг ашиглахгүйгээр 1С хэлийг ашиглан програмын текстээс дэвсгэр даалгаврыг үүсгэж болно. Хуваарьт даалгаврын үйлдлийг 1С серверийн удирдлагын консол ашиглан түр хугацаанд идэвхгүй болгож болно.

Хуваарьт ажил нэмэх

Хуваарьт даалгаврууд нь — Тохируулагч — Ерөнхий — Хуваарьт ажлууд хэсэгт байрлана. Шинэ "даалгавар" нэмээд нэр өгнө үү. Дараа нь та "Даалгавар" -ын шинж чанарууд руу очих хэрэгтэй. Мөн аргын нэрийг сонгоно уу. Энд та үйл явдлын захиалгад тохиолддог шиг зохицуулагч функцийг зааж өгөх хэрэгтэй. Энэ функц нь ерөнхий модульд байрлаж, шинж чанаруудад "шувуу" серверээр тэмдэглэгдсэн байх болно. Энэ нь шаардлагатай модулийг урьдчилан нэмэх шаардлагатай гэсэн үг юм.

Төлөвлөсөн даалгаврын шинж чанар дахь даалгаврын нэр нь түүний нэрийг тодорхойлох боломжийг олгодог бөгөөд энэ нь дараа нь даалгаврын удирдлагын хэрэгслүүдэд гарч ирэх болно. Хуваарьт ажлын шинж чанарын функц нь хэд хэдэн өөр өөр хуваарьт ажлыг бүлэглэх боломжийг олгодог түлхүүр юм. Энэ тохиолдолд зөвхөн нэг ажлыг нэгэн зэрэг эхлүүлэх боломжтой ижил утгатайтүлхүүр. Энд утга нь дур зоргоороо байж болох боловч хоосон утгыг систем харгалзан үзэхгүй тул заавал бөглөх шаардлагатай.

Ердийн тохиргоо болох Нягтлан бодох бүртгэлийн 2.0 хувилбарт "Нийт дүнг дахин тооцоолох", "Тохиргоог шинэчлэх" гэх мэт хуваарьт ажлуудыг урьдчилан тодорхойлсон бөгөөд жишээлбэл, "Хойшлогдсон хөдөлгөөн", "Өгөгдөл солилцох" гэх мэт ажлуудыг урьдчилан тодорхойлоогүй болно.

Гэмтлийн дахин оролдлого - Ажиллаж байгаа ажлыг дахин эхлүүлнэ. Эхний удаа амжилттай дуусаагүй хөөргөхөд зориулж өгсөн. Энд та хэдэн удаа дахин эхлүүлэх боломжтой, ослын дараа хэр удаан ажиллаж болохыг зааж өгсөн болно.

Төлөвлөсөн даалгавар 1С-ийн хяналт, удирдлагын хэрэгсэл

Стандарт боловсруулалтын "Ажлын консол" нь хуваарьт ажлыг удирдах үүрэгтэй бөгөөд үүнийг ITS дискнүүдээс олж болно. Энэ боловсруулалт 1С-ийн бүх нийтийн гадаад стандарт боловсруулалт юм. Дүрмээр бол энэ нь тохиргоонд ороогүй боловч тусад нь худалдаж авдаг.

Түүний тусламжтайгаар та дараах үйлдлүүдийг хийж болно.

Төлөвлөсөн ажлыг асаах, унтраах;

Хуваарийг хуваарилах, өөрчлөх;

Төлөвлөсөн ажлыг гүйцэтгэх хэрэглэгчийн нэрийг зааж өгөх;

Гүйцэтгэсэн даалгаврууд (хэзээ, ямар үр дүнд хүрсэн), мөн ажлын алдааг харах;

Төлөвлөсөн даалгавар болон мэдээллийн сангийн хуулбар

1С серверийг ашиглах үед дараах мөч үүсч болно.

Програмчлалын хувьд та ажлын мэдээллийн сангийн хуулбарыг хийх хэрэгтэй;

Мэдээллийн сангийн хуулбар дээр ажиллах хэрэгцээ (туршилт);

Зарим шалтгааны улмаас хуваарьт даалгавар туршилтын мэдээллийн санд идэвхжээгүй байна.

Хэрэв эдгээр нөхцөл байдлын аль нэг нь зөвхөн өөрийн мэдээллийн сантай холбоотой хуваарийн дагуу даалгавруудыг гүйцэтгэх явцад үүссэн бол энэ нь сөрөг үр дагаварт хүргэхгүй. Гэхдээ ихэвчлэн хуваарьт ажил нь файл эсвэл бусад өгөгдлийг хадгалах, имэйл илгээх, солилцох боломжтой. Энэ тохиолдолд "ажлын" үр дүн болон хуулбарын хооронд төөрөгдөл үүсч болно. Үүнээс урьдчилан сэргийлэхийн тулд та серверийн удирдлагын консол дээрх "даалгавар" -ыг идэвхгүй болгох хэрэгтэй.

Гүйцэтгэсэн болон дуусаагүй ердийн ажлууд

Төлөвлөсөн ажлуудыг хийхдээ тухайн ажлыг хуваарийн дагуу гүйцэтгэх боломжтой эсэхийг шалгах нь чухал юм. Серверийн модуль нь үйлчлүүлэгч дээр боломжтой олон зүйлийг өгдөггүй гэдгийг мэдэх нь чухал юм. Дараа нь, үндсэн суурь - эрхээс гадуурх ямар нэг зүйлийг шийдвэрлэх үүрэг нь үүнд чухал үүрэг гүйцэтгэдэг. Windows хэрэглэгч, үүний дагуу даалгавар гүйцэтгэж байна.

Сүүлийн хүчин зүйл нь ялангуяа чухал юм, учир нь хэрэв модуль сервер дээр ажиллаагүй бол даалгаврыг зарчмын хувьд гүйцэтгэх боломжгүй болно. Шалгахын тулд та нэг ажлыг хийж, үр дүнг үнэлэх хэрэгтэй.

Асинхрон програмчлалын тухай ойлголт

Асинхрон програмчлалын үзэл баримтлал нь функцийн гүйцэтгэлийн үр дүн шууд гарч ирэхгүй, харин хэсэг хугацааны дараа асинхрон (хэвийн гүйцэтгэлийн дарааллыг зөрчих) дуудлага хэлбэрээр гарч ирдэг.

Тэдгээр. Асинхрон програмчлалын гол санаа нь дуудлагыг дуустал хүлээхгүйгээр бие даасан аргын дуудлагуудыг эхлүүлж, бусад ажлыг зэрэгцүүлэн хийх явдал юм.

Үл хамаарах магадлалыг багасгасан зарим аргууд нь асинхрон хандлагыг шаарддаггүй, харин бусад нь хөгжлийн эхэн үед үүнийг шаарддаг.

Графикаас харахад синхрон програмчлалын загварт хэрэглэгчийн ашигтай интерактив үйлдлийн коэффициент байхгүй, учир нь систем нь хэрэглэгчийн интерфэйсийг блоклодог бол асинхрон загварт хэрэглэгч системд идэвхтэй ажилласаар байна.

Синхроноор ажиллах үед програм нь зөвхөн нэг урсгалтай байдаг. Асинхрон програмчлалын загвараар та олон зэрэгцээ хэлхээг ажиллуулж, хэрэглэгчийн шинэ үйлдэлд хариу үйлдэл үзүүлэх боломжтой. n-thread хийж дууссаны дараа та үр дүнг дэлгэц дээр харуулна.

1С: Enterprise 8 дахь үндсэн даалгавар

1C: Enterprise 8-д суурь ажлууд нь хэрэглээний даалгавруудыг асинхроноор гүйцэтгэхэд зориулагдсан. Тэд жишээлбэл, клиент-серверийн горимд кластерын өөр өөр серверүүд дээр нарийн төвөгтэй тооцооллыг зэрэгцүүлэхийн тулд хүүхдийн суурь ажлыг үүсгэж болно.

Тодорхой хэрэглээний шинж чанарын дагуу ижил аргуудтай суурь ажлуудын гүйцэтгэлийг хязгаарлах боломжтой. Арын ажлын байруудыг программчлан үүсгэх, удирдах нь ямар ч хэрэглэгчийн холболтоос боломжтой мэдээллийн баазсистемүүд. Суурь ажил нь үүнийг үүсгэсэн хэрэглэгчийн хувиар ажилладаг.

Даалгаврын механизм нь клиент-сервер болон ажлын файлын хувилбаруудад хоёуланд нь ажилладаг боловч хоёр хувилбарт даалгавруудыг удирдах, гүйцэтгэх боломжууд нь арай өөр байдаг.

Үйлчлүүлэгч-сервер сонголт

Үйлчлүүлэгч-серверийн хувилбарт кластер менежерт байрладаг даалгавар төлөвлөгч нь даалгаврын гүйцэтгэлийг төлөвлөх үүрэгтэй.

Төлөвлөгч нь далд ажлыг гүйцэтгэх хүсэлтийг үе үе шалгадаг. Гүйцэтгэх шаардлагатай ажлууд байгаа бол төлөвлөгч нь хамгийн бага ачаалалтай кластерын ажилтны үйл явцыг тодорхойлж, гүйцэтгэх үүрэг даалгаврыг дарааллаар нь өгдөг. Тиймээс ижил ажлын урсгал нь олон ажлыг зэрэгцүүлэн ажиллуулж болно. Ажлын урсгал нь даалгаврыг хүлээн авсны дараа ажлын урсгал нь мэдээллийн сантай холболт үүсгэж, энэ холболтын хүрээнд даалгаврыг гүйцэтгэдэг. Ажил дууссаны дараа ажлын явц амжилттай эсвэл бүтэлгүйтлийн талаар төлөвлөгчид мэдэгдэнэ.

Файлын сонголт

Платформын 8.3.3.641 хувилбараас эхлэн хөгжүүлэгчид файлын хувилбарт суурь ажлуудтай ажиллах ажлыг ихээхэн хялбаршуулсан.

Өмнө нь даалгавруудыг автоматаар гүйцэтгэхийн тулд даалгавар төлөвлөгч болгон ашигладаг тусдаа, нэмэлт 1С: Enterprise сессийг эхлүүлэх шаардлагатай байв. Мөн энэ хуралдаанд суулгасан хэлний аргыг үе үе гүйцэтгэх шаардлагатай байв ExecuteProcessingJobs().Энэ арга нь нэлээд төвөгтэй, тохиромжгүй байсан бөгөөд ажлын файлын хувилбарт суурь болон хуваарьт ажлуудын хэрэглээг эрс хязгаарласан.

Одоо бүх зүйл илүү хялбар болсон. Хэрэв нимгэн эсвэл зузаан клиент ажиллаж эхлэх эсвэл вэб сервер нь клиент холболттой бол эдгээр програмууд бүр мэдээллийн сантай холбогдсон өөр урсгалыг автоматаар эхлүүлдэг. Эдгээр утаснууд нь суурь болон хуваарьт ажлуудыг гүйцэтгэдэг.

Эдгээр програмууд тус бүр өөрийн үндсэн ажлыг гүйцэтгэдэг. Хэрэв програм хэд хэдэн үндсэн ажлыг эхлүүлсэн бол тэдгээрийг хүлээн авсан дарааллаар нь дараалан гүйцэтгэнэ.

Мэдээж хасах 1С суурь ажил: тэдгээр нь серверийн талд хийгдэж байгаа тул хэрэглэгчтэй интерактив ажиллах боломжгүй (жишээлбэл, та мессеж эсвэл бусад мэдээллийг харуулах боломжгүй; энэ бүх өгөгдлийг мэдээллийн санд хадгалж, цаашид ямар нэгэн байдлаар боловсруулах ёстой) .

Суурь ажлууд нь цэвэр программчлагдсан объект бөгөөд мэдээллийн санд хадгалах боломжгүй гэдгийг тэмдэглэх нь зүйтэй. Өөрөөр хэлбэл, бид зөвхөн тухайн ангийн жишээг үүсгэж, шинж чанарыг нь эхлүүлж, гүйцэтгэхээр ажиллуулж болно.

1C: Enterprise 8 дээр асинхрон кодыг гүйцэтгэх жишээ

“Функцийн дуудлагын үр дүн үл мэдэгдэх цагт ирдэг программ бичих нь энгийн программуудаас хамаагүй хэцүү байдаг. Оруулсан дуудлага, алдаатай ажиллах, юу болж байгааг хянах - бүх зүйл илүү төвөгтэй болж байна "гэж платформын чадварыг хэрхэн зөв ашиглахаа мэдэхгүй хүмүүс л хэлэх болно, гэхдээ бид биш!

1C: Enterprise 8 дээр асинхрон кодыг гүйцэтгэх бүх энгийн, дэгжин байдлыг харуулцгаая!

1-р алхам.Тохиргоо боловсруулах шинэ IB үүсгэцгээе

Алхам 2Тохиргоонд "AsynchronousHandlers" ерөнхий модулийг нэмнэ үү.

Бид яагаад нийтлэг модуль нэмсэн бэ? Энд бүх зүйл энгийн байдаг: 1C: Enterprise 8-д асинхрон үйлдлүүдийг гүйцэтгэхийн тулд өөрийн менежер болох "BackgroundTask Manager" бүхий суурь даалгавруудыг ашигладаг. Энэ объект нь "Run" аргатай бөгөөд үүний тусламжтайгаар суурь даалгаврыг эхлүүлдэг.

Синтакс туслах руу хандъя.

Тиймээс бидэнд нийтлэг модуль хэрэгтэй болно.

Алхам 3"AsynchronousHandlers" ерөнхий модульд OurDurationOperation() экспортын процедурыг нэмье.

Процедур OurDurationOperation(Duration) Экспорт // Үргэлжилсэн үйлдлийн загварчлал (Үргэлжлэх хугацаа сек.). OperationStartDate = CurrentDate(); While CurrentDate() - OperationStartDate< Длительность Цикл КонецЦикла; КонецПроцедуры

Алхам 4Бид "AsynchronousProgrammingConcept" боловсруулалтыг тохиргоонд нэмнэ (та гадаад боловсруулалтыг үүсгэж болно)

Маягтанд нэг атрибут нэмнэ үү:

Үргэлжлэх хугацаа (Тоо)

ба хоёр баг

Урт хугацааны үйл ажиллагаа явуулах;

Long-runningOperation-г асинхроноор гүйцэтгэнэ.

Алхам 5Синтаксийн туслахын дагуу маягтын модулийг бөглөнө үү

&AtClient процедур PerformLongOperation(Command) PerformLongOperationOnServer(); EndProcedure &OnServer Procedure PerformLongOperationOnServer() AsynchronousHandlers.OurLongOperation(Duration); EndProcedure &OnClient Procedure ExecuteLong-runningOperationAsynchronously(Command) ExecuteLong-runningOperationAsynchronouslyOnServer(); EndProcedure &AtServer Procedure PerformLong-runningOperation AsynchronouslyAtServer() Параметрүүд = Шинэ массив; Параметрүүд.Нэмэх(Үргэлжлэх хугацаа); BackgroundJobs.Run("AsynchronousHandlers.Our LongOperation", Параметрүүд, Шинэ UniqueIdentifier, "Асинхрон програмчлалын концепцийн жишээ"); Төгсгөлийн процедур

Алхам 6Бид эхлүүлж, шалгана уу!

Үр дүн:

Хэрэв бид "Урт ажиллагаа гүйцэтгэх" товчийг дарвал хэрэглэгчийн интерфэйс "Үргэлжлэх хугацаа" секундын турш хаагдана;

Хэрэв бид "Удаан үргэлжилсэн үйлдлийг асинхроноор гүйцэтгэх" товчийг дарвал хэрэглэгчийн интерфэйс хаагдахгүй бөгөөд програмын код зэрэгцэн ажиллана.

Програмын код асинхрон ажиллаж байгаа эсэхийг бид бүртгэлээс харж болно.

Хэрэв бид дибаг хийх сонголтуудад тохирох шинж чанарыг тохируулбал "арын дэвсгэр" дээр ажилладаг програмын кодыг дибаг хийх боломжтой.

BSP ашиглан 1C: Enterprise 8 дээр асинхрон кодыг гүйцэтгэх жишээ

1С: Enterprise 8-д асинхрон програмчлалын концепцийг BSP дээр хэрэгжүүлэх жишээг Одоогийн үйл явдлыг боловсруулах жишээн дээр авч үзье.

Логик нь дараах байдалтай байна: програмыг эхлүүлэх явцад нүүр хуудасны ажлын талбарыг эхлүүлж, "Одоогийн үйл явдал" боловсруулах маягтыг харуулах боломжтой. Энэ маягт нь хэрэглэгчийн одоогийн үйл явдлуудаар дүүрэн бөгөөд үүнийг бөглөхөд цаг хугацаа шаардагдана. Хэрэв хөгжүүлэгчид кодыг асинхроноор гүйцэтгэх чадваргүй байсан бол боловсруулах маягтыг бөглөх хугацаанд хэрэглэгчийн интерфейс хаагдах болно!

Маягтын програмын кодыг шинжилье.

"OnCreateOnServer" хэлбэрийн үйл явдал нь "RunBackgroundJob" процедурыг дууддаг - энэ нь бидэнд хэрэгтэй зүйл юм.

Нарийн мэдрэмжинд сатааралгүйгээр бид энэ процедурт дүн шинжилгээ хийдэг

Энд бид арын ажлын менежер болон түүний Гүйцэтгэх аргыг ашиглаж байгааг харж байна. Хөгжүүлэгчид өвөрмөц дэвсгэр ажлын ID-г хадгалдаг гэдгийг анхаарна уу.

Үүнийг хийхийн тулд хөгжүүлэгчид энэ аргыг ашигладаг ConnectWaitingHandler(<ИмяПроцедуры>, <Интервал>, <Однократно>).



Дэгээ процедурт Pluggable_CheckJobExecution()хөгжүүлэгчид функцийг дууддаг Ажил дууссан(ажлын дугаар)


Энэ функц нь ID-аар суурь ажлын гүйцэтгэлийг шалгадаг.

BSP хөгжсөн гэдгийг тэмдэглэх нь зүйтэй нийтлэг модулиудсерверийн урт хугацааны үйл ажиллагааг дэмжих.

Тиймээс 1C: Enterprise 8 дахь програмчлалын асинхрон үзэл баримтлал нь хөгжүүлэгчийн асуудлыг шийдвэрлэх нарийн төвөгтэй байдлыг бага зэрэг нэмэгдүүлдэг боловч хэрэглэгчийн үүднээс програмын үйл ажиллагааг эрс сайжруулдаг.

1С дээр ажиллахдаа нэг буюу өөр үйлдлийг гүйцэтгэх замаар хуваарийн дагуу эхлүүлэх эсвэл бүрдүүлэх ёстой олон ердийн үйлдлүүд байдаг, жишээлбэл: баримт бичгийг нийтлэх, сайтаас 1С руу өгөгдөл ачаалах.

Би саяхан нэг нийтлэл нийтэлсэн: үүнийг автоматжуулах цаг болжээ:

Төлөвлөсөн болон үндсэн ажил

Ажлын механизм нь аливаа програм эсвэл функцийг хуваарийн дагуу эсвэл асинхроноор гүйцэтгэхэд зориулагдсан.

Ажлын механизм нь дараахь ажлуудыг гүйцэтгэдэг.

  • Системийн тохиргооны үе шатанд ердийн горимуудыг тодорхойлох чадвар;
  • Заасан арга хэмжээг хуваарийн дагуу гүйцэтгэх;
  • Өгөгдсөн процедур эсвэл функц руу дуудлага хийх нь асинхрон, өөрөөр хэлбэл. дуусгахыг хүлээхгүйгээр;
  • Тодорхой ажлын явцыг хянах, түүний гүйцэтгэлийн статусыг авах (түүний гүйцэтгэлийн амжилт эсвэл бүтэлгүйтлийг илтгэх утга);
  • Одоогийн ажлуудын жагсаалтыг авах;
  • Нэг буюу хэд хэдэн ажлыг дуусгахыг хүлээх чадвар;
  • Ажлын менежмент (цуцлах боломж, гүйцэтгэлийг хаах гэх мэт).

Ажлын хөдөлгүүр нь дараахь бүрэлдэхүүн хэсгүүдээс бүрдэнэ.

  • Төлөвлөсөн ажлуудын мета өгөгдөл;
  • Төлөвлөсөн даалгавар;
  • Суурь ажил;
  • Даалгавар хуваарьлагч.

Арын даалгаврууд нь програмын даалгавруудыг асинхроноор гүйцэтгэхэд зориулагдсан. Суурь ажлуудыг суулгасан хэлийг ашиглан хэрэгжүүлдэг.

Төлөвлөсөн ажлууд ба хуваарьт ажлуудыг гүйцэтгэхэд зориулагдсан. Төлөвлөсөн ажлууд нь мэдээллийн санд хадгалагдаж, тохиргоонд тодорхойлсон мета өгөгдөл дээр тулгуурлан бүтээгддэг. Хуваарьт ажлын мета өгөгдөл нь нэр, арга, хэрэглээ гэх мэт мэдээллийг агуулдаг.

Төлөвлөсөн ажил нь төлөвлөсөн ажилтай холбоотой аргыг хэдэн цагт гүйцэтгэх ёстойг тодорхойлдог хуваарьтай байдаг. Хуваарийг дүрмээр бол мэдээллийн санд тохируулдаг боловч тохиргооны үе шатанд тохируулж болно (жишээлбэл, урьдчилан тодорхойлсон хуваарьт ажлуудын хувьд).

Даалгаврын хуваарь гаргагч нь төлөвлөсөн ажлуудын гүйцэтгэлийг төлөвлөхөд ашиглагддаг. Төлөвлөсөн ажил бүрийн хувьд хуваарь гаргагч нь тухайн ажил байгаа эсэхийг үе үе шалгадаг Одоогийн огнооболон төлөвлөсөн ажлын цагийн хуваарь. Хэрэв энэ нь таарч байвал хуваарь гаргагч тухайн ажлыг гүйцэтгэхээр төлөвлөдөг. Үүнийг хийхийн тулд энэ хуваарьт даалгаврын дагуу төлөвлөгч нь бодит боловсруулалтыг гүйцэтгэдэг суурь даалгаврыг үүсгэдэг.

Тайлбарын дагуу энэ нь хангалттай гэж бодож байна - хэрэгжилт рүүгээ орцгооё:

Хуваарьт ажлын байр бий болгох

Аргын нэр– заасан хуваарийн дагуу суурь даалгаварт гүйцэтгэх процедурын зам. Процедур нь хуваалцсан модульд байх ёстой. Ердийн нийтлэг модулиудыг ашиглахгүй байхыг зөвлөж байна, харин өөрөө үүсгэхийг зөвлөж байна. Арын даалгаврууд сервер дээр ажилладаг гэдгийг бүү мартаарай!

Хэрэглээ- хуваарьт даалгаврыг ашиглах шинж тэмдэг.

урьдчилан тодорхойлсон– төлөвлөсөн ажил нь урьдчилан тодорхойлсон эсэхийг заана.

Хэрэв та төлөвлөсөн ажлыг мэдээллийн санд байршуулсны дараа шууд ажиллахыг хүсвэл тэмдгийг зааж өгнө үү урьдчилан тодорхойлсон. Үгүй бол та "Ажлын консол" боловсруулалтыг ашиглах эсвэл программчлан ажиллуулахын тулд ажлыг дуудах шаардлагатай болно.

Ажил гацах үед дахин оролдох тоо– арын ажлыг алдаатай гүйцэтгэсэн бол хэдэн удаа дахин эхлүүлсэн.

Ажлыг цуцлах дахин оролдох интервал– арын даалгаврыг алдаатай гүйцэтгэсэн тохиолдолд хэр олон удаа дахин эхлүүлэх вэ.

Хуваарийн тохиргоо

Хуваарьдаалгаврын гүйцэтгэл:

Цаг бүр, нэг л өдөрДахин оролдох PeriodDays = 0, Дахин оролдох PeriodDuringDay = 3600
Өдөр бүр өдөрт нэг удааДахин оролдох Perioddays = 1, PeriodDuringDay = 0
Нэг өдөр, нэг удааДахин оролдох хугацааны өдрүүд = 0
Өдөр бүр, өдөрт нэг удааДахин оролдох хугацаа = 2
Өдөр бүр 01.00-07.00 цаг бүрRetryPeriodDays = 1RepeatPeriodDay = 3600StartTime = 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

Файл болон клиент-сервер хувилбарт далд даалгавруудыг гүйцэтгэх онцлог

Файл болон клиент-серверийн хувилбаруудад далд ажлыг гүйцэтгэх механизм нь өөр өөр байдаг.

Файл форматаарта үндсэн даалгавруудыг гүйцэтгэх тусгай үйлчлүүлэгчийн процессыг бий болгох хэрэгтэй. Үүнийг хийхийн тулд ExecuteJobProcessing глобал контекст функцийг үйлчлүүлэгчийн процесст үе үе дуудаж байх ёстой. Нэг мэдээллийн баазад зөвхөн нэг клиент процесс нь далд ажлуудыг боловсруулах ёстой (тиймээс залгах энэ функц). Хэрэв үндсэн ажлуудыг боловсруулах үйлчлүүлэгчийн процесс үүсгээгүй бол ажлын хөдөлгүүрт программчлан нэвтрэх үед "Ажлын менежер идэвхгүй байна" гэсэн алдаа үүснэ. Бусад функцүүдэд далд ажлуудыг боловсруулдаг клиент процессыг ашиглахыг зөвлөдөггүй.

Суурь ажлуудыг зохицуулдаг үйлчлүүлэгчийн процесс ажиллаж дууссаны дараа бусад үйлчлүүлэгчийн процессуудад боломж олгоно програмын хандалтарын ажлын механизм руу, өөрөөр хэлбэл. суурь ажлуудыг ажиллуулж, удирдах боломжтой.

Үйлчлүүлэгч-сервер хувилбартСуурь ажлуудыг гүйцэтгэхийн тулд кластер менежерт физик байдлаар байрладаг даалгавар төлөвлөгчийг ашигладаг. Бүх дараалалд байгаа арын ажлын хуваарь гаргагч нь хамгийн бага ачаалалтай ажилчны процессыг авч, харгалзах суурь ажлыг гүйцэтгэхэд ашигладаг. Ажилчдын үйл явц нь ажлыг гүйцэтгэж, гүйцэтгэлийн үр дүнг төлөвлөгчид мэдэгддэг.

Үйлчлүүлэгч-сервер хувилбарт хуваарьт даалгаврын гүйцэтгэлийг хаах боломжтой. Төлөвлөсөн ажлуудын гүйцэтгэлийг хаах нь дараахь тохиолдолд тохиолддог.

  • Мэдээллийн сан дээр хуваарьт ажлуудыг тодорхой хориглосон. Түгжээг кластерийн консолоор тохируулж болно;
  • Мэдээллийн сан дээр холболтын блок тохируулагдсан. Түгжээг кластерийн консолоор тохируулж болно;
  • SetExclusiveMode() аргыг True параметртэй суурилагдсан хэлнээс дуудсан;
  • Бусад зарим тохиолдолд (жишээлбэл, мэдээллийн сангийн тохиргоог шинэчлэх үед).

Төлөвлөсөн ажлуудыг эхлүүлэх, үзэхийг боловсруулж байната эндээс татаж авах боломжтой.

Баримт бичгийн удирдлага, нягтлан бодох бүртгэлийн зарим ажлыг үе үе гүйцэтгэх шаардлагатай байж болно. Жишээлбэл, хорьдугаар тоонууд дээр. Эсвэл өдөр бүр.

Ихэвчлэн компани ийм даалгаврыг хэрэгжүүлэх дүрмийг бий болгохыг хичээдэг - хэн, хэзээ, хэрхэн даалгаврыг гүйцэтгэх, хэн хянах ёстой.

Ийм ажлуудыг - зохицуулалттай, өөрөөр хэлбэл журмын дагуу гүйцэтгэдэг гэж нэрлэдэг.

Мэдээллийн технологийн хувьд хяналт нь ихэвчлэн тогтмол байдаг.

Үүнийг системийн администратор сайн мэддэг - серверүүд болон сүлжээний дэд бүтцийн гүйцэтгэлийг үе үе шалгаж, администраторт SMS эсвэл имэйлийг мэдээлдэг тусгай програмууд байдаг.

Вэбмастеруудад ижил төстэй зүйлүүд байдаг - өдрийн цагаар сайтын бэлэн байдлыг шалгах.

1С-д хяналтын даалгавар болон хуваарийн дагуу автоматаар гүйцэтгэх ёстой бусад үечилсэн ажлуудыг 1С хуваарьт даалгавар механизмыг ашиглан гүйцэтгэдэг.

Өнөөдөр тэдний талаар ярилцъя.

Төлөвлөсөн даалгавар 1С

Хуваарьт ажлуудыг 1С бол үүнийг хийдэг шигээ, гэхдээ хуваарийн дагуу гүйцэтгэх боломжийг олгодог.

Тохируулагч дахь 1С ердийн даалгавар нь тохиргоог зааж, хуваарийг тохируулах арга юм. Дашрамд хэлэхэд хуваарийг дараа нь 1С Enterprise горимд динамикаар өөрчилж болно.

Суурь даалгавруудыг 1С хэл дээрх програмын текстээс 1С - сервер дээр зэрэгцээ тооцоолохын тулд төлөвлөсөн даалгаваргүйгээр дур зоргоороо үүсгэж болно.

1С ердийн даалгаврын гүйцэтгэлийг түр хугацаанд идэвхгүй болгож болно.

Төлөвлөсөн даалгаврыг нэмж байна 1C

Хуваарьт даалгаврууд 1С нь Ерөнхий / Хуваарьт ажлууд 1С салбар дахь тохиргоонд байдаг. Шинэ хуваарьт даалгавар 1С нэмж, нэрийг нь зааж өгье.

Төлөвлөсөн даалгаврын 1С-ийн өмчид аргын нэрийг зааж өгсөн болно. Функц нь нийтлэг модульд байрлах бөгөөд шинж чанарт нь Серверийн хайрцгийг тэмдэглэсэн байх болно, өөрөөр хэлбэл модулийг урьдчилан нэмэх шаардлагатай.

Төлөвлөсөн даалгаврын шинж чанар 1С - Даалгаврын нэр - даалгаврын удирдлагын хэрэгсэлд ямар нэрээр даалгавар гарч ирэхийг тодорхойлдог.

Хуваарьт даалгаврын 1С-ийн өмч - Түлхүүр нь 1С-ийн хэд хэдэн өөр өөр хуваарьт ажлуудыг бүлэглэх боломжийг олгодог. Ижил түлхүүр утгатай зөвхөн нэг ажлыг нэгэн зэрэг ажиллуулж болно. Утга нь өөрөө дур зоргоороо байж болно. Хяналтын явцад хоосон утгыг тооцохгүй (өөрөөр хэлбэл бөглөөгүй гэж үзнэ).

Төлөвлөсөн 1С - Урьдчилан тодорхойлсон даалгаврын шинж чанар нь 1С Enterprise-ийг эхлүүлэх үед ийм даалгаварыг тохируулагч дээр заасан хуваарийн дагуу нэг хуулбараар үүсгэхийг тодорхойлдог. Хуваарь ирэхэд урьдчилан тодорхойлоогүй ажлууд программ ёсоор гарч ирнэ.

Жишээлбэл, Нягтлан бодох бүртгэлийн 2.0-ийн ердийн тохиргоонд Тохиргооны шинэчлэлт, Нийт дүнг дахин тооцоолох гэх мэт ердийн 1С даалгавруудыг урьдчилан тодорхойлсон бөгөөд өгөгдөл солилцох, хойшлуулсан хөдөлгөөн зэрэг нь урьдчилан тодорхойлогдоогүй байна.

Ашиглалт - даалгаврыг багтаасан (өөрөөр хэлбэл, энэ нь зөвхөн Хэрэглээний нүдийг сонгосон тохиолдолд л гүйцэтгэгдэх болно).

Гэмтлийн дахин оролдлого - таны таамаглаж байгаагаар даалгаврыг анх удаа амжилттай хийж чадаагүй бол дахин эхлүүлэхийг хэлнэ - энэ нь ослын дараа хэдэн удаа, хэдэн удаа дахин эхлүүлэхийг зааж өгнө.

1C хуваарьт ажлын удирдлага, хяналт

Төлөвлөсөн ажлуудыг удирдахын тулд 1C, Task Console-ийн тусгай ердийн боловсруулалт байдаг. Үүнийг мөн дээрээс олж болно.

Энэхүү боловсруулалт нь бүх нийтийн гадаад гэж нэрлэгддэг зүйлд хамаарна стандарт эмчилгээ 1C, энэ нь ихэвчлэн тохиргоонд ороогүй боловч тусад нь, жишээлбэл, ITS диск дээр тараагддаг.

Job Console Processing ашиглан та:

  • Төлөвлөсөн 1С даалгаврын гүйцэтгэлийг идэвхжүүлэх / идэвхгүй болгох
  • Төлөвлөсөн 1С даалгаврын хуваарийг (болон бусад параметрүүдийг) хуваарилах / өөрчлөх
  • Төлөвлөсөн 1С даалгаврыг түүний өмнөөс гүйцэтгэх 1С хэрэглэгчийг зааж өгнө үү
  • Харах - ямар даалгавар хэзээ, ямар үр дүнд хүрсэн, 1С даалгаврыг гүйцэтгэхэд гарсан алдаа
  • Даалгавар гүйцэтгэх.

Өгөгдлийн сангийн хуулбар ба ердийн даалгаврууд 1С

Хэрэв сервер 1С ашиглаж байгаа бол дараах нөхцөл байдал үүснэ.

  • Өөрсдийн зорилгоор (жишээлбэл, програмчлалын хувьд) ажлын мэдээллийн сангийн хуулбарыг хийдэг
  • Мэдээллийн сангийн хуулбар дээр үүнийг ажиллаж байна, туршиж байна гэх мэт.
  • Ийм туршилтын баазад ердийн 1С даалгавруудыг унтраахаа мартсан байна.

Ердийн 1С даалгаврууд нь зөвхөн мэдээллийн сантай холбоотой ажлуудыг гүйцэтгэдэг боловч үүнд юу ч байхгүй.

Гэсэн хэдий ч 1С-ийн ердийн ажлууд нь аливаа файлын өгөгдлийг бусад мэдээллийн санд хадгалах, солилцох, имэйл илгээх боломжтой байдаг.

Энэ тохиолдолд ажлын мэдээллийн сан дахь ердийн 1С даалгавруудыг гүйцэтгэх үр дүн болон хуулбаруудын хооронд сонирхолтой хольц гарч ирж магадгүй юм.

Ажлын баазын хуулбаруудад зориулсан 1С ердийн даалгавруудыг идэвхгүй болгосон байх ёстой.

Тогтмол даалгаврыг биелүүлэх, биелүүлэхгүй байх 1С

Хуваарьт даалгаврыг 1С үүсгэхдээ та дараахь зүйлийг санах хэрэгтэй.

  • Даалгавруудыг бие даан гүйцэтгэдэг - тэдгээрийг хянах шаардлагатай
  • Даалгавруудыг сервер дээрх модульд гүйцэтгэдэг
  • Даалгавруудыг өөр Windows хэрэглэгчийн дор, өөр эрхээр гүйцэтгэдэг.

Эхлээд та даалгавар ажиллаж байгаа эсэхийг шалгах хэрэгтэй бөгөөд үүнийг хуваарьт 1С даалгавар болгон гүйцэтгэх боломжтой.

Хоёрдугаарт, серверийн модуль нь үйлчлүүлэгч дээр байгаа олон зүйлийг ашиглах боломжгүй гэсэн үг юм. Жишээлбэл, заримдаа бүх баримт бичгийг зөвхөн сервер дээр байршуулах боломжгүй байдаг, учир нь тэдгээрийн алгоритм нь байршуулалтыг хэрэглэгч гараар эхлүүлж, серверийн бус функцуудыг ашиглаж болно.
Анхааруулга("Сайн уу!")

Гуравдугаарт, хэрэв даалгавар нь 1С баазаас гадуурх зүйлтэй холбоотой бол уг ажлыг гүйцэтгэж буй Windows хэрэглэгчийн эрх чухал болно.

Гурав дахь цэг нь хөгжилд онцгой ач холбогдолтой юм. Хэрэв модуль сервер дээр ажиллах боломжгүй бол даалгавар нь зарчмын хувьд биелэгдэхгүй. Шалгахын тулд та даалгаврыг дор хаяж нэг удаа ажиллуулж, Task Console-ийн боловсруулалтаас "Даалгавар дууссан" үр дүнг харах хэрэгтэй.