لا يتم تلقي أي رسالة تحذير عند تطبيق أمر مبيعات إذا كانت كمية إدخال دفتر الأستاذ للعنصر الصادر (ILE) أكبر من كمية ILE الواردة في Microsoft Dynamics NAV

ينطبق على
Dynamics NAV 2009 Dynamics NAV 2009 Service Pack 1 Microsoft Dynamics NAV 5.0 Service Pack 1

تنطبق هذه المقالة على Microsoft Dynamics NAV لجميع البلدان وجميع اللغات المحلية.

الأعراض

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

تحدث هذه المشكلة في المنتجات التالية:

  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 2009 مع حزمة الخدمة 1 (SP1)
  • Microsoft Dynamics NAV 5.0 مع SP1

الدقة

معلومات الإصلاح العاجل

يتوفر الآن إصلاح عاجل مدعوم من Microsoft. ومع ذلك، فإنه يهدف فقط إلى تصحيح المشكلة الموضحة في هذه المقالة. قم بتطبيقه فقط على الأنظمة التي تواجه هذه المشكلة المحددة. قد يتلقى الإصلاح العاجل هذا اختبارا إضافيا. لذلك، إذا لم تتأثر بشدة بهذه المشكلة، نوصي بالانتظار حتى حزمة خدمة Microsoft Dynamics NAV التالية أو الإصدار التالي الذي يحتوي على هذا الإصلاح العاجل.

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

            
          

معلومات التثبيت

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

ملاحظة قبل تثبيت هذا الإصلاح العاجل، تحقق من تسجيل خروج جميع مستخدمي عميل Microsoft Navision من النظام. يتضمن ذلك مستخدمي عميل Microsoft Navision Application Services (NAS). يجب أن تكون المستخدم العميل الوحيد الذي قام بتسجيل الدخول عند تنفيذ هذا الإصلاح العاجل.

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

نوصي بتعيين معرف دور "SUPER" لحساب المستخدم في نافذة تسجيلات الدخول إلى Windows أو في نافذة تسجيلات دخول قاعدة البيانات. إذا تعذر تعيين معرف دور "SUPER" لحساب المستخدم، فيجب عليك التحقق من أن حساب المستخدم لديه الأذونات التالية:

  • إذن تعديل للكائن الذي ستقوم بتغييره.
  • إذن Execute للكائن System Object ID 5210 ولعنصر System Object ID 9015.

                
ملاحظة ليس لديك حقوق في مخازن البيانات ما لم يكن لديك لإجراء إصلاح البيانات.

تغييرات التعليمات البرمجية

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

لتثبيت هذا الإصلاح العاجل، قم بتغيير التعليمات البرمجية في العنصر Jnl.-Post Line codeunit (22). اتبع هذه الخطوات للقيام بذلك:

  1. قم بتغيير التعليمات البرمجية في الدالة ApplyItemLedgEntry في كما يلي:
    التعليمات البرمجية الموجودة

    ...
            IF StartApplication THEN BEGIN
              ItemLedgEntry.CALCFIELDS("Reserved Quantity");
              IF ItemLedgEntry."Applies-to Entry" <> 0 THEN BEGIN
                IF FirstApplication THEN BEGIN
    ...   
                  OldItemLedgEntry.CALCFIELDS("Reserved Quantity");
                   IF  NOT ((OldItemLedgEntry.Open) AND
                    (ABS(OldItemLedgEntry."Remaining Quantity" - OldItemLedgEntry."Reserved Quantity") >=
                     ABS(ItemLedgEntry."Remaining Quantity" - ItemLedgEntry."Reserved Quantity"))) THEN BEGIN
                    IF  (ABS(OldItemLedgEntry."Remaining Quantity" - OldItemLedgEntry."Reserved Quantity") <=
                       ABS(ItemLedgEntry."Remaining Quantity" - ItemLedgEntry."Reserved Quantity"))
                    THEN BEGIN
                      IF NOT MoveApplication(ItemLedgEntry,OldItemLedgEntry) THEN
                        OldItemLedgEntry.FIELDERROR("Remaining Quantity",Text004);
    ...
    
    

    رمز الاستبدال

    ...
            IF StartApplication THEN BEGIN
              ItemLedgEntry.CALCFIELDS("Reserved Quantity");
              IF ItemLedgEntry."Applies-to Entry" <> 0 THEN BEGIN
                IF FirstApplication THEN BEGIN
    ...   
                  OldItemLedgEntry.CALCFIELDS("Reserved Quantity");
                  CheckApplication(ItemLedgEntry,OldItemLedgEntry);    // Add thsi line.
                 IF  NOT ((OldItemLedgEntry.Open) AND
                    (ABS(OldItemLedgEntry."Remaining Quantity" - OldItemLedgEntry."Reserved Quantity") >=
                     ABS(ItemLedgEntry."Remaining Quantity" - ItemLedgEntry."Reserved Quantity"))) THEN BEGIN
                    IF  (ABS(OldItemLedgEntry."Remaining Quantity" - OldItemLedgEntry."Reserved Quantity") <=
                       ABS(ItemLedgEntry."Remaining Quantity" - ItemLedgEntry."Reserved Quantity"))
                    THEN BEGIN
                      IF NOT MoveApplication(ItemLedgEntry,OldItemLedgEntry) THEN
                        OldItemLedgEntry.FIELDERROR("Remaining Quantity",Text004);
    ...
    
    
  2. أضف دالة جديدة "CheckApplication".

    1. أضف المتغيرات التالية إلى الدالة "CheckApplication":

      • الاسم: ItemLedgEntry
      • نوع البيانات: سجل
      • النوع الفرعي: إدخال دفتر الأستاذ للعنصر
      • الاسم: OldItemLedgEntry
      • نوع البيانات: سجل
      • النوع الفرعي: إدخال دفتر الأستاذ للعنصر
    2. أضف التعليمات البرمجية التالية إلى الدالة "CheckApplication":

      LOCAL PROCEDURE CheckApplication@84(ItemLedgEntry@1001 : Record 32;OldItemLedgEntry@1000 : Record 32);
          BEGIN
            IF (OldItemLedgEntry."Remaining Quantity" = OldItemLedgEntry.Quantity) AND
               (ABS(OldItemLedgEntry."Remaining Quantity" - OldItemLedgEntry."Reserved Quantity") < ABS(ItemLedgEntry."Remaining Quantity" - ItemLedgEntry."Reserved Quantity"))
            THEN
              OldItemLedgEntry.FIELDERROR("Remaining Quantity",Text004)
          END;
      
      

المتطلبات الأساسية

يجب أن يكون لديك أحد المنتجات التالية مثبتا لتطبيق هذا الإصلاح العاجل:

  • Microsoft Dynamics NAV 2009
  • Microsoft Dynamics NAV 2009 SP1
  • Microsoft Dynamics NAV 5.0 SP1

معلومات الإزالة

لا يمكنك إزالة هذا الإصلاح العاجل.

الحالة

لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".

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