22. April 2014 09:24
 
 Sales Shipment Header - OnBeforeExportRecord()
PackmittelTabelle[1].SETCURRENTKEY(Type,"No.","Source No.","Source Document","Line No.");
PackmittelTabelle[1].SETFILTER(Type,'%1',2);
PackmittelTabelle[1].SETRANGE(PackmittelTabelle[1]."No.","Sales Shipment Header"."No.");
IF PackmittelTabelle[1].FINDFIRST THEN BEGIN
  PackmittelColliEins := PackmittelTabelle[1].Count;
  PackmittelTypEins := PackmittelTabelle[1]."Packaging Type";
END;
PackmittelTabelle[2].SETCURRENTKEY(Type,"No.","Source No.","Source Document","Line No.");
PackmittelTabelle[2].SETFILTER(Type,'%1',2);
PackmittelTabelle[2].SETRANGE(PackmittelTabelle[2]."No.","Sales Shipment Header"."No.");
IF PackmittelTabelle[2].FINDFIRST THEN BEGIN
  PackmittelTabelle[2].NEXT(+1) ;
  PackmittelColliZwei := PackmittelTabelle[2].Count;
  PackmittelTypZwei := PackmittelTabelle[2]."Packaging Type";
END;
PackmittelTabelle[3].SETCURRENTKEY(Type,"No.","Source No.","Source Document","Line No.");
PackmittelTabelle[3].SETFILTER(Type,'%1',2);
PackmittelTabelle[3].SETRANGE(PackmittelTabelle[3]."No.","Sales Shipment Header"."No.");
IF PackmittelTabelle[3].FINDFIRST THEN BEGIN
   PackmittelTabelle[3].NEXT(+2);
  PackmittelColliDrei := PackmittelTabelle[3].Count;
  PackmittelTypDrei := PackmittelTabelle[3]."Packaging Type";
END; 
22. April 2014 09:45
PackmittelTabelle.SETCURRENTKEY(Type,"No.","Source No.","Source Document","Line No.");
PackmittelTabelle.SETFILTER(Type,'%1',2);
PackmittelTabelle.SETRANGE(PackmittelTabelle."No.","Sales Shipment Header"."No.");
IF PackmittelTabelle.FINDFIRST THEN BEGIN
  // erster Datensatz
  PackmittelColliEins := PackmittelTabelle.Count;
  PackmittelTypEins := PackmittelTabelle."Packaging Type";
  IF PackmittelTabelle.NEXT THEN BEGIN
    // zweiter Datensatz
    PackmittelColliZwei := PackmittelTabelle.Count;
    PackmittelTypZwei := PackmittelTabelle."Packaging Type";
  END;
  IF PackmittelTabelle.NEXT THEN BEGIN
    // dritter Datensatz
    PackmittelColliDrei := PackmittelTabelle.Count;
    PackmittelTypDrei := PackmittelTabelle."Packaging Type";
  END; 
END; 22. April 2014 10:01
22. April 2014 10:02
22. April 2014 10:40
SuppeDroops hat geschrieben:Leider stoße ich bei deiner Programmierung an der angehängten Fehlermeldung.
PackmittelTabelle.Count ist die Anzahl wie viel Europaletten ich bspw. verladen habe.
22. April 2014 11:04
22. April 2014 11:17
// bitte immer initialisieren
CLEAR(PackmittelColli);
CLEAR(PackmittelTyp);
PackmittelTabelle.SETCURRENTKEY(Type,"No.","Source No.","Source Document","Line No.");
PackmittelTabelle.SETFILTER(Type,'%1',2);
PackmittelTabelle.SETRANGE("No.","Sales Shipment Header"."No.");
IF PackmittelTabelle.FINDSET THEN BEGIN
  REPEAT
    i := i + 1;
    PackmittelColli[i] := PackmittelTabelle.Quantity;
    PackmittelTyp[i] := PackmittelTabelle."Packaging Type";
  UNTIL (PackmittelTabelle NEXT = 0) OR (i = 3);
END; 22. April 2014 16:04