الأعراض
بعد إصدار XBRL (ألمانيا-قائمة مبيعات الاتحاد الأوروبي-أسلوب جديد لتقديمها اعتبارا من 01.01.2013-Microsoft Dynamics NAV 2009 SP1)، عند النقر فوق بحث في نموذج طلب تقرير 505، بنود التصنيف يتم حذف بشكل غير متوقع. تحدث هذه المشكلة في المنتجات التالية:
-
إصدار اللغة الألمانية من Microsoft Dynamics NAV 2009 R2
-
إصدار اللغة الألمانية من Microsoft Dynamics NAV 2009 Service Pack 1
الحل
معلومات الإصلاح العاجل
الآن يتوفر إصلاح عاجل معتمد من Microsoft. ومع ذلك، هو فقط لتصحيح المشكلة الموضحة في هذه المقالة. تطبيقها فقط على الأنظمة التي تواجه هذه المشكلة بالتحديد. قد يتم إجراء اختبارات إضافية على هذا الإصلاح العاجل. ولذلك، إذا لم يكن تأثير المشكلة كبيرا، نوصي بالانتظار حتى الإصدار التالي من حزمة الخدمة Microsoft Dynamics NAV 2009 أو الإصدار Microsoft Dynamics التنقل التالي الذي يحتوي على هذا الإصلاح العاجل.
ملاحظة: في بعض الحالات، يحدد المصروفات التي تحتسب عادة لدعم قد يتم إلغاء المكالمات إذا "أخصائي الدعم التقني" ل Microsoft Dynamics والمنتجات ذات الصلة أن تحديثًا معيناً سوف يعمل على حل المشكلة. سيتم اضافة تكاليف الدعم المعتادة على أسئلة الدعم الإضافية والمشاكل التي لا يأهل على حلها للتحديث المطلوب.
معلومات التثبيت
تقدم Microsoft أمثلة برمجية للتوضيح فقط، دون أي ضمان صريح أو ضمني. هذا يتضمن، على سبيل المثال لا الحصر، الضمانات الضمنية الخاصة بالتسويق أو الملاءمة لغرض معين. تفترض هذه المقالة أنك معتاد على لغة البرمجة التي يتم شرحها والأدوات المستخدمة لإنشاء الإجراءات وتصحيحها. يساعد مهندسو الدعم لدى Microsoft شرح وظيفة إجراء محدد. ومع ذلك، لن يقوموا بتعديل هذه الأمثلة لتقديم وظيفة إضافية أو إنشاء إجراءات تستوفي متطلبات محددة.
ملاحظة: قبل تثبيت هذا الإصلاح العاجل، تأكد من تسجيل خروج النظام كافة المستخدمين عميل Microsoft Navision. ويشمل ذلك المستخدمين عميل Microsoft خدمات التطبيق Navision (NAS). يجب أن يكون عميل فقط المستخدم الذي تم تسجيل دخوله عند تطبيق هذا الإصلاح العاجل.
لتطبيق هذا الإصلاح العاجل، يجب أن يكون لديك ترخيص مطور.
نوصي بأن تعيين حساب المستخدم في إطار عمليات تسجيل دخول Windows أو في إطار "قاعدة بيانات تسجيل الدخول" بمعرف دور "رئيسي". إذا كان حساب المستخدم لا يمكن تعيين معرف دور "سوبر"، يجب التحقق من أن حساب المستخدم يملك الأذونات التالية:
-
إذن "تعديل" للكائن الذي سيتم تغيير.
-
إذن Execute للكائن 5210 معرف كائن النظام والكائن 9015 معرف كائن النظام .
ملاحظة: ليس لديك حق لمخازن البيانات ما لم يكن لديك لإجراء إصلاح البيانات.
تغييرات التعليمات البرمجية
ملاحظة: دوماً التعليمات البرمجية للاختبار إصلاح في بيئة تسيطر عليها قبل تطبيق إصلاحات لأجهزة الكمبيوتر الإنتاج.
لحل هذه المشكلة، تغيير التعليمات البرمجية في جدول "إعداد ترحيل ضريبة القيمة المضافة" (325). للقيام بذلك، اتبع الخطوات التالية:
-
تغيير خصائص التعليمات البرمجية كما يلي:
التعليمات البرمجية الموجودة 1... Width=16500;
// Delete the following line.
Height=7370;
SaveValues=Yes;
...استبدال رمز 1
...Width=16500;
// Add the following line.
Height=8140;
SaveValues=Yes;
...التعليمات البرمجية الموجودة 2
...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN
// Delete the following line.
IF NOT XBRLTaxonomy.FIND('-') THEN
XBRLTaxonomy.INIT;
...استبدال رمز 2
...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN
// Add the following line.
IF NOT XBRLTaxonomy.FINDFIRST THEN
XBRLTaxonomy.INIT;
...التعليمات البرمجية الموجودة 3
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);
// Delete the following line.
IF XBRLTaxonomyLabel.FIND('-') THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...استبدال رمز 3
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);
// Add the following line.
IF XBRLTaxonomyLabel.FINDFIRST THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...التعليمات البرمجية الموجودة 4
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");
// Delete the following line.
IF XBRLTaxonomyLabel.FIND('-') THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...استبدال رمز 4
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");
// Add the following line.
IF XBRLTaxonomyLabel.FINDFIRST THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...التعليمات البرمجية الموجودة 5
...// Delete the following line.
SETRANGE("Label Language Filter",CurrentLang);
...استبدال رمز 5
...// Add the following line.
InitTempTable(ISSERVICETIER);
...التعليمات البرمجية الموجودة 6
...// Delete the following lines.
IF ISSERVICETIER THEN
ExpandAll
ELSE
InitTempTable;
// End of the lines.
END;
...استبدال رمز 6
...// Add the following line.
SetFiltersAndUpdate;
END;
...التعليمات البرمجية الموجودة 7
...// Delete the following lines.
OnAfterGetRecord=VAR
XBRLLine@1102601000 : Record 395;
BEGIN
IF IsExpanded(Rec) THEN
ActualExpansionStatus := 1
ELSE
IF HasChildren(Rec) THEN
ActualExpansionStatus := 0
ELSE
ActualExpansionStatus := 2;
// End of the lines.
...رمز الاستبدال 7
...// Add the following lines.
OnFindRecord=VAR
Found@1001 : Boolean;
BEGIN
IF NOT FiltersApplied THEN
SetFilters;
FiltersApplied := TRUE;
// End of the lines.
...التعليمات البرمجية الموجودة 8
...// Delete the following lines.
XBRLLine.GET("XBRL Taxonomy Name","Line No.");
IF ("Source Type" <> XBRLLine."Source Type") OR
("Constant Amount" <> XBRLLine."Constant Amount") OR
(Description <> XBRLLine.Description)
THEN BEGIN
XBRLLine.CALCFIELDS(Label,Information,Rollup,"G/L Map Lines",Notes,Reference);
Rec := XBRLLine;
MODIFY;
END;
// End of the lines.
...استبدال رمز 8
...// Add the following lines.
TempXBRLLine.COPY(Rec);
Found := TempXBRLLine.FIND(Which);
Rec := TempXBRLLine;
EXIT(Found);
END;
// End of the lines.
...التعليمات البرمجية الموجودة 9
...// Delete the following lines.
IF Label = '' THEN
Label := Name;
END;
// End of the lines.
...استبدال التعليمات البرمجية 9
...// Add the following lines.
OnNextRecord=VAR
ResultSteps@1001 : Integer;
BEGIN
TempXBRLLine.COPY(Rec);
ResultSteps := TempXBRLLine.NEXT(Steps);
Rec := TempXBRLLine;
EXIT(ResultSteps);
END;
// End of the lines.
...التعليمات البرمجية الموجودة 10
...// Delete the following lines.
OnModifyRecord=VAR
XBRLLine@1102601000 : Record 395;
RecRef@1000 : RecordRef;
xRecRef@1001 : RecordRef;
ChangeLogMgt@1002 : Codeunit 423;
BEGIN
RecRef.GETTABLE(Rec);
xRecRef.GETTABLE(xRec);
XBRLLine.GET("XBRL Taxonomy Name","Line No.");
XBRLLine := Rec;
XBRLLine.MODIFY;
Rec := XBRLLine;
MODIFY;
ChangeLogMgt.LogModification(RecRef,xRecRef);
EXIT(FALSE);
END;
// End of the lines.
...استبدال الرمز 10
...// Add the following lines.
OnAfterGetRecord=BEGIN
IF IsExpanded(Rec) THEN
ActualExpansionStatus := 1
ELSE
IF HasChildren(Rec) THEN
ActualExpansionStatus := 0
ELSE
ActualExpansionStatus := 2;
// End of the lines.
...التعليمات البرمجية الموجودة 11
...// Delete the following lines.
}
CONTROLS
{
{ 1 ;TableBox ;220 ;1760 ;16060;4620 ;HorzGlue=Both;
VertGlue=Both }
{ 35 ;PictureBox ;0 ;2530 ;550 ;3740 ;ParentControl=1;
InColumn=Yes;
BitmapList=47,46;
CaptionML=ENU=Expand;
SourceExpr=ActualExpansionStatus;
OnPush=BEGIN
ToggleExpandCollapse;
END;
}
{ 36 ;Label ;0 ;0 ;0 ;0 ;ParentControl=35;
InColumnHeading=Yes }
{ 28 ;TextBox ;0 ;3410 ;1700 ;440 ;Visible=No;
ParentControl=1;
InColumn=Yes;
SourceExpr="Line No." }
{ 29 ;Label ;0 ;0 ;0 ;0 ;ParentControl=28;
InColumnHeading=Yes }
{ 2 ;TextBox ;0 ;0 ;4400 ;0 ;HorzGlue=Both;
ParentControl=1;
InColumn=Yes;
DrillDown=No;
SourceExpr=Label;
OnFormat=BEGIN
IF Level > 0 THEN
CurrForm.Label.UPDATEINDENT := Level * 220;
// End of the lines.
...استبدال التعليمات البرمجية 11
...// Add the following lines.
IF Label = '' THEN
Label := Name;
END;
// End of the lines.
...التعليمات البرمجية الموجودة 12
...// Delete the following lines.
IF (Level = 0) OR (ActualExpansionStatus < 2) THEN
CurrForm.Label.UPDATEFONTBOLD := TRUE;
END;
}
{ 3 ;Label ;0 ;0 ;0 ;0 ;ParentControl=2;
InColumnHeading=Yes }
{ 4 ;TextBox ;0 ;0 ;550 ;0 ;ParentControl=1;
// End of the lines.
InColumn=Yes;
...استبدال رمز 12
...// Add the following lines.
OnAfterGetCurrRecord=VAR
XBRLLine@1000 : Record 395;
BEGIN
XBRLLine.GET("XBRL Taxonomy Name","Line No.");
IF ("Source Type" <> XBRLLine."Source Type") OR
("Constant Amount" <> XBRLLine."Constant Amount") OR
(Description <> XBRLLine.Description)
THEN BEGIN
XBRLLine.CALCFIELDS(Label,Information,Rollup,"G/L Map Lines",Notes,Reference);
TempXBRLLine := XBRLLine;
TempXBRLLine.MODIFY;
END;
END;
OnModifyRecord=VAR
XBRLLine@1102601000 : Record 395;
RecRef@1000 : RecordRef;
xRecRef@1001 : RecordRef;
BEGIN
RecRef.GETTABLE(Rec);
xRecRef.GETTABLE(TempXBRLLine);
XBRLLine := Rec;
XBRLLine.MODIFY;
TempXBRLLine := XBRLLine;
TempXBRLLine.MODIFY;
EXIT(FALSE);
END;
}
CONTROLS
{
{ 1 ;TableBox ;220 ;2530 ;16060;4620 ;HorzGlue=Both;
VertGlue=Both }
{ 35 ;PictureBox ;0 ;2530 ;550 ;3740 ;ParentControl=1;
// End of the lines.
InColumn=Yes;
... -
تغيير التعليمات البرمجية لعناصر التحكم كما يلي:
التعليمات البرمجية الموجودة 1...InColumn=Yes;
// Delete the following lines.
SourceExpr="Source Type" }
{ 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
// End of the lines.
InColumnHeading=Yes }
...استبدال رمز 1
...InColumn=Yes;
// Add the following lines.
BitmapList=47,46;
CaptionML=ENU=Expand;
SourceExpr=ActualExpansionStatus;
OnPush=BEGIN
ToggleExpandCollapse;
END;
}
{ 36 ;Label ;0 ;0 ;0 ;0 ;ParentControl=35;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 2
...InColumnHeading=Yes }
// Delete the following line.
{ 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;
InColumn=Yes;
...استبدال رمز 2
...InColumnHeading=Yes }
// Add the following lines.
{ 28 ;TextBox ;0 ;3410 ;1700 ;440 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...التعليمات البرمجية الموجودة 3
...InColumn=Yes;
// Delete the following lines.
SourceExpr="Constant Amount" }
{ 7 ;Label ;0 ;0 ;0 ;0 ;ParentControl=6;
// End of the lines.
InColumnHeading=Yes }
...استبدال رمز 3
...InColumn=Yes;
// Add the following lines.
SourceExpr="Line No." }
{ 29 ;Label ;0 ;0 ;0 ;0 ;ParentControl=28;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 4
...InColumnHeading=Yes }
// Delete the following line.
{ 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...استبدال رمز 4
...InColumnHeading=Yes }
// Add the following lines.
{ 2 ;TextBox ;0 ;0 ;4400 ;0 ;HorzGlue=Both;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...التعليمات البرمجية الموجودة 5
...InColumn=Yes;
// Delete the following lines.
ShowCaption=No;
SourceExpr=Information }
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
// End of the lines.
InColumnHeading=Yes }
...استبدال رمز 5
...InColumn=Yes;
// Add the following lines.
DrillDown=No;
SourceExpr=Label;
OnFormat=BEGIN
IF Level > 0 THEN
CurrForm.Label.UPDATEINDENT := Level * 220;
IF (Level = 0) OR (ActualExpansionStatus < 2) THEN
CurrForm.Label.UPDATEFONTBOLD := TRUE;
END;
}
{ 3 ;Label ;0 ;0 ;0 ;0 ;ParentControl=2;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 6
...InColumnHeading=Yes }
// Delete the following line.
{ 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;
InColumn=Yes;
...استبدال رمز 6
...InColumnHeading=Yes }
// Add the following line.
{ 4 ;TextBox ;0 ;0 ;550 ;0 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 7
...InColumn=Yes;
// Delete the following lines.
ShowCaption=No;
SourceExpr=Reference }
{ 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32;
// End of the lines.
InColumnHeading=Yes }
...رمز الاستبدال 7
...InColumn=Yes;
// Add the following lines.
SourceExpr="Source Type" }
{ 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 8
...InColumnHeading=Yes }
// Delete the following line.
{ 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...استبدال رمز 8
...InColumnHeading=Yes }
// Add the following line.
{ 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 9
...InColumn=Yes;
// Delete the following lines.
ShowCaption=No;
SourceExpr=Notes }
{ 13 ;Label ;0 ;0 ;0 ;0 ;ParentControl=12;
// End of the lines.
InColumnHeading=Yes }
...استبدال التعليمات البرمجية 9
...InColumn=Yes;
// Add the following lines.
SourceExpr="Constant Amount" }
{ 7 ;Label ;0 ;0 ;0 ;0 ;ParentControl=6;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 10
...InColumnHeading=Yes }
// Delete the following line.
{ 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...استبدال الرمز 10
...InColumnHeading=Yes }
// Add the following line.
{ 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 11
...ShowCaption=No;
// Delete the following lines.
SourceExpr="G/L Map Lines" }
{ 9 ;Label ;0 ;0 ;0 ;0 ;ParentControl=8;
// End of the lines.
InColumnHeading=Yes }
...استبدال التعليمات البرمجية 11
...ShowCaption=No;
// Add the following lines.
SourceExpr=Information }
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 12
...InColumnHeading=Yes }
// Delete the following lines.
{ 31 ;CheckBox ;8731 ;2970 ;1650 ;440 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...استبدال رمز 12
...InColumnHeading=Yes }
// Add the following line.
{ 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 13
...ShowCaption=No;
// Delete the following lines.
SourceExpr=Rollup }
{ 37 ;Label ;0 ;0 ;0 ;0 ;ParentControl=31;
// End of the lines.
InColumnHeading=Yes }
...استبدال رمز 13
...ShowCaption=No;
// Add the following lines.
SourceExpr=Reference }
{ 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 14
...InColumnHeading=Yes }
// Delete the following line.
{ 14 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1;
InColumn=Yes;
...استبدال رمز 14
...InColumnHeading=Yes }
// Add the following line.
{ 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 15
...InColumn=Yes;
// Delete the following lines.
SourceExpr=Description }
{ 15 ;Label ;0 ;0 ;0 ;0 ;ParentControl=14;
// End of the lines.
InColumnHeading=Yes }
...استبدال التعليمات البرمجية 15
...InColumn=Yes;
// Add the following lines.
ShowCaption=No;
SourceExpr=Notes }
{ 13 ;Label ;0 ;0 ;0 ;0 ;ParentControl=12;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 16
...InColumnHeading=Yes }
// Delete the following lines.
{ 16 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...استبدال رمز 16
...InColumnHeading=Yes }
// Add the following line.
{ 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...التعليمات البرمجية الموجودة 17
...InColumn=Yes;
// Delete the following lines.
SourceExpr=Name }
{ 17 ;Label ;0 ;0 ;0 ;0 ;ParentControl=16;
// End of the lines.
InColumnHeading=Yes }
...استبدال رمز 17
...InColumn=Yes;
// Add the following lines.
ShowCaption=No;
SourceExpr="G/L Map Lines" }
{ 9 ;Label ;0 ;0 ;0 ;0 ;ParentControl=8;
// End of the lines.
InColumnHeading=Yes }
...التعليمات البرمجية الموجودة 18
...InColumnHeading=Yes }
// Delete the following line.
{ 18 ;CommandButton;4400 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...استبدال الرمز 18
...InColumnHeading=Yes }
// Add the following lines.
{ 31 ;CheckBox ;8731 ;2970 ;1650 ;440 ;Visible=No;
ParentControl=1;
InColumn=Yes;
ShowCaption=No;
SourceExpr=Rollup }
{ 37 ;Label ;0 ;0 ;0 ;0 ;ParentControl=31;
InColumnHeading=Yes }
{ 14 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1;
InColumn=Yes;
SourceExpr=Description }
{ 15 ;Label ;0 ;0 ;0 ;0 ;ParentControl=14;
InColumnHeading=Yes }
{ 16 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No;
ParentControl=1;
InColumn=Yes;
SourceExpr=Name }
{ 17 ;Label ;0 ;0 ;0 ;0 ;ParentControl=16;
InColumnHeading=Yes }
{ 18 ;CommandButton;4400 ;7370 ;2200 ;550 ;HorzGlue=Right;
// End of the lines.
VertGlue=Bottom;
...التعليمات البرمجية الموجودة 19
...InvalidActionAppearance=Hide }
// Delete the following line.
{ 19 ;CommandButton;6820 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...استبدال رمز 19
...InvalidActionAppearance=Hide }
// Add the following line.
{ 19 ;CommandButton;6820 ;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...التعليمات البرمجية الموجودة 20
...InvalidActionAppearance=Hide }
// Delete the following line.
{ 20 ;CommandButton;14080;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...استبدال التعليمات البرمجية 20
...InvalidActionAppearance=Hide }
// Add the following line.
{ 20 ;CommandButton;14080;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...التعليمات البرمجية الموجودة 21
...PushAction=FormHelp }
// Delete the following line.
{ 21 ;MenuButton ;9240 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...استبدال التعليمات البرمجية 21
...PushAction=FormHelp }
// Add the following line.
{ 21 ;MenuButton ;9240 ;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...التعليمات البرمجية الموجودة 22
...// Delete the following line.
{ 38 ;TabControl ;220 ;220 ;16060;1430 ;HorzGlue=Both }
{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;
...استبدال التعليمات البرمجية 22
...// Add the following line.
{ 38 ;TabControl ;220 ;220 ;16060;2090 ;HorzGlue=Both }
{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;
...التعليمات البرمجية الموجودة 23
...OnAfterValidate=BEGIN
// Delete the following lines.
FILTERGROUP(2);
SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
FILTERGROUP(0);
SETRANGE("XBRL Taxonomy Name");
InitTempTable;
CurrForm.UPDATE(FALSE);
// End of the lines.
END;
...استبدال رمز 23
...OnAfterValidate=BEGIN
// Add the following lines.
InitTempTable(FALSE);
SetFiltersAndUpdate;
// End of the lines.
END;
...التعليمات البرمجية الموجودة 24
...IF CurrentLang <> '' THEN
// Delete the following lines.
IF NOT XBRLTaxonomyLabel.FIND('-') THEN
ERROR(Text001,CurrentLang);
SETRANGE("Label Language Filter",CurrentLang);
// End of the lines.
END;
...استبدال رمز 24
...IF CurrentLang <> '' THEN
// Add the following lines.
IF XBRLTaxonomyLabel.ISEMPTY THEN
ERROR(LangLabelsNotDefinedErr,CurrentLang);
// End of the lines.
END;
...التعليمات البرمجية الموجودة 25
...XBRLTaxonomyLabel.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
// Delete the following lines.
IF NOT XBRLTaxonomyLabel.FIND('-') THEN
ERROR(Text002,"XBRL Taxonomy Name");
// End of the lines.
XBRLTaxonomyLabel.SETRANGE(
...استبدال التعليمات البرمجية 25
...XBRLTaxonomyLabel.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
// Add the following lines.
IF NOT XBRLTaxonomyLabel.FINDFIRST THEN
ERROR(TaxonomyLabelsNotDefinedErr,"XBRL Taxonomy Name");
// End of the lines.
XBRLTaxonomyLabel.SETRANGE(
...التعليمات البرمجية الموجودة 26
...EXIT(TRUE);
// Delete the following lines.
END ELSE
EXIT(FALSE);
// End of the lines.
END;
...استبدال التعليمات البرمجية 26
...EXIT(TRUE);
// Add the following lines.
END;
EXIT(FALSE);
// End of the lines.
END;
...التعليمات البرمجية الموجودة 27
...END;
// Delete the following line.
}
{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
...استبدال التعليمات البرمجية 27
...END;
// Add the following lines.
OnAfterValidate=BEGIN
SetFiltersAndUpdate;
END;
}
// End of the lines.
{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
...التعليمات البرمجية الموجودة 28
...{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
// Delete the following line.
{ 43 ;MenuButton ;11660;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...استبدال التعليمات البرمجية 28
...{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
// Add the following lines.
{ 49 ;CheckBox ;3850 ;1650 ;440 ;440 ;ParentControl=38;
InPage=0;
ShowCaption=No;
CaptionML=ENU=Show Only Presentation;
SourceExpr=OnlyShowPresentation;
OnAfterValidate=BEGIN
SetFiltersAndUpdate;
END;
}
{ 50 ;Label ;440 ;1650 ;3300 ;440 ;ParentControl=49 }
{ 43 ;MenuButton ;11660;7370 ;2200 ;550 ;HorzGlue=Right;
// End of the lines.
VertGlue=Bottom;
...التعليمات البرمجية الموجودة 29
...OnPush=BEGIN
// Delete the following line.
ExpandAll;
END;
...استبدال رمز 29
...OnPush=BEGIN
// Add the following lines.
InitTempTable(TRUE);
SetFiltersAndUpdate;
// End of the lines.
END;
...التعليمات البرمجية الموجودة 30
...OnPush=BEGIN
// Delete the following line.
InitTempTable;
END;
...استبدال التعليمات البرمجية 30
...OnPush=BEGIN
// Add the following lines.
InitTempTable(FALSE);
SetFiltersAndUpdate;
// End of the lines.
END;
... -
قم بإضافة فيريابل العالمية التالية:
...VAR
// Add the following line.
TempXBRLLine@1005 : TEMPORARY Record 395;
CurrentTaxonomy@1004 : Code[20];
... -
حذف متغيرات عمومية ما يلي:
...ActualExpansionStatus@1000 : Integer;
// Delete the following lines.
Text001@1002 : TextConst 'ENU=Labels are not defined for language %1.';
Text002@1006 : TextConst 'ENU=There are no labels defined for %1.';
// End of the lines.
... -
إضافة المتغيرات العالمية التالية:
...ActualExpansionStatus@1000 : Integer;
// Add the following lines.
LangLabelsNotDefinedErr@1002 : TextConst 'ENU=Labels are not defined for language %1.';
TaxonomyLabelsNotDefinedErr@1006 : TextConst 'ENU=There are no labels defined for %1.';
OnlyShowPresentation@1003 : Boolean;
FiltersApplied@1007 : Boolean;
// End of the lines.
... -
تغيير التعليمات البرمجية في وظيفة إينيتيمبتابل كما يلي:
التعليمات البرمجية الموجودة 1...// Delete the following line.
LOCAL PROCEDURE InitTempTable@4();
VAR
...استبدال رمز 1
...// Add the following line.
LOCAL PROCEDURE InitTempTable@4(ExpandAll@1000 : Boolean);
VAR
...التعليمات البرمجية الموجودة 2
...VAR
// Delete the following line.
XBRLLine@1000 : Record 395;
BEGIN
...استبدال رمز 2
...VAR
// Add the following line.
XBRLLine@1001 : Record 395;
BEGIN
...التعليمات البرمجية الموجودة 3
...ResetFilter;
// Delete the following line.
DELETEALL;
XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
...استبدال رمز 3
...ResetFilter;
// Add the following lines.
TempXBRLLine.RESET;
TempXBRLLine.DELETEALL;
TempXBRLLine.SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
// End of the lines.
XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
...التعليمات البرمجية الموجودة 4
...XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
// Delete the following line.
XBRLLine.SETRANGE(Level,0);
IF XBRLLine.FIND('-') THEN
...استبدال رمز 4
...XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
// Add the following lines.
IF NOT ExpandAll THEN
XBRLLine.SETRANGE(Level,0);
// End of the lines.
IF XBRLLine.FIND('-') THEN
...التعليمات البرمجية الموجودة 5
...REPEAT
// Delete the following lines.
- Rec := XBRLLine;
- INSERT;
// End of the lines.
UNTIL XBRLLine.NEXT = 0;
...استبدال رمز 5
...REPEAT
// Add the following lines.
TempXBRLLine := XBRLLine;
TempXBRLLine.INSERT;
// End of the lines.
UNTIL XBRLLine.NEXT = 0;
... -
تغيير التعليمات البرمجية في وظيفة اكسباندال كما يلي:
التعليمات البرمجية الموجودة 1...// Delete the following line.
LOCAL PROCEDURE ExpandAll@12();
VAR
...استبدال رمز 1
...// Add the following line.
LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...التعليمات البرمجية الموجودة 2
...VAR
// Delete the following line.
XBRLLine@1000 : Record 395;
BEGIN
...استبدال رمز 2
...VAR
// Add the following line.
XBRLLine2@1001 : Record 395;
BEGIN
...التعليمات البرمجية الموجودة 3
...BEGIN
// Delete the following lines.
ResetFilter;
DELETEALL;
XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
IF XBRLLine.FIND('-') THEN
REPEAT
Rec := XBRLLine;
INSERT;
UNTIL XBRLLine.NEXT = 0;
// End of the lines.
END;
...استبدال رمز 3
...BEGIN
// Add the following lines.
XBRLLine2 := ActualXBRLLine;
XBRLLine2.SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
XBRLLine2.SETRANGE("XBRL Taxonomy Name",ActualXBRLLine."XBRL Taxonomy Name");
IF XBRLLine2.NEXT = 0 THEN
EXIT(FALSE);
EXIT(XBRLLine2.Level > ActualXBRLLine.Level);
// End of the lines.
END;
... -
تغيير التعليمات البرمجية في وظيفة هاشيلدرين كما يلي:
التعليمات البرمجية الموجودة 1...// Delete the following line.
LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...استبدال رمز 1
...// Add the following line.
LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...التعليمات البرمجية الموجودة 2
...VAR
// Delete the following line.
XBRLLine2@1001 : Record 395;
BEGIN
...استبدال رمز 2
...VAR
// Add the following lines.
xXBRLLine@1001 : Record 395;
Found@1002 : Boolean;
// End of the lines.
BEGIN
...التعليمات البرمجية الموجودة 3
...BEGIN
// Delete the following lines.
XBRLLine2 := ActualXBRLLine;
XBRLLine2.SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
XBRLLine2.SETRANGE("XBRL Taxonomy Name",ActualXBRLLine."XBRL Taxonomy Name");
IF XBRLLine2.NEXT = 0 THEN
EXIT(FALSE)
ELSE
EXIT(XBRLLine2.Level > ActualXBRLLine.Level);
// End of the lines.
END;
...استبدال رمز 3
...BEGIN
// Add the following lines.
xXBRLLine.COPY(Rec);
ResetFilter;
TempXBRLLine := ActualXBRLLine;
Found := (TempXBRLLine.NEXT <> 0);
IF Found THEN
Found := (TempXBRLLine.Level > ActualXBRLLine.Level);
COPY(xXBRLLine);
EXIT(Found);
// End of the lines.
END;
... -
تغيير التعليمات البرمجية في وظيفة إيسيكسبانديد كما يلي:
التعليمات البرمجية الموجودة 1...// Delete the following line.
LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...استبدال رمز 1
...// Add the following line.
LOCAL PROCEDURE ToggleExpandCollapse@1();
VAR
...التعليمات البرمجية الموجودة 2
...VAR
xXBRLLine@1001 : Record 395;
...استبدال رمز 2
...VAR
// Add the following line.
XBRLLine@1000 : Record 395;
xXBRLLine@1001 : Record 395;
...التعليمات البرمجية الموجودة 3
...xXBRLLine@1001 : Record 395;
// Delete the following line.
Found@1002 : Boolean;
BEGIN
...استبدال رمز 3
...xXBRLLine@1001 : Record 395;
BEGIN
...التعليمات البرمجية الموجودة 4
...ResetFilter;
// Delete the following lines.
Rec := ActualXBRLLine;
Found := (NEXT <> 0);
IF Found THEN
Found := (Level > ActualXBRLLine.Level);
COPY(xXBRLLine);
EXIT(Found);
END;
LOCAL PROCEDURE ToggleExpandCollapse@1();
VAR
XBRLLine@1000 : Record 395;
xXBRLLine@1001 : Record 395;
BEGIN
xXBRLLine.COPY(Rec);
ResetFilter;
// End of the lines.
IF ActualExpansionStatus = 0 THEN BEGIN // Has children, but not expanded
...استبدال رمز 4
...ResetFilter;
IF ActualExpansionStatus = 0 THEN BEGIN // Has children, but not expanded
... -
تغيير التعليمات البرمجية في وظيفة توجليكسباندكولابسي كما يلي:
التعليمات البرمجية الموجودة 1...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN
// Delete the following lines.
Rec := XBRLLine;
IF INSERT THEN;
// End of the lines.
END;
...استبدال رمز 1
...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN
// Add the following lines.
TempXBRLLine := XBRLLine;
IF TempXBRLLine.INSERT THEN;
// End of the lines.
END;
...التعليمات البرمجية الموجودة 2
...IF ActualExpansionStatus = 1 THEN BEGIN // Has children and is already expanded
// Delete the following lines.
WHILE (NEXT <> 0) AND (Level > xXBRLLine.Level) DO
DELETE;
// End of the lines.
END;
...استبدال رمز 2
...IF ActualExpansionStatus = 1 THEN BEGIN // Has children and is already expanded
// Add the following lines.
TempXBRLLine := Rec;
WHILE (TempXBRLLine.NEXT <> 0) AND (TempXBRLLine.Level > xXBRLLine.Level) DO
TempXBRLLine.DELETE;
// End of the lines.
END;
... -
تغيير التعليمات البرمجية في وظيفة ريسيتفيلتير كما يلي:
التعليمات البرمجية الموجودة 1...// Delete the following line.
LOCAL PROCEDURE ResetFilter@3();
BEGIN
...استبدال رمز 1
...// Add the following line.
LOCAL PROCEDURE SetFiltersAndUpdate@5();
BEGIN
...التعليمات البرمجية الموجودة 2
...BEGIN
// Delete the following lines.
RESET;
SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
FILTERGROUP(2);
SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
FILTERGROUP(0);
// End of the lines.
END;
...استبدال رمز 2
...BEGIN
// Add the following lines.
SetFilters;
CurrForm.UPDATE(FALSE);
// End of the lines.
END;
...التعليمات البرمجية الموجودة 3
...BEGIN
...استبدال رمز 3
...
// Add the following line.
LOCAL PROCEDURE SetFilters@11();
BEGIN
...التعليمات البرمجية الموجودة 4
...BEGIN
// Delete the following lines.
END.
}
}
// End of the lines.
...استبدال رمز 4
...BEGIN
// Add the following lines.
SETRANGE("Label Language Filter",CurrentLang);
IF OnlyShowPresentation THEN
SETFILTER("Presentation Linkbase Line No.",'>0')
ELSE
SETRANGE("Presentation Linkbase Line No.");
END;
// End of the lines.
... -
أضف التعليمات البرمجية التالية في الدالة ريسيتفيلتير :
... LOCAL PROCEDURE ResetFilter@3();
BEGIN
RESET;
SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
FILTERGROUP(2);
SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
FILTERGROUP(0);
END;
... -
أضف التعليمات البرمجية التالية في الدالة ريسيتفيلتير :
... BEGIN
END.
}
}
...
المتطلبات الأساسية
يجب أن يكون لديك أحد المنتجات التالية مثبتة لتطبيق هذا الإصلاح العاجل:
-
إصدار اللغة الألمانية من Microsoft Dynamics NAV 2009 R2
-
إصدار اللغة الألمانية من Microsoft Dynamics NAV 2009 Service Pack 1
معلومات الإزالة
لا يمكنك إزالة هذا الإصلاح العاجل.
الحالة
أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".
ملاحظة: وهذا المقال "النشر السريع" التي تم إنشاؤها مباشرة من داخل مؤسسة دعم Microsoft. وتقدم المعلومات الواردة في هذه الوثيقة كاستجابه للمسائل الناشئة. نتيجة للسرعة في توفيره، قد تتضمن الأخطاء المطبعية المواد ويمكن مراجعة في أي وقت دون سابق إنذار. راجع شروط الاستخدام لاعتبارات أخرى.