- •Введение
- •Регистрация
- •Системные требования
- •Технические характеристики
- •Инсталляция и начало работы
- •Деинсталляция
- •Совместимость с предыдущей версией
- •Интегрированная среда разработки
- •Окно Добро пожаловать
- •Рабочее пространство
- •Аргументы
- •Окно Аргументы
- •Окно Выбор привязки
- •Привязка к атрибутам тега
- •Привязка аргумента к свойствам примитивов
- •Привязка к расписанию
- •Привязка к открытию вида
- •Параметры
- •Лог-файлы
- •Редактор скриптов
- •Редактор мнемосхемы
- •Меню и панели инструментов
- •Каталог проектов
- •Верификация
- •Отладка
- •Окно сообщения
- •Среда исполнения
- •Рабочее пространство
- •Запуск проекта
- •Пример создания автозапуска
- •Среда исполнения Клиент
- •Рабочее пространство
- •Редактирование списка сетевых проектов
- •Запуск проекта
- •Синхронизация времени с сервером
- •Объектная модель
- •Проект
- •Свойства проекта
- •Элемент проекта
- •Редактирование проекта
- •Отладка проекта
- •Защита проекта и элемента проекта
- •Пример
- •Объекты
- •Теги
- •Связи тегов
- •Перепривязка тегов
- •Виды
- •Скрипты
- •Библиотеки
- •Редактор библиотек
- •Библиотека объектов
- •Библиотека типов тегов
- •Библиотека скриптов
- •Управление библиотеками
- •Расписания
- •Папки расписаний
- •Создание расписания
- •Редактирование свойств расписания
- •Расписание с однократной активацией
- •Расписание с повторяющейся активацией
- •Задание периодичности
- •Периодичность в днях
- •Периодичность в неделях
- •Периодичность в месяцах
- •Периодичность в годах
- •Периодичность в день запуска
- •Определение времени однократной активации
- •Определение периодичности активации в день запуска
- •Продолжительность действия расписания
- •Словесное описание
- •Динамическая визуализация данных
- •Графическая подсистема
- •Рабочие столы
- •Дерево примитивов мнемосхемы
- •Редактор слоев мнемосхем
- •Мнемосхема
- •Система координат
- •Печать мнемосхемы
- •Графические примитивы
- •Свойства графических примитивов
- •Видимость/мигание
- •Цвет
- •Заливка
- •Свойства заливки
- •Свойства в скриптах
- •Видимость/мигание
- •Цвет
- •Заливка
- •Свойства заливки
- •Действия над примитивами
- •Изменение размера и положения
- •Группирование
- •Эллипс
- •Прямоугольник
- •Скругленный прямоугольник
- •Прямая
- •Сцена
- •Рисунок
- •Текст
- •Надпись
- •Дуга
- •Большая дуга
- •Сектор
- •Сегмент
- •Объемный прямоугольник
- •Вспомогательная линия
- •Многоугольник
- •Ломаная
- •Таблица
- •Свойства заголовка
- •Свойства колонки
- •Свойства заголовка колонки
- •Свойства строки
- •Свойства заголовка строки
- •Свойства подписи
- •Свойства ячейки
- •Редактирование границ
- •Элемент управления
- •Использование примитива
- •Анимация
- •Простое преобразование
- •Преобразование скриптом
- •Реакции
- •Редактирование событий
- •Редактирование события Нажатие клавиши
- •Редактирование события Отжатие клавиши
- •Редактирование события Последовательный ввод
- •Присвоить значение
- •Переход
- •Переход на мнемосхему
- •Переход на рабочий стол
- •Анимация примитивов
- •Выполнить скрипт
- •Поле ввода
- •Ползунок
- •Изменение свойств примитивов с помощью реакций и анимаций
- •Видимость/мигание
- •Цвет
- •Заливка
- •HatchStyle
- •GradientBrushInfo
- •Копирование реакций и анимаций
- •Обмен данными
- •Создание OPC DA коннектора
- •Тег OPC DA коннектора
- •Выбор OPC DA тегов
- •Системный тег OPC DA коннектора
- •Переименование OPC DA тегов
- •Настройка OPC DA коннектора
- •Создание OPC DA группы
- •Настройка OPC DA группы
- •Создание OPC HDA коннектора
- •Тег OPC HDA коннектора
- •Выбор OPC HDA тегов
- •Системный тег OPC HDA коннектора
- •Переименование OPC HDA тегов
- •Настройка OPC HDA коннектора
- •Использование данных OPC HDA коннектора
- •SQL-коннектор
- •Технические характеристики
- •Источник данных
- •Примеры строк соединений
- •Группа данных
- •Создать группу данных
- •Изменить группу данных
- •Свойства группы данных
- •Системный тег группы данных
- •Примеры использования
- •Работа с протоколом событий
- •Сбор статистических данных
- •Организация архива данных
- •WideTrack коннектор
- •Создание WideTrack коннектора
- •Тег WideTrack коннектора
- •Выбор тегов для опроса
- •Системный тег WideTrack коннектора
- •Настройка WideTrack коннектора
- •Просмотр истории
- •Экспорт данных
- •Общие свойства экспортеров
- •Свойства экспортера в XML
- •Структура файла XML
- •Свойства экспортера в CSV
- •Структура файла CSV
- •Создание файла экспорта
- •Тег эмулятор
- •Эмулятор синус
- •Эмулятор инкремент
- •Система ограничения доступа
- •Настройка пользователей и ролей проекта
- •Настройка пользователей проекта
- •Добавление пользователя
- •Удаление пользователя
- •Редактирование пользователя
- •Ввод пароля
- •Настройка ролей проекта
- •Добавление роли
- •Удаление роли
- •Редактирование роли
- •Настройка групп ролей проекта
- •Добавление группы ролей
- •Удаление группы ролей
- •Редактирование группы ролей
- •Настройка доступа к объектам
- •Объекты, поддерживающие ограничение доступа
- •Настройка доступа для объектов
- •Настройка доступа для реакций
- •Алгоритм проверки прав доступа
- •Авторизация пользователей проекта
- •Вход пользователя в систему
- •Выход пользователя из системы
- •История процесса. Тренды
- •Модуль Менеджер трендов
- •Настройки Менеджера трендов
- •Группы настроек истории
- •Редактирование групп настройки истории
- •Редактирование группы настроек
- •Перья Менеджера трендов
- •Редактирование перьев Менеджера трендов
- •Создание перьев
- •Удаление перьев
- •Группировка перьев
- •Тренды объектов
- •Тренды тегов
- •Мастер создания перьев для объекта
- •Мастер создания перьев для тега
- •Настройка трендирования тегов
- •Настройка трендирования атрибутов
- •Выбор тегов по маске
- •Графический элемент Тренд
- •Создание графического элемента Тренд
- •Общие настройки
- •Настройка координатной сетки
- •Добавление/Удаление перьев
- •Настройка перьев
- •Настройки пера
- •Редактирование привязки перьев
- •Настройки отображения границ
- •Настройки отображения точек
- •Световое перо
- •Управление графическим элементом Тренд
- •Выбор текущего пера
- •Переключение режимов
- •Включение заливки и отключение перьев
- •Просмотр истории
- •Графический элемент Табличный тренд
- •Настройка запроса данных
- •Листание
- •Световое перо
- •Свойства колонки Перо
- •Свойства колонки Время
- •Протокол событий
- •Модуль Протокол событий
- •Настройки модуля Протокол событий
- •Настройки хранения истории
- •Словарь серьезности
- •Словарь типов событий
- •Словарь событий
- •Системные события
- •Импорт словаря
- •Настройки печати протокола событий
- •Окно Настройка печати
- •Настройка колонок для печати
- •Примитив Протокол событий
- •Основные настройки
- •Колонки и строки
- •События элемента проекта
- •Вызов окна просмотра событий элемента проекта
- •Панель инструментов
- •Настройка колонок
- •Фильтрация событий по серьезности
- •Фильтрация событий по типу
- •Печать событий
- •Посылка событий в протокол
- •Печать событий из скрипта
- •Модуль отчетов
- •Шаблон отчета
- •Параметры отчета
- •Секции отчета
- •Элементы отчета
- •Линия
- •Прямоугольник
- •Текстовое поле
- •Таблица
- •Диаграмма
- •Группы данных
- •Группировка и сортировка данных
- •Гистограммы
- •Линейчатые диаграммы
- •Графики
- •Круговые диаграммы
- •Диаграммы с областями
- •Кольцевые диаграммы
- •Рисунок
- •Встроенные рисунки
- •Форматирование элементов отчета
- •Стили
- •Условное форматирование
- •Числовые значения и даты
- •Разбивка отчета на страницы
- •Предварительный просмотр
- •Взаимодействие с пользователем
- •Автоматическое изменение размера и позиционирование
- •Данные для отчета
- •Группа тегов
- •Группа трендируемых тегов
- •Атрибут тега
- •Тренд
- •SQL коннектор
- •Мнемосхема
- •Использование выражений
- •Создание выражений
- •Работа с выражениями
- •Применение глобальных коллекций в выражениях
- •Примеры выражений
- •Использование функций в выражениях
- •Функции работы со строками
- •Функции даты и времени
- •Математические функции
- •Функции проверки типов
- •Функции выполнения условия
- •Функции преобразования типов
- •Функции агрегирования
- •Функция Avg
- •Функция Count
- •Функция CountRows
- •Функция CountDistinct
- •Функция First
- •Функция Max
- •Функция Min
- •Функция Last
- •Функция RowNumber
- •Функция RunningValue
- •Функция StDevP
- •Функция StDev
- •Функция Sum
- •Функция VarP
- •Функция Var
- •Менеджер отчетов
- •Хранение снимков данных
- •Печать отчетов
- •Рассылка отчетов
- •Публикация в папку
- •Генерация отчета
- •Web-контроль
- •Инсталляция
- •Начало работы
- •Деинсталляция
- •Главное окно
- •Конфигурирование сервера
- •Общие настройки
- •Соединения
- •Главная страница
- •Страница авторизации
- •Страница навигации по проекту
- •Как подключиться к проекту
- •Cписок возможных проблем
- •Редактор скриптов
- •Окно Редактора скриптов
- •Панель инструментов
- •Закладка Шаблоны
- •Закладка Функции
- •Окно ошибок скрипта
- •Область редактирования текста
- •Окно Параметры страницы
- •Окно Печать
- •Окно редактирования ссылок на сборки
- •Окно Поиск и замена
- •Настройки Редактора скриптов
- •Настройки Шаблонов пользователей
- •Настройки шрифта
- •Пример HMI-приложения
- •Создание проекта
- •Типы тегов
- •Библиотечные объекты
- •Анимация
- •Логика работы
- •Отладка
- •Тренд и протокол событий
- •Техническая поддержка
сумму значений поля Cost:
=Sum(ReportItems("Cost").Value)
ВНИМАНИЕ!!!
При ссылке из колонтитула в выражении может быть указан только один элемент отчета.
Разрывы страниц
∙Выражение, будучи указанным в качестве выражения группы, назначает номер каждому набору из 25 строк.
Если для этой группы определен разрыв страницы, данное выражение будет выводить его через каждые 25 строк.
=Int((RowNumber(Nothing)-1)/25)
ИЗМЕНЕНИЕ СВОЙСТВ
Форматирование
∙Выражение, будучи указанным в свойстве Color текстового поля, изменяет цвет текста в зависимости от значения поля Profit:
=Iif(Fields!Profit.Value < 0, "Red", "Black")
∙При указании следующего выражения в свойстве BackgroundColor элемента отчета в области данных цвет фона каждой строки изменяется от бледно-зеленого до белого:
=Iif(RowNumber(Nothing) Mod 2, "PaleGreen", "White")
Возможно, что при использовании выражения для конкретной области понадобится указать набор данных для статистической функции:
=Iif(RowNumber("Employees") Mod 2, "PaleGreen", "White")
Видимость
∙Выражение для определения видимости строк. Строки отображаются только для значений поля PctQuota больших 90% :
=Iif(Fields!PctQuota.Value>.9, False, True)
∙Следующее выражение при установленных свойствах таблицы Видимость и Скрытый показывает таблицу, только если в ней больше 12 строк:
=IIF(CountRows()>12,true,false)
11.3.5 Использование функций в выражениях
Функции
Многие выражения в отчете содержат вызовы функций. Они позволяют форматировать данные, применять логические операции и производить доступ к метаданным отчета.
DataRate обеспечивает работу с выражениями, использующими функции из библиотеки Visual Basic этапа исполнения, а также из пространств имен System.Convert и System.Math. Допустимо также использование классов платформы Microsoft .NET
462 DataRate
Framework, включая System.Text.RegularExpressions.
Дополнительные сведения о функциях языка Visual Basic for Applications, поддерживаемых в выражениях, можно найти в документации «Visual Basic Run-Time Library» на веб-узле msdn.microsoft.com.
Для манипуляции значениями данных отчета в выражениях можно использовать общие (встроенные) функции.
В редакторе выражений доступны следующие типы встроенных функций:
∙Функции работы со строками
∙Функции даты и времени
∙Математические функции
∙Функции проверки типов
∙Функции выполнения условия
∙Функции преобразования
∙Функции агрегирования
11.3.5.1 Функции работы со строками
Следующая таблица описывает функции форматирования текста. Функции форматирования можно использовать в выражениях для любого элемента отчета.
Модуль отчетов 463
Функции преобразования символа в код символа и обратно
Функция |
Описание |
Пример |
|
|
использ |
|
|
ования |
Asc |
Возвращает целочисленное, значение представляющее код |
=Asc(Fiel |
|
символа. |
ds!Descri |
|
|
ption.Val |
|
|
ue) |
AscW |
Возвращает целочисленное, значение представляющее код |
=AscW(F |
|
символа. |
ields!Des |
|
|
cription.V |
|
|
alue) |
Chr |
Возвращает символ, соответствующий введенному коду. |
=Chr(65) |
|
|
|
ChrW |
Возвращает символ, соответствующий введенному коду. |
=ChrW(2 |
|
|
41) |
Функции форматирования |
|
|
Функция |
Описание |
Пример |
|
|
использ |
|
|
ования |
Format |
Возвращает форматированную строку. |
=Format( |
|
|
Globals! |
|
|
Executio |
|
|
nTime, |
|
|
"Long |
|
|
Date") |
FormatCurrency |
Возвращает выражение, форматированное в денежный |
=Format |
|
формат определенный в панели управления. |
Currency |
|
|
(Fields!Y |
|
|
earlyInco |
|
|
me.Value |
|
|
,0) |
FormatDateTime |
Возвращает строковое выражение, представляющее число в |
=Format |
|
формате даты/времени. |
DateTim |
|
|
e(Fields! |
|
|
BirthDate |
|
|
.Value,D |
|
|
ateForma |
|
|
t.ShortDa |
|
|
te) |
FormatNumber |
Возвращает выражение форматированное как число. |
=Format |
|
|
Number( |
|
|
Fields!W |
|
|
eight.Val |
|
|
ue,2) |
FormatPercent |
Возвращает выражение, форматированное как процент и |
=Format |
|
оканчивающееся символом %. |
Percent( |
|
|
Fields!Sa |
|
|
les.Value |
|
|
/Sum(Fiel |
|
|
ds!Sales. |
|
|
Value, |
|
|
"DataSet |
|
|
1"),0) |
Функции изменения регистра |
|
464 DataRate
Функция |
Описание |
Пример |
|
|
использ |
|
|
ования |
LCase |
Возвращает строку, приведенную к нижнему регистру. |
=LCase( |
|
|
Fields!De |
|
|
scription. |
|
|
Value) |
UCase |
Возвращает строку или символ, приведенный к верхнему |
=UCase( |
|
регистру. |
Fields!De |
|
|
scription. |
|
|
Value) |
Функции работы с пробелами |
|
|
Функция |
Описание |
Пример |
|
|
использ |
|
|
ования |
LTrim |
Возвращает строку, содержащую копию заданной строки без |
=LTrim(Fi |
|
символов пробелов в начале строки. |
elds!Des |
|
|
cription.V |
|
|
alue) |
RTrim |
Возвращает строку, содержащую копию заданной строки без |
=RTrim(F |
|
символов пробелов с правого края строки. |
ields!Des |
|
|
cription.V |
|
|
alue) |
Trim |
Возвращает строку, содержащую копию заданной строки без |
=Trim(Fie |
|
символов пробелов с обеих сторон строки. |
lds!Descr |
|
|
iption.Val |
|
|
ue) |
Space |
Возвращает строку, содержащую заданное количество |
=Space(3 |
|
пробелов. |
) |
Функции поиска и фильтрации
Модуль отчетов 465
|
|
|
Функция |
Описание |
Пример |
|
|
|
|
|
|
|
использ |
|
|
|
|
|
|
ования |
|
|
|
Filter |
Возвращает массив, содержащий строки соответствующие |
=Filter(P |
|
|
|
|
|
критерию. Параметры: |
arameter |
|
|
|
|
|
∙ |
sourcearray - одномерный массив, элементы которого |
s!Multival |
|
|
|
|
|
являются строками. |
ueParam |
|
|
|
|
∙ |
match - образец поиска. Строка, вхождение которой ищется |
eter.Valu |
|
|
|
|
|
в каждом элементе исходного массива. |
e, "3", |
|
|
|
|
∙ |
include - необязательный аргумент булевого типа. По |
True, |
|
|
|
|
|
умолчанию имеет значение True, означающее, что |
vbBinary |
|
|
|
|
|
элементы, удовлетворяющие образцу, входят в |
Compare |
|
|
|
|
|
результирующий массив. Если задано значение False, то |
) |
|
|
|
|
|
результирующий массив составляется из элементов, не |
|
|
|
|
|
|
удовлетворяющих образцу. |
|
|
|
|
|
∙ |
compare - вид сравнения: vbBinaryCompare - двоичное |
|
|
|
|
|
|
побитовое, vbTextCompare - текстовое. |
|
|
|
|
GetChar |
Возвращает символ в строке по заданному индексу. |
=GetCha |
|
|
|
|
|
|
|
r(Fields! |
|
|
|
|
|
|
Descripti |
|
|
|
|
|
|
on.Value, |
|
|
|
|
|
|
5) |
|
|
|
InStr |
Возвращает индекс начальной позиции первого вхождения |
=InStr(Fi |
|
|
|
|
|
строки в другой строке. |
elds!Des |
|
|
|
|
|
|
|
cription.V |
|
|
|
|
|
|
alue, |
|
|
|
|
|
|
"car") |
|
|
|
InStrRev |
Возвращает позицию первого вхождения одной строки в |
=InStrRe |
|
|
|
|
|
другой, начиная с правого края строки. |
v(Fields! |
|
|
|
|
|
|
|
Descripti |
|
|
|
|
|
|
on.Value, |
|
|
|
|
|
|
"car") |
|
|
|
Left |
Возвращает строку, содержащую определенное количество |
=Left(Fiel |
|
|
|
|
|
символов с левого края строки. |
ds!Descri |
|
|
|
|
|
|
|
ption.Val |
|
|
|
|
|
|
ue,4) |
|
|
|
Right |
Возвращает строку, содержащую заданное количество |
=Right(Fi |
|
|
|
|
|
символов с правой стороны строки. |
elds!Des |
|
|
|
|
|
|
|
cription.V |
|
|
|
|
|
|
alue,4) |
|
|
|
Split |
Возвращает массив, содержащий определенное количество |
=Split(Fie |
|
|
|
|
|
подстрок.Предполагается, что исходная строка состоит из |
lds!ListW |
|
|
|
|
|
элементов (подстрок), разделенных специальными |
ithComm |
|
|
|
|
|
символами - разделителями. Функция Split возвращает |
as.Value, |
|
|
|
|
|
одномерный массив из элементов строки. |
",") |
|
|
|
|
|
Параметры: |
|
|
|
|
|
|
∙ |
expression - строковое выражение, результат которого |
|
|
|
|
|
|
задает строку - источник, состоящую из элементов и |
|
|
|
|
|
|
разделителей. |
|
|
|
|
|
∙ |
delimeter - строка, задающая последовательность |
|
|
|
|
|
|
символов, используемых в качестве разделителя. Если этот |
|
|
|
|
|
|
параметр опущен, то по умолчанию предполагается, что в |
|
|
|
|
|
|
роли разделителя выступает пробел. |
|
|
|
|
|
∙ |
limit - необязательный параметр, позволяющий ограничить |
|
|
|
|
|
|
число возвращаемых элементов. По умолчанию его |
|
|
|
|
|
|
значение равно -1, означающее выделение всех элементов. |
|
|
|
|
|
∙ |
compare - необязательный параметр, имеющий |
|
|
DataRate |
|
|
|
||
466 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Другие функции
Функция |
Описание |
Пример |
|
|
|
|
использо |
|
|
|
вания |
Join |
Восстанавливает строку по ее элементам, хранящимся в |
=Join(Par |
|
|
массиве, добавляя разделители в момент их объединения. |
ameters! |
|
|
Если второй аргумент функции разделитель опущен, то |
Multivalu |
|
|
элементы разделяются пробелами. |
eParame |
|
|
|
|
ter.Value, |
|
|
|
";") |
Replace |
Возвращает строку, в которой заданные подстроки были |
=Replace |
|
|
заменены другими строками определенное количество раз. |
(Fields!D |
|
|
|
|
escription |
|
|
|
.Value,"tu |
|
|
|
be","head |
|
|
|
light") |
StrReverse |
Возвращает строку, в которой инвертирован порядок |
=StrReve |
|
|
символов. |
rse(Field |
|
|
|
|
s!Descrip |
|
|
|
tion.Valu |
|
|
|
e) |
StrComp |
Возвращает -1, 0 или 1 основываясь на результате сравнения |
=StrCom |
|
|
строк. |
p(Fields! |
|
|
|
|
Descripti |
|
|
|
on.Value, |
|
|
|
First(Fiel |
|
|
|
ds!Descri |
|
|
|
ption.Val |
|
|
|
ue)) |
StrConv |
Возвращает строковое значение, преобразованное указанным |
=StrConv |
|
|
способом.Функция StrConv имеет следующие аргументы: |
(Fields!D |
|
|
∙ |
строка - Обязательный аргумент. Преобразуемое строковое |
escription |
|
|
выражение. |
.Value,vb |
|
∙ |
тип_преобразования - Обязательный аргумент. Значение |
ProperCa |
|
|
типа Integer. Сумма значений, определяющих тип |
se) |
|
|
выполняемого преобразования |
|
|
∙ |
идентификатор - Необязательный аргумент. Значение |
|
|
|
идентификатора языка, если он отличается от системного |
|
|
|
(системный идентификатор языка используется по |
|
|
|
умолчанию) |
|
|
Аргумент тип_преобразования может принимать следующие |
|
|
|
значения: |
|
|
|
∙ |
vbUpperCase Преобразование знаков строки в верхний |
|
|
|
регистр. |
|
|
∙ |
vbLowerCase Преобразование знаков строки в нижний |
|
|
|
регистр. |
|
|
∙ |
vbProperCase Преобразование первой буквы каждого слова |
|
|
|
строки в прописную. |
|
|
∙ |
vbUnicode Преобразование строки в Юникод в соответствии |
|
|
|
с системной кодовой страницей по умолчанию. |
|
|
∙ |
vbFromUnicode Преобразование строки из Юникода в знаки |
|
|
|
системной кодовой страницы по умолчанию. |
|
StrDup |
Возвращает строку содержащую символ, повторенный |
=StrDup( |
|
|
заданное количество раз. |
3,"M") |
Модуль отчетов 467