كتابة عملية طويلة باستخدام bsp 1s. عرض تقدم العمليات الطويلة في BSP وتصحيحها في الجلسة الحالية

كتابة عملية طويلة باستخدام bsp 1s.  عرض تقدم العمليات المطولة في BSP وتصحيحها في الجلسة الحالية

هذه المقالة مخصصة للمبرمجين والمسؤولين الذين يعملون بكميات كبيرة من البيانات. في الوقت نفسه، في المعالجة نفسها، هناك فهم لحجم البيانات التي تتم معالجتها، ونتيجة لذلك، من الممكن عرض التقدم المحرز والتقدم المحرز في المعالجة.

من المفترض أن يكون هناك فهم عام لاستخدام العمليات طويلة الأجل في BSP. خلاف ذلك، أوصي بالتحقق.

تم استخدام الإصدار 2.3 من BSP. هذا لا يعمل على الإصدارات السابقة؛ لا توجد واجهة البرنامج من هذا القبيل.

تقدم التنفيذ

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

إجراء يتعامل مع أمر معروض في نموذج.

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

لا تحتاج الآن إلى وصف معالجات الانتظار في النموذج الخاص بك وتذكر معرفات المهام. يكفي تمرير وصف التنبيه الذي سيتم استدعاؤه عند انتهاء مهمة الخلفية.

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

&OnClient الإجراء ExecuteProcedureBackground(Command) Long-runningOperation = ExecuteBackgroundTaskOnServer();

إجراء الخادم الذي يبدأ تشغيل عملية طويلة الأمد

في هذا الإجراء، يتم إنشاء معلمات التشغيل وبدء تشغيل عملية طويلة المدى باستخدام أسلوب RunInBackground.

&OnServer Function ExecuteBackgroundTaskOnServer() بنية المعلمة = بنية جديدة؛

معلمات التنفيذ = Long-runningOperations.ExecutionParametersInBackground(UniqueIdentifier);

معلمات التنفيذ. اسم مهمة الخلفية = НStr("ru = "اسم مهمة الخلفية""); Long-runningOperation = Long-runningOperations.ExecuteInBackground("ModuleName.ExportProcedureName", ParameterStructure, ExecutionParameters);إرجاع عملية طويلة؛ وظيفة النهاية

رسالة التقدم

في الإجراء نفسه عملية طويلة "

ModuleName.ExportProcedureName

"من الضروري الإبلاغ عن التقدم المحرز ووصف الإجراء الحالي.

يتم جمع بيانات الرسالة من خلال الجلسة الأصلية وعرضها في نموذج الانتظار. الإجراء ExportProcedureName(ParametersStructure, ResultAddress) تصدير //... Long-runningOperations.NotifyProgress(End(PercentageComplete, 0), description);".

//...EndProcedure

إجراءات معالجة النتيجة

يبدأ هذا الإجراء بعد الانتهاء من عملية طويلة. عند اكتمال العملية مع وجود أخطاء، فمن الممكن معالجتها.

إذا تم إكمال عملية طويلة الأمد بنجاح، فسيتم تخزين النتيجة في مخزن مؤقت موجود في "

  1. Result.ResultAddress
  2. &OnClient الإجراء ExecuteProcedureBackgroundExecuted(Result, ExtraParameters) تصدير إذا كانت النتيجة = غير محددة ثم العودة؛
  3. ElseIf Result.Status = "خطأ" ثم GeneralPurposeClientServer.NotifyUser(Result.ErrorDetailView);

وإلا إذا Result.Status = "مكتمل" ثم // معالجة النتيجة //ProcessResult(Result.ResultAddress);

endIf; نهاية الإجراء

  1. سيتم استدعاء هذا النموذج بواسطة رمز BSP القياسي:
  2. استبدل اسم نموذج الانتظار المستدعى في الإجراء "Long OperationsClient.WaitCompletion" من " GeneralForm.LongOperation" إلى " GeneralForm. عملية طويلة الأمد جديدة".

تصحيح العمليات طويلة الأمد

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

تم تطوير الإصدار PROF edition 3.0 على منصة التكنولوجيا 1C: إنتربرايز 8.2ويستفيد استفادة كاملة من إمكانياته، بما في ذلك القدرة على استخدامه عبر الإنترنت باستخدام خدمة سحابية. في هذه الحالة، لا يتم تشغيل البرنامج من القرص الصلب لجهاز الكمبيوتر، ولكن من خلال متصفح من أحد مواقع الويب التي توفر ذلك. المستخدم يستخدم البرنامج 1C: المحاسبة 8 PROFعبر الإنترنت، ويتلقى ضمانات السرية الكاملة وأمن المعلومات. وفي الوقت نفسه، المستخدمين 1C: المحاسبة 8 PROFإد. يمكن للإصدار 3.0 استخدام البرنامج من خلال الخدمة السحابية ومحليًا، ونقل بيانات الاعتماد. ومع ذلك، فإن الكثير من البرنامج لا يزال من الإصدار 2.0، بما في ذلك منهجية المحاسبة والمحاسبة الضريبية.

