Quintiq file version 2.0 #parent: #root Method EditInventorySpecificationFromListPISPIP ( internal[GUIComponent] parent, structured[ProductInStockingPointInPeriod] selection ) id:Method_DialogCreateEditInventorySpecification_EditInventorySpecificationFromListPISPIP { #keys: '[105706.1.245085157]' Body: [* // Edit the inventory specification of the selection pispip from periods list pispip := selection.Element( 0 ); isbatchedit := selection.Size() > 1; Dialog.ShowHideComponentForBatchEdit( isbatchedit, false ); // Need this for excluding itself in pre-condition primary keys checking. data := shadow( pispip.InventorySpecification() ); // In case selection.Element( 0 ) doesn't bind to any inventory specification, calling SetDefaultValue method will return null error. // Check start in case of editing from PISPIP later than the existing IS, the Start date will be off if we pass in existing IS if( isnull( data ) or data.Start() <> pispip.Start().Date() ) { pisp := pispip.ProductInStockingPoint_MP(); data := pisp.Product_MP().InventorySpecification( relshadow, ProductID := pisp.ProductID(), StockingPointID := pisp.StockingPointID(), Start := pispip.Start().Date() ); data.StockingPoint_MP( relset, pisp.StockingPoint_MP() ); } Dialog.Data( data ); // Need this so that when the pispip doesn't not have a inventory specification, the fields in this Dialog will not be blank. Dialog.SetDefaultValue( selection.Element( 0 ) ); result := this.DoModal( parent ); if ( result > 0 ) { InventorySpecification::CreateOrUpdateForProductInStockingPointInPeriods( selection, false, false, 0.0, 0.0, not isbatchedit or CheckBoxBatchEditMinLevel.Checked(), data.HasMinLevelInDays(), data.MinLevelInDays(), data.MinLevelInQuantity(), not isbatchedit or CheckBoxBatchEditMaxLevel.Checked(), data.HasMaxLevel(), data.HasMaxLevelInDays(), data.MaxLevelInDays(), data.MaxLevelInQuantity(), false ); } *] }