Index: VerpakkingsDefinitie/UI/ZoekProductenScherm.pas =================================================================== diff -u -r593 -r637 --- VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 593) +++ VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 637) @@ -52,10 +52,16 @@ procedure EditReferentieChange(Sender: TObject); procedure EditZoekTekstChange(Sender: TObject); procedure ButtonZoekTekstClick(Sender: TObject); + procedure EditZoekKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); private FProductsAgent: TProductsAgent; - procedure VerwerkOpzoeking(); procedure ComboBoxBeperkUpdatet(ComboBox: TComboBox; EditText: TEdit); + procedure ZoekViaKortTekst(); + procedure ZoekIdentNr(); + procedure ZoekLeveranciersReferentie(); + procedure ZoekTekst(); + procedure VerwerkOpzoeking(); public Constructor Create(AOwner: TComponent; Navigator: INavigator; ApplicationContext: TApplicationContext; ProductAgent: TProductsAgent); @@ -86,6 +92,8 @@ ComboBoxBeperkUpdatet(ComboBoxBeperkTekst, EditBeperkTekst); end; +// Combo boxen + procedure TFormZoekProducten.ComboBoxBeperkKortTekstChange(Sender: TObject); begin ComboBoxBeperkUpdatet(ComboBoxBeperkKortTekst, EditBeperkKortTekst); @@ -109,6 +117,8 @@ raise Exception.Create('Ongeldige waarde geselecteerd'); end; +// Edit change events + procedure TFormZoekProducten.EditZoekKortTekstChange(Sender: TObject); begin ButtonZoekViaKortTekst.Enabled := (Sender as TEdit).text <> EmptyStr; @@ -129,12 +139,97 @@ ButtonZoekTekst.Enabled := (Sender as TEdit).text <> EmptyStr; end; +// Vang 'enter' bij invoer en zoek op + +procedure TFormZoekProducten.EditZoekKeyDown(Sender: TObject; + var Key: Word; Shift: TShiftState); +var + EditControl: TEdit; +begin + inherited; + if ord(Key) = VK_RETURN then + begin + Key := 0; + + EditControl := Sender as TEdit; + if (EditControl.Name = EditZoekKortTekst.Name) or (EditControl.Name = EditBeperkKortTekst.Name) then + ZoekViaKortTekst() + else if EditControl.Name = EditZoekIdentNr.Name then + ZoekIdentNr() + else if (EditControl.Name = EditZoekReferentie.Name) or (EditControl.Name = EditKlantNrReferentie.Name) then + ZoekLeveranciersReferentie() + else if (EditControl.Name = EditZoekTekst.Name) or (EditControl.Name = EditBeperkTekst.Name) then + ZoekTekst() + end; +end; + +// Button zoek events + procedure TFormZoekProducten.ButtonZoekViaKortTekstClick(Sender: TObject); +begin + ZoekViaKortTekst(); +end; + +procedure TFormZoekProducten.ButtonZoekIdentNrClick(Sender: TObject); +begin + // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); + FProductsAgent.ZoekOp(ApplicationContext.UserContext, ApplicationContext.ProductsContext, TZoekMethode.IdentificatieNr, + EditZoekIdentNr.text, '', '', '', ''); + + VerwerkOpzoeking(); +end; + +procedure TFormZoekProducten.ButtonZoekLeveranciersReferentieClick(Sender: TObject); var + StockType: string; +begin + // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); + if ComboBoxStockTypeReferentie.Items[ComboBoxStockTypeReferentie.ItemIndex] = '--Niet gespecifieerd--' then + StockType := '' + else + StockType := ComboBoxStockTypeReferentie.Items[ComboBoxStockTypeReferentie.ItemIndex]; + + FProductsAgent.ZoekOp(ApplicationContext.UserContext, ApplicationContext.ProductsContext, TZoekMethode.LeveranciersRef, + EditZoekReferentie.text, EditKlantNrReferentie.text, '', StockType, ''); + + VerwerkOpzoeking(); +end; + +procedure TFormZoekProducten.ButtonZoekTekstClick(Sender: TObject); +var + Taal: string; KlantNummer: string; LeveranciersNummer: string; begin + // Taal bepalen + if ComboBoxTaalTekst.Items[ComboBoxTaalTekst.ItemIndex] = '--Niet gespecifieerd--' then + Taal := '' + else + Taal := ComboBoxTaalTekst.Items[ComboBoxTaalTekst.ItemIndex]; + // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); + if ComboBoxBeperkTekst.Items[ComboBoxBeperkTekst.ItemIndex] = 'Klant nummer' then + KlantNummer := EditBeperkTekst.text + else if ComboBoxBeperkTekst.Items[ComboBoxBeperkTekst.ItemIndex] = 'Leveranciers nummer' then + LeveranciersNummer := EditBeperkTekst.text + else if ComboBoxBeperkTekst.Items[ComboBoxBeperkTekst.ItemIndex] = '--Geen beperking--' then + else + raise Exception.Create('Ongeldige waarde geselecteerd'); + + FProductsAgent.ZoekOp(ApplicationContext.UserContext, ApplicationContext.ProductsContext, TZoekMethode.Tekst, + EditZoekTekst.text, KlantNummer, LeveranciersNummer, '', Taal); + + VerwerkOpzoeking(); +end; + +// Corresponderende 'zoek' functies + +procedure TFormZoekProducten.ZoekViaKortTekst(); +var + KlantNummer: string; + LeveranciersNummer: string; +begin + // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); KlantNummer := ''; LeveranciersNummer := ''; if ComboBoxBeperkKortTekst.Items[ComboBoxBeperkKortTekst.ItemIndex] = 'Klant nummer' then @@ -151,7 +246,7 @@ VerwerkOpzoeking(); end; -procedure TFormZoekProducten.ButtonZoekIdentNrClick(Sender: TObject); +procedure TFormZoekProducten.ZoekIdentNr(); begin // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); FProductsAgent.ZoekOp(ApplicationContext.UserContext, ApplicationContext.ProductsContext, TZoekMethode.IdentificatieNr, @@ -160,7 +255,7 @@ VerwerkOpzoeking(); end; -procedure TFormZoekProducten.ButtonZoekLeveranciersReferentieClick(Sender: TObject); +procedure TFormZoekProducten.ZoekLeveranciersReferentie(); var StockType: string; begin @@ -176,7 +271,7 @@ VerwerkOpzoeking(); end; -procedure TFormZoekProducten.ButtonZoekTekstClick(Sender: TObject); +procedure TFormZoekProducten.ZoekTekst(); var Taal: string; KlantNummer: string;