Gelöst Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Status
Es sind keine weiteren Antworten möglich.

samuelvertrieb

Aktives Mitglied
15. Oktober 2014
60
1
Hallo JTL,

wenn ich in den Workflows Bedingungen mit vorhandenen Variablen anlege, kann ich auf die Positionen im Auftrag zugreifen (Vorgang -> Auftragspositionen -> Positionen). Wenn ich aber in die erweiterten Eigenschaften gehe, steht die Variable nicht mehr zur Verfügung. Wieso ist das so?

Grüße
Erik
 

D. Lehmeier

Moderator
14. August 2013
248
4
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Hi,

die sollte eigentlich da sein, bei mir ist sie auch vorhanden: Vorgang.AuftragsPositionen.Positionen
 

samuelvertrieb

Aktives Mitglied
15. Oktober 2014
60
1
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Hallo,

oh mein Fehler. Die "Positionen" gibt es noch, aber es gibt die Variable "enthält" darunter nicht mehr, um die Artikel-Eigenschaften abzufragen. Ich möchte gerne alle Fremdangebote (ebay), die keinem Artikel zugeordnet werden konnten, aussortieren. Leider finde ich keine Möglichkeit wie ich die Abfrage mit den normalen Bedingungen gestalten kann.

Der einzige Unterschied, den ich nutzen kann ist, dass die Fremdangebote eine 8stellige Artikelnummer haben. Wenn ich aber eine Abfrage erstelle mit den Bedingungen:
1) Artikelnummer = (\d){8}
2) IsStückliste = False
erhalte ich leider nicht das gewünschte Ergebnis.

Die zweite Bedingung ist notwendig, da unsere Stücklisten-Artikel 8stellige Artikelnummern haben. Da die Bedingungen aber alle Positionen in einem Auftrag anschauen, treffen diese Bedinungen auch bei allen verkauften Stücklisten zu. Der Grund dafür ist, dass die Versandkosten-Position im Auftrag auch keine Stückliste ist und damit die zweite Bedingung erfüllt.

Grüße
 

D. Lehmeier

Moderator
14. August 2013
248
4
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Hallo,

ja das stimmt, "enthält" gibt es in den erweiterten Eigenschaften so nicht.
Da musst du eine Schleife über alle Positionen machen (mit rechter Maustaste auf "Positionen" bekommst du auch ein Code Snippet angeboten).

Hier mal ein Beispiel wie es funktionieren könnte, es werden alle Positionen durchlaufen und pro Position ein SQL auf die Datenbank abgesetzt, das prüft, ob es einen Artikel mit dieser Artikelnummer gibt.
Wenn nicht, dann wird die Artikelnummer der Position ausgegeben.

In der Bedingung könntest du dann auf "Ist nicht leer" prüfen. D.h. es gibt Positionen, zu denen es keinen Artikel gibt.

Code:
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen -%}\
{% capture query -%}\
  SELECT cArtNr FROM tArtikel WHERE tArtikel.cArtNr = '{{Artikelbeschreibungen.Artikel.Artikelnummer}}'
  {% endcapture -%}\
   {% assign result = query | DirectQueryScalar %}\
   {% assign exist = {{result | IsFilled}} %}\
   {% unless exist %}\
   {{Artikelbeschreibungen.Artikel.Artikelnummer}}
   {% endunless %}\
{% endfor -%}\

Bei den DotLiquid Eigenschaften musst du immer noch drauf achten, dass kein Leerzeichen hinter einem \ ist, falls du das mit Copy Paste rüberkopierst.
 

samuelvertrieb

Aktives Mitglied
15. Oktober 2014
60
1
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Funktioniert bestens. Danke für den Hinweis mit dem Code Snippet, das war mir neu. Damit kann ich ja alles treiben :) Danke dir!
 

ch_hentschel

Aktives Mitglied
31. Oktober 2010
66
1
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Code:
{% for Artikelbeschreibungen in Vorgang.AuftragsPositionen.Positionen -%}\
{% capture query -%}\
  SELECT cArtNr FROM tArtikel WHERE tArtikel.cArtNr = '{{Artikelbeschreibungen.Artikel.Artikelnummer}}'
  {% endcapture -%}\
   {% assign result = query | DirectQueryScalar %}\
   {% assign exist = {{result | IsFilled}} %}\
   {% unless exist %}\
   {{Artikelbeschreibungen.Artikel.Artikelnummer}}
   {% endunless %}\
{% endfor -%}\

Wie könnte man das in DotLiquid so umstellen, dass geprüft wird ob die Artikel unter z.B 2cm Hoch sind?

Grüße
 

D. Lehmeier

Moderator
14. August 2013
248
4
AW: Erweiterte Eigenschaften: Zugriff auf Positionen nicht möglich

Hallo,

man kommt auch über die normalen Bedingungen an die Höhe (Artikel/Allgemein/Maße & Gewicht).
Wenn du es aber im SQL brauchst sieht das so aus:

Code:
SELECT cArtNr FROM tArtikel WHERE (tArtikel.cArtNr = '{{Artikelbeschreibungen.Artikel.Artikelnummer}}') AND (fHoehe < 2)
 
Status
Es sind keine weiteren Antworten möglich.