Mehrere Belids an Selektion/Report übergeben

Dieses Thema im Forum "AppDesigner" wurde erstellt von mgosx, 6. Juni 2019.

  1. mgosx

    mgosx Mitglied

    Hallo zusammen,

    ich habe einen Report erstellt, der über mehrere selektierte Belege den Gesamtbedarf der jeweiligen Artikel ausgibt.

    Hier die Abfrage / Tabelle der Datenquelle:

    (
    SELECT A.Artikelnummer, A.Matchcode, A.Basismengeneinheit, SUM(P.Menge) as Menge, A.Mandant
    FROM KHKVKBelegePositionen P INNER JOIN KHKArtikel A ON A.Mandant=P.Mandant AND A.Artikelnummer=P.Artikelnummer
    WHERE Belid in ( CFN_Parameter('Belid') )
    GROUP BY A.Artikelnummer, A.Matchcode, A.Basismengeneinheit, A.Mandant
    ) as TAB

    Die Datenstruktur hat nur 1 Feld Belid, das als Schlüssel der Klasse clsVKBelegnummer angelegt ist.

    Ich rufe meinen Report, der auf o.g. Abfrage basiert aus einer Liste mit VKBelegen aus, aus der ich mehrere selektieren kann.
    So lange ich nur einen Beleg selektiere, klappt der Report, wenn ich mehrere Belege selektiere, dann wird ein Bericht nur mit dem Bedarf des 1. selektierten VKBelegs geöffnet.
    Wie kann ich mit den Standardzugriffen vom AppDesigner eine Liste an Belids über ein Selektionselement/Datenstruktur an einen Bericht/dessen Datenquelle übergeben?

    Gruss Mark
     
  2. ALangmaack-Sage

    ALangmaack-Sage Mitglied Mitglieder

    Aus der Liste bekommen Sie ein Multiselect raus, aber in einem Selektionselement ist es aktuell noch nicht möglich (also die Einstellung Multiselect im Feld der Datenstruktur. Sie können aber das SQL via Call-Platzhalter erzeugen.

    Im Kontextmenü der Liste hinterlegen Sie diese Makros:
    upload_2019-6-7_10-40-53.png

    In der SQL-Where-Bedingung der Datenquelle des Berichtes hinterlegt man den Call-Platzhalter:
    1=1 $[Call(DLLAufrufe.dll,DLLAufrufe.CallAufrufTemplate,$[Parameter(BelID)])]

    Beschreibung für Call-Platzhalter: Zusatzdokumentation für Developer Partner im WDB 203334
     
  3. mgosx

    mgosx Mitglied

    Vielen Dank für die Info.
    Wenn ich das richtig verstanden habe, müsste ich somit von IPlaceholderHandler einen Call ableiten.

    Ist dies so richtig?


    mit freundlichen Grüssen
    Mark Göbl
     
  4. ALangmaack-Sage

    ALangmaack-Sage Mitglied Mitglieder

    Ja, das ist richtig.
     
    mgosx gefällt das.

Diese Seite empfehlen