unit PalletScherm; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, DrieKnoppenScherm, Vcl.ActnList, Vcl.StdCtrls, Vcl.ExtCtrls; type TfmPalletScherm = class(TfmDrieKnoppenScherm) lblScanPallet: TLabel; edtPallet: TEdit; Image1: TImage; procedure FormShow(Sender: TObject); procedure actHomeExecute(Sender: TObject); procedure actVolgendeExecute(Sender: TObject); private { Private declarations } public { Public declarations } end; var fmPalletScherm: TfmPalletScherm; implementation uses DnaCodeService; {$R *.dfm} procedure TfmPalletScherm.actHomeExecute(Sender: TObject); begin inherited; // end; procedure TfmPalletScherm.actVolgendeExecute(Sender: TObject); var Service: DnaCodeServiceSoap; fValideerPalletCodeRequest: ValideerPalletCodeRequest; fValideerPalletCodeResponse: ValideerPalletCodeResponse; Header: RequestHeader; fZoekViaPalletCodeRequest: ZoekViaPalletCodeRequest; fZoekViaPalletCodeResponse: ZoekViaPalletCodeResponse; begin Service := DnaCodeService.GetDnaCodeServiceSoap(); // pallet code valideren fValideerPalletCodeRequest := ValideerPalletCodeRequest.Create; Header := RequestHeader.Create; try Header.Initialen := lblGebruiker.Caption; Header.ComputerNaam := ComputerName(); fValideerPalletCodeRequest.Header := Header; fValideerPalletCodeRequest.PalletCode := edtPallet.Text; fValideerPalletCodeResponse := Service.ValideerPalletCode(fValideerPalletCodeRequest); try if fValideerPalletCodeResponse.Header.Status <> '200' then begin Self.ModalResult := mrRetry; ToonPopupScherm(fValideerPalletCodeResponse.Header.Omschrijving, 'Scan opnieuw'); edtPallet.Text := ''; end else begin Self.ModalResult := mrOk; end; finally fValideerPalletCodeResponse.Free; end; finally fValideerPalletCodeRequest.Free; end; //checken of pallet in gebruik is indien het vorige geslaagd is if Self.ModalResult = mrOk then begin fZoekViaPalletCodeRequest := ZoekViaPalletCodeRequest.Create; Header := RequestHeader.Create; try Header.Initialen := lblGebruiker.Caption; Header.ComputerNaam := ComputerName(); fZoekViaPalletCodeRequest.Header := Header; fZoekViaPalletCodeRequest.PalletCode := edtPallet.Text; fZoekViaPalletCodeResponse := Service.ZoekViaPalletCode(fZoekViaPalletCodeRequest); try if fZoekViaPalletCodeResponse.Header.Status = '200' then begin if Length(fZoekViaPalletCodeResponse.DnaCodes) > 0 then begin Self.ModalResult := mrNo; end else begin Self.ModalResult := mrOk; end; end else begin Self.ModalResult := mrRetry; end; finally fZoekViaPalletCodeResponse.Free; end; finally fZoekViaPalletCodeRequest.Free; end; end; end; procedure TfmPalletScherm.FormShow(Sender: TObject); begin btnLinksOnder.Action := nil; btnCentraalOnder.Action := actHome; btnRechtsOnder.Action := actVolgende; edtPallet.Text := ''; ActiveControl := edtPallet; inherited; end; end.