Расчетные параметры
Расчетные параметры позволяют вычислять значение параметра шаблона отчета при помощи скриптов на языке C#. Подробнее о создании и настройке расчетного параметра см. раздел Расчетный параметр на странице «Параметры».
Ниже приведен справочник встроенных переменных, функций (формул) и структур данных, доступных в скриптах расчетных параметров. Этот же справочник открывается в конструкторе шаблона по кнопке Открыть справку.
- Переменные
- Методы
- Формулы для чтения данных из модуля 'Справочники'
- Формулы для преобразования данных
- Формулы для чтения данных из СУБД
- Формулы для чтения данных из файла 'Excel'
- Формулы для чтения данных из веб-ресурса по протоколу 'HTTP'
- Формулы для чтения данных из СУБД 'InfluxDB'
- Формулы для чтения данных из КАСКАД 4
- Математические формулы
- Формулы для чтения данных из СУБД 'Microsoft SQL Server'
- Формулы для чтения данных из СУБД 'MySQL'
- Формулы для чтения данных при помощи интерфейса 'ODBC'
- Формулы для чтения данных при помощи интерфейса 'OLEDB'
- Формулы для чтения данных при помощи интерфейса 'OPC'
- Формулы для чтения данных из модуля 'Наработка оборудования'
- Формулы для чтения данных из СУБД 'Oracle'
- Формулы для чтения данных из БД 'Пирамида'
- Формулы для чтения данных СУБД 'PostgreSQL'
- Формулы для чтения данных из отчетов
- Формулы для чтения данных из файлов
- Формулы для чтения данных из 'WinCC'
- Формулы для чтения данных из КАСКАД 3 (InfluxDB)
- Формулы для чтения данных из КАСКАД 3 (XMLRPC)
- Структуры
- DictionaryAttributeInstance
- DictionaryClassInstance
- AggregationValue
- ChartValue
- DropDownValue
- DropDownVariant
- JsValue
- ReportKaskadValue
- LogCell
- LogRow
- OpcValue
- PiramidaDiscret
- PiramidaDiscretState
- PiramidaValue
- ReportChartValue
- ReportFileValue
- ReportTable
- StoredReportValue
- WinccOaAlarm
- WinccOaAlarmsTable
- WinccOaValue
- WinccValue
- XmlStandard
- XmlValue
- ReportCalculationHistory
- OperationTimeDeviceInfo
- OperationTimeDevicePeriodInfo
- OperationTimeDeviceStateInfo
- OperationTimeParameterLog
- OperationTimeRecordInfo
- OperationTimeStateInfo
- ReportHtmlTableCompiler
- AggregationType
- PiramidaDiscretStatus
- WinccOaAlarmAcknowledgeState
- WinccOaAlarmDirection
- DisplayedType
- PiramidaParameter
Переменные
| Название | Тип | Описание |
|---|---|---|
| History | ReportCalculationHistory | История вычислений параметров |
| Time | ReportCalculationTime | Контекст времени вычислений отчета |
| Interval | TimeInterval | Период отчета |
| StartDate | DateTime | Дата начала отчета |
| EndDate | DateTime | Дата окончания отчета |
| Timestamp | DateTime | Метка времени отчета |
| ReportDay | DateTime | День отчета (без времени) |
| StepStart | DateTime | Метка времени начала шага |
| StepEnd | DateTime | Метка времени конца шага |
| StepInterval | TimeInterval | Интервал текущего шага |
| Step | TimeDuration | Шаг отчета |
| ReportWeek | DateTime | Неделя отчета |
| ReportMonth | DateTime | Месяц отчета |
| ReportYear | DateTime | Год отчета |
| ReportCreationDate | DateTime | Дата создания отчета |
| ReportUpdateDate | DateTime | Дата обновления отчета |
| Now | DateTime | Дата расчета |
Методы
Формулы для чтения данных из модуля 'Справочники'
GetDictionaryClassInstanceAttributeValue
Загрузить значение атрибута класса из справочника
Объявление:
Object GetDictionaryClassInstanceAttributeValue(String attributeInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| attributeInstanceUniqueCode | String | Идентификатор экземпляра атрибута класса |
Возвращаемое значение : (Object) Значение атрибута класса
GetDictionaryItemPropertyValueAsString
Загрузить текстовое значение атрибута класса из справочника
Объявление:
String GetDictionaryItemPropertyValueAsString(String attributeInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| attributeInstanceUniqueCode | String | Идентификатор экземпляра атрибута класса |
Возвращаемое значение : (String) Текстовое значение атрибута класса
GetDictionaryItemPropertyValueAsDouble
Загрузить числовое значение атрибута класса из справочника
Объя вление:
Double GetDictionaryItemPropertyValueAsDouble(String attributeInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| attributeInstanceUniqueCode | String | Идентификатор экземпляра атрибута класса |
Возвращаемое значение : (Double) Числовое значение атрибута класса
GetDictionaryItemPropertyValueAsDateTime
Загрузить временное значение атрибута класса из справочника
Объявление:
DateTime GetDictionaryItemPropertyValueAsDateTime(String attributeInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| attributeInstanceUniqueCode | String | Идентификатор экземпляра атрибута класса |
Возвращаемое значение : (DateTime) Временное значение атрибута класса
GetDictionaryClassInstancesChildren
Загрузить дочерние экземпляры классов из справочника
Объявление:
DictionaryClassInstance[] GetDictionaryClassInstancesChildren(String parentInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| parentInstanceUniqueCode | String | Идентификатор родительского экземпляра класса |
Возвращаемое значение : (DictionaryClassInstance[]) Список экземпляров классов
GetFilterDictionaryClassInstancesByName
Загрузить дочерние экземпляры класса, отфильтрованные по названию экземпляра из справочника
Объявление:
DictionaryClassInstance[] GetFilterDictionaryClassInstancesByName(DictionaryClassInstance[] classInstances, String className)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| classInstances | DictionaryClassInstance[] | Исходный список элементов | |
| className | String | Название класса для фильтрации |
Возвращаемое значение : (DictionaryClassInstance[]) Экземпляры классов, удовлетворяющие условию
GetFilterDictionaryClassInstancesByAttribute
Загрузить дочерние экземпляры класса, отфильтрованные по названию атрибута и его значению из справочника
Объявление:
DictionaryClassInstance[] GetFilterDictionaryClassInstancesByAttribute(DictionaryClassInstance[] classInstances, String attributeName, Object attributeValue)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| classInstances | DictionaryClassInstance[] | Список экземпляров классов | |
| attributeName | String | Название атрибута | |
| attributeValue | Object | Значение атрибута |
Возвращаемое значение : (DictionaryClassInstance[]) Экземпляры классов, удовлетворяющие условию
GetDictionaryClassInstanceAttribute
Загрузить значение атрибута из экземпляра класса по названию атрибута из справочника
Объявление:
Object GetDictionaryClassInstanceAttribute(DictionaryClassInstance classInstance, String attributeName)
Передаваемые параметры:
| Название | Тип | Описан ие | Примечание |
|---|---|---|---|
| classInstance | DictionaryClassInstance | Экземпляра класса | |
| attributeName | String | Название атрибута |
Возвращаемое значение : (Object) Значение атрибута
GetAttributeInstanceValue
Загрузить значение атрибута по идентификатору экземпляра класса и названию атрибута из справочника
Объявление:
Object GetAttributeInstanceValue(String classInstanceUniqueCode, String attributeName)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| classInstanceUniqueCode | String | Идентификатор экземпляра класса | |
| attributeName | String | Название атрибута |
Возвращаемое значение : (Object) Значение атрибута
GetDictionaryClassInstance
Загрузить значение экземпляра класса из справочника
Объявление:
DictionaryClassInstance GetDictionaryClassInstance(String classInstanceUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| classInstanceUniqueCode | String | Идентификатор экземпляра класса |
Возвращаемое значение : (DictionaryClassInstance) Экземпляр класса
GetChildrenClassInstances
Загрузить значения экземпляров класса из справочника
Объявление:
ClassInstanceDtoBase[] GetChildrenClassInstances(String classUniqueCode, String parentInstanceClassUniqueCode)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| classUniqueCode | String | Идентификатор класса | |
| parentInstanceClassUniqueCode | String | Идентификатор родительского экземпляра класса | Необязательный |
Возвращаемое значение : (ClassInstanceDtoBase[]) Экземпляры класса
Формулы для преобразования данных
Select
Выбрать ячейку из матрицы
Объявление:
Object Select(Object[][] matrix, Int32 rowIndex, Int32 colIndex)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица | |
| rowIndex | Int32 | Индекс строки | |
| colIndex | Int32 | Индекс столбца |
Возвращаемое значение : (Object) Результат выполнения запроса в виде объекта
Select
Выбрать вложенную матрицу
Объявление:
Object[][] Select(Object[][] matrix, Int32 startRowIndex, Int32 startColIndex, Int32 endRowIndex, Int32 endColIndex)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица | |
| startRowIndex | Int32 | Индекс начальной строки | |
| startColIndex | Int32 | Индекс начального столбца | |
| endRowIndex | Int32 | Индекс конечной строки | |
| endColIndex | Int32 | Индекс конечного столбца |
Возвращаемое значение : (Object[][]) Результат выполнения запроса в виде матрицы объектов
SelectRow
Выбрать строку из матрицы
Объявление:
Object[] SelectRow(Object[][] matrix, Int32 rowIndex)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица | |
| rowIndex | Int32 | Индекс строки |
Возвращаемое значение : (Object[]) Результат выполнения запроса в виде строки объектов
SelectColumn
Выбрать столбец из матрицы
Объявление:
Object[] SelectColumn(Object[][] matrix, Int32 colIndex)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица | |
| colIndex | Int32 | Индекс столбца |
Возвращаемое значение : (Object[]) Результат выполнения запроса в виде столбца
ConvertToNumberMatrix
Преобразовать матрицу объектов в матрицу чисел
Объявление:
Double[][] ConvertToNumberMatrix(Object[][] matrix)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица |
Возвращаемое значение : (Double[][]) Результат выполнения запроса в виде матрицы чисел
ConvertToStringMatrix
Преобразовать матрицу объектов в матрицу строк
Объявление:
String[][] ConvertToStringMatrix(Object[][] matrix)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица |
Возвращаемое значение : (String[][]) Результат выполнения запроса в виде матрицы строк
ConvertToDateMatrix
Преобразовать матрицу объектов в матрицу дат
Объявление:
DateTime[][] ConvertToDateMatrix(Object[][] matrix)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица |
Возвращаемое значение : (DateTime[][]) Результат выполнения запроса в виде матрицы дат
ConvertToString
Преобразовать объект к строке
Объявление:
String ConvertToString(Object value)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| value | Object | Значение |
Возвращаемое значение : (String) Результат выполнения запроса в виде строки
ConvertToNumber
Преобразовать объект к числу
Объявление:
Double ConvertToNumber(Object value)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| value | Object | Значение |
Возвращаемое значение : (Double) Результат выполнения запроса в виде числа
ConvertToDate
Преобразовать объект к дате
Объявление:
DateTime ConvertToDate(Object value)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| value | Object | Значение |
Возвращаемое значение : (DateTime) Результат выполнения запроса в виде даты
ConvertToTable
Преобразовать матрицу к таблице
Объявление:
ReportTable ConvertToTable(Object[][] matrix, Boolean includeHeader)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | Object[][] | Матрица | |
| includeHeader | Boolean | Включить заголовки |
Возвращаемое значение : (ReportTable) Результат выполнения запроса в виде таблицы
ConvertToStringMatrixArray
Преобразовать массив таблиц в массив матриц строк
Объявление:
String[][][] ConvertToStringMatrixArray(ReportTable[] tables)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| tables | ReportTable[] | Таблица |
Возвращаемое значение : (String[][][]) Результат выполнения запроса в виде массива матриц строк
ConvertToNumberMatrixArray
Преобразовать массив таблиц в массив матриц чисел
Объявление:
Double[][][] ConvertToNumberMatrixArray(ReportTable[] tables)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| tables | ReportTable[] | Таблицы |
Возвращаемое значение : (Double[][][]) Результат выполнения запроса в виде массива матриц строк
SelectStringFromMatrix
Выполнить запрос к СУБД 'InfluxDB'
Объявление:
String SelectStringFromMatrix(String[][][] matrix, Int32 measurementIndex, Int32 rowIndex, Int32 colIndex)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| matrix | String[][][] | Массив матриц строк | |
| measurementIndex | Int32 | Индекс измерения | Необязательный |
| rowIndex | Int32 | Индекс строки | Необязательный |
| colIndex | Int32 | Индекс столбца | Необязательный |
Возвращаемое значение : (String) Значение измерения в числовом виде
Формулы для чтения данных из СУБД
LoadFromDatabase
Выполнить запрос к БД
Объявление:
Object[][] LoadFromDatabase(String connectionGuid, String sql, Boolean loadHeaders)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| sql | String | Запрос для выборки данных | |
| loadHeaders | Boolean | Включить заголовки в результат запроса |
Возвращаемое значение : (Object[][]) Результат выполнения запроса в виде матрицы объектов
LoadFromInfluxDatabase
Выполнить запрос к БД Influx
Объявление:
Object[][][] LoadFromInfluxDatabase(String connectionGuid, String sql, Boolean loadHeaders)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| sql | String | Запрос для выборки данных | |
| loadHeaders | Boolean | Включить заголовки в результат запроса |
Возвращаемое значение : (Object[][][]) Результат выполнения запроса в виде таблицы
Формулы для чтения данных из файла 'Excel'
ExcelCellAsString
Загрузить значение ячейки в виде строки из файла 'Excel'
Объявление:
String ExcelCellAsString(String filePath, String sheet, String cell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| filePath | String | Путь к файлу | |
| sheet | String | Название листа | |
| cell | String | Адрес ячейки в формате 'A1' |
Возвращаемое значение : (String) Значение ячейки в виде строки
ExcelCellAsStringByConnection
Загрузить значение ячейки в виде строки из файла 'Excel'
Объявление:
String ExcelCellAsStringByConnection(String connectionGuid, String sheet, String cell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| sheet | String | Название листа | |
| cell | String | Адрес ячейки в формате 'A1' |
Возвращаемое значение : (String) Значение ячейки в виде строки
ExcelCellAsDouble
Загрузить значение ячейки в виде числа из файла 'Excel'
Объявление:
Double ExcelCellAsDouble(String filePath, String sheet, String cell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| filePath | String | Путь к файлу | |
| sheet | String | Название листа | |
| cell | String | Адрес ячейки в формате 'A1' |
Возвращаемое значение : (Double) Значение ячейки в виде числа
ExcelCellAsDoubleByConnection
Загрузить значение ячейки в виде числа из файла 'Excel'
Объявление:
Double ExcelCellAsDoubleByConnection(String connectionGuid, String sheet, String cell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| sheet | String | Название листа | |
| cell | String | Адрес ячейки в формате 'A1' |
Возвращаемое значение : (Double) Значение ячейки в виде числа
GetExcelTable
Загрузить данные в виде таблицы из файла 'Excel'
Объявление:
ReportTable GetExcelTable(String filePath, String sheet, String startCell, String endCell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| filePath | String | Путь к файлу | |
| sheet | String | Название листа | |
| startCell | String | Адрес начальной ячейки в формате 'A1' | |
| endCell | String | Адрес конечной ячейки в формате 'A1' |
Возвращаемое значение : (ReportTable) Значения файла в виде таблицы
GetExcelTableByConnection
Загрузить данные в виде таблицы из файла 'Excel'
Объявление:
ReportTable GetExcelTableByConnection(String connectionGuid, String sheet, String startCell, String endCell)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| sheet | String | Название листа | |
| startCell | String | Адрес начальной ячейки в формате 'A1' | |
| endCell | String | Адрес конечной ячейки в формате 'A1' |
Возвращаемое значение : (ReportTable) Значения файла в виде таблицы
GetExcelSheetByContent
Загрузить данные в виде таблицы из массива байт файла 'Excel'
Объявление:
ReportTable GetExcelSheetByContent(Byte[] data, String sheet)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| data | Byte[] | Данные файла | |
| sheet | String | Название листа |
Возвращаемое значение : (ReportTable) Значения файла в виде таблицы
Формулы для чтения данных из веб-ресурса по протоколу 'HTTP'
HttpRequest
Загрузить данные из внешнего ресурса в виде строки по протоколу 'HTTP'
Объявление:
String HttpRequest(String url, String method, String body, IEnumerable<KeyValuePair<String, String>> headers)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| url | String | Адрес ресурса | |
| method | String | Метод запроса | |
| body | String | Тело запроса | |
| headers | IEnumerable<KeyValuePair<String, String>> | Заголовки запроса |
Возвращаемое значение : (String) Ответ в виде строки
HttpRequestByConnection
Загрузить данные из внешнего ресурса в виде строки по протоколу 'HTTP'
Объявление:
String HttpRequestByConnection(String connectionGuid, String path, String method, String body, IEnumerable<KeyValuePair<String, String>> headers)
Передаваемые параметры:
| Название | Тип | Описание | Примечание |
|---|---|---|---|
| connectionGuid | String | Идентификатор соединения | |
| path | String | Путь | |
| method | String | Метод запроса | |
| body | String | Тело запроса | |
| headers | IEnumerable<KeyValuePair<String, String>> | Заголовки запроса |
Возвращаемое значение : (String) Ответ в виде строки
Формулы для чтения данных из СУБД 'InfluxDB'
InfluxQueryAsStringArrays
Выполнить запрос к СУБД 'InfluxDB'