قالب: CPR-قالب فياككس التعليمات البرمجية Navision

الخطأ رقم: 213532 (تعديل المحتوى)

الأعراض

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

  • إصدار اللغة الهولندية من Microsoft Dynamics NAV 2009 R2

  • إصدار اللغة الهولندية من Microsoft Dynamics NAV 2009 Service Pack 1

الحل

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

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

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

في حالة عدم نشر هذا الإصلاح العاجل للتنزيل العام (بمعنى عدم توفر URL عام لهذا الإصلاح العاجل في هذه المقالة)، يتطلب التوزيع التقني أو عضو فريق تصعيد أو موافقة من المدير مع مراعاة المعلومات التالية:

  • للحصول على الإصلاح العاجل، يجب أن يواجهه العملاء الخطأ المذكور في قسم "الأعراض".

  • يجب أن تعقب العملاء بإرسال هذا وتقديم حزمة الخدمة التالية لهم عندما تصبح متوفرة (في حالة أي حزمة خدمة).

هذا الإصلاح العاجل هو المقرر تضمينها مع إصدار اللغة هولندية من حزمة الخدمة Microsoft Dynamics NAV 2013.

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

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

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

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

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

  • إذن "تعديل" للكائن الذي سيتم تغيير.

  • إذن Execute للكائن 5210 معرف كائن النظام و نظام 9015 معرف الكائن

    الكائن.

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

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

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

