Quintiq file version 2.0 #parent: #root Method UIEnableDisableComponent ( Boolean isInit ) id:Method_DialogCreateEditStockingPoint_UIEnableDisableComponent { #keys: '[135040.0.219561692]' Body: [* batchValidityActive := not CheckBoxBatchEditValidity.Visible() or CheckBoxBatchEditValidity.Checked(); // Enable / disable validity start hasValidityStartScrValue := CheckboxHasStart.Checked(); hasValidityStartDataValue := guard( DataHolderDialogData.Data().Start().DateTime().IsFinite(), false ); hasValidityStartValue := ifexpr( isInit ,hasValidityStartDataValue ,hasValidityStartScrValue ); dsStart.Enabled( hasValidityStartValue and batchValidityActive, "" ); validityStartScrValue := dsStart.Date(); validityStartDataValue := guard( DataHolderDialogData.Data().Start(), Date::MinDate() ); //todo!! setting DateTime::MinDateTime() into datetimeSelector return strange value "Jan-1-0001 00:08:39". potential RFC? validityStartValue := ifexpr( isInit ,validityStartDataValue ,validityStartScrValue ); if( hasValidityStartValue and not isInit ) //user action check { defaultStart := MacroPlan.Start().Date(); start := ifexpr( validityStartValue.IsFinite() //todo!! setting DateTime::MinDateTime() into datetimeSelector return strange value "Jan-1-0001 00:08:39", hence, only get Date. Potential RFC? ,validityStartValue ,defaultStart ); dsStart.Date( start ); } else if( not hasValidityStartValue and not isInit ) //user action uncheck { dsStart.Date( Date::MinDate() ); } // Enable / disable validity end hasValidityEndScrValue := CheckboxHasEnd.Checked(); hasValidityEndDataValue := guard( DataHolderDialogData.Data().End().DateTime().IsFinite(), false ); hasValidityEndValue := ifexpr( isInit ,hasValidityEndDataValue ,hasValidityEndScrValue ); dsEnd.Enabled( hasValidityEndValue and batchValidityActive, "" ); validityEndScrValue := dsEnd.Date(); validityEndDataValue := guard( DataHolderDialogData.Data().End(), Date::MaxDate() ); validityEndValue := ifexpr( isInit ,validityEndDataValue ,validityEndScrValue ); if( hasValidityEndValue and not isInit ) //user action check { defaultEnd := MacroPlan.End().Date(); end := ifexpr( validityEndValue.IsFinite() ,validityEndValue ,defaultEnd ); dsEnd.Date( end ); } else if( not hasValidityEndValue and not isInit ) //user action uncheck { dsEnd.Date( Date::MaxDate() ); } *] }