يعرض إصدار أمريكا الشمالية من Microsoft Dynamics NAV المبلغ بما في ذلك الضريبة بدون مبلغ الضريبة في أسطر أمر المبيعات إذا كان المبلغ الصافي للخطوط الموجبة والسلبية صفرا لأمر مبيعات

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

تنطبق هذه المقالة على Microsoft Dynamics NAV لللغة المحلية في أمريكا الشمالية.

الأعراض

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

  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009 R2
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

الدقة

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

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

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

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

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

  1. تغيير التعليمات البرمجية في الجدول (10011) كما يلي:

    التعليمات البرمجية الموجودة

    ...
      FIELDS
    
    ...   
    10042;  ;Is Report-to Jurisdiction;Boolean  ;CaptionML=ENU=Is Report-to Jurisdiction;
                                                       Editable=No
    ...
    KEYS
    Tax Area Code for Key,Tax Jurisdiction Code,Tax %,Tax Group Code,Expense/Capitalize,Tax Type,Use Tax;
                                                       Clustered=Yes
    ...
    

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

    ...
      FIELDS
    
    ...   
    10042;  ;Is Report-to Jurisdiction;Boolean  ;CaptionML=ENU=Is Report-to Jurisdiction;
                                                       Editable=No
    
    // Add the following line.
    10043;  ;Positive            ;Boolean
    // End of the added line.
    
    ...
    KEYS
    
    // Add the Positive Field  to the keys.
    Tax Area Code for Key,Tax Jurisdiction Code,Tax %,Tax Group Code,Expense/Capitalize,Tax Type,Use Tax,Positive;
                                                       Clustered=Yes 
    ...
    
  2. تغيير التعليمات البرمجية في الدالة AddSalesLine في codeunit (398) كما يلي:

    التعليمات البرمجية الموجودة

    ...
        TaxAreaLine.FINDSET;
      REPEAT
        SETRANGE("Tax Jurisdiction Code",TaxAreaLine."Tax Jurisdiction Code");
        "Tax Jurisdiction Code" := TaxAreaLine."Tax Jurisdiction Code";
        IF NOT FINDFIRST THEN BEGIN
    ...
          "Invoice Discount Amount" := SalesLine."Inv. Discount Amount";
          "Calculation Order" :=  TaxAreaLine."Calculation Order";
    ...
    

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

    ...
       TaxAreaLine.FINDSET;
      REPEAT
        SETRANGE("Tax Jurisdiction Code",TaxAreaLine."Tax Jurisdiction Code");
    
    // Add the following line.
        SETRANGE(Positive, SalesLine."Line Amount" - SalesLine."Inv. Discount Amount" > 0);
    // End of the added line.
    
        "Tax Jurisdiction Code" := TaxAreaLine."Tax Jurisdiction Code";
        IF NOT FINDFIRST THEN BEGIN
    ...
          "Invoice Discount Amount" := SalesLine."Inv. Discount Amount";
          "Calculation Order" :=  TaxAreaLine."Calculation Order";
    
    // Add the following line.
          Positive := SalesLine."Line Amount" - SalesLine."Inv. Discount Amount" > 0;
    // End of the added line.
    ...
    
  3. تغيير التعليمات البرمجية في الدالة DistTaxOverSalesLines في codeunit (398) كما يلي:

    التعليمات البرمجية الموجودة

    ...
             IF (TaxCountry = TaxCountry::US) OR
    // Delete the following line.
               ((TaxCountry = TaxCountry::CA) AND (TaxAreaLine.GET(SalesLine."Tax Area Code","Tax Jurisdiction Code"))) THEN BEGIN
    // End of the deleted line.
    ...
    

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

    ...
             IF (TaxCountry = TaxCountry::US) OR
    // Add the following lines.
               ((TaxCountry = TaxCountry::CA) AND (TaxAreaLine.GET(SalesLine."Tax Area Code","Tax Jurisdiction Code"))) AND
               CheckTaxAmtLinePos(SalesLine."Line Amount" - SalesLine."Inv. Discount Amount",
                        Positive)
            THEN BEGIN
    // End of the added lines.
    ...
    
  4. أضف متعة محلية في codeunit (398) كما يلي:

    LOCAL PROCEDURE CheckTaxAmtLinePos(SalesLineAmt: Decimal, TaxAmtLinePos: Boolean):Boolean
    EXIT(
         ((SalesLineAmt > 0) AND TaxAmtLinePos) OR
         ((SalesLineAmt <0) AND NOT TaxAmtLinePos)
        );
    
    

          

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

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

  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009 R2
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 2009
  • إصدار أمريكا الشمالية من Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)

                
              

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

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

الحالة

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

المراجع

VSTF DynamicsNAV SE: 256111

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