Index: VerpakkingsDefinitie/UI/ZoekProductenScherm.dfm =================================================================== diff -u -r573 -r574 --- VerpakkingsDefinitie/UI/ZoekProductenScherm.dfm (.../ZoekProductenScherm.dfm) (revision 573) +++ VerpakkingsDefinitie/UI/ZoekProductenScherm.dfm (.../ZoekProductenScherm.dfm) (revision 574) @@ -33,8 +33,7 @@ ParentFont = False TabOrder = 0 object TabSheetKortTekst: TTabSheet - Caption = 'Kort tekst' - ExplicitHeight = 144 + Caption = '(K) Kort tekst' object Label1: TLabel Left = 3 Top = 10 @@ -95,9 +94,8 @@ end end object TabSheetIdentificatieNr: TTabSheet - Caption = 'Identificatie nr' + Caption = '(I) Identificatie nr' ImageIndex = 1 - ExplicitHeight = 144 object Label3: TLabel Left = 3 Top = 10 @@ -131,9 +129,8 @@ end end object TabSheetLeveranciersRef: TTabSheet - Caption = 'Leveranciers ref' + Caption = '(R) Leveranciers ref' ImageIndex = 2 - ExplicitHeight = 144 object Label4: TLabel Left = 3 Top = 10 @@ -202,7 +199,7 @@ end end object TabSheetTekst: TTabSheet - Caption = 'Tekst' + Caption = '(T) Tekst' ImageIndex = 3 object Label7: TLabel Left = 3 Index: VerpakkingsDefinitie/WS/ProductsAgent.pas =================================================================== diff -u -r570 -r574 --- VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 570) +++ VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 574) @@ -13,6 +13,8 @@ OPTI_SERVER_URL = 'http://cacheaccept2010:57772/csp/dev1/WS.Prod.OptiBox.OptiServer.CLS'; type + TZoekMethode = (KortTekst, IdentificatieNr, LeveranciersRef, Tekst); + TProductsAgent = class private FSelectServerSoap: SelectService.ProdSelectServerSoap; @@ -28,8 +30,8 @@ ProductDetailContext: TProductDetailContext): string; public Constructor Create(); - procedure ZoekOpMetKortTekst(Zoek: string; KLNr: string; At: string; UserContext: TUserContext; - ProductsContext: TProductsContext); + procedure ZoekOp(UserContext: TUserContext; ProductsContext: TProductsContext; Zoekmethode: TZoekMethode; Zoek: string; + KLNr: string; LevNr: string; StockType: string; Taal: string); procedure ZoekProductDataMetProductNr(ProductNr: Integer; UserContext: TUserContext; ProductDetailContext: TProductDetailContext); end; @@ -45,22 +47,40 @@ FOptiBoxServerSoap := OptiServerService.GetOptiBoxServerSoap(false, OPTI_SERVER_URL, nil); end; -procedure TProductsAgent.ZoekOpMetKortTekst(Zoek: string; KLNr: string; At: string; UserContext: TUserContext; - ProductsContext: TProductsContext); +procedure TProductsAgent.ZoekOp(UserContext: TUserContext; ProductsContext: TProductsContext; Zoekmethode: TZoekMethode; + Zoek: string; KLNr: string; LevNr: string; StockType: string; Taal: string); var ZoekData: SelectService.Select; ZoekCriteria: SelectService.pxSelectCriteria; // Property van ZoekData SelectResponseObj: SelectService.SelectResponse; + At: string; begin + // At bepalen + case Zoekmethode of + KortTekst: + At := 'K'; + IdentificatieNr: + At := 'I'; + LeveranciersRef: + At := 'R'; + Tekst: + At := 'T'; + else + raise Exception.Create('Ongeldige zoekmethode'); + end; + ZoekData := nil; try // Request ZoekData := SelectService.Select.Create(); ZoekCriteria := SelectService.pxSelectCriteria.Create(); ZoekData.SessionKey := UserContext.SessionKey; - ZoekCriteria.KLNr := KLNr; ZoekCriteria.Zoek := Zoek; ZoekCriteria.At := At; + ZoekCriteria.KLNr := KLNr; + ZoekCriteria.LevNr := LevNr; + ZoekCriteria.StockType := StockType; + ZoekCriteria.SubAt := Taal; ZoekCriteria.FormatCompact := 'KortTekst;IdentNr;StockType'; ZoekCriteria.FormatExpand := 'KortTekst;IdentNr;StockType;LangTekstN'; ZoekData.Criteria := ZoekCriteria; Index: VerpakkingsDefinitie/UI/ZoekProductenScherm.pas =================================================================== diff -u -r573 -r574 --- VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 573) +++ VerpakkingsDefinitie/UI/ZoekProductenScherm.pas (.../ZoekProductenScherm.pas) (revision 574) @@ -53,7 +53,7 @@ procedure EditZoekTekstChange(Sender: TObject); procedure ButtonZoekTekstClick(Sender: TObject); private - FProductAgent: TProductsAgent; + FProductsAgent: TProductsAgent; procedure VerwerkOpzoeking(); procedure ComboBoxBeperkUpdatet(ComboBox: TComboBox; EditText: TEdit); public @@ -69,7 +69,7 @@ ProductAgent: TProductsAgent); begin inherited Create(AOwner, Navigator, ApplicationContext); - self.FProductAgent := ProductAgent; + self.FProductsAgent := ProductAgent; end; procedure TFormZoekProducten.FormCreate(Sender: TObject); @@ -133,26 +133,76 @@ end; procedure TFormZoekProducten.ButtonZoekViaKortTekstClick(Sender: TObject); +var + KlantNummer: string; + LeveranciersNummer: string; begin - { TODO -cZoekProductenScherm : Opzoeken via korttekst } + // ZoekOp(UserContext; ProductsContext; Zoekmethode; Zoek; KLNr; LevNr; StockType; Taal); + KlantNummer := ''; + LeveranciersNummer := ''; + if ComboBoxBeperkKortTekst.Items[ComboBoxBeperkKortTekst.ItemIndex] = 'Klant nummer' then + KlantNummer := EditBeperkKortTekst.text + else if ComboBoxBeperkKortTekst.Items[ComboBoxBeperkKortTekst.ItemIndex] = 'Leveranciers nummer' then + LeveranciersNummer := EditBeperkKortTekst.text + else if ComboBoxBeperkKortTekst.Items[ComboBoxBeperkKortTekst.ItemIndex] = '--Geen beperking--' then + else + raise Exception.Create('Ongeldige waarde geselecteerd'); + + FProductsAgent.ZoekOp(ApplicationContext.UserContext, ApplicationContext.ProductsContext, TZoekMethode.KortTekst, + EditZoekKortTekst.text, KlantNummer, LeveranciersNummer, '', ''); + VerwerkOpzoeking(); end; procedure TFormZoekProducten.ButtonZoekIdentNrClick(Sender: TObject); begin - { TODO -cZoekProductenScherm : Opzoeken via identnr } + // 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 - { TODO -cZoekProductenScherm : Opzoeken via leveranciers referentie } + // 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 - { TODO -cZoekProductenScherm : Opzoeken via tekst } + // 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;