Copyright: © 2003 НКТ Индастриз


Вспомогательные функции при работе с программой

Для облегчения работы с большими наборами данных в программе предусмотрены следующие вспомогательные функции:

 Отчёт

 Поиск

 Сортировка

 Фильтрация


Отчёт
Отчёт по набору данных активного окна

см. также         пример отчёта

Если требуется сохранить или распечатать информацию активного окна, содержащего записи клиентов, точек обслуживания и т. д., то составляется отчет в нужном формате (HTML, Текст, MS Excel) и записывается в указанный файл.

Для составления отчета выполните следующие действия:

• Откройте требуемое окно и нажмите кнопку [image] [Отчет] на панели инструментов, или клавиши Ctrl+R, или выберите команду Отчет во всплывающем меню.

На экран выведется окно запроса:

По умолчанию флаг «Только выделенные» включен и означает, что в отчет войдут только записи объектов, выделенные в графе «В отчет». При выключенном флаге отчет будет содержать все записи активного окна.

Флаг «Включить дочернюю таблицу» включается в том случае, если в отчет необходимо включить как основную информацию (из родительской таблицы), так и детализирующую информацию (из дочерней таблицы). Например, отображение информации о выбранных группах ТО (родительская таблица) с детализирующей информацией о ТО (дочерняя таблица), входящих в выбранные группы.

В поле «Файл отчета» задается путь файла для записи отчета.

По кнопке [Создать] отчет формируется и записывается в указанный файл.

По кнопке [Просмотр] сформированный отчет отображается на экране.

• Введите путь файла отчета.

• Установите требуемые флаги, формат файла отчета и нажмите кнопку [Просмотр] (или [Создать]).

Кнопкой [Закрыть] осуществляется выход из диалоговога окна.


Поиск

см. также

Поиск записей производится в активном окне просмотра. Вызов диалогового окна "Поиск" выполняется нажатием кнопки [image] [Поиск] на панели инструментов, или сочетанием клавиш Ctrl+F, или выбором пункта "Искать" из всплывающего меню (данное меню вызывается однократным нажатием правой клавиши в любом месте рабочей области активного окна просмотра).

Окно поиска элементов таблиц данных

В заголовке окна отображено название текущей таблицы.

В выпадающем списке группы "Поле поиска" предлагается выбрать поле, в котором будет выполнятся поиск. В строке состояния, находящейся в этой же группе, отображается информация о текущем поле:

•	Тип поля – может принимать следующие значения:

o	«физическое» – значение поля равно значению в БД;

o	«рассчитанное» – значение поля рассчитано на основании значений иных полей (по такому полю не могут быть выполнены сортировка и фильтрация набора данных);

o	«ссылка» – ссылка на другое поле, копия значения другого поля;

o	«агрегатное» – итоговое значение; например, сумма всех значений какого-то поля;

o	Если по этому полю есть индекс, то к строке добавляется значение «[индекс]»;

•	Тип данных поля:

o	«текст»;

o	«валюта»;

o	«число»;

o	«время»;

o	«дата»;

o	«дата и время»;

o	«булев» – логическое выражение;

o	«автоcчетчик» – автоматически увеличивающееся целое число;

•	Тип отображения данных поля:

o	«форматированное значение» – если к отображению значения поля было применено форматирование (маска к числу, времени, дате и т.п.);

o	«хранимое значение» – без форматирования значения поля.

Ввод значения поиска осуществляется в поле «Искать значение», которое одновременно является выпадающим списком, хранящим последние 15 введенных ранее значений поиска.

Группа «Текущая запись» содержит информацию о текущем поле набора данных, по которому осуществляется поиск. В верхней части группы по центру отображается название текущего просматриваемого поля. По умолчанию оно совпадает с тем полем, по которому осуществляется поиск – тогда текст надписи имеет синий цвет, иначе – серый.

Просмотр других полей текущей записи осуществляется по кнопкам «Предшествующее поле» и «Следующее поле», находящимся соответственно слева и справа от поля, в котором отображено значение текущего поля текущей записи (далее – поле текущей записи).

Под самим полем текущей записи расположены:

•	информация о номере текущей записи в наборе данных;

•	кнопки навигации по текущему набору данных;

•	кнопки управления отображением значения в поле текущей записи:

o	Первая кнопка имеет изображени замка и предназначена для определения того, оставаться ли на том поле набора данных, по которому осуществляется поиск, либо на том, которое выбрано пользователем кнопками. «Предшествующее поле» и/или «Следующее поле». Если необходим первый вариант, то эта кнопка должна быть отжата и иметь подсказку «Просмотр на поле поиска», иначе – нажата с подсказкой «Просмотр фиксирован на заданном поле».

