Quintiq file version 2.0
|
#parent: #root
|
Method New (
|
FormInventoryCosts formInventoryCosts,
|
structured[ProductInStockingPoint_MP] pisp,
|
Account_MP account
|
) id:Method_DialogCreateEditInventoryCost_New
|
{
|
#keys: '[145730.0.2100900206]'
|
Body:
|
[*
|
// Create new inventory costs for one or more PISPs
|
if( isnull( account ) )
|
{
|
if( DataHolderSelectedAccounts.Data().Size() > 0 )
|
{
|
account := DataHolderSelectedAccounts.Data().Element( 0 );
|
}
|
else
|
{
|
account := MacroPlan.GetDefaultAccount( Form.GetCostType() );
|
}
|
}
|
|
if( pisp.Size() = 0 )
|
{
|
// Select one pisp & populate into dialog
|
filteredpisp := select( DataHolderPISP.Data(), Elements, e, e.IsLeaf() );
|
pisp.Add( filteredpisp );
|
}
|
|
// Create shadow obj & set default value when creating new cost
|
firstPisp := pisp.First();
|
obj := firstPisp.Product_MP().InventoryValueAndCost( relshadow,
|
ID := MacroPlan.IDHolder().GetInventoryValueAndHoldingCostID(),
|
ProductID := firstPisp.ProductID(),
|
StockingPointID := firstPisp.StockingPointID(),
|
AccountName := account.Name(),
|
Account_MP := account,
|
CostDriver := account.DefaultCostDriver(),
|
Cost := account.DefaultCost(),
|
StockingPoint_MP := firstPisp.StockingPoint_MP(),
|
LengthOfTime := account.DefaultLengthOfTime(),
|
TimeUnit := account.DefaultTimeUnit(),
|
Start := MacroPlan.StartOfPlanning().Date() );
|
|
DataHolderDialogData.Data( &obj );
|
DataHolderPISPs.Data( pisp.Copy() );
|
DataHolderForm.Data( formInventoryCosts ); // Form that opens the dialog, to select the newly created object in list
|
|
this.Initialize();
|
*]
|
}
|