22. April 2016 14:47
22. April 2016 15:16
23. April 2016 17:33
pjung hat geschrieben:...xRec.Status = Offen
Rec.Status = Freigegeben
allerdings bekomme ich dann bei beiden "Freigegeben" als Wert zurück![]()
25. April 2016 07:59
[EventSubscriber] Test(VAR Rec : Record "Warehouse Shipment Header";VAR xRec : Record "Warehouse Shipment Header";RunTrigger : Boolean)
LWhseShpHeader.GET(Rec."No.");
MESSAGE('Rec.Status: %1 - LWhseShpHeader.Status: %2 - xRec.Status: %3',Rec.Status,LWhseShpHeader.Status,xRec.Status);
Rec.Status: Freigegeben - LWhseShpHeader.Status: Offen - xRec.Status: Freigegeben
25. April 2016 08:54
25. April 2016 10:41
25. April 2016 10:52
pjung hat geschrieben:also wenn nicht der Standard darauf zugreift und es manipuliert, sollte ich der einzige sein.
Aber ist ein guter Hinweis. Ich werde es mal bei anderen Tabellen ausprobieren und mein Ergebnis hier mitteilen.
25. April 2016 12:00
25. April 2016 12:04
25. April 2016 14:06
25. April 2016 14:27
pjung hat geschrieben:kommt zum gleichen Ergebnis wie beim dem Event.
25. April 2016 15:10
OBJECT Table 7320 Warehouse Shipment Header
{
  OBJECT-PROPERTIES
  {
    Date=25.04.16;
    Time=14:07:27;
    Modified=Yes;
    Version List=NAVW18.00;
  }
  PROPERTIES
  {
    DataCaptionFields=No.;
    OnInsert=BEGIN
               WhseSetup.GET;
               IF "No." = '' THEN BEGIN
                 WhseSetup.TESTFIELD("Whse. Ship Nos.");
                 NoSeriesMgt.InitSeries(WhseSetup."Whse. Ship Nos.",xRec."No. Series","Posting Date","No.","No. Series");
               END;
               NoSeriesMgt.SetDefaultSeries("Shipping No. Series",WhseSetup."Posted Whse. Shipment Nos.");
               GetLocation("Location Code");
               VALIDATE("Bin Code",Location."Shipment Bin Code");
               "Posting Date" := WORKDATE;
               "Shipment Date" := WORKDATE;
             END;
    OnModify=BEGIN
               //OnBeforeModify-Event wird in der CodeUnit 50003 genutzt
             END;
    OnDelete=BEGIN
               TESTFIELD(Status,Status::Open);
               DeleteWarehouseShipmentLines;
               DeleteRelatedLines;
             END;
    OnRename=BEGIN
               ERROR(Text000,TABLECAPTION);
             END;
    CaptionML=[DEU=Warenausgangskopf;
               ENU=Warehouse Shipment Header];
    LookupPageID=Page7339;
  }
  FIELDS
  {
    { 1   ;   ;No.                 ;Code20        ;OnValidate=BEGIN
                                                                TESTFIELD(Status,Status::Open);
                                                                WhseSetup.GET;
                                                                IF "No." <> xRec."No." THEN BEGIN
                                                                  NoSeriesMgt.TestManual(WhseSetup."Whse. Ship Nos.");
                                                                  "No. Series" := '';
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Nr.;
                                                              ENU=No.] }
    { 2   ;   ;Location Code       ;Code10        ;TableRelation=Location WHERE (Use As In-Transit=CONST(No));
                                                   OnValidate=VAR
                                                                WhseShptLine@1002 : Record 7321;
                                                              BEGIN
                                                                IF NOT WmsManagement.LocationIsAllowed("Location Code") THEN
                                                                  ERROR(Text003,"Location Code");
                                                                IF "Location Code" <> xRec."Location Code" THEN BEGIN
                                                                  "Zone Code" := '';
                                                                  "Bin Code" := '';
                                                                  WhseShptLine.SETRANGE("No.","No.");
                                                                  IF WhseShptLine.FINDFIRST THEN
                                                                    ERROR(
                                                                      Text001,
                                                                      FIELDCAPTION("Location Code"));
                                                                END;
                                                                GetLocation("Location Code");
                                                                Location.TESTFIELD("Require Shipment");
                                                                IF Location."Directed Put-away and Pick" OR Location."Bin Mandatory" THEN
                                                                  VALIDATE("Bin Code",Location."Shipment Bin Code");
                                                                IF USERID <> '' THEN BEGIN
                                                                  FILTERGROUP := 2;
                                                                  SETRANGE("Location Code","Location Code");
                                                                  FILTERGROUP := 0;
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Lagerortcode;
                                                              ENU=Location Code] }
    { 3   ;   ;Assigned User ID    ;Code50        ;TableRelation="Warehouse Employee" WHERE (Location Code=FIELD(Location Code));
                                                   OnValidate=BEGIN
                                                                IF "Assigned User ID" <> '' THEN BEGIN
                                                                  "Assignment Date" := TODAY;
                                                                  "Assignment Time" := TIME;
                                                                END ELSE BEGIN
                                                                  "Assignment Date" := 0D;
                                                                  "Assignment Time" := 0T;
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Zugewiesene Benutzer-ID;
                                                              ENU=Assigned User ID] }
    { 4   ;   ;Assignment Date     ;Date          ;CaptionML=[DEU=Zuweisungsdatum;
                                                              ENU=Assignment Date];
                                                   Editable=No }
    { 5   ;   ;Assignment Time     ;Time          ;CaptionML=[DEU=Zuweisungszeit;
                                                              ENU=Assignment Time];
                                                   Editable=No }
    { 6   ;   ;Sorting Method      ;Option        ;OnValidate=BEGIN
                                                                IF "Sorting Method" <> xRec."Sorting Method" THEN
                                                                  SortWhseDoc;
                                                              END;
                                                   CaptionML=[DEU=Sortiermethode;
                                                              ENU=Sorting Method];
                                                   OptionCaptionML=[DEU=" ,Artikel,Beleg,Regalnummer oder Lagerplatz,F„lligkeitsdatum,Ziel";
                                                                    ENU=" ,Item,Document,Shelf or Bin,Due Date,Destination"];
                                                   OptionString=[ ,Item,Document,Shelf or Bin,Due Date,Destination] }
    { 7   ;   ;No. Series          ;Code10        ;TableRelation="No. Series";
                                                   CaptionML=[DEU=Nummernserie;
                                                              ENU=No. Series] }
    { 11  ;   ;Comment             ;Boolean       ;FieldClass=FlowField;
                                                   CalcFormula=Exist("Warehouse Comment Line" WHERE (Table Name=CONST(Whse. Shipment),
                                                                                                     Type=CONST(" "),
                                                                                                     No.=FIELD(No.)));
                                                   CaptionML=[DEU=Bemerkung;
                                                              ENU=Comment];
                                                   Editable=No }
    { 12  ;   ;Bin Code            ;Code20        ;TableRelation=IF (Zone Code=FILTER('')) Bin.Code WHERE (Location Code=FIELD(Location Code))
                                                                 ELSE IF (Zone Code=FILTER(<>'')) Bin.Code WHERE (Location Code=FIELD(Location Code),
                                                                                                                  Zone Code=FIELD(Zone Code));
                                                   OnValidate=VAR
                                                                Bin@1000 : Record 7354;
                                                                WhseIntegrationMgt@1001 : Codeunit 7317;
                                                              BEGIN
                                                                IF (xRec."Bin Code" <> "Bin Code") OR ("Zone Code" = '') THEN BEGIN
                                                                  TESTFIELD(Status,Status::Open);
                                                                  IF "Bin Code" <> '' THEN BEGIN
                                                                    GetLocation("Location Code");
                                                                    WhseIntegrationMgt.CheckBinTypeCode(DATABASE::"Warehouse Shipment Header",
                                                                      FIELDCAPTION("Bin Code"),
                                                                      "Location Code",
                                                                      "Bin Code",0);
                                                                    IF Location."Directed Put-away and Pick" THEN BEGIN
                                                                      Bin.GET("Location Code","Bin Code");
                                                                      "Zone Code" := Bin."Zone Code";
                                                                    END;
                                                                  END;
                                                                  MessageIfShptLinesExist(FIELDCAPTION("Bin Code"));
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Lagerplatzcode;
                                                              ENU=Bin Code] }
    { 13  ;   ;Zone Code           ;Code10        ;TableRelation=Zone.Code WHERE (Location Code=FIELD(Location Code));
                                                   OnValidate=BEGIN
                                                                IF "Zone Code" <> xRec."Zone Code" THEN BEGIN
                                                                  TESTFIELD(Status,Status::Open);
                                                                  IF "Zone Code" <> '' THEN BEGIN
                                                                    GetLocation("Location Code");
                                                                    Location.TESTFIELD("Directed Put-away and Pick");
                                                                  END;
                                                                  "Bin Code" := '';
                                                                  MessageIfShptLinesExist(FIELDCAPTION("Zone Code"));
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Zonencode;
                                                              ENU=Zone Code] }
    { 34  ;   ;Document Status     ;Option        ;OnValidate=VAR
                                                                WhsePickRqst@1000 : Record 7325;
                                                              BEGIN
                                                                CALCFIELDS("Completely Picked");
                                                                IF "Completely Picked" <> xRec."Completely Picked" THEN BEGIN
                                                                  WhsePickRqst.SETRANGE("Document Type",WhsePickRqst."Document Type"::Shipment);
                                                                  WhsePickRqst.SETRANGE("Document No.","No.");
                                                                  WhsePickRqst.MODIFYALL("Completely Picked","Completely Picked");
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Belegstatus;
                                                              ENU=Document Status];
                                                   OptionCaptionML=[DEU=" ,Teilweise kommissioniert,Teilweise geliefert,Komplett kommissioniert,Komplett geliefert";
                                                                    ENU=" ,Partially Picked,Partially Shipped,Completely Picked,Completely Shipped"];
                                                   OptionString=[ ,Partially Picked,Partially Shipped,Completely Picked,Completely Shipped];
                                                   Editable=No }
    { 39  ;   ;Posting Date        ;Date          ;CaptionML=[DEU=Buchungsdatum;
                                                              ENU=Posting Date] }
    { 41  ;   ;Shipping Agent Code ;Code10        ;TableRelation="Shipping Agent";
                                                   OnValidate=BEGIN
                                                                IF xRec."Shipping Agent Code" = "Shipping Agent Code" THEN
                                                                  EXIT;
                                                                "Shipping Agent Service Code" := '';
                                                              END;
                                                   AccessByPermission=TableData 5790=R;
                                                   CaptionML=[DEU=Zustellercode;
                                                              ENU=Shipping Agent Code] }
    { 42  ;   ;Shipping Agent Service Code;Code10 ;TableRelation="Shipping Agent Services".Code WHERE (Shipping Agent Code=FIELD(Shipping Agent Code));
                                                   CaptionML=[DEU=Zustellertransportartencode;
                                                              ENU=Shipping Agent Service Code] }
    { 43  ;   ;Shipment Method Code;Code10        ;TableRelation="Shipment Method";
                                                   CaptionML=[DEU=Lieferbedingungscode;
                                                              ENU=Shipment Method Code] }
    { 45  ;   ;Shipment Date       ;Date          ;OnValidate=VAR
                                                                WhseShptLine@1000 : Record 7321;
                                                              BEGIN
                                                                IF "Shipment Date" <> xRec."Shipment Date" THEN BEGIN
                                                                  WhseShptLine.SETRANGE("No.","No.");
                                                                  IF WhseShptLine.FINDFIRST THEN
                                                                    IF CONFIRM(
                                                                         STRSUBSTNO(Text008,FIELDCAPTION("Shipment Date")),FALSE)
                                                                    THEN
                                                                      WhseShptLine.MODIFYALL("Shipment Date","Shipment Date");
                                                                END;
                                                              END;
                                                   CaptionML=[DEU=Warenausg.-Datum;
                                                              ENU=Shipment Date] }
    { 46  ;   ;Completely Picked   ;Boolean       ;FieldClass=FlowField;
                                                   CalcFormula=Min("Warehouse Shipment Line"."Completely Picked" WHERE (No.=FIELD(No.)));
                                                   CaptionML=[DEU=Komplett kommissioniert;
                                                              ENU=Completely Picked];
                                                   Editable=No }
    { 47  ;   ;Status              ;Option        ;CaptionML=[DEU=Status;
                                                              ENU=Status];
                                                   OptionCaptionML=[DEU=Offen,Freigegeben;
                                                                    ENU=Open,Released];
                                                   OptionString=Open,Released;
                                                   Editable=No }
    { 48  ;   ;External Document No.;Code35       ;CaptionML=[DEU=Externe Belegnummer;
                                                              ENU=External Document No.] }
    { 50  ;   ;Create Posted Header;Boolean       ;CaptionML=[DEU=Gebuchten Kopf erstellen;
                                                              ENU=Create Posted Header] }
    { 61  ;   ;Shipping No.        ;Code20        ;CaptionML=[DEU=Lieferungsnr.;
                                                              ENU=Shipping No.] }
    { 62  ;   ;Last Shipping No.   ;Code20        ;TableRelation="Posted Whse. Shipment Header";
                                                   CaptionML=[DEU=Letzte Lieferscheinnr.;
                                                              ENU=Last Shipping No.];
                                                   Editable=No }
    { 63  ;   ;Shipping No. Series ;Code10        ;TableRelation="No. Series";
                                                   OnValidate=BEGIN
                                                                IF "Shipping No. Series" <> '' THEN BEGIN
                                                                  WhseSetup.GET;
                                                                  WhseSetup.TESTFIELD("Posted Whse. Shipment Nos.");
                                                                  NoSeriesMgt.TestSeries(WhseSetup."Posted Whse. Shipment Nos.","Shipping No. Series");
                                                                END;
                                                                TESTFIELD("Shipping No.",'');
                                                              END;
                                                   OnLookup=BEGIN
                                                              WITH WhseShptHeader DO BEGIN
                                                                WhseShptHeader := Rec;
                                                                WhseSetup.GET;
                                                                WhseSetup.TESTFIELD("Posted Whse. Shipment Nos.");
                                                                IF NoSeriesMgt.LookupSeries(WhseSetup."Posted Whse. Shipment Nos.","Shipping No. Series") THEN
                                                                  VALIDATE("Shipping No. Series");
                                                                Rec := WhseShptHeader;
                                                              END;
                                                            END;
                                                   CaptionML=[DEU=Lieferungsnr.-Serie;
                                                              ENU=Shipping No. Series] }
  }
  KEYS
  {
    {    ;No.                                     ;Clustered=Yes }
    {    ;Location Code                            }
  }
  FIELDGROUPS
  {
  }
  CODE
  {
    VAR
      Location@1002 : Record 14;
      WhseSetup@1003 : Record 5769;
      WhseShptHeader@1013 : Record 7320;
      NoSeriesMgt@1001 : Codeunit 396;
      Text000@1011 : TextConst 'DEU=Sie k”nnen einen %1 nicht umbenennen.;ENU=You cannot rename a %1.';
      Text001@1010 : TextConst 'DEU=Sie k”nnen den %1 nicht „ndern, da der Beleg eine oder mehrere Zeilen hat.;ENU=You cannot change the %1, because the document has one or more lines.';
      Text002@1000 : TextConst 'DEU=Sie mssen den Benutzer %1 erst als Lagermitarbeiter einrichten.;ENU=You must first set up user %1 as a warehouse employee.';
      WmsManagement@1004 : Codeunit 7302;
      Text003@1005 : TextConst 'DEU=Sie drfen den Lagerortcode %1 nicht verwenden.;ENU=You are not allowed to use location code %1.';
      ItemTrackingMgt@1006 : Codeunit 6500;
      HideValidationDialog@1007 : Boolean;
      Text006@1012 : TextConst 'DEU=Sie haben das Feld %1 im %2 ge„ndert, die vorhandenen Warenausgangszeilen wurden jedoch nicht ge„ndert.\;ENU=You have changed %1 on the %2, but it has not been changed on the existing Warehouse Shipment Lines.\';
      Text007@1009 : TextConst 'DEU=Sie mssen die vorhandenen Warenausgangszeilen manuell aktualisieren.;ENU=You must update the existing Warehouse Shipment Lines manually.';
      Text008@1014 : TextConst 'DEU=Sie haben das %1 ver„ndert.\\M”chten Sie die Zeilen aktualisieren?;ENU=You have modified the %1.\\Do you want to update the lines?';
      Text009@1008 : TextConst 'DEU=Die Artikel wurden kommissioniert. Wenn Sie den Warenausgang l”schen, verbleiben die Artikel im Versandbereich, bis sie eingelagert werden.\Entsprechende Artikelverfolgungsinformationen, die bei der Kommissionierung eingegeben wurden, werden gel”scht.\M”chten Sie den Warenausgang wirklich l”schen?;ENU=The items have been picked. If you delete the warehouse shipment, then the items will remain in the shipping area until you put them away.\Related item tracking information that is defined during the pick will be deleted.\Are you sure that you want to delete the warehouse shipment?';
    PROCEDURE AssistEdit@8(OldWhseShptHeader@1000 : Record 7320) : Boolean;
    VAR
      WhseShptHeader@1001 : Record 7320;
    BEGIN
      WhseSetup.GET;
      WITH WhseShptHeader DO BEGIN
        WhseShptHeader := Rec;
        WhseSetup.TESTFIELD("Whse. Ship Nos.");
        IF NoSeriesMgt.SelectSeries(
             WhseSetup."Whse. Ship Nos.",OldWhseShptHeader."No. Series","No. Series")
        THEN BEGIN
          NoSeriesMgt.SetSeries("No.");
          Rec := WhseShptHeader;
          EXIT(TRUE);
        END;
      END;
    END;
    PROCEDURE SortWhseDoc@3();
    VAR
      WhseShptLine@1001 : Record 7321;
      SequenceNo@1000 : Integer;
    BEGIN
      WhseShptLine.SETRANGE("No.","No.");
      CASE "Sorting Method" OF
        "Sorting Method"::Item:
          WhseShptLine.SETCURRENTKEY("No.","Item No.");
        "Sorting Method"::Document:
          WhseShptLine.SETCURRENTKEY("No.","Source Document","Source No.");
        "Sorting Method"::"Shelf or Bin":
          BEGIN
            GetLocation("Location Code");
            IF Location."Bin Mandatory" THEN
              WhseShptLine.SETCURRENTKEY("No.","Bin Code")
            ELSE
              WhseShptLine.SETCURRENTKEY("No.","Shelf No.");
          END;
        "Sorting Method"::"Due Date":
          WhseShptLine.SETCURRENTKEY("No.","Due Date");
        "Sorting Method"::Destination:
          WhseShptLine.SETCURRENTKEY("No.","Destination Type","Destination No.");
      END;
      IF WhseShptLine.FIND('-') THEN BEGIN
        SequenceNo := 10000;
        REPEAT
          WhseShptLine."Sorting Sequence No." := SequenceNo;
          WhseShptLine.MODIFY;
          SequenceNo := SequenceNo + 10000;
        UNTIL WhseShptLine.NEXT = 0;
      END;
    END;
    PROCEDURE GetDocumentStatus@15(LineNo@1003 : Integer) : Integer;
    VAR
      WhseShptLine@1001 : Record 7321;
    BEGIN
      WhseShptLine.SETRANGE("No.","No.");
      IF LineNo <> 0 THEN
        WhseShptLine.SETFILTER("Line No.",'<>%1',LineNo);
      IF NOT WhseShptLine.FINDFIRST THEN
        EXIT(WhseShptLine.Status::" ");
      WhseShptLine.SETRANGE(Status,WhseShptLine.Status::"Partially Shipped");
      IF WhseShptLine.FINDFIRST THEN
        EXIT(WhseShptLine.Status);
      WhseShptLine.SETRANGE(Status,WhseShptLine.Status::"Partially Picked");
      IF WhseShptLine.FINDFIRST THEN
        EXIT(WhseShptLine.Status);
      WhseShptLine.SETRANGE(Status,WhseShptLine.Status::"Completely Picked");
      IF WhseShptLine.FINDFIRST THEN BEGIN
        WhseShptLine.SETFILTER(Status,'<%1',WhseShptLine.Status::"Completely Picked");
        IF WhseShptLine.FINDFIRST THEN
          EXIT(WhseShptLine.Status::"Partially Picked");
        EXIT(WhseShptLine.Status);
      END;
      WhseShptLine.SETRANGE(Status,WhseShptLine.Status::"Completely Shipped");
      IF WhseShptLine.FINDFIRST THEN BEGIN
        WhseShptLine.SETFILTER(Status,'<%1',WhseShptLine.Status::"Completely Shipped");
        IF WhseShptLine.FINDFIRST THEN
          EXIT(WhseShptLine.Status::"Partially Shipped");
        EXIT(WhseShptLine.Status);
      END;
      EXIT(WhseShptLine.Status);
    END;
    LOCAL PROCEDURE MessageIfShptLinesExist@7(ChangedFieldName@1000 : Text[80]);
    VAR
      WhseShptLine@1001 : Record 7321;
    BEGIN
      WhseShptLine.SETRANGE("No.","No.");
      IF WhseShptLine.FINDFIRST THEN
        IF NOT HideValidationDialog THEN
          MESSAGE(
            STRSUBSTNO(
              Text006,ChangedFieldName,TABLECAPTION) + Text007);
    END;
    LOCAL PROCEDURE GetLocation@10(LocationCode@1000 : Code[10]);
    BEGIN
      IF LocationCode = '' THEN
        Location.GetLocationSetup(LocationCode,Location)
      ELSE
        IF Location.Code <> LocationCode THEN
          Location.GET(LocationCode);
    END;
    PROCEDURE LookupWhseShptHeader@1(VAR WhseShptHeader@1001 : Record 7320) : Boolean;
    BEGIN
      COMMIT;
      IF USERID <> '' THEN BEGIN
        WhseShptHeader.FILTERGROUP := 2;
        WhseShptHeader.SETRANGE("Location Code");
      END;
      IF PAGE.RUNMODAL(0,WhseShptHeader) = ACTION::LookupOK THEN;
      IF USERID <> '' THEN BEGIN
        WhseShptHeader.FILTERGROUP := 2;
        WhseShptHeader.SETRANGE("Location Code",WhseShptHeader."Location Code");
        WhseShptHeader.FILTERGROUP := 0;
      END;
    END;
    PROCEDURE LookupLocation@4(VAR WhseShptHeader@1001 : Record 7320) : Boolean;
    VAR
      Location@1000 : Record 14;
    BEGIN
      COMMIT;
      Location.FILTERGROUP := 2;
      Location.SETRANGE(Code);
      IF PAGE.RUNMODAL(PAGE::"Locations with Warehouse List",Location) = ACTION::LookupOK THEN
        WhseShptHeader.VALIDATE("Location Code",Location.Code);
      Location.FILTERGROUP := 0;
    END;
    PROCEDURE SetHideValidationDialog@14(NewHideValidationDialog@1000 : Boolean);
    BEGIN
      HideValidationDialog := NewHideValidationDialog;
    END;
    PROCEDURE DeleteRelatedLines@5();
    VAR
      WhsePickRqst@1001 : Record 7325;
      WhseComment@1000 : Record 5770;
    BEGIN
      WhsePickRqst.SETRANGE("Document Type",WhsePickRqst."Document Type"::Shipment);
      WhsePickRqst.SETRANGE("Document No.","No.");
      WhsePickRqst.DELETEALL;
      WhseComment.SETRANGE("Table Name",WhseComment."Table Name"::"Whse. Shipment");
      WhseComment.SETRANGE(Type,WhseComment.Type::" ");
      WhseComment.SETRANGE("No.","No.");
      WhseComment.DELETEALL;
    END;
    LOCAL PROCEDURE DeleteWarehouseShipmentLines@6();
    VAR
      WhseShptLine@1001 : Record 7321;
      Confirmed@1002 : Boolean;
    BEGIN
      WhseShptLine.SETRANGE("No.","No.");
      IF WhseShptLine.FIND('-') THEN
        REPEAT
          IF WhseShptLine."Qty. Shipped" < WhseShptLine."Qty. Picked" THEN BEGIN
            IF NOT CONFIRM(Text009) THEN
              ERROR('');
            Confirmed := TRUE;
          END;
        UNTIL (WhseShptLine.NEXT = 0) OR Confirmed;
      ItemTrackingMgt.SetDeleteReservationEntries(Confirmed);
      IF WhseShptLine.FIND('-') THEN
        REPEAT
          IF WhseShptLine."Assemble to Order" THEN
            WhseShptLine.VALIDATE("Qty. to Ship",0);
          ItemTrackingMgt.DeleteWhseItemTrkgLines(DATABASE::"Warehouse Shipment Line",0,WhseShptLine."No.",
            '',0,WhseShptLine."Line No.",WhseShptLine."Location Code",TRUE);
          WhseShptLine.DELETE;
        UNTIL WhseShptLine.NEXT = 0;
    END;
    PROCEDURE FindFirstAllowedRec@2(Which@1000 : Text[1024]) : Boolean;
    VAR
      WhseShptHeader@1001 : Record 7320;
      WMSManagement@1002 : Codeunit 7302;
    BEGIN
      IF FIND(Which) THEN BEGIN
        WhseShptHeader := Rec;
        WHILE TRUE DO BEGIN
          IF WMSManagement.LocationIsAllowedToView("Location Code") THEN
            EXIT(TRUE);
          IF NEXT(1) = 0 THEN BEGIN
            Rec := WhseShptHeader;
            IF FIND(Which) THEN
              WHILE TRUE DO BEGIN
                IF WMSManagement.LocationIsAllowedToView("Location Code") THEN
                  EXIT(TRUE);
                IF NEXT(-1) = 0 THEN
                  EXIT(FALSE);
              END;
          END;
        END;
      END;
      EXIT(FALSE);
    END;
    PROCEDURE FindNextAllowedRec@11(Steps@1000 : Integer) : Integer;
    VAR
      WhseShptHeader@1002 : Record 7320;
      WMSManagement@1001 : Codeunit 7302;
      RealSteps@1003 : Integer;
      NextSteps@1004 : Integer;
    BEGIN
      RealSteps := 0;
      IF Steps <> 0 THEN BEGIN
        WhseShptHeader := Rec;
        REPEAT
          NextSteps := NEXT(Steps / ABS(Steps));
          IF WMSManagement.LocationIsAllowedToView("Location Code") THEN BEGIN
            RealSteps := RealSteps + NextSteps;
            WhseShptHeader := Rec;
          END;
        UNTIL (NextSteps = 0) OR (RealSteps = Steps);
        Rec := WhseShptHeader;
        IF NOT FIND THEN;
      END;
      EXIT(RealSteps);
    END;
    PROCEDURE ErrorIfUserIsNotWhseEmployee@13();
    VAR
      WhseEmployee@1000 : Record 7301;
    BEGIN
      IF USERID <> '' THEN BEGIN
        WhseEmployee.SETRANGE("User ID",USERID);
        IF NOT WhseEmployee.FINDFIRST THEN
          ERROR(Text002,USERID);
      END;
    END;
    BEGIN
    END.
  }
}
25. April 2016 15:26
25. April 2016 15:32
sweikelt hat geschrieben: die macht ein Modify -> aber kein Modify(TRUE);
Somit wird dein Event garnicht abgefeuert
25. April 2016 17:42
Natalie hat geschrieben:sweikelt hat geschrieben: die macht ein Modify -> aber kein Modify(TRUE);
Somit wird dein Event garnicht abgefeuert
Das stimmit nicht; Events werden auch bei MODIFY(FALSE) ausgelöst. Innerhalb der Subscriber-Funktion kannst du dann aber abfragen, ob die Änderung mit TRUE oder FALSE einhergegangen war.