Quintiq file version 2.0 #parent: #root Method EditTransportAvailabilityFromListUnitPeriodTransportTime ( internal[GUIComponent] parent, structured[UnitPeriodTransportTime] selection ) id:Method_DialogCreateEditTransportAvailability_EditTransportAvailabilityFromListUnitPeriodTransportTime { #keys: '[121458.0.772017541]' Body: [* // Edit the capacity of the selection unit period times from periods list isbatchedit := selection.Size() > 1; Dialog.ShowHideComponentForBatchEdit( isbatchedit, false, true ); uptt := selection.Element( 0 ); // Need this for excluding itself in pre-condition primary keys checking. data := shadow( uptt.TransportAvailability() ); // In case selection.Element( 0 ) doesn't bind to any unit availability, calling SetDefaultValue method will return null error. // Check start in case of editing from UPT later than the existing TC, the Start date will be off if we pass in existing TC if( isnull( data ) or data.Start() <> uptt.Start() ) { data := uptt.Unit().TransportAvailability( relshadow, UnitID := uptt.Unit().ID(), Start := uptt.Start() ); } Dialog.Data( data ); // Need this so that when the upt doesn't not have a unit availability, the fields in this Dialog will not be blank. Dialog.SetDefaultValue( uptt ); result := this.DoModal( parent ); if( result > 0 ) { TransportAvailability::CreateOrUpdateForUnitPeriodTransports( selection, not isbatchedit or CheckBoxBatchEditMaintenance.Checked(), data.TimeUnit(), data.Maintenance(), not isbatchedit or CheckBoxBatchEditNumberOfUnit.Checked(), data.NumberOfUnit(), not isbatchedit or CheckBoxBatchEditLotSize.Checked(), data.LotSize(), data.MinimumPerLot(), not isbatchedit or CheckBoxBatchEditCapacity.Checked(), data.MaximumQuantity(), not isbatchedit or CheckBoxBatchEditShiftPattern.Checked(), data.ShiftPattern(), CheckBoxThisPeriodOnwards.Checked() ); } *] }