陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
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
Quintiq file version 2.0
#parent: #root
Method WriteQuantity (
  TransitionPeriod_MP transperiod
)
{
  Description: 'write out quantity planned on combi period task to period task in transition'
  TextBody:
  [*
    ptc := select( transperiod, 
                   PeriodTaskInTransition, 
                   p, 
                   p.OperationInTransition().OperationInTransitionType().Operation() = this.Operation() ); 
    
    if ( isnull( ptc ) ) 
    {
      opintrans := select( transperiod, Transition_MP.OperationInTransition, o, true, o.OperationInTransitionType().Operation() = this.Operation() ); 
      unitperiod := transperiod.UnitPeriod(); 
      pto := select( unitperiod, PeriodTaskOperation, p, true, p.Operation() = this.Operation() ); 
      if ( isnull( pto ) ) 
      {
        pto := PeriodTaskOperation::Create( this.Operation(), unitperiod, 0.0, false ); 
      }
      ptc := pto.PeriodTaskInTransition( relnew, OperationInTransition := opintrans ); // note we cannot call create because we need to explicitly create new object 
    }
    
    ptc.Quantity( ptc.Quantity() + this.Quantity() ); // we need to add
  *]
  InterfaceProperties { Accessibility: 'Module' }
}