لحل هذه المشكلة، اتبع الخطوات التالية.

  1. تغيير التعليمات البرمجية في "إنشاء دول Decl. القرص التقرير" (11413) كما يلي:
    التعليمات البرمجية الموجودة 1

    ...SpecialUnit@1000002 : Decimal;
    RoundedWeight@1000001 : Integer;
    ItemDirection@1000004 : Integer;
    BEGIN
    TESTFIELD("Item No.");
    TESTFIELD("Tariff No.");
    ...

    استبدال رمز 1

    ...SpecialUnit@1000002 : Decimal;
    RoundedWeight@1000001 : Integer;
    ItemDirection@1000004 : Integer;

    // Add the following line
    IsCorrection@1000005 : Boolean;
    // End of the added line.

    BEGIN
    TESTFIELD("Item No.");
    TESTFIELD("Tariff No.");
    ...

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

    ...ZeroShipment := FALSE;
    END;
    END;

    Write(FORMAT(Date, 0, '<Year4><Month,2>'));
    Write(FORMAT(ItemDirection));
    ...

    استبدال رمز 2

    ...
    ZeroShipment := FALSE;
    END;
    END;

    // Add the following line.
    IsCorrection := CheckCorrection("Source Entry No.",ItemDirection);
    // End of the added line.

    Write(FORMAT(Date, 0, '<Year4><Month,2>'));
    Write(FORMAT(ItemDirection));
    ...

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

    ...Write(PADSTR2("Transaction Type", 1, '', '>'));
    Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));
    Write('00');
    Write(Sign(RoundedWeight)); // DELETED
    Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
    ...

    استبدال رمز 3

    ...Write(PADSTR2("Transaction Type", 1, '', '>'));
    Write(PADSTR2(DELCHR("Tariff No."), 8, '0', '<'));
    Write('00');

    // Add the following line.
    Write(Sign(RoundedWeight,IsCorrection));
    // End of the added line.

    Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));
    ...

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

    ...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));

    // Delete the following line.
    Write(Sign(SpecialUnit));
    // End of the deleted line.

    Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
    ...

    استبدال رمز 4

    ...Write(PADSTR2(FORMAT(RoundedWeight, 0, '<Integer>'), 10, ' ', '<'));

    // Add the following line.
    Write(Sign(SpecialUnit,IsCorrection));
    // End of the added line.

    Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));
    ...

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

    ...
    Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));

    // Delete the following line.
    Write(Sign(Amount));
    // End of the deleted line.

    Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
    ...

    استبدال رمز 5

    ...
    Write(PADSTR2(FORMAT(SpecialUnit, 0, '<Integer>'), 10, ' ', '<'));

    // Add the following line.
    Write(Sign(Amount,IsCorrection));
    // End of the added line.

    Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));
    ...

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

    ...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));

    // Delete the following line.
    Write('+');
    // End of the deleted line.

    Write(PADSTR2('0', 10, ' ', '<'));
    Write(PADSTR2("Document No.", 10, ' ', '<'));
    ...

    استبدال رمز 6

    ...Write(PADSTR2(FORMAT(Amount, 0, '<Integer>'), 10, ' ', '<'));

    // Add the following lines.
    IF IsCorrection THEN
    Write('-')
    ELSE // ADDED
    Write('+');
    // End of the added lines.

    Write(PADSTR2('0', 10, ' ', '<'));
    Write(PADSTR2("Document No.", 10, ' ', '<'));
    ...

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

    ...Write(PADSTR2('0', 10, ' ', '<'));
    Write(PADSTR2("Document No.", 10, ' ', '<'));

    // Delete the following line.
    Write(PADSTR2('', 4, ' ', '>'));
    // End of the deleted line.

    Write('000');
    Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));
    Write(PADSTR2('', 6, ' ', '>'));
    ...

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

    ...Write(PADSTR2('0', 10, ' ', '<'));
    Write(PADSTR2("Document No.", 10, ' ', '<'));

    // Add the following lines.
    Write(PADSTR2('', 3, ' ', '>'));
    IF IsCorrection THEN
    Write('C')
    ELSE
    Write(' ');
    // End of the added lines.

    Write('000');
    Write(PADSTR2("Intrastat Jnl. Batch"."Currency Identifier", 1, ' ', '>'));
    Write(PADSTR2('', 6, ' ', '>'));
    ...
  2. تغيير التعليمات البرمجية في وظيفة تسجيل في "إنشاء دول Decl. القرص التقرير" (11413) كما يلي:
    التعليمات البرمجية الموجودة 1

    ...ExportFile.SEEK(ExportFile.POS - 1);
    END;

    // Delete the following line.
    LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal) : Text[1];
    // End of the deleted line.

    BEGIN
    CASE Number < 0 OF
    TRUE:
    ...

    استبدال رمز 1

    ... ExportFile.SEEK(ExportFile.POS - 1);
    END;

    // Add the following line.
    LOCAL PROCEDURE Sign@1000006(Number@1000000 : Decimal;IsCorrection@1000001 : Boolean) : Text[1];
    // End of the added line.

    BEGIN
    CASE Number < 0 OF
    TRUE:
    ...

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

    ...BEGIN
    CASE Number < 0 OF
    TRUE:

    // Delete the following line.
    EXIT('-');
    // End of the deleted line.

    FALSE:
    ...

    استبدال رمز 2

    ...BEGIN
    CASE Number < 0 OF
    TRUE:

    // Add the following lines.
    IF NOT IsCorrection THEN
    EXIT('-')
    ELSE
    EXIT('+');
    // End of the added lines.

    FALSE:
    ...

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

    ...FALSE:

    // Delete the following line.
    EXIT('+');
    // End of the deleted line.

    END;
    END;
    ...

    استبدال رمز 3

    ...FALSE:

    // Add the following lines.
    IF NOT IsCorrection THEN
    EXIT('+')
    ELSE
    EXIT('-');
    // End of the added lines.

    END;
    END;
    ...
  3. تغيير التعليمات البرمجية في وظيفة تشيككوريكشن في "إنشاء دول Decl. القرص التقرير" (11413) كما يلي:
    التعليمات البرمجية الموجودة

    ...CrLf[2] := 10;
    END;

    BEGIN
    ...

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

    ...CrLf[2] := 10;
    END;

    // Add the following lines.
    PROCEDURE CheckCorrection@1000018(SourceEntryNo@1000000 : Integer;VAR ItemDirection@1000001 : Integer) : Boolean;
    VAR
    ItemLedgerEntry@1000002 : Record 32;
    // End of the added lines.

    BEGIN
    ...
  4. تغيير التعليمات البرمجية في وظيفة CrLf في "إنشاء دول Decl. القرص التقرير" (11413) كما يلي:
    التعليمات البرمجية الموجودة

    ...BEGIN

    // Delete the following lines.
    {
    // Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1
    }
    END.
    }
    RDLDATA
    {
    }
    }
    // End of the deleted lines.
    ...

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

    ...BEGIN

    // Add the following lines.
    WITH ItemLedgerEntry DO BEGIN
    GET(SourceEntryNo);
    CASE "Document Type" OF
    "Document Type"::"Purchase Return Shipment":
    BEGIN
    ItemDirection := 6;
    EXIT(TRUE);
    END;
    "Document Type"::"Sales Return Receipt":
    BEGIN
    ItemDirection := 7;
    EXIT(TRUE);
    END;
    END;
    END;
    END;
    // End of the added lines.
    ...
  5. تغيير التعليمات البرمجية في وظيفة تشيككوريكشن في "إنشاء دول Decl. القرص التقرير" (11413) كما يلي:
    استبدال التعليمات البرمجية

    ...// Add the following lines.
    BEGIN
    {
    // Note: Intrastat Jnl. Batch dataitem has MaxIteration = 1
    }
    END.
    }
    RDLDATA
    {
    }
    }

    // End of the added lines.
    ...

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

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

  • إصدار اللغة الهولندية من Microsoft Dynamics NAV 2009 R2

  • إصدار اللغة الهولندية من Microsoft Dynamics NAV 2009 SP1

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

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

الحالة

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

المراجع

DynamicsNAVSE:351077 فسفت

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

Author: Vanessa.Garcia
Writer: v-luzo
المراجع التقني: Vanessa.Garcia
Editor:

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى Microsoft Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة الترجمة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×