Aplica-se a
Dynamics NAV 2009

Sintomas

Após o lançamento do XBRL (Alemanha - lista de vendas da UE - novo método para envio a partir do 01.01.2013 - SP1 do Microsoft Dynamics NAV 2009), quando você clica em pesquisa no formulário de solicitação de relatório de 505, as linhas de taxonomia são excluídas inesperadamente. Esse problema ocorre nos seguintes produtos:

  • A versão em alemão do Microsoft Dynamics NAV 2009 R2

  • A versão em alemão do Microsoft Dynamics NAV 2009 Service Pack 1

Resolução

Informações sobre o hotfix

Um hotfix suportado está disponível agora na Microsoft. No entanto, apenas destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico. Esta correção poderá ser submetida a testes adicionais. Portanto, se esse problema não o prejudicar, recomendamos que você aguarde o próximo service pack do Microsoft Dynamics NAV 2009 ou a próxima versão do Microsoft Dynamics NAV que contém esse hotfix.Observação: Em alguns casos, as taxas cobradas para suporte a chamadas podem ser canceladas se um profissional de suporte técnico do Microsoft Dynamics e produtos relacionados determina que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados para questões de suporte adicionais e problemas que não se qualificam à atualização específica em questão.

Informações sobre a instalação

A Microsoft fornece exemplos de programação somente para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um propósito específico. Este artigo presume que você esteja familiarizado com a linguagem de programação que está sendo demonstrada e com as ferramentas usadas para criar e depurar procedimentos. Os engenheiros de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento. No entanto, eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades específicas.Observação: Antes de instalar esse hotfix, verifique se todos os usuários de cliente do Microsoft Navision estiver desconectados do sistema. Isso inclui usuários de cliente do Microsoft Navision Application Server (NAS). Você deve ser o único usuário do cliente conectado ao implementar esse hotfix.Para implementar esse hotfix, você deve ter uma licença de desenvolvedor.É recomendável que a conta de usuário na janela de Logins do Windows ou na janela banco de dados seja atribuída a ID de função "SUPER". Se a conta de usuário não pode ser atribuída a ID de função "SUPER", você deverá verificar se a conta de usuário tem as seguintes permissões:

  • A permissão Modificar para o objeto que será alterado.

  • A permissão de execução para o objeto de sistema 5210 de identificação de objeto e do objeto de sistema 9015 de identificação de objeto .

Observação: Você não precisa ter direitos para os armazenamentos de dados, a menos que você precise executar o reparo de dados.

Alterações de código

