陈清红
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 (
  CampaignPeriod_MP campaignperiod
)
{
  Description: 'wite out quantity planned on combi period task to period task in campaign'
  TextBody:
  [*
    ptc := select( campaignperiod, 
                   PeriodTaskInCampaign, 
                   p, 
                   p.OperationInCampaign().Operation() = this.Operation() ); 
    
    if ( isnull( ptc ) ) 
    {
      opincampaign := select( campaignperiod, Campaign_MP.OperationInCampaign, o, true, o.Operation() = this.Operation() ); 
      unitperiod := campaignperiod.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.PeriodTaskInCampaign( relnew, OperationInCampaign := opincampaign ); // 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' }
}