Index: ProScan/UI/HernoemPalletScherm.pas =================================================================== diff -u -r518 -r523 --- ProScan/UI/HernoemPalletScherm.pas (.../HernoemPalletScherm.pas) (revision 518) +++ ProScan/UI/HernoemPalletScherm.pas (.../HernoemPalletScherm.pas) (revision 523) @@ -45,6 +45,7 @@ procedure GridLeegmaken; function HernoemPallet(OudeCode, NieuweCode: string): HernoemPalletResponse; function CheckBestaandeDnaCode(Code: string): boolean; + function GeefPalletCodeVanDnaCode(Code: string): string; public { Public declarations } end; @@ -96,7 +97,7 @@ if StartsText('K',edtOudeCode.Text) and not (TCommonFunctions.IsKaderdeurLocatie(edtNieuweCode.Text)) then begin ToonPopupScherm('Hier moet een kaderdeurlocatie ingescand worden.','Probeer opnieuw',''); edtNieuweCode.Text := ''; - end else if StartsText('O1',edtOudeCode.Text) and not (TCommonFunctions.IsFrameId(edtNieuweCode.Text)) then begin + end else if not (TCommonFunctions.IsFrameId(edtNieuweCode.Text)) and (StartsText('O1',edtOudeCode.Text) or TCommonFunctions.IsFrameId(GeefPalletCodeVanDnaCode(edtOudeCode.Text))) then begin ToonPopupScherm('Hier moet een Vhosskast ingescand worden.','Probeer opnieuw',''); edtNieuweCode.Text := ''; end else begin @@ -156,6 +157,29 @@ end; end; +function TfmHernoemPalletScherm.GeefPalletCodeVanDnaCode(Code: string): string; +var + Response: ZoekViaDnaCodeResponse; + fAgent: TAgent; +begin + fAgent := TAgent.Create(UiContext); + Response := fAgent.ZoekViaDnaCode(Code); + fAgent.Free; + try + if Response.Header.Status <> '200' then begin + result := '' + end else begin + if Assigned(Response.DnaCodes) then begin + result := Response.DnaCodes.PalletCode + end else begin + result := '' + end; + end; + finally + Response.Free; + end; +end; + procedure TfmHernoemPalletScherm.edtNieuweCodeKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState); begin