Observação: Sempre teste código correções em um ambiente controlado antes de aplicar as correções para os computadores de produção.Para resolver esse problema, altere o código na tabela de configuração de lançamento de IVA (325). Para fazer isso, execute as seguintes etapas:

  1. Altere o código das propriedades da seguinte maneira:1 de código existente

    ... Width=16500;// Delete the following line. Height=7370;SaveValues=Yes;...

    1 código de substituição

    ...Width=16500;// Add the following line.  Height=8140;SaveValues=Yes;...

    2 de código existente

    ...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN// Delete the following line.  IF NOT XBRLTaxonomy.FIND('-') THENXBRLTaxonomy.INIT;...

    Código de substituição 2

    ...IF NOT XBRLTaxonomy.GET(CurrentTaxonomy) THEN// Add the following line.  IF NOT XBRLTaxonomy.FINDFIRST THENXBRLTaxonomy.INIT;...

    3 de código existente

    ...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);// Delete the following line.  IF XBRLTaxonomyLabel.FIND('-') THENCurrentLang := XBRLTaxonomyLabel."XML Language Identifier"...

    Código de substituição 3

    ...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier",CurrentLang);// Add the following line.  IF XBRLTaxonomyLabel.FINDFIRST THENCurrentLang := XBRLTaxonomyLabel."XML Language Identifier"...

    4 de código existente

    ...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");// Delete the following line.  IF XBRLTaxonomyLabel.FIND('-') THENCurrentLang := XBRLTaxonomyLabel."XML Language Identifier"...

    Código de substituição 4

    ...XBRLTaxonomyLabel.SETRANGE("XML Language Identifier");// Add the following line.  IF XBRLTaxonomyLabel.FINDFIRST THENCurrentLang := XBRLTaxonomyLabel."XML Language Identifier"...

    5 de código existente

    ...// Delete the following line.  SETRANGE("Label Language Filter",CurrentLang);...

    Código de substituição 5

    ...// Add the following line.  InitTempTable(ISSERVICETIER);...

    6 de código existente

    ...// Delete the following lines.  IF ISSERVICETIER THEN  ExpandAll  ELSE  InitTempTable;// End of the lines.END;...

    Código de substituição 6

    ...// Add the following line.  SetFiltersAndUpdate;END;...

    7 de código existente

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

    Código de substituição 7

    ...// Add the following lines. OnFindRecord=VAR Found@1001 : Boolean; BEGIN IF NOT FiltersApplied THEN SetFilters; FiltersApplied := TRUE;// End of the lines....

    8 de código existente

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

    Código de substituição 8

    ...// Add the following lines. TempXBRLLine.COPY(Rec); Found := TempXBRLLine.FIND(Which); Rec := TempXBRLLine; EXIT(Found); END;// End of the lines....

    9 de código existente

    ...// Delete the following lines. IF Label = '' THEN Label := Name; END;// End of the lines....

    Código de substituição 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 de código existente

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

    Código de substituição 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....

    Código existente 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....

    Código de substituição 11

    ...// Add the following lines. IF Label = '' THEN Label := Name; END;// End of the lines....

    12 de código existente

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

    Código de substituição 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. Altere o código dos controles da seguinte maneira:1 de código existente

    ...InColumn=Yes;// Delete the following lines. SourceExpr="Source Type" } { 5 ;Label ;0 ;0 ;0 ;0 ;ParentControl=4;// End of the lines.InColumnHeading=Yes }...

    1 código de substituição

    ...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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 2

    ...InColumnHeading=Yes }// Add the following lines. { 28 ;TextBox ;0 ;3410 ;1700 ;440 ;Visible=No; ParentControl=1;// End of the lines.InColumn=Yes;...

    3 de código existente

    ...InColumn=Yes;// Delete the following lines. SourceExpr="Constant Amount" } { 7 ;Label ;0 ;0 ;0 ;0 ;ParentControl=6;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 4

    ...InColumnHeading=Yes }// Add the following lines. { 2 ;TextBox ;0 ;0 ;4400 ;0 ;HorzGlue=Both; ParentControl=1;// End of the lines.InColumn=Yes;...

    5 de código existente

    ...InColumn=Yes;// Delete the following lines. ShowCaption=No; SourceExpr=Information } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 6

    ...InColumnHeading=Yes }// Add the following line. { 4 ;TextBox ;0 ;0 ;550 ;0 ;ParentControl=1;InColumn=Yes;...

    7 de código existente

    ...InColumn=Yes;// Delete the following lines. ShowCaption=No; SourceExpr=Reference } { 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 8

    ...InColumnHeading=Yes }// Add the following line. { 6 ;TextBox ;0 ;0 ;2196 ;0 ;ParentControl=1;InColumn=Yes;...

    9 de código existente

    ...InColumn=Yes;// Delete the following lines. ShowCaption=No; SourceExpr=Notes } { 13 ;Label ;0 ;0 ;0 ;0 ;ParentControl=12;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 10

    ...InColumnHeading=Yes }// Add the following line. { 10 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    Código existente 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 }...

    Código de substituição 11

    ...ShowCaption=No;// Add the following lines. SourceExpr=Information } { 11 ;Label ;0 ;0 ;0 ;0 ;ParentControl=10;// End of the lines.InColumnHeading=Yes }...

    12 de código existente

    ...InColumnHeading=Yes }// Delete the following lines. { 31 ;CheckBox ;8731 ;2970 ;1650 ;440 ;Visible=No; ParentControl=1;// End of the lines.InColumn=Yes;...

    Código de substituição 12

    ...InColumnHeading=Yes }// Add the following line. { 32 ;CheckBox ;10345;2750 ;1700 ;440 ;ParentControl=1;InColumn=Yes;...

    13 de código existente

    ...ShowCaption=No;// Delete the following lines. SourceExpr=Rollup } { 37 ;Label ;0 ;0 ;0 ;0 ;ParentControl=31;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 13

    ...ShowCaption=No;// Add the following lines. SourceExpr=Reference } { 33 ;Label ;0 ;0 ;0 ;0 ;ParentControl=32;// End of the lines.InColumnHeading=Yes }...

    14 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 14 ;TextBox ;0 ;0 ;4400 ;0 ;ParentControl=1;InColumn=Yes;...

    Código de substituição 14

    ...InColumnHeading=Yes }// Add the following line. { 12 ;CheckBox ;0 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    15 de código existente

    ...InColumn=Yes;// Delete the following lines. SourceExpr=Description } { 15 ;Label ;0 ;0 ;0 ;0 ;ParentControl=14;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following lines. { 16 ;TextBox ;0 ;0 ;4400 ;0 ;Visible=No; ParentControl=1;// End of the lines.InColumn=Yes;...

    Código de substituição 16

    ...InColumnHeading=Yes }// Add the following line. { 8 ;CheckBox ;7700 ;0 ;1650 ;0 ;ParentControl=1;InColumn=Yes;...

    17 de código existente

    ...InColumn=Yes;// Delete the following lines. SourceExpr=Name } { 17 ;Label ;0 ;0 ;0 ;0 ;ParentControl=16;// End of the lines.InColumnHeading=Yes }...

    Código de substituição 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 de código existente

    ...InColumnHeading=Yes }// Delete the following line. { 18 ;CommandButton;4400 ;6600 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    18 do código de substituição

    ...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 de código existente

    ...InvalidActionAppearance=Hide }// Delete the following line. { 19 ;CommandButton;6820 ;6600 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    Código de substituição 19

    ...InvalidActionAppearance=Hide }// Add the following line. { 19 ;CommandButton;6820 ;7370 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    20 de código existente

    ...InvalidActionAppearance=Hide }// Delete the following line. { 20 ;CommandButton;14080;6600 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    20 do código de substituição

    ...InvalidActionAppearance=Hide }// Add the following line. { 20 ;CommandButton;14080;7370 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    21 de código existente

    ...PushAction=FormHelp }// Delete the following line. { 21 ;MenuButton ;9240 ;6600 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    Código de substituição 21

    ...PushAction=FormHelp }// Add the following line. { 21 ;MenuButton ;9240 ;7370 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    22 de código existente

    ...// Delete the following line. { 38 ;TabControl ;220 ;220 ;16060;1430 ;HorzGlue=Both }{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;...

    Código de substituição 22

    ...// Add the following line. { 38 ;TabControl ;220 ;220 ;16060;2090 ;HorzGlue=Both }{ 39 ;TextBox ;3850 ;990 ;2750 ;440 ;ParentControl=38;...

    23 de código existente

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

    Código de substituição 23

    ...OnAfterValidate=BEGIN// Add the following lines. InitTempTable(FALSE); SetFiltersAndUpdate;// End of the lines.END;...

    24 de código existente

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

    Código de substituição 24

    ...IF CurrentLang <> '' THEN// Add the following lines. IF XBRLTaxonomyLabel.ISEMPTY THEN ERROR(LangLabelsNotDefinedErr,CurrentLang);// End of the lines.END;...

    25 de código existente

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

    Código de substituição 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 de código existente

    ...EXIT(TRUE);// Delete the following lines. END ELSE EXIT(FALSE);// End of the lines.END;...

    Código de substituição 26

    ...EXIT(TRUE);// Add the following lines. END; EXIT(FALSE);// End of the lines.END;...

    27 de código existente

    ...END;// Delete the following line. }{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }...

    Código de substituição 27

    ...END;// Add the following lines.  OnAfterValidate=BEGIN SetFiltersAndUpdate; END; }// End of the lines.{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }...

    28 de código existente

    ...{ 42 ;Label ;10890;990 ;3300 ;440 ;ParentControl=41 }// Delete the following line. { 43 ;MenuButton ;11660;6600 ;2200 ;550 ;HorzGlue=Right;VertGlue=Bottom;...

    Código de substituição 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 de código existente

    ...OnPush=BEGIN// Delete the following line. ExpandAll;END;...

    Código de substituição 29

    ...OnPush=BEGIN// Add the following lines. InitTempTable(TRUE); SetFiltersAndUpdate;// End of the lines.END;...

    30 de código existente

    ...OnPush=BEGIN// Delete the following line. InitTempTable;END;...

    Código de substituição 30

    ...OnPush=BEGIN// Add the following lines. InitTempTable(FALSE); SetFiltersAndUpdate;// End of the lines.END;...
  3. Adicione a seguinte variável global:

    ...VAR// Add the following line.   TempXBRLLine@1005 : TEMPORARY Record 395;CurrentTaxonomy@1004 : Code[20];...
  4. Exclua as seguintes variáveis globais:

    ...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. Adicione as seguintes variáveis globais:

    ...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. Altere o código na função InitTempTable da seguinte forma:1 de código existente

    ...// Delete the following line.  LOCAL PROCEDURE InitTempTable@4();VAR...

    1 código de substituição

    ...// Add the following line.  LOCAL PROCEDURE InitTempTable@4(ExpandAll@1000 : Boolean);VAR...

    2 de código existente

    ...VAR// Delete the following line.  XBRLLine@1000 : Record 395;BEGIN...

    Código de substituição 2

    ...VAR// Add the following line.  XBRLLine@1001 : Record 395;BEGIN...

    3 de código existente

    ...ResetFilter;// Delete the following line.  DELETEALL;XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);...

    Código de substituição 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 de código existente

    ...XBRLLine.SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy);// Delete the following line.  XBRLLine.SETRANGE(Level,0);IF XBRLLine.FIND('-') THEN...

    Código de substituição 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 de código existente

    ...REPEAT// Delete the following lines.- Rec := XBRLLine;- INSERT;// End of the lines.UNTIL XBRLLine.NEXT = 0;...

    Código de substituição 5

    ...REPEAT// Add the following lines.  TempXBRLLine := XBRLLine;  TempXBRLLine.INSERT;// End of the lines.UNTIL XBRLLine.NEXT = 0;...
  7. Altere o código na função ExpandAll da seguinte maneira:1 de código existente

    ...// Delete the following line.  LOCAL PROCEDURE ExpandAll@12();VAR...

    1 código de substituição

    ...// Add the following line.  LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;VAR...

    2 de código existente

    ...VAR// Delete the following line.  XBRLLine@1000 : Record 395;BEGIN...

    Código de substituição 2

    ...VAR// Add the following line.  XBRLLine2@1001 : Record 395;BEGIN...

    3 de código existente

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

    Código de substituição 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. Altere o código na função HasChildren da seguinte forma:1 de código existente

    ...// Delete the following line.  LOCAL PROCEDURE HasChildren@19(ActualXBRLLine@1000 : Record 395) : Boolean;VAR...

    1 código de substituição

    ...// Add the following line.  LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;VAR...

    2 de código existente

    ...VAR// Delete the following line.  XBRLLine2@1001 : Record 395;BEGIN...

    Código de substituição 2

    ...VAR// Add the following lines. xXBRLLine@1001 : Record 395; Found@1002 : Boolean;// End of the lines.BEGIN...

    3 de código existente

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

    Código de substituição 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. Altere o código na função IsExpanded da seguinte maneira:1 de código existente

    ...// Delete the following line.  LOCAL PROCEDURE IsExpanded@20(ActualXBRLLine@1000 : Record 395) : Boolean;VAR...

    1 código de substituição

    ...// Add the following line.  LOCAL PROCEDURE ToggleExpandCollapse@1();VAR...

    2 de código existente

    ...VARxXBRLLine@1001 : Record 395;...

    Código de substituição 2

    ...VAR// Add the following line. XBRLLine@1000 : Record 395;xXBRLLine@1001 : Record 395;...

    3 de código existente

    ...xXBRLLine@1001 : Record 395;// Delete the following line. Found@1002 : Boolean;BEGIN...

    Código de substituição 3

    ...xXBRLLine@1001 : Record 395;BEGIN...

    4 de código existente

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

    Código de substituição 4

    ...ResetFilter;IF ActualExpansionStatus = 0 THEN BEGIN // Has children, but not expanded...
  10. Altere o código na função ToggleExpandCollapse da seguinte forma:1 de código existente

    ...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN// Delete the following lines. Rec := XBRLLine; IF INSERT THEN;// End of the lines.END;...

    1 código de substituição

    ...IF XBRLLine.Level > xXBRLLine.Level THEN BEGIN// Add the following lines. TempXBRLLine := XBRLLine; IF TempXBRLLine.INSERT THEN;// End of the lines.END;...

    2 de código existente

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

    Código de substituição 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. Altere o código na função ResetFilter da seguinte forma:1 de código existente

    ...// Delete the following line. LOCAL PROCEDURE ResetFilter@3();BEGIN...

    1 código de substituição

    ...// Add the following line. LOCAL PROCEDURE SetFiltersAndUpdate@5();BEGIN...

    2 de código existente

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

    Código de substituição 2

    ...BEGIN// Add the following lines. SetFilters; CurrForm.UPDATE(FALSE);// End of the lines.END;...

    3 de código existente

    ...BEGIN...

    Código de substituição 3

    ...// Add the following line. LOCAL PROCEDURE SetFilters@11();BEGIN...

    4 de código existente

    ...BEGIN// Delete the following lines. END. } }// End of the lines....

    Código de substituição 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. Adicione o seguinte código na função ResetFilter :

    ... LOCAL PROCEDURE ResetFilter@3(); BEGIN RESET; SETCURRENTKEY("XBRL Taxonomy Name","Presentation Order"); FILTERGROUP(2); SETRANGE("XBRL Taxonomy Name",CurrentTaxonomy); FILTERGROUP(0); END;...
  13. Adicione o seguinte código na função ResetFilter :

    ...  BEGIN  END.  }  }...

Pré-requisitos:

Você deve ter um dos seguintes produtos instalados para aplicar esse hotfix:

  • A versão em alemão do Microsoft Dynamics NAV 2009 R2

  • A versão em alemão do Microsoft Dynamics NAV 2009 Service Pack 1

Informações sobre remoção

Você não pode remover esse hotfix.

Status

A Microsoft confirma que este é um problema em seus produtos listados na seção "Aplica-se a".

Observação: Este é um artigo de "PUBLICAÇÃO RÁPIDA" criado diretamente de dentro da organização de suporte da Microsoft. As informações contidas neste documento são fornecidas desta maneira, em resposta a problemas emergentes. Como um dos resultados da velocidade da publicação, os materiais podem incluir erros tipográficos e podem ser revisados a qualquer momento sem aviso prévio. Consulte os Termos de uso para outras considerações.

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.