[gelöst]Filter in Form aus zweiter Tabelle

23. Dezember 2010 13:12

Hallo Zusammen,
wie kann man ein "DataItemLink" eines Reports im Trigger einer Form mit CAL abbilden?
Um mögliche Lieferungen von Service und Verkauf zusammenzufassen, habe ich in der Form der Service Rechnung ein Feld eingebaut, welches die Anzahl der potentiell möglichen Lieferungen anzeigt.
Zusätzlich soll aber auch noch auf den "Lief. an Code" aus dem Verkaufskopf gefiltert werden.
Wie kann ich das jetzt mit in die Filterkriterien einbauen?

Gruß Ingo
Code:
Form - OnAfterGetRecord()

Sales_Line.SETRANGE(Sales_Line."Document Type","Document Type"::Order);
Sales_Line.SETRANGE(Sales_Line."Sell-to Customer No.","Sell-to Customer No.");
Sales_Line.SETRANGE(Sales_Line.Type,Sales_Line.Type::Item);
Sales_Line.SETRANGE(Sales_Line."Promised Delivery Date",TODAY,TODAY+10);
Number := 0;
IF Sales_Line.FIND('-') THEN
REPEAT
Number := Number + 1;
UNTIL Sales_Line.NEXT = 0;
Zuletzt geändert von Ogni am 26. Januar 2011 16:58, insgesamt 1-mal geändert.

Re: Filter in Form aus zweiter Tabelle

23. Dezember 2010 13:43

Ogni hat geschrieben:Zusätzlich soll aber auch noch auf den "Lief. an Code" aus dem Verkaufskopf gefiltert werden.
Wie kann ich das jetzt mit in die Filterkriterien einbauen?

Über den SubFormLink der Subform.

Das hier:
Ogni hat geschrieben:
Code:
IF Sales_Line.FIND('-') THEN
REPEAT
Number := Number + 1;
UNTIL Sales_Line.NEXT = 0;

kannst du mit
Code:
Number:=Sales_Line.count;
abkürzen.

Re: Filter in Form aus zweiter Tabelle

23. Dezember 2010 15:10

Mein zusätzliches Feld befindet sich auf der Form "Verkaufsrechnung" nicht auf der Subform, also kann ich den SubFormLink der Subform
leider nicht benutzen.

Gruß Ingo
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Filter in Form aus zweiter Tabelle

23. Dezember 2010 15:25

Achso, du willst für die Berechnung des Wertes der möglichen Lieferungen noch auf die Aufträge filtern, in deren Kopf "Lief an. Code" gleich dem Wert aus dem Servicekopf ist?

Re: Filter in Form aus zweiter Tabelle

23. Dezember 2010 15:47

Genau, aber nicht in der dazugehörigen Subform "SalesLines" (Service), die darf ja hier nicht verändert werden, sondern ich rufe die Form aus dem Verkaufskopf erneut auf. Der Code ist halt fast identisch, einmal im OnAfterGetRecord der Form und einmal im OnPush des Buttons. Es fehlt jetzt nur noch der Filter für den "Lief an. Code" aus dem Kopf zusätzlich.

Gruß Ingo

Code:
<Control1000000008> - OnPush()
  Sales_Line.SETRANGE(Sales_Line."Document Type","Document Type"::Order);
  Sales_Line.SETRANGE(Sales_Line."Sell-to Customer No.","Sell-to Customer No.");
  Sales_Line.SETRANGE(Sales_Line.Type,Sales_Line.Type::Item);
  Sales_Line.SETRANGE(Sales_Line."Promised Delivery Date",TODAY,TODAY+10);
   IF Sales_Line.FINDFIRST THEN
 FORM.RUN(516,Sales_Line);

Re: Filter in Form aus zweiter Tabelle

23. Dezember 2010 16:03

Hoffentlich verstehe ich das nun richtig.

Schau doch einfach in der repeat-until-Schleife, in der du die Sales Lines zusammen zählst, vor dem Addieren noch schnell in den Kopf der SalesLine, ob "Lief. an Code" den richtigen Wert enthält.

So ähnlich kannst du das dann auch mit dem Aufruf der Subform machen, nur da mit Markieren der Sales Lines.

Re: Filter in Form aus zweiter Tabelle

26. Januar 2011 16:53

sorry für die Verspätung, habe zu viele Baustellen gleich zu Jahresbeginn...

Danke für den Tipp, diese Zeilen haben es nun gelöst:
Code:
Sales_Header.GET(1,Sales_Line."Document No.");
IF "Ship-to Code" = Sales_Header."Ship-to Code" THEN


Gruß Ingo