Quintiq file version 2.0
|
#parent: #root
|
Function CalcMinDurationCombi
|
{
|
TextBody:
|
[*
|
mindurationbasedonminduration := Duration::MaxDuration();
|
mindurationbasedonminquantity := Duration::MaxDuration();
|
value := Duration::Zero();
|
if( this.HasMinDuration() )
|
{
|
mindurationbasedonminduration := this.MinDuration()
|
}
|
|
if( this.HasMinQuantity() )
|
{
|
//we estimate min duration based on min quantity and maximum throughout (See OSD, Known Limitations section)
|
minqty := this.MinQuantity()
|
operations := this.GetOperationsInOptCampaignElementType()
|
maxthroughput := max( operations, Elements, op, op.Throughput() )
|
mindurationbasedonminquantity := guard( Duration::Hours( minqty / maxthroughput ), Duration::MaxDuration() )
|
}
|
if( this.HasMinDuration() or this.HasMinQuantity() )
|
{
|
value := minvalue( mindurationbasedonminduration, mindurationbasedonminquantity );
|
}
|
|
this.MinDurationCombi( value );
|
*]
|
}
|