Index: ProScan/UI/DnaCodeScherm.pas =================================================================== diff -u -r486 -r489 --- ProScan/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 486) +++ ProScan/UI/DnaCodeScherm.pas (.../DnaCodeScherm.pas) (revision 489) @@ -40,6 +40,7 @@ procedure ToeleveringDataOphalen(); procedure VhossDataOphalen(); procedure VerwerkMogelijkePopups(DnaCodes: ArrayofDnaCodeDnaCode; Toelevering: String); + function BepaalIndexEersteRelevanteDnaCode(DnaCodes: ArrayofDnaCodeDnaCode; Toelevering: String): integer; function BepaalAantalLadesOpHuidigePallet: integer; function BepaalDirecteLevering: boolean; procedure PalletBijwerken(Status: DnaCodeStatus; IsDirecteLevering: boolean); @@ -261,6 +262,24 @@ end; end; +function TfmDnaCodeScherm.BepaalIndexEersteRelevanteDnaCode( + DnaCodes: ArrayofDnaCodeDnaCode; Toelevering: String): integer; +var + fArrayTeller: integer; + fResultaat: integer; +begin + fArrayTeller := 0; + fResultaat := 0; + while fArrayTeller < length(DnaCodes) do begin + if DnaCodes[fArrayTeller].Toelevering = Toelevering then begin + fResultaat := fArrayTeller; + break; + end; + fArrayTeller := fArrayTeller + 1; + end; + result := fResultaat; +end; + procedure TfmDnaCodeScherm.btnInfoClick(Sender: TObject); begin inherited; @@ -466,23 +485,25 @@ fBewerkKlantinstellingenResponse: BewerkKlantinstellingenResponse; ii: integer; fAgent: TAgent; + fIndexEersteRelevanteDnaCode: integer; begin if UiContext.Modus = modusDefault then begin - if DnaCodes[0].IsDirecteLevering then begin + fIndexEersteRelevanteDnaCode := BepaalIndexEersteRelevanteDnaCode(DnaCodes, Toelevering); + if DnaCodes[fIndexEersteRelevanteDnaCode].IsDirecteLevering then begin if not UiContext.IsDirecteLeveringPopupGetoond then begin ToonPopupScherm('Directe levering', 'OK','',15,-1,-1,clBlue); UiContext.IsDirecteLeveringPopupGetoond := true; end; end; - imgDirecteLevering.Visible := DnaCodes[0].IsDirecteLevering; + imgDirecteLevering.Visible := DnaCodes[fIndexEersteRelevanteDnaCode].IsDirecteLevering; - if DnaCodes[0].IsWegwerpPallet then begin + if DnaCodes[fIndexEersteRelevanteDnaCode].IsWegwerpPallet then begin if not UiContext.IsWegwerpPalletPopupGetoond then begin ToonPopupScherm('Wegwerppallet', 'OK','',16,-1,-1,clYellow); UiContext.IsWegwerpPalletPopupGetoond := true; end; end; - imgWegwerpPallet.Visible := DnaCodes[0].IsWegwerpPallet; + imgWegwerpPallet.Visible := DnaCodes[fIndexEersteRelevanteDnaCode].IsWegwerpPallet; ii := 0; if not UiContext.IsExportPopupGetoond then begin @@ -491,7 +512,7 @@ fBewerkKlantinstellingenResponse := fAgent.BewerkKlantinstellingen('List','',false, false, false); fAgent.Free; while ii <= length(fBewerkKlantinstellingenResponse.Klantinstellingen)-1 do begin - if fBewerkKlantinstellingenResponse.Klantinstellingen[ii].KlantId = DnaCodes[0].KlantNummer then begin + if fBewerkKlantinstellingenResponse.Klantinstellingen[ii].KlantId = DnaCodes[fIndexEersteRelevanteDnaCode].KlantNummer then begin if fBewerkKlantinstellingenResponse.Klantinstellingen[ii].IsExport then begin ToonPopupScherm('Export', 'OK','',21,-1,-1,clRed); UiContext.IsExportPopupGetoond := true;