1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  | Quintiq file version 2.0 
 |  #parent: MatrixEditorTimeCapacities 
 |  Response OnUpdateValue ( 
 |    structured[UnitPeriodTime] cell, 
 |    String value, 
 |    String oldvalue 
 |  ) id:Response_MatrixEditorTimeCapacities_OnUpdateValue_549 
 |  { 
 |    #keys: '[136682.1.1060472794]' 
 |    CanBindMultiple: false 
 |    DefinitionID: 'Responsedef_WebMatrixEditor_OnUpdateValue' 
 |    QuillAction 
 |    { 
 |      Body: 
 |      [* 
 |        //Update shift pattern/time unit 
 |        cond := ShiftPattern::GetHasValidShiftPattern( value, MacroPlan ) or PeriodSpecification_MP::GetHasValidTimeUnit( value ); 
 |        istimeunit := focusedattribute = typeof( UnitAvailability ).Name() + '.' + attribute( UnitAvailability, TimeUnit ).Name(); 
 |        if( cond ) 
 |        { 
 |          data := shadow( cell.Element( 0 ).UnitAvailability() ); 
 |          if( isnull( data ) ) 
 |          { 
 |            data := cell.Element( 0 ).Unit().UnitAvailability( relshadow ); 
 |          } 
 |           
 |          shiftpattern := select( MacroPlan, ShiftPattern, s, s.Name()= value ); 
 |           
 |          UnitAvailability::CreateOrUpdateForUnitPeriodTimes( cell, 
 |                                                              istimeunit, 
 |                                                              ifexpr( istimeunit, value, data.TimeUnit() ), 
 |                                                              data.Maintenance(), 
 |                                                              false, 
 |                                                              data.Efficiency(), 
 |                                                              false, 
 |                                                              data.Allocation(), 
 |                                                              focusedattribute = attribute( UnitPeriodTime, ShiftPatternName ).Name(), 
 |                                                              ifexpr( not isnull( shiftpattern ), shiftpattern, data.ShiftPattern() ), 
 |                                                              false, 
 |                                                              data.MaximumLoadPercentage(), 
 |                                                              false, 
 |                                                              data.NrOfUnitsOpen(), 
 |                                                              false, 
 |                                                              false, 
 |                                                              data.MinimumLoadThreshold() 
 |                                                            );  
 |        } 
 |        else 
 |        { 
 |          if( not istimeunit ) 
 |          { 
 |            traverse( cell, Elements, e ) 
 |            {  
 |              e.ShiftPatternName( oldvalue ); 
 |            } 
 |          } 
 |        } 
 |      *] 
 |      GroupServerCalls: false 
 |    } 
 |  } 
 |  
  |