وظائف الخلفية على خادم منفصل. مهمة إجرائية عالمية

ربما ، لا يمكن لأي تكوين جاد على 1C 8.3 أو 8.2 الاستغناء عن استخدام المهام المجدولة والخلفية. إنها مريحة للغاية ، حيث سيتم تنفيذها وفقًا لجدول زمني محدد بوضوح دون تدخل المستخدم والمبرمج.

على سبيل المثال ، تحتاج إلى تبادل البيانات مع برنامج آخر مرة واحدة يوميًا. باستخدام المهام الروتينية والخلفية ، ستكون 1C قادرة على تنفيذ هذه الإجراءات بمفردها ، على سبيل المثال ، خلال غير ساعات العمل. لن تؤثر هذه الطريقة على عمل المستخدمين بأي شكل من الأشكال وستوفر الوقت.

أولاً ، دعنا نتعرف على ما تعنيه وكيف تختلف:

  • مهمة مجدولةيسمح لك بتشغيل أي إجراءات محددة وفقًا لجدول معد مسبقًا.
  • وظيفة الخلفيةهو كائن يحتوي على الإجراءات المطلوب تنفيذها.

لنفترض أن شركتنا تبيع شيئًا ما ولها موقعها على الإنترنت مع الأسعار. مرة واحدة في اليوم ، نريد تفريغها للحفاظ على أهميتها.

افتح التكوين وأضف مهمة مجدولة.

ضبط الخصائص

النظر في أكثر معلمات مهمة، والتي يجب ملؤها في خصائصها.

  • في الميدان " اسم الطريقة»يتم تحديد إجراء بعض الوحدات العامة المحددة ، والتي سيتم تنفيذها مباشرة. سيشير إلى جميع الإجراءات الخاصة بتحميل الأسعار على موقعنا. لاحظ أن التنفيذ سيتم على الخادم. هذا أمر منطقي ، لأن العمليات الروتينية تتم دون تدخل المستخدم.
  • يمكن تعطيل المهمة المجدولة أو تمكينها حسب الحاجة. لا حاجة لتغيير جدوله في كل مرة. للقيام بذلك ، في لوحة الخصائص ، حدد أو ألغ تحديد " إستعمال».
  • إعداد آخر مهم هو ما إذا كانت هذه المهمة المجدولة ستكون محددة مسبقا، أم لا. يتم تشغيل المهام المجدولة المحددة مسبقًا تلقائيًا. إذا لم يتم تعيين هذه العلامة ، فستحتاج إلى تشغيلها برمجيًا ، أو استخدام معالجة "Job Console" مع ITS.
  • يمكنك أيضا تحديد عدد مرات التكرار والفاصل الزمني بينهماعند تحطمها. يشير الإنجاز غير الطبيعي إلى تلك المواقف عندما لا تكتمل المهام بسبب خطأ.

إعداد الجدول

الخطوة الأخيرة هي إعداد جدول زمني للتحميل الخاص بنا إلى الموقع باستخدام الارتباط التشعبي المناسب في لوحة الخصائص.

سيفتح أمامك الإعداد النموذجيالجداول في 1C 8.3. لا يوجد شيء معقد هنا. في هذا المثال ، قمنا بإعداد إطلاق تحميل الأسعار الخاص بنا إلى الموقع يوميًا من الخامسة إلى السابعة صباحًا. في حالة عدم توفر الوقت للمهمة المجدولة للعمل قبل الساعة 7:00 ، سيتم إكمالها في اليوم التالي.

حظر المهام المجدولة

قم بتشغيل الأداة المساعدة القياسية 1C Enterprise Server Administration وافتح خصائص قاعدة المعلومات حيث أنشأت المهمة المجدولة (لإصدارات خادم العميل 1C).

في النافذة التي تفتح (بعد إدخال معلومات تسجيل الدخول وكلمة المرور للوصول إلى IB) ، تحقق من عدم تعيين العلامة الموجودة في العنصر "تم تمكين حظر المهام المجدولة". إذا واجهت موقفًا لا تعمل فيه المهمة ، فتحقق من هذا الإعداد أولاً.

بنفس الطريقة ، يمكنك تعطيل المهام المجدولة تمامًا في 1C 8.3. لتعطيل وظائف خلفية محددة ، يمكنك استخدام معالجة "وحدة التحكم في وظائف الخلفية" المضمنة في الإصدارات الأخيرة.

