19. Juli 2007 10:52
PrintMarkSalesLine()
CLEAR(OrderConfirmation);
CurrForm.SETSELECTIONFILTER(Rec);
SalesHeader2.GET("Document Type", "Document No.");
SalesHeader2.SETRECFILTER;
SalesHeader2.FIND('-');
OrderConfirmation.Def(Rec);
OrderConfirmation.SETTABLEVIEW(SalesHeader2);
OrderConfirmation.RUNMODAL;
Rec.RESET19. Juli 2007 12:00
PrintMarkSalesLine()
CLEAR(OrderConfirmation); // Report-Variable löschen, gehört hier in jede gute Programmierung, da später ein OrderConfirmation.RUN folgt.
CurrForm.SETSELECTIONFILTER(Rec); // Hole alle markierten Zeilen von der Form. Dies geht nur über SETSELECTIONFILTER. Deine markierten Zeilen befinden sich nun in Rec
SalesHeader2.GET("Document Type", "Document No.");  // Lese aus der Rec-Variable den Aufträgsbestätigungs KOPF
SalesHeader2.SETRECFILTER; // Setzte Filter, dass auch nur dieser eine Kopf in Rec enahteln ist
SalesHeader2.FIND('-'); // Rufe diese einen Kopf in SalesHeader2-Variable
OrderConfirmation.Def(Rec); // "Def"  ist eine Funktion, die im Report erst einmal geschrieben werden muss. Diese teilt dem Report mit, welche Zeilen du markiert hattest und übergibt sie damit dem Report.
OrderConfirmation.SETTABLEVIEW(SalesHeader2); // Der Report wird stets mit dem Auftragskopf aufgerufen (da oberstestes DataItem). Hier also deinen einen Auftragskopf übergeben.
OrderConfirmation.RUNMODAL; // Aufrufen - fertig!
Rec.RESET10. September 2007 11:12
CASE Typ OF
  1,2,3,4,14:
    BEGIN
      SalesHeader.INIT;
      CASE Typ OF
        1: SalesHeader.SETRANGE("Document Type",SalesHeader."Document Type"::Quote);             // Sales Quote
        2: SalesHeader.SETRANGE("Document Type",SalesHeader."Document Type"::"Blanket Order");   // Sales Blanket Order
        3: SalesHeader.SETRANGE("Document Type",SalesHeader."Document Type"::Order);             // Sales Order
        4: SalesHeader.SETRANGE("Document Type",SalesHeader."Document Type"::"Return Order");    // Sales Return Order
//SCHEU001-
        14:SalesHeader.SETRANGE("Document Type",SalesHeader."Document Type"::Order);             // Sales Order w/o Confirmation
//SCHEU002+
      END;
      SalesHeader.SETRANGE("No.",No);
      SalesHeader.FIND('-');
      ProcessMailAddress(SalesHeader."E-Mail",
        SalesHeader."Sell-to Customer No.",SalesHeader."No.");
    END;10. September 2007 11:21
10. September 2007 11:58
CASE Typ OF
  1:   REPORT.RUNMODAL(ReportID,FALSE,FALSE,SalesHeader);
  2:   REPORT.RUNMODAL(ReportID,FALSE,FALSE,SalesHeader);