Index: VerpakkingsDefinitie/WS/ProductsAgent.pas =================================================================== diff -u -r585 -r586 --- VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 585) +++ VerpakkingsDefinitie/WS/ProductsAgent.pas (.../ProductsAgent.pas) (revision 586) @@ -85,9 +85,9 @@ pxStatusObj: OptiServerService.pxStatus); begin // Andere velden leegmaken - UiInstellingenContext.Positie.Clear(); + UiInstellingenContext.Posities.Clear(); UiInstellingenContext.Plaatsing.Clear(); - UiInstellingenContext.Richting.Clear(); + UiInstellingenContext.Richtingen.Clear(); UiInstellingenContext.IsOK := pxStatusObj.IsOK; UiInstellingenContext.ErrorMessage := pxStatusObj.Message_; @@ -116,39 +116,46 @@ var Node: IXMLNode; I: Integer; + KeyStr: string; begin // Ander velden leegmaken UiInstellingenContext.IsOK := True; UiInstellingenContext.ErrorMessage := ''; UiInstellingenContext.InternalErrorMessage := ''; - UiInstellingenContext.Positie.Clear(); + UiInstellingenContext.Posities.Clear(); if Instellingen.Positie <> nil then begin for I := 0 to Instellingen.Positie.Count - 1 do begin Node := Instellingen.Positie[I]; - UiInstellingenContext.Positie.Add(Node.GetAttributeNS('Key', ''), Node.Text); + KeyStr := Node.GetAttributeNS('Key', ''); + UiInstellingenContext.Posities.Add(KeyStr, Node.Text); + UiInstellingenContext.PositiesByValue.Add(Node.Text, KeyStr); end; end; UiInstellingenContext.Plaatsing.Clear(); - if Instellingen.Positie <> nil then + if Instellingen.Plaatsing <> nil then begin for I := 0 to Instellingen.Plaatsing.Count - 1 do begin Node := Instellingen.Plaatsing[I]; - UiInstellingenContext.Plaatsing.Add(Node.GetAttributeNS('Key', ''), Node.Text); + KeyStr := Node.GetAttributeNS('Key', ''); + UiInstellingenContext.Plaatsing.Add(KeyStr, Node.Text); + UiInstellingenContext.PlaatsingByValue.Add(Node.Text, KeyStr); end; end; - UiInstellingenContext.Richting.Clear(); - if Instellingen.Positie <> nil then + UiInstellingenContext.Richtingen.Clear(); + if Instellingen.Richting <> nil then begin for I := 0 to Instellingen.Richting.Count - 1 do begin Node := Instellingen.Richting[I]; - UiInstellingenContext.Richting.Add(Node.GetAttributeNS('Key', ''), Node.Text); + KeyStr := Node.GetAttributeNS('Key', ''); + UiInstellingenContext.Richtingen.Add(KeyStr, Node.Text); + UiInstellingenContext.RichtingenByValue.Add(Node.Text, KeyStr); end; end; @@ -460,7 +467,6 @@ begin RawData := pxBoxDataObj; ID := pxBoxDataObj.ID; - MetaCaption := pxBoxDataObj.MetaCaption; CutOrder := pxBoxDataObj.CutOrder; Breedte := pxBoxDataObj.Breedte; DefaultBreedte := pxBoxDataObj.DefaultData.Breedte; @@ -471,10 +477,16 @@ Aantal := pxBoxDataObj.Aantal; MaxCombinAantal := pxBoxDataObj.MaxCombinAantal; Plaatsing := pxBoxDataObj.Plaatsing; - Positie := pxBoxDataObj.Positie; - Richting := pxBoxDataObj.Rotatie; + Posities.AddRange(SplitString(pxBoxDataObj.Positie, '')); + DefaultPosities.AddRange(SplitString(pxBoxDataObj.DefaultData.Positie, ';')); + Richtingen.AddRange(SplitString(pxBoxDataObj.Rotatie, '')); + DefaultRichtingen.AddRange(SplitString(pxBoxDataObj.DefaultData.Rotatie, ';')); + DeelVanID := pxBoxDataObj.DeelVanID; + DeelVanCaption := pxBoxDataObj.DeelVanCaption; + + MetaCaption := pxBoxDataObj.MetaCaption; end; ProductDetailContext.ProductVerpakkingen.Add(Verpakking);