Die Dimension der Auftragstyp gilt nicht bei der Erstellung eines Serviceauftrags Vertrag aus einer Rechnung in Microsoft Dynamics NAV 2009 SP1

Arbeiten Sie überall, von jedem beliebigen Gerät, mit Microsoft 365

Führen Sie ein Upgrade auf Microsoft 365 durch, um überall mit den neuesten Funktionen und Updates zu arbeiten.

Upgrade jetzt ausführen

Vorlage: CPR - Navision Fix-Vorlage

FEHLER #: 139558 (Content Maintenance)FEHLER #: 57902 (Vedbaek SE)

Dieser Artikel gilt für Microsoft Dynamics NAV für alle Gebietsschemas.

Problembeschreibung

Beim Erstellen eines Serviceauftrags Vertrag aus einer Rechnung in Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) Vertrag wird die Dimension der Auftragstyp nicht berücksichtigt. Daher wird die Dimension in den erstellten Serviceauftrag.

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.

Dieser Hotfix nicht öffentlich zum Download (d. h. eine öffentliche URL für diesen Hotfix nicht in diesem Artikel bereitgestellt wird) gebucht, Verteilung erfordert technische Eskalation Teammitglied oder Genehmigung eines Managers und Folgendes gilt:

  • Um den Hotfix zu erhalten, müssen Kunden den Fehler, der im Abschnitt "Symptome" genannt.

  • Sie müssen die Kunden aufzeichnen zu senden und sie mit dem nächsten Servicepack angeben, wenn es verfügbar wird (wenn ein Servicepack veröffentlicht wird).