المزيد من خيارات الخدمة

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

وظائف جديدة لمحاسبة الرواتب وشؤون الموظفين

في الإصدار 3.0 من البرنامج 1C: المحاسبة 8 PROFتم تغيير إجراءات إدخال منصب الموظف وراتبه. الآن يتم إدخال هذه المعلومات مباشرة في بطاقته، وليس في وثائق منفصلة، ​​كما هو الحال في الإصدار 2.0 من البرنامج.

يتم أيضًا إنشاء أوامر الموظفين من بطاقة الموظف.

يتم حساب الرواتب وضريبة الدخل الشخصي واشتراكات التأمين تلقائيًا وعرضها في مستند واحد.

لقد تغيرت أيضًا محاسبة الرواتب؛ حيث يتم تنفيذها الآن في البرنامج حسب مكان العمل، بحيث يمكن تجميع كشوف الرواتب حسب القسم. وفي الوقت نفسه، يمكن أيضًا دفع الرواتب حسب القسم.

وضع الخلفية للعمليات طويلة الأمد

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

وفي الختام، أود أن أشير إلى أنه يمكن للمستخدم التبديل إلى الإصدار 3.0 بشكل مستقل باستخدام مكون التحديث. في الوقت نفسه، يتم منح مستخدمي الإصدار 2.0 من برنامج 1C: Accounting 8 PROF المشتركين في دعم تكنولوجيا المعلومات () الفرصة لتحديث التكوين إلى الإصدار 3.0 مجانًا.

هذه المقالة مخصصة للمبرمجين والمسؤولين الذين يعملون بكميات كبيرة من البيانات. في الوقت نفسه، في المعالجة نفسها، هناك فهم لحجم البيانات التي تتم معالجتها، ونتيجة لذلك، من الممكن عرض التقدم المحرز والتقدم المحرز في المعالجة.

من المفترض أن يكون هناك فهم عام لاستخدام العمليات طويلة الأجل في BSP. خلاف ذلك، أوصي بالتحقق.

تم استخدام الإصدار 2.3 من BSP. هذا لا يعمل على الإصدارات السابقة؛ لا توجد واجهة البرنامج من هذا القبيل.

تقدم التنفيذ

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

إجراء يتعامل مع أمر معروض في نموذج.

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

لا تحتاج الآن إلى وصف معالجات الانتظار في النموذج الخاص بك وتذكر معرفات المهام. يكفي تمرير وصف التنبيه الذي سيتم استدعاؤه عند انتهاء مهمة الخلفية.

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

&OnClient الإجراء ExecuteProcedureBackground(Command) Long-runningOperation = ExecuteBackgroundTaskOnServer();

إجراء الخادم الذي يبدأ تشغيل عملية طويلة الأمد

في هذا الإجراء، يتم إنشاء معلمات التشغيل وبدء تشغيل عملية طويلة المدى باستخدام أسلوب RunInBackground.

&OnServer Function ExecuteBackgroundTaskOnServer() بنية المعلمة = بنية جديدة؛

معلمات التنفيذ = Long-runningOperations.ExecutionParametersInBackground(UniqueIdentifier);

معلمات التنفيذ. اسم مهمة الخلفية = НStr("ru = "اسم مهمة الخلفية""); Long-runningOperation = Long-runningOperations.ExecuteInBackground("ModuleName.ExportProcedureName", ParameterStructure, ExecutionParameters);إرجاع عملية طويلة؛ وظيفة النهاية

رسالة التقدم

في الإجراء نفسه عملية طويلة "

ModuleName.ExportProcedureName

"من الضروري الإبلاغ عن التقدم المحرز ووصف الإجراء الحالي.

يتم جمع بيانات الرسالة من خلال الجلسة الأصلية وعرضها في نموذج الانتظار. الإجراء ExportProcedureName(ParametersStructure, ResultAddress) تصدير //... Long-runningOperations.NotifyProgress(End(PercentageComplete, 0), description);".

//...EndProcedure

إجراءات معالجة النتيجة

يبدأ هذا الإجراء بعد الانتهاء من عملية طويلة. عند اكتمال العملية مع وجود أخطاء، فمن الممكن معالجتها.

إذا تم إكمال عملية طويلة الأمد بنجاح، فسيتم تخزين النتيجة في مخزن مؤقت موجود في "

  1. Result.ResultAddress
  2. &OnClient الإجراء ExecuteProcedureBackgroundExecuted(Result, ExtraParameters) تصدير إذا كانت النتيجة = غير محددة ثم العودة؛
  3. ElseIf Result.Status = "خطأ" ثم GeneralPurposeClientServer.NotifyUser(Result.ErrorDetailView);

