Verkaufsstückliste - Komponenten nicht andrucken - Textzeile

Tobias Hermeling

Ich möchte die Komponenten einer Stückliste nicht anzeigen lassen.

Also folgendes Vorgehen:

Im Common Script

Dim HideComp As String
Dim Pos As Integer


Im GetDataScript des Rows

If DocumentRow("TreeType") = "S" Then
HideComp = LD.QueryData("SELECT HideComp FROM OITT WHERE Code = '" & DocumentRow("ItemCode") & "'")
End If

If DocumentRow("TreeType") = "I" And HideComp = "Y" Then
DocumentRow.Visible = false

Else
DocumentRow.Visible = True
Pos = Pos + 1

End If


Die Variable Pos anstatt VisOrder + 1 als Zeilennummer wählen.

AdvancedDataband im GetDataScript pos = 0 setzen (wg. Double Parse)

Problem: Steht unter den ausgeblendeten Komponentne eine Zeileneintrag vom Typ Text wird dieser natürlich ausgeblendet.

Wie kann ich es lösen, dass die Komponente ausgeblendet wird, jedoch die Textzeile eingeblendet bleibt?

Danke für Denkanstöße

Tobias Hermeling

Ich antworte mir mal selber.. :)
Document - Common Script

Dim HideComp As String
Dim Pos As Integer = 0
Dim Father AS String

Advanced Databand
pos = 0 'wenn DoublePass 

DocumentRow Advanced Databand GetDataScript

If DocumentRow("TreeType") = "S"
Father = DocumentRow("ItemCode")
End If
HideComp = ld.QueryData("SELECT Hidecomp From OITT Where Code = (Select Father From ITT1 Where Code = '"&DocumentRow("ItemCode")&"' AND Father = '" & Father &"' )")
If Not(HideComp = "Y")
pos += 1
End If

Jetzt ist es möglich jedes beliebige Element per Visible Flag zu steuern und die, sich im DocumentRow befindene Textzeile, zu nutzen.
NOT(HideComp = "Y")

Ob das die endgültige Lösung ist sei dahingestellt, bisher läuft es gut.

Meike Schlenker

Hallo Tobias,

ich habe dein Beispiel implementiert. Jedoch ist mir aufgefallen, dass das bei verschachtelten Stücklisten nicht funktioniert.
Beispiel:

Verkaufs-Hauptstückliste
(besteht aus Verkaufs-Stückliste1 und Verkaufsstückliste2)

Verkaufsstückliste1 (besteht aus x Artikeln)

Verkaufsstückliste2 (besteht aus x Artikeln)

Im Kundenauftrag würden jetzt als Belegzeilen die Verkaufshauptstückliste und die Komponenten aus Verkaufsstückliste1 und 2 angezeigt werden.
Im Marketing-Dokument würde er nun die Verkaufshauptstückliste und alle Komponenten der Verkaufsstückliste1 und 2 anzeigen.


Hast du dazu eine Idee, wie man das lösen könnte?



Gruß Meike

Tobias Hermeling

Hallo ich bin von meiner vermeintlichen Lösung wieder abgewichen und hab lediglich das bestehende Script so angepasst, dass ein Visible Flag gesetzt wird.
If DocumentRow("TreeType") = "S"  Then
HideComp = LD.QueryData("SELECT HideComp FROM OITT WHERE Code = '" & DocumentRow("ItemCode") & "'")
End If
If DocumentRow("TreeType") = "I" And HideComp = "Y" Then
HideFlag = "Y"
Else
HideFlag = "N"
Pos = Pos + 1
End If
Else
HideFlag = "N"
Pos = Pos + 1
End If

Die Elemente die du ausblenden möchtest kannst du per Visible Statement steuern und die Textzeilen lässt du außen vor.
Das funktioniert am besten bisher..
hth

Tobias Hermeling

Nachtrag:

Im GetDataScript des DocumentRow, wurde grade drauf aufmerksam gemacht.

danke

Meike Schlenker

Hatt bisher noch keine Gelegenheit es zu testen - werde das aber nachholen.

Danke schonmal und Gruß
Meike

Meike Schlenker

Hatte bisher noch keine Gelegenheit es zu testen - werde das aber nachholen.

Danke schonmal und Gruß
Meike

Dtechnik

Der zweite Code funktioniert leider nicht. Es kommt immer wieder eine Fehlermeldung.


0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post