| Quintiq file version 2.0 | 
| #parent: #root | 
| Method CreateActualPISPIP ( | 
|   internal[GUIComponent] parent, | 
|   ProductInStockingPointInPeriod selectedpispip | 
| ) as ActualProductInStockingPointInPeriod id:Method_DialogCreateEditActualPISPIP_CreateActualPISPIP | 
| { | 
|   #keys: '[137118.0.315917565]' | 
|   Body: | 
|   [* | 
|     // Create from actual pispip list | 
|     // Assign values/relations to ActualPISPIP to populate the dialog | 
|     pispip := selectedpispip; | 
|     pisp := selectedpispip.ProductInStockingPoint_MP(); | 
|     product := pisp.Product_MP(); | 
|     stockingpoint := pisp.StockingPoint_MP(); | 
|     actualdate := pispip.Period_MP().EndDate() - 1; // Default actual date will be the latest date for actual in the period (period's enddate - 1) | 
|     manufactureDate := ifexpr( guard( product.HasShelfLifeOrMaturation(), false ),  | 
|                                    ActualProductInStockingPointInPeriod::GetMinimumManufacturedDate( product, stockingpoint,actualdate ), Date::MinDate() ); | 
|        | 
|     data := MacroPlan.Actual( relshadow, ActualProductInStockingPointInPeriod, ProductID := product.ID(), StockingPointID := stockingpoint.ID(), Date := actualdate, ManufacturedDate := manufactureDate );                  | 
|     data.ProductInStockingPoint_MP( relset, pisp ); | 
|      | 
|     Dialog.Data( data ); | 
|      | 
|     ValueHolderIsBatchEdit.Value( [String] false ); | 
|     Dialog.ShowHideComponents( [Boolean] ValueHolderIsBatchEdit.Value() ); | 
|      | 
|     result := this.DoModal( parent ); | 
|      | 
|     newobj := null( ActualProductInStockingPointInPeriod ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       //if manufactured date is restricted, default it to date of actual pispip | 
|       manufactureddate := this.GetManufacturedDateWithUIRestriction( GUIDateSelectorManufacturedDate.DateTime().Date(), GUIDateTimeSelectorDate.DateTime().Date() ); | 
|       newobj := ActualProductInStockingPointInPeriod::Create( MacroPlan, | 
|                                                               SelectionProduct.Data(), | 
|                                                               SelectionStockingPoint.Data(), | 
|                                                               GUIDateTimeSelectorDate.DateTime().Date(), | 
|                                                               manufactureddate, | 
|                                                               ApplicationLibMacroPlanner.FormatStringToReal( EditorInventoryLevelEnd.Text()), | 
|                                                               EditorDescription.Text(), | 
|                                                               false ); | 
|     } | 
|      | 
|     return newobj; | 
|   *] | 
| } |