Index: ProScan/UI/DnaCodeScherm.pas =================================================================== diff -u -r519 -r520 --- ProScan/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 519) +++ ProScan/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 520) @@ -50,6 +50,7 @@ procedure RondAfKaderdeurDag(); procedure RondAfVhossBatch(); procedure ZetAfrondActieStatus(actief: boolean); + function GeefJuisteToelevering(fDnaCodeAfmeldenResponse: DnaCodeAfmeldenResponse; fDnaCode: string): string; public end; @@ -360,7 +361,7 @@ ExtractStrings([':'], [], PChar(Response.Header.Status), List); case strtoint(List[0]) of 200: begin - UiContext.Toelevering := Response.DnaCodes[0].Toelevering; + UiContext.Toelevering := GeefJuisteToelevering(Response, edtDnaCode.Text); UiContext.BatchId := Response.DnaCodes[0].BatchId; lblAantalGescand.Caption := IntToStr(Response.AantalReedsGescand); lblTotaalAantal.Caption := IntToStr(Response.AantalInToelevering); @@ -388,6 +389,20 @@ (Self.Parent.Parent As TfmProScanHoofdscherm).NavigeerNaar(Self.ModalResult); end; +function TfmDnaCodeScherm.GeefJuisteToelevering(fDnaCodeAfmeldenResponse: DnaCodeAfmeldenResponse; fDnaCode: string): string; +var + fDnaCodeTeller: integer; +begin + result := fDnaCodeAfmeldenResponse.DnaCodes[0].Toelevering; + fDnaCodeTeller := 0; + while fDnaCodeTeller < length(fDnaCodeAfmeldenResponse.DnaCodes) do begin + if (fDnaCodeAfmeldenResponse.DnaCodes[fDnaCodeTeller].DnaCode = fDnaCode) then + result := fDnaCodeAfmeldenResponse.DnaCodes[fDnaCodeTeller].Toelevering; + + fDnaCodeTeller := fDnaCodeTeller + 1; + end; +end; + procedure TfmDnaCodeScherm.PalletBijwerken(Status: DnaCodeStatus; IsDirecteLevering: boolean); var