Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetUoMText (
|
Number lengthOfTime,
|
String timeUnit,
|
String currencyId,
|
String uom,
|
String costDriver
|
) declarative remote as String
|
{
|
Description: 'Set account UoM according to different cost driver'
|
TextBody:
|
[*
|
// Omit length of time if equal 1, as we will use later for displaying e.g. uom / month, uom / 2 month
|
length := ifexpr( lengthOfTime >= 2, lengthOfTime.AsQUILL() + ' ', '' );
|
period := length + timeUnit;
|
currency := currencyId;
|
costDriver := costDriver.TrimBoth();
|
|
// Default text
|
text := currency;
|
|
// Cost drivers where the '(Currency per UoM)' does not need to be added to the label
|
displayCostOnly := costDriver = Translations::MP_AccountAssignmentCostDriverOneTime()
|
or costDriver = Translations::MP_AccountAssignmentCostDriverInvestment();
|
|
if( not displayCostOnly )
|
{
|
if(costDriver = Translations::MP_AccountAssignmentCostDriverStaffing() )
|
{
|
uom := Translations::MP_GlobalParameters_Hour();
|
}
|
else if( costDriver = Translations::MP_AccountAssignmentCostDriverLot() )
|
{
|
uom := Translations::MP_AccountAssignmentCostDriverLot();
|
}
|
else if ( costDriver = Translations::MP_AccountAssignmentCostDriverChangeover() )
|
{
|
uom := Translations::MP_AccountAssignmentCostDriverChangeover();
|
}
|
|
if( AccountAssignment::GetTimeUnitVisibility( costDriver ) )
|
{
|
text := currency + '/' + period
|
}
|
else if( costDriver = Translations::MP_AccountAssignmentCostDriverInventoryHolding() )
|
{
|
text := currency + '/' + '(' + uom + '*' + Translations::MP_GlobalParameters_Year() + ')';
|
}
|
else
|
{
|
text := currency + '/' + uom;
|
}
|
}
|
return text;
|
*]
|
}
|