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;
  *]
}