Dieser Hotfix wird nicht in ein Servicepack von Microsoft Dynamics NAV 2009 enthalten sein.



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-Supportmitarbeiter können bei der Erläuterung der Funktionalität bestimmter Prozeduren helfen, sie werden jedoch diese Beispiele nicht verändern um eine erweiterte Funktionalität aufzuzeigen oder Prozeduren entwickeln, die Ihren Anforderungen entsprechen.

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 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 im Trigger Für Debitorennr.-OnValidate in der Tabelle Servicevertragskopf (5965) wie folgt:
    Vorhandener code

    ...CreateDim(                                                                    
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Delete the following line.
    DATABASE::"Service Contract Template","Template No.");
    // End of the deleted line.

    END;
    ...

    Neuer code

    ...CreateDim(
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Add the following lines.
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    END;
    ...
  2. Ändern Sie den Code im Trigger OnValidate für Namen in der Tabelle Servicevertragskopf (5965) wie folgt:
    Vorhandener code

    ...CreateDim(
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Delete the following line.
    DATABASE::"Service Contract Template","Template No.");
    // End of the deleted line.

    END;
    ...

    Neuer code

    ...CreateDim(
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Add the following lines.
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    END;
    ...
  3. Serviceauftragsart – OnValidate Trigger in der Tabelle Servicevertragskopf (5965) den folgenden Code hinzufügen:

    CreateDim(DATABASE::"Service Order Type","Service Order Type",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code");
    END;

  4. Ändern Sie den Code in der Vorlage Nr. – OnValidate Trigger in der Tabelle Servicevertragskopf (5965) wie folgt:
    Vorhandener code

    ...CreateDim(
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Delete the following line.
    DATABASE::"Service Contract Template","Template No.");
    // End of the deleted line.

    END;
    ...

    Neuer code

    ...CreateDim(
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Add the following lines.
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    END;
    ...
  5. Ändern Sie den Code im Telefon – OnValidate Trigger in der Tabelle Servicevertragskopf (5965) wie folgt:
    Vorhandener code

    ...CreateDim(
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Delete the following line.
    DATABASE::"Service Contract Template","Template No.");
    // End of the deleted line.

    END;
    ...

    Neuer code

    ...CreateDim(
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Add the following lines.
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    END;
    ...
  6. Fügen Sie die folgenden Parameter an die Funktion CreateDim in der Tabelle Servicevertragskopf (5965):

      • Name: Typ4

      • Datentyp: ganze Zahl

      • Name: No4

      • Typ: Code

      • Länge: 20

  7. Ändern Sie den Code in der Funktion CreateDim in der Tabelle Servicevertragskopf (5965) wie folgt:
    Vorhandener code

    ...No[2] := No2;
    TableID[3] := Type3;
    No[3] := No3;
    TableID[4] := Type4;
    No[4] := No4;


    "Shortcut Dimension 1 Code" := '';
    "Shortcut Dimension 2 Code" := '';
    DimMgt.GetDefaultDim(
    TableID,No,SourceCodeSetup."Service Management",
    ...

    Neuer code

    ...No[2] := No2;
    TableID[3] := Type3;
    No[3] := No3;
    TableID[4] := Type4;
    No[4] := No4;

    // Add the following lines.
    TableID[5] := Type5;
    No[5] := No5;
    // End of the added lines.

    "Shortcut Dimension 1 Code" := '';
    "Shortcut Dimension 2 Code" := '';
    DimMgt.GetDefaultDim(
    TableID,No,SourceCodeSetup."Service Management",
    ...
  8. Ändern Sie den Code in der Funktion CreateOrAddToServOrder der Aufträge für Verträge erstellen Bericht (6036) wie folgt:
    Vorhandener code

    ...ServHeader."Max. Labor Unit Price" := "Service Contract Header"."Max. Labor Unit Price";
    ServHeader."Your Reference" := "Service Contract Header"."Your Reference";
    ServHeader."Service Zone Code" := "Service Contract Header"."Service Zone Code";
    ServHeader."Shortcut Dimension 1 Code" := "Service Contract Header"."Shortcut Dimension 1 Code";
    ServHeader."Shortcut Dimension 2 Code" := "Service Contract Header"."Shortcut Dimension 2 Code";
    ServHeader.MODIFY(TRUE);


    DimMgt.DeleteDocDim(
    DATABASE::"Service Header",
    ServHeader."Document Type",
    ...

    Neuer code

    ...ServHeader."Max. Labor Unit Price" := "Service Contract Header"."Max. Labor Unit Price";
    ServHeader."Your Reference" := "Service Contract Header"."Your Reference";
    ServHeader."Service Zone Code" := "Service Contract Header"."Service Zone Code";
    ServHeader."Shortcut Dimension 1 Code" := "Service Contract Header"."Shortcut Dimension 1 Code";
    ServHeader."Shortcut Dimension 2 Code" := "Service Contract Header"."Shortcut Dimension 2 Code";

    // Add the following line.
    ServHeader.VALIDATE("Service Order Type","Service Contract Header"."Service Order Type");
    // End of the added line.

    ServHeader.MODIFY(TRUE);

    DimMgt.DeleteDocDim(
    DATABASE::"Service Header",
    ServHeader."Document Type",
    ...
  9. Ändern Sie den Code in der ChangeCustNoOnServContract in der ServContractManagement Codeunit (5940) wie folgt:
    Vorhandener code

    ...CreateDim(
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Delete the following line.
    DATABASE::"Service Contract Template","Template No.");
    // End of the deleted line.

    ServContractLine.RESET;
    ServContractLine.SETRANGE("Contract Type","Contract Type");
    ServContractLine.SETRANGE("Contract No.","Contract No.");
    IF ServContractLine.FIND('-') THEN
    ...

    Neuer code

    ...CreateDim(
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    DATABASE::"Responsibility Center","Responsibility Center",

    // Add the following lines.
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    ServContractLine.RESET;
    ServContractLine.SETRANGE("Contract Type","Contract Type");
    ServContractLine.SETRANGE("Contract No.","Contract No.");
    IF ServContractLine.FIND('-') THEN
    ...
  10. Ändern Sie den Code im Codestück in der ServContractQuote -Aktivitätenvorlagenstatistik Upd. Codeunit (5942) wie folgt:
    Vorhandener Code 1

    ...ServContract.VALIDATE("Serv. Contract Acc. Gr. Code",ContractTemplate."Serv. Contract Acc. Gr. Code");
    ServContract."Template No." := ContractTemplate."No.";


    ServContract.CreateDim(
    DATABASE::"Service Contract Template",ContractTemplate."No.",

    // Delete the following line.
    0,'',0,'',0,'');
    // End of the deleted line.

    WITH ServContract DO BEGIN
    CreateDim(
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    ...

    Neuer Code 1

    ...ServContract.VALIDATE("Serv. Contract Acc. Gr. Code",ContractTemplate."Serv. Contract Acc. Gr. Code");
    ServContract."Template No." := ContractTemplate."No.";


    ServContract.CreateDim(
    DATABASE::"Service Contract Template",ContractTemplate."No.",

    // Add the following line.
    0,'',0,'',0,'',0,'');
    // End of the added line.

    WITH ServContract DO BEGIN
    CreateDim(
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",
    ...

    Vorhandener Code 2

    ...WITH ServContract DO BEGIN
    CreateDim(
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",

    // Delete the following line.
    DATABASE::"Responsibility Center","Responsibility Center");
    // End of the deleted line.

    END;


    ContractDisc.RESET;
    ContractDisc.SETRANGE("Contract Type",ServContract."Contract Type");
    ContractDisc.SETRANGE("Contract No.",ServContract."Contract No.");
    ...

    Neuer Code 2

    ...WITH ServContract DO BEGIN
    CreateDim(
    DATABASE::"Service Contract Template","Template No.",
    DATABASE::Customer,"Bill-to Customer No.",
    DATABASE::"Salesperson/Purchaser","Salesperson Code",

    // Add the following lines.
    DATABASE::"Responsibility Center","Responsibility Center",
    DATABASE::"Service Order Type","Service Order Type");
    // End of the added lines.

    END;


    ContractDisc.RESET;
    ContractDisc.SETRANGE("Contract Type",ServContract."Contract Type");
    ContractDisc.SETRANGE("Contract No.",ServContract."Contract No.");
    ...

Voraussetzungen

Sie müssen das Microsoft Dynamics NAV 2009 Service Pack 1 (SP1) installiert, um diesen Hotfix anwenden.

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 .

Autor: Pruivo
Ersteller: V-tinw
Technische Überprüfung: Pruivo
Redaktion:

Benötigen Sie weitere Hilfe?

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

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×