| 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; | 
|   *] | 
| } |