Dieser Artikel bezieht sich auf Microsoft Dynamics NAV für die folgenden Länder und Gebietsschemas.

  • Französisch (Schweiz) (fr-ch)

  • Deutsch (Schweiz) (de-ch)

  • Italienisch (Schweiz) (It-ch)

Problembeschreibung

Beim Öffnen der Budgetmatrix in der Kostenrechnung im rollenbasierten Client (RTC) in der Schweizer Version von Microsoft Dynamics 2009 können keine Werte in der Budgetmatrix bearbeiten Daher können nicht Sie das Kostenbudget in der Kostenrechnung eingeben.

Dieses Problem tritt in den folgenden Produkten auf:

  • Die Schweizer Version von Microsoft Dynamics NAV 2009 R2

  • Die Schweizer Version von Microsoft Dynamics NAV 2009 Service Pack 1 (SP1)


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 Dynamics NAV-Clientbenutzer vom System abgemeldet werden. Hierzu gehören Dienste Microsoft Dynamics NAV Application Server (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 keinen Datenspeicher Rechte nur Daten zu reparieren.

Ändern von Code

Hinweis Testen Sie Programmcodeverbesserungen generell erst in einem Testsytem, bevor Sie sie im Produktionssystem verwenden.

Gehen Sie folgendermaßen vor, um dieses Problem zu beheben:

  1. Ändern Sie den Code in den Eigenschaften das Kostenbudget pro Periode Matrixform (36883) wie folgt:
    Vorhandener code

    }PROPERTIES
    {
    Width=20790;
    Height=6380;

    // Delete the following line.
    Editable=No;
    // End of the deleted line.

    CaptionML=ENU=Cost Budget per Period Matrix;
    InsertAllowed=No;
    DeleteAllowed=No;
    LinksAllowed=No;
    SourceTable=Table3010551;

    Neuer code

    }PROPERTIES
    {
    Width=20790;
    Height=6380;
    CaptionML=ENU=Cost Budget per Period Matrix;
    InsertAllowed=No;
    DeleteAllowed=No;
    LinksAllowed=No;
    SourceTable=Table3010551;
  2. Ändern Sie den Code in den Steuerelementen Kostenbudget pro Periode Matrixform (36883) wie folgt:
    Vorhandener Code 1

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field1.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(1);
    END;
    }
    { 1051;Label ;0 ;0 ;0 ;0 ;ParentControl=1015;

    Neuer Code 1

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field1.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(1);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(1);
    END;
    }
    { 1051;Label ;0 ;0 ;0 ;0 ;ParentControl=1015;

    Vorhandener Code 2

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field2.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(2);
    END;
    }
    { 1052;Label ;0 ;0 ;0 ;0 ;ParentControl=1016;

    Neuer Code 2

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field2.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(2);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(2);
    END;
    }
    { 1052;Label ;0 ;0 ;0 ;0 ;ParentControl=1016;

    Vorhandenen Code 3

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field3.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(3);
    END;
    }
    { 1053;Label ;0 ;0 ;0 ;0 ;ParentControl=1017;

    Neuer Code 3

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field3.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(3);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(3);
    END;
    }
    { 1053;Label ;0 ;0 ;0 ;0 ;ParentControl=1017;

    Vorhandenen Code 4

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field4.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(4);
    END;
    }
    { 1054;Label ;0 ;0 ;0 ;0 ;ParentControl=1018;

    Neuer Code 4

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field4.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(4);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(4);
    END;
    }
    { 1054;Label ;0 ;0 ;0 ;0 ;ParentControl=1018;

    Vorhandenen Code 5

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field5.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(5);
    END;
    }
    { 1055;Label ;0 ;0 ;0 ;0 ;ParentControl=1019;

    Neuer Code 5

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field5.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(5);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(5);
    END;
    }
    { 1055;Label ;0 ;0 ;0 ;0 ;ParentControl=1019;

    Vorhandenen Code 6

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field6.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(6);
    END;
    }
    { 1056;Label ;0 ;0 ;0 ;0 ;ParentControl=1020;

    Ersetzungscode 6

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field6.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(6);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(6);
    END;
    }
    { 1056;Label ;0 ;0 ;0 ;0 ;ParentControl=1020;

    Vorhandenen Code 7

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field7.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(7);
    END;
    }
    { 1057;Label ;0 ;0 ;0 ;0 ;ParentControl=1021;

    Neuer Code 7

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field7.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(7);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(7);
    END;
    }
    { 1057;Label ;0 ;0 ;0 ;0 ;ParentControl=1021;

    Vorhandenen Code 8

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field8.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(8);
    END;
    }
    { 1058;Label ;0 ;0 ;0 ;0 ;ParentControl=1022;

    Neuer Code 8

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field8.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(8);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(8);
    END;
    }
    { 1058;Label ;0 ;0 ;0 ;0 ;ParentControl=1022;

    Vorhandenen Code 9

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field9.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(9);
    END;
    }
    { 1059;Label ;0 ;0 ;0 ;0 ;ParentControl=1023;

    Neuer Code 9

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field9.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(9);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(9);
    END;
    }
    { 1059;Label ;0 ;0 ;0 ;0 ;ParentControl=1023;

    Vorhandenen Code 10

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field10.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(10);
    END;
    }
    { 1060;Label ;0 ;0 ;0 ;0 ;ParentControl=1024;

    Neuer Code 10

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field10.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(10);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(10);
    END;
    }
    { 1060;Label ;0 ;0 ;0 ;0 ;ParentControl=1024;

    Vorhandenen Code 11

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field11.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(11);
    END;
    }
    { 1061;Label ;0 ;0 ;0 ;0 ;ParentControl=1025;

    Neuer Code 11

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field11.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(11);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(11);
    END;
    }
    { 1061;Label ;0 ;0 ;0 ;0 ;ParentControl=1025;

    Vorhandenen Code 12

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field12.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(12);
    END;
    }
    { 1062;Label ;0 ;0 ;0 ;0 ;ParentControl=1026;

    Neuer Code 12

    IF "Line Type" <> "Line Type"::"Cost Type" THENCurrForm.Field12.UPDATEFONTBOLD := TRUE;
    // CA0002.end
    END;

    // Add the following lines.
    OnValidate=BEGIN
    UpdateAmount(12);
    END;
    // End of the added lines.

    OnDrillDown=BEGIN
    MATRIX_OnDrillDown(12);
    END;
    }
    { 1062;Label ;0 ;0 ;0 ;0 ;ParentControl=1026;
  3. Ändern Sie den Code in den globalen Variablen im Kostenbudget pro Periode Matrixform (36883) wie folgt:
    Vorhandener code

    BudgetFilter@1150004 : Code[10];MATRIX_ColumnCaption@1150005 : ARRAY [12] OF Text[80];
    AmtType@1150006 : 'Balance at Date,Net Change';
    RoundingFactor@1150007 : 'None,1,1000,1000000';
    MATRIX_CellData@1150008 : ARRAY [32] OF Decimal;

    LOCAL PROCEDURE SetDateFilter@1150000(MATRIX_ColumnOrdinal@1150000 : Integer);
    BEGIN
    IF AmtType = AmtType::"Net Change" THEN
    IF MatrixRecords[MATRIX_ColumnOrdinal]."Period Start" = MatrixRecords[MATRIX_ColumnOrdinal]."Period End" THEN

    Neuer code

    BudgetFilter@1150004 : Code[10];MATRIX_ColumnCaption@1150005 : ARRAY [12] OF Text[80];
    AmtType@1150006 : 'Balance at Date,Net Change';
    RoundingFactor@1150007 : 'None,1,1000,1000000';
    MATRIX_CellData@1150008 : ARRAY [32] OF Decimal;

    // Add the following lines.
    Text000@1150011 : TextConst 'ENU=Set View As to Net Change before you edit entries.';
    Text001@1150012 : TextConst 'ENU=%1 or %2 must not be blank.';
    CurrRegNo@11500010 : Integer;
    // End of the added lines.

    LOCAL PROCEDURE SetDateFilter@1150000(MATRIX_ColumnOrdinal@1150000 : Integer);
    BEGIN
    IF AmtType = AmtType::"Net Change" THEN
    IF MatrixRecords[MATRIX_ColumnOrdinal]."Period Start" = MatrixRecords[MATRIX_ColumnOrdinal]."Period End" THEN
  4. Ändern Sie den Code in der Funktion UpdateAmount Kostenbudget pro Periode Matrixform (36883) wie folgt:
    Vorhandener code

    RoundingFactor::"1000000":MATRIX_CellData[ColumnID] := ROUND(MATRIX_CellData[ColumnID] / 1000000,0.1);
    END;
    END;

    BEGIN
    {
    <changelog>
    <add id="CA0001" dev="kcools" date="2007-02-21" area="COSTACCTNG" feature="PSCORS1209"
    releaseversion="CACEM6.00">

    Neuer code

    RoundingFactor::"1000000":MATRIX_CellData[ColumnID] := ROUND(MATRIX_CellData[ColumnID] / 1000000,0.1);
    END;
    END;

    // Add the following lines.
    LOCAL PROCEDURE UpdateAmount@1150005(ColumnID@1150000 : Integer);
    BEGIN
    IF AmtType <> AmtType::"Net Change" THEN
    ERROR(Text000);

    IF (CostCenterFilter = '') AND (CostObjectFilter = '') THEN
    ERROR(Text001,FIELDCAPTION("Cost Center Filter"),FIELDCAPTION("Cost Object Filter"));

    SetFilters(ColumnID);
    CALCFIELDS("Budget Amount");
    InsertMatrixCostBudgetEntry(CurrRegNo,ColumnID);
    END;

    LOCAL PROCEDURE SetFilters@1150006(ColumnID@1150000 : Integer);
    BEGIN
    SetDateFilter(ColumnID);
    SETFILTER("Cost Center Filter",CostCenterFilter);
    SETFILTER("Cost Object Filter",CostObjectFilter);
    SETFILTER("Budget Filter",BudgetFilter);
    END;

    LOCAL PROCEDURE InsertMatrixCostBudgetEntry@1150007(VAR RegNo@1150000 : Integer;ColumnID@1150001 : Integer);
    VAR
    MatrixCostBudgetEntry@1150003 : Record 3010571;
    BEGIN
    MatrixCostBudgetEntry.INIT;
    MatrixCostBudgetEntry."Budget Name" := BudgetFilter;
    MatrixCostBudgetEntry."Cost Type No." := "No.";
    MatrixCostBudgetEntry.Date := MatrixRecords[ColumnID]."Period Start";
    MatrixCostBudgetEntry."Cost Center Code" := CostCenterFilter;
    MatrixCostBudgetEntry."Cost Object Code" := CostObjectFilter;
    MatrixCostBudgetEntry.Amount := MATRIX_CellData[ColumnID] - "Budget Amount";
    MatrixCostBudgetEntry.INSERT(TRUE);
    END;
    // End of the added lines.

    BEGIN
    {
    <changelog>
    <add id="CA0001" dev="kcools" date="2007-02-21" area="COSTACCTNG" feature="PSCORS1209"
    releaseversion="CACEM6.00">


Voraussetzungen

Sie müssen eines der folgenden Produkte verfügen, um diesen Hotfix installieren:

  • Die Schweizer Version von Microsoft Dynamics NAV 2009 R2

  • Die Schweizer 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.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Übersetzungsqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×