Dieses Thema enthält Codebeispiele, um geänderte Muster in der Dimensionscodeänderung und -Migration für fünf unterschiedliche Szenarien anzuzeigen. Vergleicht die Codebeispiele in früheren Versionen mit den Codebeispielen in Microsoft Dynamics NAV 2017.

Buchen einer Buch.-Blattzeile.

Wesentliche Änderungen werden wie folgt aufgelistet:

  • Buch.-Blattzeilen-Dimensionstabellen werden entfernt.
  • Eine Dimensionssatz-ID wird im Feld Dimensionssatz-ID erstellt.

Frühere Versionen Microsoft Dynamics NAV 2017
 Code kopieren
ResJnlLine."Qty. per Unit of Measure" := 
  SalesLine."Qty. per Unit of Measure";
TempJnlLineDim.DELETEALL;
TempDocDim.RESET;
TempDocDim.SETRANGE(
  "Table ID",DATABASE::"Sales Line");
TempDocDim.SETRANGE(
  "Line No.",SalesLine."Line No.");
DimMgt.CopyDocDimToJnlLineDim(
  TempDocDim,TempJnlLineDim);
ResJnlPostLine.RunWithCheck(
  ResJnlLine,TempJnlLineDim);
 Code kopieren
ResJnlLine."Qty. per Unit of Measure" := 
  SalesLine."Qty. per Unit of Measure";
ResJnlLine."Dimension Set ID" := 
  SalesLine." Dimension Set ID ";
ResJnlPostLine.Run(ResJnlLine);

Buchen eines Dokuments

Wenn Sie einen Beleg in Microsoft Dynamics NAV 2017 buchen, müssen Sie die Belegabmessungen nicht mehr kopieren.

Frühere Versionen Microsoft Dynamics NAV 2017
 Code kopieren
DimMgt.MoveOneDocDimToPostedDocDim(
  TempDocDim,DATABASE::"Sales Line",
  "Document Type",
  "No.",
  SalesShptLine."Line No.",
  DATABASE::"Sales Shipment Line",
  SalesShptHeader."No.");
 Code kopieren
SalesShptLine."Dimension Set ID”
  := SalesLine."Dimension Set ID”

Bearbeiten von Dimensionen von einem Beleg

Bearbeiten von Dimensionen von einem Beleg Beispielsweise können Sie eine Verkaufsauftragszeile bearbeiten.

Frühere Versionen Microsoft Dynamics NAV 2017
 Code kopieren
Table 37, function ShowDimensions:
TESTFIELD("Document No.");
TESTFIELD("Line No.");
DocDim.SETRANGE("Table ID",DATABASE::"Sales Line");
DocDim.SETRANGE("Document Type","Document Type");
DocDim.SETRANGE("Document No.","Document No.");
DocDim.SETRANGE("Line No.","Line No.");
DocDimensions.SETTABLEVIEW(DocDim);
DocDimensions.RUNMODAL;
 Code kopieren
Table 37, function ShowDimensions:
"Dimension ID" := 
  DimSetEntry.EditDimensionSet(
    "Dimension ID");

Anzeigen von Dimensionen von gebuchten Posten

Sie können Dimensionen aus gebuchten Posten anzeigen, wie Verkaufslieferzeilen.

Frühere Versionen Microsoft Dynamics NAV 2017
 Code kopieren
Table 111, function ShowDimensions:
TESTFIELD("No.");
TESTFIELD("Line No.");
PostedDocDim.SETRANGE(
  "Table ID",DATABASE::"Sales Shipment Line");
PostedDocDim.SETRANGE(
  "Document No.","Document No.");
PostedDocDim.SETRANGE("Line No.","Line No.");
PostedDocDimensions.SETTABLEVIEW(PostedDocDim);
PostedDocDimensions.RUNMODAL;
 Code kopieren
Table 111, function ShowDimensions:
DimSetEntry.ShowDimensionSet(
  "Dimension ID");

Abrufen von Standarddimensionen für einen Beleg

Sie können Vorgabedimensionen für einen Beleg, wie z.B. als eine Verkaufsauftragszeile, erhalten.

Frühere Versionen Microsoft Dynamics NAV 2017
 Code kopieren
Table 37, function CreateDim()
SourceCodeSetup.GET;
TableID[1] := Type1;
No[1] := No1;
TableID[2] := Type2;
No[2] := No2;
TableID[3] := Type3;
No[3] := No3;
"Shortcut Dimension 1 Code" := '';
"Shortcut Dimension 2 Code" := '';
DimMgt.GetPreviousDocDefaultDim(
  DATABASE::"Sales Header","Document Type",
  "Document No.",0,
  DATABASE::Customer,
  "Shortcut Dimension 1 Code",
  "Shortcut Dimension 2 Code");
DimMgt.GetDefaultDim(
  TableID,No,SourceCodeSetup.Sales,
  "Shortcut Dimension 1 Code",
  "Shortcut Dimension 2 Code");
IF "Line No." <> 0 THEN
  DimMgt.UpdateDocDefaultDim(
    DATABASE::"Sales Line","Document Type",
    "Document No.","Line No.",
    "Shortcut Dimension 1 Code",
    "Shortcut Dimension 2 Code");
 Code kopieren
Table 37, function CreateDim()
SourceCodeSetup.GET;
TableID[1] := Type1;
No[1] := No1;
TableID[2] := Type2;
No[2] := No2;
TableID[3] := Type3;
No[3] := No3;
"Shortcut Dimension 1 Code" := '';
"Shortcut Dimension 2 Code" := '';
GetSalesHeader;
"Dimension ID" :=
  DimMgt.GetDefaultDimID(
    TableID,No,SourceCodeSetup.Sales,
    "Shortcut Dimension 1 Code",
    "Shortcut Dimension 2 Code",
    SalesHeader."Dimension ID",
    DATABASE::"Sales Header");

Siehe auch