Sunday, September 1, 2024

Dimensionen, die in einem Excel-Arbeitsblatt hinzugefügt werden, werden den Datensätzen nicht zugewiesen, nachdem Sie das Excel-Arbeitsblatt in Microsoft Dynamics NAV 2013 importiert haben – Microsoft-Support

Dieser Artikel gilt für Microsoft Dynamics NAV für alle Länder und alle Sprachgebietsschemas.

Symptome

Angenommen, Sie verwenden die Spalte „Dimensionen als Spalten " im Konfigurationsarbeitsblatt, um Verknüpfungsdimensionen in Stammdatentabellen mithilfe von Microsoft Excel in RapidStart Services für Microsoft Dynamics NAV 2013 zu füllen. Wenn Sie in dieser Situation ein Excel-Arbeitsblatt importieren und die importierten Daten anwenden, Die im Excel-Arbeitsblatt hinzugefügten Dimensionen werden den Datensätzen nicht wie erwartet zugewiesen.

Auflösung

Hotfix-Informationen

Ein unterstützter Hotfix ist jetzt von Microsoft verfügbar. Es dient jedoch lediglich der Behebung des in diesem Artikel beschriebenen Problems. Wenden Sie es nur auf Systeme an, bei denen dieses spezielle Problem auftritt. Dieser Hotfix wird möglicherweise weiteren Tests unterzogen. Wenn Sie von diesem Problem nicht schwerwiegend betroffen sind, empfehlen wir Ihnen daher, auf das nächste Microsoft Dynamics NAV 2013 Service Pack oder die nächste Microsoft Dynamics NAV-Version zu warten, die diesen Hotfix enthält. Hinweis: In besonderen Fällen können die Gebühren, die normalerweise für Supportanrufe anfallen, storniert werden, wenn ein Mitarbeiter des technischen Supports für Microsoft Dynamics und verwandte Produkte feststellt, dass ein bestimmtes Update Ihr Problem lösen wird. Für zusätzliche Supportfragen und Probleme, die für das jeweilige Update nicht in Frage kommen, fallen die üblichen Supportkosten an.

Installationsinformationen

Microsoft stellt Programmierbeispiele nur zur Veranschaulichung zur Verfügung, ohne ausdrückliche oder stillschweigende Gewährleistung. Dazu gehören unter anderem stillschweigende Garantien der Marktgängigkeit oder Eignung für einen bestimmten Zweck. In diesem Artikel wird davon ausgegangen, dass Sie mit der demonstrierten Programmiersprache und den Tools vertraut sind, die zum Erstellen und Debuggen von Prozeduren verwendet werden. Microsoft-Supporttechniker können dabei helfen, die Funktionalität eines bestimmten Verfahrens zu erläutern. Sie werden diese Beispiele jedoch nicht ändern, um zusätzliche Funktionalität bereitzustellen oder Prozeduren zu erstellen, die Ihren spezifischen Anforderungen entsprechen. Hinweis Bevor Sie diesen Hotfix installieren, stellen Sie sicher, dass alle Benutzer des Microsoft Navision-Clients vom System abgemeldet sind. Dazu gehören Clientbenutzer von Microsoft Navision Application Services (NAS). Sie sollten der einzige Clientbenutzer sein, der angemeldet ist, wenn Sie diesen Hotfix implementieren. Um diesen Hotfix zu implementieren, benötigen Sie eine Entwicklerlizenz. Wir empfehlen, dem Benutzerkonto im Fenster „Windows-Anmeldungen" oder im Fenster „Datenbank-Anmeldungen" die Rollen-ID „SUPER" zuzuweisen. Wenn dem Benutzerkonto nicht die Rollen-ID „SUPER" zugewiesen werden kann, müssen Sie überprüfen, ob das Benutzerkonto über die folgenden Berechtigungen verfügt:

  • Die Änderungsberechtigung für das Objekt, das Sie ändern möchten.

  • Die Ausführungsberechtigung für das Objekt „Systemobjekt-ID 5210" und für das Objekt „Systemobjekt-ID 9015".

Hinweis: Sie müssen keine Rechte an den Datenspeichern haben, es sei denn, Sie müssen eine Datenreparatur durchführen.

