Мельница данных (одним файлом) (24.03.2023) |
1. Технологическая платформа "Мельница Данных" |
2. Руководство пользователя обозревателя данных |
2.1. Запуск обозревателя данных |
Для начала работы необходимо запустить исполняемый файл DataBrowser.exe. Это можно сделать посредством ярлыка, создаваемого инсталлятором Системы: При его запуске отобразится окно входа в систему: Для запуска системы необходимо заполнить поля формы входа в систему, после чего нажать кнопку ОК или клавишу Enter на клавиатуре. Если система ранее запускалась на Вашем локальном компьютере, то поля формы (за исключением поля Пароль) будут заполнены данными, введенными в прошлый раз. Если система на компьютере запускается впервые, то при открытии формы ее поля будут пустыми. Для заполнения полей формы необходимо знать, на каком типе сервера БД работает система, имя базы данных, с которой предстоит работать, имя пользователя и пароль. Если Вы не располагаете такой информацией, узнайте ее у администратора системы.
Если Вы установили флажок "Входить автоматически", но хотите изменить ранее введенную в поля информацию, необходимо выполнить щелчок мышью (здесь и далее "щелчок мышью" означает щелчок ЛЕВОЙ кнопкой мыши. Если необходим щелчок ПРАВОЙ кнопкой мыши, то будет указано "щелчок правой кнопкой мыши") на форме во время ее показа. После этого можно будет изменить ранее установленные в полях значения. |
2.2. Элементы интерфейса пользователя |
При входе в систему на экране отобразиться ее главное окно. Макет главного окна системы: В заголовке главного окна системы отображается имя запущенного приложения (Databrowser.exe), имя пользователя (sysdba) и имя базы данных (C:\project\databases\icecream.fdb). Интерфейс состоит из трех основных элементов:
|
2.3. Работа с формами и таблицами данных |
Для отображения записей об учитываемых в системе объектах используются формы с таблицами данных. Каждая форма представляет собой отдельное окно с заголовком, на котором отображается ее наименование. Основную часть окна формы занимают таблицы данных. Переключаться между доступными формами можно либо при помощи щелчка мышью по иконке, соответствующей форме на Панели инструментов, либо при щелчке мышью на самом окне формы (если форма видна). В каждый момент времени активной является одна из форм (или ни одной). Окно формы можно "перетаскивать" (здесь и далее "перетащить" объект означает подвести к нему указатель мыши, нажать левую кнопку, удерживая кнопку переместить объект на новое место, после чего отпустить кнопку мыши) по экрану за заголовок, изменять его размеры, минимизировать, восстановить, раскрывать на весь экран или закрывать. Эти действия осуществляются стандартным для среды Windows образом. При закрытии формы соответствующая ей иконка на панели инструментов будет отображена неактивной. При щелчке мышью по такой иконке форма откроется, и иконка станет активной. Таблицы данных в форме расположены на закладках с заголовками, соответствующими наименованиям таблиц данных. Например, на предыдущем рисунке активна форма "Продажи мороженого". В этой форме на первом уровне расположены таблицы данных "Регионы", "Сорта мороженого", "Сорта фруктового мороженого", "Представительства", "Все продажи". Активной в настоящее время является таблица данных "Представительства". |
2.3.1. Подчиненные таблицы данных и взаимное расположение главной и подчиненных таблиц |
Таблицы данных могут иметь подчиненные таблицы. Подчиненные таблицы по умолчанию отображаются в нижней части главной таблицы. Набор записей, отображаемых в подчиненной таблице, зависит от того, какие записи выбраны в главной таблице. Например, на рисунке в главной таблице "Представительства" выбрано представительство ООО "Холод плюс". При этом в подчиненной таблице "Продажи представительства" отображаются только те продажи, которые осуществлены данным представительством. Подчиненные таблицы могут располагаться двумя способами:
Изменять соотношение размера главной и подчиненных таблиц можно путем перетаскивания горизонтального разделителя мышью. Для этого необходимо подвести указатель мыши к границе раздела зон главной и подчиненных таблиц и когда курсор примет форму горизонтального разделителя ( При отображении подчиненных таблиц на закладках занимаемая ими область также может быть минимизирована. Для этого необходимо подвести курсор к границе раздела зон главной и подчиненной таблиц и когда он примет форму горизонтального разделителя ( Восстановить отображение подчиненных таблиц можно либо путем нажатия кнопки "Восстановить" ( |
2.3.2. Отображение учитываемых объектов в таблице данных |
Таблица данных имеет строки и колонки. Строки таблицы (или записи) соответствуют учитываемым объектам. Колонки таблицы соответствуют свойствам объектов. На рисунке представлен макет таблицы данных, в которой отображаются объекты, соответствующие сортам фруктового мороженого. Таблица данных имеет наименование "Сорта фруктового мороженого", которое отображается на соответствующей закладке (1). Таблица имеет пять строк (2), соответствующих пяти сортам фруктового мороженого. Выделенной в настоящее время является первая строка. Таблица имеет пять колонок, соответствующих свойствам учитываемых сортов мороженого. Каждая колонка имеет заголовок (4), отражающий отображаемое в этой колонке свойство. Активной в настоящее время является первая колонка. Активным элементом данных (3) является ячейка, расположенная в первой строке в первом столбце. На рисунке активная строка и активный элемент данных выделяются оттенками синего цвета. Цвета, применяемые для выделения элементов данных, зависят от локальных настроек операционной системы Windows (стилей) на компьютере пользователя. Под заголовком каждой колонки расположена строка фильтра (5). При помощи ввода в этой строке условия отбора или выбора значений из выпадающего списка можно осуществлять фильтрацию отображаемых в таблице данных. Если отображаемые данные не помещаются в окно по ширине, то активной становится горизонтальная полоса прокрутки (7). С ее помощью можно пролистывать колонки таблицы вправо и влево. Если данные не помещаются в окно по вертикали, то активной становится вертикальная полоса прокрутки (8). С ее помощью можно пролистывать записи об объектах вверх и вниз. При щелчке правой кнопкой мыши на полосе прокрутки (если она активна) доступны действия по быстрой прокрутке содержимого таблицы. При щелчке правой кнопкой мыши в области таблицы данных отображается контекстное меню. Контекстное меню отображает список действий, доступных над объектами, отображаемыми в таблице данных. Вызываемые действия выполняются для тех объектов, которые являются выделенными в таблице данных. Если ни одного объекта не выделено, некоторые действия контекстного меню могут быть недоступны. Набор действий, отображаемых в контекстном меню различен в разных таблицах данных.
|
2.3.2.1. Иерархические таблицы данных |
Если отображаемые в таблице данные имеют иерархическую структуру (т.е. присутствует "вхождение" одних объектов в другие), то в таблице данных объекты могут отображаться в виде "дерева". На рисунке представлена таблица данных, отображающая периоды обучения студентов. Эти данные имеют иерархическую структуру, которая отражает вхождение учебных модулей в состав семестров, а семестров в состав учебных годов. В первой колонке иерархической таблицы данных слева от элементов данных, имеющих подчиненные элементы, отображаются значки В иерархических таблицах данных доступны дополнительные действия по управлению отображением и выбору объектов, которые описаны в разделе 4.7.1. |
2.3.3. Выбор объектов в таблице данных |
Выбор одного объекта в таблице данных может осуществляться либо щелчком мышью в соответствующей строке, либо при помощи стрелок ("вверх" и "вниз") на клавиатуре. Выбор активной колонки и активного элемента данных также может производиться щелчком мышью или при помощи стрелок ("вправо" и "влево") на клавиатуре. В таблице данных можно также осуществлять произвольный выбор нескольких объектов путем установки флажка в строке, отображающей объект. Установка или снятие флажка производится при помощи щелчка мышью. При выборе нескольких объектов в главной таблице в подчиненной таблице будут отображены записи, соответствующие подчиненным объектам, отобранным для ВСЕХ объектов, выбранных в главной таблице. На рисунке представлена таблица данных "Учащиеся", имеющая ряд подчиненных таблиц. На рисунке открыта подчиненная таблица "Родственники и контактные лица". В таблице данных "Учащиеся" путем установки флажка произвольным образом выбраны три учащихся с фамилиями Матвеева, Зимогляд и Анчевский. При этом в подчиненной таблице "Родственники и контактные лица" отображены родители всех троих учащихся. При выборе объектов путем простановки флажков необходимо осуществлять щелчок мышью именно на флажке. Если выполнить щелчок мышью в любой другом месте записи, ранее установленные флажки будут сняты, и выбранной станет одна эта запись. Для быстроты и удобства выбора объектов доступны дополнительные возможности:
При выборе объектов изменяется информация, отображаемая Инспектором объектов. Если выбран один объект, то Инспектор объектов отображает и позволяет редактировать все доступные пользователю свойства этого объекта. Если выбрано несколько объектов, отображение и редактирование свойств Инспектором объектов происходит по правилам, описанным в разделе 5 "Работа с Инспектором объектов". При выполнении действий над объектами выбранное действие будет выполнено для всех выбранных объектов. Если не выбрано ни одного объекта, некоторые действия могут быть недоступны. При одновременном выборе большого числа объектов быстродействие системы может снижаться. При необходимости работы с большой выборкой объектов лучше воспользоваться возможностью фильтрации данных. |
2.3.4. Изменение порядка отображения колонок |
Порядок отображения колонок может быть изменен путем "перетаскивания" их заголовков. Для того чтобы переместить колонку правее или левее, подведите указатель мыши к заголовку колонки, нажмите левую кнопку мыши и, не отпуская ее, перетащите заголовок колонки вправо или влево. После того, как Вы отпустите кнопку мыши, порядок отображения колонок изменится. На рисунке изображено перетаскивание заголовка колонки "Вид упаковки" в таблице данных "Сорта мороженого". После того, как кнопка мыши будет отпущена, колонка "Вид упаковки" станет третьей слева, а колонка "Число продаж" второй. |
2.3.5. Скрытие и отображение колонок |
Любая из видимых в таблице данных колонок может быть скрыта. Для этого необходимо выделить любой элемент данных в колонке, щелчком правой кнопкой мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Скрыть эту колонку". На рисунке показано как скрыть колонку "Вид упаковки" в таблице данных "Сорта мороженого". Описанным выше образом можно скрыть любое число колонок таблицы данных кроме последней. Если в таблице данных осталась одна колонка, то действие "Скрыть эту колонку" будет недоступно. Для отображения скрытых ранее колонок таблицы данных необходимо воспользоваться действием "Показать скрытые колонки" в подменю "колонка" контекстного меню. (На рис. 12. действие располагается ниже действия "Скрыть эту колонку"). Если ни одной колонки таблицы данных не скрыто, то действие "Показать скрытые колонки" будет недоступно. Действия, расположенные в подменю "колонка" доступны также на панели инструментов. |
2.3.6. Сортировка данных в таблицах |
Отображаемые в таблице данные могут быть отсортированы по возрастанию или по убыванию значений свойств, отображаемых в одной или нескольких колонках. Для сортировки данных по одной колонке необходимо выполнить щелчок мышью не ее заголовке. Данные будут отсортированы по возрастанию значения в этой колонке. Если щелкнуть мышью по заголовку колонки еще раз, то данные будут отсортированы по убыванию значения в этой колонке. В заголовке конке появится стрелочка, отображающая порядок сортировки (направленная вверх в случае сортировки по возрастанию и вниз в случае сортировки по убыванию). Если выполнить щелчок мышью по заголовку другой колонки, то данные будут отсортированы по значению в новой колонке. На рисунке данные в таблице данных "Учащиеся" отсортированы по значению в колонке "Фамилия" по возрастанию. В заголовке колонки "Фамилия" отображается направленная вверх стрелочка. Для сортировки данных по значениям в нескольких колонках необходимо выполнить щелчок мышью на заголовке первой колонки, затем, удерживая клавишу Ctrl, выполнить щелчок по заголовку второй колонки и т.д. При этом в заголовках колонок будут отображаться стрелочки, соответствующие направлению сортировки и цифры, соответствующие порядку колонок в сортировке. На рисунке представлен пример сортировки данных таблицы данных "Учащиеся" по региону (по возрастанию), затем по полу (по убыванию) и затем по фамилии (по возрастанию). В заголовках колонок отображены соответствующие стрелочки с цифрами 1, 2 и 3. В иерархических таблицах данные сортируются в пределах каждого уровня иерархии. На рисунке данные в иерархической таблице данных "Направления и специальности" отсортированы по колонке "Наименование" по возрастанию. |
2.3.7. Группировка данных в таблицах |
Данные в таблице данных могут быть сгруппированы по значениям свойств, отображаемым в одной или в нескольких колонках. Для осуществления группировки по значению в одной из колонок необходимо выделить любой элемент данных в этой колонке. Затем щелчком правой кнопки мыши открыть контекстное меню и в нем в подменю "колонка" выбрать действие "Группировать по этой колонке". На рисунке показано, как при помощи действия в контекстном меню осуществляется группировка данных в таблице данных "Все продажи" по значению в колонке "Представительство". При отображении данных в сгруппированном виде для каждой группы будет отображен заголовок на более темном фоне. В заголовке группы будут отображены наименование и значение свойства, по которому осуществлена группировка, а слева от наименования будет расположен значок На рисунке данные в таблице данных "Все продажи" сгруппированы по значению в колонке "Представительство". Группы объектов, соответствующие представительствам ЗАО "Айс девелопмент", ЗАО "Фрост интернешнл" и ООО "Заморозь соседа", раскрыты. Группы, соответствующие ОАО "Красный нос" и ООО "Дед мороз и лето", свернуты. Данные могут группироваться и по нескольким колонкам. Для этого необходимо повторить описанные выше действия для всех колонок, которые должны быть включены в группировку. На рисунке представлен пример группировки данных, отображаемых в таблице данных "Все продажи" по колонкам "Регион" и "Сорт мороженого". Для снятия группировки и отображения данных в стандартном виде необходимо воспользоваться действием "Очистить группировку", которое также доступно в контекстном меню в подменю "колонка" (на рисунке расположено в выпадающем меню ниже действия "Группировать по этой колонке"). Действия, расположенные в подменю "колонка", доступны также на панели инструментов. |
2.3.8. Фильтрация данных в таблицах | ||||||||||||||||
Фильтрация данных (отображение только тех данных, которые удовлетворяют некоторому условию) осуществляется по значениям, отображаемым в колонках, при помощи строки фильтра. Строка фильтра расположена ниже заголовка колонки. Фильтрация данных может осуществляться двумя способами:
При нажатии кнопки На рисунке показано, как осуществить фильтрацию данных по значению "эскимо" в колонке "Вид упаковки". После выполнения фильтрации эта таблица данных будет выглядеть следующим образом: В таблице данных на рисунке отображены записи только о тех сортах мороженого, которые продаются в виде эскимо. Значение "эскимо" отображено в строке фильтра в колонке "Вид упаковки". Для фильтрации данных по более сложному условию можно воспользоваться вторым способом - записью условия фильтрации в строке фильтра. Условие фильтрации записывается по следующим правилам:
После ввода в строке фильтр требуемого условия необходимо нажать клавишу Enter. В таблице данных "Все продажи" на рисунке отобраны только те записи, для которых верно следующее: Продажи осуществлены в регионе "Москва" или "Тверская область"; при этом наименование проданного сорта мороженого начинается с "Б"; при этом число продаж данного сорта больше 100. Сделать заключение о том, что отображаемые в таблице данные отфильтрованы, можно по наличию в строке фильтра записи отличной от "(Все)". Снять фильтрацию данных можно одним из двух способов:
|
2.3.9. Отображение итоговых значений (агрегатов) по колонкам |
По любой из колонок таблицы данных может быть рассчитано и отображено итоговое значение (агрегат). В зависимости от типа отображаемого в колонке свойства могут быть вычислены следующие агрегаты:
Для отображения агрегата по одной из колонок необходимо выделить элемент данных в этой колонке, при помощи щелчка правой кнопкой мыши отобразить контекстное меню и в нем в подменю "колонка" выбрать действие, соответствующее нужному агрегату. После выполнения этого действия таблица данных будет выглядеть следующим образом: На рисунке в нижней части таблицы данных отображена строка на светло-желтом фоне, в которой в колонке "Число продаж" показана сумма числа всех продаж, отображаемых в таблице. Агрегат может быть вычислен и показан по любой из колонок. Если данные в таблице отфильтрованы, то агрегат будет рассчитан только по тем записям, которые отобраны по условию фильтрации. Если данные в таблице сгруппированы, то агрегаты будут рассчитаны как для всех отображаемых в таблице данных, так и отдельно для каждой группы. На рисунке данные о продажах сгруппированы по региону. Суммы числа продаж и среднее значение выручки отображены как для каждого региона (в строках на ярко-желтом фоне), так и для всех продаж в целом (в строке на светло-желтом фоне внизу таблицы). Если свернуть группы, то можно просматривать только итоговые значения агрегатов для групп и для всех объектов в целом. Агрегаты при этом будут видны только в случае, если они отображаются правее надписи с именем и значением параметра группировки. |
2.3.10. Редактирование данных в таблице |
В таблице данных может редактироваться значение одного свойства одного объекта. Для того чтобы изменить отображаемое в таблице данных значение необходимо выделить требуемый элемент данных щелчком мышью или клавишами со стрелками на клавиатуре, после чего перевести элемент данных в режим редактирования. Это можно сделать одним из двух способов:
После перевода элемента данных в режим редактирования отображаемый в нем текст будет выделен. Текст может быть отображен на белом или на сером фоне. Справа от текста могут появиться кнопки. На рисунке элемент данных в пятой сверху строке в первой колонке (текст "Белоснежка") переведен в режим редактирования. Отображение элемента данных в режиме редактирования зависит от типа отображаемого свойства, доступности свойства для изменения и допустимости установленного значения.
|
2.3.11. Выполнение действий над объектами |
Все действия, которые могут быть произведены над объектами, могут быть выполнены одним из трех способов:
При помощи действий производится добавление, удаление объектов, запуск различных процедур, выполняемых над данными, формирование отчетов. Перечень всех действий, доступных в текущей таблице данных расположен в контекстном меню, которое отображается при нажатии правой кнопки мыши в зоне таблицы данных. Некоторые из действий выполняются для выбранных объектов (одного или нескольких), например, действие "Удалить". Для выполнения других действий выбор конкретного объекта не нужен, например, для действия "Добавить". Выбор действия в контекстном меню может производиться как при помощи мыши, так и при помощи стрелок на клавиатуре. Если для действия установлены " горячие клавиши ", то из обозначения можно будет увидеть в правой части пункта контекстного меню. Действия могут вызываться как при нажатии одной клавиши, так и при помощи сочетания клавиш. В некоторых пунктах контекстного меню может быть расположена стрелка На рисунке изображено контекстное меню, отображающее все действия, доступные над объектом, соответствующим студенту Алехиной Елене Михайловне. Действиям "Добавить студента-специалиста", "Удалить" и "Обновить" соответствуют "горячие клавиши". Пункты меню "Перемещения", "Колонка", "Выбранные" имеют подменю. На рисунке открыто подменю пункта "Перемещения". Для некоторых действий могут быть установлены изображения-иконки. В этом случае иконки отображаются на панели инструментов (подробнее в разделе 4.13. "Работа с панелью инструментов"). Если выполнение процедуры или отчета требует задания параметров, то при вызове действия отобразится форма задания параметров. Для выполнения действия необходимо заполнить поля формы и нажать кнопку OK (подробнее в разделе 6 "Работа с формой задания параметров"). Перед выполнением некоторых действий может быть отображено предупреждение. Например, перед удалением объекта может отображаться следующее окно: Если в таком окне нажать кнопку Да, то действие будет выполнено. Если нажать кнопку Нет, то действие будет отменено. |
2.3.12. Работа с панелью инструментов |
На панели инструментов отображаются иконки, соответствующие доступным пользователю действиям и формам. Иконки могут иметь подписи, соответствующие наименованием действий или форм. Вызов действий или переключение между активными формами осуществляется при помощи щелчка мышью на одной из иконок. Если иконок много и они не помещаются на панели инструментов по ширине, то слева или справа отображаются кнопки прокрутки. Для прокрутки содержимого панели инструментов достаточно подвести указатель мыши к кнопке прокрутки. На рисунке представлен пример панели инструментов. Иконки с подписями "Создать", "Удалить", "Колонка", "Выбранные", "Перенос в Excel" соответствуют доступным в текущей таблице данных действиям. Иконки с надписями "Системная форма" и "Продажи мороженого" соответствуют доступным пользователю формам. Справа от иконки "Продажи мороженого" расположена кнопка прокрутки. Подведя указатель мыши к этой кнопке, можно увидеть иконки, расположенные правее и не поместившиеся на панели инструментов. Некоторые кнопки панели инструментов могут иметь выпадающие кнопки. Выпадающие кнопки соответствуют пунктам подменю контекстного меню. Справа от кнопок, имеющих выпадающие кнопки, расположена направленная вниз стрелочка. Если нажать мышью на эту стрелочку, то отобразится панель с выпадающими кнопками. На рисунке кнопки "Колонка" и "Выбранные" имеют выпадающие кнопки. Как и в контекстном меню, на панели инструментов некоторые кнопки могут быть недоступны. Доступность кнопки зависит от того, какие объекты в настоящий момент выделены, и от применимости действия к выделенным объектам. |
2.3.13. Стандартные действия, доступные в любых таблицах данных |
Ряд стандартных действий, доступных объектов любого типа, может быть вызван из любой таблицы данных. Разработчиком конкретной прикладной системы некоторые из перечисленных в данном разделе действий могут быть скрыты. Также перечень доступных стандартных действий зависит от прав доступа конкретного пользователя. Взаимное расположение, наименования и доступность стандартных действий могут зависеть от реализации прикладной системы. В следующих разделах описаны все стандартные действия, реализованные средствами платформы. |
2.3.13.1. Копирование и вставка объектов |
Объекты, отображаемые в таблице данных, можно копировать и вставлять. Вставлять объекты можно как в ту же таблицу данных, из которой они были скопированы, так и в другую таблицу данных, отображающую объекты того же типа. Для этого необходимо выполнить следующие действия:
При копировании и вставке происходит создание копии объекта. Все свойства нового объекта, кроме свойства "Имя" (или замещающего его свойства), будут такими же, как у первичного объекта. Свойство имя будет равно строке, составленной из слова "Копия " и имени первичного объекта. После вставки объекта значение свойства "Имя" можно изменить. Действия "Копировать" и "Вставить" имеют соответствующие иконки на панели инструментов: |
2.3.13.2. Подменю "Колонка" - работа с колонкой |
Действия, доступные в подменю "Колонка" в контекстном меню или на панели инструментов могут быть применены к колонкам любой таблицы данных. Доступность тех или иных действий над колонкой зависит от типа данных, отображаемых в колонке, и от того, какие действия над колонкой уже совершены (например, нельзя вычислить сумму значений строкового типа, или нельзя очистить группировку, если данные не сгруппированы). Иконка "Колонка" на панели инструментов имеет выпадающие кнопки: Действия, доступные в подменю "Колонка", описаны в разделах 4.6. "Скрытие и отображение колонок", 4.8. "Группировка данных в таблицах", 4.10. "Отображение итоговых значений (агрегатов) по колонкам". |
2.3.13.3. Подменю "Выбранные" - работа с выбранными объектами |
Действия, доступные в подменю "Выбранные" позволяют быстро отбирать и снимать отбор с объектов, а также устанавливать режим отображения в таблице данных только тех объектов, которые помечены как выбранные. Иконка "Выбранные" на панели инструментов имеет выпадающие кнопки: Назначение этих действий описано в разделе 4.3. "Выбор объектов в таблице данных". |
2.3.13.4. Перенос в Excel |
Данные, отображаемые в любой из таблиц данных, могут быть перенесены в MS Excel. При этом в MS Excel будут сохранены все настройки отображения данных (сортировка по одной или нескольким колонкам, группировка, отображение итоговых значений). Действие "Перенос в Excel" может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. С данными, перенесенными в MS Excel, далее могут производиться любые манипуляции средствами этого приложения. Если в таблице много записей, то перенос данных в Excel может занять некоторое время. Если это время превышает 10 сек., то отобразится окно, сообщающая, что система находится в работе. В этом окне будет отображен индикатор процесса переноса данных: Действие "Перенос в Excel" имеет соответствующую иконку на панели инструментов: |
2.3.13.5. Экспорт данных |
Отображаемые в таблицах данных объекты могут быть экспортированы в виде xml-документа. Для того, чтобы осуществить экспорт объектов, необходимо выполнить следующее:
|
2.3.13.6. Обновление данных таблицы |
После выполнения действий над различными объектами, хранящимися в системе, их новое состояние может сразу не отобразиться в таблице данных. Для того чтобы получить из базы данных последние актуальные данные необходимо воспользоваться действием "Обновить", которое доступно в контекстном меню, при помощи иконки на панели инструментов, а также может быть доступно при нажатии клавиши F5. Действие "Обновить" имеет соответствующую иконку на панели инструментов: |
2.3.13.7. Доступ к настройкам системы |
При наличии соответствующих прав доступа Вы можете просматривать и изменять настройки системы. Доступ к меню настроек осуществляется при помощи действия "Настройки", которое может быть вызвано из контекстного меню или при помощи иконки на панели инструментов. При вызове этого действия отобразится форма задания настроек. Эта форма аналогична форме задания параметров (см. раздел 6 "Работа с формой задания параметров"). Если Вы имеете права администратора системы, то форма задания настроек, кроме кнопок OK и Отмена, будет иметь кнопку "По умолчанию". При нажатии этой кнопки значения, установленные в полях формы станут значениями настроек по умолчанию. Если в системе нет доступных для текущего пользователя настроек, то при вызове действия "Настройки" отобразится окно: Действие "Настройки" имеет соответствующую иконку на панели инструментов: |
2.3.13.8. Дополнительные действия, доступные в иерархических таблицах данных |
В иерархических таблицах данных дополнительно доступны действия, позволяющие управлять раскрытием и свертыванием элементов иерархии. Эти действия расположены в подменю "Дерево". Иконка "Дерево" на панели инструментов имеет выпадающие кнопки: При помощи этих действий можно управлять отображением дерева иерархически организованных объектов следующим образом:
|
2.4. Работа с Инспектором объектов |
2.4.1. Отображение свойств Инспектором объектов |
Инспектор объектов предназначен для просмотра и редактирования свойств одного или нескольких объектов, выбранных в активной таблице данных. Инспектор объектов имеет две колонки. В левой колонке отображаются наименования свойств, в правой колонке отображаются значения свойств. Набор отображаемых свойств и их значений зависит от того, сколько объектов каких типов выбрано в текущей таблице данных (подробнее о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Свойства выбранных объектов отображаются Инспектором объектов по следующим правилам:
На рисунке представлен пример таблицы данных, отображающей учитываемые в системе сорта мороженого. Среди сортов мороженого есть как обычные сорта, так и сорта фруктового мороженого, дополнительно обладающие свойством "Фрукт". В таблице данных выделен один объект, соответствующий сорту фруктового мороженого "Тропический рай". При этом Инспектор объектов отображает все свойства данного объекта (в том числе свойство "Фрукт").
На рисунке в той же таблице данных выбрано два объекта: сорт мороженого "Тропический рай" (фруктовое мороженое) и сорт "Белый Бим черное ухо" (обычное мороженое). При этом в Инспекторе объектов отображаются только те свойства, которые являются общими для выделенных объектов (свойство "Фрукт" не отображается). Значения свойств "Вид упаковки" и "Вес" для выбранных объектов одинаковы, поэтому их значения отображены в правой колонке Инспектора объектов. Значения остальных свойств для данных объектов различны, поэтому для этих свойств отображаются пустые значения. Если изменить одно из свойств в Инспекторе объектов, то новое значение будет установлено как для сорта мороженого "Тропический рай", так и для сорта мороженого "Белый Бим черное ухо". Порядок отображения свойств в Инспекторе объектов устанавливается разработчиком прикладной системы. Также разработчиком прикладной системы может быть установлено отнесение свойств к категориям. В этом случае свойства могут отображаться сгруппированными по категориям. Слева от наименования каждой категории будет отображен значок На рисунке представлен пример отображения Инспектором объектов свойств объекта, соответствующего дисциплине учебного плана студентов. Свойства, отнесенные к категориям "Формы текущего контроля" и "Распределение аудиторных часов по модулям", свернуты. Свойства, отнесенные к категории "Учебные часы" раскрыты. В связи с тем, что выбор свойств объектов для отображения, получение и сравнение их значений происходит по специальному алгоритму, в случае одновременного выбора большого числа объектов скорость работы Инспектора объектов может снижаться. Если на вычисление значения общего свойства группы объектов требуется значительное время, то такое свойство может отображаться как свойство с отложенным вычислением. Для такого свойства в правой колонке вместо значения может отображаться строка (...). При активизации этого свойства справа отобразится кнопка со знаком вопроса |
2.4.2. Управление положением Инспектора объектов на экране и порядком отображения свойств |
Инспектор объектов отображается в отдельном окне. Это окно можно перетаскивать по экрану за заголовок, изменять его размеры стандартным для операционной системы Windows образом. На панели инструментов всегда присутствует иконка Инспектора объектов, при нажатии которой можно отобразить окно Инспектора (если оно не видимо) и сделать его активным: При нажатии правой кнопки мыши в левом столбце Инспектора объектов или в свободном нижнем поле доступно контекстное меню Инспектора объектов. При помощи действий, расположенных в этом меню можно управлять режимом работы окна Инспектора и порядком отображения свойств. Выбор одного из пунктов контекстного меню переводит Инспектор объектов в новый режим работы. После этого рядом с пунктом меню отображается галочка
|
2.4.3. Редактирование значений свойств при помощи Инспектора объектов |
При помощи Инспектора объектов удобно изменять значения свойств одного или одновременно нескольких выбранных объектов (о выборе объектов см. раздел 4.3. "Выбор объектов в таблице данных"). Одно из свойств, отображаемых в Инспекторе объектов, всегда является активным. Активное значение выделяется в Инспекторе объектов рамкой, его значение отображается в режиме редактирования. Отображение свойств в режиме редактирования и способы изменения значений свойств аналогичны редактированию данных в таблице данных (см. раздел 4.11. "Редактирование данных в таблицах"). Отличие работы Инспектора объектов заключается в том, что с его помощью можно изменять значение свойства сразу нескольких выбранных объектов. |
2.5. Работа с формой задания параметров |
Форма задания параметров используется для организации диалога с пользователем по заданию параметров, необходимых для выполнения метода или формирования отчета. Форма задания параметров открывается при вызове действия, для выполнения которого необходимо задать параметры. Форма задания параметров представляет собой форму, содержащую поля различного вида. В правом нижнем углу формы расположены кнопки ОК и Отмена. Слева или сверху от каждого поля расположено его наименование. Наименования поля отражает, какие данные должны быть в него введены. Поля формы объединяются в группы. Группы полей могут располагаться в столбцах или на закладках. На рисунке выше поля формы расположены в двух столбцах. Если поля расположены на закладках, то в верхней части формы отображаются заголовки закладок с их наименованиями. На рисунке представлена та же форма, что и на рисунке выше, но с расположением параметров на закладках. Порядок отображения полей на форме, а также способ их отображения (в столбцах или на закладках) задается разработчиком прикладной системы. Переход от одного поля к другому может осуществляться либо щелчком мышью на новом поле, либо при помощи клавиши Tab на клавиатуре. Переключаться между закладками можно путем нажатия мышью ни их заголовок. Для выполнения действия, требующего задания параметров, необходимо заполнить все обязательные поля формы. После установления допустимых значений все поля формы должны приобрести белый фон. При этом условии кнопка OK станет доступной. После нажатия кнопки OK будет выполнен вызываемый метод или сформирован отчет. Если Вы хотите отменить выполнение действия, нажмите кнопку Отмена. Поля формы могут иметь белый, зеленый или серый фон, а также могут иметь различный внешний вид. Цвет фона зависит от доступности для изменения и допустимости введенного в поле значения. Внешний вид поля зависит от типа данных, которые должны быть в него введены. Возможны следующие варианты внешнего вида полей и способ установления в них значений:
При работе с формой задания параметров рекомендуется устанавливать в полях значения в порядке их следования на форме. Разработчиком прикладной системы может быть установлена зависимость между значениями полей. В этом случае при изменении значения в одном из полей, в других полях значения также могут автоматически измениться. Допустимость значений в одних полях может зависеть от того, какие значения установлены в других полях. Также необходимо помнить о том, что кнопка ОК на форме задания параметров станет доступной только тогда, когда во всех полях будут установлены допустимые значения. |
2.6. Формирование отчетов Microsoft Excel |
Формирование отчетов, выгружаемых в MS Excel происходит при помощи вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров"). Отчеты, выгружаемые в MS Excel, как правило, имеют иконки на панели инструментов, характерные для рабочих книг Excel: При запуске отчета на исполнение происходит создание рабочей книги Excel, в которую передаются данные, хранящиеся в базе данных. Рабочая книга может содержать данные, диаграммы, интерактивные элементы управления, и проч.. Далее средствами MS Excel могут осуществляться любые доступные действия с рабочей книгой. Отчеты в MS Excel используются для вывода на печать документов и стандартных форм отчетности. Шаблоны отчетов создаются разработчиками прикладной системы. Полученный в результате формирования отчета файл MS Excel может далее использоваться для дальнейшей работы с данными, может быть распечатан, сохранен, отправлен по электронной почте и т.п. |
2.7. Формирование отчетов в виде HTML-документов |
В целях публикации отчетной информации в Internet средствами системы могут формироваться отчеты в виде HTML-документов. Формирование таких отчетов происходит путем вызова действий в таблицах данных (подробнее о вызове действий см. раздел 4.12 "Выполнение действий над объектами"). При вызове отчета на выполнение может отобразиться форма задания параметров отчета. Поля этой формы необходимо заполнить, после чего нажать кнопку ОК (подробнее о работе с формой задания параметров см. раздел 6. "Работа с формой задания параметров"). Отчеты, формируемые в виде HTML-документов, как правило имеют иконки на панели инструментов, характерные для приложения MS Internet Explorer: В результате работы отчета создается HTML-документ, который может содержать таблицы с данными, рисунки, ссылки и проч. Сформированный документ показывается при помощи приложения Internet Explorer. Полученный html-файл может быть опубликован в Internet, сохранен, распечатан и т.д. Сформированный html-документ сохраняет связь в базой данных. Если в ранее открытом документе выполнить процедуру обновления, по документ отобразит последнюю версию хранящихся на сервере БД данных. |
2.8. Взаимодействие с разработчиком в случае ошибок, проблем, вопросов по работе системы |
В ситуациях, когда в работе системы происходят ошибки, когда система ведет себя неожиданным для пользователя образом, наблюдаются проблемы с быстродействием или другими аспектами работы системы, если у пользователей возникают вопросы, не освещенные в Руководстве пользователя, возникает необходимость обратиться к разработчику. Для того, чтобы разработчик мог решить проблему или ответить на вопрос быстро, полно и компетентно, ему нужно предоставить информацию о среде работе системы, о решаемых пользователем задачах, последовательности действий пользователя, приведших к проблемной ситуации. Общими принципами сбора информации для обращения к разработчику должны быть:
Для сбора информации, необходимой разработчику для решения проблем, система предоставляет ряд средств: Приложение Отладочный монитор, возможность получения файла, содержащего информацию об ошибке, также ниже приведены рекомендации по получению информации о третесторонних приложениях. |
2.8.1. Приложение Отладочный монитор |
Приложение Отладочный монитор (DebugView.exe) устанавливается при установке платформы в любой конфигурации, предусмотренной по умолчанию, включая конфигурацию "Рабочее место пользователя". Открыть приложение можно при помощи иконки: ![]() Когда приложение Отладочный монитор запущено, приложение Обозреватель данных выводит в него поток сообщений о действиях и событиях, происходящих в системе. В Отладочный монитор попадают все sql-запросы, направляемые с рабочего места пользователя на сервер баз данных (в случае удаленного подключения - html-запросы, направляемые на сервер приложений), информационные сообщения, предупреждения, отладочная информация, сообщения об ошибках и прочие данные. ![]() Для того, чтобы собрать и передать разработчику информацию об ошибке или проблемной ситуации при помощи Отладочного монитора, нужно выполнить следующие действия:
После получения информации, состав которой описан в пункте 5, разработчик может запросить дополнительную информацию о проблеме. |
2.8.2. Получение файла, содержащего информацию об ошибке |
В ходе работы с системой могут отображаться специальные окна с информацией об ошибках. Эти окна могут быть двух видов:
Сохранение информации для направления разработчику. Информация, которая поможет разработчику решить проблему, не отображается в самом окне, поэтому направлять разработчику скриншот именно этого окна не имеет смысла. Для получения необходимой для разработчика информации в окнах с сообщением об ошибке обоих видов расположены ссылки "Показать информацию для службы поддержки" или "Сформировать файл для службы поддержки". По ссылке Показать информацию для службы поддержки информация отображается в том же окне. Весь текст изначально выделен, его можно сразу скопировать и вставить в текстовый файл, в тело письма и т.д. Данный текст содержит сам текст ошибки, а также информацию об операционной системе пользователя и ее версии, загруженных модулях, переменных окружения и проч. ![]() При помощи ссылки Сформировать файл для службы поддержки можно собрать в удобном виде наиболее полную и полезную для разработчика информацию. После нажатия на ссылку будет предложен диалог сохранения файла. По умолчанию файлу будет дано имя ExceptionInfo.err. Это имя можно изменить, но расширение необходимо файла сохранить. После выбора места сохранения и имени файла и нажатия кнопки Сохранить, система отобразить предупреждение: ![]() К данному предупреждению нужно отнестись ответственно - отправлять полученный файл только на адреса службы поддержки системы в вашей организации или на официальный контактный адрес разработчика (если вы взаимодействуете с разработчиком напрямую). После отправки этот файл необходимо удалить. Предоставление разработчику информации в виде.err-файла - это самый удобный и надежный вариант взаимодействия, который даст возможность разработчику решить проблему или ответить на вопрос наиболее эффективным и быстрым образом. Данный файл содержит все виды информации, которые могут быть собраны другими способами:
При отправке файла разработчику дополнительно нужно описать последовательность действий, приведших к ошибке или ситуации, вызывающей вопросы. После получения файла и дополнительной информации, разработчик может попросить предоставить дополнительную информацию о проблемной ситуации, о конфигурации рабочего места пользователя, прочем установленном на рабочем месте ПО и проч. Если вы хотите обратиться к разработчику по поводу ситуации, которая не сопровождается отображением окна с ошибкой, то.err-файл можно получить следующим образом: нужно кликнуть левой кнопкой мыши по иконке с мельницей в левом углу заголовка окна текущей формы и из выпадающего меню выбрать пункт Сохранить файл для службы поддержки. ![]() |
2.8.3. Получение информации о третесторонних приложениях |
В случае, если ошибка произошла при взаимодействии системы с третьесторонним приложением, например, при выполнении отчета MS Excel, MS Word, pdf, при работе web-приложений системы через интернет-браузер, разработчику, в дополнение к файлу с информацией об ошибке, понадобится информация о версии третьестороннего приложения, при взаимодействии с которым произошла ошибка. Получить информацию о версии приложения можно, как правило, в окне О программе ("About box"), которое в большинстве программных продуктов представлено в пункте меню Справка. Разработчику в составе информационных материалов нужно отправить скриншот этого окна. В продуктах семейства Microsoft Office вызвать окно О программе можно разными способами в зависимости от версии MS Office. В программных продуктах версий до 2003 включительно это окно доступно в меню Справка / О программе. В программных продуктах версий 2007 и выше вызвать это окно можно следующим образом:
Окно О программе в случае MS Excel выглядит следующим образом: ![]() В программе Acrobat Reader окно О программе можно вызвать из меню Справка / О программе : ![]() В интернет-браузерах окно "О программе" (О Google Chrome, О FireFox, О Internet Explorer) также можно вызвать из меню Справка. Строка меню в интернет-браузерах часто бывает по умолчанию скрыта. Для того, чтобы ее отобразить, нужно нажать клавишу Alt на клавиатуре. |
3. Руководство пользователя построителя запросов |
4. Руководство администратора |
4.1. Установка программного обеспечения СУБД | ||||||||||||||||||
Прежде, чем устанавливать программноге обеспечение "Мельница данных" необходимо установить и настроить программное обеспечение СУБД. Для конфигурирования сервера БД необходимо последовать советам раздела "Конфигурирование сервера". В этом разделе описаны шаги, которые необходимо предпринять для установки сервера "с нуля". Если сервер БД у вас уже установлен и настроен, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку сервера БД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. Если вы собираетесь использовать сервер БД для более широкого круга задач, то пользуйтесь руководствами по соответствующим СУБД.
На каждой рабочей станции должно быть установлено и настроено программное обеспечение клиентской части СУБД. Это, как правило, некий набор библиотек и компонентов, наличие которых необходимо для соединения с сервером БД. Для обеспечения рабочей станции этими компонентами необходимо последовать советам раздела Конфигурирование клиента. В этом разделе описаны шаги, которые необходимо предпринять для установки клиентской части СУБД "с нуля". Если клиентская часть СУБД у вас уже установлена и настроена, то использовать рекомендации этого раздела нет необходимости. Раздел описывает установку клиентской части СУБД минимальной поддерживаемой версии в минимально необходимой для работы "Мельницы данных" конфигурации. В настоящий момент поддерживаемые СУБД приведены в таблице:
|
4.1.1. Конфигурирование сервера | ||||||
|
4.1.2. Конфигурирование клиента | ||||
|
4.2. Установка программного обеспечения платформы "Мельница данных" |
Для установки ПП "Мельница данных" необходимо запустить файл setup.exe, расположенный на поставляемом компакт диске. После запуска программы установки необходимо следовать указаниям мастера установки. Шаг 1: Выбор языка ![]() Шаг 2: Информация о версии устанавливаемого ПП ![]() Шаг3: Выбор каталога установки файлов ПП ![]() Шаг 4: Выбор файла лицензии ![]() Файл лицензии также расположен на поставляемом компакт-диске или высылается по электронной почте. В случае если не выбран никакой файл лицензий, то программа будет установлена в демонстрационном режиме. В последующем после получения файла лицензий необходимо будет переустановить ПП. Подробнее с лицензионным соглашением можно ознакомится в одноименном разделе настоящей документации. Шаг 5: Выбор компонентов для установки ![]() На данном шаге вам необходимо выбрать набор компонентов для установки на локальный компьютер. В зависимости от специфики использования рабочего места, на которое устанавливается ПО, необходимо выбрать тип установки. Предлагаемые типы установок:
Для каждого из типов установки по умолчанию устанавливается свой набор компонентов. Вы можете дополнительно отметить тот или иной необходимый вам компонент для установки. Для выбора будут отображены только те компоненты, которые влачены в указанном вами лицензионном файле. Полный перечень компонентов для установки:
Для некоторых из вышеперечисленных компонентов также можно выбрать состав устанавливаемого компонента. Описание назначений поставляемых компонент описано в разделе "Поставляемые компоненты ПП" настоящей документации. После указания всех параметров мастер установки скопирует файлы на локальный компьютер и создаст в меню программ папку с ярлыками к установленным компонентам: ![]() |
4.2.1. Поставляемые компоненты ПП "Мельница данных" | ||||||||||||
|
4.3. Создание и начальная инициализация базы данных | ||
Для создания БД необходимо вопрользоваться утилитой обслуживания базы данных, поставляемой в комплекте ПП. После запуска одноименного приложения откроется окно панели управления утилиты: После запуска одноименного приложения откроется окно панели управления утилиты: ![]() Для доступа к задачам необходимо заполнить параметры работы с базой данных:
После заполнения полей параметров можно приступать к созданию БД. Для создания новой базы данных необходимо воспользоваться задачей "Создать новую БД". После нажатия кнопки "Выполнить" будут выполнены команды отображенные в окне "Командная строка".
![]() В окне "Вывод консольного приложения" будет отображен результат выполнения команд по созданию БД. В случае успешного выполнения всех необходимых команд, БД будет создана по указанному в параметрах месторасположению. После создания пустой БД необходимо наполнить ее системными объектами (метаданными) для последующей работы с ПП "Мельница данных". Для этого необходимо выполнить задачу "Синхронизировать базу данных". После нажатия кнопки "Выполнить" будет автоматически запущен отладочный монитор отображающий процесс наполнения БД необходимыми метаданными. Данный процесс может занять от одной до нескольких минут в зависимости от используемой СУБД и производительности сервера. (Обычно около минуты) По окончании процесса в окне "Вывод консольного приложения" будет отображен результат выполнения инициализации базы данных. ![]() Все действия по созданию и инициализации БД выполнены. БД готова к эксплуатации. |
4.4. Управление доступом пользователей |
После того, как база данных создана и инициализирована метаданными платформы, доступ к системе будет иметь один пользователь - администратор созданной БД. Добавление других пользователей, ролей пользователей и включение пользователей в роли выполняется в представлениях Пользователи и Роли в Системной форме. После начальной инициализации БД на вкладке Пользователи можно увидеть одного пользователя с именем, соответствующим логину администратора БД (Например, для FireBird пользователь SYSDBA), на вкладке Роли можно увидеть одну роль с наименованием Администраторы. На подчиненных вкладках этих представлений можно увидеть, что пользователь - администратор включен в роль Администраторы. Профиль пользователя формируется путем определения для него:
Формирование профиля происходит одинаково как для роли, так и для отдельного пользователя. Однако рекомендуется формировать профили для ролей, а не для отдельных пользователей. В этом случае при подключении к системе новых пользователей, изменении параметров доступа для существующего пользователя достаточно будет включить пользователя в одну из ролей, или исключить его из роли. Роли рекомендуется формировать содержательным образом на основе распределения обязанностей реальных пользователей, работающих с прикладным решением. |
4.4.1. Создание пользователей | ||
Создание пользователя системы включает в себя два этапа:
|
4.4.2. Создание ролей |
Создание ролей производится на вкладке Роли Системной формы при помощи действия Создать, вызываемого из контекстного меню. Имя и наименование роли могут быть любыми строками. Однако именовать роли по названиям соответствющих функциональных участков системы, например,
|
4.4.3. Включение пользователей в роли |
В роль могут включаться как пользователи, так и другие роли. Для добавления в роль нового члена роли нужно выбрать роль на вкладке Роли, отрыть подчиненную вкладку Члены роли и вызвать на ней действие Создать. Поля формы параметров заполняются следующим образом:
После включения пользователя в роль он получает права доступа ко всем визуальным группам и формам, а также к группам запретов, заданным для роли. |
4.4.4. Формирование перечня доступных визуальных групп | ||
Визуальные группы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Визуальные группы. Каждая визуальная группа содержит набор форм и также может быть снабжена иконкой. Визуальные группы отображаются на Консоли управления, которая показывается при запуске системы. Для каждой роли (или для отдельного пользователя) формируется перечень визуальных групп, которые будут ему доступны на Консоли управления. Если визуальных групп в прикладном решение не создано, или если пользователю не доступно ни одной визуальной группы, консоль управления не будет отображена. В этом случае при открытии системы пользователь увидит первую из доступных ему форм, которая открывается автоматически. Для добавления новой визуальной группы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные визуальные группы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих визуальных групп. Если необходимо дать доступ к нескольким визуальным группам, действие создания нужно повторить.
|
4.4.5. Формирование перечня доступных форм | ||
Формы создаются разработчиком прикладного решения. Работа с визуальными группами ведется в Системной форме на вкладке Формы. Каждая форма представляет собой набор представлений, связанных друг с другом определенным образом. Иконки всех форм, доступных пользователю, отображаются на Панели инструментов в верхней части экрана. Нажимая на одну из иконок форм, пользователь может переключаться между ними. Если форма входит в одну из доступных пользователю визуальных групп, она отобразится на консоли управления. В этом случае переключаться между формами пользователь сможет как на Панели инструментов, так и на Консоли управления. Для каждой роли (или для отдельного пользователя) формируется перечень форм, которые будут ему доступны на Консоли управления. При открытии системы пользователь видит первую из доступных ему форм, открываемую автоматически. Для добавления новой формы, доступной роли или пользователю, необходимо выбрать роль или пользователя на соответствующей вкладке (Роли или Пользователи), отрыть подчиненное представление Доступные формы и выполнить в нем действие Создать. В форме параметров нужно выбрать одну из существующих форм. Если необходимо дать доступ к нескольким формам, действие создания нужно повторить.
|
4.4.6. Формирование перечня групп запретов |
Группы запретов могут формироваться как разработчиком прикладного решения, так и администратором системы. Работа с группами запретов ведется на соответствующей вкладке Системной формы. В каждую группу запретов включаются запреты трех видов:
Запреты на класс и свойство могут даваться как только на запись, так и на чтение и запись объектов. Наличие запретов для определенной роли или пользователя приводит к тому, что пользователь не видит или не имеет прав на модификацю объетов определенных классов или отдельных их свойств. Запреты на подпрограммы выражаются в том, что для пользователя не отображаются действия, вызывающие ряд подпрограмм. |
5. Руководство разработчика на платформе |
5.1. Решения, предлагаемые технологией "Мельница данных" |
Технология "Мельница данных" предлагает решения традиционных проблем разработки и сопровождения учетных систем за счет следующих инноваций:
Основными элементами стандартизованного пользовательского интерфейса являются развитые элементы управления, работающие с данными:
Реализованы развитые возможности интеграции с третьесторонними системами. Они обеспечиваются следующими механизмами:
|
5.2. Системный слой объектной модели "Мельница данных" |
Технология разработки и сопровождения учетных систем "Мельница данных" требует для своего функционирования объектную модель бизнес-сущностей. Технология диктует ряд дополнительных требований к объектной модели.
|
5.3. Наследование и переопределение членов класса и параметров подпрограмм | ||
Все члены родительского класса наследуются дочерним классом следующим образом: ПоляВсе поля родительского класса доступны в дочернем классе. При создании в дочернем классе поля с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать полем родительского класса и получает поле с тем же именем. Можно сказать, что новое поле "закрывает" старое, но не "замещает" его. МетодыВсе методы родительского класса наследуются дочерним классом. При создании в дочернем классе метода с тем же именем, что и в родительском классе, метод переопределяется, т.е. вместо старого метода будет существовать новый. Единственный способом обратиться к старому (унаследованному) методу является использование в теле метода оператора унаследованного вызова inherited (см. раздел 5.3.14.). Переопределенный метод имеет все параметры родительского метода и может расширять список параметров, а также переопределять унаследованные параметры (создавая параметры с тем же именем и изменяя любой другой атрибут параметра по своему усмотрению). Скрипты форм задания параметров не наследуются и должны быть полностью заданы в переопределенном методе. Изображения-иконки методов наследуются и могут не переопределяться явно. СвойстваВсе свойства родительского класса доступны в дочернем классе. При создании в дочернем классе свойства с тем же именем, что и в родительском классе, класс-наследник теряет возможность напрямую манипулировать свойством родительского класса и получает свойство с тем же именем. Можно сказать, что новое свойство "закрывает" старое, но не "замещает" его. На практике часто бывает необходимо в унаследованном методе (особенно в конструкторе) скрыть часть параметров от пользователя, либо сузить область выбора значений для каких либо параметров. В этом случае необходимо переопределить параметры в унаследованном методе с новыми значениями свойства Scope ("Область видимости") или Domain ("Домен"). Это нормальная рекомендуемая практика. Необходимо понимать, что скрыв с формы элемент управления, соответствующий параметру, значение которого обязательно, необходимо предусмотреть, чтобы этот параметр получил значение до вызова унаследованного метода, либо из скрипта формы задания параметров, либо в теле самого метода.
|
5.4. Средства моделирования пользовательского интерфейса |
5.4.1. Представления |
5.4.2. Визуальные группы |
5.4.3. Формы, связь представлений в формах |
5.5. Объектно-реляционное отображение |
5.6. Обзор возможностей Платформы |
5.7. Этапы разработки прикладных решений |
5.7.1. Формирование видения модели |
5.7.2. Создание структур хранения и средств обработки данных |
5.7.2.1. Класс TObject, члены класса TОbject |
5.7.2.2. Создание классов |
5.7.2.3. Создание полей |
5.7.2.4. Создание свойств |
5.7.2.5. Создание методов |
5.7.3. Синхронизаци базы данных |
5.7.4. Создание пользователей и ролей |
5.7.5. Средства моделирования пользовательских интерфейсов |
5.7.5.1. Представления |
5.7.5.2. Формы. Включение представлений в формы |
5.7.5.3. Визуальные группы. Включение форм в визуальные группы |
5.7.5.4. Организация доступа пользователей к формам и визуальным группам |
5.7.6. Разработка отчетов |
5.7.6.1. Создание шаблонов PDF-отчетов |
5.7.6.1.1. Описание | ||||
Portable Document Format (PDF) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. Для просмотра можно использовать официальную бесплатную программу Adobe Reader, а также программы сторонних разработчиков. Традиционным способом создания PDF-документов является виртуальный принтер, то есть документ как таковой готовится в своей специализированной программе — графической программе или текстовом редакторе, САПР и т. д., а затем экспортируется в формат PDF для распространения в электронном виде, передачи в типографию и т. п. Формат PDF позволяет внедрять необходимые шрифты (построчный текст), векторные и растровые изображения, формы и мультимедиа-вставки. Поддерживает RGB, CMYK, Grayscale, Lab, Duotone, Bitmap, несколько типов сжатия растровой информации. Имеет собственные технические форматы для полиграфии: PDF/X-1, PDF/X-3. Включает механизм электронных подписей для защиты и проверки подлинности документов. В этом формате распространяется большое количество сопутствующей документации. Чаще всего PDF-файл является комбинацией текста с растровой и векторной графикой, реже — текста с формами, JavaScript'ом, 3D-графикой и другими типами элементов. В приложениях Платформы "Мельница данных" для создания PDF-документов используется собственная библиотека PDFCreator.dll. С помощью библиотеки возможно прямое создание документов версии 1.3 . Создание PDF-документов осуществляется путем ввода предопределенных в библиотеке команд, которые в дальнейшем интерпретируются на основе языка описания страниц POSTSCRIPT.
![]() |
5.7.6.1.2. Методы |
5.7.6.1.2.1. Свойства документа | ||||||||||
Для создания и описания свойств PDF-документа в библиотеке PDFCreator.dll используется класс IPDFDocument, обладающий следующими свойствами:
|
5.7.6.1.2.2. Свойства страницы | ||||||||
Для создания страницы используется функция function CreatePage(Parent: OleVariant): IPDFPage; Параметр Parent указывает страницу-родителя для данной страницы. Если страницы- родителя быть не должно - формат вызова функции примет вид: set page = CreatePage(Null)Параметры страницы:
|
5.7.6.1.2.2.1. Объявление цвета | |||||||||||||||||||||||||||||||||||||||
Для объявления цвета объектов на странице используется цветовая модель R:G:B (Red:Green:Blue). Объявление цвета для выполнения последующих операций (цвет шрифта, цвет линии/фигуры) осуществляется процедурой procedure SetColor(R: Integer; G: Integer; B: Integer);Где параметры R, G, B - значения базисных цветов для выбранного цвета (от 0 до 255).
|
5.7.6.1.2.3. Графика |
5.7.6.1.2.3.1. Линии | ||||||||||||||||||||||||||||||||
Для отрисовки линий используется процедура procedure Line(X1: Double; Y1: Double; X2: Double; Y2: Double);Здесь:
Для задания толщины линии используется свойство property LineWidth: DoubleЗначение толщины задается в миллиметрах. Значение по умолчанию - минимально возможная единица рисования для устройства. Так для монитора - 1 pixel, для принтера - 1 dot (точка) Для задания стиля отрисовки начала/окончания линии используется свойство property LineCap: TPDFLineCap
Объявление цвета линии.
При необходимости соединения линий под углом в определенной точке можно задать тип соединения. Для объявления типа соединения используется свойство property LineJoin: TPDFLineJoin;
Пунктир Для создания пунктира используется процедура отображения линии с предварительно объявленными дополнительными значениями. Процедура procedure SetDash(DashArray: OleVariant; Phase: Integer); Здесь DashArray - массив значений в миллиметрах, указывающий последовательность чередования штрихов и пропусков на линии, Phase - смещение в миллиметрах по линии.
Ломанная линия - здесь непрерывная линия, состоящая из нескольких прямых. Для отображения ломанной используется процедура procedure Poly(Points: OleVariant; Fill: WordBool), где Points - массив координат точек соединяемых прямыми, а Fill - признак заливки полученной замкнутой фигуры (если замкнута).
|
5.7.6.1.2.3.2. Прямоугольник | ||||||||||||||||
Rectangle (Прямоугольник) - для создания используется процедура: procedure Rectangle(X1: Double; Y1: Double; Width: Double; Height: Double; Fill: WordBool);Здесь:
Также существует возможность изменения стиля отображения углов прямоугольника. Для этого нужно использовать свойство property LineJoin: TPDFLineJoin;
Пример построения прямоугольников с различными типами соединения сторон:
|
5.7.6.1.2.3.3. Вставка готовых изображений | ||
Для вставки на создаваемую страницу готового изображения используется процедура procedure Image(const FileName: WideString; X: Double; Y: Double; Width: Double; Height: Double) Параметры:
Вне зависимости от размера исходного изображения, при вставке изображения на создаваемую страницу оно будет растянуто по размерам, прописанным в процедуре. |
5.7.6.1.2.3.4. Векторная графика |
Язык PostScript, с помощью которого создаются векторные изображения для PDF-документа, поддерживает создание типичных примитивных объектов, таких как:
При создании векторного изображения на странице PDF-документа в приложениях Платформы, команды построения примитивных объектов PostScript передаются на исполнение при помощи процедуры Perform. Подробнее об операторах и командах PostScript для создания PDF-документов можно узнать на сайте Adobe |
5.7.6.1.2.4. Шрифты | |||||||||||||||||||||||||||||||||||||||||||||
Шрифты, которые должны использоваться в создаваемом документе, должны быть предварительно объявлены. Для объявления используемых шрифтов используется функция
Для вывода текстовой информации на страницу используются процедуры:
Параметры для procedure WriteLine :
Параметры для function WriteText :
Свойства шрифтов: property Spacing: Double; - свойство, отвечающее за величину промежутка между буквами в слове. Задается в виде отклонения от промежутка между буквами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.
property WordSpacing: Double; - свойство, отвечающее за величину промежутка между соседними словами. Задается в виде отклонения от промежутка между словами по умолчанию для выбранного шрифта по горизонтальной оси в миллиметрах. Значение свойства равное "0" соответствует значению по умолчанию.
property Scaling: Double; - свойство, отвечающее за горизонтальное масштабирование букв используемого шрифта. Устанавливается в процентах. Горизонтальный масштаб по умолчанию - 100%.
property RenderingMode: TPDFFontRenderingMode; - свойство, отвечающее за заливку букв используемого шрифта.
property Rise: Double; - свойство, отвечающее за перемещение текста по вертикали.
Для определения размеров текстовой строки используется процедура MeasureLine(const LineText: WideString; out Width: OleVariant; out Height: OleVariant); Здесь:
Для определения высоты текстового блока используется функция MeasureText(const AText: WideString; Width: Double): Double; safecall; Функция распределит текст по задаваемому значению ширины текстового блока и вернет значение высоты текстового блока в милиметрах. Здесь:
|
5.7.6.1.3. Порядок создания | ||
Для создания шаблона PDF-документа необходимо в системной форме Платформы выбрать класс, к которому будет строиться документ. В подменю "Подпрограммы" вызвать контекстное меню и выбрать пункт "Создать шаблон отчета PDF". Заполнить необходимые поля и приступить к созданию скрипта в окне "Скрипт шаблона". ![]()
Результат: ![]() |
5.7.7. Поставка решений |
5.8. Интеграция |
Интеграция - комплекс работ по настройке механизмов взаимодействия между различными учетными системами, которые функционируют независимо друг от друга в одной организационной структуре ("лоскутная" автоматизация). Концептуально реализация интеграции может быть осуществлена двумя способами (рассмотрены более подробно далее):
Практически, реализация интеграции может быть осуществлена слежующими способами: |
5.8.1. Интеграция данных |
В свою очередь интеграцию данных можно разделить на два типа: |
5.8.1.1. Репликативная интеграция |
Репликативная интеграция - передающая сторона формирует реплику, передает ее принимающей стороне, которая в свою очередь загружает в себя реплику. В этом случае стандартами формата реплики являются двоичный формат и XML-схема. Платформа Мельница Данных имеет готовые механизмы для реализации обоих форматов. Варианты реализации репликационной интеграции: 1. Данные должны быть переданы из сторонней учетной системы и загружены в Платформу Мельница данных: В Платформе уже реализованы механизмы загрузки реплик в двоичном (бинарном) формате, а также в формате XML-схемы. В случае, если разработчики или сопровождающие сотрудники сторонней учетной системы имеют возможность выгрузки реплики в данных форматах, взаимодействие производится стандартными средствами Платформы. В противном случае создается конвертер для перевода данных реплики в один из стандартных форматов для дальнейшей загрузки реплики в Мельницу Данных. 2. Данные должны быть переданы из Платформы Мельница Данных и загружены в стороннюю учетную систему: При необходимости выгрузки данных из Платформы Мельница Данных используются стандартные механизмы выгрузки реплики в двоичном (бинарном) формате или в формате XML-схемы. В случае, если эти варианты не являются приемлемыми для принимающей стороны (сторонней учетной системы), можно выполнить выгрузку данных через скриптлет, Microsoft Excel-файл, отчет или любыми механизмами просто выгрузить требуемый файл для дальнейшей обработки (загрузки) принимающей стороной. В этом случае необходимо четкое согласование протоколов и форматов обмена данными. 3. Данные должны быть переданы из одной сторонней учетной системы в другую. При этом Платформа Мельница Данных выступает в качестве интеграционной платформы: Если Платформа выступает в качестве интеграционного ядра, в ней необходимо объявить структуры для хранения тех элементов данных, которые в Платформе по умолчанию не хранятся, но загружаются в нее из сторонних учетных систем и в дальнейшем подлежат какому-либо анализу. При этом нет необходимости обеспечивать функционирование бизнес-процессов над этими данными в рамках Платформы, данные просто хранятся. Подобная интеграция осуществляется простыми готовыми средствами платформы в самые сжатые сроки. |
5.8.1.2. On-Line доступ | ||
Второй путь интеграции данных - Интеграция с использованием доступа к данным в режиме On-Line. 1. В том случае когда Платформа является серверной стороной, то есть стороной-поставщиком данных для других систем, возможны следующие варианты предоставления данных: - СУБД, то есть база данных, которая хранит все данные Платформы. На данный момент поддерживаются Oracle, Firebird, MS SQL. Возможна реализация поддержки и других систем управления базами данных. Для указанных баз данных доступны стандартные протоколы доступа, с помощью которых осуществляются запросы к данным Платформы непосредственно. Запросы формируются при помощи стандартизированного языка запросов Structured Query Language (SQL). - RESTful-сервис используется для реализации более сложной механики предоставления доступа к данным и входит в состав поставки сервера приложений Платформы. С его помощью, в частности, осуществляется удаленный доступ и доступ к данным через SOAP (Simple Object Access Protocol — простой протокол доступа к объектам) с автоматическим формированием по данным Платформы WSDL-документа, описывающего сервисы. Таким образом реализуется продвинутый функционал по отбору объекта по критериям, а также в части доступа ко всем данным Платформы по протоколу SOAP/ В случае если требуются какие-либо специфические протоколы для обмена данными, они реализовываются на уровне обработчика сервера-приложения. То есть осуществляется "надстройка" сервера приложений Платформы для работы с данными в том виде, в котором это необходимо и по тому протоколу, который требуется в каждом конкретном случае. Таким образом, Сервер приложений Платформы востребован в большинстве случаев организации взаимодействия между системами.
2. В случае когда Платформе необходим доступ к данным сторонних систем, используется готовый RESTful-"обработчик". Частными случаями данной ситуции являются взаимодействия Платформы с различными собственными web-приложениями, а также с "Обозревателем данных", работающим через удаленный доступ. Для получения данных в режиме On-Line от сторонних систем используются те же стандартные протоколы. При необходимости создаются "обработчики", которые отображают для конечного пользователя в визуальных формах Платформы данные, полученные из сторонних систем. 3. При использовании Платформы в качестве платформы интеграции различных сторонних систем, данные предварительно загруженные по описанным выше протоколам могут передаваться средствами Платформы. Однако, может быть реализован и механизм прозрачной передачи данных между сторонними системами. |
5.8.2. Интеграция функций |
Данный тип развития интеграции в свою очередь можно разделить на 2 пути: |
5.8.2.1. Взаимные вызовы | ||
В данном случае подразумевается, что какая-либо учетная система открывает возможность вызова своих встроенных функций из сторонних систем. Доступ к функциям возможен с помощью выполнения хранимых процедур (каждое бизнес-действие, которое производит пользователь, обязательно оформляется в виде хранимой процедуры на уровне СУБД Платформы). Процедуру можно вызывать, получив доступ к СУБД. Аналогично тому, как создаются select-запросы, запросы к данным, можно делать запросы, вызывающие бизнес-функции. Все методы, отчеты, и все, что доступно пользователю, может быть вызвано и через RESTful-сервис. При этом методы будут выполняться, отчеты будут формироваться в виде Excel, Word, PDF, HTML, в соответствии с запросом вызывающей стороны. Данный функционал обеспечивается готовым "обработчиком", входящим в состав поставки Платформы. С помощью протокола SOAP можно вызывать любой метод любого объекта, получать результаты его выполнения без ограничений. В случае когда необходимо в Платформе использовать чужие функции, набор действий по вызову такой функции оформляется в виде скриптлета.
Если для сторонней системы существуют какие-либо стандартные протоколы, по которым можно вызывать функцию, то средствами Платформы не составляет труда вызов данной функции. |
5.8.2.2. Встраивание | ||||
Данный путь интеграции функций представляет собой ситуацию, когда сторонняя система непосредственно "встраивается" в решения на Платформе и код сторонней системы исполняется с использованием данных Платформы. Существуют разные способы реализации данного пути: - В open-source системах, как правило, слой доступа к данным вынесен в некий отдельный модуль. Характерный пример - это LMS eFront. Это Open-Source разработка, содержащая в себе большой объем php-кода, с развитым web-интерфейсом, и, в том числе, содержащая модуль доступа к данным. В процессе работы создается база MySQL база достаточно примитивной структуры. В этом случае можно изменить модуль доступа, так, чтобы вместо запросов к MySQL-базе механика делала бы запросы к базе данных Платформы. Тогда исполнение php-кода, его интерпретация происходит в рамках сервера приложений Платформы.
- В тех случаях, когда решения Платформы сами являются частью какой-либо более общей системы, и должны предоставлять свои функции, то это решается на уровне СУБД. То есть, сгенерированный Платформой прикладной код (код на соответствующем диалекте SQL) может быть интегрирован в код более масштабного хранилища, функционировать там, исполняться там, если в этом есть необходимость.
|
5.9. Положения и определения |
5.9.1. Работа с типами данных |
5.9.1.1. Домены |
5.9.2. Язык PascalScript |
На языке PascalScript на платформе "Мельница данных" описываются тела методов и выражения. Выражения используются в условиях отбора объектов определенного класса при их отображении в представлениях, а также как встраиваемые выражения, которые могут служить членами класса для чтения свойств. Здесь и далее зарезервированные слова выделены жирным шрифтом. |
5.9.2.1. Структура программного блока тела метода |
1 [Описание переменных] 2 begin 3 //Операторы end; Комментарии расположены между символами { и } либо от символов // до конца строки. |
5.9.2.2. Описание переменных | ||
1var 2 Имя переменной[, Имя переменной…]: Тип; 3 Имя переменной[, Имя переменной…]: Тип; 4 ...Имя переменной должно быть идентификатором (последовательность символов a-z, A-Z, 0-9, _). "Тип" может быть одним из следующих:
|
5.9.2.3. Операторы PascalScript |
Операторы разделяются точкой с запятой (;). Операторы могут быть одним из следующих: |
5.9.2.3.1. Составной оператор | ||
1begin 2 //Другие операторы endОператоры, размещенные внутри составного оператора, разделяются точкой с запятой. Никаких ограничений на состав операторов и количество уровней вложенности не накладывается.
|
5.9.2.3.2. Оператор присваивания | ||||||||
Выражение1 := Выражение2 Присваивает значение выражения Выражение2 выражению Выражение1. Типы Выражения1 и Выражения2 должны быть совместимы (совпадать по классу домена либо оба быть числовыми). Для этого на Выражение1 (стоящее слева от знака равенства, lvalue) накладывается ряд ограничений. Это выражение должно быть:
|
5.9.2.3.3. Оператор вызова | ||
ИмяПроцедуры [(Параметр1, Параметр2 ...)] "ИмяПроцедуры" должно быть:
|
5.9.2.3.4. Оператор ветвления | ||||
1if Выражение then 2 //Оператор1 3[else 4 //Оператор2] Выражение должно быть логического типа. В случае если значение Выражения истинно, выполняется Оператор1. Часть else является необязательной и относится к последнему оператору if, не имеющему таковой. В случае ее наличия Оператор2 выполняется, если значение Выражения ложно.
|
5.9.2.3.5. Оператор выбора | ||
1case Выражение of 2 Значение1: //Оператор1 3 Значение2: //Оператор2 4 ... 5[else 6 //Оператор ] end Заменяет каскад операторов if. Значение Выражения должно быть числового типа. Часть else выполняется в случае, если Выражение не равно ни одному из перечисленных вариантов. Эта часть не является обязательной.
|
5.9.2.3.6. Цикл с предусловием | ||
1while Выражение do 2 //Оператор Оператор выполняется до тех пор, пока значение Выражения истинно. Выражение должно быть логического типа. Если при входе в цикл Выражение не истинно, то тело цикла не будет выполнено ни одного раза.
|
5.9.2.3.7. Цикл с постусловием | ||
1repeat 2 //Операторы 3until Выражение Операторы выполняются до тех пор, пока значение Выражения ложно. Выражение должно быть логического типа. Обратите внимание, что внутри себя оператор может содержать несколько операторов, разделенных точкой с запятой. Тело цикла обязательно будет выполнено хотя бы один раз.
|
5.9.2.3.8. Цикл с параметром | ||
1for Параметр := Выражение1 (to|downto) Выражение2 do 2 //Оператор Параметр цикла обязан быть простой локальной переменной. Функционально цикл с параметром эквивалентен циклам:
|
5.9.2.3.9. Цикл по экземплярам | ||
1for each Параметр of ИмяКласса [with Выражение] 2 [by [-] Выражение [, [-] Выражение]] do 3 //Оператор Цикл осуществляется по выборке среди экземпляров класса ИмяКласса, для которых истинно Выражение. Если Выражение не задано, то по всем экземплярам. Ссылка на текущий в рамках цикла экземпляр присваивается в локальную переменную Параметр. Выражение должно определяться относительно переменной Параметр. Выраженния, следующие за ключевым словом by, определяют порядок обхода экземпляров. Знак "-" перед выражением (любого типа) определяет обратный порядок обхода.
|
5.9.2.3.10. Оператор прекращения цикла |
break Происходит немедленный выход из цикла. Выполняется финализация операторов защиты завершения, которыми защищено тело цикла. Допустим только в теле цикла с предусловием, цикла с постусловием, цикла с параметром или цикла по экземплярам. |
5.9.2.3.11. Оператор выхода из подпрограммы |
exit Происходит немедленный выход из программного блока. Выполняется финализация операторов защиты завершения. |
5.9.2.3.12. Оператор защиты завершения | ||
1try 2 //Операторы1 3finally 4 //Операторы2 end Выполняются операторы Операторы1, разделенные точкой с запятой. В случае возникновения исключительной ситуации управление сразу передается на Операторы2, и после их выполнения исключение остается активным. Если исключения не произошло, выполняются Операторы2. Если среди Операторов1 встречается оператор exit, то Операторы2 все равно выполняются.
|
5.9.2.3.13. Оператор обработки исключительных ситуаций | ||||
1try 2 //Операторы1 3except 4 //Операторы2 end Выполняются операторы Операторы1. В случае возникновения исключительной ситуации управление передается на Операторы2. Если исключительных ситуаций не возникло, Операторы2 не выполняются никогда. При передаче управления на Операторы2 исключительная ситуация деактивирована. Для ее повторного возбуждения можно воспользоваться оператором возбуждения исключения без указания текстовой строки сообщения.
|
5.9.2.3.14. Оператор возбуждения исключения |
raise [Выражение]Возбуждает исключение, которое, если не было обработано блоком except оператора обработки, дойдет до пользователя. Пользователь увидит сообщение, определяемое Выражением. Выражение должно иметь строковый тип и является обязательным для всех случаев, кроме части except оператора обработки исключений. |
5.9.2.3.15. Оператор унаследованного вызова | ||
inherited Работает только в унаследованном переопределенном методе. Вызывается метод предка с параметрами, заданными в параметрах к моменту вызова. Если программный блок представляет собой тело функции, то в псевдопеременной Result будет результат выполнения метода предка.
|
5.9.2.4. Выражения и операции |
5.9.2.4.1. Состав выражения |
Любое выражение имеет тип. Выражения состоят из следующих элементов:
|
5.9.2.4.2. Квалификатор | ||||||||||||||
Квалификатор обозначает объект, переменную, параметр, свойство, поле, вызов функции. Квалификатор состоит из идентификаторов, разделенных точкой.
При интерпретации квалификатора используется следующий порядок разбора идентификатора:
При интерпретации квалификатора внутри выражения агрегата правила разбора идентификатора изменяются:
|
5.9.2.4.3. Агрегат | ||||||||
Агрегат определяет агрегированное значение над экземплярами определенного класса, удовлетворяющими условиям агрегации. Агрегаты бывают следующих типов:
Внутри выражения агрегата правила разбора идентификатора изменяются на следующие:
|
5.9.2.4.4. Операции | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Операции связывают элементы выражений. Таблица операций в порядке приоритета:
|
5.9.2.4.4.1. Особенности применения операций |
|
5.9.2.5. Формальная грамматика |
001Goal: MethodBody | Expression; 002 003MethodBody: [ConstantDeclaration] [VariableDeclaration] CompoundStatement ";"; 004 005ConstantDeclaration: "const" Ident ":" DomainSpecification ";" 006 [{Ident ":" DomainSpecification ";"}]; 007 008VariableDeclaration: "var" DomainDefinition [{DomainDefinition}]; 009 010DomainDefinition: Ident ":" DomainSpecification ";"; 011 012DomainSpecification: IntegerDomainDefinition 013 | StringDomainDefinition 014 | FloatDomainDefinition 015 | DateDomainDefinition 016 | TimeDomainDefinition 017 | DateTimeDomainDefinition 018 | BooleanDomainDefinition 019 | BlobDomainDefinition 020 | EnumerationDomainDefinition 021 | Ident; 022 023IntegerDomainDefinition: "integer"; 024StringDomainDefinition: "string" "[" Number "]"; 025FloatDomainDefinition: "float" ["(" Number ["." Number] ")"]; 026DateDomainDefinition: "date"; 027TimeDomainDefinition: "time"; 028DateTimeDomainDefinition: "datetime"; 029BooleanDomainDefinition: "boolean"; 030BlobDomainDefinition: "blob" | "clob"; 031EnumerationDomainDefinition: "(" Ident {"," Ident} ")"; 032 033CompoundStatement: "begin" Statement [{";" Statement}] "end"; 034 035Statement: 036 | CompoundStatement 037 | AssignmentStatement 038 | InheritedStatement 039 | CallStatement 040 | IfStatement 041 | CaseStatement 042 | ForStatement 043 | WhileStatement 044 | RepeatStatement 045 | TryFinallyStatement 046 | TryExceptStatement 047 | RaiseStatement 048 | ForEachStatement 049 | ExitStatement; 050 051AssignmentStatement: Qualifier ":=" Expression; 052 053CallStatement: Qualifier; 054 055InheritedStatement: "inherited"; 056 057IfStatement: "if" Expression "then" Statement ["else" Statement]; 058 059CaseStatement: "case" Expression "of" {CaseBranch} ["else" Statement ";"] "end"; 060 061CaseBranch: CaseLabel [{',' CaseLabel}] ":" Statement ";"; 062 063CaseLabel: Number | Ident; 064 065ForStatement: "for" Ident ":=" Expression ("to"|"downto") 066 Expression "do" Statement; 067 068WhileStatement: "while" Expression "do" Statement; 069 070RepeatStatement: "repeat" Statement [{";" Statement}] "until" Expression; 071 072TryFinallyStatement: "try" Statement [{";" Statement}] "finally" 073 Statement [{";" Statement}] "end"; 074 075TryExceptStatement: "try" Statement [{";" Statement}] "except" 076 Statement [{";" Statement}] "end"; 077 078RaiseStatement: "raise" [Expression]; 079 080ForEachStatement: "for" "each" Ident "of" Ident ["with" Expression] 081 ["by" Expression] "do" Statement; 082 083ExitStatement: "exit"; 084 085Expression: ComparedExpression [{RelationOperation Expression}]; 086 087ComparedExpression: Addon [{AdditionOperaton ComparedExpression}]; 088 089Addon: Factor [{MultiplicativeOperation Addon}]; 090 091Factor: "(" Expression ")" 092 | "not" Expression 093 | Number ["." Number] 094 | StringConstant 095 | Qualifier 096 | "nil" 097 | "True" 098 | "False" 099 | "(" Expression "is" Ident ")" 100 | "any" Aggregate 101 | "count" Aggregate 102 | "sum" Aggregate 103 | "max" Aggregate 104 | "min" Aggregate; 105 106Aggregate: "(" Ident ["." Ident] ["with" Expression] ")"; 107 108Qualifier: QualifierPart [{"." QualifierPart}]; 109 110QualifierPart: Ident ["(" Expression [{", " Expression}] ")"] 111 | "self" 112 | "(" Qualifier "as" Ident ")"; 113 114RelationOperation: "<" 115 | ">" 116 | "<=" 117 | ">=" 118 | "=" 119 | "<>"; 120 121AdditionOperaton: "+" 122 | "-" 123 | "or"; 124 125MultiplicativeOperation: "*" 126 | "/" 127 | "div" 128 | "and"; |
5.9.2.6. Соглашения |
5.9.2.6.1. Соглашения о наименованиях | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В качестве вводимых (объявляемых) идентификаторов необходимо использовать так называемую нотацию InfixCaps. Если при создании имени используется несколько слов, то необходимо использовать заглавную букву для каждого слова в имени. Для разделения слов нельзя использовать символ подчеркивания. Все сущности именуются на английском языке, при этом использование сокращений является оправданным только в случае, если длина образуемого имени не согласуется с внешними по отношению к соображениям бизнес-логики ограничениям.
|
5.9.2.6.2. Стилевое оформление исходного кода |
Код на языке PascalScript, являющийся частью поставляемого решения, должен быть оформлен в соответствии с изложенными правилами. |
5.9.2.6.2.1. Использование строк, пробелов и отступов |
Пустые строки могут повысить читабельность путем группирования секций кода, которые логически связаны между собой. Пробелы, запрещенные к использованию:
Двоеточие для всех объявлений переменных не должно содержать перед собой пробелов и иметь один пробел после перед именем типа. Всегда необходимо использовать два пробела для всех уровней отступа. Другими словами, первый уровень отступает на два пробела, второй на четыре и так далее. Никогда не используйте символы табуляции. Существует несколько исключений из этого правила. Зарезервированные слова var, begin и end, относящиеся к программному блоку вцелом, всегда должны примыкать к левой границе. Код внутри блока begin..end должен иметь отступ два символа. Все строки должны быть ограничены 80 столбцами. Строки, длиннее чем 80 столбцов должны быть разделены и перенесены. Все перенесенные строки должны быть выровнены по первой строке и иметь отступ в два символа. Зарезервированное слово begin всегда должно находиться на своей отдельной строке. Нельзя переносить строки в тех местах, где не допускаются пробелы, например между именем метода и открывающей скобкой. Никогда нельзя помещать зарезервированное слово begin на строку, содержащую другой код. |
5.9.2.6.2.2. Оформление объявлений и операторов | ||||||||||||||||||||||||||
Все переменные с их типами должны быть объявлены на различных строках. Простые операторы содержат одну точку с запятой. Если Вам необходимо разделить оператор, то перенесите продолжение оператора на следующую строку с отступом в два пробела.
Составные операторы всегда заканчиваются точкой с запятой.
Каждое присвоение и каждое выражение должно располагаться на разных строках. Оператор "if" Оператор if всегда должен располагаться по крайней мере на двух строках
Оператор "for"
Оператор "while"
Оператор "repeat..until"
Оператор "case" Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
Оператор "try" Несмотря на то, что существует множество синтаксически правильных конструкций, одобренной и рекомендованной считается следующая:
|
5.9.3. Интерфейсы взаимодействия с внешними подсистемами |
Системный слой платформы "Мельница данных" предоставляет сторонним системам ряд интерфейсов, дающих возможность обращаться к объектам базы данных и их свойствам, вызывать методы классов и объектов, осуществлять запросы к базе данных, управлять поведением элементов управления и проч. |
5.9.3.1. Интерфейс IContext | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||
01 IContext = interface(IDispatch) 02 ['{79847D79-A3BE-408F-B59F-662B91BC6350}'] 03 function Handle: Integer; 04 function getName(ID: OleVariant): WideString; 05 function getDescription(ID: OleVariant): WideString; 06 function createDataSet(const TargetClassName: WideString): 07 IContextDataSet; 08 function executeMethod(const ClassName: WideString; 09 const MethodName: WideString; 10 Params: OleVariant): OleVariant; 11 function executeReport(const ClassName: WideString; 12 const TemplateName: WideString; 13 Params: OleVariant): IDispatch; 14 function getPropValue(const ClassName: WideString; 15 const PropName: WideString; 16 const ID: OleVariant): OleVariant; 17 procedure setPropValue(const ClassName: WideString; 18 const PropName: WideString; 19 const ID: OleVariant; Value: OleVariant); 20 function select(const ClassName: WideString; 21 QueryItems: OleVariant): IDispatch; 22 function enumerationItem(ItemIdentifier: OleVariant): WideString; 23 function getClass(const ClassName: WideString): WideString; 24 function createGUID: WideString; 25 procedure processStart(const Description: WideString; 26 ItemCount: Integer); 27 procedure processStep; 28 procedure processStop; 29 function PlaceDataSet(const Range: IDispatch; 30 const DataSet: IContextDataSet; 31 ShiftRows: WordBool; ShiftColumns: WordBool): Integer; 32 procedure DebugString(const Message: WideString); 33 procedure ExportObject(var Document: OleVariant; const ID: WideString; 34 const ClassID: WideString); 35 function callRoutine(const ClassName, RoutineName: WideString; 36 var RetValue: OleVariant; const ScriptPart: OleVariant): WordBool; 37 function getOleObject(const ClassID, AccessibleFileName: WideString): IDispatch; 38 function getResource(const Name: WideString): WideString; 39 function getTempFileName(const Extension: WideString): WideString; 40 function selectVaue(const ClassDomain: WideString; 41 const ExpressionContext: IContextExpressionInfo; 42 var Value: OleVariant): WordBool; 43 procedure raiseManagedException(const ExceptionMessage: WideString); 44 function getCRC(Data: OleVariant): WideString; 45 function downloadData(const Host: WideString; const Url: WideString; 46 const UserName: WideString; const Password: WideString; 47 NegotiateAuth: WordBool; PostData: OleVariant; 48 const PostContentType: WideString; PostDataIsBinary: WordBool; 49 CanCache: WordBool; NewSession: WordBool; TimeOut: Integer): OleVariant; 50 function createBinaryData: IDispatch; 51 function BinaryToBitmap(const Data: IDispatch): IDispatch; safecall; 52 function editValues(const ValuesList: WideString; const Title: WideString; 53 UseTabs: WordBool; HideOKButton: WordBool; 54 const ScriptPart: OleVariant): WordBool; 55 function MsgBox(const Prompt: WideString; Buttons: LongWord; 56 const Title: WideString; 57 const HelpFile: WideString; Context: LongWord): Integer; 58 function ShowMsgBox(const Prompt: WideString; Buttons: LongWord; 59 const Title: WideString; 60 const HelpFile: WideString; Context: LongWord): Integer; 61 function buildNamedFile(const Data: IDispatch; const StoredFileName: WideString; 62 Propmpt: WordBool; Compress: WordBool): IDispatch; 63 procedure parseNamedFile(const NamedFile: IDispatch; out FileName: OleVariant; 64 out Data: OleVariant); 65 procedure showView(const ViewName: WideString; Key: OleVariant; 66 const DetailPropertyName: WideString); 67 procedure showDataSet(const DataSet: ContextDataSet; const Caption: WideString; 68 ColumnCaptions: OleVariant; ColumnOnChangeHandlers: OleVariant; 69 TakeActionsFromView: OleVariant); 70 function executeConsoleProcess(const CommandLine: WideString; MaxDuration: Integer; 71 const OutputData: OleVariant): Integer; 72 function createRaster: IDispatch; 73 function createZIPArchive: IDispatch; 74 function ConvertExcel(Source: OleVariant; const Format: WideString): IDispatch; 75 property ContextObject: IDispatch; 76 property Language: WideString; 77 property UserName: WideString; 78 property NegotiateAuth: WordBool; 79 property Variable[const Name: WideString; Persistent: WordBool]: OleVariant; 80 end; Члены интерфейса доступны для использования в скриптах форм задания параметров, а также в отчетах как члены класса передаваемого контекстного объекта.
|
5.9.3.2. Интерфейс IContextDataSet | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
01 IContextDataSet = interface(IDispatch) 02 ['{466F3AF7-F899-4BC1-869D-1B17DCB86159}'] 03 procedure AddQueryItem(Part: TQueryPart; const Name: WideString; 04 Value: OleVariant; Special: TQuerySpecial; Context: OleVariant); 05 function Eof: WordBool; 06 function Field(const Name: WideString): OleVariant; 07 function FieldCount: Integer; 08 function FieldName(Index: Integer): WideString; 09 procedure Next; 10 end; Интерфейс предоставляет возможности формирования и выполнения запросов к базе данных с целью получения свойств объектов определенного класса, предоставляет доступ к объекту набора данных. Работа с объектом, реализующим интерфейс IContextDataSet заключается в формировании структуры набора данных и последующих обращениях к ним.
|
5.9.3.3. Интерфейс IConstants | ||||||||||||||||||||||||||||||||||||||||||
01 IConstants = interface(IDispatch) 02 ['{7E7B2D66-5E7C-496A-AE06-EFC485007500}'] 03 property qpWhat: Integer; 04 property qpWhere: Integer; 05 property qpOrder: Integer; 06 property qpGroup: Integer; 07 property qpHaving: Integer; 08 property qsNone: Integer; 09 property qsObjectID: Integer; 10 property qsParentID: Integer; 11 property qsHasChildren: Integer; 12 property qsFilterCondition: Integer; 13 property qsUplink: Integer; 14 property qsRootOnly: Integer; 15 property qsDescending: Integer; 16 property qsCount: Integer; 17 property qsSum: Integer; 18 property qsMin: Integer; 19 property qsMax: Integer; 20 property qsAverage: Integer; 21 property qsMasterLink: Integer; 22 property qsSelectedOnly: Integer; 23 end; Интерфейс предоставляет символические имена констант, необходимых для работы с объектом, реализующим интерфейс IContextDataSet.
|
5.9.3.4. Интерфейс IFormContext |
01 IFormContext = interface(IDispatch) 02 ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}'] 03 function ChangedControl: OleVariant; 04 function ControlCount: Integer; 05 function ButtonCount: Integer; 06 function ID: WideString; 07 procedure Cancel; 08 function ControlExists(const Name: WideString): WordBool; 09 function ChangedControlName: WideString; 10 function ParentForm: OleVariant; 11 function RoutineID: WideString; 12 procedure PreInitControl(const Name: WideString; Value: OleVariant); 13 procedure NavigatorNext; 14 procedure NavigatorPrevious; 15 function NavigatorCanNext: WordBool; 16 function NavigatorCanPrevious: WordBool; 17 procedure RefreshView(RefreshAll: WordBool); 18 function ExpressionContextValue(const Name: WideString): OleVariant; safecall; 19 property Controls[Name: OleVariant]: IControl; 20 property Buttons[Name: OleVariant]: IButton; 21 property Enabled: WordBool; 22 end; Представляет собой модель формы задания параметров. Члены интерфейса доступны для использования в скриптах форм задания параметров.
|
5.9.3.5. Интерфейс IControl |
01 IControl = interface(IDispatch) 02 ['{0662001F-D3D5-4F28-98AC-9B499F70E856}'] 03 function Name: WideString; 04 procedure SetHint(const Value: WideString); 05 procedure RefreshLinkedView; 06 property Value: OleVariant; 07 property ReadOnly: WordBool; 08 property IsValid: WordBool; 09 property IsEmpty: WordBool; 10 end; Моделирует элемент управления на форме задания параметров. Позволяет управлять поведением элементов управления на форме.
|
5.9.3.6. Интерфейс IButton |
1 IButton = interface(IDispatch) 2 ['{1618406F-B9F1-4C5F-BC35-C2A154837CA9}'] 3 function Name: WideString; safecall; 4 procedure Click; safecall; 5 property Enabled: WordBool; 6 end; Моделирует командную кнопку на форме задания параметров. Позволяет управлять поведением кнопки на форме.
|
5.9.3.7. Интерфейс IBinaryData |
01 IBinaryData = interface(IDispatch) 02 ['{8A9F7CB3-230A-4048-B938-852CBF6ADB2D}'] 03 procedure Load(const Src: OleVariant); 04 procedure Append(const Src: OleVariant); 05 procedure Save(const Dst: OleVariant); 06 function Size: Cardinal; 07 function ToString(Encoding: WideString): WideString; 08 procedure FromString(Data: OleVariant); 09 procedure AppendString(Data: OleVariant); 10 function ToBase64: WideString; 11 procedure FromBase64(Data: OleVariant); Представляет набор двоичных данных.
|
5.9.3.8. Интерфейс IContextExpressionInfo |
1 IContextExpressionInfo = interface(IUnknown) 2 ['{C7518427-B515-4EB4-B698-88656E6CBF7C}'] 3 function Count: Integer; 4 function ItemName(Index: Integer): WideString; 5 function ItemValue(Index: Integer): OleVariant; 6 function ItemDomain(Index: Integer): OleVariant; 7 end; Через реализацию этого интерфейса передаются значения контекстных переменных при обращении к функции selectValueинтерфейса IContext.
|
5.9.3.9. Интерфейс IExceptionHandler |
1 IExceptionHandler = interface(IDispatch) 2 ['{3C3C7202-5ED5-4EB4-9CDD-A929C18CA8BD}'] 3 procedure HandleException(ContextObject: OleVariant; 4 const Message: WideString; 5 const ExtentedInfo: WideString); 6 end; Реализовав интерфейс IExceptionHandler разработчик решений может получать уведомления о возникающих при работе исключительных ситуациях. При возникновении исключения объект, реализующий интерфейс, получит текст сообщения об ошибке и расширенную информацию. Для реализации интерфеса используется библиотека hse.tlb, входящая в состав поставки решения. Перед началом работы с ней, необходимо зарегистрировать ее в операционной системе. Для установки настроек интерфейса необходимо открыть Системную форму раздела АДМИНИСТРАТОРУ, перейти на вкладку Настройки и в столбце "Заголовок закладки" установить фильтр "Обработка ошибок". После этого в качестве значения Идентификатора класса установить "IExceptionHandler" без кавычек. Для Библиотеки кода указать значение HSE.tlb |
5.9.4. Справочник по метаданным |
5.9.4.1. Вещественный домен Float (Вещественное) |
Используется для репрезентации "вещественного вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого вещественного значения. |
5.9.4.2. Домен больших объектов TBinaryData (Двоичные данные) |
Тип сохраненных данных - btBinaryData(Двоичные данные). Используется для описания больших двоичных объектов, содержимое которых никак не интерпретируется системой. |
5.9.4.3. Домен больших объектов TComment (Текстовый комментарий) |
Тип сохраненных данных - btText (Текст). При работе с файломи используется расширение имени ".txt". Используется для хранения текстовых комментариев, описаний произвольной длины. Значение интерпретируется как текст. |
5.9.4.4. Домен больших объектов TExcelTemplateData (Данные Excel-шаблона) |
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .xls ". Используется для хранения в базе рабочих книг Microsoft Excel, например, шаблонов отчетов Excel Тип сохраненных данных - btBinaryData (Двоичные данные).При работе с файломи используется расширение имени ".xls". |
5.9.4.5. Домен больших объектов TFileContent (Содержимое файлов) |
Тип сохраненных данных - btBinaryData (Двоичные данные). Используется для хранения содержимого доступного файла. |
5.9.4.6. Домен больших объектов TFilterCondition (Условие отбора) |
Тип сохраненных данных - btSourceCode (Исходный код). Содержит выражение на языке PascalScript, определяющее условие отбора. Тип сохраненных данных - btSourceCode (Исходный код). |
5.9.4.7. Домен больших объектов TImage (Изображение) |
Тип сохраненных данных - btImage (Изображение). При работе с файломи используется расширение имени " .bmp ". Используется для хранения изображений-иконок визуальных элементов системы. Тип сохраненных данных - btImage (Изображение).При работе с файломи используется расширение имени ".bmp". |
5.9.4.8. Домен больших объектов TInlineExpressionText (Текст выражения) |
Тип сохраненных данных - btSourceCode (Исходный код). Содержит выражение на языке PascalScript, определяющее логику работы встраиваемого выражения. |
5.9.4.9. Домен больших объектов TMethodBody (Исходные тексты методов) |
Тип сохраненных данных - btSourceCode (Исходный код). Содержит исходный текст метода на языке PascalScript. Тип сохраненных данных - btSourceCode (Исходный код). |
5.9.4.10. Домен больших объектов TRoutineScript (Скрипты форм параметров) |
Тип сохраненных данных - btText (Текст). Содержит скрипт формы задания параметров на языке VBScript. Тип сохраненных данных - btVisualBasicScript (Скрипт Visual Basic).При работе с файломи используется расширение имени ".vbs". |
5.9.4.11. Домен больших объектов TWordTemplateData (Данные Word-шаблона) |
Тип сохраненных данных - btBinaryData (Двоичные данные). При работе с файломи используется расширение имени " .doc ". Используется для хранения в базе документов Microsoft Word, например, шаблонов отчетов Word Тип сохраненных данных - btBinaryData (Двоичные данные).При работе с файломи используется расширение имени ".doc". |
5.9.4.12. Домен больших объектов TXSLTTemplateData (Данные XSLT-шаблона) |
Тип сохраненных данных - btXML (XML-документ). При работе с файлами используется расширение имени " .xsl ". Используется для хранения в базе данных скриптов xslt-преобразований, например, шаблонов отчетов XSLT. Тип сохраненных данных - btXML (XML-документ).При работе с файломи используется расширение имени " .xsl ". |
5.9.4.13. Домен времени TTime (Время) |
Используется для репрезентации "времени вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимого значения времени. |
5.9.4.14. Домен дат TDate (Дата) |
Используется для репрезентации "даты вообще" в функциях библиотеки времени исполнения либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты. |
5.9.4.15. Домен дат со временем TimeStamp (Момент) |
Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем. > |
5.9.4.16. Домен дат со временем TimeStamp required (Момент (обязательный)) |
Значение обязательно для заполнения. Используется для репрезентации "даты со временем вообще" в функциях библиотеки времени исполнения, либо в тех случаях, когда нельзя сделать предположений о физическом смысле хранимой даты со временем. |
5.9.4.17. Домен ссылок на объекты TAccessor domain (Роли доступа) |
Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для обозначения роли безопасности, используемой при создании объектов для обеспечения защиты данных в соответствии с правами пользователя. Ссылка на класс TSecurityAccount (Роли безопасности). |
5.9.4.18. Домен ссылок на объекты TActionRoutine required domain (Метод действия) |
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма). При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен используется для отбора подпрограмм, по которым можно построить программируемое действие. Домен отбирает только те подпрограммы, которые принадлежат к классу, на котором основано представление, в которое включается (включено) действие, к его предкам и его потомкам в иерархии наследования. Доступ к потомкам необходим, чтобы обеспечить возможность создания объектов конечных неабстрактных бизнес-классов из представления, обеспечивающего доступ к объектам абстрактного класса. Использование этого домена в прикладных решениях запрещено. |
5.9.4.19. Домен ссылок на объекты TBanGroup domain (Группа запретов) |
Значение обязательно для заполнения. Ссылка на класс TBanGroup (Группы запретов). При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен используется дочерними классами групп запретов. |
5.9.4.20. Домен ссылок на объекты TBannedProperty domain (Свойство для запрета) |
Значение обязательно для заполнения. Ссылка на класс TProperty (Свойства). При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен отбирает свойства класса, по которому строится запрет на свойство, либо его предков. Использование этого домена в прикладных решениях запрещено. |
5.9.4.21. Домен ссылок на объекты TBannedRoutine domain (Подпрограмма для запрета) |
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен отбирает подпрограммы класса, по которому строится запрет на свойство, либо его предков. Использование этого домена в прикладных решениях запрещено. Значение обязательно для заполнения.Ссылка на класс TRoutine (Подпрограмма). При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Объекты отбираются по следующему условию: BannedClass.HasAsParent(Self.Master) |
5.9.4.22. Домен ссылок на объекты TButtonParameter domain (Параметр командной кнопки) |
5.9.4.23. Домен ссылок на объекты TClass domain (Класс) |
Ссылка на класс TClass (Классы) . Используется для задания необязательной ссылки на класс. |
5.9.4.24. Домен ссылок на объекты TClass required cascade domain (Класс (с каскадным удалением)) |
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания обязательной каскадной ссылки на класс в объектах-запрещениях. Удаление классов должно приводить к удалению связанных с ними запрещений. |
5.9.4.25. Домен ссылок на объекты TClass required domain (Класс (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TClass (Классы) . Используется для задания обязательной ссылки на класс. |
5.9.4.26. Домен ссылок на объекты TCodeLibrary domain (Библиотека кода) |
Ссылка на класс TAccessibleFile (Доступный файл) . При удалении объекта-источника ссылки значение ссылки очищается. Используется для организации связи между методом Ole-объекта и доступным файлом, содержащим реализацию метода. Использование этого домена в прикладных решениях запрещено. |
5.9.4.27. Домен ссылок на объекты TColorProperty domain (Домен свойства цвета) |
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается. Домен отбирает свойства класса, на котором основано представление, или его предков, имеющие тип Цвет строки таблицы. При необходимости цветовой индикации состояний объектов в таблицах данных, необходимо объявить свойство соответствующего типа и указать его в представлении. Использование этого домена в прикладных решениях запрещено. |
5.9.4.28. Домен ссылок на объекты TColumnProperty domain (Свойство колонки) |
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен отбирает свойства класса, на котором основано представление, или его предков. При необходимости цветовой индикации состояний объектов в таблицах данных, необходимо объявить свойство соответствующего типа и указать его в представлении. Использование этого домена в прикладных решениях запрещено. |
5.9.4.29. Домен ссылок на объекты TDetailProperty domain (Свойство-подчиненное) |
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается. Домен отбирает свойства класса, на котором основано представление, или его предков для организации связи между представлениями. Использование этого домена в прикладных решениях запрещено. |
5.9.4.30. Домен ссылок на объекты TDomain domain (Домен) |
Ссылка на класс TDomain (Домены) . Используется для задания необязательной ссылки на домен. |
5.9.4.31. Домен ссылок на объекты TDomain required domain (Домен (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TDomain (Домены) . Используется для задания обязательной ссылки на домен. |
5.9.4.32. Домен ссылок на объекты TForm required domain (Форма (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TForm (Формы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания обязательной ссылки на форму. |
5.9.4.33. Домен ссылок на объекты TFormView domain (Представления форм) |
Ссылка на класс TFormView (Представления формы) . При удалении объекта-источника ссылки значение ссылки очищается. Используется для задания ссылки на представление формы. Использование этого домена в прикладных решениях не рекомендуется. |
5.9.4.34. Домен ссылок на объекты TInitializationMember domain (Член класса для инициализации) |
Ссылка на класс TClassMember (Члены класса) . Домен отбирает члены класса, которые
Использование этого домена в прикладных решениях запрещено. |
5.9.4.35. Домен ссылок на объекты TList domain (Список объектов) |
Ссылка на класс TObjectList (Списки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания каскадной ссылки на список объектов. Списки могут использоваться в тех случаях, в которых необходимо передавать набор объектов. |
5.9.4.36. Домен ссылок на объекты TMaster domain (Объект (с каскадным удалением)) |
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта. Использование этого домена в прикладных решениях запрещено. Этот домен используется в объявлении свойства TObject.Master, поэтому значение его сделано обязательным: в тех случаях, когда cвойство TObject.Master (Мастер) имеет смысл (для объектов, инкапсулированных в другие объекты), значение свойства обязательно. |
5.9.4.37. Домен ссылок на объекты TMaster field domain (Домен поля "Мастер") |
Ссылка на класс TObject (Объекты) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен отбирает объекты, которые принадлежат к тому классу, который объявлен классом-мастером класса объекта. Использование этого домена в прикладных решениях запрещено. Этот домен используется в объявлении поля TObject.FMaster (Мастер), поэтому значение его сделано необязательным: объектах, не инкапсулированных в другие классы значение поля обязано оставаться пустым. Ссылка на класс TObject (Объекты).При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. |
5.9.4.38. Домен ссылок на объекты TMasterProperty domain (Свойство-главное) |
Ссылка на класс TProperty (Свойства) . При удалении объекта-источника ссылки значение ссылки очищается. Домен отбирает свойства класса, на котором основано родительское в форме представление, или его предков для организации связи между представлениями. Использование этого домена в прикладных решениях запрещено. |
5.9.4.39. Домен ссылок на объекты TMergedObject domain (Объект для отождествления) |
Значение обязательно для заполнения. Ссылка на класс TObject (Объекты) . Объект отбирает объекты, включенные в тот же объект, что и текущий (либо они оба не включены ни в какой), и класс которых совпадает либо является родителем класса текущего объекта. Использование этого домена в прикладных решениях запрещено. |
5.9.4.40. Домен ссылок на объекты TObject domain (Объект) |
Ссылка на класс TObject (Объекты) . Домен определяет необязательную ссылку на объект системы. Используется там, где нельзя сделать предположения о классе передаваемого объекта. |
5.9.4.41. Домен ссылок на объекты TOption required domain (Настройка (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TOption (Настройки) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен определяет обязательную ссылку на настройку системы и используется значениями настроек. Использование этого домена в прикладных решениях запрещено. |
5.9.4.42. Домен ссылок на объекты TOptionValue domain (Значение настройки) |
Ссылка на класс TOptionValue (Значения настроек) . Домен определяет ссылку на значение настройки системы. |
5.9.4.43. Домен ссылок на объекты TParent domain (Родитель объекта) |
Ссылка на класс TObject (Объекты) . Домен отбирает объекты, которые могуть быть родителем объекта в иерархии. Использование этого домена в прикладных решениях запрещено. Там, где это необходимо, используйте специализированные домены. |
5.9.4.44. Домен ссылок на объекты TReadMember domain (Член класса для чтения) |
Ссылка на класс TClassMember (Члены класса) . Домен отбирает члены класса, которые
Использование этого домена в прикладных решениях запрещено. |
5.9.4.45. Домен ссылок на объекты TSecurityAccount domain (Роль безопасности) |
Ссылка на класс TSecurityAccount (Роли безопасности) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания необязательной каскадной ссылки на роль безопасности. |
5.9.4.46. Домен ссылок на объекты TSecurityAccount required domain (Роль безопасности (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TSecurityAccount (Роли безопасности) . Используется для задания обязательной ссылки на роль безопасности. |
5.9.4.47. Домен ссылок на объекты TSourceDataBase required domain (База данных) |
Значение обязательно для заполнения. Ссылка на класс TDataBase (Базы данных) . Домен используется для организации ссылки на логическую базу данных Системы. Использование этого домена в прикладных решениях запрещено. |
5.9.4.48. Домен ссылок на объекты TUser domain (Пользователь) |
Ссылка на класс TUser (Пользователи) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания необязательной каскадной ссылки на пользователя Системы. |
5.9.4.49. Домен ссылок на объекты TUser required domain (Пользователь) |
Значение обязательно для заполнения. Ссылка на класс TUser (Пользователи) . Используется для задания обязательной ссылки на пользователя. |
5.9.4.50. Домен ссылок на объекты TView of ClassDomain domain (Представление) |
Ссылка на класс TView (Представления) . Домен отбирает те представления, которые основаны на классе, на который указывает ссылочный домен, либо на его предков. Использование этого домена в прикладных решениях запрещено. |
5.9.4.51. Домен ссылок на объекты TView of FormView domain (Представление для формы) |
Значение обязательно для заполнения. Ссылка на класс TView (Представления) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Домен используется для постороения иерархии представлений форм и действий, основанных на представлении. Использование этого домена в прикладных решениях запрещено. |
5.9.4.52. Домен ссылок на объекты TVisualGroup required domain (Визуальная группа (обязательно)) |
Значение обязательно для заполнения. Ссылка на класс TVisualGroup (Визуальные группы) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Используется для задания обязательной ссылки на визуальную группу. |
5.9.4.53. Домен ссылок на объекты TVisualGroup routine domain (Подпрограмма визуальной группы) |
Значение обязательно для заполнения. Ссылка на класс TRoutine (Подпрограмма) . При удалении объекта-источника ссылки ссылающиеся на него объекты также удаляются. Отбирает подпрограммы, являющиеся методами класса, для использования в элементах визуальных групп. Использование этого домена в прикладных решениях запрещено. |
5.9.4.54. Домен ссылок на объекты TWriteMember domain (Член класса для записи) |
Ссылка на класс TClassMember (Члены класса) . Домен отбирает члены класса, которые
Использование этого домена в прикладных решениях запрещено. |
5.9.4.55. Класс TAccessItem (Элементы доступа) |
5.9.4.55.1. Конструктор TAccessItem.Create (Конструктор элемента доступа) |
5.9.4.55.2. Поле TAccessItem.FSecurityAccount (Роль безопасности) |
5.9.4.55.3. Свойство TAccessItem.Description (Наименование) |
5.9.4.55.4. Свойство TAccessItem.Name (Имя) |
5.9.4.55.5. Свойство TAccessItem.SecurityAccount (Роль безопасности) |
5.9.4.55.6. Функция TAccessItem.GetIsAccessible (Проверка доступности) |
5.9.4.56. Класс TAccessibleFile (Доступный файл) |
Унаследован от класса TObject (Объекты). Класс предназначен для хранения (двоичных) именованных (cвойство TObject.Name (Имя)) файлов внутри Системы. Содержимое этих файлов используется Системой в качестве источника статичных данных (картинок, стилевых таблиц, скриптовых библиотек, etc), доступных по протоколу http внутри отчета XSLT и для хранения библиотек кода, содержащих логику работы методов Ole-объекта. Разработчик решения вправе распорядится доступными файлами по своему усмотрению. |
5.9.4.56.1. Конструктор TAccessibleFile.Create (Конструктор доступного файла) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.56.2. Поле TAccessibleFile.FFileData (Данные файла) |
FFileData: TFileContent (Содержимое файлов). Используется для хранения значений свойства TAccessibleFile.FileData (Данные файла). |
5.9.4.56.3. Свойство TAccessibleFile.FileData (Данные файла) |
FileData : TFileContent (Содержимое файлов) . Для чтения и записи свойства используется поле TAccessibleFile.FFileData (Данные файла) . Это свойство определяет содержимое доступного файла. |
5.9.4.57. Класс TAction (Действия) | ||
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TView (Представления) . Объекты класса моделируют элементы контектсного меню представления. Иерархия элементов контектсного меню отображается на иерахию объектов класса. Сам по себе объект класса TAction определяет положение и поведение соответствующего пункта контекстного меню, кроме ассоциированного с пуктом действия. Для спецификации этого действия существуют классы-наследники TAction: класс TRoutineAction (Программируемое действие) и класс TViewAction (Действие-представление). Таким образом, объекты собственно класса TAction создаются на месте родительских пунктов контекстного меню, раскрывающихся, содержащих
|
5.9.4.57.1. Конструктор TAction.Create (Конструктор действия) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.57.2. Поле TAction.FDefault (По умолчанию) |
FDefault : Boolean (Обычное логическое) (обязательно для заполнения). Используется для хранения значений свойства TAction.Default (По умолчанию). |
5.9.4.57.3. Поле TAction.FPosition (Позиция) |
FPosition : TPosition (Позиция) (обязательно для заполнения) . Используется для хранения значений свойства TAction.Position (Позиция). |
5.9.4.57.4. Поле TAction.FSeparated (Отделено) |
FSeparated : Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TAction.Separated (Отделено). |
5.9.4.57.5. Поле TAction.FShortcut (Горячая клавиша) |
FShortcut : TShortcut (Горячие клавиши) . Используется для хранения значений свойства TAction.Shortcut (Горячая клавиша). |
5.9.4.57.6. Свойство TAction.Default (По умолчанию) | ||
Default : Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TAction.FDefault (По умолчанию) . Действие с установленным значением этого свойства будет отображаться в контекстном меню жирным шрифтом и вызываться при двойном щелчке мышью по соответствующей таблице данных.
|
5.9.4.57.7. Свойство TAction.Position (Позиция) |
Position : TPosition (Позиция) (обязательно для заполнения) . Для чтения и записи свойства используется поле TAction.FPosition (Позиция) . Действия сортируются в пределах уровня для построения контекстного меню в порядке возрастания этого своства. |
5.9.4.57.8. Свойство TAction.Separated (Отделено) | ||
Separated : Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TAction.FSeparated (Отделено) . После пункта меню, соответствующего действию с установленным свойством, будет отображен разделитель. Если пункт меню - последний, то разделитель не будет отображен.
|
5.9.4.57.9. Свойство TAction.Shortcut (Горячая клавиша) |
Shortcut : TShortcut (Горячие клавиши) . Для чтения и записи свойства используется поле TAction.FShortcut (Горячая клавиша) . Горячая клавиша определяет связь между нажатием сочетания клавиш на клавиатуре и действием, ассоциированным с пунктом меню. Тест, описывающий горячую клавишу, располагается справа в контекстном меню для тех действий, для которых горячая клавиша назначена. |
5.9.4.57.10. Функция TAction.GetNextPos (Следующая позиция) | |||||||||||||||
Является методом класса. Параметры:
Используется для инициализации значения параметра Position (Позиция) метода TAction.Create (Конструктор действия). Вычисляет следующую позицию добавляемого действия. |
5.9.4.58. Класс TBanGroup (Группы запретов) |
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов:
Объекты класса определяют группы запретов. Запреты на классы, свойства и подпрограммы объединяются разработчиком в функциональные группы, являющиеся группами запретов. В дальнейшем эти группы ассоциируются с конкретными ролями безопасности. |
5.9.4.58.1. Конструктор TBanGroup.Create (Конструктор группы запретов) | |||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.58.2. Свойство TBanGroup.IsAccessible (Доступна) |
IsAccessible : Boolean (Обычное логическое) (обязательно для заполнения). Для чтения значения свойства используется функция TBanGroup.GetIsAccessible (Доступна) . Свойство доступно только для чтения. Свойство определяет, ассоциирована ли группа запретов с текущим пользователем, напрямую или через вхождение пользователя в роль. |
5.9.4.58.3. Функция TBanGroup.GetIsAccessible (Доступна) |
Возвращает значение типа Boolean (Обычное логическое) . Используется для вычисления значений свойства TBanGroup.IsAccessible (Доступна). |
5.9.4.59. Класс TBanGroupAccess (Доступ к группам запретов) |
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) . Объекты класса определяют связь между родительской группой запретов и ролью безопасности. Имя и наименование объекта полностью определяются другими свойствами, и запрещены для изменения. |
5.9.4.59.1. Конструктор TBanGroupAccess.Create (Конструктор доступа к группе запретов) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.60. Класс TBanGroupItem (Элементы группы запретов) |
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) . |
5.9.4.60.1. Конструктор TBanGroupItem.Create (Конструктор элемента группы запретов) | |||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.61. Класс TBlobDomain (Большие объекты) |
Унаследован от класса TDomain (Домены) . |
5.9.4.61.1. Конструктор TBlobDomain.Create (Конструктор домена больших объектов) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.61.2. Поле TBlobDomain.FBlobSubtype (Подтип) |
FBlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) . Используется для хранения значений свойства TBlobDomain.BlobSubtype (Подтип) |
5.9.4.61.3. Поле TBlobDomain.FExtension (Расширение имени) |
FExtension: TFileExtension (Расширение имени файла) . Используется для хранения значений свойства TBlobDomain.Extension (Расширение) |
5.9.4.61.4. Свойство TBlobDomain.BlobSubtype (Подтип) |
BlobSubtype: TBlobSubtype (Подтип) (обязательно для заполнения) . Для чтения и записи свойства используется поле TBlobDomain.FBlobSubtype (Подтип) . |
5.9.4.61.5. Свойство TBlobDomain.Extension (Расширение) |
Extension: TFileExtension (Расширение имени файла) . Для чтения и записи свойства используется поле TBlobDomain.FExtension (Расширение имени) . |
5.9.4.62. Класс TBooleanDomain (Логические) |
Унаследован от класса TDomain (Домены) . |
5.9.4.62.1. Конструктор TBooleanDomain.Create (Конструктор логического домена) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.62.2. Поле TBooleanDomain.FFalseValue (Значение "Ложь") |
FFalseValue: TObjectName (Имена) (обязательно для заполнения) . Используется для хранения значений свойства TBooleanDomain.FalseValue (Значение "Ложь") |
5.9.4.62.3. Поле TBooleanDomain.FTrueValue (Значение "Истина") |
FTrueValue: TObjectName (Имена) (обязательно для заполнения) . Используется для хранения значений свойства TBooleanDomain.TrueValue (Значение "Истина") |
5.9.4.62.4. Свойство TBooleanDomain.FalseValue (Значение "Ложь") |
FalseValue: TObjectName (Имена) (обязательно для заполнения) . Для чтения и записи свойства используется поле TBooleanDomain.FFalseValue (Значение "Ложь") . |
5.9.4.62.5. Свойство TBooleanDomain.TrueValue (Значение "Истина") |
TrueValue: TObjectName (Имена) (обязательно для заполнения) . Для чтения и записи свойства используется поле TBooleanDomain.FTrueValue (Значение "Истина") . |
5.9.4.63. Класс TClass (Классы) |
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты могут включать в себя объекты классов: |
5.9.4.63.1. Конструктор TClass.Create (Конструктор класса) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.63.2. Поле TClass.FDescriptionExpression (Выражение наименования объекта) |
FDescriptionExpression: TInlineExpressionText (Текст выражения) . Используется для хранения значений свойства TClass.DescriptionExpression (Выражение наименования объекта) |
5.9.4.63.3. Поле TClass.FIsHierarhical (Является иерархическим) |
FIsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TClass.IsHierarhical (Является иерархическим) |
5.9.4.63.4. Поле TClass.FMasterClass (Класс-мастер) |
FMasterClass: TClass domain (Класс) . Используется для хранения значений свойств: |
5.9.4.63.5. Поле TClass.FNameExpression (Выражение имени объекта) |
FNameExpression: TInlineExpressionText (Текст выражения) . Используется для хранения значений свойства TClass.NameExpression (Выражение имени объекта) |
5.9.4.63.6. Поле TClass.FReplicationStatus (Статус репликации) |
FReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.63.7. Поле TClass.FSecurityModel (Модель безопасности) |
FSecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) . Используется для хранения значений свойства TClass.SecurityModel (Модель безопасности) |
5.9.4.63.8. Поле TClass.FUnNamed (Неименованный) |
FUnNamed: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TClass.UnNamed (Неименованный) |
5.9.4.63.9. Процедура TClass.GenerateConstructor (Сгенерировать текст конструктора) |
5.9.4.63.10. Свойство TClass.DescriptionExpression (Выражение наименования объекта) |
DescriptionExpression: TInlineExpressionText (Текст выражения) . Для чтения и записи свойства используется поле TClass.FDescriptionExpression (Выражение наименования объекта) . |
5.9.4.63.11. Свойство TClass.IsHierarhical (Является иерархическим) |
IsHierarhical: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения значения свойства используется поле TClass.FIsHierarhical (Является иерархическим) . |
5.9.4.63.12. Свойство TClass.MasterClass (Класс-мастер) |
MasterClass: TClass domain (Класс) . Для чтения значения свойства используется поле TClass.FMasterClass (Класс-мастер) . |
5.9.4.63.13. Свойство TClass.NameExpression (Выражение имени объекта) |
NameExpression: TInlineExpressionText (Текст выражения) . Для чтения и записи свойства используется поле TClass.FNameExpression (Выражение имени объекта) . |
5.9.4.63.14. Свойство TClass.ReplicationStatus (Статус репликации) |
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) . |
5.9.4.63.15. Свойство TClass.SecurityModel (Модель безопасности) |
SecurityModel: TSecurityModel (Модели безопасности) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClass.FSecurityModel (Модель безопасности) . |
5.9.4.63.16. Свойство TClass.UnNamed (Неименованный) |
UnNamed: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClass.FUnNamed (Неименованный) . |
5.9.4.63.17. Функция TClass.ListProperties (Список видимых свойств) | ||||||||||||||||||||
Параметры:
Возвращает значение типа TList domain (Список объектов) . Параметры:
|
5.9.4.63.18. Функция TClass.ListRoutines (Список видимых подпрограмм) | ||||||||||||||||||||
Параметры:
Возвращает значение типа TList domain (Список объектов) . Параметры:
|
5.9.4.63.19. Шаблон отчета XSLT TClass.ClassesDiagram (Диаграмма классов) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Является методом класса. Параметры:
Параметры:
|
5.9.4.64. Класс TClassBan (Запрет на класс) |
Унаследован от класса TBanGroupItem (Элементы группы запретов) . Объекты класса являются составными частями объектов класса TBanGroup (Группы запретов) . |
5.9.4.64.1. Конструктор TClassBan.Create (Конструктор запрета на класс) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.64.2. Поле TClassBan.FBannedClass (Запрещенный класс) |
FBannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) . Используется для хранения значений свойства TClassBan.BannedClass (Запрещаемый класс) |
5.9.4.64.3. Свойство TClassBan.BannedClass (Запрещаемый класс) |
BannedClass: TClass required cascade domain (Класс (с каскадным удалением)) (обязательно для заполнения) . Для чтения значения свойства используется поле TClassBan.FBannedClass (Запрещенный класс) . |
5.9.4.65. Класс TClassDomain (Ссылки на объекты) |
Унаследован от класса TDomain (Домены) . |
5.9.4.65.1. Конструктор TClassDomain.Create (Конструктор домена-ссылки) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.65.2. Поле TClassDomain.FClass (Класс) |
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Используется для хранения значений свойства TClassDomain.ClassOfDomain (Класс домена) |
5.9.4.65.3. Поле TClassDomain.FDeleteRule (Правило удаления) |
FDeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) . Используется для хранения значений свойства TClassDomain.DeleteRule (Правило удаления) |
5.9.4.65.4. Поле TClassDomain.FFilterCondition (Условие отбора) |
FFilterCondition: TFilterCondition (Условие отбора) . Используется для хранения значений свойства TClassDomain.FilterCondition (Условие отбора) |
5.9.4.65.5. Поле TClassDomain.FShowObjectInfoType (Тип представления объектов) |
FShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) . Используется для хранения значений свойства TClassDomain.ShowObjectInfoType (Тип представления объектов) |
5.9.4.65.6. Поле TClassDomain.FView (Представление) |
FView: TView of ClassDomain domain (Представление) . Используется для хранения значений свойства TClassDomain.View (Представление) |
5.9.4.65.7. Свойство TClassDomain.ClassOfDomain (Класс домена) |
ClassOfDomain: TClass domain (Класс) . Для чтения и записи свойства используется поле TClassDomain.FClass (Класс) . |
5.9.4.65.8. Свойство TClassDomain.ClassReplicationStatus (Статус репликации класса) |
5.9.4.65.9. Свойство TClassDomain.DeleteRule (Правило удаления) |
DeleteRule: TDeleteRule (Правило удаления) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClassDomain.FDeleteRule (Правило удаления) . |
5.9.4.65.10. Свойство TClassDomain.FilterCondition (Условие отбора) |
FilterCondition: TFilterCondition (Условие отбора) . Для чтения и записи свойства используется поле TClassDomain.FFilterCondition (Условие отбора) . |
5.9.4.65.11. Свойство TClassDomain.ShowObjectInfoType (Тип представления объектов) |
ShowObjectInfoType: TShowObjectInfoType (Тип представления объектов) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClassDomain.FShowObjectInfoType (Тип представления объектов) . |
5.9.4.65.12. Свойство TClassDomain.View (Представление) |
View: TView of ClassDomain domain (Представление) . Для чтения и записи свойства используется поле TClassDomain.FView (Представление) . |
5.9.4.66. Класс TClassMember (Члены класса) |
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TClass (Классы) . |
5.9.4.67. Класс TCommandButton (Командные кнопки) |
5.9.4.67.1. Конструктор TCommandButton.Create (Конструктор командной кнопки) |
5.9.4.67.2. Поле TCommandButton.FGroup (Заголовок группы) |
5.9.4.67.3. Поле TCommandButton.FParameter (Связанный параметр) |
5.9.4.67.4. Поле TCommandButton.FPosition (Позиция) |
5.9.4.67.5. Поле TCommandButton.FScript (Скрипт) |
5.9.4.67.6. Поле TCommandButton.FTab (Заголовок закладки) |
5.9.4.67.7. Свойство TCommandButton.Group (Заголовок группы) |
5.9.4.67.8. Свойство TCommandButton.Parameter (Связанный параметр) |
5.9.4.67.9. Свойство TCommandButton.Position (Позиция) |
5.9.4.67.10. Свойство TCommandButton.Script (Скрипт) |
5.9.4.67.11. Свойство TCommandButton.Tab (Заголовок закладки) |
5.9.4.67.12. Функция TCommandButton.GetNextPos (Следующая позиция) |
5.9.4.68. Класс TDataBase (Базы данных) |
Унаследован от класса TObject (Объекты) . |
5.9.4.68.1. Конструктор TDataBase.Create (Конструктор базы данных) | |||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.68.2. Поле TDataBase.FGUID (Идентификатор) |
FGUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.68.3. Поле TDataBase.FIsCurrent (Является текущей) |
FIsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.68.4. Поле TDataBase.FProtected (Защищена) |
FProtected: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TDataBase.Protected (Защищена от изменений) |
5.9.4.68.5. Свойство TDataBase.GUID (Идентификатор) |
GUID: TGUID (Уникальные идентификаторы) (обязательно для заполнения) . Для чтения значения свойства используется поле TDataBase.FGUID (Идентификатор) . |
5.9.4.68.6. Свойство TDataBase.IsCurrent (Является текущей) |
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения значения свойства используется поле TDataBase.FIsCurrent (Является текущей) . |
5.9.4.68.7. Свойство TDataBase.Protected (Защищена от изменений) |
Protected: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TDataBase.FProtected (Защищена) . |
5.9.4.69. Класс TDateDomain (Даты) |
Унаследован от класса TDomain (Домены) . |
5.9.4.69.1. Конструктор TDateDomain.Create (Конструктор домена даты) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.70. Класс TDateTimeDomain (Даты со временем) |
Унаследован от класса TDomain (Домены) . |
5.9.4.70.1. Конструктор TDateTimeDomain.Create (Конструктор домена даты со временем) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.71. Класс TDomain (Домены) |
Унаследован от класса TObject (Объекты) . |
5.9.4.71.1. Встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) |
GetDependencyCount: Integer (Целое) . Текст выражения: 1count(TField with Domain = Self) + 2count(TProperty with Domain = Self) + 3count(TRoutine with Domain = Self) + 4count(TParameter with Domain = Self) + count(TOption with Domain = Self) Используется для вычисления значений свойства TDomain.DependencyCount (Количество зависимостей) |
5.9.4.71.2. Конструктор TDomain.Create (Конструктор домена) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.71.3. Поле TDomain.FRequired (Обязательно для заполнения) |
FRequired: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.71.4. Свойство TDomain.DependencyCount (Количество зависимостей) |
DependencyCount: Integer (Целое) . Вычисление свойства отложено. Для чтения значения свойства используется встраиваемое выражение TDomain.GetDependencyCount (Количество зависимостей) . |
5.9.4.71.5. Свойство TDomain.Required (Обязательно для заполнения) |
Required: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) . |
5.9.4.72. Класс TEnumerationDomain (Перечисления) |
Унаследован от класса TDomain (Домены) . Объекты могут включать в себя объекты классов: |
5.9.4.72.1. Конструктор TEnumerationDomain.Create (Конструктор перечисления) | |||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.72.2. Поле TEnumerationDomain.FShowNames (Показывать имена) |
FShowNames: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TEnumerationDomain.ShowNames (Показывать имена) |
5.9.4.72.3. Свойство TEnumerationDomain.ShowNames (Показывать имена) |
ShowNames: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TEnumerationDomain.FShowNames (Показывать имена) . |
5.9.4.73. Класс TEnumerationItem (Элементы перечислений) |
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TEnumerationDomain (Перечисления) . |
5.9.4.73.1. Конструктор TEnumerationItem.Create (Конструктор элемента перечисления) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.73.2. Поле TEnumerationItem.FPosition (Позиция) |
FPosition: TPosition (Позиция) (обязательно для заполнения) . Используется для хранения значений свойства TEnumerationItem.Position (Позиция) |
5.9.4.73.3. Свойство TEnumerationItem.Position (Позиция) |
Position: TPosition (Позиция) (обязательно для заполнения) . Для чтения и записи свойства используется поле TEnumerationItem.FPosition (Позиция) . |
5.9.4.73.4. Функция TEnumerationItem.GetNextPos (Следующая позиция) | ||||||||||||||||||||
Является методом класса. Параметры:
Возвращает значение типа Integer (Целое) . Параметры:
Используется для инициализации значения параметра Position (Позиция) подпрограммы TEnumerationItem.Create (Конструктор элемента перечисления) |
5.9.4.74. Класс TExcelTemplate (Шаблоны отчетов Excel) |
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) . |
5.9.4.74.1. Конструктор TExcelTemplate.Create (Конструктор шаблона Excel) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.74.2. Поле TExcelTemplate.FMacroName (Имя макроса) |
FMacroName: TExternalIndentifier (Внешний идентификатор) . Используется для хранения значений свойства TExcelTemplate.MacroName (Имя макроса) |
5.9.4.74.3. Поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) |
FPlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) . Используется для хранения значений свойства TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных) |
5.9.4.74.4. Поле TExcelTemplate.FTemplateData (Данные шаблона) |
FTemplateData: TExcelTemplateData (Данные Excel-шаблона) . Используется для хранения значений свойства TExcelTemplate.TemplateData (Данные шаблона) |
5.9.4.74.5. Свойство TExcelTemplate.MacroName (Имя макроса) |
MacroName: TExternalIndentifier (Внешний идентификатор) . Для чтения и записи свойства используется поле TExcelTemplate.FMacroName (Имя макроса) . |
5.9.4.74.6. Свойство TExcelTemplate.PlaceDataOnSheet (Лист для переноса данных) |
PlaceDataOnSheet: TExcelSheetKind (Тип листа Excel) (обязательно для заполнения) . Для чтения и записи свойства используется поле TExcelTemplate.FPlaceDataOnSheet (Тип листа для переноса данных) . |
5.9.4.74.7. Свойство TExcelTemplate.TemplateData (Данные шаблона) |
TemplateData: TExcelTemplateData (Данные Excel-шаблона) . Для чтения и записи свойства используется поле TExcelTemplate.FTemplateData (Данные шаблона) . |
5.9.4.75. Класс TField (Поля) |
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . |
5.9.4.75.1. Конструктор TField.Create (Конструктор поля) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.75.2. Поле TField.FDomain (Домен) |
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) . Используется для хранения значений свойства TField.Domain (Домен) |
5.9.4.75.3. Свойство TField.Domain (Домен) |
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) . Для чтения и записи свойства используется поле TField.FDomain (Домен) . |
5.9.4.75.4. Свойство TField.DomainClass (Класс домена) |
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FClass (Класс) . Дочернее свойство свойства Domain (Домен) . |
5.9.4.75.5. Свойство TField.DomainRequired (Обязательно для заполнения) |
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) . Дочернее свойство свойства Domain (Домен) . |
5.9.4.76. Класс TFileNameDomain (Имена файлов) |
Унаследован от класса TStringDomain (Строковые) . |
5.9.4.76.1. Конструктор TFileNameDomain.Create (Конструктор имени файла) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.76.2. Поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) |
FDefaultExtension: TFileExtension (Расширение имени файла) . Используется для хранения значений свойства TFileNameDomain.DefaultExtension (Расширение по умолчанию) |
5.9.4.76.3. Поле TFileNameDomain.FFileMustExist (Файл должен существовать) |
FFileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TFileNameDomain.FileMustExist (Файл должен существовать) |
5.9.4.76.4. Поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) |
FOverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TFileNameDomain.OverwritePrompt (Запрос перезаписи) |
5.9.4.76.5. Процедура TFileNameDomain.Change (Изменение объекта) | ||||||||||||||||||||
Параметры:
Параметры:
|
5.9.4.76.6. Свойство TFileNameDomain.DefaultExtension (Расширение по умолчанию) |
DefaultExtension: TFileExtension (Расширение имени файла) . Для чтения и записи свойства используется поле TFileNameDomain.FDefaultExtension (Расширение по умолчанию) . |
5.9.4.76.7. Свойство TFileNameDomain.FileMustExist (Файл должен существовать) |
FileMustExist: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFileNameDomain.FFileMustExist (Файл должен существовать) . |
5.9.4.76.8. Свойство TFileNameDomain.OverwritePrompt (Запрос перезаписи) |
OverwritePrompt: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFileNameDomain.FOverwritePrompt (Запрос перезаписи) . |
5.9.4.77. Класс TFloatDomain (Вещественные числа) |
Унаследован от класса TDomain (Домены) . |
5.9.4.77.1. Конструктор TFloatDomain.Create (Конструктор вещественного домена) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.77.2. Поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) |
FDecimalPlaces: TPrescision (Точность) . Используется для хранения значений свойства TFloatDomain.DecimalPlaces (Количество десятичных знаков) |
5.9.4.77.3. Поле TFloatDomain.FLength (Максимальная длина) |
FLength: TPrescision (Точность) . Используется для хранения значений свойства TFloatDomain.Length (Длина) |
5.9.4.77.4. Поле TFloatDomain.FMaxValue (Максимальное значение) |
FMaxValue: Float (Вещественное) . Используется для хранения значений свойства TFloatDomain.MaxValue (Максимальное значение) |
5.9.4.77.5. Поле TFloatDomain.FMinValue (Минимальное значение) |
FMinValue: Float (Вещественное) . Используется для хранения значений свойства TFloatDomain.MinValue (Минимальное значение) |
5.9.4.77.6. Свойство TFloatDomain.DecimalPlaces (Количество десятичных знаков) |
DecimalPlaces: TPrescision (Точность) . Для чтения и записи свойства используется поле TFloatDomain.FDecimalPlaces (Количество знаков после запятой) . |
5.9.4.77.7. Свойство TFloatDomain.Length (Длина) |
Length: TPrescision (Точность) . Для чтения и записи свойства используется поле TFloatDomain.FLength (Максимальная длина) . |
5.9.4.77.8. Свойство TFloatDomain.MaxValue (Максимальное значение) |
MaxValue: Float (Вещественное) . Для чтения и записи свойства используется поле TFloatDomain.FMaxValue (Максимальное значение) . |
5.9.4.77.9. Свойство TFloatDomain.MinValue (Минимальное значение) |
MinValue: Float (Вещественное) . Для чтения и записи свойства используется поле TFloatDomain.FMinValue (Минимальное значение) . |
5.9.4.78. Класс TFolderNameDomain (Имена папок файловой системы) |
Унаследован от класса TStringDomain (Строковые) . |
5.9.4.78.1. Конструктор TFolderNameDomain.Create (Конструктор имени папки) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.78.2. Поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) |
FFolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TFolderNameDomain.FolderMustExist (Папка должна существовать) |
5.9.4.78.3. Процедура TFolderNameDomain.Change (Изменение объекта) | ||||||||||||||||||||
Параметры:
Параметры:
|
5.9.4.78.4. Свойство TFolderNameDomain.FolderMustExist (Папка должна существовать) |
FolderMustExist: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFolderNameDomain.FFolderMustExist (Папка должеа существовать) . |
5.9.4.79. Класс TForm (Формы) |
Унаследован от класса TObject (Объекты) . Объекты могут включать в себя объекты классов: |
5.9.4.79.1. Конструктор TForm.Create (Конструктор формы) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.79.2. Поле TForm.FAutoOpen (Открывать автоматически) |
FAutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TForm.AutoOpen (Открывать автоматически) |
5.9.4.79.3. Поле TForm.FImage (Изображеие-иконка) |
FImage: TImage (Изображение) . Используется для хранения значений свойств: |
5.9.4.79.4. Поле TForm.FIsAlive (Живая) |
FIsAlive: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TForm.IsAlive ("Живая") |
5.9.4.79.5. Поле TForm.FPosition (Позиция) |
FPosition: TPosition (Позиция) (обязательно для заполнения) . Используется для хранения значений свойства TForm.Position (Позиция) |
5.9.4.79.6. Поле TForm.FScope (Область видимости) |
FScope: TScope (Область видимости) (обязательно для заполнения) . Используется для хранения значений свойства TForm.Scope (Область видимости) |
5.9.4.79.7. Свойство TForm.AutoOpen (Открывать автоматически) |
AutoOpen: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TForm.FAutoOpen (Открывать автоматически) . |
5.9.4.79.8. Свойство TForm.Image (Изображение-иконка) |
Image: TImage (Изображение) . Для чтения и записи свойства используется поле TForm.FImage (Изображеие-иконка) . |
5.9.4.79.9. Свойство TForm.IsAccessible (Доступна) |
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) . |
5.9.4.79.10. Свойство TForm.IsAlive ("Живая") |
IsAlive: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TForm.FIsAlive (Живая) . |
5.9.4.79.11. Свойство TForm.Position (Позиция) |
Position: TPosition (Позиция) (обязательно для заполнения) . Для чтения и записи свойства используется поле TForm.FPosition (Позиция) . |
5.9.4.79.12. Свойство TForm.Scope (Область видимости) |
Scope: TScope (Область видимости) (обязательно для заполнения) . Для чтения и записи свойства используется поле TForm.FScope (Область видимости) . |
5.9.4.79.13. Функция TForm.GetIsAccessible (Доступна) |
Возвращает значение типа Boolean (Обычное логическое) . Используется для вычисления значений свойств: |
5.9.4.79.14. Функция TForm.GetNextPos (Следующая позиция) |
Является методом класса. Возвращает значение типа Integer (Целое) . Используется для инициализации значения параметра Position (Позиция) подпрограммы TForm.Create (Конструктор формы) |
5.9.4.80. Класс TFormAccess (Доступ к формам) |
Унаследован от класса TObject (Объекты) . Объекты класса являются составными частями объектов класса TForm (Формы) . |
5.9.4.80.1. Конструктор TFormAccess.Create (Конструктор доступа к форме) | ||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.81. Класс TFormView (Представления формы) |
Унаследован от класса TObject (Объекты) . Объекты класса связаны иерархически. Объекты класса являются составными частями объектов класса TForm (Формы) . |
5.9.4.81.1. Конструктор TFormView.Create (Конструктор представления формы) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.81.2. Поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) |
FChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TFormView.ChildrenMinimized (Дочерние представления минимизированы) |
5.9.4.81.3. Поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) |
FChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TFormView.ChildrenOnTabs (Дочерние представления на закладках) |
5.9.4.81.4. Поле TFormView.FDetailProperty (Свойство-подчиненное) |
FDetailProperty: TDetailProperty domain (Свойство-подчиненное) . Используется для хранения значений свойства TFormView.DetailProperty (Свойство-подчиненное) |
5.9.4.81.5. Поле TFormView.FMasterProperty (Свойство-главное) |
FMasterProperty: TMasterProperty domain (Свойство-главное) . Используется для хранения значений свойства TFormView.MasterProperty (Свойство-главное) |
5.9.4.81.6. Поле TFormView.FPosition (Позиция) |
FPosition: TPosition (Позиция) (обязательно для заполнения) . Используется для хранения значений свойства TFormView.Position (Позиция) |
5.9.4.81.7. Поле TFormView.FSingleQuery (Единственный запрос) |
5.9.4.81.8. Поле TFormView.FSpacePercentage (Площадь) |
FSpacePercentage: Percent (Процент) . Используется для хранения значений свойства TFormView.SpacePercentage (Площадь, %) |
5.9.4.81.9. Поле TFormView.FView (Представление) |
FView: TView of FormView domain (Представление для формы) (обязательно для заполнения) . Используется для хранения значений свойства TFormView.View (Представление) |
5.9.4.81.10. Свойство TFormView.ChildrenMinimized (Дочерние представления минимизированы) |
ChildrenMinimized: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFormView.FChildrenMinimized (Дочерние представления минимизированы) . |
5.9.4.81.11. Свойство TFormView.ChildrenOnTabs (Дочерние представления на закладках) |
ChildrenOnTabs: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFormView.FChildrenOnTabs (Дочерние представления на закладках) . |
5.9.4.81.12. Свойство TFormView.Collapsed (Узлы свернуты) |
Collapsed: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TView.FCollapsed (Свернуто) . Дочернее свойство свойства View (Представление) . |
5.9.4.81.13. Свойство TFormView.ColorProperty (Свойство-цвет) |
ColorProperty: TColorProperty domain (Домен свойства цвета) . Для чтения и записи свойства используется поле TView.FColorProperty (Свойство цвета) . Дочернее свойство свойства View (Представление) . |
5.9.4.81.14. Свойство TFormView.DetailProperty (Свойство-подчиненное) |
DetailProperty: TDetailProperty domain (Свойство-подчиненное) . Для чтения и записи свойства используется поле TFormView.FDetailProperty (Свойство-подчиненное) . |
5.9.4.81.15. Свойство TFormView.MasterProperty (Свойство-главное) |
MasterProperty: TMasterProperty domain (Свойство-главное) . Для чтения и записи свойства используется поле TFormView.FMasterProperty (Свойство-главное) . |
5.9.4.81.16. Свойство TFormView.Position (Позиция) |
Position: TPosition (Позиция) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFormView.FPosition (Позиция) . |
5.9.4.81.17. Свойство TFormView.ShownClass (Показываемый класс) |
ShownClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Для чтения и записи свойства используется поле TView.FShownClass (Класс для показа) . Дочернее свойство свойства View (Представление) . |
5.9.4.81.18. Свойство TFormView.SingleQuery (Единственный запрос) |
5.9.4.81.19. Свойство TFormView.SpacePercentage (Площадь, %) |
SpacePercentage: Percent (Процент) . Для чтения и записи свойства используется поле TFormView.FSpacePercentage (Площадь) . |
5.9.4.81.20. Свойство TFormView.View (Представление) |
View: TView of FormView domain (Представление для формы) (обязательно для заполнения) . Для чтения и записи свойства используется поле TFormView.FView (Представление) . |
5.9.4.81.21. Функция TFormView.GetNextPos (Следующая позиция) | ||||||||||||||||||||||||||||||
Является методом класса. Параметры:
Возвращает значение типа Integer (Целое) . Параметры:
Используется для инициализации значения параметра Position (Позиция) подпрограммы TFormView.Create (Конструктор представления формы) |
5.9.4.82. Класс TInlineExpression (Встраиваемое выражение) |
Унаследован от класса TClassMember (Члены класса) . Объекты класса являются составными частями объектов класса TClass (Классы) . |
5.9.4.82.1. Конструктор TInlineExpression.Create (Конструктор встраиваемого выражения) | |||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.82.2. Поле TInlineExpression.FDomain (Домен) |
FDomain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) . Используется для хранения значений свойства TInlineExpression.Domain (Домен) |
5.9.4.82.3. Поле TInlineExpression.FExpression (Выражение) |
FExpression: TInlineExpressionText (Текст выражения) . Используется для хранения значений свойства TInlineExpression.Expression (Выражение) |
5.9.4.82.4. Свойство TInlineExpression.Domain (Домен) |
Domain: TDomain required domain (Домен (обязательно)) (обязательно для заполнения) . Для чтения и записи свойства используется поле TInlineExpression.FDomain (Домен) . |
5.9.4.82.5. Свойство TInlineExpression.DomainClass (Класс домена) |
DomainClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FClass (Класс) . Дочернее свойство свойства Domain (Домен) . |
5.9.4.82.6. Свойство TInlineExpression.DomainRequired (Обязательно для заполнения) |
DomainRequired: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TDomain.FRequired (Обязательно для заполнения) . Дочернее свойство свойства Domain (Домен) . |
5.9.4.82.7. Свойство TInlineExpression.Expression (Выражение) |
Expression: TInlineExpressionText (Текст выражения) . Для чтения и записи свойства используется поле TInlineExpression.FExpression (Выражение) . |
5.9.4.83. Класс TInstantMessage (Сообщения) |
Унаследован от класса TObject (Объекты) . |
5.9.4.83.1. Конструктор TInstantMessage.Create (Конструктор сообщения) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.83.2. Поле TInstantMessage.FFormView (Представление формы) |
FFormView: TFormView domain (Представления форм) . Используется для хранения значений свойства TInstantMessage.FormView (Представление формы) |
5.9.4.83.3. Поле TInstantMessage.FObject (Объект) |
FObject: TObject domain (Объект) . Используется для хранения значений свойства TInstantMessage.Object (Объект) |
5.9.4.83.4. Поле TInstantMessage.FUser (Пользователь) |
FUser: TUser required domain (Пользователь) (обязательно для заполнения) . Используется для хранения значений свойства TInstantMessage.User (Пользователь) |
5.9.4.83.5. Поле TInstantMessage.FViewed (Просмотрено) |
FViewed: Boolean (Обычное логическое) (обязательно для заполнения) . Используется для хранения значений свойства TInstantMessage.Viewed (Просмотрено) |
5.9.4.83.6. Свойство TInstantMessage.Form (Форма) |
Form: TForm required domain (Форма (обязательно)) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FMaster (Мастер) . Дочернее свойство свойства FormView (Представление формы) . |
5.9.4.83.7. Свойство TInstantMessage.FormView (Представление формы) |
FormView: TFormView domain (Представления форм) . Для чтения и записи свойства используется поле TInstantMessage.FFormView (Представление формы) . |
5.9.4.83.8. Свойство TInstantMessage.IsAccessible (Форма доступна) |
IsAccessible: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения значения свойства используется функция TForm.GetIsAccessible (Доступна) . Дочернее свойство свойства Form (Форма) . |
5.9.4.83.9. Свойство TInstantMessage.IsCurrent (Текущему пользователю) |
IsCurrent: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения значения свойства используется функция TUser.GetIsCurrent (Является текущим) . Дочернее свойство свойства User (Пользователь) . |
5.9.4.83.10. Свойство TInstantMessage.Object (Объект) |
Object: TObject domain (Объект) . Для чтения и записи свойства используется поле TInstantMessage.FObject (Объект) . |
5.9.4.83.11. Свойство TInstantMessage.User (Пользователь) |
User: TUser required domain (Пользователь) (обязательно для заполнения) . Для чтения и записи свойства используется поле TInstantMessage.FUser (Пользователь) . |
5.9.4.83.12. Свойство TInstantMessage.Viewed (Просмотрено) |
Viewed: Boolean (Обычное логическое) (обязательно для заполнения) . Для чтения и записи свойства используется поле TInstantMessage.FViewed (Просмотрено) . |
5.9.4.84. Класс TIntegerDomain (Целые числа) |
Унаследован от класса TDomain (Домены) . |
5.9.4.84.1. Конструктор TIntegerDomain.Create (Конструктор целочисленного домена) | ||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.84.2. Поле TIntegerDomain.FMaxValue (Максимальное значение) |
FMaxValue: Integer (Целое) . Используется для хранения значений свойства TIntegerDomain.MaxValue (Максимальное значение) |
5.9.4.84.3. Поле TIntegerDomain.FMinValue (Минимальное значение) |
FMinValue: Integer (Целое) . Используется для хранения значений свойства TIntegerDomain.MinValue (Минимальное значение) |
5.9.4.84.4. Свойство TIntegerDomain.MaxValue (Максимальное значение) |
MaxValue: Integer (Целое) . Для чтения и записи свойства используется поле TIntegerDomain.FMaxValue (Максимальное значение) . |
5.9.4.84.5. Свойство TIntegerDomain.MinValue (Минимальное значение) |
MinValue: Integer (Целое) . Для чтения и записи свойства используется поле TIntegerDomain.FMinValue (Минимальное значение) . |
5.9.4.85. Класс TMethod (Методы) |
Унаследован от класса TRoutine (Подпрограмма) . Объекты класса являются составными частями объектов класса TClass (Классы) . |
5.9.4.85.1. Конструктор TMethod.Create (Конструктор метода) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.85.2. Поле TMethod.FBody (Тело) |
FBody: TMethodBody (Исходные тексты методов) . Используется для хранения значений свойства TMethod.Body (Тело) |
5.9.4.85.3. Свойство TMethod.Body (Тело) |
Body: TMethodBody (Исходные тексты методов) . Для чтения и записи свойства используется поле TMethod.FBody (Тело) . |
5.9.4.85.4. Свойство TMethod.CallTemplate (Шаблон вызова) |
CallTemplate: TLongString (Длинная строка) . Вычисление свойства отложено. Для чтения значения свойства используется функция TMethod.CallTemplate (Шаблон вызова) . |
5.9.4.85.5. Функция TMethod.CallTemplate (Шаблон вызова) |
Возвращает значение типа TLongString (Длинная строка) . Используется для вычисления значений свойства TMethod.CallTemplate (Шаблон вызова) |
5.9.4.86. Класс TObject (Объекты) |
5.9.4.86.1. Конструктор TObject.Create (Конструктор объекта) | |||||||||||||||||||||||||||||||||||
Параметры:
|
5.9.4.86.2. Поле TObject.FClass (Класс) |
FClass: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.86.3. Поле TObject.FCreated (Создано) |
FCreated: TimeStamp required (Момент (обязательный)) Используется для хранения значений свойства TObject.Created (Создано) |
5.9.4.86.4. Поле TObject.FCreator (Создано пользователем) |
FCreator: TUser required domain (Пользователь) (обязательно для заполнения) . Используется для хранения значений свойства TObject.Creator (Создано пользователем) |
5.9.4.86.5. Поле TObject.FDescription (Наименование) |
FDescription: TObjectDescription (Наименования) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.86.6. Поле TObject.FMaster (Мастер) |
FMaster: TMaster field domain (Домен поля "Мастер") . Используется для хранения значений свойств: |
5.9.4.86.7. Поле TObject.FModified (Изменено) |
FModified: TimeStamp required (Момент (обязательный)) Используется для хранения значений свойства TObject.Modified (Изменено) |
5.9.4.86.8. Поле TObject.FModifier (Изменено пользователем) |
FModifier: TUser required domain (Пользователь) (обязательно для заполнения) . Используется для хранения значений свойства TObject.Modifier (Изменено пользователем) |
5.9.4.86.9. Поле TObject.FName (Имя) |
FName: TObjectName (Имена) (обязательно для заполнения) . Используется для хранения значений свойств: |
5.9.4.86.10. Поле TObject.FOldID (Идентификатор при создании) |
FOldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) . Используется для хранения значений свойства TObject.OldID (Идентификатор при создании) |
5.9.4.86.11. Поле TObject.FParent (Родитель) |
FParent: TParent domain (Родитель объекта) . Используется для хранения значений свойства TObject.Parent (Родитель) |
5.9.4.86.12. Поле TObject.FReader (Роль для чтения) |
FReader: TAccessor domain (Роли доступа) . Используется для хранения значений свойства TObject.Reader (Роль для чтения) |
5.9.4.86.13. Поле TObject.FSourceDataBase (База данных) |
FSourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) . Используется для хранения значений свойства TObject.SourceDataBase (База данных-источник) |
5.9.4.86.14. Поле TObject.FWriter (Роль для записи) |
FWriter: TAccessor domain (Роли доступа) . Используется для хранения значений свойства TObject.Writer (Роль для записи) |
5.9.4.86.15. Процедура TObject.Change (Изменение объекта) | ||||||||||||||||||||
Параметры:
Параметры:
|
5.9.4.86.16. Процедура TObject.Destroy (Деструктор объекта) |
5.9.4.86.17. Процедура TObject.MergeTo (Отождествить с) | ||||||||||||||||||||
Параметры:
Параметры:
|
5.9.4.86.18. Процедура TObject.SendMessage (Отправить сообщение) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Является методом класса. Параметры:
Параметры:
|
5.9.4.86.19. Процедура TObject.Touch (Модификация объекта) |
5.9.4.86.20. Псевдоподпрограмма TObject.Column (Колонка) |
5.9.4.86.21. Псевдоподпрограмма TObject.Copy (Копировать) |
5.9.4.86.22. Псевдоподпрограмма TObject.CurrentFormView (Текущее представление формы) |
Является методом класса. Возвращает значение типа TFormView domain (Представления форм) . Используется для инициализации значения параметра CurrentFormView (Текущее представление формы) подпрограммы TObject.SendMessage (Отправить сообщение) |
5.9.4.86.23. Псевдоподпрограмма TObject.CurrentlySelected (Список выбранных) |
Является методом класса. Возвращает значение типа TList domain (Список объектов) . Используется для инициализации значения параметра Selected (Список выбранных объектов) подпрограммы TObject.SendMessage (Отправить сообщение) |
5.9.4.86.24. Псевдоподпрограмма TObject.CurrentlyVisible (Список видимых) |
Является методом класса. Возвращает значение типа TList domain (Список объектов) . |
5.9.4.86.25. Псевдоподпрограмма TObject.Edit columns (Редактировать колонки) |
5.9.4.86.26. Псевдоподпрограмма TObject.Edit properties (Редактировать свойства) |
5.9.4.86.27. Псевдоподпрограмма TObject.Export (Экспортировать) |
5.9.4.86.28. Псевдоподпрограмма TObject.Merge (Объединить) |
5.9.4.86.29. Псевдоподпрограмма TObject.Messages (Сообщения) |
Является методом класса. |
5.9.4.86.30. Псевдоподпрограмма TObject.Options (Настройки) |
Является методом класса. |
5.9.4.86.31. Псевдоподпрограмма TObject.Paste (Вставить) |
5.9.4.86.32. Псевдоподпрограмма TObject.Refresh (Обновить) |
5.9.4.86.33. Псевдоподпрограмма TObject.Selection (Выбранные) |
5.9.4.86.34. Псевдоподпрограмма TObject.Tree (Дерево) |
5.9.4.86.35. Свойство TObject.Class (Класс) |
Class: TClass required domain (Класс (обязательно)) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FClass (Класс) . |
5.9.4.86.36. Свойство TObject.Created (Создано) |
Created: TimeStamp required (Момент (обязательный)) Для чтения значения свойства используется поле TObject.FCreated (Создано) . |
5.9.4.86.37. Свойство TObject.Creator (Создано пользователем) |
Creator: TUser required domain (Пользователь) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FCreator (Создано пользователем) . |
5.9.4.86.38. Свойство TObject.Description (Наименование) |
Description: TObjectDescription (Наименования) (обязательно для заполнения) . Для чтения и записи свойства используется поле TObject.FDescription (Наименование) . |
5.9.4.86.39. Свойство TObject.Master (Мастер) |
Master: TMaster domain (Объект (с каскадным удалением)) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FMaster (Мастер) . |
5.9.4.86.40. Свойство TObject.Modified (Изменено) |
Modified: TimeStamp required (Момент (обязательный)) Для чтения значения свойства используется поле TObject.FModified (Изменено) . |
5.9.4.86.41. Свойство TObject.Modifier (Изменено пользователем) |
Modifier: TUser required domain (Пользователь) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FModifier (Изменено пользователем) . |
5.9.4.86.42. Свойство TObject.Name (Имя) |
Name: TObjectName (Имена) (обязательно для заполнения) . Для чтения и записи свойства используется поле TObject.FName (Имя) . |
5.9.4.86.43. Свойство TObject.OldID (Идентификатор при создании) |
OldID: TOldID (Идентификаторы при создании) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FOldID (Идентификатор при создании) . |
5.9.4.86.44. Свойство TObject.Parent (Родитель) |
Parent: TParent domain (Родитель объекта) . Для чтения и записи свойства используется поле TObject.FParent (Родитель) . |
5.9.4.86.45. Свойство TObject.Reader (Роль для чтения) |
Reader: TAccessor domain (Роли доступа) . Для чтения и записи свойства используется поле TObject.FReader (Роль для чтения) . |
5.9.4.86.46. Свойство TObject.ReplicationStatus (Статус репликации) |
ReplicationStatus: TReplicationStatus (Статус репликации) (обязательно для заполнения) . Для чтения и записи свойства используется поле TClass.FReplicationStatus (Статус репликации) . Дочернее свойство свойства Class (Класс) . |
5.9.4.86.47. Свойство TObject.SourceDataBase (База данных-источник) |
SourceDataBase: TSourceDataBase required domain (База данных) (обязательно для заполнения) . Для чтения значения свойства используется поле TObject.FSourceDataBase (База данных) . |
5.9.4.86.48. Свойство TObject.SourceDataBaseGUID (GUID базы даных-источника) |
SourceDataBaseGUID: T |