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