Codeänderungen

Hinweis: Testen Sie Codekorrekturen immer in einer kontrollierten Umgebung, bevor Sie die Korrekturen auf Ihren Produktionscomputern anwenden. Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Ändern Sie den Code in der ApplyConfigLines-Funktion in der Codeunit 8611 wie folgt: Vorhandener Code

     ... VERFAHREN ApplyConfigLines@17(VAR ConfigLine@1003 : Record 8622); VAR ConfigPackage@1000: Datensatz 8623; ConfigPackageTable@1002: Datensatz 8613; ConfigMgt@1004: Codeeinheit 8616; Filter@1001: Text; BEGINNEN ConfigLine.FINDFIRST; ConfigPackage.GET(ConfigLine."Paketcode"); ConfigPackageTable.SETRANGE("Paketcode",ConfigLine."Paketcode"); // Folgende Zeile löschen. Filter := ConfigMgt.MakeTableFilter(ConfigLine); WENN Filter = '' DANN ...

    Ersatzcode

     ... VERFAHREN ApplyConfigLines@17(VAR ConfigLine@1003 : Record 8622); VAR ConfigPackage@1000: Datensatz 8623; ConfigPackageTable@1002: Datensatz 8613; ConfigMgt@1004: Codeeinheit 8616; Filter@1001: Text; BEGINNEN ConfigLine.FINDFIRST; ConfigPackage.GET(ConfigLine."Paketcode"); ConfigPackageTable.SETRANGE("Paketcode",ConfigLine."Paketcode"); // Fügen Sie die folgende Zeile hinzu. Filter := ConfigMgt.MakeTableFilter(ConfigLine,FALSE); WENN Filter = '' DANN ... 
  2. Ändern Sie den Code in der MakeTableFilter-Funktion in Codeunit 8616 wie folgt: Vorhandener Code

     ... VERFAHREN MakeTableFilter@14(VAR ConfigLine@1000 : Record 8622) Filter : Text; BEGINNEN Filter := ''; WENN ConfigLine.FINDSET DANN WIEDERHOLEN ConfigLine.CheckBlocked; WENN (ConfigLine."Tabellen-ID" > 0) UND (ConfigLine.Status <= ConfigLine.Status::"In Bearbeitung") DANN Filter += FORMAT(ConfigLine."Table ID") + '|'; BIS ConfigLine.NEXT = 0; WENN Filter <> '' DANN Filter := COPYSTR(Filter,1,STRLEN(Filter) - 1); EXIT(Filter); ENDE; ...

    Ersatzcode

     ... VERFAHREN MakeTableFilter@14(VAR ConfigLine@1000 : Record 8622;Export@1002 : Boolean) Filter : Text; VAR AddDimTables@1001 : Boolean; BEGINNEN Filter := ''; WENN ConfigLine.FINDSET DANN WIEDERHOLEN ConfigLine.CheckBlocked; WENN (ConfigLine."Table ID" > 0) AND (ConfigLine.Status <= ConfigLine.Status::"In Progress") THEN Filter += FORMAT(ConfigLine."Table ID") + '|'; AddDimTables := AddDimTables OR ConfigLine."Dimensionen als Spalten"; BIS ConfigLine.NEXT = 0; WENN AddDimTables UND NICHT Export DANN Filter += STRSUBSTNO('%1|%2|',DATABASE::"Dimensionswert",DATABASE::"Standarddimension"); WENN Filter <> '' DANN Filter := COPYSTR(Filter,1,STRLEN(Filter) - 1); EXIT(Filter); ENDE; ... 
  3. Ändern Sie den Code in der ExportExcelFromConfig-Funktion in Codeunit 8618 wie folgt: Vorhandener Code

     ... VERFAHREN ExportExcelFromConfig@19(VAR ConfigLine@1006 : Record 8622); VAR ConfigPackageTable@1005: Datensatz 8613; ConfigMgt@1000: Codeeinheit 8616; FileMgt@1004: Codeeinheit 419; XLSDataFile@1001 : Text; Filter@1003: Text; BEGINNEN XLSDataFile := FileMgt.SaveFileDialog(Text030,'.xlsx',''); WENN XLSDataFile = '' DANN AUSFAHRT; ConfigLine.FINDFIRST; ConfigPackageTable.SETRANGE("Paketcode",ConfigLine."Paketcode"); // Folgende Zeile löschen. Filter := ConfigMgt.MakeTableFilter(ConfigLine); WENN Filter <> '' DANN ConfigPackageTable.SETFILTER("Tabellen-ID",Filter); ...

    Ersatzcode

     ... VERFAHREN ExportExcelFromConfig@19(VAR ConfigLine@1006 : Record 8622); VAR ConfigPackageTable@1005: Datensatz 8613; ConfigMgt@1000: Codeeinheit 8616; FileMgt@1004: Codeeinheit 419; XLSDataFile@1001 : Text; Filter@1003: Text; BEGINNEN XLSDataFile := FileMgt.SaveFileDialog(Text030,'.xlsx',''); WENN XLSDataFile = '' DANN AUSFAHRT; ConfigLine.FINDFIRST; ConfigPackageTable.SETRANGE("Paketcode",ConfigLine."Paketcode"); // Fügen Sie die folgende Zeile hinzu. Filter := ConfigMgt.MakeTableFilter(ConfigLine,TRUE); WENN Filter <> '' DANN ConfigPackageTable.SETFILTER("Tabellen-ID",Filter); ...

