| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateInventorySupply ( | 
|   structured[ProductInStockingPointInPeriod] selection, | 
|   internal[GUIComponent] parent | 
| ) id:Method_DialogCreateEditInventorySupply_CreateInventorySupply_676 | 
| { | 
|   #keys: '[124808.0.458558795]' | 
|   Body: | 
|   [* | 
|     // Create inventory supply from PISPIP | 
|     ValueHolderIsBatchEdit.Value( [String] false ); | 
|     Dialog.ShowHideComponentForBatchEdit( false ); | 
|      | 
|     data := null( shadow[InventorySupply] ); | 
|      | 
|     feedback := ''; | 
|     id := MacroPlan.IDHolder().GetInventorySupplyID(); | 
|     stockingpoint := null( StockingPoint_MP ); | 
|     owner := InventorySupply::GetDefaultOwner( MacroPlan, stockingpoint ); | 
|     // directly trying to use StartOfPlanningPeriod.StartDate could give errors | 
|     // if none of the periods are used for planning. Thus, added a guard and a local variable. | 
|     startOfPlanningPeriod := MacroPlan.StartOfPlanningPeriod(); | 
|     date := guard( startOfPlanningPeriod.StartDate(), Date::MinDate() ); | 
|     min_mfgdate := date; | 
|      | 
|     if( not isnull( selection ) and InventorySupply::CanCreate( feedback, selection ) ) | 
|     { | 
|       pispip := selection.Element( 0 ); | 
|       owner := pispip.ProductInStockingPoint_MP().Product_MP(); | 
|       stockingpoint := pispip.ProductInStockingPoint_MP().StockingPoint_MP(); | 
|       date := selection.Element( 0 ).Start().Date(); | 
|       min_mfgdate := date; | 
|     } | 
|      | 
|     data := owner.InventorySupply( relshadow, | 
|                                    ID := id, | 
|                                    StockingPoint_MP := stockingpoint, | 
|                                    Date := date, | 
|                                    ManufacturedDate := min_mfgdate ); | 
|                                       | 
|     Dialog.Data( data ); | 
|     result := this.DoModal( parent ); | 
|      | 
|     if ( result > 0 ) | 
|     {                                                                                                             | 
|       //if manufactured date is restricted, default it to date of inv supply | 
|       data.ManufacturedDate( this.GetManufacturedDateWithUIRestriction( data.ManufacturedDate(), data.Date() ) ); | 
|       data.Commit(); | 
|     } | 
|   *] | 
| } |