الخلفية والمهام المجدولة في وضع الملف

في هذا الوضع ، يكون تنظيم هذه الوظائف وتشغيلها أكثر صعوبة في التنظيم. في أغلب الأحيان ، ملف إضافي حساب، الذي ستكون جلسته مفتوحة دائمًا.

يتم تفعيل المهام المجدولة في هذه الحالة باستخدام الطريقة "PerformProcessingTasks ()".

يمكنك أيضًا استخدام البنية التالية:

يجب أن يكون اسم الإجراء هو اسم إجراء العميل المراد تنفيذه. يوضح الفاصل الزمني عدد الثواني التي سيستغرقها التنفيذ. المعلمة "مرة واحدة" اختيارية. يعكس ما إذا كان سيتم تنفيذ الإجراء المحدد مرة واحدة أو عدة مرات.

تتبع الأخطاء في وظائف الخلفية

عرض التقدم المحرز في وظائف الخلفية ، فضلا عن مدى توفرها الأخطاء المحتملةيمكن أن يكون في السجل. في عامل التصفية ، اضبط التحديد على تطبيق "مهمة الخلفية" ، وإذا لزم الأمر ، حدد أهمية الاهتمام ، على سبيل المثال ، "أخطاء" فقط.

سيعرض السجل جميع الإدخالات التي تطابق اختيارك مع تعليق يمكنك استخدامه لفهم سبب الخطأ.

المهام المجدولة 1 ج هي آلية خاصة للنظام مصممة لأداء إجراء معين تلقائيًا في خلفيةووفقًا لجدول زمني محدد (على سبيل المثال ، إرسال التقارير ، والتأجيل ، وتحميل أسعار الصرف ، وما إلى ذلك).

وظيفة الخلفية - شيء، تم إنشاؤها بواسطة مهمة مجدولة، والذي يؤدي مباشرة الإجراء المقصود دون مشاركة المستخدم أو المبرمج.

مهمة الخلفية 1 ج:

  1. أداؤها تحت مستخدم Windows، والتي بموجبها يتم تشغيل عملية برنامج الخادم 1C.
  2. يمكن إنشاؤها بلغة 1C بشكل تعسفي بدون مهمة مجدولة (لـ الحوسبة المتوازيةعلى الخادم).

مهم!تعمل وظائف الخلفية على الخادم.

الفرق بين مهمة مجدولة واشتراك حدث:

  • يسمح لك بتنفيذ المعالج ليس عند حدوث حدث (كما يحدث) ، ولكن وفقًا لجدول زمني.

