مسار كيان لحساب سعر الصنف من قائمة اسعار وحفظه داخل ملف الصنف

Viewed 39

عند عمل مسار كيان من النوع EAUpdateItemPricesFromPriceList
واختيار النوع المستهدف قائمة اسعار
واخيار مع الاجراء تأثيرات الحفظ
فإنه لا يأخذ في الاعتبار السعر داخل قائمة الاسعار التي تحفظ في اول مره ويعمل جيدا مع التعديل فقط

1 Answers

هذا السلوك متوقّع، وسببه توقيت تنفيذ مسار الكيان. عند اختيار مع الإجراء: تأثيرات الحفظ، يُنفَّذ المسار ضمن نفس عملية الحفظ وقبل أن تُعتمد قائمة الأسعار وسطورها نهائياً في قاعدة البيانات، فيقرأ المسار ما هو معتمَد فعلاً في القاعدة وليس ما أُدخل في الشاشة لتوّه.

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

الحل

فعّل في مسار الكيان الخيار:

يعمل بعد حفظ المستند نهائياً والتأثير على قاعدة البيانات
(Run After Committing Document And Affect On DataBase)

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

ملاحظات

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