o	Вторая кнопка видима только тогда, когда тип отображения данных текущего поля имеет форматированное значение. Она предназначена для выбора того, как отображать значение этого поля: форматированным (как в наборе данных) или хранимым. Например, поле «Название группы» в наборе данных «Группы эмитентов» отображает значение по маске «[d] s», где d – номер группы, s – название группы, т.е. группа с номером 181 и названием «TEST» отображается как «[181] TEST». В отжатом положении кнопка имеет подсказку «Просмотр форматированного значения» и отображает форматированное значение поле. Если кнопка нажата, то она содержит подсказку «Просмотр хранимого значения», а значение поля отображено так, как оно выглядит без применения форматирования.

Просмотр форматированного значения поля

Просмотр хранимого значения форматированного поля

Группа «Настройки» содержит следующие параметры поиска:

•	Выбор совпадения значения поиска со значением в наборе данных:

o	«Полное совпадение» (ABC) – значения должны совпадать полностью;

o	«С началом поля» (Abc) – значение поиска должно быть началом искомого значения;

o	«С любой частью поля» (aBc) – значение поиска может быть любой частью искомого значения;

•	Флаг «По форматированному значению» (доступен только тогда, когда поиск осуществляется по полю с форматированным значением) – при установленном флаге поиск осуществляется по форматированному значению поля, иначе – по хранимому значению форматированного поля;

•	Флаг «С учетом регистра» – поиск осуществляется строго с учетом регистра введенного значения поиска и искомого значения;

•	Флаг «Без учета крайних пробелов» – значение поиска будет сравниваться с искомым значением, из которого убраны (при их наличии) крайние пробелы;

•	Флаг «Инверсионный поиск» – поиск тех значений, которые не подходят под указанные условия поиска.

Установленные значения всех элементов в группе «Настройки» запоминаются.

Поля поиска соответствуют полям записи клиента в окне просмотра. Поиск производится только по одному полю.

Если поиск будет происходить по полю «В отчет», то чтобы найти записи клиентов, помеченные

в графе «В отчет», в поле «Текст для поиска» необходимо ввести знак «+». При поиске записей клиентов, непомеченных в графе «В отчет», в поле «Текст для поиска» вводится знак «-».

При поиске по другим полям в поле «Текст для поиска» вводится дополнительная информация для поиска.

Поле «Текст для поиска» сохраняет ранее введенные значения поиска, которые вызываются нажатием кнопки [image].

При включенном флаге «Фраза целиком» ищутся записи, поле поиска которых полностью совпадает с введенным текстом для поиска. При выключенном флаге ищутся записи, поле которых начинается с введенного текста.

При включенном флаге « С учетом регистра» при поиске учитывается регистр букв (прописные или строчные).

Поиск записей выполняется после нажатия одной из трех кнопок внизу окна. Найденная запись помечается курсором.

При нажатии на кнопку [Первую] поиск производится с первой записи окна.

При нажатии на кнопку [Вверх] поиск производится вверх от текущей записи, а при нажатии кнопки [Вниз] – вниз от текущей записи, причем текущая запись в область поиска не включается.

При нажатии кнопки [Обратить выделение] осуществляется выделение текущей записи в наборе данных поиска.

При нажатии кнопки [Закрыть] осуществляется выход из диалоговога окна.


Сортировка

см. также

Сортировка записей в активном окне просмотра по заданным полям сортировки  выполняется по кнопке [image] [Сортировка], или по команде  всплывающего меню Сортировка, или нажатием клавиши Ctrl+S.

Рассмотрим выполнение операции Сортировка на примере  поиска записей эмитенты.

После запуска команды Сортировка на экран выводится окно для задания полей сортировки.

В левой части окна отображаются возможные поля сортировки, которые соответствуют полям записи клиента в окне просмотра.

Параметры сортировки формируются в правой части окна и включают:

1. Состав полей сортировки

2. Порядок сортировки

3. Направление сортировки

Состав полей сортировки формируется из возможного списка полей окна с помощью кнопок между двумя списками.

Порядок сортировки в сформированном списке можно изменить, перемещая выбранный пункт вверх или вниз при помощи компьютерной мыши.

Направление сортировки (убывающая или возрастающая) определяется в левом поле сформированного состава полей. По умолчанию - сортировка возрастающая.


Фильтрация

см. также

При большом количестве записей в базе данных увеличивается время поиска требуемых записей в активном окне просмотра. Используя возможности команды Фильтрация, на экране можно отобразить записи, отфильтрованные по различным полям. Команда Фильтрация может быть запущена по кнопке [image] [Фильтрация] на панели инструментов, или нажатием клавиш Ctrl+A, или из всплывающего меню. После запуска команды на экран выведется запрос:

