Index: AAPClient/UI/BestaandePalletScherm.pas =================================================================== diff -u -r153 -r205 --- AAPClient/UI/BestaandePalletScherm.pas (.../BestaandePalletScherm.pas) (revision 153) +++ AAPClient/UI/BestaandePalletScherm.pas (.../BestaandePalletScherm.pas) (revision 205) @@ -32,7 +32,7 @@ procedure imgExtraToeleveringClick(Sender: TObject); procedure imgRechtsOnderClick(Sender: TObject); private - { Private declarations } + function BepaalAantalToeleveringenOpPallet(PalletCode: string): integer; public { Public declarations } end; @@ -43,7 +43,7 @@ implementation uses - UiContext; + UiContext, DnaCodeService, Agent; {$R *.dfm} @@ -105,7 +105,42 @@ procedure TfmBestaandePalletScherm.imgReworkClick(Sender: TObject); begin inherited; + if (BepaalAantalToeleveringenOpPallet(UiContext.Pallet) = 1) then begin + UiContext.Toelevering := TAgent.Create(UiContext).ZoekViaPalletCode(UiContext.Pallet).DnaCodes[0].Toelevering; + end else if (BepaalAantalToeleveringenOpPallet(UiContext.Pallet) > 1) then begin + UiContext.Toelevering := ''; + + end; + Self.ModalResult := mrDnaCode; end; +function TfmBestaandePalletScherm.BepaalAantalToeleveringenOpPallet( + PalletCode: string): integer; +var + Response: ZoekViaPalletCodeResponse; + DnaCodeTeller: integer; + ToeleveringStringList: TStringList; +begin + Response := TAgent.Create(UiContext).ZoekViaPalletCode(UiContext.Pallet); + DnaCodeTeller := 0; + try + if Response.Header.Status = '200' then begin + ToeleveringStringList := TStringList.Create; + ToeleveringStringList.Sorted := true; + ToeleveringStringList.Duplicates := dupIgnore; + while DnaCodeTeller < length(Response.DnaCodes) do begin + ToeleveringStringList.Add(Response.DnaCodes[DnaCodeTeller].Toelevering); + DnaCodeTeller := DnaCodeTeller + 1; + end; + result := ToeleveringStringList.Count; + end else begin + ToonPopupScherm(Response.Header.Omschrijving, 'Probeer opnieuw',''); + result := -1; + end; + finally + Response.Free; + end; +end; + end.