آلية عمل الوظائف المجدولة والخلفية:

  • تلقائيًا - في وضع تشغيل خادم العميل (بسبب وظائف نظام إدارة قواعد البيانات (DBMS) ؛
  • تفاعلي - عند استخدام قاعدة بيانات ملف ، عن طريق تنفيذ أمر وظائف تنفيذية ()من جلسة في 1C: وضع المؤسسة.

ميزات المهام الروتينية والخلفية 1C:

  1. مثيل الوظيفة المجدولةيمكن إنشاؤها برمجيًا.إذا كانت المهمة المجدولة محددة مسبقًا (تم تعيين العلامة "المحددة مسبقًا" في الخصائص) ، فسيتم إنشاء المهمة في مثيل واحد بالجدول المحدد في المكون. تظهر مثيلات المهام غير المحددة مسبقًا وفقًا لجدول تم تعيينه برمجيًا في وضع Enterprise.
  2. يمكن تنفيذ أي عدد من المهام المجدولة في نفس الوقت, لكن لن يتم تشغيل وظيفتين ( لتجنب الاصطدامات):
    • بنفس المفتاح (إلى key - خاصية مهمة مجدولة تسمح لك بتجميع عدة مهام من نفس النوع);
    • المرتبطة بنفس كائن البيانات الوصفية.
  3. يمكن استخدام الإجراء كطريقة مهمة مجدولة.، والتي يمكن أن تحتوي على أي عدد من المعلمات. يتوافق عدد معلمات أسلوب المهمة المجدولة مع عدد معلمات المهمة المجدولة نفسها.
  4. لإنشاء مهمة مجدولة ، يجب أن يكون لدى المستخدمحقوق المسؤول.
  5. إذا تم تحديد المهمة المجدولة في أداة التهيئة (في الكائن المقابل) على أنها محددة مسبقًا، ثم لا يمكن وضع علامة على مثيل محدد مسبقًا لمهمة مجدولة للحذف والحذف (ولكن يمكن تغييرها ، وستكون متاحة دائمًا في قائمة قوالب المهام المجدولة).
  6. إذا تم استخدام وظيفة كطريقة عمل مجدولة ،يتم تجاهل القيمة المرجعة للدالة.
  7. لضمان تشغيل الوظائف المجدولة والخلفيةفي كل من إصدارات الملفات وخادم العميلليست هناك حاجة لبدء 1C: مثيل Enterprise.

    تعليق

    ... في وضع التشغيل الخادم العميل ، يتم بدء المهام المجدولة المجدولة من قبل مدير الكتلة. وبالتالي ، حتى إذا لم يتم إنشاء اتصال عميل بقاعدة المعلومات ، فسيتم تنفيذ المهام المجدولة (بشرط ألا تكون محظورة لقاعدة معلومات معينة). في إصدار الملفاعمل ل بدء تلقائيتتطلب الوظائف المجدولة اتصال عميل مخصص لاستخدامه كمجدول عمل. يجب أن يبدأ الانتظار في هذا الاتصال ، مع بعض التواتر لتنفيذ استدعاء لطريقة اللغة الأولى تنفيذ معالجة الوظائف().

    [يخفي]

  8. وظائف الخلفية تسمح قم بإجراء بشكل غير متزامن.
  9. يمكن تشغيل أي عدد من وظائف الخلفية في نفس الوقت، ولكن لا يمكنك تشغيل وظيفتين بنفس اسم المفتاح والطريقة.
  10. وظائف الخلفية المكتملةهي كائنات جلسة ، يتم تخزينها لبعض الوقت (بتنسيق قاعدة المعلوماتلم يتم حفظها). وظيفة الخلفية هي 1C: كائن لغة Enterprise موجود فقط أثناء الجلسة.
  11. إعداد مهمة مجدولة في وضع خادم العميل للعملية 1C

    يتم تكوين المهمة المجدولة في لوحة الخصائص هذا الكائنإعدادات.

    رسم لوحة خصائص الكائن 1C "المهام العادية"

    [يخفي]

    لوحة خصائص كائن "المهام العادية":

  • اسم الطريقة هو المسار إلى الإجراء الموجود في المجال العام وسيتم تنفيذه في مهمة الخلفية وفقًا للجدول المحدد. من المستحسن عدم استخدام المعايير ، ولكن لإنشاء الخاصة بك.
  • الاسم - يحدد الاسم المعروض في عناصر التحكم في الوظيفة.
  • مفتاح - يسمح لك بتجميع عدة مهام مجدولة مختلفة 1C ، بينما يمكن تشغيلها في نفس الوقت وظيفة واحدة فقط بنفس القيمة الرئيسية.يمكن أن تكون القيمة نفسها عشوائية. لا يتم أخذ القيمة الفارغة في الاعتبار أثناء التحكم (أي أنها تعتبر فارغة).
  • الاستخدام - علامة استخدام الوظيفة المجدولة.
  • محددة مسبقا- تشير العلامة إلى ما إذا كانت المهمة المجدولة محددة مسبقًا ، أي قيد التشغيل فورًا بعد وضعها في قاعدة البيانات (سيتم إنشاء المهمة في مثيل واحد وفقًا للجدول المحدد في أداة التهيئة). تظهر المهام غير المحددة مسبقًا برمجيًا في وقت الجدول (يجب عليك استخدام معالجة "Job Console" أو استدعاء بدء المهمة برمجيًا).
  • عدد المحاولات عند تعطل الوظيفة- كم مرة إعادة وظيفة الخلفيةإذا تم تنفيذه بخطأ.
  • الفاصل الزمني لإعادة محاولة إحباط الوظيفة- تكرار إعادة تشغيل مهمة الخلفية إذا تم تنفيذها بخطأ.
  • الجدول الزمني - تحديد الفاصل الزمني لبدء الإجراء المحدد في حقل "اسم الطريقة".

لإدارة المهام في الخلفية ، يمكنك استخدام المعالجة من قرص ITS "" ، والذي يتيح لك:

  • مراقبة تشغيل المهام المجدولة والخلفية ؛
  • حذف وإنشاء وظائف جديدة في الخلفية باستخدام اللغة المضمنة ؛
  • قم بتعطيل المهام المجدولة مؤقتًا (؟).

ميزات إعداد المهام المجدولة 1C:

    يتم تنفيذ المهام تلقائيًا - يجب فحصها (مراقبتها).

    [يخفي]

إعداد المهام المجدولة في وضع ملف العملية 1C

في وضع الملفبالنسبة لمهمة مجدولة ، يجب بدء جلسة منفصلة لبرنامج 1C. غالبًا ما يتم حل هذه المشكلة عن طريق تحديد مستخدم "تقني" تعمل جلسته دائمًا.

تتم تهيئة المهمة المجدولة:

  1. بشكل عام - عند بدء الطريقة ExecuteProcessingJobs () ،
  2. لمستخدم معين - عند تشغيل الطريقة ConnectWaitingHandler (<ИмяПроцедуры>, <Интервал>, <Однократно>) (يعمل على العميل).
  • اسم الإجراء هو اسم الإجراء الذي تم تصديره لوحدة نمطية (وحدة نمطية للتطبيق العادي) أو وحدة نمطية مشتركة عامة يتم تضمينها كمعالج انتظار. يجب أن يكون الإجراء موجودًا على العميل.
  • الفاصل الزمني - الفترة بين تنفيذ العمليات بالثواني.
  • مرة واحدة - عدد عمليات تنفيذ المهمة (مرة واحدة أم لا).

قم بإنشاء مهمة مجدولة

لنقم بإنشاء مهمة مجدولة "تنفيذ المعالجة".

قم بتعطيل استخدام مهمة مجدولة بحيث لا تبدأ تلقائيًا عند تحديث التكوين.

قم بتعيين إجراء سيتم تشغيله عند بدء مهمة مجدولة:وحدة المهام المجدولة. معالجة TaskPerforming المجدولة.

يبدو الإجراء نفسه كما يلي:

الإجراء ScheduledTaskPerformanceProcessing (Key) Export

معلمات المهام المجدولة. معالجة مع المعلمات (مفتاح) ؛

EndProcedure

نقوم بإنشاء دليل للمهام الروتينية

يمكن أن تولد وظيفتنا المجدولة العديد من العمليات في الخلفية - واحدة لكل معالجة. كل مهمة في منصة 1C8 لها مفتاح. لكن طريقة الوظيفة المجدولة لا تعرف مفتاح الوظيفة في الخلفية ، لذلك تحتاج إلى استخدام معلمات الوظيفة في الخلفية. نتيجة لذلك ، يمكننا رؤية مهمة الخلفية في وحدة تحكم المهام ، لكن لا يمكننا إنشاء مهمة خلفية يدويًا من وحدة التحكم هذه ، لأن لا يتم إنشاء الوظائف ذات المعلمات اليدوية.

الدليل "معلمات المهام المجدولة" :

المتطلبات :

· CodeBeforeLaunch- سلسلة غير محدودة - كود بلغة 1C ، والذي يجب تنفيذه قبل البدء.

· معالجة من التكوين - سلسلة (100) - معرف المعالجة من التكوين

· المعالجة من الدليل - السطر (100) - الارتباط بعنصر دليل "المعالجة الخارجية" ، إذا كان هناك واحد في التكوين

· قم بتشغيل تطبيق 1C - منطقي - سيتم إنشاء تطبيق 1C منفصل وسيتم تشغيل مهمة مجدولة فيه. تم إنشاؤه لـ 8.1 حيث لا تتوفر جميع طرق التطبيق على الخادم حيث يتم تشغيل المهمة المجدولة.

· LaunchCode- - سلسلة غير محدودة - كود بلغة 1C ، سيتم تنفيذه عند بدء المهمة المجدولة.

قم بإنشاء شكل عنصر :

من خلال النقر على "إنشاء Reg. تُنشئ مهمة "مهمة مجدولة برمجيًا برمز مفتاح:

الإجراء الرئيسيالوظائفالنماذج إنشاء مهمة التسجيل (زر)

مرجع متغير

المفتاح = ShortLP (الرمز) ؛

Task = ScheduledTasks.Create ScheduledTask ("PerformingProcessing") ؛

Task.Name = مفتاح ؛

Job.Key = مفتاح ؛

المعلمات = New Array () ؛

Options.Add (Key) ؛

Task.Parameters = معلمات ؛

Task.Write () ؛

EndProcedure

بدء عمل مجدول

كل مهمة مجدولة أنشأناها لها مفتاح:

يتوافق هذا المفتاح مع رمز الدليل "معلمات المهام المجدولة" ، ويتم البحث عنه عند بدء المهمة. إذا لم يتم العثور على عنصر القاموس ، فلن يتم تنفيذ المهمة.

علاوة على ذلك ، إذا تم إعطاء الرمزCodeBeforeLaunchثم سيتم تنفيذ هذا الرمز. علاوة على ذلك ، إذا كان المتغير بكملبتقييم خطأ ، لن يتم تنفيذ المهمة. متغير متاح في التحليل خيارات، حيث يتم تخزين رابط للعنصر الموجود في دليل "معلمات المهام المجدولة".

اعتمادًا على القيم المحددة للتفاصيل ، إما أن تبدأ الشفرة في لغة 1C ، أو ستبدأ المعالجة من التكوين ، أو ستبدأ المعالجة من الكتاب المرجعي القياسي "المعالجة الخارجية".

بالنسبة إلى 1C81 ، يتم توفير التنفيذ في تطبيق جديد - بحيث يمكنك استخدام رمز متاح فقط للعميل ، بما في ذلك الاستخدام المعالجة الخارجية. للقيام بذلك ، حدد المربع "تشغيل من خلال التطبيق 1C". خلاف ذلك ، سيتم تنفيذ المهمة المجدولة على الخادم.

أوصي بتعيين المستخدم في حقل "المستخدم" للمهمة المجدولة التي تم إنشاؤها حديثًا بحيث يتم تنفيذ المهمة بموجب حقوق معينة. أوصي بإعطاء هذا المستخدم الحقوق الكاملة. لدي مستخدم "إنسان آلي».

يتم إنشاء جدول المهمة المجدولة بواسطة الارتباط التشعبي "جدولة" من نموذج المهمة المجدولة. يمكنك استخدام معالجة "وحدة التحكم بالمهام المجدولة".

آلية المهمة هي إحدى أدوات إدارة 1C. ويشمل:

  • المهام المجدولة ، ككائن تكوين عام ، ضرورية للإشارة إلى ما يجب القيام به بالضبط ، وبأي تردد ؛
  • ووظائف الخلفية ، ككائن للغة المضمنة التي تم إنشاؤها بواسطة الوظائف المجدولة.
ضع في اعتبارك أسئلة الامتحان ذات الصلة.

السؤال 09.59 من الامتحان 1C: المنصة المهنية. مثيل الوظيفة المجدولة:

  1. يمكن إنشاؤها برمجيًا
  2. يمكن إنشاؤها في شكل قائمة ، يمكن الوصول إليها من خلال أمر القائمة الرئيسية للبرنامج ("العمليات / المهام المجدولة")
  3. يتم دائمًا إنشاء مثيل واحد فقط (عند إنشاء كائن التكوين المقابل)
  4. يتم تعريفه فقط في وضع التكوين في علامة التبويب "أخرى" باستخدام الزر "تكوين"
  5. الإجابة الصحيحة 1 و 2
الإجابة الصحيحة هي الأولى. إذا كانت المهمة المجدولة محددة مسبقًا (شكل) ، فسيتم إنشاء المهمة في مثيل واحد بالجدول المحدد في أداة التهيئة. تظهر مثيلات المهام غير المحددة مسبقًا وفقًا للجدول المحدد في وضع Enterprise ، برمجيًا.
السؤال 09.60 من الامتحان 1C: المنصة المهنية. يمكن أن يكون عدد المهام المجدولة التي يتم تنفيذها في وقت واحد:
  1. أي بدون قيود
  2. أي رقم ، ولكن لن يتم تشغيل وظيفتين بنفس اسم المفتاح والطريقة
  3. أي رقم ، ولكن لن يتم تنفيذ مهمتين بنفس المفتاح والاسم
  4. أي رقم ، ولكن لن يتم تشغيل وظيفتين بنفس المفتاح ومرتبطة بنفس كائن البيانات الوصفية
الإجابة الصحيحة هي ستة. المفتاح هو خاصية لوظيفة مجدولة تسمح لك بتجميع عدة وظائف من نفس النوع. يمكن تشغيل مهمة واحدة فقط بقيمة مفتاح واحدة في نفس الوقت (لا يتم احتساب القيمة الفارغة). أيضًا ، يتم تنفيذ مهمة تسجيل واحدة فقط في كل مرة على كائن معين ، وذلك لتجنب الاصطدامات.
السؤال 09.62 من امتحان 1C: منصة المهنية. كطريقة لمهمة مجدولة ، يمكن استخدام إجراء يكون فيه:
  1. يجب ألا تحتوي على معلمات
  2. يمكن أن يكون هناك معلمة واحدة فقط (قائمة القيم)
  3. يمكن أن يكون هناك متغير واحد فقط (هيكل)
  4. يمكن أن يكون هناك معامل واحد فقط (مجموعة)
  5. يمكن أن يكون أي عدد من المعلمات
الجواب الصحيح هو الخامس. يتوافق عدد معلمات أسلوب المهمة المجدولة مع عدد معلمات المهمة المجدولة نفسها.
السؤال 09.63 من امتحان 1C: منصة المهنية. لإنشاء مهمة مجدولة ، يجب أن يتوفر لدى المستخدم:
  1. حقوق المسؤول
  2. حقوق استخدام كائن التكوين هذا (قابل للتكوين في الدور)
  3. حقوق إنشاء مثيلات جديدة من كائن التكوين هذا (قابل للتكوين في الدور)
  4. أي حقوق ، يتم تنفيذ طريقة الوظيفة المجدولة في الوضع المميز
الإجابة الصحيحة هي الأولى ، يحق للمسؤولين فقط.
السؤال 09.64 من الامتحان 1C: المنصة المهنية. إذا تم تحديد مهمة مجدولة في أداة التهيئة (في كائن التكوين المقابل) على أنها محددة مسبقًا ، فإنها تتميز بـ (حدد الإجابة الأكثر اكتمالاً):
  1. لا يمكن إنشاء مثيل غير محدد مسبقًا لمهمة مجدولة مع ربط إلى كائن بيانات تعريف لمهمة مجدولة محددة مسبقًا
  2. لا يمكن وضع علامة على مثيل وظيفة مجدولة محددة مسبقًا للحذف ولا يمكن حذفها
  3. يتم تخزين مثيلات المهام المجدولة المحددة مسبقًا فقط في قاعدة المعلومات ، أما المثيلات غير المحددة مسبقًا فهي كائنات جلسة ولا يتم تخزينها في قاعدة البيانات
  4. الإجابة الصحيحة 1 و 2
  5. الإجابات الصحيحة 2 و 3
  6. الإجابات الصحيحة 1 ، 2 ، 3
الجواب الصحيح هو الثاني. يمكن تعديل مثيلات المهام المجدولة المحددة مسبقًا ، ولكن لا يمكن حذفها. ستكون متاحة دائمًا في قائمة القوالب:
السؤال 09.67 من الامتحان 1C: المنصة المهنية. إذا تم استخدام دالة كطريقة وظيفة مجدولة ، فعندئذٍ:
  1. يتم تجاهل القيمة المرجعة للدالة
  2. حدث خطأ عند محاولة تنفيذ مهمة
  3. سينتظر النظام تنفيذ هذه المهمة (لن يتم التنفيذ بشكل غير متزامن)
  4. سيتم إرجاع القيمة إلى المعلمة المقابلة للوظيفة المجدولة
الإجابة الصحيحة هي الأولى.
السؤال 09.61 من الامتحان 1C: المنصة المهنية. كيف يمكن ربط الوظائف المجدولة والخلفية؟
  1. وظيفة مجدولة يمكن أن تفرخ وظيفة في الخلفية
  2. الوظيفة المجدولة تولد بالضرورة وظيفة في الخلفية
  3. وظيفة الخلفية تولد بالضرورة وظيفة مجدولة
  4. لا توجد علاقة
الإجابة الصحيحة هي الثانية - مهمة الخلفية هي كائن تم إنشاؤه بواسطة مهمة مجدولة ، ويجب إنشاؤها ، وإلا فإن المهمة المجدولة نفسها تفقد معناها.
السؤال 09.65 من الامتحان 1C: المنصة المهنية. لضمان تشغيل المهام المجدولة والخلفية ، يجب عليك:
  1. 1C: بدء تشغيل المؤسسة مع تعيين علامة "المجدول" عند بدء التشغيل
  2. توافر الإطلاق 1C: المؤسسة مع التنفيذ الدوري للطريقة المقابلة للنظام
  3. مدى توفر بدء تشغيل 1C: مؤسسة ذات طريقة تنفيذية مطابقة للنظام بشكل دوري (ولكن فقط في إصدار الملف الخاص بوظيفة النظام)
  4. في كل من إصدارات الملفات وخادم العميل ، ليست هناك حاجة لبدء تشغيل 1C: مثيل Enterprise
من الناحية العملية ، الإجابة الصحيحة هي الإجابة الثالثة. في وضع التشغيل الخادم العميل ، يتم بدء المهام المجدولة المجدولة من قبل مدير الكتلة. وبالتالي ، حتى إذا لم يتم إنشاء اتصال عميل بقاعدة المعلومات ، فسيتم تنفيذ المهام المجدولة (بشرط ألا تكون محظورة لقاعدة معلومات معينة). في إصدار ملف العمل ، لبدء المهام المجدولة تلقائيًا ، يجب أن يكون لديك اتصال عميل مخصص يتم استخدامه كمجدول مهام. يجب بدء معالجة الانتظار على هذا الاتصال ، وإجراء استدعاء لطريقة اللغة الأولى ExecuteJobProcessing () في بعض الفواصل الزمنية.
وفقًا للإجابات ، فإن الإجابة الصحيحة هي الإجابة الرابعة.
السؤال 09.57 من الامتحان 1C: المنصة المهنية. تتيح لك وظائف الخلفية:
  1. تنفيذ الإجراء وفقًا للجدول الزمني
  2. تنفيذ إجراء بشكل غير متزامن
  3. إعادة التشغيل في حالة التعطل
  4. الإجابة الصحيحة 1 و 2
  5. الإجابات الصحيحة 2 و 3
  6. الإجابات الصحيحة 1 ، 2 ، 3
الجواب الصحيح هو الثاني. غير متزامن يعني عدم انتظار اكتمال الإجراء.
السؤال 09.58 من الامتحان 1C: المنصة المهنية. يمكن أن يكون عدد الوظائف التي تعمل في الخلفية في وقت واحد:
  1. أي بدون قيود
  2. مهمة واحدة فقط لكل قاعدة معلومات
  3. وظيفة واحدة فقط لكل جلسة مستخدم
  4. أي رقم ، ولكن لا يمكنك تشغيل وظيفتين بنفس اسم المفتاح والطريقة
  5. أي رقم ، ولكن لا يمكنك تشغيل مهمتين بنفس المفتاح والاسم
  6. أي رقم ، ولكن لا يمكنك تشغيل وظيفتين بنفس المفتاح ومرتبطتين بنفس كائن البيانات الوصفية
الجواب الصحيح هو الرابع.
السؤال 09.66 من الامتحان 1C: المنصة المهنية. الوظائف الخلفية المكتملة:
  1. مخزنة في قاعدة المعلومات
  2. هي كائنات جلسة ، يتم تخزينها لبعض الوقت (لا يتم تخزينها في قاعدة المعلومات)
  3. لا يتم تخزينها بأي شكل من الأشكال.
الإجابة الصحيحة هي السادسة - وظيفة الخلفية هي 1C: كائن لغة المؤسسة موجود فقط لمدة الجلسة.

تقدم هذه المقالة مثالاً للعمل مع وظائف الخلفية ، كما في يتم تشغيل مهام الخلفية 1Cكيف يمكنك الحصول على قائمة المهام باستخدام الطريقة "GetBackgroundJobs ()". إذن ، هذه الطريقة تعيد لنا بعض المصفوفات. دعونا نرى ما يحتوي عليه.

سأحجز على الفور أن المثال أعلاه قد تم تطويره في إصدار خادم العميل من قاعدة البيانات.

يوضح الشكل أعلاه محتويات هذه المجموعة.

انتبه للميدان "ولاية". يحتوي على معلومات حول ما إذا كانت وظيفة الخلفية قيد التشغيل قد اكتملت بنجاح أو ما إذا كانت لا تزال قيد التشغيل.

يحتوي أيضًا على معلومات حول التنفيذ غير الناجح للمهمة. تحتوي هذه المجموعة أيضًا على معلومات حول المفاتيح والمعرفات الفريدة وأسماء الوظائف الخلفية. يتم تخزين المعلومات حول المهام الجارية والمكتملة في قاعدة المعلومات ، ولكن هناك حدًا لعدد السجلات المخزنة في الجدول. هذا الرقم حوالي 1000 سجل. أي عند إضافة عناصر جديدة ، تتم إزالة العناصر القديمة. أيضًا ، تتم إزالة المهمة من الجدول إذا تم إكمالها منذ أكثر من يوم.

مثال على العمل مع مهمة خلفية 1C - طريقة "GetBackgroundTasks"

دعنا أيضًا نلقي نظرة على العمل مع وظائف الخلفية باستخدام طريقة المثال "GetBackgroundJobs ()". في هذه الطريقةمن الممكن تعيين عامل تصفية على السجلات المستلمة. هذا ، كمعامل طريقة ، نحتاج إلى تمرير بنية.

قد يحتوي الهيكل على حقول: المعرّف الفريد ، المفتاح ، الحالة ، البداية ، النهاية ، الاسم ، اسم الطريقة ، المهام المجدولة.

على سبيل المثال ، إذا احتجنا فقط إلى وظائف قيد التشغيل ، فسنفرض تحديدًا باسم عنصر البنية "الحالة" والقيمة التي سنقوم بتعيينها في تعداد النظام "حالة مهمة الخلفية" إلى الحالة النشطة. لذلك ، تحتاج أولاً إلى التأكد من ظهور السجلات المتعلقة بتنفيذ مهام الخلفية 1C في قاعدة البيانات التجريبية.


لنفعل ما يلي لتنفيذ المثال:
1. لنقم بإنشاء وحدة مشتركة "المتداولون في الخلفية"الذي يعمل على الخادم.

وأضف إليها الكود التالي:

تنفيذ الإجراء خلفية الحساب (معلمة) تصدير

StartTime = CurrentDate () ،

ByeCurrentDate () - وقت البدء دورة

نهاية الدورة

EndProcedure

2. إنشاء معالجة ، ضع زرًا على النموذج "نفذ المهمة في الخلفية"وفي الإجراء الخاص بمعالجة حدث النقر فوق الزر ، أضف الكود التالي:

& OnClient Procedure ExecuteJob (Command) ExecuteBackgroundJobOnServer ()؛ EndProcedure

وصف الإجراء المطلوب:

& إجراء AtServer ExecuteBackgroundJobAtServer () BackgroundJob Parameters = New Array؛ معلمات الخلفية الوظيفة. يضيف( "بعض المعلمات" "امتحان" ) ؛ BackgroundJobParameters = صفيف جديد ؛ معلمات الخلفية الوظيفة. يضيف( "بعض المعلمات") ؛ مهام فى الخلفيه. ينفذ ( "BackgroundJobHandlers.PerformBackgroundComputation"، معلمات الخلفية ، معرف فريد جديد ، "الاختبار 2") ؛ EndProcedure // ExecuteBackgroundJobOnServer ()

لنقم الآن بتشغيل 1C في وضع المؤسسة ونبدأ مهمة الخلفية.


مستعد. من خلال هذه الإجراءات ، تأكدنا من ظهور السجلات المتعلقة بتنفيذ مهام الخلفية 1C في قاعدة البيانات التجريبية الخاصة بنا ، ويمكننا الآن عرض مثال على الحصول على المصفوفة الموجودة في قاعدة البيانات الخاصة بنا.

اضافة زر اخر للنموذج "الحصول على وظائف في الخلفية". لنكتب الكود التالي في إجراء معالجة النقر:

& إجراء OnClient GetBackgroundJobs (أمر) GetBackgroundJobsOnServer ()؛ EndProcedure

نص الإجراء على الخادم:

& إجراء AtServer GetBackgroundJobsAtServer () معلمات التحديد = بنية جديدة ("الاسم" ، "الاختبار 2") ؛ BackgroundJobsList = الخلفيةالوظائف. GetBackgroundTasks (خيارات التحديد) ؛ لكل مهمة من قائمة تقرير حلقة المهام الخلفية (اسم. مهمة) ؛ نهاية الدورة EndProcedure // GetBackgroundJobsOnServer ()

قم بتشغيل 1C للتنفيذ واضغط على الزر "الحصول على وظائف في الخلفية".



تحميل...
قمة