| Quintiq file version 2.0 | 
| #parent: #root | 
| Method GetConfigurationQuery () as JSON id:Method_FormKpiSnapshots_GetConfigurationQuery | 
| { | 
|   #keys: '[146450.3.330067403]' | 
|   Body: | 
|   [* | 
|     // Converts the configuration query into JSON. | 
|     json := JSON::Object(); | 
|      | 
|     queryType := KpiQuery::QUERY_TRACK(); | 
|      | 
|     json.Add( "QueryType", queryType ); | 
|      | 
|     // Query parameters | 
|     // Default value for datetimefrom and datetimeto | 
|     datetimefrom  := DateTime::MinDateTime(); | 
|     datetimeto    := DateTime::MaxDateTime(); | 
|      | 
|     timespan      := RadioButtonGroupTimespan.BoundValue(); | 
|     if( timespan = "range" ) | 
|     { | 
|       datetimefrom  := DateTimeSelectorFrom.DateTime(); | 
|       datetimeto    := DateTimeSelectorTo.DateTime(); | 
|     } | 
|     limit         := NumberPickerMaxResults.Number(); | 
|      | 
|     json.Add( "Timespan", timespan ); | 
|     json.Add( "DateTimeFrom", [String] datetimefrom ); | 
|     json.Add( "DateTimeTo", [String] datetimeto ); | 
|     json.Add( "LimitSnapshot", [Number] limit ); | 
|      | 
|     // Other | 
|     isAllSnapshotEnabled := CheckboxSelectAllSnapshots.Checked(); | 
|     json.Add( "IsAllSnapsnotEnabled", isAllSnapshotEnabled ); | 
|      | 
|     // Label filtering | 
|     isLabelFilteringEnabled := CheckboxEnableLabelFiltering.Checked(); | 
|     labelfilters := selectvalues( DataHolderLabelFiltering.Data(), Elements, labelvalue, true, labelvalue.Value() ); | 
|      | 
|     json.Add( "IsLabelFilteringEnabled", isLabelFilteringEnabled ); | 
|     json.Add( "LabelFilters", labelfilters.ToString( "," ) ); | 
|      | 
|     // Kpi selection | 
|     metadatas := selectvalues( DataHolderKpiSelection.Data(), Elements, metadata, true, metadata.DisplayName() ); | 
|     json.Add( "MetaDatas", metadatas.ToString( "," ) ); | 
|      | 
|     // Series selection | 
|     series := guard( DataHolderSeriesSelection.Data().Name(), '' ); | 
|     isLastSnapshotEnabled := CheckboxLastSnapshots.Checked(); | 
|     timetype := RadioButtonGroupTimeType.BoundValue(); | 
|      | 
|     json.Add( "Series", series ); | 
|     json.Add( "IsLastSnapshotEnabled", isLastSnapshotEnabled ); | 
|     json.Add( "Timetype", timetype ); | 
|      | 
|     return &json.Build(); | 
|   *] | 
|   ReturnsOwning: true | 
| } |