Problembeschreibung
Nach der Veröffentlichung von XBRL (Deutschland - EU-Umsatzliste - neue Methode für die Einreichung ab 01.01.2013 - Microsoft Dynamics NAV 2009 SP1) beim Nachschlagen im Anforderungsfenster des Berichts 505, klicken Sie auf die Taxonomyzeilen unerwartet gestrichen. Dieses Problem tritt in den folgenden Produkten auf:
-
Die deutsche Version von Microsoft Dynamics NAV 2009 R2
-
Die deutsche Version von Microsoft Dynamics NAV 2009 Service Pack 1
Problemlösung
Hotfix-Informationen
Ein unterstützter Hotfix ist inzwischen von Microsoft erhältlich. Allerdings ist es lediglich zur Behebung dieses Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise noch getestet. Wenn Ihr System durch dieses Problem nicht schwerwiegend beeinträchtigt ist, empfehlen wir, dass Sie warten auf das nächste Servicepack für Microsoft Dynamics NAV 2009 oder die nächste Microsoft Dynamics NAV-Version, die diesen Hotfix enthält.
Hinweis In besonderen Fällen bestimmt Gebühren fallen normalerweise Support aufrufen Wenn Experte Support für Microsoft Dynamics und zugehörige Produkte storniert werden können, dass ein bestimmtes Update Ihr Problem behebt. Die normalen Supportkosten gilt für zusätzliche Supportfragen und Probleme, die nicht für das betreffende Update qualifizieren.
Informationen zur Installation
Microsoft bietet Programmierbeispiele lediglich zur Veranschaulichung, ohne ausdrückliche oder konkludente Gewährleistung. Dies beinhaltet, ist jedoch nicht beschränkt auf, konkludente Gewährleistungen der Tauglichkeit oder Eignung für einen bestimmten Zweck. Dieser Artikel setzt voraus, dass Sie mit der von Beispielen verwendeten Programmiersprache und den Tools, die zum Erstellen und Debuggen von Prozeduren verwendet werden, vertraut sind. Microsoft-Supporttechniker helfen der Erläuterung der Funktionalität bestimmter Prozeduren. Allerdings werden sie diese Beispiele nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren erstellen, die Ihren spezifischen Bedürfnisse erfüllen.
Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Microsoft Navision-Clientbenutzer vom System abgemeldet werden. Dies gilt auch für Clientbenutzer der Microsoft Navision Application Services (NAS). Sie sollte nur-Client-Benutzers, der angemeldet ist, wenn Sie diesen Hotfix installieren.
Muss eine Entwicklerlizenz verfügen, um diesen Hotfix installieren können.
Es wird empfohlen, das Benutzerkonto im Fenster Windows-Benutzernamen oder im Fenster Datenbank-Anmeldenamen "SUPER" Rollen-ID zugewiesen werden Wenn das Benutzerkonto die Rollen-ID "SUPER" nicht zugeordnet werden kann, müssen Sie sicherstellen, dass das Benutzerkonto die folgenden Berechtigungen verfügt:
-
Änderungsberechtigung für das Objekt, das Sie ändern.
-
Ausführungsberechtigung für System Object ID 5210 und System Object ID 9015 -Objekt.
Hinweis Sie müssen keine Rechte für die Datenspeicher haben, es sei denn, Sie müssen eine Datenreparatur durchführen.
Ändern von Code
Hinweis Testen Sie Programmcodeverbesserungen generell erst in einem Testsytem, bevor Sie sie im Produktionssystem verwenden.
Um dieses Problem zu beheben, ändern Sie den Code in der Tabelle MwSt.-Buchungsmatrix Einrichtung (325). Gehen Sie hierzu folgendermaßen vor:
-
Ändern Sie den Code für Eigenschaften wie folgt:
Vorhandener Code 1... Width=16500;
// Delete the following line.
Height=7370;
SaveValues=Yes;
...Neuer Code 1
...Width=16500;
// Add the following line.
Height=8140;
SaveValues=Yes;
...Vorhandener Code 2
...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN
// Delete the following line.
IF NOT XBRLTaxonomy.FIND('-') THEN
XBRLTaxonomy.INIT;
...Neuer Code 2
...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN
// Add the following line.
IF NOT XBRLTaxonomy.FINDFIRST THEN
XBRLTaxonomy.INIT;
...Vorhandenen Code 3
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);
// Delete the following line.
IF XBRLTaxonomyLabel.FIND('-') THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...Neuer Code 3
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);
// Add the following line.
IF XBRLTaxonomyLabel.FINDFIRST THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...Vorhandenen Code 4
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");
// Delete the following line.
IF XBRLTaxonomyLabel.FIND('-') THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...Neuer Code 4
...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");
// Add the following line.
IF XBRLTaxonomyLabel.FINDFIRST THEN
CurrentLang := XBRLTaxonomyLabel."XML Language Identifier"
...Vorhandenen Code 5
...// Delete the following line.
SETRANGE("Label Language Filter",CurrentLang);
...Neuer Code 5
...// Add the following line.
InitTempTable(ISSERVICETIER);
...Vorhandenen Code 6
...// Delete the following lines.
IF ISSERVICETIER THEN
ExpandAll
ELSE
InitTempTable;
// End of the lines.
END;
...Ersetzungscode 6
...// Add the following line.
SetFiltersAndUpdate;
END;
...Vorhandenen Code 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.
...Neuer Code 7
...// Add the following lines.
OnFindRecord=VAR
Found@1001 : Boolean;
BEGIN
IF NOT FiltersApplied THEN
SetFilters;
FiltersApplied := TRUE;
// End of the lines.
...Vorhandenen Code 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.
...Neuer Code 8
...// Add the following lines.
TempXBRLLine.COPY(Rec);
Found := TempXBRLLine.FIND(Which);
Rec := TempXBRLLine;
EXIT(Found);
END;
// End of the lines.
...Vorhandenen Code 9
...// Delete the following lines.
IF Label = '' THEN
Label := Name;
END;
// End of the lines.
...Neuer Code 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.
...Vorhandenen Code 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.
...Neuer Code 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.
...Vorhandenen Code 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.
...Neuer Code 11
...// Add the following lines.
IF Label = '' THEN
Label := Name;
END;
// End of the lines.
...Vorhandenen Code 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;
...Neuer Code 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;
... -
Ändern Sie den Code von Steuerelementen wie folgt:
Vorhandener Code 1...InColumn=Yes;
// Delete the following lines.
SourceExpr="Source Type" }
{ 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
// End of the lines.
InColumnHeading=Yes }
...Neuer Code 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 }
...Vorhandener Code 2
...InColumnHeading=Yes }
// Delete the following line.
{ 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;
InColumn=Yes;
...Neuer Code 2
...InColumnHeading=Yes }
// Add the following lines.
{ 28 ;TextBox ;0 ;3410 ;1700 ;440 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...Vorhandenen Code 3
...InColumn=Yes;
// Delete the following lines.
SourceExpr="Constant Amount" }
{ 7 ;Label ;0 ;0 ;0 ;0 ;ParentControl=6;
// End of the lines.
InColumnHeading=Yes }
...Neuer Code 3
...InColumn=Yes;
// Add the following lines.
SourceExpr="Line No." }
{ 29 ;Label ;0 ;0 ;0 ;0 ;ParentControl=28;
// End of the lines.
InColumnHeading=Yes }
...Vorhandenen Code 4
...InColumnHeading=Yes }
// Delete the following line.
{ 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Neuer Code 4
...InColumnHeading=Yes }
// Add the following lines.
{ 2 ;TextBox ;0 ;0 ;4400 ;0 ;HorzGlue=Both;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...Vorhandenen Code 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 }
...Neuer Code 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 }
...Vorhandenen Code 6
...InColumnHeading=Yes }
// Delete the following line.
{ 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;
InColumn=Yes;
...Ersetzungscode 6
...InColumnHeading=Yes }
// Add the following line.
{ 4 ;TextBox ;0 ;0 ;550 ;0 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 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 }
...Neuer Code 7
...InColumn=Yes;
// Add the following lines.
SourceExpr="Source Type" }
{ 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;
// End of the lines.
InColumnHeading=Yes }
...Vorhandenen Code 8
...InColumnHeading=Yes }
// Delete the following line.
{ 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Neuer Code 8
...InColumnHeading=Yes }
// Add the following line.
{ 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 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 }
...Neuer Code 9
...InColumn=Yes;
// Add the following lines.
SourceExpr="Constant Amount" }
{ 7 ;Label ;0 ;0 ;0 ;0 ;ParentControl=6;
// End of the lines.
InColumnHeading=Yes }
...Vorhandenen Code 10
...InColumnHeading=Yes }
// Delete the following line.
{ 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Neuer Code 10
...InColumnHeading=Yes }
// Add the following line.
{ 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 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 }
...Neuer Code 11
...ShowCaption=No;
// Add the following lines.
SourceExpr=Information }
{ 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;
// End of the lines.
InColumnHeading=Yes }
...Vorhandenen Code 12
...InColumnHeading=Yes }
// Delete the following lines.
{ 31 ;CheckBox ;8731 ;2970 ;1650 ;440 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...Neuer Code 12
...InColumnHeading=Yes }
// Add the following line.
{ 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 13
...ShowCaption=No;
// Delete the following lines.
SourceExpr=Rollup }
{ 37 ;Label ;0 ;0 ;0 ;0 ;ParentControl=31;
// End of the lines.
InColumnHeading=Yes }
...Neuer Code 13
...ShowCaption=No;
// Add the following lines.
SourceExpr=Reference }
{ 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32;
// End of the lines.
InColumnHeading=Yes }
...Vorhandenen Code 14
...InColumnHeading=Yes }
// Delete the following line.
{ 14 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1;
InColumn=Yes;
...Ersetzungscode 14
...InColumnHeading=Yes }
// Add the following line.
{ 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 15
...InColumn=Yes;
// Delete the following lines.
SourceExpr=Description }
{ 15 ;Label ;0 ;0 ;0 ;0 ;ParentControl=14;
// End of the lines.
InColumnHeading=Yes }
...Neuer Code 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 }
...Vorhandenen Code 16
...InColumnHeading=Yes }
// Delete the following lines.
{ 16 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No;
ParentControl=1;
// End of the lines.
InColumn=Yes;
...Ersetzungscode 16
...InColumnHeading=Yes }
// Add the following line.
{ 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;
InColumn=Yes;
...Vorhandenen Code 17
...InColumn=Yes;
// Delete the following lines.
SourceExpr=Name }
{ 17 ;Label ;0 ;0 ;0 ;0 ;ParentControl=16;
// End of the lines.
InColumnHeading=Yes }
...Ersetzungscode 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 }
...Vorhandenen Code 18
...InColumnHeading=Yes }
// Delete the following line.
{ 18 ;CommandButton;4400 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Ersetzungscode 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;
...Vorhandenen Code 19
...InvalidActionAppearance=Hide }
// Delete the following line.
{ 19 ;CommandButton;6820 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Neuer Code 19
...InvalidActionAppearance=Hide }
// Add the following line.
{ 19 ;CommandButton;6820 ;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Vorhandenen Code 20
...InvalidActionAppearance=Hide }
// Delete the following line.
{ 20 ;CommandButton;14080;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Neuer Code 20
...InvalidActionAppearance=Hide }
// Add the following line.
{ 20 ;CommandButton;14080;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Vorhandenen Code 21
...PushAction=FormHelp }
// Delete the following line.
{ 21 ;MenuButton ;9240 ;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Ersetzungscode 21
...PushAction=FormHelp }
// Add the following line.
{ 21 ;MenuButton ;9240 ;7370 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Vorhandenen Code 22
...// Delete the following line.
{ 38 ;TabControl ;220 ;220 ;16060;1430 ;HorzGlue=Both }
{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;
...Neuer Code 22
...// Add the following line.
{ 38 ;TabControl ;220 ;220 ;16060;2090 ;HorzGlue=Both }
{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;
...Vorhandenen Code 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;
...Neuer Code 23
...OnAfterValidate=BEGIN
// Add the following lines.
InitTempTable(FALSE);
SetFiltersAndUpdate;
// End of the lines.
END;
...Vorhandenen Code 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;
...Ersetzungscode 24
...IF CurrentLang <> '' THEN
// Add the following lines.
IF XBRLTaxonomyLabel.ISEMPTY THEN
ERROR(LangLabelsNotDefinedErr,CurrentLang);
// End of the lines.
END;
...Vorhandenen Code 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(
...Ersetzungscode 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(
...Vorhandenen Code 26
...EXIT(TRUE);
// Delete the following lines.
END ELSE
EXIT(FALSE);
// End of the lines.
END;
...Neuer Code 26
...EXIT(TRUE);
// Add the following lines.
END;
EXIT(FALSE);
// End of the lines.
END;
...Vorhandenen Code 27
...END;
// Delete the following line.
}
{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
...Neuer Code 27
...END;
// Add the following lines.
OnAfterValidate=BEGIN
SetFiltersAndUpdate;
END;
}
// End of the lines.
{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
...Vorhandenen Code 28
...{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }
// Delete the following line.
{ 43 ;MenuButton ;11660;6600 ;2200 ;550 ;HorzGlue=Right;
VertGlue=Bottom;
...Neuer Code 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;
...Vorhandenen Code 29
...OnPush=BEGIN
// Delete the following line.
ExpandAll;
END;
...Neuer Code 29
...OnPush=BEGIN
// Add the following lines.
InitTempTable(TRUE);
SetFiltersAndUpdate;
// End of the lines.
END;
...Vorhandenen Code 30
...OnPush=BEGIN
// Delete the following line.
InitTempTable;
END;
...Ersetzungscode 30
...OnPush=BEGIN
// Add the following lines.
InitTempTable(FALSE);
SetFiltersAndUpdate;
// End of the lines.
END;
... -
Fügen Sie die folgende globale Variabel:
...VAR
// Add the following line.
TempXBRLLine@1005 : TEMPORARY Record 395;
CurrentTaxonomy@1004 : Code[20];
... -
Löschen Sie die folgenden globalen Variablen:
...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.
... -
Fügen Sie die folgenden globalen Variablen:
...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.
... -
Ändern Sie den Code in der Funktion InitTempTable wie folgt:
Vorhandener Code 1...// Delete the following line.
LOCAL PROCEDURE InitTempTable@4();
VAR
...Neuer Code 1
...// Add the following line.
LOCAL PROCEDURE InitTempTable@4(ExpandAll@1000 : Boolean);
VAR
...Vorhandener Code 2
...VAR
// Delete the following line.
XBRLLine@1000 : Record 395;
BEGIN
...Neuer Code 2
...VAR
// Add the following line.
XBRLLine@1001 : Record 395;
BEGIN
...Vorhandenen Code 3
...ResetFilter;
// Delete the following line.
DELETEALL;
XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
...Neuer Code 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);
...Vorhandenen Code 4
...XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
// Delete the following line.
XBRLLine.SETRANGE(Level,0);
IF XBRLLine.FIND('-') THEN
...Neuer Code 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
...Vorhandenen Code 5
...REPEAT
// Delete the following lines.
- Rec := XBRLLine;
- INSERT;
// End of the lines.
UNTIL XBRLLine.NEXT = 0;
...Neuer Code 5
...REPEAT
// Add the following lines.
TempXBRLLine := XBRLLine;
TempXBRLLine.INSERT;
// End of the lines.
UNTIL XBRLLine.NEXT = 0;
... -
Ändern Sie den Code in der Funktion ExpandAll wie folgt:
Vorhandener Code 1...// Delete the following line.
LOCAL PROCEDURE ExpandAll@12();
VAR
...Neuer Code 1
...// Add the following line.
LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...Vorhandener Code 2
...VAR
// Delete the following line.
XBRLLine@1000 : Record 395;
BEGIN
...Neuer Code 2
...VAR
// Add the following line.
XBRLLine2@1001 : Record 395;
BEGIN
...Vorhandenen Code 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;
...Neuer Code 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;
... -
Ändern Sie den Code in der Funktion HasChildren wie folgt:
Vorhandener Code 1...// Delete the following line.
LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...Neuer Code 1
...// Add the following line.
LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...Vorhandener Code 2
...VAR
// Delete the following line.
XBRLLine2@1001 : Record 395;
BEGIN
...Neuer Code 2
...VAR
// Add the following lines.
xXBRLLine@1001 : Record 395;
Found@1002 : Boolean;
// End of the lines.
BEGIN
...Vorhandenen Code 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;
...Neuer Code 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;
... -
Ändern Sie den Code in der Funktion IsExpanded wie folgt:
Vorhandener Code 1...// Delete the following line.
LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;
VAR
...Neuer Code 1
...// Add the following line.
LOCAL PROCEDURE ToggleExpandCollapse@1();
VAR
...Vorhandener Code 2
...VAR
xXBRLLine@1001 : Record 395;
...Neuer Code 2
...VAR
// Add the following line.
XBRLLine@1000 : Record 395;
xXBRLLine@1001 : Record 395;
...Vorhandenen Code 3
...xXBRLLine@1001 : Record 395;
// Delete the following line.
Found@1002 : Boolean;
BEGIN
...Neuer Code 3
...xXBRLLine@1001 : Record 395;
BEGIN
...Vorhandenen Code 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
...Neuer Code 4
...ResetFilter;
IF ActualExpansionStatus = 0 THEN BEGIN // Has children, but not expanded
... -
Ändern Sie den Code in der Funktion ToggleExpandCollapse wie folgt:
Vorhandener Code 1...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN
// Delete the following lines.
Rec := XBRLLine;
IF INSERT THEN;
// End of the lines.
END;
...Neuer Code 1
...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN
// Add the following lines.
TempXBRLLine := XBRLLine;
IF TempXBRLLine.INSERT THEN;
// End of the lines.
END;
...Vorhandener Code 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;
...Neuer Code 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;
... -
Ändern Sie den Code in der Funktion ResetFilter wie folgt:
Vorhandener Code 1...// Delete the following line.
LOCAL PROCEDURE ResetFilter@3();
BEGIN
...Neuer Code 1
...// Add the following line.
LOCAL PROCEDURE SetFiltersAndUpdate@5();
BEGIN
...Vorhandener Code 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;
...Neuer Code 2
...BEGIN
// Add the following lines.
SetFilters;
CurrForm.UPDATE(FALSE);
// End of the lines.
END;
...Vorhandenen Code 3
...BEGIN
...Neuer Code 3
...
// Add the following line.
LOCAL PROCEDURE SetFilters@11();
BEGIN
...Vorhandenen Code 4
...BEGIN
// Delete the following lines.
END.
}
}
// End of the lines.
...Neuer Code 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.
... -
Fügen Sie den folgenden Code in der Funktion ResetFilter :
... LOCAL PROCEDURE ResetFilter@3();
BEGIN
RESET;
SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
FILTERGROUP(2);
SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
FILTERGROUP(0);
END;
... -
Fügen Sie den folgenden Code in der Funktion ResetFilter :
... BEGIN
END.
}
}
...
Voraussetzungen
Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:
-
Die deutsche Version von Microsoft Dynamics NAV 2009 R2
-
Die deutsche Version von Microsoft Dynamics NAV 2009 Service Pack 1
Informationen zur Deinstallation
Dieser Hotfix kann nicht entfernt werden.
Status
Microsoft hat bestätigt, dass es sich um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Eigenschaften“ aufgeführt sind.
Hinweis Dies ist ein im Schnellverfahren veröffentlichter Artikel, der direkt in der Microsoft Support-Organisation erstellt wurde. Die hierin enthaltenen Informationen werden ohne Mängelgewähr in Reaktion auf neue Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung kann das Material möglicherweise typografische Fehler enthalten und jederzeit ohne vorherige Ankündigung geändert werden. Weitere Hinweise finden Sie unter Geschäftsbedingungen .