Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Симптомы

После выпуска XBRL (Германия - ЕС - новый метод для отправки на 01.01.2013 - SP1 Microsoft Dynamics NAV 2009 г.) при нажатии кнопки поиска в форме запроса отчета 505, таксономия строки удаляются неожиданно. Эта проблема возникает в следующих продуктах:

  • Немецкая версия Microsoft Dynamics NAV 2009 R2

  • Немецкая версия Пакет обновления 1 для Microsoft Dynamics NAV 2009 г.

Решение

Сведения об исправлении

Исправление от корпорации Майкрософт доступно. Однако оно предназначено только для устранения проблемы, описанной в этой статье. Предлагаемое исправление должно применяться исключительно в системах, в которых обнаружена эта специфическая неполадка. Это исправление может проходить дополнительное тестирование. Таким образом Если вы не подвержены серьезно эту проблему, рекомендуется дождаться следующего пакета обновления для Microsoft Dynamics NAV 2009 или следующей версии Microsoft Dynamics NAV, содержащего это исправление.

Примечание. В особых случаях оплата, предусмотренная в службу поддержки может быть отменена Если специалист службы технической поддержки Microsoft Dynamics и связанных продуктов определит, что решения проблемы является специально выпущенное. Затраты на обычные услуги службы поддержки будут применяться к дополнительным вопросам и проблемам, которые не охватываются конкретным обновлением.


Сведения об установке

Корпорация Майкрософт предлагает примеры программного кода только для иллюстрации и без явных или подразумеваемых гарантий. Это включает, но не ограничиваясь, подразумеваемые гарантии товарной пригодности или пригодности для определенной цели. В данной статье предполагается, что вы знакомы с демонстрируемым языком программирования и средствами, которые используются для создания и отладки. Сотрудники службы поддержки Майкрософт могут объяснить возможности конкретной процедуры. Тем не менее они не изменит примеров для обеспечения функциональных возможностей или создания процедур для определенных требований.

Примечание. Перед установкой данного исправления убедитесь, что все пользователи Microsoft Navision вошли выход из системы. Это включает в себя пользователей клиентских служб приложений Microsoft Navision (NAS). Должен быть только клиент пользователя, который вошел в систему, при реализации данного исправления.

Чтобы реализовать это исправление, необходимо иметь лицензию разработчика.

Рекомендуется, чтобы учетной записи пользователя в окне Логины Windows или в окне Логины базы данных был присвоен идентификатор роли «SUPER» Если учетная запись пользователя не может быть назначена роль «SUPER» идентификатор, необходимо убедиться, что учетная запись пользователя имеет следующие разрешения.

  • Изменение разрешений для объекта, подлежащий изменению.

  • Разрешение Execute для объекта идентификатор объекта системы 5210 и 9015 идентификатор объекта системного объекта.



Примечание. Необходимо иметь права к хранилищам данных, если необходимо выполнить восстановление данных.

Изменения кода

Примечание. Всегда тестовый код исправления в контролируемой среде, прежде чем применить исправления на производственных компьютерах.
Чтобы решить эту проблему, измените код в таблице НДС Настройка учета (325). Чтобы сделать это, выполните следующие действия.

  1. Измените код свойства следующим образом:
    Существующий код 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;

    ...

  2. Измените код элементов управления следующим образом:
    Существующий код 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;
    ...

  3. Добавьте следующие глобальные veriable:

    ...VAR

    // Add the following line.
    TempXBRLLine@1005 : TEMPORARY Record 395;

    CurrentTaxonomy@1004 : Code[20];
    ...
  4. Удалите следующие глобальные переменные:

    ...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.

    ...
  5. Добавьте следующие глобальные переменные:

    ...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.

    ...
  6. Измените код в функцию InitTempTable следующим образом:
    Существующий код 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;
    ...

  7. Измените код в функцию "Развернуть все" следующим образом:
    Существующий код 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;
    ...

  8. Измените код в функцию HasChildren следующим образом:
    Существующий код 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;
    ...

  9. Измените код в функцию IsExpanded следующим образом:
    Существующий код 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
    ...

  10. Измените код в функцию ToggleExpandCollapse следующим образом:
    Существующий код 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;
    ...

  11. Измените код в функцию ResetFilter следующим образом:
    Существующий код 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.
    ...

  12. Добавьте следующий код в функцию ResetFilter :

    ... LOCAL PROCEDURE ResetFilter@3();
    BEGIN
    RESET;
    SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order");
    FILTERGROUP(2);
    SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);
    FILTERGROUP(0);
    END;
    ...
  13. Добавьте следующий код в функцию ResetFilter :

    ...  BEGIN
    END.
    }
    }
    ...

Предварительные условия

Необходимы следующие продукты для установки данного исправления.

  • Немецкая версия Microsoft Dynamics NAV 2009 R2

  • Немецкая версия Пакет обновления 1 для Microsoft Dynamics NAV 2009 г.

Сведения об удалении

Установленное обновление удалить нельзя.

Статус

Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".

Примечание. Это статья «БЫСТРАЯ ПУБЛИКАЦИЯ», созданная непосредственно из технической поддержки корпорации Майкрософт. Сведения, содержащиеся в настоящем документе, предоставляются "как есть" в ответ на возникающие проблемы. В результате скорости предоставления материалов они могут включать опечаток и быть изменены в любое время без предварительного уведомления. Другие вопросы, связанные с Условиями использования см.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×