Поля фильтрации соответствуют основным полям записей окна просмотра.

• Выберите  поля и условия фильтрации и нажмите кнопку [Применить].

Фильтрация по числовым полям с использованием операторов <, >,= и т.д. проводится обычным способом. При формировании фильтра по текстовым полям необходимо учитывать, что всем символам русского  (латинского) алфавита присвоены уникальные номера в следующем порядке: от «а» до «я» («а»… «z») и от «А» до «Я» («A»… «Z»). Таким образом, признак фильтрации «Название > В» будет означать «отобразить все записи, содержимое поля «Название» которых начинается с заглавных букв, следующих в алфавите за буквой «В».

Для создания более сложных условий предусмотрено расположенное внизу окна «Поле для ручного ввода условий фильтрации», которое добавляется к основному в соответствии с выбранным логическим оператором ("И","ИЛИ"). В данном поле возможно использование стандартных и пользовательских функций и операторов, определённых в языке PL. Для определения имён полей таблицы используйте двойной щелчок мыши на соответствующем названии ("№ в БД", "Название", "Информация" и т.д.).


Пример отчёта


Функции
Стандартные функции PL

см. также

более подробное описание и примеры использования смотрите в документации производителя

Функции для работы с датами:

ADD_MONTH(d,n)	Добавление месяца

LAST_DAY(d)	Определение последнего дня

MONTH_BETWEEN(d1,d2)	Нахождение между месяцами

NEXT_DAY(d,c)	Определение следующего дня

ROUND(d,[frm])	Округление

SYSDATE	Определение системной даты

TRUNC(d,[frm])	Усечение

Функции преобразования:

TO_CHAR(d,[frm])	Конвертация в строку

TO_NUMBER(c)	Конвертация в число

TO_DATE(c,frm)	Конвертация в дату по формату

Функции для работы со строками:

CONCAT(c1,c2)	Конкатенация строк

LOWER(c)	В нижний регистр

UPPER(c)	В верхний регистр

LTRIM(c)	Удаление пробелов слева

RTRIM(c)	Удаление пробелов справа

TRIM(c)	Удаление пробелов

LENGTH(c)	Длина строки

SUBSTR(c1,c2)	Нахождение подстроки

Числовые функции:

ABS(n)	Абсолютное значение

CEIL(n)	Наименьшее целое, большее или равное n

EXP(n)	Экспонента в степени n

LN(n)	Натуральный логарифм от n

FLOOR(n)	Наибольшее целое, меньшее или равное n

LOG(m,n)	Логарифм m по основанию n

MOD(m,n)	Целочисленное деление m на n

POWER(m,n)	в степени n

ROUND(n[,m])	Округление n с точностью m

SQRT(n)	Квадратный корень из n

TRUNC(n[,m])	Усечение n с точностью m

Прочие функции:

NVL(expr1, expr2)	Проверка на NULL expr1

USER	Текущий пользователь сеанса

USERENV(option)	Параметры текущей сессии


Операторы
Стандартные операторы PL

см. также

более подробное описание и примеры использования смотрите в документации производителя

Арифметические операторы:

-	Удаление	-(5 - 6)=11

+	Сложение	+6=16

*	Умножение	*2=4

/	Деление	/2=2

**	Возведение в степень	**3=8

Логические операторы:

OR	"ИЛИ"	(True OR False)=True

AND	"И"	(True AND False)=False

NOT	Отрицание	(NOT True)= False

Операторы сравнения:

=	Равенство	=1

>	Больше	>2

<	Меньше	<5

>=	Больше или равно	>=5

<=	Меньше или равно	<=7

<>,=!	Не равно	3<>8

Строчные операторы:

||	Конкатенация (объединение)	'Стро'||'ка'

Прочие операторы:

BETWEEN a AND b	Нахождение в интервале от a до в	BETWEEN 1 AND 3

IN (a,b,c)	Нахождение в множестве a,b,c	IN (1,3,7,8)

LIKE '%abc%'	Соответствие шаблону	'Вова' LIKE '%ов%'

LIKE 'abc%' ESCAPE '%'	Соответствие шаблону, исключая служебный символ %	'Вова%' LIKE 'а% 'ESCAPE '%'

IS NULL	Соответствие пустому значению NULL	IS NULL


NULL - Пустое значение записи, сравнение A=NULL неверно, используйте оператор IS NULL.


Шаблоны оператора LIKE составляются в виде строки. При необходимости используется символ % для обозначения включения.


PL-  Структурированный язык запросов (реализация СУБД Oracle).