Um das Excel-Arbeitsblatt korrekt zu importieren, befolgen Sie diese Schritte, nachdem Sie den Code-Fix angewendet haben:

  1. Fügen Sie auf der Seite „Konfigurationsarbeitsblatt" eine Tabelle hinzu, der Verknüpfungsdimensionen zugewiesen werden können, beispielsweise die Sachkontotabelle (15).

  2. Klicken Sie auf Aktionen und dann auf Paket zuweisen .

  3. Erstellen Sie ein neues Paket, geben Sie den Codewert und den Beschreibungswert ein und klicken Sie dann auf OK, um das Paket der Arbeitsblattzeile zuzuweisen.

  4. Aktivieren Sie in der Arbeitsblattzeile die Einstellung „Dimensionen als Spalten" .

  5. Klicken Sie im Bestätigungsdialogfeld auf OK .

  6. Klicken Sie auf „In Vorlage exportieren" .

  7. Fügen Sie am Ende der Liste ein neues Konto hinzu. Hinweis Stellen Sie sicher, dass Sie eine Nummer dafür definieren.

  8. Definieren Sie Dimensionen für den Kunden in den Dimensionsspalten . Sie werden als letzte Spalten in der Tabelle angezeigt.

  9. Speichern Sie das Excel-Arbeitsblatt und importieren Sie es dann mithilfe der Aktion „Aus Vorlage importieren" im Menüband wieder auf die Seite „Konfigurationsarbeitsblatt".

  10. Klicken Sie auf Daten anwenden .

Anschließend wird das Konto, das Sie im Excel-Arbeitsblatt hinzugefügt haben, in Microsoft Dynamics NAV hinzugefügt. Sie können sehen, dass das Konto über Verknüpfungsdimensionen verfügt, die Sie ihm im Excel-Arbeitsblatt zugewiesen haben. Hinweis Schritt 7 ist ein wichtiger Schritt zum Definieren des Schlüssels, da die Verknüpfungsbemaßungen nicht erstellt werden, wenn der Schlüssel leer bleibt und automatisch mithilfe des Werts „Nr. Serie" zugewiesen wird.

Voraussetzungen

Sie müssen Microsoft Dynamics NAV 2013 installiert haben, um diesen Hotfix anwenden zu können.

Informationen zum Entfernen

Sie können diesen Hotfix nicht entfernen.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt „Gilt für" aufgeführt sind.

Hinweis Dies ist ein „FAST PUBLISH"-Artikel, der direkt von der Microsoft-Supportorganisation erstellt wurde. Die hierin enthaltenen Informationen werden unverändert als Reaktion auf neu auftretende Probleme bereitgestellt. Aufgrund der schnellen Bereitstellung können die Materialien Tippfehler enthalten und jederzeit ohne Vorankündigung überarbeitet werden. Weitere Hinweise finden Sie in den Nutzungsbedingungen .

No comments:

Post a Comment