وإلا إذا Result.Status = "مكتمل" ثم // معالجة النتيجة //ProcessResult(Result.ResultAddress);

endIf; نهاية الإجراء

  1. سيتم استدعاء هذا النموذج بواسطة رمز BSP القياسي:
  2. استبدل اسم نموذج الانتظار المستدعى في الإجراء "Long OperationsClient.WaitCompletion" من " GeneralForm.LongOperation" إلى " GeneralForm. عملية طويلة الأمد جديدة".

تصحيح العمليات طويلة الأمد

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

هذه المقالة مخصصة للمبرمجين والمسؤولين الذين يعملون بكميات كبيرة من البيانات. في الوقت نفسه، في المعالجة نفسها، هناك فهم لحجم البيانات التي تتم معالجتها، ونتيجة لذلك، من الممكن عرض التقدم المحرز والتقدم المحرز في المعالجة.

من المفترض أن يكون هناك فهم عام لاستخدام العمليات طويلة الأجل في BSP. خلاف ذلك، أوصي بالتحقق.

تم استخدام الإصدار 2.3 من BSP. هذا لا يعمل على الإصدارات السابقة؛ لا توجد واجهة البرنامج من هذا القبيل.

تقدم التنفيذ

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

إجراء يتعامل مع أمر معروض في نموذج.

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

لا تحتاج الآن إلى وصف معالجات الانتظار في النموذج الخاص بك وتذكر معرفات المهام. يكفي تمرير وصف التنبيه الذي سيتم استدعاؤه عند انتهاء مهمة الخلفية.

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

&OnClient الإجراء ExecuteProcedureBackground(Command) Long-runningOperation = ExecuteBackgroundTaskOnServer();

إجراء الخادم الذي يبدأ تشغيل عملية طويلة الأمد

في هذا الإجراء، يتم إنشاء معلمات التشغيل وبدء تشغيل عملية طويلة المدى باستخدام أسلوب RunInBackground.

&OnServer Function ExecuteBackgroundTaskOnServer() بنية المعلمة = بنية جديدة؛

معلمات التنفيذ = Long-runningOperations.ExecutionParametersInBackground(UniqueIdentifier);

معلمات التنفيذ. اسم مهمة الخلفية = НStr("ru = "اسم مهمة الخلفية""); Long-runningOperation = Long-runningOperations.ExecuteInBackground("ModuleName.ExportProcedureName", ParameterStructure, ExecutionParameters);إرجاع عملية طويلة؛ وظيفة النهاية

رسالة التقدم

في الإجراء نفسه عملية طويلة "

ModuleName.ExportProcedureName

"من الضروري الإبلاغ عن التقدم المحرز ووصف الإجراء الحالي.

يتم جمع بيانات الرسالة من خلال الجلسة الأصلية وعرضها في نموذج الانتظار. الإجراء ExportProcedureName(ParametersStructure, ResultAddress) تصدير //... Long-runningOperations.NotifyProgress(End(PercentageComplete, 0), description);".

//...EndProcedure

إجراءات معالجة النتيجة

يبدأ هذا الإجراء بعد الانتهاء من عملية طويلة. عند اكتمال العملية مع وجود أخطاء، فمن الممكن معالجتها.

إذا تم إكمال عملية طويلة الأمد بنجاح، فسيتم تخزين النتيجة في مخزن مؤقت موجود في "

  1. Result.ResultAddress
  2. &OnClient الإجراء ExecuteProcedureBackgroundExecuted(Result, ExtraParameters) تصدير إذا كانت النتيجة = غير محددة ثم العودة؛
  3. ElseIf Result.Status = "خطأ" ثم GeneralPurposeClientServer.NotifyUser(Result.ErrorDetailView);

وإلا إذا Result.Status = "مكتمل" ثم // معالجة النتيجة //ProcessResult(Result.ResultAddress);

endIf; نهاية الإجراء

  1. سيتم استدعاء هذا النموذج بواسطة رمز BSP القياسي:
  2. استبدل اسم نموذج الانتظار المستدعى في الإجراء "Long OperationsClient.WaitCompletion" من " GeneralForm.LongOperation" إلى " GeneralForm. عملية طويلة الأمد جديدة".

تصحيح العمليات طويلة الأمد

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




معظم الحديث عنه
أسباب حكة الخصيتين عند الرجال أسباب حكة الخصيتين عند الرجال
أحسست أنه أصبح صعبا أحسست أنه أصبح صعبا
كيفية علاج العقم عند الرجال؟ كيفية علاج العقم عند الرجال؟


قمة