Index: ProScan/UI/OnderdelenScherm.pas =================================================================== diff -u -r677 -r678 --- ProScan/UI/OnderdelenScherm.pas (.../OnderdelenScherm.pas) (revision 677) +++ ProScan/UI/OnderdelenScherm.pas (.../OnderdelenScherm.pas) (revision 678) @@ -15,14 +15,11 @@ procedure FormShow(Sender: TObject); procedure actHomeExecute(Sender: TObject); procedure actVolgendeExecute(Sender: TObject); + procedure GenereerTbpCodeVoorOnderdelen; procedure edtToeleveringKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); - procedure btnGenereerTbpClick(Sender: TObject); procedure FormActivate(Sender: TObject); private - procedure SetContext; - procedure SetModus(GescandeInput: string); - function ValideerPalletCode(GescandeInput: string): boolean; public { Public declarations } end; @@ -33,7 +30,7 @@ implementation uses - UiContext, Agent, ProScanMain, StrUtils, CommonFunctions; + DnaCodeService, UiContext, Agent, ProScanMain, StrUtils, CommonFunctions; {$R *.dfm} @@ -47,18 +44,53 @@ procedure TfmOnderdelenScherm.actVolgendeExecute(Sender: TObject); var fAgent: TAgent; + fZoekViaToeleveringResponse: ZoekViaToeleveringResponse; begin Self.ModalResult := mrDnaCode; + fAgent := TAgent.Create(UiContext); + fZoekViaToeleveringResponse := fAgent.ZoekViaToelevering(edtToelevering.Text); + fAgent.Free; + try + if fZoekViaToeleveringResponse.Header.Status = '200' then begin + UiContext.Toelevering := edtToelevering.Text; + GenereerTbpCodeVoorOnderdelen; + end; + finally; + fZoekViaToeleveringResponse.Free; + end; + PostMessage(Self.Handle,WM_Close,0,0); (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(Self.ModalResult); end; +procedure TfmOnderdelenScherm.GenereerTbpCodeVoorOnderdelen; +var + fGeefVolgendeTbpCodeResponse: GeefVolgendeTbpCodeResponse; + fTbpCode: string; + fAgent: TAgent; +begin + inherited; + fAgent := TAgent.Create(UiContext); + fGeefVolgendeTbpCodeResponse := fAgent.GeefVolgendeTbpCode('', ''); + fAgent.Free; + try + if fGeefVolgendeTbpCodeResponse.Header.Status = '200' then begin + UiContext.Pallet := fGeefVolgendeTbpCodeResponse.VolgendeTbpCode; + end else begin + Self.ModalResult := mrOnderdelen; + ToonPopupScherm(fGeefVolgendeTbpCodeResponse.Header.Omschrijving, 'Probeer opnieuw'); + fTbpCode := ''; + end; + finally + fGeefVolgendeTbpCodeResponse.Free; + end; +end; + procedure TfmOnderdelenScherm.edtToeleveringKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin inherited; - SetContext; if Key = VK_RETURN then begin actVolgende.Execute; Key := 0; @@ -78,7 +110,6 @@ btnRechtsOnder.Action := actVolgende; edtToelevering.Text := ''; edtToelevering.SetFocus; - SetContext; inherited; end;