yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
Quintiq file version 2.0
#parent: #root
Method NewTripWithProduct (
  internal[GUIComponent] parent,
  ProductInStockingPointInPeriodPlanningLeaf pispip
) as Trip id:Method_DialogCreateEditTrip_NewTripWithProduct
{
  #keys: '[110880.9.504905322]'
  Body:
  [*
    // New trip with given pispip
    
    data := construct( shadow [Trip], ID := OS::GenerateGUIDAsString() );// assign with temporary id
    
    Dialog.Data( data );
    DataHolderTargetPISPIP.Data( pispip );
    Dialog.SetDefaultValue();
    
    result := this.DoModal( parent );
    trip := null( Trip );
    
    if( result > 0 )
    {
       // To cater for case user change the arrival date
       if( pispip.Start() <> SelectionPeriodArrival.Data().Start() )
       {
         pispip := select( pispip, 
                           ProductInStockingPoint_MP.ProductInStockingPointInPeriodPlanning.astype( ProductInStockingPointInPeriodPlanningLeaf ),
                           pispipleaf,
                           pispipleaf.Start() = SelectionPeriodArrival.Data().Start() );
       }
       
       trip := Trip::CreateWithProductInTrip( data.LaneLeg(),
                                              pispip );
    }
    
    return trip;
  *]
}