| Quintiq file version 2.0 | 
| #parent: #root | 
| Method RetrieveBookmark ( | 
|   Bookmark bookmark | 
| ) id:Method_FormNavigationPanel_RetrieveBookmark | 
| { | 
|   #keys: '[137818.0.125566862]' | 
|   Body: | 
|   [* | 
|     // Retrieve the selection in bookmark | 
|     //Clear the list selction before retrieve bookmark | 
|     Form.ClearAllNavSelection(); | 
|      | 
|     entities := construct( Entitys ); | 
|     units := bookmark.GetUnits( MacroPlan ); | 
|     stockingpoints := bookmark.GetStockingPoints( MacroPlan ); | 
|     products := bookmark.GetProducts( MacroPlan ); | 
|     salesSegments := bookmark.GetSalesSegments( MacroPlan ); | 
|     entities := entities.Union( units ); | 
|     entities := entities.Union( stockingpoints ); | 
|     DataHolderOpenedBookmark.Data( bookmark ); | 
|      | 
|     // Workaround: List is not checked when collapsed, (-1) to expand all.  | 
|     ListEntity.ExpandAll( -1 ); | 
|     ListProduct.ExpandAll( -1 ); | 
|     ListSalesSegment.ExpandAll( -1 ); | 
|      | 
|     traverse( entities, Elements, entity ) | 
|     { | 
|       ListEntity.ExtendCheckByKey( entity.Key() );   | 
|     } | 
|     traverse( products, Elements, product ) | 
|     { | 
|       ListProduct.ExtendCheckByKey( product.Key() ); | 
|     } | 
|     traverse( salesSegments, Elements, salessegment ) | 
|     { | 
|       ListSalesSegment.ExtendCheckByKey( salessegment.Key() );   | 
|     } | 
|      | 
|     // Populate DH with to include leaf descendants of the checked item | 
|     allentities := selectset( entities, Elements, e, true ) | 
|                             .Union( selectset( entities, Elements.astype( Unit ).AllChildren.AsChildren, e, true) ) | 
|                             .Union( selectset( entities, Elements.astype( Unit ).AllChildren.AsChildren.StockingPoint_MP, e, not e.IsSystem() ) ); | 
|      | 
|     allproducts := selectset( products, Elements.AllChildren.AsChildren, product, true ); | 
|     allsalessegment := selectset( salesSegments, Elements.AllChildren.AsChildren, ss, true ); | 
|      | 
|     // Update dataholders data | 
|     DataHolderCheckedEntities.Data( &allentities ); | 
|     DataHolderCheckedProduct.Data( &allproducts ); | 
|     DataHolderCheckedSalesSegment.Data( &allsalessegment ); | 
|   *] | 
| } |