تنطبق هذه المقالة على Microsoft Dynamics NAV للغات اللغة اليونانية (gr).
الأعراض
افترض أنك تقوم بإنشاء مذكرة ائتمان شراء لها رسوم عنصر في الإصدار اليوناني من Microsoft Dynamics NAV. بعد نشر مذكرة رصيد الشراء، تكون القيمة الموجودة في الحقل Cost Amount (Actual) في إدخال القيمة التي تم إنشاؤها غير صحيحة. تحتوي قيمة Cost Amount (Actual) على علامة موجبة بدلا من العلامة السالبة بشكل غير صحيح. بالإضافة إلى ذلك، عند تشغيل تقرير "Post Inventory Cost to G/L" للعنصر، تكون قيمة Cost Posted to G/L صفرا في إدخال القيمة التي تم إنشاؤها لتكلفة العنصر (الائتمان) بشكل غير صحيح.
تحدث هذه المشكلة في المنتجات التالية:
- الإصدار اليوناني من Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- الإصدار اليوناني من Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
السبب
تحدث هذه المشكلة بسبب تحديث الحقل Cost Amount (Actual) بواسطة الدالة UpdateValuationFields بشكل غير صحيح في الإصدار اليوناني من Microsoft Dynamics NAV.
الدقة
معلومات الإصلاح العاجل
يتوفر الآن إصلاح عاجل مدعوم من 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.
ملاحظة ليس لديك حقوق في مخازن البيانات ما لم يكن لديك لإجراء إصلاح البيانات.
تغييرات التعليمات البرمجية
ملاحظة اختبر دائما إصلاحات التعليمات البرمجية في بيئة خاضعة للرقابة قبل تطبيق الإصلاحات على أجهزة الكمبيوتر الإنتاجية.
لحل هذه المشكلة، اتبع الخطوات التالية:
تغيير التعليمات البرمجية في الدالة InitValueEntry في العنصر Jnl.-Post Line codeunit (22) كما يلي:
التعليمات البرمجية الموجودة... IF "Partial Revaluation" THEN ValueEntry."Partial Revaluation" := TRUE; // Delete the following lines. IF (ItemLedgEntry.Quantity > 0) OR (ItemLedgEntry."Invoiced Quantity" > 0) OR (("Value Entry Type" = "Value Entry Type"::"Direct Cost") AND ("Item Charge No." = '')) OR ("Entry Type" = "Entry Type"::Output) OR Adjustment THEN // End of the lines. ValueEntry.Inventoriable := TRUE; ...رمز الاستبدال
... IF "Partial Revaluation" THEN ValueEntry."Partial Revaluation" := TRUE; // Add the following lines. IF (ItemLedgEntry.Quantity > 0) OR (ItemLedgEntry."Invoiced Quantity" > 0) OR (("Value Entry Type" = "Value Entry Type"::"Direct Cost") AND ("Item Charge No." = '')) OR ("Entry Type" = "Entry Type"::Output) OR Adjustment OR (("Document Type" IN ["Document Type"::"Purchase Return Shipment","Document Type"::"Purchase Credit Memo"]) AND ("Item Charge No." <> '') AND ("Entry Type" = "Entry Type"::Purchase)) THEN // End of the lines. ValueEntry.Inventoriable := TRUE; ...تغيير التعليمات البرمجية في الدالة UpdateValuationFields في العنصر Jnl.-Post Line codeunit (22) كما يلي:
التعليمات البرمجية الموجودة... IF (ValueEntry."Expected Cost" = FALSE) AND (ValueEntry."Item Charge No." <> '') AND (ValueEntry."Item Ledger Entry Type" = ValueEntry."Item Ledger Entry Type"::Purchase) THEN BEGIN // Delete the following lines. IF ValueEntry."Cost Amount (Actual)" = 0 THEN ValueEntry."Cost Amount (Actual)" := -ValueEntry."Purchase Amount (Actual)"; // End of the lines. END; ...رمز الاستبدال
... IF (ValueEntry."Expected Cost" = FALSE) AND (ValueEntry."Item Charge No." <> '') AND (ValueEntry."Item Ledger Entry Type" = ValueEntry."Item Ledger Entry Type"::Purchase) THEN BEGIN // Add the following lines. IF ValueEntry."Cost Amount (Actual)" = 0 THEN IF ValueEntry."Document Type" = ValueEntry."Document Type"::"Purchase Credit Memo" THEN ValueEntry."Cost Amount (Actual)" := ValueEntry."Purchase Amount (Actual)" ELSE ValueEntry."Cost Amount (Actual)" := -ValueEntry."Purchase Amount (Actual)"; // End of the lines. END; ...تغيير التعليمات البرمجية في الدالة PostItemJnlLine في Purch.-Post codeunit (90) كما يلي:
التعليمات البرمجية الموجودة... IF QtyToBeInvoiced <> 0 THEN BEGIN ItemJnlLine."Invoice No." := GenJnlLineDocNo; ItemJnlLine."External Document No." := GenJnlLineExtDocNo; // Delete the following lines. IF ItemJnlLine."Document No." = '' THEN BEGIN IF "Document Type" = "Document Type"::"Credit Memo" THEN ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Credit Memo" ELSE ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Invoice"; ItemJnlLine."Document No." := GenJnlLineDocNo; END; // End of the lines. ItemJnlLine."Posting No. Series" := PurchHeader."Posting No. Series"; END; END; ...رمز الاستبدال
... IF QtyToBeInvoiced <> 0 THEN BEGIN ItemJnlLine."Invoice No." := GenJnlLineDocNo; ItemJnlLine."External Document No." := GenJnlLineExtDocNo; // Add the following lines. IF "Document Type" IN ["Document Type"::"Return Order","Document Type"::"Credit Memo"] THEN ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Credit Memo" ELSE ItemJnlLine."Document Type" := ItemJnlLine."Document Type"::"Purchase Invoice"; IF ItemJnlLine."Document No." = '' THEN ItemJnlLine."Document No." := GenJnlLineDocNo; // End of the lines. ItemJnlLine."Posting No. Series" := PurchHeader."Posting No. Series"; END; END; ...
المتطلبات الأساسية
يجب أن يكون لديك أحد المنتجات التالية مثبتا لتطبيق هذا الإصلاح العاجل:
- الإصدار اليوناني من Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)
- الإصدار اليوناني من Microsoft Dynamics NAV 5.0 Service Pack 1 (SP1)
متطلب إعادة التشغيل
بعد تطبيق هذا الإصلاح العاجل، وإجراء أي إصلاح مطلوب للبيانات، يجب إعادة تشغيل كل عميل Microsoft Dynamics NAV.
ليس عليك إعادة تشغيل Microsoft Windows.
معلومات الإزالة
لا يمكنك إزالة هذا الإصلاح العاجل.
الحالة
لقد أكدت Microsoft على أن هذه مشكلة في منتجات Microsoft المُدرجة في القسم "ينطبق على".
ملاحظة هذه مقالة "FAST PUBLISH" تم إنشاؤها مباشرة من داخل مؤسسة دعم Microsoft. وتقدم المعلومات الواردة هنا كما هي استجابة للقضايا الناشئة. نتيجة لسرعة إتاحتها، قد تتضمن المواد أخطاء مطبعية ويمكن مراجعتها في أي وقت دون إشعار. راجع شروط الاستخدام لاعتبارات أخرى.