| Quintiq file version 2.0 | 
| #parent: #root | 
| Method NewPostponedSalesDemandCost ( | 
|   internal[GUIComponent] parent | 
| ) as PostponedSalesDemandCost id:Method_DialogCreateEditPostponedSalesDemandCost_NewPostponedSalesDemandCost | 
| { | 
|   #keys: '[11660.0.757985780]' | 
|   Body: | 
|   [* | 
|     // New postponed sales demand cost | 
|      | 
|     stockingpoint := null( StockingPoint_MP ); | 
|     owner := InventorySupply::GetDefaultOwner( MacroPlan, stockingpoint ); | 
|     // Temporary set ProductID to empty, it will be base on user's selection | 
|     data := owner.PostponedSalesDemandCost( relshadow, StockingPointID := owner.ID(), ProductID := "", Start := MacroPlan.StartOfPlanning().Date() ); | 
|     data.StockingPoint_MP( relset, stockingpoint ); | 
|      | 
|     Dialog.Data( data ); | 
|     Dialog.SetDefaultValue( null( ProductInStockingPointInPeriodPlanning ) ); | 
|      | 
|     result := Dialog.DoModal( parent ); | 
|     newobj := null( PostponedSalesDemandCost ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       newobj := PostponedSalesDemandCost::Create( SelectionProduct.Data(), | 
|                                                   SelectionStockingPoint.Data(), | 
|                                                   data.Start(), | 
|                                                   data.Penalty(), | 
|                                                   false ); | 
|     } | 
|      | 
|     return newobj; | 
|   *] | 
| } |