Quintiq file version 2.0
|
#parent: MatrixEditorTransportCapacities
|
Response OnUpdateValue (
|
UnitPeriodTransportQuantity cell,
|
String value,
|
String oldvalue
|
) id:Response_MatrixEditorTransportCapacities_OnUpdateValue_557
|
{
|
#keys: '[139394.1.92916806]'
|
CanBindMultiple: false
|
DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue'
|
QuillAction
|
{
|
Body:
|
[*
|
// Create or update time unit or 2nd UoM
|
istimeunit := focusedattribute = attribute( UnitPeriodTransportQuantity, TimeUnitForCapacitiesCalculation ).Name();
|
is2ndUOM := focusedattribute = typeof( TransportCapacity ).Name() + '.' + attribute( TransportCapacity, SecondaryUnitOfMeasureName ).Name();
|
cond := PeriodSpecification_MP::GetHasValidTimeUnit( value )
|
or exists( cell.MacroPlan(), UnitOfMeasure_MP, uom, uom.Name() <> cell.MacroPlan().DefaultUnitOfMeasure().Name(), uom.Name() = value );
|
if( cond )
|
{
|
unitperiodtransportquantities := construct( UnitPeriodTransportQuantitys );
|
unitperiodtransportquantities.Add( cell );
|
TransportCapacity::CreateOrUpdateForUnitPeriodTransports( unitperiodtransportquantities,
|
ifexpr( istimeunit, value, cell.TimeUnitForCapacitiesCalculation() ),
|
false /*isbatcheditlot*/,
|
cell.LotSize(),
|
istimeunit /*isbatcheditcapacity*/,
|
cell.MinCapacityPerTimeUnit(),
|
cell.MaxCapacityPerTimeUnit(),
|
is2ndUOM /*isbatcheditsecondary*/,
|
cell.HasSecondaryCapacity(),
|
cell.SecondaryLotSize(),
|
guard( cell.TransportCapacity().SecondaryMaximumCapacity(), 0.0 ),
|
guard( cell.TransportCapacity().SecondaryMinimumCapacity(), 0.0 ),
|
ifexpr( is2ndUOM, value, cell.SecondaryUnitOfMeasureName() ),
|
false /*this period onwards*/
|
);
|
}
|
else
|
{
|
if( istimeunit )
|
{
|
cell.TimeUnitForCapacitiesCalculation( oldvalue );
|
}
|
}
|
*]
|
GroupServerCalls: false
|
}
|
}
|