[Gelöst]If im Code eines reports

Bild Microsoft Dynamics NAV 2016

[Gelöst]If im Code eines reports

Beitragvon cracymike » 6. Juli 2021 15:36

Hallo zusammen ich mal wieder.

Ich hab ein Problem mit einer IF.

Ich bin noch nicht sicher ob ich die Richte Spalte getroffen hab grundsätzlich möchte ich wenn die PuchaseLine.Typ = Schkonto ist SBG_ART_Nummer geändert wird.
Leider ergibt der Code
Code: Alles auswählen
IF "Purchase Line"."Type" = 'Sachkonto' THEN
  SBG_ART_Nummer := "Purchase Line"."Vendor Item No."
ELSE
  SBG_ART_Nummer := "Purchase Line"."No.";

beim Kompilieren einen Fehler.

Type conversion is not possible because 1 of the operators contains an invalid type.

Option = Text


Ich versuche also zwei Typen miteinder zu vergleichen die nicht passen, vermute ich zumindest, könnt Ihr mir mit der richtigen Syntax aushelfen?

GruĂź Mike
Zuletzt geändert von cracymike am 7. Juli 2021 10:10, insgesamt 1-mal geändert.
cracymike
 
Beiträge: 28
Registriert: 9. Juli 2018 11:05
Realer Name: Mike

Re: If im Code eines reports

Beitragvon Natalie » 6. Juli 2021 16:20

Die Syntax fĂĽr die Auswahl von Options- bzw. Enum-Werten funktioniert anders (und multilingual):
Code: Alles auswählen
IF "Purchase Line".Type = "Purchase Line".Type::"G/L Account" THEN
  SBG_ART_Nummer := "Purchase Line"."Vendor Item No."
ELSE
  SBG_ART_Nummer := "Purchase Line"."No.";
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: If im Code eines reports

Beitragvon cracymike » 7. Juli 2021 10:08

Danke fĂĽr den Tip.

Was ich zwischenzeitlich noch herausgefunden hab ist das die Tabellen in NAV in der Spalte Typ Worte anzeigt.
Wenn ich mir die Tabelle aber direkt im SQL-Server ansehe sind dort nur Integer Werte enthalten.

Daher habe ich mir die zugeordnete Tabelle der Typ Werte angesehen und konnte auslesen das "Sachkonto" = 1 ist, somit hab ich den
IF angepasst und es geht auch so. Das war aber wie gesagt nur dem Einblick in die reale Tabelle zu verdanken.

Code: Alles auswählen
IF "Purchase Line"."Type" = 1 THEN
  SBG_ART_Nummer := "Purchase Line"."Vendor Item No."
ELSE
  SBG_ART_Nummer := "Purchase Line"."No.";


GruĂź Mike
cracymike
 
Beiträge: 28
Registriert: 9. Juli 2018 11:05
Realer Name: Mike

Re: If im Code eines reports

Beitragvon Natalie » 7. Juli 2021 16:46

cracymike hat geschrieben:Wenn ich mir die Tabelle aber direkt im SQL-Server ansehe sind dort nur Integer Werte enthalten.

Richtig. Der nummerische, sprachunabhängige Werte wird erst in NAV in einen Optionswert "konvertiert". Aber das sollte dich nicht beschäftigen.

Daher habe ich mir die zugeordnete Tabelle der Typ Werte angesehen und konnte auslesen das "Sachkonto" = 1 ist, somit hab ich den
IF angepasst und es geht auch so.

Was hat dir an der "richtigen" Schreibweise nicht gefallen?
Code: Alles auswählen
"Purchase Line".Type::"G/L Account"
gibt intern die 1 zurĂĽck, ohne dass du dich darum kĂĽmmern musst.
Probier mal, was passiert, wenn du
Code: Alles auswählen
"Purchase Line".Type::
eingibst.
GruĂź, Natalie

Frage beantwortet oder Problem von allein gelöst? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.

Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
Benutzeravatar
Natalie
Moderator
Moderator
 
Beiträge: 9257
Registriert: 31. Oktober 2006 19:51
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: [Gelöst]If im Code eines reports

Beitragvon cracymike » 7. Juli 2021 17:23

Hallo Natalie,

kein Problem deine Lösung hat mir schon gefallen ich hatte lediglich gestern nicht mehr ins Forum gesehen und beim grübeln den anderen Ansatz
gefunden und Verwendet.

Hab jetzt gerade deine Version getestet und gleich verwendet. Danke

GruĂź Mike
cracymike
 
Beiträge: 28
Registriert: 9. Juli 2018 11:05
Realer Name: Mike

Re: [Gelöst]If im Code eines reports

Beitragvon fiddi » 7. Juli 2021 17:41

Hallo,

es ist immer besser mit Symbolen zu arbeiten, denn in einem halben Jahr weiĂźt du nicht mehr was die 1 bedeutet, Type::"G/L Account" sagt dir aber auch dann noch etwas. :wink:

GruĂź Fiddi
Wer aufhört besser zu werden, hat aufgehört gut zu sein. (frei nach Philip Rosenthal)
Frage beantwortet? Schreibe bitte [Gelöst] vor den Titel des ersten Beitrags.
Bitte erst suchen, dann fragen. Bitte beachte den kleinen Community-Knigge.
Kein Support per PN, Mail, IM oder Telefon! DafĂĽr ist dieses Forum da.
fiddi
Moderator
Moderator
 
Beiträge: 7091
Registriert: 9. Juni 2008 10:13
Realer Name: Hans Heinrich Fiddelke
Arbeitsort: Bremen
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV2.6-aktuell


ZurĂĽck zu NAV 2016

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron